用FPGA实现IIR低通滤波器时,滤波后信号会出现尖峰

使用verilog编程,实现了一个6阶巴特沃斯型滤波器,分3个二阶节实现的,输入信号为正弦波,第一个二阶节的输出信号没有尖峰,第二个二阶节输出信号有少量小尖峰,第3个二阶节输出信号尖峰就多的没法看了。

哪位大侠遇到过类似问题,谢谢
该滤波器在理论上稳定的,仿真结果可以证明。

尖峰应该是FPGA编程或者时序做的不好引起的,现在还不确定

2012/12/12更新
经高人指点,给了一个方向,就是做后仿真。
尖峰问题有改善,以前的尖峰大概有2万多,现在尖峰小多了,大概为40-50。
改善的方法是进行时序约束,然后做时序分析,按照分析结果去修改设计。

现在还是有问题,但已经有些头绪了,继续进行后仿真吧

第1个回答  2012-11-21
你知道巴特沃斯低通滤波器的原理吗,对于五阶以上的巴特沃斯低通滤波器要分析其极点分布图的,根据原理可以知道随着滤波器阶数n的提高,极点分布向远离虚轴和靠近虚轴的两个方向变化,对应的阻尼比分别趋近于1和0。阻尼比越小,则超调量越大,过渡带时间越长,震荡加剧。阻尼比越大,则系统的上升时间越长。靠近虚轴的两个极点称为主导极点。5阶及5阶以上的高阶巴特沃斯低通滤波器离虚轴已经很近了,这样的震荡已经非常大了,你的那种情况可能是你设计的巴特沃斯低通滤波器极点分布比传统的极点分布还要差,因此造成了在三阶的时候就出现了5阶以上的情况,但是也有可能是其它的情况引起的,我只能从原理上分析了,如真是原理上出问题了解决方法主要是对巴特沃斯低通滤波器的极点进行重新分布。追问

谢谢你的回答,辛苦了,打了好多字,呵呵。

不过情况和你说的不太一样,我可以保证这个滤波器在理论上是稳定的,尖峰应该是由于溢出火车时序约束引起的,现在还不确定。

滤波器用matlab中的fdatool工具设计的,在理论上是稳定的,量化之后也是稳定的,编了verilog程序后,使用modelsim做前仿真的结果也是稳定的就是最后实现的时候有尖峰,这个尖峰是虚拟逻辑分析仪看到的。

第2个回答  2012-12-05
FPGA代码上数据分辨率弄大一点试试

用FPGA实现IIR低通滤波器时,滤波后信号会出现尖峰
阻尼比越大,则系统的上升时间越长。靠近虚轴的两个极点称为主导极点。5阶及5阶以上的高阶巴特沃斯低通滤波器离虚轴已经很近了,这样的震荡已经非常大了,你的那种情况可能是你设计的巴特沃斯低通滤波器极点分布比传统的极点分布还要差,因此造成了在三阶的时候就出现了5阶以上的情况,但是也有可能是其...

IIR和FIR数字滤波器的比较——选择性越好,则相位非线性越严重。选择性...
就是幅频的选择特性。正如你说的,因为存在极点,可以将保证传递函数的模值具有相比只有零点的fir更加陡峭的特性,从而具有更加好的频率选择特性。但是因为存在反馈,iir在使用fpga实现的时候是有限制的,需要将其结构改为多个小单元级联或者并联的形式,而不能如fir那样直接用延迟加抽头实现。

IIR滤波器原理与设计方法
对于FPGA实现,IIR滤波器通常涉及除法器,设计时需要将MATLAB中的系数进行量化。杜勇的书籍提供了具体步骤和指导,尽管在实际设计中,FIR滤波器更常被选用。通过对比设计结果,确保滤波器性能的准确性和一致性,是设计过程中必不可少的步骤。

六位数码管时钟
26.集成功率放大电路的设计 27.波形发生器、频率计和数字电压表设计 28.水位遥测自控系统 毕业论文 29.宽带视频放大电路的设计 毕业设计 30.简易数字存储示波器设计毕业论文 31.球赛计时计分器 毕业设计论文 32.IIR数字滤波器的设计毕业论文 33.PC机与单片机串行通信毕业论文 34.基于CPLD的低频信号发生器...

IIR数字滤波器的设计方法中,双线性变换法和冲激响应不变法的优缺点...
1,模拟频率到数字频率的转换时线性的。2,数字滤波器单位脉冲响应的数字表示近似原型的模拟滤波器单位脉冲响应,因此时域特性逼近好 缺点:会产生频谱混叠现象,只适合带限滤波器 双线性变换法优点:克服多值映射得关系,可以消除频率的混叠 缺点:是非线性的,在高频处有较大的失真。

基于MATLAB的数字滤波器设计【FIR和IIR】
IIR滤波器设计 IIR滤波器的设计基于常系数线性差分方程,需要确定系数。首先,模拟滤波器设计后通过双线性变换转化为数字滤波器。在MATLAB中,通过函数设计参数,如巴特沃思滤波器,得到滤波器的幅相频特性。方波和正弦叠加信号经滤波后,输出信号表现出低通特性。CCS设计中,通过编写汇编程序并加载*.dat文...

如何用matlab实现fir低通滤波器
1、首先打开FilterDesign & Analysis Tool单击MATLAB主窗口下方的“Start”按钮。2、输入心电图信号x=[4 -2 0 -4 -6 -4 -2 -4 -6 -6 -4 -4 -6 -6 -2 6 12 8 0 -16 -38 -60 -84 -90 -66 -32 -4 -2 -4 8 12 12 10 6 6 6 4 0 0 0 0 0 -2 -4 0 0 0 -...

IIR数字滤波器的设计
利用MATLAB信号处理工具箱中的滤波器设计和分析工具(FDATool)可以很方便地设计出符合应用要求的未经量化的IIR数字滤波器。需要将MATLAB设计出的IIR数字滤波器进一步分解和量化,从而获得可用FPGA实现的滤波器系数。IIR数字滤波器的设计方法有两类:间接设计法和直接设计法。间接设计法是借助模拟滤波器设计方法...

fir滤波器和iir的区别在哪里
iir的滤波输出取决于当前输入数据、历史输入数据和历史输出数据。以基于FPGA硬件的数字滤波器为例,fir在处理信号时不需等待前一个信号的滤波输出,只需要考虑输入数据便可实时滤波,iir需要等待上一个信号的滤波输出,存在一定的时间延迟,所以处理速度上没有fir快。

求教如何量化IIR数字滤波器系数?
为了设计出可用FPGA实现的数字滤波器,需要对上一步分解获得的二阶基本节的滤波器系数进行量化,即用一个固定的字长加以表示。量化过程中由于存在不同程度的量化误差,由此会导致滤波器的频率响应出现偏差,严重时会使IIR滤波器的极点移到单位圆之外,系统因而失去稳定性。为了获得最优的滤波器系数,采用以下步骤...

相似回答