- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四 离散傅里叶变换的性质
一、实验目的
1. 熟悉matlab软件中离散傅里叶变换的实现方法及FFT函数的使用方法;
2. 通过软件仿真,加深对离散傅里叶变换性质的理解。
二、实验内容
1. 验证离散傅里叶变换的线性性质;
2. 掌握用matlab实现圆周移位的方法;
3. 验证圆周卷积与线性卷积的关系。
三、实验步骤
1. 验证线性性质
设两个有限长序列分别为xn1=[3,1,-2,2,3,4],xn2=[1,1,1,1],做4DFT[xn1]+2DFT[xn2],及DFT[4xn1+2xn2]的运算,比较它们的结果。
代码如下:
clear,N=20;n=[0:1:N-1];
xn1=[3,1,-2,2,3,4];n1=0:length(xn1)-1; %定义序列xn1
xn2=[1,1,1,1];n2=0:length(xn2)-1; %定义序列xn2
yn1=4*xn1;yn2=2*xn2;[yn,ny]=seqadd(yn1,n1,yn2,n2); %计算4xn1+2xn2
xk1=fft(xn1,N);xk2=fft(xn2,N); %分别求DFT[xn1] 和DFT[xn2]
yk0=4*xk1+2*xk2; %计算4DFT[xn1]+2DFT[xn2]
yk=fft(yn,N); %计算DFT[4xn1+2xn2]
subplot(2,1,1);stem(n,yk0);title(傅里叶变换之和) %显示4DFT[xn1]+2DFT[xn2]
subplot(2,1,2);stem(n,yk);title(序列和之傅里叶变换) %显示DFT[4xn1+2xn2]
运行结果如图1所示,从图中可知,用两种方法计算的DFT完全相等,所以离散傅里叶变换的线性性质得到验证。
图1 离散傅里叶变换的线性性质
2. 圆周移位
设x=[7,6,5,4,3,2],位于主值区间,现要把x分别圆周右移两位,圆周左移1位,成为新主值区间的向量,以此观察圆周移位的特点。
代码如下:
x=[7,6,5,4,3,2];Nx=length(x);nx=0:Nx-1; % 给出x序列
nx1=-Nx:2*Nx-1;x1=x(mod(nx1,Nx)+1); % 延拓为周期向量x1,注意mod用法
[y1,ny1]=seqshift(x1,nx1,2); % 将x1右移两位,得到y1
[y2,ny2]=seqshift(x1,nx1,-1); % 将x1左移三位,得到y2
RN=(nx1=0)(nx1Nx); % 在x1的位置向量nx1上设置主值窗
RN1=(ny1=0)(ny1Nx); % 在y1的位置向量ny1上设置主值窗
RN2=(ny2=0)(ny2Nx); % 在y2的位置向量ny2上设置主值窗
subplot(6,1,1),stem(nx1,RN.*x1) % 在子图上画出x1的主值
title(主值序列x)
axis([-6,15,0,10])
subplot(6,1,2),stem(nx1,x1) % 画出x1
title(周期序列x1)
axis([-6,15,0,10])
subplot(6,1,3),stem(ny1,y1) % 画出y1
title(移位周期序列y1)
axis([-6,15,0,10])
subplot(6,1,4),stem(ny2,y2) % 画出y2
title(移位周期序列y2)
axis([-6,15,0,10])
subplot(6,1,5),stem(ny1,RN1.*y1) % 画出y1的主值
title(y1的主值序列y)
axis([-6,15,0,10])
subplot(6,1,6),stem(ny2,RN2.*y2) % 画出y2的主值
title(y2的主值序列y)
axis([-6,15,0,10])
运行结果如图2所示。
图2 序列的圆周移位
3. 圆周卷积和与线性卷积和
设x1=[1,2,3,0];x2=[5,4,-3,-2];分别求它们的N点圆周卷积和与线性卷积和,并做比较。
代码如下:
圆周卷积和函数
function y = circonv(x,h,N)
if length(x) N
error(N 必须 = x的长度)
end
% 检查h的长度
if length(h) N
error(N 必须 = h的长度)
end
x=[x,zeros(1,N-length(x))]; % 将x的长度扩展至N
h=[h,zeros(1,N-length(h))]; % 将h的长度扩展至N
m = [0:N-1];
hm = h
文档评论(0)