F28335基于MATLAB低通滤波器实现.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DSP28335基于MATLAB-FIR低通滤波器的实现任务目标:滤波器的截止频率为500HZ,采样频率为128000HZ,采样的点数为256,滤波器的阶数为32,输入信号如下:Sample[i]=511*(sin(2*pi*5*i/(a-1))+sin(2*pi*i*5*3/(a-1))/3+sin(2*pi*i*5*5/(a-1))/5)+512实现过程:由MAtlab的FDATOOL计算出滤波器的阶数,再由DSP程序进行卷积运算,最后由CCSV5的Graph功能进行输入前后的波形分析。FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件, 它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。 因此,FIR 滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。算法原理:离散信号序列通过一个离散滤波系统,得到离散输出信号,如果滤波系统的单位脉冲响应为 h(n),信号序列为 x(n),输出信号为 y(n),则使用运算关系式表达他们之间的关系如下:5.MATLAB---FDATOOL参数设置:然后在FILE-EXPORT-ASCII输出文件打开就有滤波器系数了。6.各种情况下输出的波形图图一:matlab滤波器截止频率Fc设置为5000HZ得到的波形图二:程序自带滤波器参数得到的波形图三:截止频率设置为2000HZ得到的输出波形图四:Fc=1200HZ时的波形图五:Fc=600HZ时的波形图六:FC=2700HZ图七:FC=6000H图八:FC=3500HzFC=4000hzFC=4500HZ卷积算法如下:void LinearConvolution(Uint16 xn,Uint16 hn,float *x,float *h,float *y) { Uint16 i,j,k,l; Uint16 yn;//输出序列y的长度 yn=xn+hn-1; for(i=0;iyn;i++) y[i]=0; //输出数组初始化 k=yn-1; for(i=hn-1;i0;i--)//将*h作为被乘数 { l=k; for(j=xn-1;j0;j--) //数组x[n]的1~(xn-1)与h[i]逐一相乘 { y[l]+=h[i]*x[j]; l--;} y[l]+=x[0]*h[i]; k--;}l=k; for(j=xn-1;j0;j--){ y[l]+=h[0]*x[j]; l--; }y[l]+=x[0]*h[0];} void main(void){ Uint16 i; InitSysCtrl(); InitPieCtrl(); IER = 0x0000; IFR = 0x0000; for(i=0;ia;i++) //产生一个a点的三次谐波叠加而成的方波 { Sample[i]=511*(sin(2*pi*5*i/(a-1))+sin(2*pi*i*5*3/(a-1))/3+sin(2*pi*i*5*5/(a-1))/5)+512;//三个正弦波由5个15个25个包含在256个点的时间中 // DELAY_US(10);+sin(2*pi*i*5*5/(a-1)) +sin(2*pi*i*5*3/(a-1))/4 sin(2*pi*5*i/(a-1))/100+} LinearConvolution(a,b,Sample,h,y1);//线性卷积 while(1) { // sample=sin(2*pi*5*n/(N-1))+sin(2*pi*15*n/(N-1))/3+sin(2*pi*25*n/(N-1))/5; /* dly[0]=sample; yn=0; for(i=0;iN;i++) yn+=h[i]*dly[i]; for(i=N-1;i0;i--) dly[i]=dly[i-1]; output[n]=yn; if(n==(N-1)) n=0; else n++;*/}}

文档评论(0)

nnh91 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档