matlab离散数列dft,数字信号处理实验 matlab版 离散傅里叶变换(DFT).doc

数字信号处理实验 matlab版 离散傅里叶变换(DFT)

实验12 离散傅里叶变换(DFT)

(完美格式版,本人自己完成,所有语句正确,不排除极个别错误,特别适用于山大,勿用冰点等工具下载,否则下载之后的word格式会让很多部分格式错误,谢谢)

XXXX学号姓名处XXXX

一、实验目的

(1)加深对离散傅里叶变换(DFT)基本概念的理解。

(2)了解有限长序列傅里叶变换(DFT)与周期序列傅里叶级数(DFS)、离散时间傅里叶变换(DTFT)的联系。

(3)掌握用MATLAB语言进行离散傅里叶变换和逆变换的方法。

二、实验内容

1.有限长序列的傅里叶变换(DFT)和逆变换(IDFT)

2.有限长序列DFT与周期序列DFS的联系

3.有限长序列DFT与离散时间傅里叶变换DTFT的联系

三、实验环境

MATLAB7.0

四、实验原理

1.有限长序列的傅里叶变换(DFT)和逆变换(IDFT)

在实际中常常使用有限长序列。如果有限长序列信号为x(n),则该序列的离散傅里叶变换对可以表示为

(12-1)

(12-2)

从离散傅里叶变换定义式可以看出,有限长序列在时域上是离散的,在频域上也是离散的。式中,即仅在单位圆上N个等间距的点上取值,这为使用计算机进行处理带来了方便。

由有限长序列的傅里叶变换和逆变换定义可知,DFT和DFS的公式非常相似,因此在程序编写上也基本一致。

例12-1 已知x(n)=[0,1,2,3,4,5,6,7],求x(n)的DFT和IDFT。要求:

(1)画出序列傅里叶变换对应的|X(k)|和arg[X(k)]图形。

(2)画出原信号与傅里叶逆变换IDFT[X(k)]图形进行比较。

解 MATLAB程序如下:

>> xn=[0,1,2,3,4,5,6,7]; %建立信号序列

>> N=length(xn);

>> n=0:(N-1);k=0:(N-1);

>> Xk=xn*exp(-j*2*pi/N).^(n'*k);%离散傅里叶变换

>> x=(Xk*exp(j*2*pi/N).^(n'*k))/N;%%离散傅里叶逆变换

>> subplot(2,2,1),stem(n,xn);%显示原信号序列

>> title('x(n)');

>> subplot(2,2,2),stem(n,abs(x));%显示逆变换结果

>> title('IDFT|X(k)|');

>> subplot(2,2,3),stem(k,abs(Xk));%显示|X(k)|

>> title('|X(k)|');

>> subplot(2,2,4),stem(k,angle(Xk));%显示arg|X(k)|

>> title('arg|X(k)|');

运行结果如图12-1所示。

图12-1 例12-1有限长序列的傅里叶变换和逆变换结果

从得到的结果可见,与周期序列不同的是,有限长序列本身是仅有N点的离散序列,相当于周期序列的主值部分。因此,其频谱也对应序列的主值部分,是含N点的离散序列。

2.有限长序列DFT与周期序列DFS的联系

将周期序列的傅里叶级数变换对(式(11-1)和式(11-2))与有限长序列离散傅里叶变换对(式(12-1)和式(12-2))进行比较,可以看出两者的区别仅仅是将周期序列换成了有限长序列。

例12-2 已知周期序列的主值x(n)=[0,1,2,3,4,5,6,7],求x(n)周期重复次数为4次时的DFS。要求:

(1)画出原主值和信号周期序列信号。

(2)画出序列傅里叶变换对应的和的图形。

解 MATLAB程序如下:

>> xn=[0,1,2,3,4,5,6,7];

>> N=length(xn);

>> n=0:4*N-1;k=0:4*N-1;

>> xn1=xn(mod(n,N)+1); %即xn1=[xn,xn,xn,xn]

>> Xk=xn1*exp(-j*2*pi/N).^(n'*k); %离散傅里叶变换

>> subplot(2,2,1),stem(xn); %显示序列主值

>> title('原主值信号x(n)');

>> subplot(2,2,2),stem(n,xn1); %显示周期序列

>> title('周期序列信号');

>> subplot(2,2,3),stem(k,abs(Xk)); %显示序列的幅度谱

>> title('|X(k)|');

>> subplot(2,2,4),stem(k,angle(Xk)); %显示序列的相位谱

>> title('arg|X(k)|');

运行结果如图12-2所示。

图12-2 例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值