基于DSP数字滤波器设计及仿真.docx

上传人:M****1 文档编号:557147023 上传时间:2023-03-19 格式:DOCX 页数:14 大小:267.70KB
返回 下载 相关 举报
基于DSP数字滤波器设计及仿真.docx_第1页
第1页 / 共14页
基于DSP数字滤波器设计及仿真.docx_第2页
第2页 / 共14页
基于DSP数字滤波器设计及仿真.docx_第3页
第3页 / 共14页
基于DSP数字滤波器设计及仿真.docx_第4页
第4页 / 共14页
基于DSP数字滤波器设计及仿真.docx_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《基于DSP数字滤波器设计及仿真.docx》由会员分享,可在线阅读,更多相关《基于DSP数字滤波器设计及仿真.docx(14页珍藏版)》请在金锄头文库上搜索。

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

2、求得。2.2 整体设计方案流程图使用 MATLAB 编写程序产使用 MATLAB 滤波器的设生待滤波数据计解析工具 FDATOOL设计 FIR 滤波器使用 CCS编写程序实现滤波功能查察程序运行后的输入输出波形并比较滤波收效 / 图 1 整体设计方案主要内容和步骤3.1 滤波器原理对于一个 FIR 滤波器系统,它的冲击响应总是又限长的,其系统函数可记为:N 1H zh n z n其中 Nn 01是 FIR 的滤波器的阶数, z n 为延时结, h n 为端口信号函数。最基本的 FIR 滤波器可用下式表示:N 1y nh k x nk其中 x nk 0k 输入采样序列, h k 是滤波器系数,

3、N 是滤波器的阶数 Y n表示滤波器的输出序列,也可以用卷积来表示输出序列y n 与 x n 、 h n 的关系,如下:y nx n h n3.2 操作步骤( 1)打开FDATOOL , 依照滤波要求设置滤波器种类、通带截止频率、指定阶数、采样频率等。指定完设计参数后单击按钮Design Filter,生成滤波器系数。( 2)把生成的滤波器系数传到目标 DSP。选择菜单 Targets-Export to Code Composer Studio(tm)IDE,打开 Export to C Header File 对话框,选择 C headerfile ,指定变量名 ( 滤波器阶数和系数向量

4、) ,输出数据种类可选浮点型或 32 b,16 b整型等,依照自己安装选择目标板板号和办理器号,单击OK ,保存该头文件,需指定文件名 (filtercoeff h)和路径 ( 保存在 c: timyprojectsfir 工程中 ) 。( 3)更正 CCS 汇编程序,删掉数据前的所有文字,在开头加上.data,第二行加 coeff .word, 在每行的前面加上 .word,比且把每行的最后的逗号去掉。( 4)编译汇编程序,若是有错误,按错误进行更正;没错误,则往下执行。( 5)加载初始化 DATA 数据。运行程序,查察输入输出波形,更正相应参数进行调试1第4章详细设计在本实验中使用 MAT

5、LAB 模拟产生信号,观察滤波前的时域波形和频域波形。MATLAB 仿真后,使用获取的滤波器参数,进行 DSP 编程,在 DSP 中实现带通滤波,并使用 CCS 的频谱解析功能,查察 DSP 的滤波收效。MATLAB程序流程图如图4.1 所示初始 化产生需要虑波信号画出原始信号频谱图生成 fir滤波器进行滤波初始化图 4.1 MATLAB程序流程图CCS 汇编程序流程图如图4.2 所示画出滤波后信号频谱图输入原始信号定义滤波器系数为原始信号和系数指定寄存器做滤波算法本次滤波结束待滤波系数减一是可否有待滤波数据滤波结束图4.2 CCS 汇编程序流程图2第5章实验过程5.1 汇编语言实验步骤与内容

6、MATLAB辅助 DSP 实现 FIR , 其整体过程为在DSP 中编写办理程序,在MATLAB中利用滤波器设计、解析工具( FDATOOL ) , 依照指定的滤波器性能快速设计一个FIR , 尔后把滤波器系数以头文件形式导入CCS 中 , 头文件中MATLAB辅助 DSP 实现 FIR 数字滤波器含滤波器阶数和系数数组, 在MATLAB中调试、运行DSP 程序并显示、解析办理后的数据。使用该方法, 便于采用汇编语言来实现程序。头文件名不变, 当 MATLAB中设计的滤波器系数改变时 , 相应头文件中系数也改变, 方便了程序调试、仿真。( 1)在 MATLAB 中先编写程序,核对待滤波和已滤波

7、的信号的时域和频域波形,如图 5.1 和图 5.2 所示。图待滤波信号的时域图图 待滤波信号的频域图利用 FDA TOOL设计 FIR 滤波器的参数,操作步骤如图5.3 所示。3图 5.3FIR 滤波器的参数打开 Export,把 Numerator 改为 B, 如图 5.4 所示。图 5.4 Export设置已滤波的信号的时域和频域波形,如图5.5 和图 5.6 所示。4图已滤波信号时域波形图图 已滤波信号频域波形图MATLAB滤波器设计工具在完成FIR 设计后 , 如图 5.7 所示,在 Export as中选择 16bit 符号整数输出,尔后单击 OK 按钮。生成 fir.h C 语言头

8、文件。将系数稍作更正,调整后拷贝到程序的系数初始化空间即可。图 5.7 MATLAB 输出数值变换图( 2)在 CCS 中编写汇编语言程序, 进行调试,实现带通滤波的功能。 在 CCSIDE 中建立 LHM.pjt 工程 , 用汇编语言编写办理主程序。别的依照板上的储藏器配置方式 , 编写储藏器配置文件 文件 , 将 MATLAB 生成的 和 input1.dat 文件拷贝到 LHM.pjt 工程文件夹下, 进行编译、链接 , 生成可执行文件 LHM.out 。( 3)加载初始化 data 数据,图 5.8 所示。图 5.8 data 初始化图运行程序,查察输入输出波形,更正相应参数进行调试。

9、5.2 实验过程中出现的错误及解决的方法( 1)在 MATLAB 程序设计中,采样频率设置的过小,截止频率大于采样频率的一半,运行的时候图形出现错误。( 2) FIR.m 中的采样频率要和开始设置时的采样频率一致,否则结果会出现5偏差。( 3)在 CCS 中不决义标号,程序运行错误。( 4)在 .h 文件中未把 coeff 顶格写,编译时出现错误。( 5)未将 fir.h 和 input.dat 文件考入工程文件中。( 6)间接寻址过程中,程序中扔掉。( 7)在 View 的 Graph 中单击 Time/frequency 出现 graph property dialog框,未更正抽样点数。

10、显示的图形出现差异5.3 CCS 程序运行后的各种输出结果在 View 的 Graph 中单击 Time/frequency 出现 graph property dialog 框。将显示种类,图形名称,初步地址,抽样点数,数据种类均分别进行设置,输出各种波形。输出滤波前的信号时域波形。第一,设置如图5.9 所示,输出滤波前的信号时域波形。图 5.9 Graph property dialog设置框图单击 OK 后生成以以下图 5.10 波形。图 5.10 滤波前信号波形图图 5.10 为滤波前的信号, 波形很纷乱, 从时域上很难看出信号的周期性。 更正相应设置,输出如图 5.11 所示滤波前信

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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号