基于DSP的数字滤波器的设计

基于DSP的数字滤波器的设计
基于DSP的数字滤波器的设计

- - -..

目录

摘要错误!未定义书签。

第1章课程设计的目的和要求0

第2章系统功能介绍及总体设计方案0

第3章主要内容和步骤1

3.1滤波器原理1

3.2操作步骤2

第4章详细设计2

第5章实验过程3

5.1汇编语言实验步骤与内容3

5.2实验过程中出现的错误及解决的办法6

5.3CCS程序运行后的各种输出结果6

第6章结论与体会8

参考文献9

附件:源程序清单10

DSP实现FIR滤波的关键技术10

汇编程序清单12

第1章课程设计的目的和要求

通过课程设计,加深对DSP芯片TMS320C54x的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法。通过使用汇编语言编写具有完整功能的图形处理程序或信息系统,使学生加深对所学知识的理解,进一步巩固汇编语言讲法规则。学会编制结构清晰、风格良好、数据结构适当的汇编语言程序,从而具备解决综合性实际问题的能力。

第2章系统功能介绍及总体设计方案

2.1系统功能介绍

一个实际的应用系统中,总存在各种干扰。数字滤波器在语音信号处理、信号频谱估计、信号去噪、无线通信中的数字变频以及图像信号等各种信号处理中都有

广泛的应用,数字滤波器也是使用最为广泛的信号处理算法之一。

在本设计中,使用MATLAB 模拟产生合成信号,然后利用CCS 进行滤波。设定模拟信号的采样频率为400000Hz ,。设计一个FIR 低通滤波器,其参数为:

滤波器名称: FIR 低通滤波器

采样频率: Fs=40000Hz

通带/阻带截止频率: 4000Hz ~4500Hz

通带最大衰减: 0.5dB

阻带最少衰减:50dB

滤波器级数: N=154

滤波器系数: 由MATLAB 根据前述参数求得。

2.2 总体设计方案流程图

图1 总体设计方案

第3章 主要内容和步骤

3.1 滤波器原理

对于一个FIR 滤波器系统,它的冲击响应总是又限长的,其系统函数可记为:

()()1

0N n n H z h n z --==∑ 其中1N -是FIR 的滤波器的阶数,n z -为延时结,()h n 为端口信号函数。

最基本的FIR 滤波器可用下式表示:

()()()1

0N k y n h k x n k -==-∑ 其中()x n k -输入采样序列,()h k 是滤波器系数,N 是滤波器的阶数()Y n 表示

滤波器的输出序列,也可以用卷积来表示输出序列()y n 与()x n 、()h n 的关系,如下: ()()()y n x n h n =*

3.2操作步骤

(1)打开FDATOOL ,根据滤波要求设置滤波器类型、通带截止频率、指定阶数、采样频率等。指定完设计参数后单击按钮Design Filter ,生成滤波器系数。

(2)把生成的滤波器系数传到目标DSP 。选择菜单Targets->Export to Code poser Studio(tm)IDE ,打开Export to C Header File 对话框,选择C header file ,指定变量名(滤波器阶数和系数向量),输出数据类型可选浮点型或32 b ,16 b 整型等,根据自己安装选择目标板板号和处理器号,单击OK ,保存该头文件,需指定文件名(filtercoeff .h)和路径(保存在c :\ti\myprojects\fir 工程中)。

(3)修改CCS 汇编程序,删掉数据前的所有文字,在开头加上.data ,第二行加coeff .word ,在每行的前面加上.word ,比且把每行的最后的逗号去掉。

(4)编译汇编程序,如果有错误,按错误进行修改;没错误,则往下执行。

(5)加载初始化DATA 数据。运行程序,查看输入输出波形,修改相应参数进行调试

第4章 详细设计

在本实验中使用MATLAB 模拟产生信号,观察滤波前的时域波形和频域波形。MATLAB 仿真后,使用得到的滤波器参数,进行DSP 编程,在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实现FIR数字滤波器含滤波器阶数和系数数组,在MATLAB中调试、运行DSP 程序并显示、分析处理后的数据。使用该方法,便于采用汇编语言来实现程序。头文件名不变,当MATLAB中设计的滤波器系数改变时,相应头文件中系数也改变,方便了程序调试、仿真。

(1)在MATLAB中先编写程序,查看待滤波和已滤波的信号的时域和频域波形,如图5.1和图5.2所示。

图5.1待滤波信号的时域图图5.2待滤波信号的频域图

利用FDA TOOL设计FIR滤波器的参数,操作步骤如图5.3所示。

图5.3 FIR滤波器的参数

打开Export,把Numerator改为B,如图5.4所示。

图5.4 Export设置

已滤波的信号的时域和频域波形,如图5.5和图5.6所示。

图5.5 已滤波信号时域波形图图5.6 已滤波信号频域波形图MATLAB滤波器设计工具在完成FIR设计后,如图5.7所示,在Export as中选择16bit符号整数输出,然后单击OK按钮。生成fir.h C语言头文件。将系数稍作修改,调整后拷贝到程序的系数初始化空间即可。

图5.7 MATLAB输出数值转换图

相关主题
相关文档
最新文档