基于DSP的数字滤波系统设计(综合实验)(汇编语言)

基于DSP的数字滤波系统设计(综合实验)(汇编语言)

ID:41689740

大小:87.17 KB

页数:5页

时间:2019-08-30

基于DSP的数字滤波系统设计(综合实验)(汇编语言)_第1页
基于DSP的数字滤波系统设计(综合实验)(汇编语言)_第2页
基于DSP的数字滤波系统设计(综合实验)(汇编语言)_第3页
基于DSP的数字滤波系统设计(综合实验)(汇编语言)_第4页
基于DSP的数字滤波系统设计(综合实验)(汇编语言)_第5页
资源描述:

《基于DSP的数字滤波系统设计(综合实验)(汇编语言)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、数字滤波系统设计(综合实验)—、实验目的1.学习数字滤波器的DSP实现原理和C54x的编程技巧;2.通过CCS图形显示工具观察输入/输出信号波形以及频谱变化;二、实验原理数字滤波的作用是滤除信号屮某一•部分频率分最。信号经过滤波处理,就相当于信号频谱与滤波器的频率响应相乘的结果。从时域來看,就是输入信号与滤波器的冲激响应作卷积和。数字滤波器在各种领域由广泛的应用,例如数字音响、音乐和语音合成、躁声消除、数据压缩、频率合成、谐波消除、过载检测、相关检测等。1.FIR滤波器的实现如果FIR滤波器的冲激响应为h(0),h(l),h(N-l)0X(n)表示

2、滤波器在n时刻的输入,则n时刻的输出为:y(n)=h(O)x(n)+h(1)x(n-1)+...+h(N-l)x[n-(N-l)]使用MAC或FIRS指令可以方便地实现上而的计算。图10」说明了使用循环寻址实现FIR滤波器的方法。为了能正确使用循环寻址,必须先初始化BK,块长为N。同时,数据缓冲区和冲激响应(FIR滤波器的系数)的开始地址必须是大于N的2的授小幕的倍数。例如,N=ll,大于N的授小2的幕为16,那么数据缓冲区的第一个地址应是16的倍数,因此循环缓冲区起始地址的最低4位必须是0。在图1()」屮,滤波系数指针初始化吋指向h(N-l),经

3、过一次FIR滤波计算后,在循环寻址的作用下,仍然指向h(N-l)0而数据缓冲区指针指向的是需婆更新的数据,如x(n)。在写入新数据并完成FIR运算后,该指针指向x(n-(N-l))o所以,使用循环寻址可以方便地完成滤波窗口数据的H动更新.使用带MAC指令的循坏寻址模式实现FIR滤波器,程序片段如下:(输入数据在AL中,滤波结果在AH中)STM#l,AR0;AR()=1STM#N,BK;BK二N,循环寻址BUFFER大小为NSTLA,*FIR_DATA_P+%;更新滤波窗口中的采样数据RPTZA,#(N-1);重复MAC指令N次,先将A清零MAC*F

4、1R_DATA_P+0%,*FIR_COFF_P+0%,A:完成滤波计算。注意FIR滤波系数存放在:数据存储区LowaddressHighaddressInitialinputsamplesOldestinputNewestinputFinalinputsamplesCircularqueue图10.1FIR数字滤波器存储器数据存储方式2.AC01的初始化DSE3200使用AC01作为模拟信号接口。AC01提供一个14bit的D/A和一个14bit的A/D通道。AC01与VC5402通过串口0连接。DSP通过串口可以控制AC01的采样频率、增益、低

5、通/髙通滤波器的截止频率等参数。这一步是通过读写AC01的寄存器来实现的。下面是初始化AC01的代码,冇关AC01的详细介绍请参考AC01的技术手册。eeee1*IBIBJAdddd•11•n•n•11;ThefollowingcodesareinitalizedAC01,ALLAC01setupsame!;resettwoAC01bysoftware!Id#600h,aidle1;waitforint••…Id#3,aidle1;send#3Id#00105h,a;fs=10M/2/A/B=25k;flp=10M/2/40/A=25k(allpa

6、ss);fhp=fs/200=125Hz(notuse!);A=05,B二40(0x28)idle1Id#3,a;send1thregs->05hidle1Id#00228h,a;send#3idle1Id#3,a;send2thregs->28hidle1Id#00300h,a;send#3idle1Id#3,a;send3thregs->OOhidle1Id#00405h,a;send#3idle1Id#3,a;send4thregs->05h(AD&DAOdB)idle1Id#00505h,a;send#3idle1Id#3,a;send5t

7、hregs->05h(highpassfilterdisable)idle1Id#00600h,a;send#3idle1Id#3,a;send6thregs->OOhidle1Id#00700h,a;send#3idle1Id#3,a;send7thregs->0idle1Id#800h,a;send#3idle1Id#0h,a;send8thregs->03.lKHz方波信号的产生利用AC01的D/A通道产生一个lKHz的方波,作为FIR滤波器的输入信号。由于串口发送中断将每0.04ms(25KHz)产生一次,所以我们将一个周期的方波信号分25

8、次送出,这样经D/A变化后便可得到lKHz的方波。产生方波的数据参见如下:■^7*^T*^7*^tw^7*^a*^T*;T

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。