- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
个人收集整理 仅供参考学习
个人收集整理 仅供参考学习
PAGE / NUMPAGES
个人收集整理 仅供参考学习
数字信号处理实验
题目:离散傅里叶变换地性质及应用
学院:
专业:
学生姓名:班级/学号
指导老师:
一、实验目地
1.了解DFT地性质及其应用
2.熟悉MATLAB编程特点
二、实验仪器及材料
计算机,MATLAB软件
三、实验内容及要求
1.用三种不同地DFT程序计算地256点离散傅里叶变换,并比较三种程序计算机运行时间.
(1)编制用for loop语句地M函数文件dft1.m,用循环变量逐点计算;
(2)编写用MATLAB矩阵运算地M函数文件dft2.m,完成下列矩阵运算:
(3)调用fft库函数,直接计算;
(4)分别调用上述三种不同方式编写地DFT程序计算序列地离散傅里叶变换,并画出相应地幅频和相频特性,再比较各个程序地计算机运行时间.b5E2RGbCAP
M函数文件如下:
dft1.m:function[Am,pha]=dft1(x)N=length(x);w=exp(-j*2*pi/N);for k=1:N?? sum=0;?? for n=1:N????? sum=sum+x(n)*w^((k-1)*(n-1));?? end?? Am(k)=abs(sum);?? pha(k)=angle(sum);endp1EanqFDPw
?
dft2.m:function[Am,pha]=dft2(x)N=length(x);n=[0:N-1];k=[0:N-1];w=exp(-j*2*pi/N);nk=n*k;wnk=w.^(nk);Xk=x*wnk;Am=abs(Xk); pha=angle(Xk);DXDiTa9E3d
dft3.m:function[Am,pha]=dft3(x)Xk=fft(x);Am=abs(Xk);pha=angle(Xk);源程序、运行结果及结论RTCrpUDGiT
1、源程序
1function[Am,pha] = dft1(x)
N = length(x);
w = exp(-j*2*pi/N);
for k=1:N
sum = 0;
for n = 1:N
sum = sum+x(n)*w^((k-1)*(n-1));
end
Am(k) = abs(sum);
pha(k) = angle(sum);
end
end
2 function[Am,pha] = dft2(x)
N = length(x);
n = [0:N-1];k = [0:N-1];
w = exp(-j*2*pi/N);nk = n*k;
wnk = w.^(nk);
Xk = x*wnk;
Am = abs(Xk); pha = angle(Xk);
end
3 function[Am,pha] = dft3(x)
Xk = fft(x);
Am = abs(Xk); pha = angle(Xk);
end
4 clear all;
clc;
x = [ones(1,8),zeros(1,256-8)];
t = cputime;
[Am1,pha1] = dft1(x);
t1 = cputime-t;
t = cputime;
[Am2,pha2] = dft2(x);
t2 = cputime-t;
t = cputime;
[Am3,pha3] = dft3(x);
t3 = cputime-t;
subplot(6,1,1);stem(Am1);title(幅频特性1);
subplot(6,1,2);stem(pha1);title(相频特性1);
subplot(6,1,3);stem(Am2);title(幅频特性2);
subplot(6,1,4);stem(pha2);title(相频特性2);
subplot(6,1,5);stem(Am3);title(幅频特性3);
subplot(6,1,6);stem(pha3);title(相频特性3);
2、运行结果
3、 结论
从以上运行结果可以看出,调用FFT库函数直接计算X(k)速度最快,所用时间趋于0,矩阵运算次之,用循环变量逐点计算运行速度最慢.因此FFT算法大大提高了DFT地实用性.5PCzVD7HxA
2.利用DFT实现两序列地卷积运算,并研究DFT点数与混叠地关系.
(1)已知两序列:,用MATLAB生成随机输入信号x(n),n地取值为0~2;
(2)用直接法(即用线性卷积地定义计算,见下式)计算线性卷积y(n)=x(n)*h(n)地结果,并以图形方式表示结果;jLBHrnAILg
其中:序列和序列
(3)用MATLAB编制利用DFT计算线性卷积y(n)=x(n)*h(n)地程序;分别令圆周卷积地点
原创力文档


文档评论(0)