找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于VisualDSP++的无限脉冲响应数字滤波器(IIR)设计

[复制链接]
admin 发表于 2013-3-25 15:24:47 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
作者:王 斌 解放军91413部队

     在信号处理系统中,数字滤波器是一项重要且普遍应用的技术。它通过一定的数学函数关系来改变输入滤波器信号中所含频率成分的相对比例或滤除某些频率成分。IIR滤波是数字信号处理领域中最基本的一种处理方法,可用较低阶数获得较高的选择性,在相同的时钟采样速率和相同的晶体管数量的前提下能提供更好的过渡带下降速率,已广泛应用于通信等众多领域。

1 基本原理

1.1 Visual DSP++简介

     Visual DSP++是ADI公司提供的用于DSP程序开发的可视化集成开发环境,支持对Tiger SHARC系列DSP芯片的编程、调试和开发。Visual DSP++通过图形窗口的方式与用户进行信息交换,采用直观的、易于使用的用户界面,针对处理器进行操作。
1.2 算法及实现原理

     无限脉冲响应(IIR)的系统函数为

20121107045943031491660.jpg
2 实现方法及步骤

2.1 算法实现及编程
将1.2中提到的算法进行编程实现,利用Visual DSP++中的函数,用C语言编程实现。程序结构见图1。
20121107045943062741661.jpg

2.2 调入并编译程序

     将编好的源代码插入到建好的工程中,注意需将相应头文件加入。然后进行编译、链接。注意选择session为ADSP-TS201 Rev.1.0 Single Processor Simulator。

3 结果分析

     查看inputs[]和output[]的时域图和频谱图,并把output[]的时域图和频谱图与expected output[]的时域图和频谱图进行比较。

     时域图如图2所示,频谱图如图3所示。也可以通过存储空问直接比较output[]和expectedoutput[]的值。比较结果见表1。

20121107045943109621662.jpg
20121107045943140871663.jpg

     由图2可以看出,经IIR滤波后,输出时域变得平滑,且趋近于止弦曲线。
20121107045943172121664.jpg

     图3显示的是经过IIR滤波后的输出频谱。可以看到,经滤波后,输出数据的频谱较输入数据已有了较大程度的改善。

4 结束语

     本文介绍了IIR数字滤波器的原理、设计以及在Visual DSP++中的实现力法。在实际使用中,可以根据不同精度要求,方便地对该IIR滤波器参数进行修改以满足不同的指标要求,灵活地组成任意阶不同类型的滤波器。在Visual DSP++软环境中调试滤波器,可进一步节省硬件资源和缩短运行周期。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-27 13:34 , Processed in 0.060744 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表