有限冲激响应滤波器FIR算法硬件实现

上传人:z****2 文档编号:227864617 上传时间:2023-08-16 格式:DOCX 页数:17 大小:501.66KB
返回 下载 相关 举报
有限冲激响应滤波器FIR算法硬件实现_第1页
第1页 / 共17页
有限冲激响应滤波器FIR算法硬件实现_第2页
第2页 / 共17页
有限冲激响应滤波器FIR算法硬件实现_第3页
第3页 / 共17页
点击查看更多>>
资源描述
有限冲激响应滤波器FIR算法硬件实现一,摘要:通过掌握 A/D 转换的基本过程和程序处理过程,有限冲 激响应数字滤波器的基础理论,模拟滤波器原理巴特沃斯滤波器、 切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器),数字滤波器系数 的确定方法,设计低通FIR滤波器熟悉FIR滤波器及其参数的调整, 通过对采样值进行计算产生混频波形,滤波器参数确定之后便可编 写程序,利用CCS软件进行仿真。二,引言:有限冲击响应滤波器FIR算法窗函数法设计FIR数字滤 波器的原理及方法,设计低通FIR滤波器。通过掌握A/D转换程序 处理,对采样值进行计算产生混频波形,对 FIR 滤波器参数调整。 用 Code Composer Studio 2.21 进行仿真。三,原理:1对单位冲激的输入信号的响应为有限长序列的数字滤 波器。它的主要特点是具有精确线性相位特性。有限冲激响应数字 滤波器一般实现为非递归型结构,因此,又称为非递归型数字滤波器。 非递归型滤波器具有绝对稳定的特性,而且,运算有限字长所产生 的输出噪声也较小。按所处理信号的类型可分为一维有限冲激响应 数字滤波器和二维或多维有限冲激响应数字滤波器。一维有限冲激 响应数字滤波器 又称一维非递归型数字滤波器,处理单变量信 号序列。设计一维有限冲激响应数字滤波器常用的方法有:窗函 数法、频率采样法和等波纹机助优化设计法。 设计有限冲激响应数字滤波器最直接的方法就是把无限冲激响应序 列截短,得到有限长度的冲激响应。设所要求的理想频率响应为Hd(,其单位冲激响应Hd(n为Hd(的傅里叶反变换。Hd(n是非因 果无限长序列。为使得所设计的数字滤波器的有限冲激响应h(n逼 近hd(n,采用对hd(n加窗的方法,即令h(n=h (nw(nd式中w(n为有限长度窗序列。由褶积定理可求得所设计的滤波 器的频率响应。根据要求设计低通FIR滤波器要求:通带边缘频率10kHz,阻带边缘频率22kHz,阻带衰减 75dB,采样频率50kHz。设计:-过渡带宽度二阻带边缘频率-通带边缘频率=22T0=12kHz -采样频率:f1=通带边缘频率+(过渡带宽度/2=10000+12000/2=16kHz Q 1=2 n f1/fs=0.64 n-理想低通滤波器脉冲响应:h1n二sin(nQ 1/n/ n =sin(0.64 n n/n/ n -根据要求,选择布莱克曼窗,窗函数长度为:N=5.98fs/过渡带宽度=5.98*50/12=24.9-选择N=25,窗函数为:wn=0.42+0.5cos(2 n n/24+0.8cos(4 n n/24 -滤波器脉冲响应为:hn=h1nwn|n|W12hn=0|n|12-根据上面计算,各式计算出hn,然后将脉冲响应值移位 为因果序列。-完成的滤波器的差分方程为: yn=-0.001xn-2-0.002xn-3-0.002xn-4+0.01xn-5-0.009xn-6-0.018xn-7-0.049xn-8-0.02xn-9+0.11xnT0+0.28xn-ll+0.64xnT2+0.28xnT3-0.11xn-14-0.02xnT5+0.049xnT60.018xnT70.009xn18+0.01xn-19-0.002xn-20-0.002xn-21+0.001xn-22程序流程图川!小推C的tin陆 数和C咔陲数计算r返冋计算结果2. 模数转换工作过程-模数转换模块接到启动转换信号后,按照设置进行相应通道的数据采样转换。-经过一个采样时间的延迟后,将采样结果放入AD数据寄存器中保存。等待下一个启动信号。3. 模数转换的程序控制模数转换相对于计算机来说是一个较为缓慢的过程。一般采 用中断方式启动转换或保存结果,这样在CPU忙于其他工作时 可以少占用处理时间。设计转换程序应首先考虑处理过程如何 与模数转换的时间相匹配,根据实际需要选择适当的触发转换 的手段,也要能及时地保存结果。4. 混频波形产生将接收到的两路AD米集信号进彳丁相加,并对结果的幅度进彳丁 限制,从而产生混合后的输出波形。实验中采用了同相位混频 方法,也可修改程序完成异相混频法。5. FIR滤波器工作原理在进入FIR滤波器前,首先要将信号通过A/D器件进行模数转 换,使之成为8bit的数字信号,一般可用速度较高的逐次逼进式A /D转换器,不论采用乘累加方法还是分布式算法设计FIR滤波器, 滤波器输出的数据都是一串序列,要使它能直观地反应出来,还需 经过数模转换,因此由FPGA构成的FIR滤波器的输出须外接D/A 模块。FPGA有着规整的内部逻辑阵列和丰富的连线资源,特别适合 于数字信号处理任务,相对于串行运算为主导的通用DSP芯片来说, 其并行性和可扩展性更好,利用FPGA乘累加的快速算法,可以设计 出高速的FIR数字滤波器1.程序设计Fir滤波器工作原理及参数计算:通带边缘频率10kHz,阻带边缘频率22kHz,阻带衰减75kHz,采样频率50kHz。设计: -过渡带宽度=阻带边缘频率-通带边缘频率=22-10=12 kHz-采样频率:F1=通带边缘频率+(过渡带宽度/2=10000+12000/2=16 kHzQ1=2nf1/fs=0.64n-理想低通滤波器脉冲响应:h1n二sin(nQ 1/n/ n二 sin(0.64 nn/n/ n-根据要求,选择布莱克曼窗,窗函数长度为:N=5.98fs/过渡带宽度=5.98*50/12=24.9选择N=25,窗函数为:Wn=0.42+0.5cos(2 n n/24+0.8cos(4 n n/24-滤波器脉冲响应为:hn=h1nWn|n|W12hn=0|n|12根据上面计算,各式计算出hn,然后将脉冲响应值移位为 因果序列。-完成滤波器的差分方程为:Yn=0.001xn-2-0.002xn-3-0.002xn-4+0.01xn-5-0.009xn-6-0.018xn-7-0.049xn-8-0.02xn-9+0.11xn-10+ 0.28xn-11+0.64xn-12+0.28xn-13-0.11xn-14-0.02xn-15+0.049xn-16-0.018xn-17-0.009xn-18+0.01xn-19-0.002xn-20-0.002xn-21+0.001xn-226源程序及注释本实验程序在AD中断中对AD进行连续采样。由于需要进行实时混频,所以交替转换通道 0 和通道 1(ICETEK-F2812-EDU 实验箱上ADCIN0和ADCIN1。汇编语言实现fir滤波器程序清单:.title“FIR1.ASM” .mmregs.def startx .usect “x”,8PA0 .set 0PA1 .set 1.dataCOEF : .word 1*32768/10.word 2*32768/10.word - 4*32768/10.word 3*32768/10.word -4*32768/10.word 2*32768/10.word 1*32768/10.textstart: SSBX FRCT STM#x+7,AR2STM #6,AR0LD #x+1,DPPORTR PA1,x+1FIR1: RPTZ A,#6MACD *AR2-,COEF,ASTH A,*AR2PORTW *AR2+,PA0BD FIR1PORTR PAl,*AR2+0.end用循环缓冲区实现FIR滤波器 程序清单:.title “ FIR2.ASM ” .mmregs .def start.bss y,1xn .usect “ xn ” ,7b0 .usect “ b0 ” ,7PA0 .set 0PA1 .set 1.datatable:.word 1*32768/10.word2*32768/10.word3*32768/10.word4*32768/10.word5*32768/10.word6*32768/10.word7*32768/10.text start: SSBX FRCT STM#b0,AR1RPT #6MVPD table,*AR1+STM #xn+6,AR2STM #b0+6,AR3STM #7,BKSTM #-1,AR0LD #xn,DPPORTR PA1,xnFIR2: RPTZ A,#6MAC *AR2+0%,*AR3+0%,ASTH A,yPORTW y,PA0BD FIR2PORTR PAl,*AR2+0%.end 链接命令文件 FIR2.objvectors.obj-o FIR2.out- m FIR2.map-e startMEMORYPAGE0:EPROM:org=0E000h,len=1000hVECS: org=0FF80h,len=0080hPAGE1:SPRAM:org=0060h,len=0020hDARAM:org=0080h,len=1380h SECTIONS0.data:EPROM PAGE 0xn:align(8DARAM PAGE 11.vections:VECS PAGE 0.text:EPROM PAGE.bss :SPRAM PAGE 1b0:align(8DARAM PAGE五,硬件框图:六,程序流程图:开始初始化,CPU頻率,ICETBK-CTRAD控制寄夜器屮断产2?保戸结果划Voltage and Voltae2孰组中检查按键为KS把蒔的詛数 推在曲上显不出来检鱼按键为K7是,把采宾的罰數括仕led上显示岀来祗音按镖为灯是.扌円爭第凶加雷蛀苗珥曲卜兒示出来七,调试过程及步骤1,实验准备1)连接实验设备。2)准备信号源进行AD输入。 取出实验箱附带的信号线 用一根信号线连接实验箱左侧信号源的波形输出 A 端口 和“A/D输入”模块的“ADCIN0”插座注意插头要插牢, 到底。这样,信号源波形输出 A 的输出波形即可送到 ICETEK-F2812A板的AD输入通道0。 用一根信号线连接实验箱左侧信号源的波形输出B端口 和“A/D输入”模块的“ADCIN 1”插座注意插头 要插牢,到底。这样,信号源波形输出B的输出波形即可 送到ICETEK-F2812A板的AD输入通道1。 设置波形输出A:向内侧按波形频率选择按钮,直到标有正弦波的指示 灯点亮。上下调节波形频率选择旋钮,直到标有10 0 IK H z的指示灯亮。调节幅值调整旋钮,将波形输出A的幅值调到适当位 置。 设置波形输出B:向内侧按波形频率选择按钮,直到标有正弦波的指示灯点亮。上下调节波形频率选择旋钮,直到标有1KHz 1 0KHz的指示灯亮。调节幅值调整旋钮,将波形输出B幅值调到适当位置。2,设置 Code Computer Studio 2.21 在硬件Emulator)方式下行。3, 启动 Code Computer Studio 2.21 选择菜单 DebugReset CPU4, 打开工程文件:工程目录:Ddspt8mixerfirmixerfir.pjt5, 编译、下载程序,选择菜单 Debug-Go Main。使程序运行到 main函数入口位置。6, 观察窗口一打开程序adc.c,查看源代码。7, 运行程序观察结果按CTR控制板的K6键,实现滤波显示,K7键 实现混频显示,按K8键实现A,B两信号源分屏显示。8, 观察动态效果,调节信号源输出,观察滤波器输出。改变信号源 输入的波形,频率参数,观察动态结果。9, 退出CCS八,实验结果a)有错误b) K6 键c) K7键实现混频d) K8实现A, B的分频显示九,结果分析实验过程中遇到的问题及解决方法1, 硬件CC2000)初始化时提示错误,未初始换成功。原因有硬 件的选着,以及DSP实验箱硬件连接是否完整,还有下载线及 usb插孔。变换电脑主机上的usb插孔后硬件配置成功2,工程建立过程:编译之前要将所需不同类型的工程文件全部加载,否则及时程序没有错误编译也会失败.原因是这些文件有些 包含头文件,有些则负责为程序分配存储。3, 程序下载到f2812,首次运行时显示评上显示的是一组上下两 行宽模糊频谱噪声并且已经吧原来的信号淹没如图a),原因分 析,1)先是排除显示屏问题先前实验能够正常显示);2) 认为信号源没有实现 AD 转换或者转换时效果不好排除);(3 认为程序段中输出显示有问题,加断点循环时发现程序运行到显 示输出时进入死循环,原因:flage=1。 /修改地方,for(。if(flage=1 flage=0。LCDSetScreenBuffer(nScreenBuffer。LCDCLS(。/ 清除显示内存*/if(keyflage=0循环时flage应该为1,是if语句正常运行4, 程序修改后能够正常显示波形图像,从实验结果图示可知,对 于混频以及 A B 各自的波形能够正确的显示 ,但是滤波后波形 会在衰减边缘处有冲激大幅度波形出现,分析原因,应该是元器 件系统不可避免的引入的噪声引起5,对程序滤波的精确度的测试,或者说滤波能力:程序中给出的是 对B 2k以上的波形能够很好地滤除,但是相对于只有1001k的波 形A这种滤波器效果体现不出其精度,当把B波频率改为1k左右时 滤波效果下降,滤出的波形边缘大幅度波形更多说明滤波效果不是 很精细,这也和信号源产生的A波频率不够稳定与一定关系。 十,学习总结通过学习 DSP 这门课程,我不仅掌握了关于数字信号处理硬件 方面的一些理论知识,同时还学会了运用 CCS 软件进行简单的实验 Dsp 实验的意义就在于在实践中加深对知识的理解并学会运用硬件 来实现一些工程问题,在实际操作过程中体会学习,提高遇到问题 解决的能力,能够根据所遇到的问题现象分析器内部原因。DSP 有限冲激响应滤波器 FIR 算法硬件实现专业:电子信息工程姓名:赵亚龙学号:2018245043416 / 16
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!