DSP实现卷积运算与matlab的比较.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP实现卷积运算与matlab的比较

DSP实现卷积运算实验报告 目录 1、摘要………………………………………………………….2 2、关键词……………………………………………………….3 3、实验原理…………………………………………………….3 4、dsp及matlab程序设计思想及流程框图........……………..5 5、实验相关波形结果………………………………………….8 6、实验结果分析及结论……………………………………….10 7、参考文献…………………………………………………….10 8、程序附录…………………………………………………….10 1、摘要: 本实验完成了用TI仪器公司所生产的DSP芯片TMS320F2812进行卷积运算任务,并与MATLAB所计算出的卷积结果进行比较,成功地实现用dsp计算卷积的功能。 Abstract: This experiment fulfills the task of convolution calculation using the TI’s DSP chip of TMS320F2812 . And when compared with the result calculated by MATLAB , it proves to be able to calculate the convolution with DSP successfully! 2、关键词: DSP TMS320F2812 MATLAB FFT 卷积 3、实验原理: a、卷积的基本原理和公式 卷积和:对离散系统“卷积和”也是求线性是不变系统输出响应的(零状态响应)主要方法:即y(n)=h(n)*x(n)= ∑h(m)x(n-m);卷积和的运算在图形表示上可分为四步: 翻折 先在变量坐标M上作出x(m)和h(m),将h(m)以m=0的垂直轴为轴翻折成h(-m)。 移位 将h(-m)移位n,即得h(n-m)。当n为正整数时,右移n位。当n为负整数时,左移n位。 相乘 再将h(n-m)和x(m)的相同m值得对应点相乘。 相加 把以上所有对应点的乘积叠加起来,即可得全部y(n)值。 依上法,取n=…,-2,-1,0,1,2,3,…各值,即可得全部y(n)值。 b、基于FFT的线性卷积计算及MATLAB实现 线性卷积是信号处理中的重要运算,当序列x(n)通过单位脉冲响应为h(n)的线性时不变系统时,输出序列y(n)和h(n)、x(n)之间服从线性卷积关系,即y(n)=h(n)*x(n)、 当h(n)或x(n)序列较长时,直接计算线性卷积的时间会很长,满足不了实时处理的要求,为此希望用FFT计算线性卷积。本程序采用时域循环卷积原理,图2即为用FFT计算时域循环卷积的方框图。虽然线性卷积和循环卷积不同,但是在一定条件下,可以用循环卷积代替线性卷积,就可以按图2用FFT计算线性卷积。 下面来证明一下用循环卷积代替线性卷积的充要条件: 设h(n)长度为N,x(n)长度为M,yc(n)和y(n)分别表示h(n)与x(n)的L点循环卷积和线性卷积,L=max(N,M),有 yc(n)=h(n) * x(n)=∑h(m)x((n-m))LRL(n) (1) y(n)=h(n)*x(n)= ∑h(m)x(n-m) (2) 在式(1)中 x((n-m))L =∑x(n-m+iL) (3) 因此 yc(n)= ∑h(m) ∑x(n-m+iL) RL(n) =∑[∑h(m) x(n-m+iL)] RL(n) (4) 由式(2)及式(4)对比可知,式(4)方括号部分就是iL的线性卷积y(n+iL),所以得到 yc(n)= ∑y(n+iL) RL(n) (5) 式(5)说明,L点循环卷积yc(n)等于线性卷积y(n)以L为周期的周期延拓序列的主值序列。由于y(n)长度为N+M-1,所以只有当L=N+M-1时,式(5)给出的周期延拓无混叠,才能使yc(n)=y(n)。也就是说L=N+M-1是循环卷积结果和线性卷积结果相等的重要条件。只要满足该条件,就可以用图2所示方框图来计算线性卷积。 c、Matlab的程序(完整程序见附录2)实现线性卷积: 相关函数及使用如下: 1)FFT——快速傅里叶变换; Y=fft(x)——信号的FFT; Y=fft(x,N)——对信号x作N点FFT,如果x的长度不为N,则截断x或在x后补零,再进行N点的变换; 2)、IFFT——快速傅里叶反变换,使用同函数fft; 如Y=ifft(x)、Y=ifft(x,N);

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档