【練習四】
請寫一個程式,用來顯示如果將許多各種適當大小及週期的正弦波加總起來,會漸漸逼近一個方波,同時在此也留意 Gibb's 現象及每個不同週期的正弦波構成了方波的那一部份?換句話來說,構成方波邊緣的部份的倒底是高頻的正弦波,還是低頻的正弦波呢?
解答:
在前一章我們曾以 BASIC 程式撰寫此一程式,在此以 MATLAB 電腦軟體的快速傅利葉轉換指令撰寫如下:
t = 0:.1:20;
y = 0;
for i=0:10
y = y + sin((2*i+1)*t)/(2*i+1);
plot(t,y),
pause
z=fft(y);
plot(abs(z))
pause
end
本程式是使用一個奇函數的方波函數之傅利葉級數,一開始出現一個週期較大的的正弦波圖形 (如圖 E )。
隨後以 MATLAB 電腦軟體的快速傅利葉轉換求出圖 E 之相對應頻譜如圖 F 所示﹐其左邊之尖峰值只有一個,意味著它的頻率組成份子只有一個。
再下來我們把一個週期較小的的正弦波加到原先圖形上,如圖 G 。隨後以 MATLAB 電腦軟體的快速傅利葉轉換求出圖 G 之相對應頻譜如圖 H 所示,其左邊之尖峰值變為兩個。
(圖 I ) 為含有三個正弦波之週期信號,這三個不同週期的正弦波已隱然構成了方波的形狀,從這裡我們可以看出低頻的正弦波構成了方波中間的部份,而高頻的正弦波構成方波邊緣的部份。(圖 I )之相對應頻譜如(圖 J ) 所示,其尖峰值變為三個。
(圖
K )為程式最後之含有十個正弦波之週期信號,這十個不同週期的正弦波已構成了方波的形狀,並且方波邊緣的部份也很明顯出現Gibb'
現象,從這裡我們可以看出低頻的正弦波構成了方波中間的部份,而高頻的正弦波構成方波邊緣的部份。(圖
K ) 之相對應頻譜如(圖
L )所示,其尖峰值變為十個。
離散時間....
離散系統之.... 信號取樣.... 離散傅氏.... 快速傅利葉轉換
回首頁 回文字版首頁
上一頁