天天看點

002 離散時間傅裡葉分析

離散時間傅裡葉變換(DTFT,Discrete Time Fourier Transform)

如果 x ( n ) x(n) x(n)絕對可加,即

∑ − ∞ ∞ ∣ x ( n ) ∣ < ∞ \sum_{-\infty}^\infty |x(n)|<{\infty} −∞∑∞​∣x(n)∣<∞

則其DTFT為

X ( e j w ) ≜ F [ x ( n ) ] = ∑ n = − ∞ ∞ x ( n ) e − j w X(e^{jw}){\triangleq}F[x(n)]=\sum_{n=-\infty}^{\infty} x(n)e^{-jw} X(ejw)≜F[x(n)]=n=−∞∑∞​x(n)e−jw

傅裡葉變換其實就是信号在時域和頻域的變換,對于基本上所有函數(有一些限制),都可以用各種頻率和幅度的正弦和餘弦函數的組合表示

002 離散時間傅裡葉分析

以方波信号的傅裡葉變換為例

clear all;
close all;

n = -2:2; x = [0, 1, 1, 1, 0]; k = 0:500; w = (pi / 500) * k;
X = x * (exp(-1j * pi / 500)) .^ (n' * k);
magX = abs(X); angX = angle(X);
realX = real(X); imagX = imag(X);

subplot(2, 2, 1); plot(k / 500, magX); grid;
xlabel('w'); title('幅度');

subplot(2, 2, 3); plot(k / 500, angX / pi); grid;
xlabel('w'); title('相位');

subplot(2, 2, 2); plot(k / 500, realX); grid;
xlabel('w'); title('實部');

subplot(2, 2, 4); plot(k / 500, imagX); grid;
xlabel('w'); title('虛部');
           
002 離散時間傅裡葉分析

其實就是經典的方波信号可以通過各種頻率的正餘弦信号合成

002 離散時間傅裡葉分析

逆離散時間傅裡葉變換(IDTFT,Inverse Discrete Time Fourier Transform)

x ( n ) ≜ F − 1 [ X ( e j w ) ] = 1 / 2 π ∫ − π π x ( e j w ) e j w d w x(n){\triangleq}F^{-1}[X(e^{jw})]=1/2{\pi}\int_{-\pi}^{\pi}x(e^{jw})e^{jw}dw x(n)≜F−1[X(ejw)]=1/2π∫−ππ​x(ejw)ejwdw

卷積

為什麼做傅裡葉變換,很大一個原因就是時域的卷積可以轉換成頻域的相乘

F [ x 1 ( n ) ∗ x 2 ( n ) ] = F [ x 1 ( n ) ] F [ x 2 ( n ) ] = X 1 ( e j w ) X 2 ( e j w ) F[x_1(n)*x_2(n)]=F[x_1(n)]F[x_2(n)]=X_1(e^{jw})X_2(e^{jw}) F[x1​(n)∗x2​(n)]=F[x1​(n)]F[x2​(n)]=X1​(ejw)X2​(ejw)

通過傅裡葉變化,我們可以把幾乎任意信号轉換成不同頻率 w w w的 e j w n e^{jwn} ejwn的和,假如 x ( n ) = e j w 0 n x(n)=e^{jw_0n} x(n)=ejw0​n,則脈沖響應 h ( x ) h(x) h(x)為

y ( n ) = h ( n ) ∗ e j w 0 n = ∑ k = − ∞ ∞ h ( k ) e j w 0 ( n − k ) = [ ∑ k = − ∞ ∞ h ( k ) e − j w 0 ( k ) ] e j w 0 n = [ F [ h ( n ) ∣ w = w 0 ] ] e j w 0 n y(n)=h(n)*e^{jw_0n}=\sum_{k=-\infty}^\infty h(k) e^{jw_0(n-k)}=[\sum_{k=-\infty}^\infty h(k) e^{-jw_0(k)}]e^{jw_0n}=[F[h(n)|_{w=w_0}]]e^{jw_0n} y(n)=h(n)∗ejw0​n=k=−∞∑∞​h(k)ejw0​(n−k)=[k=−∞∑∞​h(k)e−jw0​(k)]ejw0​n=[F[h(n)∣w=w0​​]]ejw0​n

也就說通過對輸入信号做傅裡葉變換,本來是通過複雜的卷積獲得輸出,現在直接通過簡單的乘法就可以獲得輸出信号了

假如LTI系統可以用下面的差分方程表示:

y ( n ) + ∑ l = 1 N a l y ( n − l ) = ∑ m = 0 M b m x ( n − m ) y(n)+\sum_{l=1}^{N}a_ly(n-l)=\sum_{m=0}^{M}b_mx(n-m) y(n)+l=1∑N​al​y(n−l)=m=0∑M​bm​x(n−m)

則通過傅裡葉變換可以求得其頻率響應函數

H ( e j w n ) + ∑ l = 1 N a l H ( e j w ) e j w ( n − l ) = ∑ m = 0 M b m e j w ( n − m ) H(e^{jwn})+\sum_{l=1}^{N}a_lH(e^{jw})e^{jw(n-l)}=\sum_{m=0}^{M}b_me^{jw(n-m)} H(ejwn)+l=1∑N​al​H(ejw)ejw(n−l)=m=0∑M​bm​ejw(n−m)

H ( e j w n ) = ∑ m = 0 M b m e − j w m / [ 1 + ∑ l = 0 N a l e − j w l ] H(e^{jwn})=\sum_{m=0}^{M}b_me^{-jwm}/[1+\sum_{l=0}^{N}a_le^{-jwl}] H(ejwn)=m=0∑M​bm​e−jwm/[1+l=0∑N​al​e−jwl]

數字信号處理(MATLAB版) 美 維納 K 英格爾 西安交通大學出版社

繼續閱讀