《数字信号处理》-----快速傅里叶变换算法

参考:《数字信号处理》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');

猜你喜欢

转载自www.cnblogs.com/kiki--xiunai/p/10738750.html