新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于FPGA的IIR数字滤波器的快捷设计

基于FPGA的IIR数字滤波器的快捷设计

作者: 时间:2013-01-05 来源:网络 收藏

3.4 硬件平台的验证

将该设计方案在硬件平台上进行验证时,先给硬件平台加电,再将程序通过JTAG线下载到PROM中,然后给AD9218数据输入端加正弦波信号,示波器CH1和CH2探针分别搭在AD9218数据输入端和AD9765数据输出端。这样。当信号在0.7 MHz频率以下变化时,两个通道的正弦波形相同,只有相位上有一点差别;当信号从0.7~1MHz频率范围变化时。通道CH2波形幅度有微弱减小;当信号从1~5 MHz频率范围变化时,通道CH2波形迅速衰减为一条水平线。当CH1端分别加0.5 MHz、3 MHz和6 MHz的正弦波时,两通道显示的波形相同。

4 一般的快捷实现

现在总结一下一般的设计及实现方案。

(1) 仿真系数

根据所定技术指标通过MATLAB计算出原始系数矢量b和a,然后选择适当的扩大倍数,并将系数扩大后取整得到B和A,再根据B和A仿真差分方程递推算法(注意函数floor()用来仿真VHDL代码中std_logic_vector型数据截去末尾几位,以仿真除法运算)以及频域和时域波形最终确定系数B和A (当前时刻输出所对应的系数A(1)=1)。

(2) 写VHDL代码

除了当前时刻所输出的所对应系数A(1)外,还应当将所有系数都转换为std_logic_vector型常量,同时,还要使初始化程序中所有时刻的输入输出变量都为0,然后再在进程process中写递推算法代码。

(3) Modelsim仿真

用行为级仿真可检查所写代码在功能上是否正确,时序仿真则用于观察布局布线后滤波器的输出波形。

(4) 验证

将程序下载到硬件平台上作最终验证时,滤波器的输出不一定都有毛刺,但若输出有毛刺,则应将代码中最后的数据输出信号赋值给一中间信号再输出。

5 结束语

本文以低通滤波器为例,描述了从MATLAB设计到实现的整个过程,讨论了设计中遇到的一些关键性问题,并在MAT-LAB及modelsim上作了不同层次的仿真,同时在硬件平台上最终验证了滤波器设计的技术指标。

基于行为描述方式的递推算法虽然不是最节省内部资源的算法,但其优点是算法简单清晰,代码简短,可大大节省滤波器设计时间,如果熟练的话,通常十几分钟就可以完成一个满足性能指标的滤波器的设计;此外本设计还有一个特点,就是该算法仅在一个时钟周期内就可以做完一次对输人数据的滤波处理,并得到一个输出。所以,这种滤波算法对那些高频高采样率的输入信号非常有效。

目前,用这一方法设计的带通滤波器已经在LuolanC远程无线导航接收机的前端数字信号处理单元中用于滤除带外噪声,其设计的低通滤波器也在其它一些导航系统中用于信号解调。

低通滤波器相关文章:低通滤波器原理


电源滤波器相关文章:电源滤波器原理



上一页 1 2 3 4 下一页

关键词: FPGA IIR 数字滤波器

评论


相关推荐

技术专区

关闭