- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验3 FFT算法的应用
实验3 FFT算法的应用
一 、实验目的:
加深对离散信号的DFT的理解及其FFT算法的运用。
二 、实验原理:
N点序列的DFT和IDFT变换定义式如下:
,
利用旋转因子具有周期性,可以得到快速算法(FFT)。
在MATLAB中,可以用函数X=fft(x,N)和x=ifft(X,N)计算N点序列的DFT正、反变换。
三、实验内容
1 对连续的单一频率周期信号 按采样频率 采样,截取长度N分别选N =20和N =16,观察其DFT结果的幅度谱。
解 此时离散序列:即k=8。用MATLAB计算并作图,函数fft用于计算离散傅里叶变换DFT,程序如下:
q=8;k1=[0:1:19];
xa1=sin(2*pi*k1/q);
subplot(2,2,1)
plot(k1,xa1)
xlabel(k);ylabel(x1(k));
xm1=fft(xa1);xm1=abs(xm1);
subplot(2,2,2)
stem(k1,xm1)
xlabel(m);ylabel(X1(m));
k2=[0:1:15];
xa2=sin(2*pi*k2/q);
subplot(2,2,3)
plot(k2,xa2)
xlabel(k);ylabel(x2(k));
xm2=fft(xa2);xm2=abs(xm2);
subplot(2,2,4)
stem(k2,xm2)
xlabel(m);ylabel(X2(m));
?????? ??图2.1
计算结果示于图2.1,(a) 和(b)分别是N=20时的截取信号和DFT结果,由于截取了两个半周期,频谱出现泄漏;(c) 和(d) 分别是N=16时的截取信号和DFT结果,由于截取了两个整周期,得到单一谱线的频谱。上述频谱的误差主要是由于时域中对信号的非整周期截断产生的频谱泄漏。
2.教材P130
2-12 利用MATLAB实现由DFT计算有限序列线性卷积,并与线性卷积直接计算的结果进行比较,其中,
程序如下:
x=[1,2,0,1];h=[2,2,1,1];
l=length(x)+length(h)-1;
XE=fft(x,l);HE=fft(h,l);
y1=ifft(XE.*HE);
k=0:l-1;
subplot(2,1,1);
stem(k,real(y1));
axis([0 6 0 7]);
title(线性卷积结果);
xlabel(k);ylabel(A);
y2=conv(x,h);
error=y1-y2;
subplot(2,1,2);
stem(k,abs(error));
xlabel(k);ylabel(A);
title(计算误差);
(d)
(c)
(b)
(a)
1
文档评论(0)