【練習四】

請寫一個程式,用來顯示如果將許多各種適當大小及週期的正弦波加總起來,會漸漸逼近一個方波,同時在此也留意 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 )所示,其尖峰值變為十個。


                                                         離散時間....  離散系統之.... 信號取樣.... 離散傅氏.... 快速傅利葉轉換                                                                                 回首頁 回文字版首頁  上一頁