由之前的兩篇文章,“用EXCEL做快速傅立葉轉換_FFT (Fast Fourier Transform)_01 & 02”,我們學會了如何在EXCEL中完成快速傅立葉轉換,但是這計算結果有不少可以改進的地方。接下來試著最佳化快速傅立葉轉換。不過在最佳化之前,我門還是必需要知道哪一些參數會影響到快速傅立葉轉換的精確度。
現在這一篇文章將針對sample rate(取樣率)對速傅立葉轉換的精確度的影響。
前篇文章中的sample rate=32, sample rate(取樣率)將影響快速傅立葉轉換的頻率準確度,因為delta frequency = sample rate / number of sample。
以下圖一為上篇文章中所計算頻率為5Hz的COS波形所運算出來的FFT值。由工程數學中所學得的,cos經由傅立葉轉換後,在頻域(frequency domain)中所看到的應該是一根tone。而不是像圖一下方顯示的,看起來像一個三角形。
圖1 |
現在就只改變取樣率sample rate,將由32改成64,可以看到圖2上方的cos波,看起來比較連續了。這就是影響傅立葉轉換精準的的關鍵。
圖2 |
現在就只改變取樣率sample rate,將由64改成128。圖3上方的cos波,看起來又更連續了。
圖3 |
現在就只改變取樣率sample rate,將由128改成200。雖然圖4上方的cos波,看起來很連續,但是下方的FFT看起來更怪了,反而比之前設定sample rate=64時更差,更失真。
圖4 |
在這裡也要注意一個關鍵,就是取樣時一定要是完整週期。如下圖5所示,若設取樣率sample rate=200,雖然可以完整的還原原波形,但是其實不是在完整週期中取樣,還多了約1/4週期,所以會造成這樣的失真情形。
圖5 |
現在再舉一個取樣失真的例子,如下圖6所示,若設取樣率sample rate=256,取樣還多了約1/2週期,所以失真的情形也很嚴重。
圖6 |
最後再舉一個取樣失真的例子,如下圖7所示,若設取樣率sample rate=160,取樣接近完整週期,所以失真的情形得以改善。
圖7 |
此篇文章針對取樣週期做一個講解。
沒有留言:
張貼留言