直流回路と交流回路 - ホーム - Welcome to the

電気回路Ⅱ 演習
特別編フーリエ変換
教科書ではあまり触れられていないフーリエ変換.ベクトルと信号
の類似性から,感覚的にフーリエ変換を理解できるようにしたつも
りです.是非一回読んでみてください.
ベクトルと信号の類似性
ベクトルと信号の直交
直交ベクトル空間
直交ベクトルの集合を用いた任意のベクトルの近似
直交信号空間
相互直交関数の集合による関数の近似
2乗平均誤差の計算
一般フーリエ級数
1.ベクトルと信号の類似性
1.1. ベクトル

用語説明:ベクトルとは大きさと方向で決められる値である.矢印の長
さ,向いている方向が,それぞれベクトルの大きさと向きに対応している
まず図1.1の2つのベクトルV1とV2を考える. V2の方向のV1の成分はC12V2である.
図よりV1の端からV2に垂線を引くとV2方向のV1成分が幾何学的に得られる.
V1
V1=C12V2+Ve
Ve
C12V2
図1.1
V2
V2方向のベクトルでベクトルV1を近似しようとする
と,Veが誤差となる.またC12の大きさは,2つのベ
クトルの類似度を表す.
ここでC12が0となる場合,ベクトルは直交する.
1.1. ベクトルの続き

誤差ベクトルVeのとり方
V1
V1
Ve1
C1V2
V1=C1V2+Ve1
V2
Ve2
V2
C2V2
V1=C2V2+Ve2
図1.2 誤った誤差ベクトルのとり方
誤差はできるだけ小さくなるように,図1.1のようにC12を選ぶことが重要である.
1.1. ベクトルの続き

ベクトルの内積とC12
V1  V2
 C12V2
V1のV2方向成分 
V2
ベクトルの内積
A  B  AB cos 
A
よって
V1  V2 V1  V2
C12 

2
V2  V2
V2

B
AのB方向成分= A cos  
AB
B
AB
B のA方向成分=B cos  
A
(1)
V2方向のベクトルでベクトルV1を近似
しようとする
V1  C12 V2 ただし誤差はVe
V1とV2が直交するときは
V1  V2  0 →
C12  0
1.ベクトルと信号の類似性
1.2. 信号

ベクトルとの類似性および直交の概念は信号にも拡張できる.二つ
の信号f1(t)とf2(t)を考える.ある区間(t1<t<t2)でf1(t)をf2(t)の項で次の
ように近似する.
f1 (t )  C12 f 2 (t )
最適な近似を得るためにはどのようにC12を選ぶべきか.区間(t1<t<t2)
で実際の関数と近似した関数の誤差が最小となるC12を求めればよい
誤差関数
f e (t )  f1 (t )  C12 f 2 (t ) を定義する
誤差を最小にする1つの基準は,区間内で平均誤差を最小にすること
t2
1
 f1 (t )  C12 f 2 (t )dt が小さくなるC12を求める

t
t2  t1  1
ただし,この式ではお互いに打ち消しあうような正と負の誤差が存在した
場合,平均誤差がゼロとなるという間違った結果を与える.
1.2. 信号の続き
この場合,2乗平均を最小にするようなC12を求める.
(2乗すれば必ず正の値になるので)
平均2乗誤差をとすると
t2
1
2



f
(
t
)

C
f
(
t
)
dt
1
12 2

t
t2  t1  1
を最小にするC12を求めるには
d
0
dC12
すなわち
t2

d  1
2
 f1 (t )  C12 f 2 (t ) dt  0


t
dC12  t2  t1  1

積分と微分の順序を変えて
t2
t2

1  t2 d
2
2
f1 (t )dt  2 f1 (t ) f 2 (t )dt  2C12  f 2 (t )dt  0
t1
t1
t1
t2  t1   dC12

C12を含まないので0
1.2. 信号の続き
したがって
C12


t2
f1 (t ) f 2 (t )dt
t1

t2
t1
2
(2)
となる.
f 2 (t )dt
4ページの式(1)との類似性を確認しよう
このC12を用いて
f1 (t )  C12 f 2 (t ) と近似される
ベクトルとの類似性から,f1(t)は波形f2(t)成分を持ち,その成分の大きさはC12となる.
もしC12=0ならば, f1(t)は波形f2(t)成分を含まず,2つの関数は区間(t1,t2)で直交する.
t2

t1
f1 (t ) f 2 (t )dt  0
ならば,区間(t1,t2)でf1(t)とf2(t)直交する.
1.2. 信号の続き

直交関数の例
区間[0, 2π]で整数n,mに対して (ここで n  m)
sin ntと sin mtは直交する

2
0
sin nt sin m t dt  
2
0
1
cos(n  m)t  cos(n  m)t dt
2
2

1 1
1

sin(
n

m
)
t

sin(
n

m
)
t

2  n  m
nm
0
0
同様に
sin ntと cosm t,cosntと cosm tも直交する
2. 直交ベクトル空間

まず2次元のベクトル空間を考えてみよう.
y
左のベクトルAは以下のように書ける
A  x0a x  y0a y
A (x0,y0)
(3)
ここで a xはx方向の単位ベクトル
a yはy方向の単位ベクトル
x
ただし
ax  ax  a y  a y  1
ちょっと考えてみよう.式(3)より
ax  a y  a y ax  0
直交ベクトル
x0  A  a x , y0  A  a y
ベクトル Aのa x 成分x0を求めるには, Aと a xの内積を計算すればよ い.
ベクトル Aのa y 成分y0も同様に求めることが できる
直交ベクトル空間の続き

次に3次元のベクトル空間を考えてみよう.
z
左のベクトルAは以下のように書ける
z0
A  x0a x  y0a y  z0a z
(4)
ここで a x , a y , a zは単位ベクトル
y0
x0
x
y
ただし
1 m  n
an  am  
0 m  n
直交ベクトル
Cx  A  ax  x0 , Cy  A  ay  y0 , Cz  A  az  z0とすると
A  Cx  a x  Cy  a y  Cz  a z となる
直交ベクトル空間の続き

最後にn次元に拡張する.
n個の直交単位ベクトル を
n本の直交した座標を仮想的に考える
x1 , x 2 , x 3 .... x nで表し,この n次元空間の一般ベクト ルAは
A  C1x1  C2 x 2  C3 x 3  .... C n x n となる
1 mn
0 m  n
もちろん直交ベクトルより x n  x m  

あるr番号を考えて x rを Aの内積を計算すれば
A  x r  Cr x r  x r  Cr
すぐに Aの x r 成分の大きさ Crが求められる
直交ベクトル空間の続き

xr が単位ベクトルではない場合は
1ではない値
kn ( x n  x n ) m  n
xn  xm  
0 mn

A  xr A  xr
よって Cr 

で求められる
kr
xr  xr
まとめ
ベクトル空間が完全ならば,どのようなベクトルAも以下のように表すことが可能
A  C1x1  C2x2  C3x3  ....Cn xn
ここで Cr 
A  xr
xr  xr
3.直交信号空間
3.1 相互直交関数の集合による関数の近似


2節のベクトルの話と対応させながら考えよう
区間(t1<t<t2)で互いに直交するn個の関数g1(t), g2(t) ...
gn(t)の集合を考える.つまり

t2

t2
t1
t1
g j (t ) g k (t ) dt  0
jk
g j (t )  K j
2
相互直交関数の集合による関数の近似
 上記のn個の関数を用いて区間(t1<t<t2)で任意の関数f(t)を近似すると
n
f (t )  C1 g1 (t )  C2 g 2 (t )  ....Cn g n (t )   Cr g r (t )
r 1
ここで,f(t)をn個のgr(t)の関数を用いて近似するためには,最適なCを求める必要がある.
→1.2節と同様に2乗平均誤差が最小になるCの値を求める.
3.2 2乗平均誤差の計算

誤差関数を定義し,2乗平均誤差を計算する.
n
f e (t )  f (t )   Cr g r (t )
r 1
2
n
t2 
1


f
(
t
)

C
g
(
t
)
dt

r r



t
t 2  t1 1 
r 1

 はC1,C2…,Cnの関数であり, を最小にするには





 ... 
... 
0
C1 C2
C j
Cn
1.2節と同様にして解くことが可能
3.2 2乗平均誤差の計算の続き

のみについて考える.(t2-t1)は定数なので
C j
2
n
t
 2

f
(
t
)

C
g
(
t
)
dt  0

r r



t
C j 1 
r 1

Cjを含まない項はすべて0となる,また

C j
  2C
t2
t1

t2
t1
g n (t ) g m (t )dt  0 (n  m) なので

j f (t ) g j (t )  C j g j (t ) dt  0
2
2
微分積分の順番を取り替えて
t2
t2
t1
t1
2 f (t ) g j (t )dt  2C j  g j (t )dt
したがって
Cj


t2
t1
f (t ) g j (t )dt
1

t2
2
Kj
g
(
t
)
dt
j

t1
2

t2
t1
f (t ) g j (t )dt
3.2 2乗平均誤差の計算の続き

まとめ
区間(t1<t<t2)で互いに直交するn個の関数g1(t), g2(t) ... gn(t)が与
えられると,このn個の関数の線形結合で任意の関数f(t)を近似
でき
n
f (t )  C1 g1 (t )  C2 g 2 (t )  ....Cn g n (t )   Cr g r (t )
(5)
r 1
2乗平均誤差が最小となるC1...Cnは
Cj


t2
t1
f (t ) g j (t )dt
1

t2
2
Kj
g
(
t
)
dt
j


t2
t1
f (t ) g j (t )dt
( j  1,2,...n)
t1
となる.
12ページの直交ベクトル空間との結果と比較しよう
(6)
3.3 一般フーリエ級数


3.3節より,任意の関数f(t)を直交関数の集合により近似できることを
示した.
8ページの例より,区間[0, 2π]で整数n,mに対して



sin ntとsin mtが直交する
sin ntとcos mtが直交する
cos ntとcos mtが直交する
ことを述べた.したがって上記のsinおよびcosを使って任意のf(t)を近
似できるはず.
つまり
f (t )  a0  a1 cost  a2 cos 2t  ....an cos nt  .....
 b1 sin t  b2 sin 2t  .....bn sin nt  ......


n 1
n 1
 a0   an sin nt   bn cos nt
3.3 一般フーリエ級数の続き
任意の関数を以下のように近似する場合,適切なaやbを求める必要がある
f (t )  a0  a1 cost  a2 cos 2t  ....an cos nt  .....
 b1 sin t  b2 sin 2t  .....bn sin nt  ......


n 1
n 1
 a0   an sin nt   bn cos nt
代表としてanはどうなるか: anはf(t)のcosnt成分の大きさであるから,16ページの式(6)より
an


2
f (t ) cos ntdt
0

2
0

2
cos ntdt
bn 

2
0
0

2
0
同様に
1

f (t ) sin ntdt
2
f (t ) cos ntdt
1
cos2nt  1dt
2

1

2
0
f (t ) cos ntdt
3.3 一般フーリエ級数の続き

まとめ:任意の関数f(t)は,以下のようにsinとcosの式で近似できる


n 1
n 1
f (t )  a0   an sin nt   bn cosnt
ただし
1
an 

bn 
1
2
0

2
0
f (t ) cos ntdt
f (t ) sin ntdt
赤枠箇所は,関数f(t)がcosntとsinnt成分をどれだけ含んでいるかを
計算している.
ベクトルの計算と対応をとると分かりやすい
MATLAB, OCTAVEを用いて
フーリエ変換を理解しよう 1


次の波形のフーリエ変換を計算せよ.
またMATLABで第5調波までの合成波を計算しグラフにせよ.
1
a0 
T

T
0
T
1  T /2
f (t )dt    1dt    1dt   0
T /2

T 0
T
2  T /2
an    cos ntdt    cos ntdt 
T /2

T 0
T /2
T

2  sin nt 0
 sin nt T / 2 

 


T
n
n

0
T
2

より sin(整数  )  0
MATLAB, OCTAVEを用いて
フーリエ変換を理解しよう 2
T
2  T /2
bn    sin ntdt    sin ntdt 
T /2

T 0
T /2
T

2   cos nt 0
cos nt T / 2 

 


T
n
n

2   cos(nT / 2)  1 cos(nT )  cos(nT / 2) 
 


T
n
n

2   cos(nT / 2)  1 cos(nT )  cos(nT / 2) 
 


T
n
n


2  2  2 cos(nT / 2) 


T
n

2  2  2 cos(n ) 


T
n

4

(n : 奇数)
n

MATLAB, OCTAVEを用いて
フーリエ変換を理解しよう 3
第5調波までの合成波は
y(t ) 
4
sin 3t sin 5t  となる

 sin t 


3
5 
MATLABで計算してみよう.ここでωの値は指定されていないので,自分で
適当に決めましょう
w=1;
t=0: 1/100: 2*pi/w
y=4/pi*(sin(w*t)+ sin(3*w*t)/3+ sin(5*w*t)/5)
plot(t,y)
hold
y2= 4/pi*(sin(w*t)+ sin(3*w*t)/3
y3= 4/pi*(sin(w*t)
plot(t,y2)
plot(t,y3)
MATLAB, OCTAVEを用いてフーリエ変換を理解
しよう 4
1.5
line 1
line 2
line 3
1
赤:第5調波まで考慮
緑:第3調波まで考慮
青:第1調波まで考慮
0.5
0
高次まで考慮するほど,
元の波形に近くなる.
-0.5
-1
-1.5
0
1
2
3
4
5
6
7