基于DSP的数字滤波器的设计与仿真综述_第1页
基于DSP的数字滤波器的设计与仿真综述_第2页
基于DSP的数字滤波器的设计与仿真综述_第3页
基于DSP的数字滤波器的设计与仿真综述_第4页
基于DSP的数字滤波器的设计与仿真综述_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、2.1 系统功能介绍 一个实际的应用系统中,总存在各种干扰。数字滤波器在语音信号处理、信号 频谱估计、信号去噪、无线通信中的数字变频以及图像信号等各种信号处理中都有 广泛的应用,数字滤波器也是使用最为广泛的信号处理算法之一。 在本设计中,使用 MATLAB 模拟产生合成信号,然后利用 CCS 进行滤波 设定模拟信号的采样频率为 48000Hz,。设计一个 FIR 低通滤波器,其参数为: 滤波器名称: FIR 低通滤波器 采样频率: Fs=48000Hz 通带截止频率: 15000Hz 阻带截止频率: 16000Hz 通带最大衰减: 0.1dB 阻带最少衰减: 80dB 滤波器系数: 由 MAT

2、LAB 根据前述参数求得。 2.2 总体设计方案流程图 图 1 总体设计方案 主要内容和步骤 3.1 滤波器原理 对于一个 FIR 滤波器系统,它的冲击响应总是又限长的,其系统函数可记为: N1 H z h n z n n0 其中 N 1是 FIR 的滤波器的阶数, z n 为延时结, h n 为端口信号函数。 最基本的 FIR 滤波器可用下式表示: N1 y n h k x n k k0 其中 x n k 输入采样序列, h k 是滤波器系数, N 是滤波器的阶数 Y n 表示 滤波器的输出序列,也可以用卷积来表示输出序列 y n 与 x n 、 h n 的关系,如 下: y n x n h

3、 n 3.2 操作步骤 (1)打开 FDATOOL , 根据滤波要求设置滤波器类型、通带截止频率、指定 阶数、采样频率等。指定完设计参数后单击按钮 Design Filter,生成滤波器系数。 ( 2)把生成的滤波器系数传到目标 DSP。选择菜单 Targets-Export to Code Composer Studio(tm)IDE,打开 Export to C Header File 对话框,选择 C header file ,指定变量名 (滤波器阶数和系数向量 ) ,输出数据类型可选浮点型或 32 b,16 b 整型等,根据自己安装选择目标板板号和处理器号,单击OK ,保存该头文件,需

4、 指定文件名 (filtercoeff h)和路径 (保存在 c:timyprojectsfir 工程中 ) 。 (3)修改 CCS 汇编程序,删掉数据前的所有文字,在开头加上 .data,第二行 加 coeff .word, 在每行的前面加上 .word,比且把每行的最后的逗号去掉。 (4)编译汇编程序,如果有错误,按错误进行修改;没错误,则往下执行。 ( 5)加载初始化 DATA 数据。运行程序,查看输入输出波形,修改相应参数 进行调试 第 4 章 详细设计 在本实验中使用 MATLAB 模拟产生信号,观察滤波前的时域波形和频域波 形。MATLAB 仿真后,使用得到的滤波器参数,进行 DS

5、P 编程,在 DSP 中实现 带通滤波,并使用 CCS的频谱分析功能,查看 DSP 的滤波效果。 MATLAB 程序流程图如图 4.1 所示 图4.1 MATLAB程序流程图 CCS汇编程序流程图如图 4.2 所示 图4.2 CCS 汇编程序流程图 第 5 章 实验过程 5.1 汇编语言实验步骤与内容 MATLAB 辅助 DSP 实现 FIR , 其总体过程为在 DSP 中编写处理程序,在 MATLAB 中利用滤波器设计、分析工具 ( FDATOOL ) , 根据指定的滤波器性能 快速设计一个 FIR , 然后把滤波器系数以头文件形式导入CCS 中, 头文件中 MATLAB 辅助 DSP 实现

6、 FIR 数字滤波器含滤波器阶数和系数数组, 在 MATLAB 中调试、运行 DSP 程序并显示、分析处理后的数据。使用该方法 , 便 于采用汇编语言来实现程序。头文件名不变 , 当 MATLAB 中设计的滤波器系数改 变时, 相应头文件中系数也改变 , 方便了程序调试、仿真。 ( 1)在 MATLAB 中先编写程序,查看待滤波和已滤波的信号的时域和频域 波形,如图 5.1 和图 5.2 所示 图 5.1 待滤波信号的时域图 图 5.2 待滤波信号的频域图 利用 FDA TOOL 设计 FIR 滤波器的参数,操作步骤如图 5.3 所示 图 5.3 FIR 滤波器的参数 打开 Export,把

7、Numerator改为 B, 如图 5.4所示。 图 5.4 Export 设置 4 已滤波的信号的时域和频域波形,如图 5.5和图 5.6 所示。 图 5.5 已滤波信号时域波形图 图 5.6 已滤波信号频域波形图 MATLAB 滤波器设计工具在完成 FIR 设计后 , 如图 5.7 所示,在 Export as 中选择 16bit 符号整数输出,然后单击 OK 按钮。生成 fir.h C 语言头文件。将系 数稍作修改,调整后拷贝到程序的系数初始化空间即可。 图 5.7 MATLAB 输出数值转换图 (2)在 CCS中编写汇编语言程序, 进行调试,实现带通滤波的功能。 在 CCS IDE 中

8、建立 LHM.pjt 工程, 用汇编语言编写处理主程序 fir.asm。另外根据板上的 存储器配置方式 , 编写存储器配置文件 fir.cmd 文件, 将 MATLAB 生成的 LHM.h 和 input1.dat 文件拷贝到 LHM.pjt 工程文件夹下, 进行编译、 链接, 生成可执行文 件 LHM.out 。 (3)加载初始化 data数据,图 5.8 所示。 图 5.8 data 初始化图 运行程序,查看输入输出波形,修改相应参数进行调试。 5.2 实验过程中出现的错误及解决的办法 ( 1)在 MATLAB 程序设计中,采样频率设置的过小,截止频率大于采样频 率的一半,运行的时候图形出

9、现错误。 (2) FIR.m 中的采样频率要和开始设置时的采样频率一致,否则结果会出现 偏差 (3)在 CCS 中未定义标号,程序运行错误。 ( 4)在.h 文件中未把 coeff 顶格写,编译时出现错误。 (5)未将 fir.h 和 input.dat 文件考入工程文件中。 (6)间接寻址过程中,程序中丢失。 ( 7) 在View 的 Graph中单击 Time/frequency出现 graph property dialog 框,未修改抽样点数。显示的图形出现差异 5.3 CCS程序运行后的各种输出结果 在 View 的 Graph 中单击 Time/frequency 出现 graph

10、 property dialog 框。 将显示类型,图形名称,起始地址,抽样点数,数据类型等分别进行设置,输 出各种波形。输出滤波前的信号时域波形。首先,设置如图 5.9 所示,输出滤波前 的信号时域波形。 图 5.9 Graph property dialog设置框图 单击 OK 后生成如下图 5.10 波形。 图 5.10 滤波前信号波形图 图 5.10 为滤波前的信号, 波形很杂乱, 从时域上很难看出信号的周期性。 修改 相应设置,输出如图 5.11 所示滤波前信号频谱。 图 5.11 滤波前信号频谱波形图 经过滤波后,时域波形频谱波形如图 5.12和 5.13所示 图 5.12 滤波后

11、信号时域波形图 图 5.13 滤波后信号频谱图 由上述的所有截图可知,输入参数中,通带截止频率和阻带截止频 率是比较重要的两个参数,不宜过小,过小滤掉的高频成分太多,很难 还原出远波形的形状,也不宜过大,过大滤波效果欠佳。在本课程设计 中,通带截止频率选用 4000Hz, 阻带截止频率选用 4500Hz,因此,显 示图形时的,时域显示的抽样点数为 1024,频域显示的带宽为 0.5Hz。 对比滤波前后信号的时域图 5.10和 5.12、频谱波形图 5.11 和 5.13可 以知道,滤波前的时域信号的波形图的波形很杂乱,很难看出信号的周 期性,滤波后周期性也相对的明显起来了;滤波前信号分布在整个

12、频带 上,滤波后阻带范围内的基本被滤掉,这些都可以从上述截图看出 start “x,”8 0 1 1*32768/10 2*32768/10 -4*32768/10 3*32768/10 -4*32768/10 2*32768/10 1*32768/10 FRCT 附件:源程序清单 用线性缓冲区实现 FIR 滤波器程序清单: .title “ FIR1.ASM” .mmregs .def x .usect PA0 .set PA1 .set .data COEF: .word .word .word .word .word .word .word .text start: SSBX STM #

13、x+7,AR2 STM #6,AR0 LD #x+1,DP PORTR PA1,x+1 FIR1: RPTZ A,#6 MACD *AR2-,COEF,A STH A,*AR2 PORTW *AR2+,PA0 BD FIR1 PORTR PA1,*AR2+0 .end 用循环缓冲区实现 FIR 滤波器程序清单: .title“ FIR2.ASM” .mmregs .def .bss start y,1 xn .usect “ xn ” ,7 b0 .usect “b0” ,7 PA0 .set 0 PA1 .set 1 .data table: .word 1*32768/10 .word 2

14、*32768/10 .word 3*32768/10 .word 4*32768/10 .word 5*32768/10 .word 6*32768/10 .word 7*32768/10 .text start: SSBX FRCT STM #b0,AR1 RPT #6 MVPD table,*AR1+ STM #xn+6,AR2 STM #b0+6,AR3 STM #7,BK STM #-1,AR0 LD #xn,DP PORTR PA1,xn FIR2: RPTZ A,#6 MAC * AR2+0%,*AR3+0%,A STH A,y PORTW y,PA0 BD FIR2 10 POR

15、TR PA1,*AR2+0% .end 汇编程序清单 lhm.h 文件内容 : .data coeff .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word .word -85, -64, -61, -36, 8, 62, 110, 136, 131 96, 42, -11, -44, -44, -11, 39, 85, 106 88, 37, -29, -83, -101, -73, -7, 70, 124 131, 82, -5, -96,

16、-151, -144, -72, 37, 140 191, 162,61, -76, -191, -231, -174, -35, 132 256, 278, 180, -7, -208, -337, -330, -176, 72 316, 445, 392, 156, -178, -475, -599, -470, -108 361, 745, 857, 594, -6, -748, -1336, -1456, -893 386, 2192, 4154, 5816, 6768, 6768, 5816, 4154, 2192 386, -893, -1456, -1336, -748, -6,

17、 594, 857, 745 361, -108, -470, -599, -475, -178, 156, 392, 445 316, 72, -176, -330, -337, -208, -7, 180, 278 256, 132, -35, -174, -231, -191, -76, 61, 162 191, 140, 37, -72, -144, -151, -96, -5, 82 131, 124, 70, -7, -73, -101, -83, -29, 37 88, 106, 85, 39, -11, -44, -44, -11, 42 96, 131, 136, 110,

18、62, 8, -36, -61, -64 -85 Fir.asm 内容 : .title fir.asm .mmregs .global _c_int00 ORDER .set 154 D_LEN .set 1024 ; The Length of Input Data xn a0 .usect xn, (ORDER-1) .usect a0, (ORDER-1) 11 input .usect input, D_LEN output .usect output, D_LEN .copy HM.h .text .asg AR0, FIR_INDEX .asg AR2, FIR_DATA .as

19、g AR3, FIR_COEF .asg AR5, DATA_IN .asg AR6, DATA_OUT _c_int00: SSBX FRCT ; Get coefs from coef.h ; Copy a0(coefs) to Copy xn(data) to STM #a0,FIR_COEF FIR_COEF(AR3) RPT #ORDER-1 MVPD #coeff,*FIR_COEF+ STM#1, FIR_INDEX STM#xn, FIR_DATA FIR_DATA(AR2) RPTZ A,#ORDER-1 STL A, *FIR_DATA+ STM #(xn+ORDER-1), FIR_DATA STM #(a0+ORDER-1), FIR_COEF STM #input, DATA_IN STM #output, DATA_OUT STM #D_LEN-1, BRC RPTBD next-1 STM #ORDER, BK LD * DATA_IN+, A STL A, *FIR_

温馨提示

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

评论

0/150

提交评论