傅立葉變換相關
傅立葉變換相關
目錄
1.連續傅立葉變換
1.1 傅立葉變換的引出
\[F\left( {j\omega } \right) = \int_{ - \infty }^{ + \infty } {f\left( t \right)} \cdot {e^{ - j\omega t}}dt傅立葉正變換 \]
\[f\left( t \right)=\frac{1}{2\pi }\int_{-\infty }^{+\infty }{F\left( j\omega \right)}\cdot {{e}^{j\omega t}}d\omega 傅立葉逆變換 \]
\[F\left( {j\omega } \right) = \left| {F\left( {j\omega } \right)} \right| \cdot {e^{j\varphi \left( \omega \right)}}頻譜密度函式 \]
\(其中\left| {F\left( {j\omega } \right)} \right|與\omega 構成的為幅度譜,{\varphi \left( \omega \right)}與\omega 構成的為相位譜。\)
-
週期訊號:
\[{{f}_{T}}\left( t \right)=\sum\limits_{n=-\infty }^{+\infty }{{{F}_{n}}\cdot {{e}^{jn{{\omega }_{0}}t}}} \]
-
非週期訊號
\[f\left( t \right)=\frac{1}{2\pi }\int_{-\infty }^{\infty }{F\left( j\omega \right)}\cdot {{e}^{jwt}}d\omega \]
1.2 傅立葉變換的性質
-
唯一性(統一的是時域為訊號或波形,頻域是函式)
頻譜函式與時間訊號一一對應,不存在一對多或多對一。
-
線性
\[a{f_1}\left( t \right) + b{f_2}\left( t \right)\overset {} \longleftrightarrow a{F_1}\left( {j\omega } \right) + b{F_2}\left( {j\omega } \right) \]
其中a與b是常數。
-
奇偶性
奇訊號的頻譜是奇函式,偶訊號的頻譜是偶函式。
-
共軛特性
\[f\left( t \right)\overset {} \longleftrightarrow F\left( {j\omega } \right)\\{f^ * }\left( t \right)\overset {} \longleftrightarrow {F^ * }\left( { - j\omega } \right) \]
\(當f\left( t \right)為實訊號,它的頻譜是共軛對稱的,或者總的來說,任何訊號的頻譜的實部是偶函式,虛部為奇函式。\)
- 對稱特性
\[f\left( t \right)\overset {} \longleftrightarrow F\left( {j\omega } \right)\\F\left( {jt} \right)\overset {} \longleftrightarrow 2\pi \cdot f( - \omega ) \]
\(其中,用 t = - \omega , \omega = t 互相進行替換,再根據時頻的關係可以推出以上公式。\)
- 時域展縮特性
\[f\left( {at} \right)\overset {} \longleftrightarrow \frac{1}{{\left| a \right|}}F\left( {j\frac{\omega }{a}} \right) \]
-
\(當{\left| a \right|}大與1時,時域壓縮,頻域擴充套件;\)
-
\(當{\left| a \right|}小於1時,時域擴充套件,頻域壓縮。\)
- 時移特性
\[f\left( t \right)\overset {} \longleftrightarrow F\left( {j\omega } \right)\\f\left( {t + {t_0}} \right)\overset {} \longleftrightarrow F\left( {j\omega } \right) \cdot {e^{j\omega {t_0}}} \]
\(由上可知,時移平移,對應頻域的相移,它的幅頻特性,即\left| {F\left( {j\omega } \right)} \right|不改變。\)
2.離散傅立葉變換
2.1 DFT公式及使用
\[X\left( k \right) = \sum\limits_{n = 0}^{N - 1} {x\left( n \right)} W_N^{nk} \]
\(其中,{x\left( n \right)}是原始時域訊號,n是取樣點的序號,k是頻率域中的頻率值,N是取樣點總數,{W_N}是一個常數,其公式為:\)
\[{W_N} = {e^{ - \frac{{2\pi j}}{N}}} \]
所以,可以推出:
\[X = W_N^Ex \]
即可以用以下程式碼實現DFT:
data = [2 3 8 9 12 4 8 10]; % 原始離散時域訊號
N = length(data);
% DFT需要的相關矩陣:
WN = exp(-i*2*pi/N); % 常數
WN_nk = zeros(N)+WN; % WN_kn矩陣(初始)
xk = data'; % 時域訊號振幅(列矩陣)
E = zeros(N); % 輔助的E(WN_kn的冪,單獨拿出來算)
%%% 傅立葉正變換即結果 %%%
for row = 0:N-1
for cow = 0:N-1
E(row+1,cow+1) = row*cow;
WN_nk(row+1,cow+1) = WN_nk(row+1,cow+1)^E(row+1,cow+1);
end
end
Xk = WN_nk * xk; % 頻域結果
fft(data); % Matlab自帶語句,兩者結果對比一樣
2.2 IDFT公式及使用
\[x\left( n \right) = \frac{1}{N}\sum\limits_{k = 0}^{N - 1} {X\left( k \right)} X_N^{ - nk} \]
\(同理,將其表示成{W_N}的-E次方再除以N就可以了。\)
其程式碼如下:
% 繼DFT程式碼後跟著寫
% IDFT需要的相關矩陣:
WN_nk_n = zeros(N)+WN; % WN_kn矩陣(初始)
E_n = zeros(N); % 輔助的E(WN_kn的冪,單獨拿出來算)
for row = 0:N-1
for cow = 0:N-1
E_n(row+1,cow+1) = -row*cow; % 注意負號
WN_nk_n(row+1,cow+1) = WN_nk_n(row+1,cow+1)^E_n(row+1,cow+1);
end
end
xk_n = real((WN_nk_n * Xk)/N)' % IDFT手寫結果
ifft(Xk) % Matlab自帶語句,上下倆結果對比一樣。
最後,我們可以總結為什麼要使用傅立葉變換,使用它的理由就是,時域訊號或者說時域波形好採集,但是不好處理,頻域訊號或者說頻域函式好處理,但是無法直接採集,所以需要用到傅立葉變換這一強大的工具。