网站大量收购独家精品文档,联系QQ:2885784924

DSP实验六 FIR 数字滤波器的实验报告.docxVIP

DSP实验六 FIR 数字滤波器的实验报告.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

实用文档

实验六FIR数字滤波器

6.1实验目的

数字滤波的作用是滤除信号中某一部分频率分量。信号经过滤波处理,就相当于信

号频谱与滤波器的频率响应相乘的结果。从时域来看,就是输入信号与滤波器的冲激响

应作卷积和。数字滤波器在各种领域由广泛的应用,例如数字音响、音乐和语音合成、

躁声消除、数据压缩、频率合成、谐波消除、过载检测、相关检测等。

本实验主要学习数字滤波器的DSP实现原理和C54X编程技巧,并通过CCS的图

形显示工具观察输入/输出信号波形以及频谱的变化。该实验应该安排在串口和定时器操

作实验之后进行。

6.2实验要求

该实验涉及到DSP的串口、中断响应等复杂操作,应该在完成前面的串口和定时器

实验后完成。

本实验重点研究FIR滤波器的DSP实验方法,没有讨论FIR滤波器的设计原理和方

法。你可以使用数字滤波器辅助设计软件包或自行计算FIR滤波器的系数。本实验例子

利用DES320PP-U评估板的模拟信号输出通道产生一个1KHz的方波,然后利用信号输入

通道对产生的方波进行低通滤波,得到一个1KHz的正弦信号,并使用CCS的图形显示工

具显示输入和输出的波形。这里我们使用的是一个38阶的对称结构的FIR低通滤波器,

其采样频率Fs为25KHZ,通带截止频率1.2KHZ,阻带截止频率为2.8KHZ,阻带衰减

为-40dB。

6.3实验原理

1)FIR滤波器的实现

如果FIR滤波器的冲激响应为h(0),h(1),...,h(N-1)。X(n)表示滤波器在n时刻的

输入,则n时刻的输出为:

y(n)=h(0)x(n)+h(1)x(n-1)+...+h(N-1)x[n-(N-1)]

DES320PP-U数字信号处理仿真/教学实验系统使用与实验指导

73

使用MAC或FIRS指令可以方便地实现上面的计算。

图6-1说明了使用循环寻址实现FIR滤波器的方法。为了能正确使用循环寻址,必

须先初始化BK,块长为N。同时,数据缓冲区和冲激响应(FIR滤波器的系数)的开始

地址必须是大于N的2的最小幂的倍数。例如,N=11,大于N的最小2的幂为16,那

么数据缓冲区的第一个地址应是16的倍数,因此循环缓冲区起始地址的最低4位必须是

0。

图6-1FIR滤波器存储器里的数据存储方式

在图6-1中,滤波系数指针初始化时指向h(N-1),经过一次FIR滤波计算后,在循

环寻址的作用下,仍然指向h(N-1)。而数据缓冲区指针指向的是需要更新的数据,如x(n)。

在写入新数据并完成FIR运算后,该指针指向x(n-(N-1))。所以,使用循环寻址可以方便

地完成滤波窗口数据的自动更新.

使用带MAC指令的循环寻址模式实现FIR滤波器,程序片段如下:(输入数据在

AL中,滤波结果在AH中)

STM#1,AR0;AR0=1

STM#N,BK;BK=N,循环寻址BUFFER大小为N

STLA,*FIR_DATA_P+%;更新滤波窗口中的采样数据

RPTZA,#(N-1);重复MAC指令N次,先将A清零

MAC*FIR_DATA_P+0%,*FIR_COFF_P+0%,A;完成滤波计算。注意FIR滤波系数存放在

;数据存储区

另一种方法是利用C54x系列芯片的提供的FIRS指令来实现FIR滤波器。图6-2

为一种有限单位冲激响应呈现对中心点对称的FIR滤波器。长度为N的线性相位FIR

滤波器的输出表达式为:

Σ?

=

=?+???

/21

0

()()[()((1))]

N

k

ynhkxnkxnNk

图6-2N阶均衡FIR滤波器框图

要利用FIRS指令,需要将输入数据缓冲分成两个,循环缓冲区大小寄存器的值设为N/2。

图6-3显示了输入序列在两个循环缓冲器里的存储情况。设辅助寄存器AR2指到缓冲区

1(Buffer1)的顶部,AR3指到缓冲区2(Buffer2)的底部。每次进行滤波之前,应先将

缓冲区1顶部的数据移到缓冲区2的底部,新来的一个样本存储到缓冲区1中时,并对缓

冲区1指针AR2加1(使用循环寻址)。处理器然后使用FIRS指令进行乘加运算,即

h(0){x(0)+x(-N+1)。当然,在使用FIRS指令前,需要预先计算一次求和,以初始化A。在

RPTZ重复指令和循环寻址的配合下,完成FIR滤波.滤波完成后,需要对两个数据缓冲的

指针进行修正,以便对下一个点进行处理。将Buffer1的指针减1和Buffer2的指针减2,

使他们指向各自缓冲的数据队列的最后。

图6-316点FIRS滤波数据存

文档评论(0)

151****1902 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档