杭电_数字信号处理课程设计_实验2

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验2 利用快速离散傅里叶变换分析信号的频谱

一、实验目的

1、通过这一实验,能够熟练掌握快速离散傅里叶变换FFT的原理及其用FFT 进行频谱分析的基本方法。

2、在通过计算机上用软件实现FFT 及信号的频谱分析。

3、通过实验对离散傅里叶变换的主要性质及FFT 在数字信号处理中的重要作用有进一步的了解。

二、实验要求及内容

第一题代码:

clear all;

N=32;

n=0:N-1;

xn=sin(2*pi*n/32);

subplot(2,1,1);

plot(n,xn);

ylabel('x(n)');

title('x(n) N=32');

XK=fft(xn,N);

magXK=abs(XK); %幅频特性

phaXK=angle(XK); %相频特性

subplot(2,1,2);

k=0:length(magXK)-1;

stem(k,magXK,'.'); %信号幅频特性曲线xlabel('k');

ylabel('|X(k)|');

title('X(k) N=32');

第二题代码:

clear all;

N=100;

n=0:N-1;

xn=0.9*sin(2*pi/N*n)+0.6*cos(2*pi/(N/3)*n); subplot(2,1,1);

plot(n,xn);

xlabel('n');

ylabel('x(n)');

title('x(n) N=32');

XK=fft(xn,N);

magXK=abs(XK); %幅频特性

phaXK=angle(XK); %相频特性

subplot(2,1,2);

k=0:length(magXK)-1;

stem(k,magXK,'.'); %信号幅频特性曲线xlabel('k');

ylabel('|X(k)|');

title('X(k) N=100');

第三题代码:

clear all;

N=8;

x=[ones(1,8),zeros(1,N-8)];

n=0:N-1;

X=dft(x,N);

magX=abs(X);

phaX=angle(X)*180/pi;

k=(0:length(magX)'-1)*N/length(magX); subplot(2,2,1);

stem(n,x);

subplot(2,2,2);

stem(k,magX,'.');

axis([0,10,0,8]);

ylabel('|X(k)| of N=8');

N=16;

x=[ones(1,8),zeros(1,N-8)];

n=0:N-1;

X=dft(x,N);

magX=abs(X);

phaX=angle(X)*180/pi;

k=(0:length(magX)'-1)*N/length(magX);

subplot(2,2,3);

stem(n,x,'.');

ylabel('x(n)');

subplot(2,2,4);

stem(k,magX,'.');

axis([0,15,0,8]);

ylabel('|X(k)| of N=16');

%用到的函数:

function[Xk]=dft(xn,N)

n=[0:1:N-1];

k=[0:1:N-1];

WN=exp(-j*2*pi/N);

nk=n'*k;

WNnk=WN.^nk;

Xk=xn*WNnk;

End

第四题代码:

clear all;

N3=120;

x3=0:1:N3-1;

%xn3=[1+cos(2*pi*100*x3)].*cos(2*pi*600*x3);

xn3=cos(2*pi*600/3000*x3)+0.5*cos(2*pi*700/3000*x3)+0.5*cos(2*pi*500/3000*x3); subplot(2,2,1);

plot(x3,xn3);

title('xn3');

XK3=fft(xn3,N3);

XK3=abs(XK3);

subplot(2,2,2);

stem(0:length(XK3)-1,XK3,'.');

title('XK3 N=120点DFT');

N30=128;

%xn30=[1+cos(2*pi*100*x30)].*cos(2*pi*600*x30);

xn30=cos(2*pi*600/3000*x30)+0.5*cos(2*pi*700/3000*x30)+0.5*cos(2*pi*500/3000*x30); subplot(2,2,3);

plot(x30,xn30);

title('xn30');

XK30=fft(xn30,2*N30);

XK30=abs(XK30);

subplot(2,2,4);

stem(0:length(XK30)-1,XK30,'.');

title('XK30 N=128点DFT');

三、实验结果与分析:

题目一结果与分析:

从图像中可以看出,当0≤n≤N-1,N=32时,当且仅当K=1和K=31时,|X(k)|=16,其余点的|X(k)|=0,与笔算结果相同,符合题目要求。

题目二结果与分析:

该实验结果与笔算结果相同,符合题目要求。

相关文档
最新文档