FIR数字滤波器的实现

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

定点DSP
对于定点数运算的考虑: 1. Q15格式表示滤波器系数 2. 设置小数运算标志FRCT
电子科技大学
3. 累加器的高8位:AG或BG的作用 4. 运算精度的考虑 5. 系数量化对滤波器性能的影响
AIC接口与初始化
‘AC01(AD/DA器件)的初始化
电子科技大学
模拟 信号
AIC
RX McBSP串口 TX
使用FIRS指令完成滤波
电子科技大学
处理器然后使用FIRS指令进行乘加运算。当然, 在使用FIRS指令前,需要预先计算一次求和,以 初始化A 。 在RPTZ重复指令和循环寻址的配合下,完成 FIR滤波。 滤波完成后,需要对两个数据缓冲的指针进行 修正,以便对下一个点进行处理。将Buffer1的 指针减1和Buffer2的指针减2,使他们指向各自 缓冲的数据队列的最后。
初始化串口 初始化AC01
等待新数据?

串口发送中 l 断服务程序 串口接收中 l 断服务程序
调用滤波程序
实验内容
电子科技大学
通过外部跳线,使信号输出与输入通道 相连 。 启动CCS,装入实验程序 设置断点,并打开输入/输出数据波形显 示窗口 启动运行(Animate ),观察信号已经 频谱。
CCS图形工具显示FIR滤波效果
实现方法二
电子科技大学
方法二:利用线性相位的FIR滤波器具有 对称性,C54x系列芯片提供的FIRS指令 来实现FIR滤波器。
FIRS *ar2+0%, ar3+0%,filter_coff+N/2
使用该指令可以节约几乎一半的运算 量。
电子科技大学
FIRS指令来实现FIR滤波器
FIRS Xmem,Ymem,pmad含义:
16点FIRS滤波数据存放
FIR *AR2+0%,*AR3+0%#FIR_COF
电子科技大学
AR2--, AR3-=2 *ar2 *ar3 new *ar2++
使用FIRS指令完成滤波
电子科技大学
利用FIRS指令,需要将输入数据缓冲分 成两个,大小为N/2。 初始状态将AR2指到缓冲区1的顶部, AR3指到缓冲区2的底部。每次滤波之前, 应先将缓冲区1顶部的数据移到缓冲区2 的底部,新来的一个样本存储到缓冲区1 中时,并对缓冲区1指针AR2加1(使用循 环寻址)。
完成初始化设置,包括串口、中断向量表、定 时器等。 完成正确的中断服务程序:响应串口0的接收 和发送中断请求。 本实验中使用发送中断产生方波信号,接收中 断存贮输入的数据,并设置新数据到达标志。 主循环在检测到该标志后,调用FIR滤波程 序,完成对输入数据的处理。 为了方便观察,使用一个定时器,交替使XF为 高和低。所以,在滤波程序正常运行时,你会 看到D2在不停地闪烁。
FIR滤波器的工程实现
电子科技大学
电源管理模块 整体硬件电路设计(原理图,PCB 图)、调试 系统软件联合调试
电子科技大学
谢谢 !
电子科技大学-美国德州仪器DSPs 技术中心
实验要求
电子科技大学
利用实验箱的模拟信号输出通道产生一 个1KHz的方波,然后将该信号从输入通道 送入,DSP对其进行低通滤波,得到一个 1KHz的正弦信号,并使用CCS的图形显示 工具显示输入和输出的波形。 完成实验指导书的实现步骤,然后实现 后面的思考题。 完成相应的实验报告。
实验涉及到的知识点
FIR数字滤波器的实现
电子科大-德州仪器DSPs技术/培训中心
实验目的
电子科技大学
本实验主要学习数字滤波器的DSP实现 原理和C54X的数字信号处理指令的应用 方法。 通过CCS的图形显示工具观察输入/输出 信号波形以及频谱的变化。 该实验用到了McBSP串口配置、定时器以 及DSP中断处理过程。 通过后面的练习题,巩固和加深对使用 DSP实现FIR滤波器的理解。
电子科技大学
如何产生一个信号? CCS开发环境的使用,如编译、调试, 图形工具等。 DSP的串口、定时器外设以及中断响 应。 DSP的MAC、FIRS等特色指令的应用。 寻址方式的选择? 最小DSP系统的基本软件架构。 Q15格式的定点数运算。
滤波器实现
电子科技大学
实验重点研究FIR滤波器的DSP实验方 法,没有讨论FIR滤波器的设计原理和方 法。 使用MATLAB或其它辅助设计软件,可 以得到一个38阶的对称结构的FIR低通滤 波器,其采样频率Fs为25KHZ,通带截 止频率 1.2KHZ,阻带截止频率为 2.8KHZ,阻带衰减为-40dB。
B +(A(32-16)) x Pmad -> B (Xmem + Ymem) << 16 -> A PAR++
Pmad寻址FIR滤波器系数,Xmem和 Ymem分别指向窗口数据的上下两部分。
16点FIRS滤波数据存放
上下两个缓冲各自使用循环寻址,其中
电子科技大学
X(15)是最先进入数据窗口,X(0)最晚进入 *ar2 new *ar3 *ar2++
入,然后将滤波后的信号从输出通道输出,并 通过示波器观察结果
FIR滤波器的工程实现
电子科技大学
(扩充为包括硬件制作的最小系统设计实验)
程序、数据的存储器安排,程序功能框图 相关外设的准备:DSP,AD/DA,…… 相关外设的软件设置:McBSP串口初始 化、AC01的初始化、…… BOOTLOADER代码装载方式
图形显示FIR输入/输出频谱
思考题
电子科技大学wk.baidu.com
寻址方式的问答题,如(1)(2)(4) 修改CMD配置文件,实现程序的移植 (3)如:‘C5402的片内RAM被同时映射为
数据存贮区和程序存贮区,若将两者分离,该 程序将如何修改
实现带通滤波器 (5) 使用FIRS或MACD实现滤波器 (6) 实时信号处理(7):从外部信号源的输
实现方法一
电子科技大学
FIR滤波器的实现:方法一使用MAC指令 可以方便地实现下面的计算: y(n) = h(0)x(n) + h(1)x(n-1) + ... + h(N-1)x[n-(N-1)] 特别是循环寻址方式应用 MAC *AR2+0%,*AR3+0%,A
电子科技大学
使用MAC指令时的数据存储方式
DSP
产生输入信号
电子科技大学
1KHz方波信号的产生 利用AC01的D/A通道产生一个1KHz的方 波,作为FIR滤波器的输入信号。 由于串口发送中断将每0.04ms (25KHz)产生一次,所以我们将一个 周期的方波信号分25次送出,这样经D/A 变化后便可得到1KHz的方波。
主程序框架
电子科技大学
相关文档
最新文档