基于DSP的FIR 滤波器.doc
文本预览下载声明
第1章 绪论
1.1课程设计(论文)目的总体方案设计软件编程方法仿真与结果分析实际的应用系统中,存在各种干扰。FIR滤波器
其中是FIR滤波器的用线性缓冲区实现FIR滤波器
程序清单:
.title “FIR1.ASM”
.mmregs
.def start
x .usect “x”,8
PA0 .set 0
PA1 .set 1
.data
COEF:.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
.text
start: SSBX FRCT
STM #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 start
.bss y,1
xn .usect “xn”,7
b0 .usect “b0”,7
PA0 .set 0
PA1 .set 1
.data
table: .word 1*32768/10
.word 2*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
PORTR PA1,*AR2+0%
.end
2.3.3具体的操作步骤
(1)打开FDATOOL,根据滤波要求设置滤波器的类型、通带截止频率、指定阶数采样频率完设计参数后单击Design Filter按钮,生成滤波器系数。把生成的滤波器系数传到目标DSP选择菜单Targets-Export to Code Composer Studio(tm)IDE,打开Export to C Header File对话框,选择C header file,指定变量名(滤波器阶数和系数向量),输出数据类型可浮点型或32 b,16 b整型等,根据自己安装选择目标板板号和处理器号,单击OK,保存该头文件,需指定文件名(filtercoeff.h)和路径(保存在c:\ti\myprojects\fir工程中)。详细设计
图3.1 MATLAB程序流程图
3.2CCS汇编程序流程图(如图3.2)
是
图3.2 CCS汇编程序流程图
第4章 实验过程MATLAB辅助DSP 实现FIR ,其总体过程为在DSP 中编写处理程序,在MATLAB中利用滤波器设计、分析工具( FDATOOL) ,根据指定的滤波器性能快速设计一个FIR ,再把滤波器系数以头文件形式导入CCS 中,头文件中MATLAB 辅助DSP 实现FIR 数字滤波器
显示全部