Design_BasicsMath

☆電気数学

◆交流回路に必要な三角関数公式

①コサイン波の2乗 (半角の公式)
電力を求めるために用いる。

cos^2(ωt) = (1 + cos(2ωt))/2

※周波数が2倍となり、平均レベル1/2を中心にして振幅1/2

sin^2(ωt) = (1 – cos(2ωt))/2

※導出
加法定理→倍角公式→半角公式

※加法定理
sin(α±β)=sinαcosβ±cosαsinβ
cos(α±β)=cosαcosβ-+sinαsinβ
tan(α±β)=(tanα±tanβ)/(1-+tanαtanβ)

※倍角公式
加法定理でα+αを考えれば
sin(2α)=2sinαcosα
cos(2α)=cos^2α-sin^2β

※半角公式
ここでsin^2α+cos^2α=1であるから
cos(2α)=1-2*sin^2α
よって
sin^2(α)=(1-cos2α)/2
αをα/2で置き換えると
sin^2(α/2)=(1-cosα)/2

同様にcos(2α)=1+2*cos^2αから
cos^2(α/2)=(1+cosα)/2

②サイン波とコサイン波を掛け合わせる (倍角の公式)
無効電力を求めるのに用いる。

sin(ωt) * cos(ωt) = (1/2) * sin(2ωt)

※周波数が2倍となり、ゼロレベルを中心として振幅1/2

③掛け算を足し算に直す (積和変換公式)
無線通信回路の変調/復調や、周波数変換で使われる。
2つの周波数ω1とω2を掛け合わせる

cos(ω1t) * cos(ω2t)
= (1/2){cos((ω1 + ω2)t) + cos((ω1 – ω2)t)}

※足した周波数(ω1 + ω2)と、引いた周波数(ω1 – ω2)が発生し、それぞれの振幅は1/2となる。

※積和変換公式まとめ
sinθ1 * cos θ2 = (1/2){sin(θ1+θ2)+sin(θ1-θ2)
cosθ1 * sin θ2 = (1/2){sin(θ1+θ2)-sin(θ1-θ2)
cosθ1 * cos θ2 = (1/2){cos(θ1-θ2)+cos(θ1+θ2)
sinθ1 * sin θ2 = (1/2){cos(θ1-θ2)-cos(θ1+θ2)

※和積変換公式まとめ
sinθ1 + sin θ2
= 2*sin((θ1+θ2)/2)*sin((θ1-θ2)/2)
sinθ1 – sin θ2
= 2*cos((θ1+θ2)/2)*sin((θ1-θ2)/2)
cosθ1 + cos θ2
= 2*cos((θ1+θ2)/2)*cos((θ1-θ2)/2)
cosθ1 + cos θ2
= -2*sin((θ1+θ2)/2)*sin((θ1-θ2)/2)

◆複素数、ベクトルと電気回路

_◇複素数
コイルやコンデンサのある回路に交流電圧を加えると電流の位相は、π/2進んだり遅れたりする。これは虚数単位iもしくは-iを掛けることで表現される。

※金言
「実際問題、回路は複素数で動いているわけではありません。~中略~数式上で取り扱えるようにするためのツールのようなもの」石井聡

※電気工学における記号の約束
①虚数単位には j を用い、しかもそれを前に書く(iは電流に用いるため)

数学:  a + bi
電気工学: a + jb

②複素数の極座標表示
Z_ = x + jy = r (cosθ + jsinθ)

※r∠θと書くことがある。
r 絶対値
θ偏角
r=SQRT(x**2 + y**2)

※電気分野ではθは-π<θ≦+πの間で表す。
θ = tan(-1) y/x = tan(-1) Im(Z_)/Re(Z_)

※実部、虚部を抜き出す演算
Re(Z_) = Re(a + jb) = a
Im(Z_) = Im(a + jb) = b

※共役複素数
z_ = x + jyに対し、
z_~ = x – jy
※z_の上にバーをつけて共役であることを表す。

※絶対値
z_ = a + jbを複素平面上のベクトルとあらわしたとき、ベクトルの長さを絶対値といい、|Z_|であらわす。
|Z_| = √(a^2 + b^2)

_◇ベクトルによる正弦波電流、電圧の表現

※R回路
I = E / R
I:→
E:→

※L回路
I = E / ωL = E / XL
I:→
E:↑

※C回路
I = E / (1/ωC) = E / XC
I:→
E:↓

※正弦波交流を複素数を用いて表現する方法を記号法といい、これにより、電流、電圧などの計算が、複素数の加減乗除に帰着できるようになる。記号法では、電流、電圧を、I、Eの上にドットをつけて表す。
(以下ドットを_で表す)
E_ = R * I_
E_ = jωL * I_
E_ = -j(1/ωC) * I_

※R-L-C直列回路
E_ = {R + j(ωL – 1/ωC)} * I_
ここで、
Z_ = R + jX = R + j(ωL – 1/ωC)
をインピーダンスという。インピーダンスのうち虚部
X = ωL – 1/ωC
をリアクタンスという。
|Z_| = √(R^2 + (ωL – 1/ωC)^2)

※インピーダンスによって、交流の場合も、
E_ = I_ * Z_
というオームの法則に対応する法則が得られる。ただし、Z_は周波数により異なる。

_◇正弦波交流の複素数表示
例)瞬時値(最大値)√2*10の正弦波交流
i = √2*10*sin(ω*t + π/6)
※単位ベクトル1+jの絶対値は√2となる。
よって
I_ = 10(cos(π/6)+j*sin(π/6))
= 5√3 + j5

※コサイン波で交流波形を表す
v(t) = √2*V*cos(2πft) (V)
V : 実効値(RMS)
f : 周波数
①サイン波でなく、コサイン波を使う理由
②進み遅れはπ(180度)を境とする。
③回路を計算するうえでは、振幅を性格に計算する必要はなく、実効値で表記、計算できればよい。そのため、通常、ベクトル表記する場合、ほぼ全て実効値で表記される。(√2倍するか、しないか、だけで本質は同じ計算。)

※金言
「位相は、同じ周期の2つの波形の関係を示すもの。波形自体の周波数や周期という時間概念はあまり関係ありません。」石井聡
「位相を考えるうえでは、基準にした角度との相対関係さえわかっていればよいことですから、2πftについては考えなくてもよい、ということに気がつくと思います。」石井聡

_◇複素数で表される電流の大きさと位相角φ
I_ = 8 + j6
|I_| = √(8^2+6^2)=10
φ = tan(-1)(6/8) = Aとおくと

I_ = 10 * (cos(A)+j*sin(A))
= √2*10*sin(ωt+A)

_◇複素数の指数関数型表示
e^jθ = cosθ + jsinθ

x + jy = re^jθ
※この場合は、θはラジアンでなければならない

※金言
「e^jθは、θを指定すれば位相という針が動くだけの定型フォームである。」石井聡

※公式
①e^jθ1 * e^jθ2 = e^j(θ1+θ2)
②e^jθ1/e^jθ2 = e^j(θ1-θ2)
③1/e^jθ = e^-jθ

※オームの法則でインピーダンスを使って、位相量を変換する行為は定型フォームを掛けたり、割ったりすればよい。
I=V/Z

Z= re^jθ(インピーダンス)
=純抵抗量+リアクタンス量(虚)

インピーダンスZは、オームの法則の抵抗量と同じように流れにくさを決める量であるとともに、位相量を変換させる要素でもある。e^jθをを用いれば位相量をθだけ変化させるという操作ができる。

※Z=50e^(-j(π/6))Ωとは何者か?

純抵抗成分   43Ω
リアクタンス成分 -25jΩ
(f=50Hzで127μFのことである)
Cのリアクタンスは

-1/ωC
角速度ω=2π*50(Hz)=100π
C=127e-6
これから-25jΩとなる

_◇コイル
電圧基準
V0 * e^j0
電流の位相はπ/2遅れる
Ie^-j(π/2)
リアクタンスXLは、
XL = V/I = (V0 * e^j0) / (Ie^-j(π/2))
= V/I e^j(π/2)
= +j2πfL
※e^j(π/2) = j

_◇コンデンサ
電圧基準
V0 * e^j0
電流の位相はπ/2進む
Ie^j(π/2)
リアクタンスXCは、
XC = V/I = (V0 * e^j0) / (Ie^j(π/2))
= V/I e^-j(π/2)
= -j(1/2πfC)
※e^-j(π/2) = -j

_◇Z=R±jX と e^jθ
実際問題は、抵抗毎、リアクタンス毎に計算するため、Z=R±jX形式で計算することが多い。最後に「大きさ」*ejθに変換し、オームの法則で電流量を求める。

インピーダンスZ
=√(純抵抗量^2 + リアクタンス量^2)

θ
=tan^-1 (リアクタンス量/純抵抗量)

Z=R+jX=(Vrms/Irms)e^(j(φI-φv))
= (Vrms/Irms)cos(φI-φv)
+ j(Vrms/Irms)sin(φI-φv)

_◇ド・モアブルの公式
(cosθ + j*sinθ)^n = cos(nθ) + j*sin(nθ)

◆微分公式

dt = lim[⊿t→0]⊿t

Aは定数、tは変数として

①A’ = 0
②t’ = 1
③(At)’ = A
④(At^2)’ = 2At
⑤(At^n)’ = nAt^(n-1)
⑥(A/t)’ = -A/t^2
⑦(A/t^2)’ = -A/(2t^3)
⑧(A/t^-n)’ = -A/(nt^(n+1))
⑨(sin t)’ = cos t
⑩(cos t)’ = -sin t
⑪{sin(At)}’ = A * cos(At)
{sin(ωt)}’ = ω * cos(ωt)
⑫(e^t)’ = e^t
⑬(e^jt)’ = j*e^jt
(e^jωt)’ = jω*e^jωt
⑭(ln(t))’ = 1/t
ln(t) = log[e](t)
⑮{f(t)±g(t)}’ = {f(t)}’ ± {g(t)}’
⑯{f(t)*g(t)}’ = f'(t)*g(t) + f(t)*g'(t)
⑰{f(t)/g(t)}’ = {f'(t)*g(t) – f(t)*g'(t)}/{g(t)}^2

_◇合成関数の微分
y=f(t), t=g(x)
y=f{g(x)}

y’=df(t)/dx=dy/dx=(dy/dt)*(dt/dx)=f'(t)*(dt/dx)

例)y=(sin x)^2  y=t^2, t=sin x
y’ = (dy/dt)*(dt/dx) = 2t * cos x
= 2*sin(x)*cos(x)

◆積分公式

※∫とdt
f(t)dtという「微に入り細に入り分割した量」を、足し合わせる行為が∫

_◇定積分と不定積分
定積分:「t0からt1まで」と積分する範囲が決まっている

不定積分:積分する範囲を決めず、積分の形だけを示す。
∫f(t)dt = {f(t)を積分した結果}+C
C:積分定数

_◇積分公式
①∫1 dt = t
②∫A dt = At
③∫At dt = (1/2)At^2
④∫At^n dt = (A/n+1)t^(n+1)
⑤∫1/t dt = log[e]|t|
⑥∫A/t^2 dt = -A/t
⑦∫A/t^3 dt = (-A/2)*(1/t^2)
⑧∫A/t^n dt = (-A/(n-1))*(1/t^(n-1))
⑨∫sin(t) dt = -cos(t)
⑩∫cos(t) dt = sin(t)
⑪∫sin(At) dt = (-1/A)cos(At)
⑫∫cos(ωt) dt = (1/ω)sin(ωt)
⑬∫e^t dt = e^t
⑭∫e^(jt) dt = (1/j)e^(jt)
⑮∫e^(jωt) dt = (1/jω)e^(jωt)
⑯∫{f(t)±g(t)}dt = ∫f(t)dt ± ∫g(t)dt
⑰∫[a:c]f(t) dt = ∫[a:b]f(t) dt +∫[b:c]f(t) dt
⑱∫[a:b]f(t) dt = -∫[b:a]f(t) dt

_◇置換積分
複雑な関数y=f(t)の積分を求めるとき
別の変数xを用いて関数y=f(t)の一部をx=G(t)で置き換える。ここでx=G(t)は、t=g(x)というGの逆関数g(x)が定義できること。(逆にt=g(x)から、x=G(t)を求めても良い)

①f(t)をx=G(t)とt=g(x)を用いて、f(x)の関数に置換
y=f(t)=f{g(x)}=f(x)
②dt/dx=g(x)’を計算する
③積分範囲を変数tからxにx=G(t)を使って変更する

∫[a:b]y dt = ∫[a:b]f(t) dt
= ∫[G(a):G(b)]f(x)*g(x)’ dx
= ∫[G(a):G(b)]f(x) * dt/dx * dx

例)f(t) = e^jωt, t=0~Tまで積分する
x=jωt, f(x)=e^xと置換すると

∫[0:T]f(t) dt = ∫[0:T]e^jωt dt
= ∫[0:jωT]e^x * dt/dx * dx

ここで、x=jωtからt=x/jωであるから、dt/dx=1/jω

= ∫[0:jωT]e^x * 1/jω * dx
= (1/jω)[e^x][0:jωT]=(1/jω)(e^jωT-1)

※検算
d/dt {(1/jω)e^jωT} = e^jωt

_◇部分積分
もともと2つの関数、たとえばa(t),g(t)について、その掛け算
a(t)*g(t)
を積分する場合、a(t)が
a(t)=f'(t)
で置き換えることが出来る場合

∫[a:b]a(t)*g(t) dx = ∫[a:b]f'(t)*g(t) dx
= [f(t)*g(t)][a:b] – ∫[a:b]f(t)*g'(t) dt

例)減衰振動波の電圧
v(t) = A * sin(ωt) * e^(-t/τ)
が抵抗Rに加わった場合の発熱量Q

電力P(t)=v^2(t)/Rを時間tで0から∞まで積分したものがQである。

Q = ∫[0:∞]P(t) dt = ∫[0:∞]v^2(t)/R dt
= (A^2/R)∫[0:∞]sin^2(ωt)*e^(-2t/τ) dt
ここで、
sin^2(θ)=(1/2)-(1/2)*cos2θ
であるので
∫[0:∞]sin^2(ωt)*e^(-2t/τ) dt
=(1/2)∫[0:∞]{e^(-2t/τ)-cos(2ωt)*e^(-2t/τ)}dt
=(1/2)∫[0:∞]e^(-2t/τ)dt –
(1/2)∫[0:∞]cos(2ωt)*e^(-2t/τ)dt

ここで I=∫[0:∞]cos(2ωt)*e^(-2t/τ)dtとおいて
=(1/2)∫[0:∞]e^(-2t/τ)dt – I

さらに
a(t)=cos(2ωt)=f'(t), f(t)=(1/2ω)sin(2ωt)
g(t)=e^(-2t/τ)
と考えて、Iについて部分積分を適用すれば、

I=[f(t)*g(t)][0:∞] – ∫[0:∞]f(t)*g'(t) dt
=[(1/2ω)sin(2ωt)*e^(-2t/τ)][0:∞] –
∫[0:∞]{(1/2ω)sin(2ωt)*(-2/τ)*e^(-2t/τ)}dt

さらに
∫[0:∞]{(1/2ω)sin(2ωt)*(-2/τ)*e^(-2t/τ)}dt
部分について
a(t)=(1/2ω)sin(2ωt)=f'(t)
f(t)=(-1/4ω^2)cos(2ωt)
g(t)=(-2/τ)*e^(-2t/τ)
として、再度、部分積分すれば
∫[0:∞]{(1/2ω)sin(2ωt)*(-2/τ)*e^(-2t/τ)}dt
=[(-1/4ω^2)cos(2ωt)*(-2/τ)*e^(-2t/τ)][0:∞]-
∫[0:∞]{(-1/4ω^2)cos(2ωt)*(4/τ^2)*e^(-2t/τ)}dt
=[(-1/4ω^2)cos(2ωt)*(-2/τ)*e^(-2t/τ)][0:∞]+
(1/ω^2/τ^2)∫[0:∞]cos(2ωt)*e^(-2t/τ)dt

ここで∫[0:∞]cos(2ωt)*e^(-2t/τ)dt=Iであるので

=[(1/2ω^2/τ)cos(2ωt)*e^(-2t/τ)][0:∞]+
(1/ω^2/τ^2)*I

Iについての元の式に上の結果を代入すれば
I=[(1/2ω)sin(2ωt)*e^(-2t/τ)][0:∞] –
[(1/2ω^2/τ)cos(2ωt)*e^(-2t/τ)][0:∞]+
(1/ω^2/τ^2)*I
=[0-0]-[0-1/2ω^2/τ]-(1/ω^2/τ^2)*I

I+(1/ω^2/τ^2)*I=1/2ω^2/τ
であるので

I=τ/(2*(ω^2*τ^2+1))

Q = (A^2/R)∫[0:∞]sin^2(ωt)*e^(-2t/τ) dt
=(A^2/2R)∫[0:∞]e^(-2t/τ)dt –
(A^2/2R)*I
=(A^2/2R)[(-τ/2)e^(-2t/τ)][0:∞]-(A^2/2R)*I
=(A^2/2R)[-0+(τ/2)]-(A^2/2R)*I
=(A^2/2R){τ/2-τ/(2*(ω^2*τ^2+1))}
=(A^2τ/4R){12-1/(ω^2*τ^2+1)} …[J]

となって抵抗Rに発生する熱量が求まる。またこれを抵抗の熱容量で割れば温度上昇が計算でき、T[sec]で繰り返すとすれば抵抗Rでの電力消費はQ/T[W]となる。

◆ラプラス変換

時間軸tを基準としてf(t)と表されている信号を、sという複素数の変数を持つ、e^-stという関数を掛け合わせ積分してみることで、f(t)をsの関数として変換し、複素周波数軸上の変数sに対する関数F(s)と考えることで解析を簡単にする。

sを複素周波数、ラプラス演算子、ラプラス変換と呼ぶ

F(s)=∫[0:∞]{f(t)*e^-st}dt
F(s)=Lf(t)

※ユニットステップ関数 U(t)
t=0のときにスイッチオンで電圧E[V]がかかるような場合は、E*U(t)と考える

※回路方程式上、sとjωは置き換え可能

_◇ラプラス変換表

①微分則
df(t)
----- ⇒ sF(s)-f(0+)
dt

※初期値がゼロの場合、f(t)の微分df(t)/dtのラプラス変換は、F(s)にsをかけることで求まる。

②積分則
F(s)  Init(0)
∫[:t]f(t)dt⇒----+--------
s    s

※初期値がゼロの場合、f(t)の積分∫[0:t]f(t)dtのラプラス変換は、F(s)をsで割ることで求まる。

※初期値がある場合は、無限過去からの定積分∫[-∞:t]f(t)dtが初期値となる。

③線形則
a*f(t)+b*g(t)
⇒a*F(s)+b*G(s)

④相似則
f(at)⇒(1/a)F(s/a)

⑤推移則
f(t-t1)U(t-t1)⇒e^(-t1*s)*F(s)

⑥変移則
e^(-at)*f(t)⇒F(s+a)

⑦ユニットステップ関数
U(t)⇒1/s

⑧指数減衰関数
e^-at⇒1/(s+a)

⑨指数関数
e^at⇒1/(s-a)

⑩複素周波数
e^-jωt⇒1/(s+jω)

⑪比例関数
t⇒1/s^2

⑫サイン波
sin(ωt)⇒ω/(s^2+ω^2)

⑬コサイン波
cos(ωt)⇒s/(s^2+ω^2)

⑭減衰サイン波
(e^-at)sin(ωt)⇒ω/((s+a)^2+ω^2)

⑮減衰コサイン波
(e^-at)cos(ωt)⇒s/((s+a)^2+ω^2)

※Init(0)=∫[-∞:0]f(t)dt
f(0+), Init(0)ともども初期値

_◇ラプラス変換、逆変換
ラプラス変換→計算→ラプラス逆変換

F(s)=Lf(t)
f(t)=L^-1(F(s))

f(t) + g(t) ⇒ F(s) + G(s)

※f(t)*g(t)はF(s)*G(s)ではない。

※たたみ込み演算

F(s)*G(s)=L{∫[0:t]f(τ)g(t-τ)dτ}

_◇ラプラス変換による回路解法

①各回路素子ごとの電圧vと電流iの関係を微分/積分の関係として表す

②これを変換表を使ってラプラス変換する

③電圧を基準にするか、電流を基準にするかで、このラプラス変換された要素を用いて回路方程式を立てる

④式を整理する

⑤部分分数展開する

⑥ラプラス逆変換する

⑦求める過渡応答の時間波形となる

例)抵抗とコイルの回路の過渡応答

①電源Eは、スイッチONで電圧のかかるユニットステップ関数を用いて
E*U(t)
と考える。
E*U(t) ラプラス変換⇒ E/s

②抵抗Rは
Vr(t)=R*i(t)

VR(S)=R*I(s)

③コイルLは
Vcoil(t)=L*(di(t)/dt)
VCOIL(s)=L*s*I(s)

これから回路方程式を立てると

E/s=R*I(s)+L*s*I(s)

I(s)で整理すると

E/s=(R+L*s)*I(s)

I(s)=E/(s*(R+L*s))

このままではラプラス逆変換は見つからないので、部分分数展開により式を変形する。

◆フーリエ級数、正弦波

_◇フーリエ級数
x(t)=A0 + Σ(n=1:∞) (An cos nωt + bn sin nωt)

A0 =1/T * ∫(0:T) x(t) dt
An =1/T * ∫(0:T) x(t) cos nωt dt
Bn =1/T * ∫(0:T) x(t) sinh nωt dt

※正弦波
A*sin(ωt+θ) = A*sin(2πft+θ)
ω=2πf, 各周波数[rad/s]

※振幅の最大値: A
実効値: A / √(2)
平均値: 2*A / π (1周期を平均すると0になるので半周期を平均する)

「偏角」とは、ある基準線(理工系では,右に向いた横軸にとることが多い)からどれだけ偏っているかの角度を意味します。
位相という言葉の相は“外に表れる状態”を意味します。この意味を踏まえて、位相とは、周期運動において、ある瞬間の位置での状態(すなわち相)を意味します。正弦波信号の場合、時刻がゼロのときをある瞬間と考えて、この位置での相を角度としてとらえて、これを「位相角」と呼びます。

_◇複素フーリエ級数展開

※実数形式

x(t) = A0/2 + ∑[k=1:∞](
Ak*cos(2πk/T)t +
Bk*sin(2πk/T)t )

Ak = (2/T)∫[-T/2:T/2]x(t)*cos(2πk/T)*t dt
Bk = (2/T)∫[-T/2:T/2]x(t)*sin(2πk/T)*t dt

※複素形式

x(t) = ∑[k=-∞:∞]Ck*e^(j*(2πk/T)*t)
Ck = (1/T)∫[-T/2:T/2]x(t)*e^(j*(2πk/T)dt

_◇フーリエ変換

※コサイン変換
周波数ω0/2πのコサイン波の入力に対して角周波数ωのコサイン波をかける
ω=ω0のとき
ω0の正の信号となるので
長時間積分すれば正の値
ω≠ω0のとき
正負の値を繰り返すので長時間積分すれば0

※入力をコサイン波とサイン波の成分に分解する。この組み合わせにより入力の位相も表現できる。

_◇FFT
高速フーリエ変換
Fast Fourier Transform

1965年:ベル研、James W. CooleyとJohn W. Tukey。
離散的フーリエ変換(DFT)と逆変換を高速に計算する

※フーリエ変換する入力波形をいくつかのグループに分けて計算し、計算順序を工夫することにより計算量を大幅に減少させたアルゴリズム
⇒グループの数をNとした時の演算の回数は、通常の変換ではNの2乗に比例するが、FFTでは NlogN に比例する。

※FFTで扱える信号の範囲
低い信号=FFTの演算を行う範囲に1周期分以上のデータが入っていること
高い信号=ナイキスト周波数

fclk/k ≦ fin ≦ fclk/2

fclk:ADCのサンプリング周波数。fclkをあげれば上限があがる
k:サンプル数。サンプル数を増やせば下限が下がる。

◆アダマール変換

_◇ベクトル・行列の内積とユニタリ行列

(Y1)=(A11 A12)(X1)
(Y2) (A21 A22)(X2)

ドット積(内積)表示すれば
Y=A・X

成分表示では、縮約
Y1 = Aij Xj

これはXベクトルをAの行ベクトルでYに変換する式と考えられる。Xを入力信号とすれば、変換ベクトルの組み合わせで任意の出力ベクトルが合成できる。

※またこれは、連立方程式でもあるから、yを任意に取り、かつ変換ベクトルも任意の場合に入力ベクトルを決定できる。

※変換ベクトルは任意なので、Aとして構成行ベクトルが直交基底ベクトルであるものを選ぶことができる。このような直交基底を並べた行列Aをユニタリ行列と呼ぶ。

※ユニタリ行列は転置(行、列入れ替え)して複素共役をとると逆行列と等しくなる。

※A・X=Yの両辺に左から逆行列A^-1をかければ
X=A^-1・Y
となって、逆行列が求まればXは求まることになる。

よって、Aがユニタリ行列であるならばAを転置でひっくり返して内積(積和演算)ととるだけでXを求めることができる。

_◇4次の例
直交基底な行ベクトルとして
a1=(1/2)*(1 1 1 1)
a2=(1/2)*(1 1 -1 -1)
a3=(1/2)*(1 -1 -1 1)
a4=(1/2)*(1 -1 1 -1)
をとり、これをならべて変換行列Aとする。

Xとしてノコギリ波状の入力信号を考え、
X=(1 2 3 4)
Y=A・XからYを求めると
Y=(5, -2, 0, -1)
となる。

これは、変換行列を構成する4つの直交基底をそれぞれ波として見るならば、求めたYは、直交基底に対するスペクトルと見ることができる。

※それぞれの「波」にYの成分をかけて列毎にΣをとると入力波形が再現できる。
⇒Aの転置行列とYの内積をとっているのと同じ
⇒ユニタリ行列なので逆行列と内積をとる、つまり逆変換そのものである。

_◇N次のアダマール行列

Nは2のべき乗数となる。

H2=(1/√2)(1  1)
(1 -1)

HN=H_2n=(1/√2)(Hn  Hn)
(Hn -Hn)

※定義通りのものをナチュラル型、符号の変化する回数の少ない行順に並べ替えたものをウォルシュ型とよぶ

※変換行列の逆行列は転置行列と等しいというユニタリー行列の条件を満たす

※アダマール行列は転置前と転置後が等しいエルミート行列ででもある

◆離散コサイン変換(DCT)

◆計算例

_◇最大電力伝達条件
微分して最大値、最小値を求める

最大電力伝達条件
「負荷抵抗RL(R-load)が信号源抵抗RS(R-source)に等しいときに、負荷抵抗RLに最大の電力が供給される」

※式を一回微分して、イコールゼロとし、傾きがゼロの点を求める。ここでのX軸の値(RLの値)を計算すれば、最大値が求まる。

P(RL)=(V/RS+RL)^2 * RL
=(V^2/(RS^2+2*RS*RL+RL^2))*RL

ここでV^2を除いてY(RL)を考えれば
Y(RL)=(RS^2+2*RS*RL+RL^2))/RL
=(RS^2/RL)+2*RS+RL

これをRLで1回微分すると
dY(RL) RS^2
—— = – —- + 0 + 1
dRL RL^2
これを0とおいて計算すれば
RS=RL
となる。ここがY(RL)の最小点で、P(RL)の最大点となる。
※ただし、そのままでは最大点か、最小点か区別できないので、決定のために、もう1回微分してから、RS=RLを代入し、
(d^2 Y(RL))/d(RL)^2=RS^2/(2*RL^3)+0[RS=RL]
(d^2 Y(RL))/d(RL)^2=1/2*RS > 0

※プラスであればY(RL)の最小点(P(RL)の最大点)
マイナスであれば最大点

_◇コンデンサ・インプット型全波整流回路の力率
(簡略化した計算)

┌────┐       Vload
│ ┌──┼────┬─○─→┐Iload
│ │ ┌┴┐   │+ ↑ │
│ │ ▽ ┼  ┌┴┐ │┌┴─┐
┌┴┐│ ┼ △  │C│ ││RL│
│~│└─┤ ├─┐└┬┘ │└┬─┘
└┬┘  ┼ ▽ │ │  ↓ │
│   △ ┼ └─┴─○──┘
│   └┬┘
└────┘

仮定:Vmax=Vload, 負荷電流一定Iload=Vload/RL
半周期に必要とする電荷量Qは、

Q=∫[0:π]{Vload/RL}dθ=[(Vload/RL)θ][0:π]
=(Vload/RL)π
※波形の形状を角度表示θで考えているが、実際は時間tでの積分を意図。
※入力となるダイオードからはQと同じ電荷量Qが流れ込まないとならない。
※半周期中にダイオードからCに電流が流れ込むのは、θ=θ1~π/2の短い期間に限られる。

仮定:電流波形Iin(θ)はサイン波で変化する
Iin(θ)=A*sin{π(θ-θ1)/((π/2)-θ1)}
ただし、θ1≦θ≦π/2
AはQに入力量をあわせるための仮定数。

半周期でコンデンサに流れ込む電流量Qinは、Iin(θ)を半周気にわたって積分して求める。
Qin = A*{∫[0:θ1]0dθ
+ ∫[θ1:π/2]sin(π(θ-θ1)/((π/2)-θ1))dθ
+ ∫[π/2:π]0dθ}
=A*∫[θ1:π/2]sin(π(θ-θ1)/((π/2)-θ1))dθ

ここで置換積分として、

x=π(θ-θ1)/((π/2)-θ1)
dθ/dx=((π/2)-θ1)/π

Qin = A∫[0:π]sin(x)*(dθ/dx) dx
=(A*((π/2)-θ1)/π)*[-cos(x)][0:π]
=(2A*((π/2)-θ1)/π)

Q=Qinと考えれば、
(Vload/RL)π=(2A*((π/2)-θ1)/π)
より
A=(π^2)*Vload/(2RL(π/2-θ1))

Iin(θ)=(π^2)*Vload/(2RL(π/2-θ1))*π(θ-θ1)/((π/2)-θ1)
ただし、θ1≦θ≦π/2

Iin(θ)からIrmsの算出

Irms=√((1/π)∫[0:π](Iin(θ)}^2)dθ)
=(π^2)*Vload/(2RL(π/2-θ1))
*√((1/π)∫[0:π/2]sin^2(π(θ-θ1)/((π/2)-θ1))dθ)

置換積分により

Irms=(π^2)*(Vload/2RL)*√(1/2π((π/2)-θ1))

入力皮相電力Sは
S=(Vmax/√2)*Irms=(Vload^2/4RL)√(π^3/((π/2)-θ1))
出力負荷電力Pは
P=(Vload^2)/RL

※入力波形はサイン波なので、1/√2の実効値計算

力率cosΦ=P/Sなので

cosΦ=4√(((π/2)-θ1)/π^3)

よって、(π/2)-θ1が小さいほど力率は小さくなり、θ1の最小値0でもcosΦ=0.9になる。

※O. H. Schadeの計算図表

☆参考

◎記号

10**12…T(テラ)
10**9 …G(ギガ)
10**6 …M(メガ)
10**3 …K(キロ)
10**-3…m(ミリ)
10**-6…μ(マイクロ)
10**-9…n(ナノ)
10**-12…p(ピコ)

◎ブール代数

◆ブール代数と各種定理
論理回路は,Analog信号を2値化することで,高速なSimulationが行えるように工夫されている.
このとき,設計/検証のよりどころになる基礎がブール代数.
なお,演算子の意味は以下の通り.

+ : 論理和
・ : 論理積 _ _
? : 排他的論理和 = A ? B = (A ・ B) + (A ・ B)
_
X : 否定
=
X : 二重否定

交換則: A + B = B + A

A ・ B = B ・ A

分配則: A ・ (B + C) = (A ・ B) + (A ・ C)

A + (B ・ C) = (A + B) ・ (A + C)

単位元: A + 0 = A

A ・ 1 = A
_
補 元: A + A = 1
_
A ・ A = 0

結合則: A + (B + C) = (A + B) + C

A ・ (B ・ C) = (A ・ B) ・ C

吸収則: A + (A ・ B) = A

A ・ (A + B) = A

巾等律: A + A = A

A ・ A = A

A + 1 = 1

A ・ 0 = 0
_
A + (A + B) = 1
_
A ・ (A ・ B) = 0
_ _ _ _
(A + B) ・ (A + B) = (A ・ B) + (A ・ B)
_ _ _ _
(A ・ B) + (A ・ B) = (A + B) ・ (A + B)

二重否定:
=
A = A

ド・モルガンの定理:
_____ _ _
(A + B) = A ・ B
_____ _ _
(A ・ B) = A + B

リードマラーの定理:

A ? B = B ? A
_
A ? B = A ? B
_
A ? B = A ? B
_____ _ _
A ? B = A ? B
_
A ? 1 = A

A ? 0 = A

(A ? B) ? C = A ? (B ? C)

シャノン展開(シャノンの定理):
_
f(A, B, C, D, …) = {A ・ f(B, C, D, …)} + {A ・ f(B, C, D, …}

※これらは,論理圧縮/論理展開等におけるよりどころである.

※ド・モルガンの定理
論理演算で「和の否定は、否定の積」、「積の否定は、否定の和」を意味する。デジタル回路では非常によく使われる重要な定理。

◆項と必須項
必須項は,項の一種であり,以下の定義が存在する.

必須項: ブール代数式において,唯一出現する項
項  : 必須項以外の項

(例)
_
X = (A ・ S) + (B ・ S)

A,B : 必須項
S  : 項

一般に,十分に論理圧縮された式では,必須項のみとなり,言い換えると必須項は,論理を維持するためには,削除不可能な項となる.
ただし,ブール代数での表現に限界があるため,必ずしも項が存在するからと言って,論理圧縮が行えるとは限らない.特に,排他的論理和や選択については,項が存在してしまう.これを回避するためにリードマラーの定理が存在する.

◆論理圧縮手法
論理回路の開発/設計を行う際には,論理圧縮を行う必要が生じてくる.
論理圧縮を行わずに論理回路の開発/設計を行うと,冗長性(Renandancy)が大きくなり,回路規模が増大するばかりか,遅延量の増大,消費電力の増大,テスト性(Testerbility)の低下など,さまざまな問題を抱えることとなる.
現在では,HDL言語設計を行うと,論理圧縮はCAD Toolが行うこととなるが,まれに論理圧縮ミスが発生したり,所定の動作仕様(伝播遅延時間や回路規模等)を満足しないことも発生する.
この場合,開発/設計者が事前に論理圧縮や論理展開を行い,動作仕様を満足させる必要が生じる事もある.
代表的な論理圧縮には

1. ブール代数式による圧縮
2. カルノー図法による圧縮
3. クワイン・マクラスキー法による圧縮
4. PLA法による圧縮
5. BDD(2分決定木)による圧縮
6. 関数法による圧縮

があり,それぞれに長所短所がある.特に5.,6.は,Software的に処理し易い方法で,主にCAD Toolで使用されている.CAD Tool用の圧縮方法としては,他にEspresso等がある.

◆リメディ
通常は十分に論理圧縮を行うことが望ましいが,あえてRenandancyを設けて予想し得る問題を回避方法もある.
(例)
_
X = (A ・ S) + (B ・ S) + (A ・ B)

上記の式では,(A ・ B)は不要な式であり,これをリメディと呼んでいる.

◎誤り訂正符号
誤り訂正符号は、種々のものが考えられている。
ブロック符号、畳み込み符号ともに、ランダム誤りに適した符号とバースト誤りに適した符号がある。
ブロック符号では、ランダム誤り訂正のBCH符号、バースト誤り訂正のリードソロモン
符号がよく利用されている。
畳み込み符号では、復号にビタビ復号を行うことにより訂正能力が高められる。

ブロック符号
※ブロック符号(n,k)とは、情報長がk,全符号長がn,チェック符号長がn-k、η=k/nを符号化効率という⇒CRC符号など
ランダム誤り
ハミング符号
ゴーレイ符号
BCH符号
BCH符号(ビー・シー・エッチふごう)(BCH code)
Bose-Chaudhuri-Hocquenghem符号の略。
ハミング距離に基づいたブロック符号を一般化した符号であり、シフトレジスタによる線形演算で比較的容易に実現できる線形巡回符号の代表的なものである。
ランダムな誤りが生じる通信路におけるランダム誤り訂正に用いられる。

バースト誤り
ファイア符号
リードソロモン符号

畳み込み符号
ランダム誤り
自己直交符号
樹枝状符号
バースト誤り
ハーゲルバーガ
岩垂れなど