FIR 滤波器的实现.pdfVIP

  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文档。上传文档
查看更多
FIR 滤波器的实现

潘曦 通信工程0102 学 FIR 滤波器的实现 潘曦 通信工程0102 学号 一、 实验目的 (1) 了解FIR 滤波器的原理及使用方法; (2) 了解使用Matlab 语言设计FIR 滤波器的方法; (3) 了解DSP 对FIR 滤波器的设计及编程方法; (4) 熟悉对FIR 滤波器的调试方法; 二、实验原理. FIR 滤波器结构图如下,FIR 滤波器的最主要的特点是没有反馈回路,因此它是无条件 稳定系统。它的单位冲激响应h (n )是一个有限长的序列。如果h (n )是实数,且满足偶 对称或奇对称的条件,即h (n )=h (N -1-n )或h (n )=-h (N -1-n ),则滤波器具有 线性相位特性。线性相位FIR 滤波器是用的最多的FIR 滤波器。 假设FIR 滤波器的冲击响应为h(0) 、h(1) 、..、h(N-1) ,x(n)为滤波器的输入信号,则对 应的滤波器输出由下面关系式决定: ( ) ( )( ) ()( ) ( ) ( ) ( ) ( ( )) y n h 0 x n +h 1 x n −1 +h 2 x n −2 +... +h N −1 x n − N −1 一般只要实现上面的计算关系式就相当于将信号进行了滤波,从上面关系式我们可以看出, 首先必须知道FIR 滤波器的冲击响应系数h(0) 、h(1) 、……、h(N-1) ,将得到的冲击响应系数 应用到DSP 语言程序中,实现上面的计算公式,就可以方便的实现FIR 滤波器,完成要求, 达到滤波效果。 查库函数可知,实现FIR 滤波器,可用“fir ”命令简单实现。fir 函数原型如下: oflag = short fir (DATA *x, DATA *h, DATA *r, DATA **dbuffer, ushort nh, ushort nx) x[nx] 输入数据数组的指针,h[nh]FIR 系数表,r[nx]输出数据数组的指针,dbuffer[nh]延时 缓冲区,nx 输入数据的长度,nh FIR 系数表的长度,返回值溢出为1,否则为0 。 只需先用MATLAB 仿真出一个FIR 滤波器,再将滤波器的系数导出成 16bit-signed 的 格式,再将这组数据导入DSP 程序中,由FIR 滤波器命令“fir ”调用就可以实现相应的FIR 滤波器。 - 1 - 潘曦 通信工程0102 学 三、实验程序及说明 使用MATLAB 中的FDA 设计一个截频为3400hz 的FIR 滤波器,采用Hamming 窗, 阶数为15,如图所示 生成的系数为 103, -192, 375, -482, 138, 1229, -4823, 20080, 20080, -4823, 1229, 138, -482, 375, -192, 103 DSP 程序及说明如下 /*本程序适用于15 阶FIR 滤波器 */ #include std.h #include csl.h #include csl_irq.h #include appMain.h #include dsk5402_dma_ad50.h //******* DMA BUFFERS ***************************************** #define DIM_BUFFER 256 // max 511 #pragma DATA_SECTION(inBuffer, audio_buffer1); // Circular addressing: those sections must be aligned in memory #pragma DATA_SECTION(out

文档评论(0)

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

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

1亿VIP精品文档

相关文档