基于DSP的FIR_滤波器.docVIP

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

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档