フーリエ変換の例題

フーリエ変換の例題(1)

次のデータ(t.txtとy.txt)をダウンロードすること.これらのファイルをカレ
ントディレクトリに保存する.
Matrabで以下のコマンドを入力してデータを読み込む
>>t=load(‘t.txt’);
>>y=load (‘y.txt’);

時間tの刻みは2π/100となっている.振幅はy.






読み込めない人は
>> tt=0:99;
>> t=2*pi/100*tt;
>> y=1+4*cos(t)+6*cos(2*t)-2*sin(t)+3*sin(2*t);
>>subplot(2,1,1)
>>plot(t,y)
15
line 1
10
5
0
-5
-10
0

1
2
3
上記の波形より,ω=0,1,2の成分a0,a1,a2およびb1,b2を求めなさい
4
5
6
7
フーリエ変換の例題(2)

a0について
フーリエ変換の定義より
1
a0 
2

2
0
f (t )dt
今はデータが離散になっているので
刻み時間
1
a0 
2
1

2
 y[n]  dt
t n
2
y[n] 

100
t n
99
時間 t
よって,Matlabで
>> a0=(1/(2*pi))*sum(y)*2*pi/100
>> a1=(1/pi)*sum(y.*cos(t))*2*pi/100
・・・・
と入力していく
99
a1 
 2  2
y
[
n
]

cos
n 


 t n
 100  100
1
99
ここでnは,データ番号.
時間に対応することに注意
フーリエ変換の例題(3)




それぞれ導出されたa0,a1,a2およびb1,b2を使って,再び元の波形を再現して
みましょう.
>> y2=a0+a1*cos(t)+a2*cos(2*t)+b1*sin(t)+b2*sin(2*t);
>>subplot(2,1,2)
>>plot(t,y2)
15
line 1
10
5
0
-5
-10
0
1
2
3
4
5
15
6
7
line 1
10
5
0
-5
-10
0
1
2
3
4
5
6
7