用FFT对信号作频谱分析Matlab程序

  • 格式:doc
  • 大小:33.50 KB
  • 文档页数:3

对以下序列进行FFT分析
x1(n)=R4(n)

x2(n)=

x3(n)=

x1n=[ones(1,4)]; %产生R4(n)序列向量
X1k8=fft(x1n,8); %计算x1n的8点DFT
X1k16=fft(x1n,16); %计算x1n的16点DFT
%以下绘制幅频特性曲线
N=8;
f=2/N*(0:N-1);
(不懂)
figure(1);
subplot(1,2,1);stem(f,abs(X1k8),'r','.'); %绘制8点DFT的幅频特性图,abs求得
Fourier变换后的振幅

title('(1a) 8点DFT[x_1(n)]');xlabel('ω/π');ylabel('幅度');
N=16;
f=2/N*(0:N-1);
subplot(1,2,2);stem(f,abs(X1k16),'.'); %绘制8点DFT的幅频特性图
title('(1b) 16点DFT[x_1(n)]');xlabel('ω/π');ylabel('幅度');
%x2n 和 x3n
M=8;xa=1:(M/2); xb=(M/2):-1:1; %从M/2到1每次递减1
x2n=[xa,xb]; %产生长度为8的三角波序列x2(n)
x3n=[xb,xa];

n+1 0≤n≤3
8-n 4≤n≤7
0 其它n
4-n 0≤n≤3
n-3 4≤n≤7
0 其它n
X2k8=fft(x2n,8);
X2k16=fft(x2n,16);
X3k8=fft(x3n,8);
X3k16=fft(x3n,16);
figure(2);
N=8;
f=2/N*(0:N-1);
subplot(2,2,1);stem(f,abs(X2k8),'r','.'); %绘制8点DFT的幅频特性图
title('(2a) 8点DFT[x_2(n)]');xlabel('ω/π');ylabel('幅度');
subplot(2,2,3);stem(f,abs(X3k8),'r','.'); %绘制8点DFT的幅频特性图
title('(3a) 8点DFT[x_3(n)]');xlabel('ω/π');ylabel('幅度');
N=16;
f=2/N*(0:N-1);
subplot(2,2,2);stem(f,abs(X2k16),'.'); %绘制8点DFT的幅频特性图
title('(2b) 16点DFT[x_2(n)]');xlabel('ω/π');ylabel('幅度');
subplot(2,2,4);stem(f,abs(X3k16),'.'); %绘制8点DFT的幅频特性图
title('(3b) 16点DFT[x_3(n)]');xlabel('ω/π');ylabel('幅度');
%x4n 和 x5n
N=8;n=0:N-1;
x4n=cos(pi*n/4);
x5n=cos(pi*n/4)+cos(pi*n/8);
X4k8=fft(x4n,8);
X4k16=fft(x4n,16);
X5k8=fft(x5n,8);
X5k16=fft(x5n,16);
figure(3);
N=8;
f=2/N*(0:N-1);
subplot(2,2,1);stem(f,abs(X4k8),'r','.'); %绘制8点DFT的幅频特性图
title('(4a) 8点DFT[x_4(n)]');xlabel('ω/π');ylabel('幅度');
subplot(2,2,3);stem(f,abs(X5k8),'r','.'); %绘制8点DFT的幅频特性图
title('(5a) 8点DFT[x_5(n)]');xlabel('ω/π');ylabel('幅度');
N=16;
f=2/N*(0:N-1);
subplot(2,2,2);stem(f,abs(X4k16),'.'); %绘制8点DFT的幅频特性图
title('(4b) 16点DFT[x_4(n)]');xlabel('ω/π');ylabel('幅度');
subplot(2,2,4);stem(f,abs(X5k16),'.'); %绘制8点DFT的幅频特性图
title('(5b) 16点DFT[x_5(n)]');xlabel('ω/π');ylabel('幅度');

%x8n
Fs=64; T=1/Fs;
N=16;n=0:N-1; %对于N=16的情况
nT = n*T;
x8n=cos(8*pi*nT)+cos(16*pi*nT)+cos(20*pi*nT)
X8k16=fft(x8n,16);
N=16;
f=2/N*(0:N-1);
figure(4);
subplot(2,2,1);stem(f,abs(X8k16),'.'); %绘制8点DFT的幅频特性图
title('(6a) 16点DFT[x_8(n)]');xlabel('ω/π');ylabel('幅度');
N=32;n=0:N-1; %对于N=16的情况
nT = n*T;
x8n=cos(8*pi*nT)+cos(16*pi*nT)+cos(20*pi*nT)
X8k32=fft(x8n,32);
N=32;
f=2/N*(0:N-1);
subplot(2,2,2);stem(f,abs(X8k32),'.'); %绘制8点DFT的幅频特性图
title('(6b) 32点DFT[x_8(n)]');xlabel('ω/π');ylabel('幅度');
N=64;n=0:N-1; %对于N=16的情况
nT = n*T;
x8n=cos(8*pi*nT)+cos(16*pi*nT)+cos(20*pi*nT)
X8k64=fft(x8n,64);
N=64;
f=2/N*(0:N-1);
subplot(2,2,3);stem(f,abs(X8k64),'.'); %绘制8点DFT的幅频特性图
title('(6c) 64点DFT[x_8(n)]');xlabel('ω/π');ylabel('幅度');