转载:http://05240430.blog.163.com/blog/static/13335939420112101051357/
FIR 滤波器(基础知识)
2011-03-12 10:15:28| 分类: fpga | 标签:fir 滤波器的fpga实现 |举报 |字号大中小 订阅
首先FIR滤波器是数字滤波器的一种,另外一种是IIR滤波器。稳定和线性相位的特性是FIR滤波器的显著特点。对线性相位不是很明白,所以查了一下,下边是别人的解释:
( 在数字信号处理中,经常要求系统具有线性相位。比如说,在滤波器设计中,FIR滤波器的线性相位的特点使其备受青睐。
从数学概念上讲,线性相位就是要求系统的相频特性是一条直线。而且从数学公式出发,可以很容易证明系统冲激响应如果满足对称性的条件,无论是奇对称还是偶对称,则系统必具有线性相位。如何理解呢?
线性相位所表示的物理意义是系统对所有频率信号所产生的延迟都是一样的。对于因果可实现系统来说,最好的情况是输出仅与当前输入有关,此时延迟为零。一般的因果可实现系统都会产生延迟。
由傅里叶分析理论可知,在满足一定的条件下,任意信号都可以分解为正弦信号的叠加。如果一个系统不具有线性相位,系统可能会对输入信号造成失真或变形。比如一个方波信号通过一个系统,如果系统具有线性相位,则通过系统后仍然是一个方波,仅仅是时间上有所延迟。这是因为所有的频率都延迟相同的时间。如果系统不具有线性相位的话,输出就不再是标准的方波了,上升沿不再那么陡峭,而是会有一个比较明显的过渡带。而且方波的顶部也会有一些波纹。这从一个侧面也可了解线性相位的重要性。
同样由傅里叶分析理论,我们知道,频域上的一个点表示了时域的一个正弦信号。比如在频域,在f=0.1fs处有一个值,我们知道,在时域上必有一个频率为0.1fs的正弦信号,为方便描述,用复信号表示:exp(j*2*pi*0.1*n)。由互易性原理可知,时域的一个点表示了频域的一个正弦信号。比如在时域,n=n0处有一个值,在频域必对应一个正弦信号:exp(-j*w*n0),此处w表示数字频率。这点通过DFT的时延性质也很好理解。这也即是说,如果系统冲激响应h(n)时域n=n0有值的话,会造成输入信号n0*Ts时间的延迟。同理,如果h(n)在n=n2也有一个值,并且值的大小与h(n0)相同的话,其造成的延时为n2,如果n0与n2关于n1对称的话,则延迟时间要取n0与n2的平均,也即是这两个点造成的系统延时是n1。同理,如果h(n)序列中的其它点都关于n1对称的话,则每个关于n1对称的点合力作用的结果都是使输入信号延迟n1*Ts秒。那么系统总的延时也就是n1*Ts秒了,从互易性原理出发,我们可以很方便地理解对称性与线性相位的关系,也可以很方便地计算出系统的延迟时间。)
FIR滤波器具有线性相位的条件:单位脉冲响应h(n)(系数),必须是实数,而且应该是奇对称或者偶对称的。
1、FIR滤波器原理