DSP实时滤波器_第1页
DSP实时滤波器_第2页
DSP实时滤波器_第3页
DSP实时滤波器_第4页
DSP实时滤波器_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、 摘要在信号处理中,滤波占有十分重要的地位。数字滤波是数字信号处理的基本方法。数字滤波与模拟滤波相比有很多优点。它除了可避免模拟滤波器固有的电压漂移、温度漂移和噪声等问题外,还能满足滤波器对幅度和相位的严格要求DSP芯片实现数字滤波具有稳定性好、精确度高、不受环境影响等优点。数字滤波器分为有限冲激响应滤波器FIR和无限冲激响应滤波器IIR,由于FIR是全零点的滤波器,因而系统总是稳定的。这对于系统综合是很重要的。本实验采用TI公司的TMS320C5409型号的DSP芯片实现具有线性相位的FIR低通数字滤波。2、 利用Matlab获取滤波器系设h(n)(n=0,1,2,N一1)为滤波器的冲激

2、响应,输入信号为x(n),则FIR滤波器就是要实现下列差分方程:上式就是FIR滤波器的差分方程。FIR滤波器的最主要的特点是没有反馈回路,因此它是无条件稳定系统。它的单位脉冲响应h(n)是一个有限长序列。由上面的方程可见,FIR滤波箅法实际上足一种乘法累加运算,它不断地输入样本x(n),经延时做乘法累加,再输出滤波结果y(n)。FIR滤波器的一个分支的延时线,把每一节的输出加权累加,得到滤波器的输出。结构如图1所示,它由一条均匀间隔的延迟线上对抽失信号进行加权求和构成。x(n)h(0)h(1)h(2)h(N-1)y(n) FIR滤波器的直接型结构图本实验用MATLAB的fdatool功能实现滤

3、波器设计。具体方法如下:(1) 输入fdatool,弹出滤波器设计窗口。输入设计指标,令采样频率为20000Hz,开始衰减的频率为2500Hz截止频率为4600Hz,衰减为50db,软件自动完成设计。(2)点击File>Export,选择参数,导出滤波器系数,再由导出的参数乘32768后取整数部分转换为十六进制数,即为设计的十六进制系数。设计的系数如下:0.0042058395684075245 0089H-0.0075151837349766307 -00F5H-0.035418063175322867 -0487H-0.059588974025311756 -079DH-0.0359

4、94625237031161 -0498H 0.062526635535184144 0800H 0.20563298596047033 1A51H 0.31249419559483949 27FCH 0.31249419559483949 27FCH 0.20563298596047033 1A51H 0.062526635535184144 0800H-0.035994625237031161 -0498H-0.059588974025311756 -079DH-0.035418063175322867 -0487H-0.0075151837349766307 -00F5H 0.00420

5、58395684075245 0089H得出的结果是一个16阶的FIR低通滤波器。3、 滤波器系数验证滤波器的系数验证及软件仿真选用MATLAB的sptool功能实现。Sptool是MATLAB信号处理工具箱中自带的交互式图形用户界面工具,它包含了信号处理箱中的大部分函数,可以方便快捷地自动完成对信号、滤波器及频谱的分析、设计和浏览。本实验中具体步骤如下:(1)在MATLAB命令窗口中输入以下命令,生成混频信号,信号中包含了低频500Hz和高频8000Hz。 Fs=20000; t=(1:100)/Fs; in=sin(2*pi*t*500)+sin(2*pi*t*8000);(2)在命令窗口

6、中输入sptool,进入仿真界面,在File>Import中导入输入信号in,采样频率Fs,命名sig1,在Filter下的选项中选择New新建滤波器,方法与二相同,点击Apply,生成输出信号,命名为output。、(3)在Signals的View下观察输入、输出的时域波形 输入时域波形 输出时域波形(4) 在Spectra下点击creat,选择FFT方式,Apply生成频域波形 输入信号频谱 输出信号频谱由仿真可看出,滤波器使信号中500Hz的低频分量通过,抑制了8000Hz的高频分量,实现了低通滤波,滤波器设计正确。4、 DSP实时滤波器代码合成过程程序设计的总体思路是:启动AD模

7、块对输入的模拟信号进行模数转换,每采集到一个数据就送人DSP滤波运算,运算结果送DAC转换为模拟量。不断地重复上述过程,在DAC7625的输出端就得到滤波后的模拟信号。为了精确地控制ADS7864的采样率,使用DSP内部的定时器控制采样时间间隔T,设置定时器的定时时间等于采样时间间隔T,并让它工作在中断方式,则定时器每过T时间就向CPU发出中断请求,CPU响应中断请求,转去执行中断服务程序,在中断服务程序中读取A/D转换结果,对转换结果进行滤波运算,并将运算结果送D/A转换器转换为模拟量。因此,程序分为A/D转换、定时器中断、中断服务程序、D/A转换等几个模块。5、 实时滤波器软件流程和硬件组

8、成框图及核心代码陈述中断服务程序开始读取A/D转换结果启动A/D转换进行滤波运算转换结果有效?运算结果送D/A转换器返回主程序YN主程序开始等待定时中断堆栈设置 寄存器设置启动A/D转换定时器初始化开中断 1、定时器初始化代码如下,设置中断频率prd为00C7h即十进制199,tcr为082Eh即令TDDR第四位为14,十进制为15,由中断周期计算公式公式TINT频率=算出,其中为时钟周期,DSP中的时钟频率为60MHz,由此算的采样频率Fs=20000Hz。 stm #0010h,tcr ;TSS置1,便于接下来的设置 stm #00C7h,prd ;置位prd以设置中断频率,十进制为199

9、 stm #082Eh,tcr ;tcr初始化,令TDDR的低四位为14,10进制为152、中断服务程序如下,每处理一个数据调用一次jump子程序,由a逐次-1计数。 jump: SUB #1h,arsbx xfrpt #5nopportr 07fffh,*ar2 rpt #5nopssbx xfnopportr 0ffffh,*ar5nopnopstl a,*ar5;暂存累加器A的值nop nopcall filter_startnop nopld *ar5,anopnopportw *ar2,0bfffhnopnopRete(2)滤波程序如下,由A/D转换来的数据存在寄存器ar2中,经公式

10、处理后生成滤波后的数据存放在寄存器ar3中,送到D/A转换。filter_start: LD *ar2,A nop nop nop nop SFTA A,6 nop nop nop nop stlA,*ar3 nop nop nop nop RPT #K_A-1-1 MAR *ar3-0% MPY *ar3+0%,#f15,B LD B,A MPY *ar3+0%,#f14,B ADD B,A MPY *ar3+0%,#f13,B ADD B,A MPY *ar3+0%,#f12,B ADD B,A MPY *ar3+0%,#f11,B ADD B,A MPY *ar3+0%,#f10,B A

11、DD B,A MPY *ar3+0%,#f9,B ADD B,A MPY *ar3+0%,#f8,B ADD B,A MPY *ar3+0%,#f7,B ADD B,A MPY *ar3+0%,#f6,B ADD B,A MPY *ar3+0%,#f5,B ADD B,A MPY *ar3+0%,#f4,B ADD B,A MPY *ar3+0%,#f3,B ADD B,A MPY *ar3+0%,#f2,B ADD B,A MPY *ar3+0%,#f1,B ADD B,A MPY *ar3+0%,#f0,B ADD B,A SFTA A,-4 STH A,*ar2 NOPfilter_en

12、d: RET6、 实时滤波器结果展示 低频输入输出波形 高频输入输出波形示波器通道一接A/D输入端,通道2接D/A输出端,由信号发生器在输入端输入正弦信号,改变输入频率观察实际滤波结果。实际滤波结果如下:开始衰减频率:2.2kHz截至衰减频率:3.8kHz结果显示2.2kHz之前信号几乎无衰减,3.8kHz之后信号基本衰减到0,故实际过渡带为2.2kHz3.8kHz。 用软件方法从CCS上查看滤波程序运行后的结果,方法为点击ViewGraphTime/Frequency,按图12所示填入相应参数,看频域图要把Display type选择为FFT Magnitude。输入信号和滤波后输出信号的时域图和频域图如图13所示。 观测信号波形的属性设置7、 误差分析设计的滤波器开始到截止的波段为2.5kHz4.6kHz,实际开始衰减的频率为2.2kHz偏低;实际截止频率为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论