天天看點

傅裡葉變換的意義

傅裡葉變換就是将滿足一定條件的某個函數表示成三角函數(正弦/餘弦)或其積分的線性組合。傅裡葉變換可以看出一種工具,将一個連續的信号(不友善處理)轉換成一個個小信号的疊加(好處理)。就是将信号完成從時域表示到頻域表示。信号本質沒有變,轉換後有助于後續處理。來看一個圖,原圖1-4及代碼轉自http://fashionxu.bokee.com/4632908.html ,第5個圖是我加的。

傅裡葉變換的意義

圖3是由圖1和圖2兩個三角函數波合成的,但是在時域表示下,很難對圖3進行分析,于是,對圖3執行傅裡葉變換,轉換到頻域表示,如圖5,就很明顯。又但是,因為MATLAB FFT函數直接轉換出來的資料與頻率坐标是不對應的,是以用ffshift函數将零頻點移到頻譜中間,如圖4,這樣友善觀看。圖5的橫坐标表示頻率,縱坐标表示幅值。不看負頻部分,從正頻部分來看,裡0點近的表示頻率小,幅值小,對應圖1中的a;離0點遠的表示頻率大,幅值大,對應圖2中的b(請自動忽略圖5的橫坐标)。

PS:在信号在時域無限(一直連續)的情況下,圖5應該是2高2低的4條譜線;但由于時域是有限的,是以存在一些其他頻率的點。

再PS:關于如何了解負頻,這裡有個文章有很多讨論:http://bbs.cnttr.com/archiver/tid-73802.html

shift的作用,在2維傅裡葉變換上看更有效果。左圖是原圖像,中圖是傅裡葉變換之後的圖像,但是低頻部分在圖像邊緣,不明顯,shift以後,低頻部分被移到了中心。圖像來自 http://zone.ni.com/reference/en-XX/help/371361F-01/lvanls/fft/

傅裡葉變換的意義

下面的轉述來自網絡,也說明了傅裡葉變換的實體意義:

傅裡葉變換就是将一個信号的時域表示形式映射到一個頻域表示形式;逆傅裡葉變換恰好相反。這都是一個信号的不同表示形式。它的公式會用就可以,當然把證明看懂了更好。

  對一個信号做傅立葉變換,可以得到其頻域特性,包括幅度和相位兩個方面。幅度是表示這個頻率分量的大小,那麼相位呢,它有什麼實體意義?頻域的相位與時域的相位有關系嗎?信号前一段的相位(頻域)與後一段的相位的變化是否與信号的頻率成正比關系。

  傅立葉變換就是把一個信号,分解成無數的正弦波(或者餘弦波)信号。也就是說,用無數的正弦波,可以合成任何你所需要的信号。

  想一想這個問題:給你很多正弦信号,你怎樣才能合成你需要的信号呢?答案是要兩個條件,一個是每個正弦波的幅度,另一個就是每個正弦波之間的相位差。是以現在應該明白了吧,頻域上的相位,就是每個正弦波之間的相位。  

  傅立葉變換用于信号的頻率域分析,一般我們把電信号描述成時間域的數學模型,而數字信号處理對信号的頻率特性更感興趣,而通過傅立葉變換很容易得到信号的頻率域特性 

  傅裡葉變換簡單通俗了解就是把看似雜亂無章的信号考慮成由一定振幅、相位、頻率的基本正弦(餘弦)信号組合而成,傅裡葉變換的目的就是找出這些基本正弦(餘弦)信号中振幅較大(能量較高)信号對應的頻率,進而找出雜亂無章的信号中的主要振動頻率特點。如減速機故障時,通過傅裡葉變換做頻譜分析,根據各級齒輪轉速、齒數與雜音頻譜中振幅大的對比,可以快速判斷哪級齒輪損傷。

第一個圖的MATLAB代碼如下:

w=2*pi;

x = -0.5:0.01:0.5;

a=0.4*sin(4*w*(x));

b=1.6*cos(12*w*(x));

subplot(2,3,1);

plot(w*x,a),title('Figure 1 : a=0.4*sin(4*w*(x))');

subplot(2,3,2);

plot(w*x,b),title('Figure 2 : b=1.6*cos(12*w*(x))');

subplot(2,3,3);

plot(w*x,a+b),title('Figure 3 : a+b');

c=fft(a+b);

subplot(2,3,4);

stem(x,fftshift(abs(c)),'Marker','none'),title('Figure 4 : FFT-shift');

subplot(2,3,6);

stem(abs(c),'Marker','none'),title('Figure 5 : FFT before shift');

繼續閱讀