IIR与FIR滤波器设计与比较要点
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三、设计方案、算法原理说明
(一)硬件原理:
McBSP 是多通道缓冲串行口,他支持全双工通信,双缓冲数据寄存器,允许连 续的数据流。支持传输的数据字长可以是 8 位、12 位、16 位、20 位、24 位或 32 位。并且内置 u 律和 A 律压扩硬件。
McBSP 在结构上可以分为一个数据通道和一个控制通道。数据通道完成数据的 发送和接受。控制通道完成的任务包括内部时钟的产生、帧同步信号产生、对这 些信号的控制及多通道的选择等。控制通道还负责产生接口信号送往 CPU,产生 同步事件通知 DMA 控制器。
2.IIR 滤波原理: IIR数字滤波器差分方程的一般形式为:
式中ai、bi为滤波系数。当bi全为零时,该滤波器为FIR数字滤波器;当bi 不全为零时,则为IIR滤波器。IIR数字滤波器可用直接型、级联型和并联型三种 基本结构实现,其基本组成单元如图1所示。
对于二阶IIR数字滤波器,其传递函数为: 器输出和输入关系为:
本实验利用 DMA 通道 2 与 McBSP1 通道结合来读取 A\D 转换数据,利用 DMA 通道 3 与 McBSP1 通道结合来将处理后的数据发送至 D\A。
当一组数据处理完后,将数据存放在存储区 out_buffer+frame*0x100 中, 选择 out_buffer+frame*0x100 为 DMA 通道 3 传送数据首地址,并选择源地址工 作在不调整模式。
(二)滤波器的理论设计分析
1.直接存储器访问 DMA: 直接存储器访问(Direct Memory Access,简称 DMA)是 C54x DSP 非常重要的
片上外设, DMA 控制器可以完成数据传输而不影响 CPU,因此数据传输速度快。在要求信号 实时采集和处理的系统中常采用 DMA 方式进行信号采集与传输。
DSP课程设计
实验报告
FIR与IIR滤波的DSP 实现以及二者的比较
指导教师:高海林 院(系): 电信学院
设计人员: 白雪
学号:07211225
邵辰雪wk.baidu.com
学号:07211243
成绩: 工程设计50 报告20 评语:
答辩30
总分
指导教师签字: 日期:
目录
一、设计任务书…………………………………………………………2 二、设计内容……………………………………………………………2 三、设计方案、算法原理说明…………………………………………2 四、程序设计、调试与结果分析………………………………………11 五、设计(安装)与调试的体会………………………………………32 六、参考文献……………………………………………………………34
在 CCS 集成开发环境中,与 McBSP 相关的头文件有:regs54xx.h、mcbsp54.h。 在这两个头文件中,定义了 McBSP 串行口的寄存器资源及使用方法。
TLC320AD50C 是 TI 公司生产的 SIGMA-DELTA 型的 16 位 A/D、D/A 转换电路, 他的采样速率最高可达 22.05kb/s,内涵抗混叠滤波器和重构滤波器,属于模拟 接口芯片(AIC),它有一个能与多种昂 DSP 芯片相连的同步串行通信接口,其采 样速率课通过 DSP 编程来设置。在 DAC 之前有一个插值滤波器一保证输出信号平
一、设计任务书
在信号与信息处理中,提取有用信息就要对信号进行滤波。利用DSP可以实 时地对信号进行数字滤波。本设计要求利用DSP的DMA方式进行信号采集和信号输 出,同时对外部输入的信号进行数字滤波。在滤波时同时用fir与iir滤波器进行 滤波,并比较二者的区别。
二、设计内容
(1) 对DMA进行初始化; (2) 对A/D、D/A进行初始化; (3) 编写DMA中断服务程序,实现信号的实时滤波; (4) 利用CCS信号分析工具分析信号的频谱成分,确定滤波器的参数,利 用MATLAB设计数字滤波器,提取滤波器参数; (5) 设计数字滤波算法,或调用DSPLIB中的滤波函数,实现对信号的fir 滤波。 (6) 比较加不同窗和阶数时fir滤波器的滤波效果; (7) 设计数字滤波算法,或调用DSPLIB中的滤波函数,实现对信号的iir 滤波。 (8) 比较fir数字滤波器与iir数字滤波器的效果
在 CCS 集成开发环境中,与 TLC320AD50C CODEC 相关的头文件是 codec.h。 在这个头文件中,定义了与 ad50CODEC 相关的枚举变量和库函数。除了可以调用 codec.h 中提供的库函数之外,还可以利用这些枚举变量自己重新编写 codec 函 数,使用枚举变量相互产生所需要的 ad50 寄存器的初始化值。Codec.h 中的库 函数位于函数库 dsk5402.lib 和 drv5402.lib 中。
n时刻IIR数字滤波
其中x(n)是输入序列,y(n)是输出序列,ai、bI为滤波
器系数。因此滤波器的输出可以用硬件乘法器和加法器实现。 在本实验中将IIR滤波器的系统函数H(z)分解为n个二阶IIR滤波器级联的
形式进行运算,这样可以减小量化误差。
3.IIR 滤波函数 本实验信号滤波算法是直接从 TMS320c54XDSPLIB 库中调用 IIR 函数。 IIR 函数调用格式: iircas4(DATA *x,DATA *h,DATA *r,DATA **d, ushort nbiq, ushort nx); iircas5(DATA *x,DATA *h,DATA *r,DATA **d, ushort nbiq, ushort nx); iircas51(DATA *x,DATA *h,DATA *r,DATA **d, ushort nbiq, ushort nx); iir32(DATA *x,LDATA *h,DATA *r,LDATA **d, ushort nbiq, ushort nx); 其中,iircas32 函数用于双精度 IIR 滤波器;iircas4 函数用于二阶级联直
滑,在 ADC 之后有一个抽取滤波器以提高输入信号的信噪比。AD50C 片内还包括 一个定时器(调整采样率和帧同步延时)和控制器(可编程的增益放大器,锁相 环 PLL,通信协议等)。AD50 有 28 脚的塑料 SOP 封装(带 DW 后缀)和 48 脚的塑 料扁平 QFP 封装(带 PT 后缀),体积较小,适用于便携设备。AD50C 的工作温度 范围是 0-70 摄氏度,单一 5V 电源供电或 5V 模拟电源和 3.3V 数字电源供电,最 大功耗为 120mW。
(一)硬件原理:
McBSP 是多通道缓冲串行口,他支持全双工通信,双缓冲数据寄存器,允许连 续的数据流。支持传输的数据字长可以是 8 位、12 位、16 位、20 位、24 位或 32 位。并且内置 u 律和 A 律压扩硬件。
McBSP 在结构上可以分为一个数据通道和一个控制通道。数据通道完成数据的 发送和接受。控制通道完成的任务包括内部时钟的产生、帧同步信号产生、对这 些信号的控制及多通道的选择等。控制通道还负责产生接口信号送往 CPU,产生 同步事件通知 DMA 控制器。
2.IIR 滤波原理: IIR数字滤波器差分方程的一般形式为:
式中ai、bi为滤波系数。当bi全为零时,该滤波器为FIR数字滤波器;当bi 不全为零时,则为IIR滤波器。IIR数字滤波器可用直接型、级联型和并联型三种 基本结构实现,其基本组成单元如图1所示。
对于二阶IIR数字滤波器,其传递函数为: 器输出和输入关系为:
本实验利用 DMA 通道 2 与 McBSP1 通道结合来读取 A\D 转换数据,利用 DMA 通道 3 与 McBSP1 通道结合来将处理后的数据发送至 D\A。
当一组数据处理完后,将数据存放在存储区 out_buffer+frame*0x100 中, 选择 out_buffer+frame*0x100 为 DMA 通道 3 传送数据首地址,并选择源地址工 作在不调整模式。
(二)滤波器的理论设计分析
1.直接存储器访问 DMA: 直接存储器访问(Direct Memory Access,简称 DMA)是 C54x DSP 非常重要的
片上外设, DMA 控制器可以完成数据传输而不影响 CPU,因此数据传输速度快。在要求信号 实时采集和处理的系统中常采用 DMA 方式进行信号采集与传输。
DSP课程设计
实验报告
FIR与IIR滤波的DSP 实现以及二者的比较
指导教师:高海林 院(系): 电信学院
设计人员: 白雪
学号:07211225
邵辰雪wk.baidu.com
学号:07211243
成绩: 工程设计50 报告20 评语:
答辩30
总分
指导教师签字: 日期:
目录
一、设计任务书…………………………………………………………2 二、设计内容……………………………………………………………2 三、设计方案、算法原理说明…………………………………………2 四、程序设计、调试与结果分析………………………………………11 五、设计(安装)与调试的体会………………………………………32 六、参考文献……………………………………………………………34
在 CCS 集成开发环境中,与 McBSP 相关的头文件有:regs54xx.h、mcbsp54.h。 在这两个头文件中,定义了 McBSP 串行口的寄存器资源及使用方法。
TLC320AD50C 是 TI 公司生产的 SIGMA-DELTA 型的 16 位 A/D、D/A 转换电路, 他的采样速率最高可达 22.05kb/s,内涵抗混叠滤波器和重构滤波器,属于模拟 接口芯片(AIC),它有一个能与多种昂 DSP 芯片相连的同步串行通信接口,其采 样速率课通过 DSP 编程来设置。在 DAC 之前有一个插值滤波器一保证输出信号平
一、设计任务书
在信号与信息处理中,提取有用信息就要对信号进行滤波。利用DSP可以实 时地对信号进行数字滤波。本设计要求利用DSP的DMA方式进行信号采集和信号输 出,同时对外部输入的信号进行数字滤波。在滤波时同时用fir与iir滤波器进行 滤波,并比较二者的区别。
二、设计内容
(1) 对DMA进行初始化; (2) 对A/D、D/A进行初始化; (3) 编写DMA中断服务程序,实现信号的实时滤波; (4) 利用CCS信号分析工具分析信号的频谱成分,确定滤波器的参数,利 用MATLAB设计数字滤波器,提取滤波器参数; (5) 设计数字滤波算法,或调用DSPLIB中的滤波函数,实现对信号的fir 滤波。 (6) 比较加不同窗和阶数时fir滤波器的滤波效果; (7) 设计数字滤波算法,或调用DSPLIB中的滤波函数,实现对信号的iir 滤波。 (8) 比较fir数字滤波器与iir数字滤波器的效果
在 CCS 集成开发环境中,与 TLC320AD50C CODEC 相关的头文件是 codec.h。 在这个头文件中,定义了与 ad50CODEC 相关的枚举变量和库函数。除了可以调用 codec.h 中提供的库函数之外,还可以利用这些枚举变量自己重新编写 codec 函 数,使用枚举变量相互产生所需要的 ad50 寄存器的初始化值。Codec.h 中的库 函数位于函数库 dsk5402.lib 和 drv5402.lib 中。
n时刻IIR数字滤波
其中x(n)是输入序列,y(n)是输出序列,ai、bI为滤波
器系数。因此滤波器的输出可以用硬件乘法器和加法器实现。 在本实验中将IIR滤波器的系统函数H(z)分解为n个二阶IIR滤波器级联的
形式进行运算,这样可以减小量化误差。
3.IIR 滤波函数 本实验信号滤波算法是直接从 TMS320c54XDSPLIB 库中调用 IIR 函数。 IIR 函数调用格式: iircas4(DATA *x,DATA *h,DATA *r,DATA **d, ushort nbiq, ushort nx); iircas5(DATA *x,DATA *h,DATA *r,DATA **d, ushort nbiq, ushort nx); iircas51(DATA *x,DATA *h,DATA *r,DATA **d, ushort nbiq, ushort nx); iir32(DATA *x,LDATA *h,DATA *r,LDATA **d, ushort nbiq, ushort nx); 其中,iircas32 函数用于双精度 IIR 滤波器;iircas4 函数用于二阶级联直
滑,在 ADC 之后有一个抽取滤波器以提高输入信号的信噪比。AD50C 片内还包括 一个定时器(调整采样率和帧同步延时)和控制器(可编程的增益放大器,锁相 环 PLL,通信协议等)。AD50 有 28 脚的塑料 SOP 封装(带 DW 后缀)和 48 脚的塑 料扁平 QFP 封装(带 PT 后缀),体积较小,适用于便携设备。AD50C 的工作温度 范围是 0-70 摄氏度,单一 5V 电源供电或 5V 模拟电源和 3.3V 数字电源供电,最 大功耗为 120mW。