1. 程式人生 > >離散時間傅立葉變換Matlab實現

離散時間傅立葉變換Matlab實現

一、程式碼實現 


%%離散時間傅立葉變換DTFT
%若x(t)=cos(2*pi*t),取樣時間為0.1s,得到一個32的有限序列,利用matlab計算他的DFT並畫出影象;
clear;
ts=0.1;%取樣時間
fs=1/ts;%週期
N=32;%總取樣次數
n=0:N-1;
xn=cos(2*pi*n*ts);%取離散訊號資料
stem(n,xn);%繪製時域取樣圖
title('時域取樣圖');
k=0:N-1;
wn=exp(-j*2*pi/N);
nk=n'*k;
wnnk=wn.^nk;
xk=xn*wnnk;
figure;
subplot(2,1,1);
stem(k*fs/N,abs(xk));
xlabel('幅頻特性');
subplot(2,1,2);
stem(k*fs/N,angle(xk));
xlabel('相頻特性');

 

二、幅頻特性

幅頻特性就是指系統頻率響應的幅度隨頻率變化的曲線,幅度大的地方對應通帶,也就是對應頻率成分通過系統有較小衰減,幅度小的地方對應阻帶,也就是對應頻率成分通過系統有較大衰減,根據這個特性,可以用來觀測比較濾波器的情況,觀察其是否符合要求也就是作為濾波器的技術指標。

三、相頻特性