《数字信号处理》-----快速傅里叶变换算法
参考:《数字信号处理》81页
傅里叶变换算法FFT计算DFT的函数FFT,matlab调用格式:Xk=fft(xn,N)
%xn为变换的时域序列向量,N是DFT变换区间长度:
1.当N大于xn的长度时,fft函数自动在后面补零。函数返回xn的N点DFT变换结果向量Xk————-X(k)=DFT[x(n)]N =Xk(k+1),k=0~N-1
2.当N小于xn的长度时,fft函数计算xn的前N个元素的DFT
clc;close all;clear all;
xn=[1 1 1 1];
Xk16=fft(xn,16);
Xk32=fft(xn,32);
w1=2*pi/16;
w2=2*pi/32;
x1=w1:w1:2*pi;
x2=w2:w2:2*pi;
%N1=16;N2=32;
figure;
subplot(221);
stem(x1/pi,abs(Xk16),\’.\’);
xlabel(\’\omega/\pi\’);ylabel(\’|H(e^j^\omega)|幅度\’);title(\’N=16 DFT\’);
subplot(222);
stem(x1/pi,angle(Xk16),\’.\’);
xlabel(\’\omega/\pi\’);ylabel(\’\phi(\omega)相位\’);title(\’N=16 DFT\’);
subplot(223);
stem(x2/pi,abs(Xk32),\’.\’);
xlabel(\’\omega/\pi\’);ylabel(\’|H(e^j^\omega)|幅度\’);title(\’N=32 DFT\’);
subplot(224);
stem(x2/pi,angle(Xk32),\’.\’);
xlabel(\’\omega/\pi\’);ylabel(\’\phi(\omega)相位\’);title(\’N=32 DFT\’);