- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字信号处理实验一57570new.doc
实 验 报 告
课程名称 数字信号处理 实验项目 实验一 用DFT实现长序列卷积并用FFT进行信号普分析
系 别 信息与通信工程__________________
专 业____电子信息工程____________________ 班级/学号__ _______
学生姓名 _____ ____________ 实验日期 _______________________
成 绩 _______________________ 指导教师 ________ _______________
一、实验目的:
1、加深对离散傅立叶变换的理解;
2、熟悉用FFT进行信号的频谱分析;
3、熟悉长序列卷积的实现方法。
二、实验内容:
在实际的应用环境下,可能需要有限时宽的序列和一个时宽不定或长度非常长的序列进行卷积运算,理论上可以将整个波形存储起来,利用快速卷积方法进行处理,于是要求对短序列补充很多零点,从而导致计算量和需要的存储空间无谓的增加。实际上,当两序列长度差距较大时,快速卷积算法的优势并不能体现出来,而且输入数据未收集完之前,不能够计算出一个输出结果,因此整个系统必然存在较大的延时,不能进行实时处理。为了解决这个问题,可以将长序列分段,然后计算响应。根据分段方式不同,可分为重叠相加法和重叠保留法两种。本实验要求用重叠保留法实现长序列的卷积。
重叠保留法通过将长序列x n 按照如下方式分成长度为N长的子段:
即每一子段与前一子段之间有K-1个点重叠。于是,将子段和 进行长度为N的圆周卷积,即
可见,的长度为N点。然而和 线性卷积的长度为N+K-1,因此的前K-1点与线性卷积结果不同,其余的N-K+1点与线性卷积的结果相同。因此,将的前K-1点舍去,即
于是
可见,在重叠保留法中,将原始序列进行有重叠的分段,子段与单位冲激响应之间进行圆周卷积,因此中的前K-1点与线性卷积的结果不等需要舍弃,而保留与线性卷积的结果相同的点。
题目一:
利用一个单位冲激响应序列为h n 的系统,设计实现对长的数据的滤波处理,要求使用重叠保留法通过FFT来实现这种处理,要求各输入数据段重叠p个样点,并从每一段产生的输出中取出m个样点,再连接在一起以得到所要求的输出序列。设计滤波算法程序。试用
各数据段长N 6个样点,验证你的程序,并求出p和m,显示出分段的输入序列各段的内容和分段的输出序列各段的内容,用杆状图绘出线性卷积输出结果和通过FFT重叠保留法的输出结果。
注:
1、在Matlab中,有限长序列可以用行向量表示,如:x [2,1,-1,0,1,4,3,7],向量x的下标从1开始。若想取出向量x中第M个到第N个值构成新的向量,用 x M:N 。
2、当两个序列对应点相乘时,在Matlab中使用“.*”运算符,称“点乘”。
3、Matlab中,补零可以用zeros函数实现,例如:x [x,zeros 1,N ]; 为在原x序列后补N个0;x [zeros 1,M ,x,zeros 1,N ]; 为在原x序列前补M个0,后补N个0。
4、线性卷积函数:conv x,h ;FFT和逆FFT函数:fft x 或fft x,N 、ifft x 或ifft x,N ,N表示N点长FFT或逆FFT。
三、流程图:
四、实验结果:
五、试验心得: 通过这次试验,我加深对离散傅立叶变换的理解,并熟悉了用FFT进行信号的频谱分析,通过自己动手编程熟悉了长序列卷积的实现方法。总之这次试验让我受益良多,不仅熟悉了matlab软件,而且让我对书本上的理论知识有了更深刻的理解。
六、附录:
程序源代码:clc,clear,close all
x [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18];
h [1 0 -2];
h1 [1 0 -2 0 0 0]; %h补零
x0 [0,0,x 1:4 ]; %第一段
x1 x 3:8 ; %第二段
x2 x 7:12 ; %第三段
x3 x 11:16 ; %第四段
x4 [x 15:18 ,0,0]; %第五段
x5 zeros 5,6 ;
y5 zeros 5,6 ;
y0 ifft fft x0,6 .*fft h1,6 ; %每段分别DFT变换
y1 ifft fft x1,6 .*fft h1,6 ;
y2 ifft fft x2,6 .*fft h1,6 ;
y3 ifft fft x3,6 .*fft h1,6 ;
y4 ifft fft x4,6 .*fft h1,6 ;
y [y0 3:6 ,y1 3:6 ,y2 3:6 ,y3 3:6 ,y4 3:6 ]; %将有用的数据拼接
x5 1,: x0;
x5 2,:
文档评论(0)