网站大量收购闲置独家精品文档,联系QQ:2885784924

DSP课设 CSS环境下汇编语言实现FIR低通滤波器.doc

DSP课设 CSS环境下汇编语言实现FIR低通滤波器.doc

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

HUNAN UNIVERSITY FIR滤波器在DSP上仿真实现 学生姓名 陶晶 学生学号 20070820319 专业班级 通信工程三班 指导老师 胡红平 2010 年 12 月 20 日 一、目的 1.学习数字滤波器的DSP 实现原理和C54X 编程技巧; 2.通过CCS 的图形显示工具观察输入/输出信号波形以及频谱的变化。 二、仪器 1.PC一台; 2.Code Composer Studio 软件; 3.MATLAB 软件; 4. C++软件。三、要求 1.设计一个FIR低通滤波器,通带边界频率为100Hz,采样频率为8000Hz。 2.设计一个采样频率Fs为8000Hz,输入信号频率为00Hz和00Hz的合成信号,通过设计的低通滤波器将00Hz信号滤掉,余下00Hz信号。 3.用循环缓冲区和双操作数寻址方法编写实现FIR滤波的程序。 四、原理 * 可以满足滤波器对幅值和相位特性的严格要求,精度高; * 没有电压漂移、温度漂移等问题。基本不受环境影响,稳定性好; * DSP实现的数字滤波器可靠性高,灵活性好。 由于数字滤波器具有上述的优点,使得数字滤波器广泛应用于语音处理、图像处理、模式识别、通信等领域。 FIR滤波器的特点FIR滤波器有如下特点: ① 可以在幅度特性随意设计的同时,保证精确、严格的线性相位特性。 ② FIR滤波器不是递归结构,其单位脉冲响应是有限长的序列,不存在不稳定的问题。 (2) FIR滤波器的设计方法FIR滤波器的设计方法主要有窗函数法和频率采样设计法。窗函数法是基本的设计方法,采用矩形窗,直接简便,但采用矩形窗存在比较大的Gibbis效应,且 矩形窗的第一旁瓣与主瓣衰减了13 dB。在实际应用中,一般采用其他窗函数,比较常用的有:三角窗、巴特利特窗、汉明窗、汉宁窗和布莱克曼窗等。 如果FIR 滤波器的冲激响应为h(0),h(1), ...,h(N-1)。X(n)表示滤波器在n 时刻的输入,则n 时刻的输出为: y(n) = h(0)x(n) + h(1)x(n-1) + ... + h(N-1)x[n-(N-1)] 使用MAC 或FIRS 指令可以方便地实现上面的计算。 图1 说明了使用循环寻址实现FIR 滤波器的方法。为了能正确使用循环寻址,必须先初始化BK,块长为N。同时,数据缓冲区和冲激响应(FIR 滤波器的系数)的开始地址必须是大于N 的2 的最小幂的倍数。例如,N=11,大于N 的最小2 的幂为16,那么数据缓冲区的第一个地址应是16 的倍数,因此循环缓冲区起始地址的最低4 位必须是0。 在图中,滤波系数指针初始化时指向h(N-1),经过一次FIR 滤波计算后,在循环寻址的作用下,仍然指向h(N-1)。而数据缓冲区指针指向的是需要更新的数据,如x(n)。在写入新数据并完成FIR 运算后,该指针指向x(n-(N-1))。所以,使用循环寻址可以方便地完成滤波窗口数据的自动更新。 内容及步骤 1.FIR滤波器的设计 FIR滤波器的设计可以用MATLAB软件的窗函数法进行,这里选择Hamming窗,程序为: b=fir1(9,1200/8000*2) 得到FIR数字滤波器系数b为: b0?=-0.0053b1?=?-0.0028 b2?=?0.0435 b3?=?0.1695 b4?=?0.2951 ?b5?=?0.2951 ?b6?=?0.1695 ??b7?= 0.0435 b8?= -0.0028 b9?=?-0.0053? 在DSP汇编语言中,不能直接输入十进制小数,在MATLAB中进行如下转换: h=round(b*2^15) 将系数转换为Q15的定点小数形式,为: h0?=?-174?h1?= -92 ?h2?=1426 h3?=?5554 h4?=?9670 h5?=9670 ? h6?=?5554 h7?=?1426 ?h8?=-92 h9?=-174 2.产生滤波器输入信号文件 信号是频率为00Hz和00Hz的正弦波合成的波形文件名为firinput.c #include stdio.h #include math.h void main() { ?int i; ?double f[256]; ?FILE *fp; ?if((fp=fopen(firin.inc,wt))==NULL) ?{ ??printf(cant open file! \n); ??return;

文档评论(0)

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

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

1亿VIP精品文档

相关文档