2011年DSP作业FIR滤波器在DSP上的实现.doc_第1页
2011年DSP作业FIR滤波器在DSP上的实现.doc_第2页
2011年DSP作业FIR滤波器在DSP上的实现.doc_第3页
2011年DSP作业FIR滤波器在DSP上的实现.doc_第4页
2011年DSP作业FIR滤波器在DSP上的实现.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

2011年DSP作业FIR滤波器在DSP上的实现专业:信息与通信系统 1. 引言在信号处理中,滤波占有十分重要的地位。数字滤波是数字信号处理的基本方法。数字滤波与模拟滤波相比有很多优点。它除了可避免模拟滤波器固有的电压漂移、温度漂移和噪声等问题外,还能满足滤波器对幅度和相位的严格要求。数字滤波是语音处理、图像处理、频谱分析等应用中的基本处理算法。DSP是一种处理数字信号的专用微处理器,主要应用于实时快速地实现各种信号的数字处理算法。用DSP芯片实现数字滤波具有稳定性好、精确度高、不受环境影响等优点。数字滤波器分为有限冲激响应滤波器FIR和无限冲激响应滤波器IIR。对称FIR滤波器在数字信号处理中应用十分广泛,常用于相位失真要求较高的场合,例如:(1)通信系统:调制解调器、综合业务数据网等,都要求保证数据脉冲的形状和通道中的相关时间。f2)希尔伯特变换器:要求输入输出信号正交。(3)高保真音响系统:音乐的相位失真必须减到最小,尽可能逼真地重现原来的声音等等。由于FIR是全零点的滤波器,因而系统总是稳定的。这对于系统综合是很重要的。2. FIR滤波器的基本结构设h(n)(n=0,1,2,N一1)为滤波器的冲激响应,输入信号为x(n),则FIR滤波器就是要实现下列差分方程: (1)式(1)就是FIR滤波器的差分方程。FIR滤波器的最主要的特点是没有反馈回路,因此它是无条件稳定系统。它的单位脉冲响应h(n)是一个有限长序列。由上面的方程可见,FIR滤波箅法实际上足一种乘法累加运算,它不断地输入样本x(n),经延时做乘法累加,再输出滤波结果y(n)。FIR滤波器的一个分支的延时线,把每一节的输出加权累加,得到滤波器的输出。结构如图1所示,它由一条均匀间隔的延迟线上对抽失信号进行加权求和构成。x(n)h(0)h(1)h(2)h(N-1)y(n) 图1 FIR滤波器的直接型结构图3. 利用MATLAB确定FIR低通滤波器的系数设计一个线性相位FIR低通滤波器,技术指标:62阶的低通滤波器,采用汉明窗,通带截止频率fp=2000Hz,阻带起始频率fs=3000 Hz,通带允许的最大衰减为Rp=0.25 dB,阻带应达到的最小衰减为As=50dB。滤波器的采样频率为fsample=9000Hz。这里采用窗函数设计法设计FIR滤波器,首先根据阻带衰减As=50dB来选择窗形状,汉明窗和布拉克曼窗等窗函数均可提供大于50dB的衰减。由于汉明窗可提供较小的过渡带宽,所以选择汉明窗。然后编写MATLAB程序,求出技术指标中fp、fs相对应的数字频率,求出过渡带宽,由过渡带宽确定窗口长度N,求出低通滤波器的截止频率,由firl函数求出滤波器的系数。这部分MATLAB程序如下:n=62fsample=9000;fp=2000;fs=3000;w=hamming(n+1);wp=fp/(fsample/2)ws=fs/(fsample/2)h=fir1(n,wp,low,w);m=0:n;figure(1)subplot(2,1,1);plot(m,w);grid;axis(0 n 0 1.1*max(w);ylabel(w(n);xlabel(n);subplot(2,1,2);plot(m,h);grid;axis(0 n 1.1*min(h) 1.18*max(h);ylabel(h(n);xlabel(n);figure(2)freqz(h)xlabel(omega/pi);ylabel(|H(ejomega)|/dB)subplot(2,1,2)xlabel(omega/pi);ylabel(theta(omega)/(o)h=h 0; % 将滤波器的系数输出到firwindow.txt中,以便使用b=round(h*(215-1);fid=fopen(fir1window.txt,w);for i=1:8 fprintf(fid,rt%st,.word); for j=(i-1)*8+1:(i-1)*8+7 fprintf(fid,%6.0f,b(j); end fprintf(fid,%6.0f,b(i-1)*8+8);endfclose(fid);运行后得到:n=62,wp = 0.4444,ws =0.6667。图上图是窗函数参数,下图是滤波器的参数图上图是低通滤波器相对幅值相应,下图是相位相应由上图可以看出所设计的滤波器满足要求。4. DSP实现FIR滤波器4.1 主程序firw.asm .mmregsin_buffer .usect in_buf,64 ;输入数据缓冲区input .usect in_dat,100;输入数据区output .usect out_dat,100;输出数据区 .def start .datacoeff: ;滤波器系数区 .word -17, -25, 11, 37, -0, -55, -23, 72 .word 65, -79, -128, 60, 206, -0, -285, -115 .word 340, 292, -338, -527, 241, 806, -0, -1102 .word-454, 1383, 1265, -1616, -2951, 1769, 10260, 14581 .word10260, 1769, -2951, -1616, 1265, 1383, -454, -1102 .word-0, 806, 241, -527, -338, 292, 340, -115 .word -285, -0, 206, 60, -128, -79, 65, 72 .word -23, -55, -0, 37, 11, -25, -17, 0 .textstart: ;程序运行开始 SSBX FRCT ;小数操作 STM #100,BK;设置循环缓冲区长度为100 STM #in_buffer,AR3;缓冲区放在AR3中 STM #input,AR2;将输入数据放入辅助寄存器AR2中 MVDD *AR2+,*AR3;待滤波器数据开始进入循环缓冲区首位 STM #output,AR5;将输出数据首位放在寄存器AR5中 STM #in_buffer+63,AR1;缓冲区的最高位放入AR1FIR: ;FIR滤波程序 RPTZ A,#63;将累加器A设置为63MACD *AR1-,coeff,A ; AR1中的数据和系数相乘后的结果在和中的数据相加后结果放入A中,AR1地址减一 STH A,*AR5+%;将累加器中的数据放入寄存器AR5 STM #in_buffer,AR3;再将缓冲区地址放入AR3 MVDD *AR2,*AR3;将寄存器AR2中的内容复制到AR3中 MAR *AR2+% STM #in_buffer+63,AR1将立即数放到AR1 B FIR;无条件分支转移到FIR,循环运行 4.2 命令文件源代码firw.cmd-e startMEMORYPAGE 0: eprom: org=02000h,len=1000h PAGE 1: spram: org=0100h,len=0104h dpram: org=0300h,len=0064hSECTIONS .data :eprom PAGE 0 .text :eprom PAGE 0 in_dat :spram PAGE 1 in_buf :spram PAGE 1;输入数据分配到0100h为起始地址的单元中out_dat :dpram PAGE 1;输出数据分配到0300h为起始地址的单元中4.3 实验步骤及运行结果分析.编写MATLAB程序及滤波器的汇编程序以及命令代码2. 新建firw工程3.新建firw.asm文件并加入到工程中4.新建firw.cmd文件并加入到工程中5.进行编译链接6.加载firw.out文件7.用执行文件SINEGEN.EXE产生单音数据,其中有500hz,1000hz,2000hz,3000hz的一些正弦波数据文件8.加载单音数据到数据区0x1000x163中,打开filedataload ,填写地址和长度9.打开view下的graph,观察输入数据及输出数据的时域及幅频图。下面是实验的一些结果及结果分析在下面的每张图上都有四张子图,其中最上面的两张对应的输入数据的时域及频域波形,下面的两张图对应的是滤波器输出数据的时域及频域图。图4,5,6分别对应的是是频率为500hz ,2000hz,3000hz时的结果,可以看到当频率小于2000hz,可以通过所设计的低通滤波器;当频率高于3000hz时,输入波形不能通过低通滤波器。图4 500hz图5hz图6 3000hz5. 结束语在上面的汇编语言程序中,FIR滤波器采用的是直接型结

温馨提示

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

评论

0/150

提交评论