本單元的介紹,假設讀者已經看過先前的【甚麼是頻譜分析?】,或是已經了解FFT的基本概念。
圖1分別有f=50 Hz、f=77 Hz的時間域x(t),以及頻譜X(f)的圖示,可以觀察:
(1)
左圖,時間域x(t)的振幅,X=1;在頻譜圖X(f),f=50Hz,振幅X=1。
(2)
右圖,時間域x(t)的振幅,X=1;在頻譜圖X(f),f=70Hz,振幅X=1。
在圖1,兩個不同頻率的正弦波信號,在其對應的頻譜圖X(f),都有正確的頻率及振幅解析。這是我們進行頻譜分析的最理想狀態,是無洩漏的頻譜分析。
圖2,左圖的x(t)是,f=50.2 Hz,右圖的x(t)是,f=50.25 Hz,兩者其時間域振幅確實都是X=1,但是在頻譜圖X(f),左圖在f=50Hz,振幅X=0.7571,兩側鄰近的頻率,也都不是0。而右圖在f=50Hz,振幅X=0.6379,兩側鄰近的頻率,也都不是0。當然,對於實際的信號而言,頻率以及振幅的解析都不正確,這就是洩漏的現象。
綜合討論如下:
(1)
洩漏的現象:在信號的頻譜圖,其頻率的振幅,有不正確的分析結果。
(2)
洩漏的原因:是信號的頻率f,與FFT的分析參數:頻率解析度Δf,沒有能夠整除。
(3)
洩漏的影響:因為f/Δf≠整數,所以,就沒有能夠完全正確的解析信號的頻率f,連帶也不能正確解析信號的振幅X。
(4)
如何避免洩漏:必須令f/Δf=整數,但是,我們要進行FFT的目的,就是要分析實際信號的頻率及其振幅特徵,當我們不知道實際信號的頻率,是無法調整頻率解析度Δf,達到f/Δf=整數的目標。而且,實務上,頻率解析度Δf是有一定的限制,對於各種頻率都有的實際量測信號而言,肯定是無法避免洩漏的。
(5)
如果無法避免洩漏,該如何處理呢?需要使用視窗函數(window function)、或稱加權函數(weighting
function),只能降低洩漏之影響,我們爾後再另文討論。
本單元討論對信號進行頻譜分析之洩漏的現象、原因及其影響,希望對讀者有幫助。
以上個人看法,請多指教!
王栢村
2017.10.12