DSP课程设计报告—刘雅琪

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、课程设计的目的和要求

1.1课程设计目的:

本课程是DSP技术类课程配套的课程设计,要求学生通过高级语言或汇编语言编程实现较复杂的功能。通过课程设计,使学生加深对DSP芯片TMS320C54x的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法。

1.2课程设计要求

1、认真查阅资料

2、课程设计前认真预习

3、遵守课程设计时间安排

4、认真保质保量完成设计要求

5、认真书写报告

二、系统功能介绍及总体设计方案

2.1 功能介绍

随着信息技术和计算机技术的飞速发展,数字信号处理技术在众多领域得到广泛应用。数字滤波器由于其精度高、稳定性好、使用灵活等优点,广泛应用在各种数字信号处理领域。数字滤波器根据冲击响应函数的时域特性,可以分为FIR(有限长冲激响应滤波器)和IIR(无限长冲激响应滤波器) 。FIR 滤波器与IIR 滤波器相比,具有严格的线性相位,幅度特性可任意等优点。而且, FIR 滤波器的单位抽样响应是有限长的,故一定是稳定的,他又可以用快速傅里叶变换( FFT)算法来实现过滤信号,可大大提高运算效率。

本课程设计的是一个等波纹FIR 低通滤波器,其具体参数为:采样频率

s F =1000Hz ,通带频率pass F =150Hz 截止频率stop F =250Hz ,通带衰减pass A =0.5dB 阻带衰减stop A =80dB 。

2.2 总体设计方案:

先进行Matlab 程序设计产生待滤波数据(借助设计工具FDATOOL 产生设计

系数),将其导入CCS ,在CCS 上进行仿真调试运行,得到了输入和输出的波形及

其频谱。

图1 总体设计框图

三、主要设计内容和步骤 3.1 FIR 数字滤波器的原理分析

3.1.1 FIR 数字滤波器

数字滤波器原理一般具有如下差分方程

1

1

()()()N N k k k k y n a x n k b y n k --===-+-∑∑ (l)

式中()x n 为输入序列,()y n 为输出序列,k a 和k b 为滤波器系数,N 是滤波器阶数。当所有的k b 均为零,则有 1

0()()N k k y n a x n k -==-∑ (2)

(2)式是FIR 滤波器的差分方程,其一般形式为

1

0()()N k k y n h x n k -==-∑ (3)

对(3)式进行z 变换,整理后可得FIR 滤波器的传递函数

1

()()()()N k k Y z H z h k z X z --==∑ FIR 的直接型结构:

图2 FIR 的直接型结构

FIR 滤波器最主要的特点是没有反馈回路,因此它是无条件稳定系统。它的单位冲激响应()h n 是一个有限长序列。如果()h n 是实数,且满足偶对称或奇对称的条件,即()h n (1)h N n =--或()(1)h n h N n =---,则滤波器具有线性相位特性。偶对称线性相位FIR 滤波器(N 为偶数)的差分方程表达式为:

21

[()(1)]N i

i y a x n i x n N i -==

-+-++∑

线性相位FIR 滤波器是用得最多的FIR 滤波器。

FIR 滤波器不断地对输入样本()x n 延时后,再作乘法累加算法,将滤波结果

()y n 输出,因此FIR 滤波算法实际上是一种乘法累加运算。在数字滤波器中,FIR

滤波器的最主要特点是没有反馈回路,故不存在不稳定的问题。同时可以在随意设置幅度特性的同时,保证精确无误的线性相位。稳定的线性相位特性是FIR 滤波器的突出优点。

3.1.2 系数对称的FIR 滤波器

对于系数对称的FIR 滤波器,由于其具有线性相位特性,因此应用很广,特别是对相位失真要求很高的场合,如调制解调器(MODEM )。

一个N=8的FIR 滤波器,若()(1)a n a N n =--,就是对称FIR 滤波器,其输出方程为:

01233210()()(1)(2)(3)(4)(5)(6)(6)

y n a x n a x n a x n a x n a x n a x n a x n a x n =+-+-+-+-+-+-+-总共有8次乘法和7次加法。如果改写成:

0123()[()(7)][(1)(6)][(2)(5)][(3)(4)]

y n a x n x n a x n x n a x n x n a x n x n =+-+-+-+-+-+-+-则变成4次乘法和7次加法。可见乘法运算的次数减少了一半。这是对称FIR 的有一个优点。

对称FIR 滤波器的C54x 实现的要点

(1) 在数据存储区中开辟两个循环缓冲区,New 循环缓冲区中存放N/2=4

个新数据;Old 循环缓冲区中存放老数据。循环缓冲区的长度为N/2。

数据存储器

New 循环

冲区

Old 循环缓冲区

程序存储器

系数表

80h 81h 88h 82h 83h

89h 8Ah 8Bh

AR2

AR3

COEF

图3

(2)设置循环缓冲区指针,AR2指向中最新的数据,AR3指向中最老的数据。 (3)在程序存储器中设置系数表。

(4)(2)(3)AR AR AH +→(累加器A 的高位) (2)12AR AR -→ (3)13AR AR -→

(5)将累加器B 清0,重复执行4次(i=0,1,2,……) ()AH *系数i a ()B B +→ 系数指针(PAR )加1

(2)(3)AR AR AH +→ AR2和AR3减1

(6)保存和输出结果(结果在BH 中)

(7)修正数据指针,让AR2和AR3分别指向New 缓冲区中最新的数据和Old 缓冲区中最老的数据。

(8)用New 缓冲区中最老的数据替代Old 缓冲区中最老的数据。Old 缓冲区指针减1。

(9)输入一个新数据替代New 缓冲区中最老的数据。

重复执行第(4)~(9)步

3.1.3 关键指令

在编程中要用到FIRS (系数对称有限冲激响应滤波器)指令,其操作如下: FIRS Xmem,Ymem,Pmad

高地址

低地址

相关文档
最新文档