实验三离散傅里叶变换

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

实验三 离散傅里叶变换

一 实验目的

1、理解和加深DFS 和DFT 的概念及其性质;

2、学习利用离散傅里叶变换分析信号的频谱。

二 实验设备

1、计算机

2、MA TLAB R2007a 仿真软件

三 实验原理

离散傅里叶变换在时域和频域都离散有限的特点,使其成为信号分析与处理中的一个最根本的也是最常用的变换。然而,但序列的长度N 很大时,直接计算DFT 需要很大的计算量。快速傅里叶变换使DFT 的运算效率提高数个数量级,为数字信号处理技术应用与各种信号的实时处理创造了良好的条件。MA TLAB 提供了用于快速计算DFT 的fft 函数,其调用格式为:y=fft(x) 或 y=fft(x,N);fft 函数用来计算序列)(n x 的N 点DFT ,如果序列的长度小于N ,则函数在序列的尾部补零至N 点;而当序列的长度大于N 时,函数对序列进行截短。为了提高运行速度,通常将N 取为2的整数次幂。

四 实验内容

1、上机实验前,认真阅读实验原理,掌握DFS 和DFT 的基本概念;

2、掌握离散傅里叶变换分析信号频谱的MATLAB 实现方法。

实例1:求周期序列)()(~

5

~

n R n x ,周期分别为N=20 和N=60时的)(~

k X 。

将下列指令编辑到“exlfft.m ”文件中: clc;

close all; clear all;

L=5;N1=20;N2=60;

xn1=[ones(1,L),zeros(1,N1-L)]; xn2=[ones(1,L),zeros(1,N2-L)]; n1=0:N1-1; n2=0:N2-1;

Xk1=fft(xn1,N1); Xk2=fft(xn2,N2); magXk1=abs(Xk1); magXk2=abs(Xk2); k1=[-N1/2:N1/2];

k2=[-N2/2-10:N2/2+10];

magXk11=abs([Xk1(N1/2+1:N1),Xk1(1:N1/2+1)]);

magXk22=abs([Xk2(N2/2-9:N2),Xk2(1:N2/2+11)]);

subplot(3,2,1);

stem(n1,xn1,'.');title('SQ WAVE:L=5,N=20');

subplot(3,2,2);

stem(n2,xn2,'.');title('SQ WAVE:L=5,N=60');

subplot(3,2,3);

stem(n1,magXk1,'.');xlabel('(a)');

subplot(3,2,4);

stem(n2,magXk2,'.');xlabel('(b)');

subplot(3,2,5);

stem(k1,magXk11,'.');xlabel('(c)');

subplot(3,2,6);

stem(k2,magXk22,'.');xlabel('(d)');

文件编辑后保存,然后单击Debug→Run,运行“exlfft.m”,所示结果如下图所示。

实例2:

实例3:

实例4:

MATLAB程序如下:

五实验报告要求

1、简述实验目的和实验原理;

2、编程实现实验内容,要求附上详细的源程序和清晰的截图;

3、总结实验中的主要结论。

作业三 离散傅里叶变换

题1:求周期序列)()(~

4~

n R n x ,周期分别为N=16 、N=32和N=64时的)(~

k X 。 题2:

题3:

题1: clc;

close all; clear all;

l=4;N1=16;N2=32;N3=64; xn1=[ones(1,l),zeros(1,N1-l)]; xn2=[ones(1,l),zeros(1,N2-l)]; xn3=[ones(1,l),zeros(1,N3-l)]; n1=0:N1-1; n2=0:N2-1; n3=0:N3-1;

xk1=fft(xn1,N1); xk2=fft(xn2,N2); xk3=fft(xn3,N3); magxk1=abs(xk1); magxk2=abs(xk2); magxk3=abs(xk3); k1=[-N1/2:N1/2]; k2=[-N2/2-8:N2/2+8]; k3=[-N3/2-18:N3/2+18];

magxk11=abs([xk1(N1/2+1:N1),xk1(1:N1/2+1)]); magxk22=abs([xk2(N2/2-7:N2),xk2(1:N2/2+9)]); magxk33=abs([xk3(N3/2-17:N3),xk3(1:N3/2+19)]); subplot(3,3,1);

stem(n1,xn1,'.');title('SQ WA VE:l=4,n=16'); subplot(3,3,2);

stem(n2,xn2,'.');title('SQ WA VE:l=4,n=32'); subplot(3,3,3);

stem(n3,xn3,'.');title('SQ WA VE:l=4,n=64'); subplot(3,3,4);

stem(n1,magxk1,'.');xlabel('(a)');

subplot(3,3,5);

stem(n2,magxk2,'.');xlabel('(b)');

subplot(3,3,6);

stem(n3,magxk3,'.');xlabel('(c)');

subplot(3,3,7);

stem(k1,magxk11,'.');xlabel('(d)');

subplot(3,3,8);

stem(k2,magxk22,'.');xlabel('(e)');

subplot(3,3,9);

stem(k3,magxk33,'.');xlabel('(f)');

程序二:

n=[0:1:99];y=2*sin(0.48*pi*n)+cos(0.52*pi*n); subplot(2,1,1);stem(n,y);

title('signal x(n),0<=n<=99');xlabel('n');

axis([0,100,-2.5,2.5]);

Y=fft(y);magY=abs(Y(1:1:51));

k=0:1:50;w=2*pi/100*k;

subplot(2,1,2);stem(w/pi,magY);

title('samples of DTFTM agnitude');

xlabel('frequency in pi units');

Axis([0,1.4,0,100]);

相关文档
最新文档