文档介绍:第1章绪论
(论文)目的
通过课程设计,加深对DSP芯片TMS320C54x的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法。通过使用汇编语言编写具有完整功能的图形处理程序或信息系统,使学生加深对所学知识的理解,进一步巩固汇编语言讲法规则。学会编制结构清晰、风格良好、数据结构适当的汇编语言程序,从而具备解决综合性实际问题的能力。
任务:设计一个基于DSP的FIR 滤波器
要求: 1. 总体方案设计;
2. 设计出软件编程方法,并写出源代码;
3. 仿真与结果分析;
4. 论文格式要符合学院的统一规定,结构要合符逻辑,表达要得体。
第2章系统方案设计
任何一个实际的应用系统中,都存在着各种各样的干扰。数字滤波器是使用最为广泛的信号处理算法之一。数字滤波器在语音信号处理、信号频谱估计、信号去噪、无线通信中的数字变频以及图像信号等各种信号处理中都有广泛的应用。
在本设计中,先使用MATLAB模拟产生合成信号,S进行滤波处理。将模拟信号的采样频率设定为32000Hz,设计一个FIR低通滤波器,其参数为:
滤波器名称: FIR低通滤波器
采样频率: Fs=40000Hz
通带: 4000Hz~4500Hz
过渡带: 2500Hz~3000Hz,3500Hz~4000Hz
带内波动:
阻带衰减: 50dB
滤波器级数: N=154
滤波器系数: 由MATLAB根据前述参数求得。
()
使用MATLAB编写程序产生待滤波数据
使用MATLAB滤波器的设计/分析工具FDATOOL设计FIR滤波器
S编写程序实现滤波功能
查看程序运行后的输入输出波形并比较滤波效果
系统方案设计流程图
对于任何一个FIR滤波器系统,它的冲击响应总是有限长的,其系统函数可记为:
其中N-1是FIR滤波器的阶数,为延时结,为端口信号函数。
下式为最基本的FIR滤波器表示:
其中表示输入采样序列,表示滤波器系数,N表示滤波器的阶数,Y(n)表示滤波器的输出序列,也可以用下式利用卷积来表示输出序列y(n)与x(n)、h(n)的关系:
y(n)=x(n)*h(n)
实现FIR滤波的关键技术
用线性缓冲区来实现FIR滤波器
其程序清单如下:
.title “”
.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 “”
.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