fft在分析頻譜分析的時候,會有下面四個方面的誤差:
(1)頻譜混疊: 奈奎斯特定理已被眾所周知了,所以幾乎所有人的都知道為了不讓頻譜混疊,理論上采樣頻譜大於 等於信號的最高頻率。那和時域上聯系起來的關系是什么呢?
采樣周期的倒數是頻譜分辨率,最高頻率的倒數是采樣周期。
設定采樣點數為N,采樣頻率fs,最高頻率fh,故頻譜分辨率f=fs/N,而fs>=2fh,所以可以看出最 高頻率與頻譜分辨率是相互矛盾的,提高頻譜分辨率f的同時,在N確定的情況下必定會導致最高頻 率fh的減小;同樣的,提高最高頻率fh的同時必會引起f的增大,即分辨率變大。
(2)柵欄效應:由於dft是只取k=0,1,2,.......N-1,只能取到離散值,如果頻譜之間相隔較大的話也許會將一些中 間的信息丟失掉,而用fft計算dft是不可避免的,解決的辦法就是增加采樣點數N。這樣頻譜間隔 變小,丟失信息的概率減小。
另外,增加0可以更細致觀察頻域上的信號,但不會增加頻譜分辨率。
(3)頻譜泄露:是由加窗函數引起的,同樣是計算量的問題(用fft用dft必需要加窗函數),時域上的相乘,頻域上卷積,引起信號的頻譜失真,只有在很少的情況下,頻譜泄露是不會發生的,大部分情況都會引起泄露。如x(n)=cos(2π/N),(n=0,1,2,3.....N-1,) N點的fft則不會發生泄露,但2N,或N+1, N+2等均會引起失真,而引起失真可以從表達式上可以看出 X(K)=卷積以后的頻譜在2π/N*k的取樣值,所以如果是2N的dft,為2π/2N*K,相當於N點dft結果各個值中間再取樣了一個值,而 2π/(N+2)*k,就與N點fft完全不一樣了。解決辦法,可以擴大窗函數的寬度(時域上的寬了,頻域上就窄了,(時域頻域有相對性),也就是泄露的能量就小了),或者不要加矩形的窗函數,可以加緩變的窗函數,也可以讓泄露的能量變小。因為泄露會照成頻譜的擴大,所以也可能會造成頻譜混疊的現象,而泄露引起的后果就是降低頻譜分辨率。
頻譜泄露會令主譜線旁邊有很多旁瓣,這就會造成譜線間的干擾,更嚴重就是旁瓣的能量強到分不清是旁瓣還是信號本身的,這就是所謂的譜間干擾。