实验三 离散傅里叶变换

2018-11-18 21:37

实验三 离散傅里叶变换

一 实验目的

1、理解和加深DFS和DFT的概念及其性质; 2、学习利用离散傅里叶变换分析信号的频谱。

二 实验设备

1、计算机

2、MATLAB R2007a仿真软件

三 实验原理

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

四 实验内容

1、上机实验前,认真阅读实验原理,掌握DFS和DFT的基本概念; 2、掌握离散傅里叶变换分析信号频谱的MATLAB实现方法。

实例1:求周期序列x(n)?R(n),周期分别为N=20 和N=60时的X(k)。

5将下列指令编辑到“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程序如下:


实验三 离散傅里叶变换.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:大学生成长成才与推动高校马克思主义大众化关系论析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: