FIR数字滤波器原理及硬件完成办法
接待各位眷注转发交换,不定时更新!
1、FIR滤波器的原理
FIR滤波器的转达函数为:
转换到时域为:
信号经过FIR滤波器不失真的条件就是滤波器在通带内具有恒定的幅频特性和线性相位特性,FIR滤波器和后方要说的IIR滤波器比拟,其主要优点就是线性相位。
线性相位的体系必要其单位冲激呼应h[n]满意底下的式子,即体系单位冲激呼应奇对称或偶对称。
由于N可以取奇数大概偶数,并且又有正负之分,固FIR滤波器的单位冲激呼应一共有四种不同的情况,底下具体讨论:
1)、h[n]=h[N-1-n],且N为奇数
可以看出在该条件下,体系传输函数具有严厉的线性相位,并且从上式看得出其幅频特性中包含cos(nw)函数,固幅频函数关于w=0,pi,2*pi三点偶对称,固该典范的FIR滤波器(体系冲激呼应h[n]长度为奇数且关于N-1/2偶对称)合适计划高通,低通,带通,带阻等各种滤波器。
2)、h[n]=h[N-1-n],且N为偶数
可以看出在该条件下,体系传输函数具有严厉的线性相位,并且从上式看得出其幅频特性中包含cos[(n-1/2)w)]函数,其关于w=pi奇对称,固其在w=pi处一定即是0,因此该典范FIR滤波器不合适计划高通和带阻型。
3)、h[n]=-h[N-1-n],且N为奇数
由于h[n]奇对称,且N为奇数,那么可以得出h[(N-1)/2]=0,依据外表推导可以取得该体系传输函数为:
由于sin(nw)关于w=0,pi,2pi奇对称,固改体系传输幅频特性在w=0,pi,2pi点必需是0,因此该典范FIR滤波器只合适计划带通滤波器。
4)、h[n]=-h[N-1-n],且N为偶数
由于sin[(n-1/2)w]关于w=0,2pi奇对称,关于w=pi偶对称,因此该典范FIR滤波器不克不及计划低通和带阻滤波器。
可以看出在h[n]满意上述四种情况时,体系的传输函数的相频特性都满意线性相位的要求,但是当h[n]奇对称时,经过该滤波器的一切频率因素上都市分外添加一个90度的相移,这相当于对进入FIR滤波器的信号优秀行了移相在滤波。并且不管h[n]是偶对称照旧奇对称,信号颠末FIR滤波器后会引入一个N-1/2的群延时。
2、FIR滤波器的完成办法
2.1、窗函数计划法
依据外表分析,我们看到FIR滤波器的计划主要是确定其冲激呼应h[n]的系数,不同的体系对应不同的频率特性。试想关于一个抱负低通滤波器,其频域的仅限宽度,对应到时域就是无穷长,这一定是物理不成完成的,在实际中,我们为了FIR的可完成性,会选择加窗的办法去对抱负型滤波器举行迫近。
窗函数计划法,但是就是一种无穷长度的截断,这会形成一个成绩,那就是频谱的流出 ,试想抱负滤波器的冲激呼应是无穷长,假如截取此中一段举行近似表现,那么截取后的信号频谱其频域将会无穷长,那么经过加窗就形成原有的仅限频带疏散到无穷的频带上,这就是所谓的频谱流出。频谱流出不成制止,但是要尽力减小。
在实践的计划历程中窗函数的典范有很多,不同窗函数对计划的滤波器功能有不同的影响,实践使用中要依据不同的需求选择不同的窗函数。具体可以看下图所示,可以看到不同的窗函数都具有分明的主瓣和旁瓣,此中主瓣宽度和旁瓣的衰减特性是不同窗函数分明的不同也是我们拔取窗函数的依据,矩形窗具有最窄的主瓣宽度,但也有最大的旁瓣幅度(第一旁瓣较主瓣约莫只衰减13dB);blackman窗具有最大的旁瓣衰减,同时也有最大的主瓣宽度,通常hanning窗和hamming窗具有较小的旁瓣幅度和较快的衰减(分散干系到计划FIR滤波器的旁瓣电安然过渡带宽度),是常用的窗函数。
下表给出了不同窗函数的主瓣宽度和第一旁瓣衰减,后方会讲到窗函数计划FIR滤波器历程中会使用到这些参数。
窗函数典范 | 主瓣宽度 | 第一旁瓣衰减(dB) |
矩形窗 | 4pi/N | -13 |
汉宁窗 | 8pi/N | -31 |
哈明窗 | 8pi/N | -41 |
bartlett窗 | 8pi/N | -25 |
blackman窗 | 12pi/N | -57 |
三角窗 | 8pi/N | -25 |
Kaiser窗 | 可调 | 可调 |
chebyshew窗 | 可调 | 可调 |
使用窗函数计划滤波器十分简便,其步调为:
1)、对抱负滤波器的频域呼应举行Fourier逆变动取得抱负滤波器的单位冲激呼应h[n];
2)、依据计划FIR滤波器的功能目标选择呼应的窗函数对外表的抱负滤波器的单位冲激呼应举行加窗截取即可。
寻常情况下,使用窗函数举行FIR滤波器计划历程中,窗的长度选择的越长,那么取得的滤波器其幅频特性越好,但是对应的数据处理量就会越大,比如当我们给定了必要计划FIR滤波器的过渡带宽度就可以依据外表表格的主瓣宽度取得窗口长度N。另有一个必要明白的就是经过外表各种窗函数的图形我们晓得使用窗函数取得的FIR滤波器的单位冲激呼应h[n]一定是偶对称的,那么当N为偶数时不支持计划高通和带阻滤波器,假如要计划就必需满意N是奇数才行。
?举例分析:假定我们必要计划一个FIR低通滤波器,该滤波器功能目标如下:通带归一化频带wp=0.3(0.3*5000=1500Hz),阻带归一化频点wp=0.5(0.5*5000=2500Hz),阻带衰减不小于30dB,通带纹波不高于3dB,并使用计划的低通滤波器对输入的信号sin(2*pi*f1*t)+sin(2*pi*f2*t),此中f1=1KHz,f2=3.3KHz,采样频率fs=10KHz的信号举行滤波.
计划分析:依据要求,该FIR滤波器的阻带衰减要大于30dB,那么依据外表表格,我们就不克不及选择像矩形窗如此的窗函数,这里我们可以选择哈明窗,由于其第一旁瓣衰减有41dB满意要求;由于过渡带宽度为:0.5pi-0.3pi=0.2pi,那么由此可以取得哈明窗的窗函数长度N=40。
察看经过hamming窗后取得的滤波器频响曲线切合计划要求,当我们使用加窗后的滤波器对我们的输入举行滤波,取得的滤波后果如下图所示:
可以看到滤波后,3.3KHz由于在滤波器通带以外,固会被滤除,而1KHz由于位于通带内里则保存了下去,同时可以看到选择切合的窗函数典范,可以取得更好的滤波器后果(比如上图汉明窗和矩形窗的比力)。同时从上图的滤波器时域输入可以看到信号颠末FIR滤波器后有一段固有的延长,这个延长长度就是我们之前说的群延长为:N-1/2。
MATLAB中集成了fir1函数,其就是接纳经典的窗函数的办法去举行FIR滤波器的计划,其调用格式为:
b=fir1(n,wn[,'ftype',window]
此中,n为要完成的FIR滤波器的阶数,wn为相应FIR滤波器的停止频率,范围是0-1,'ftype'为滤波器典范,好比'high'代表高通,window为窗函数典范,其长度为n+1,默许接纳哈明窗。
2.2、频率采样法计划FIR滤波器
外表讲的窗函数计划法是从时域的角度动身,那么我们可否从频域角度动身去计划我们必要的FIR滤波器呢?答案是一定的。
频率采样法的目标也是渴望布局出一个与抱负滤波器频率呼应尽力迫近的物理可完成滤波器。
假定,抱负滤波器的传输函数为:
假如对外表的一连频谱举行采样,由于散伙信号的频谱是周期的,固在0-2pi一连采样N个点,那么取得采样后的散伙频谱为:
为了对抱负频谱采样后,事先域呼应h[n]满意线性相位的要求,即:
依据第一节分析,当h[n]=h[N-1-n],且N为奇数时,相应FIR滤波器的幅频特性A(w)关于w=0,pi,2pi三点偶对称;同理相应FIR滤波器的相位特性满意下式:
使用频率采样法计划滤波器也十分简便,其步调为:
1)、依据计划FIR滤波器的计划目标,取得采样后的FIR滤波器的频域表现;
2)、依据反变动取得相应FIR滤波器的时域表现即可;
举例分析:当我们使用频率采样法,对抱负低通滤波器举行采样,计划一个停止频率为pi/5的低通滤波器,并比力不同的频域采样点数对后果的影响?
除了外表的计划办法外,另有其他很多最优的FIR滤波器计划办法,在实践使用中,我们可以使用MATLAB提供的filterdesign举行FIR滤波器计划,具体设置界面如下图所示,输入本人的计划需求,东西就能主动天生你必要的FIR系数。
3、FIR滤波器的硬件完成办法
3.1、并行布局FIR滤波器布局
依据外表两节原理先容,我们晓得一个FIR滤波器,其硬件完成上就是一系列的乘法及加法器布局,具体如下图所示,可以看到最直观的硬件完成关于N位的FIR滤波器,我们必要N个乘法器和N-1个加法器也即所谓的并行布局。
在实践硬件完成历程中可以依据实践需求对底下框图举行变形,以计划出满意硬件完成要求的FIR滤波器。
3.2、串型布局FIR滤波器布局
所谓的串型布局,就是关于上图的布局我们硬件完成上仅有一个乘法器和一个加法器,输入数据x[n]以fclk输入到N bits移位存放器组,而底下虚线框图的乘法器和累加器事情在N*fclk时钟下,即可以确保本人一个x[n]输入前,Nbit移位存放器内里的数据都举行了上图所示的乘累加盘算。这里必要注意的是滤波器的输入y[n]是以fclk输入。如此的布局的利益就是我们可以以较少的硬件代价完成上图所示的FIR滤波器。
3.3、转置型FIR滤波器布局
依据3.1节的FIR滤波器布局,我们可以略微变形,就会取得转置型FIR滤波器的完成,具体如下图所示,与3.1节的直接型FIR比拟,转置型FIR没有增长大概低落实践的硬件开支(实践上转置型FIR硬件开支要大,由于其打拍的是乘法器输入的后果,这点要注意),但是由于转置型FIR滤波器变小了紧张途径延长,固实践完成电路较直接型可以收敛到更高的事情频率上。
在实践硬件完成历程中,除了外表的办法另有很多其他办法,好比由于FIR滤波器的系数是对称的,固我们是不是可以将相反的系数举行兼并,那么一定能节流一定数目标硬件资源,另有譬如分布式(DA)算法等这里不再赘述。