"FIR数字滤波器.pdf"
本文主要讲述了有限冲激响应(FIR)数字滤波器的设计和实现,特别是使用现场可编程门阵列(FPGA)设计一个参数为输入8位,输出8位的17阶线性相位FIR滤波器。
FIR数字滤波器理论简述
有限冲激响应(FIR)数字滤波器和无限冲激响应(IIR)数字滤波器广泛应用于数字信号处理系统中。IIR数字滤波器方便简单,但它相位的非线性,要求采用全通网络进行相位校正,且稳定性难以保障。FIR滤波器具有很好的线性相位特性,使得它越来越受到广泛的重视。
FIR数字滤波器的特点:
1. 既具有严格的线性相位,又具有任意的幅度;
2. FIR滤波器的单位抽样响应是有限长的,因而滤波器性能稳定;
3. 只要经过一定的延时,任何非因果有限长序列都能变成因果的有限长序列,因而能用因果系统来实现;
4. FIR滤波器由于单位冲击响应是有限长的,因而可用快速傅里叶变换(FFT)算法来实现过滤信号,可大大提高运算效率。
5. FIR也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。
6. FIR滤波器比较大的缺点就是阶次相对于IIR滤波器来说要大很多。
FIR数字滤波器的数学描述
FIR数字滤波器是一个线性时不变系统(LTI),N阶因果有限冲激响应滤波器可以用传输函数(z)来描述:
H(z) = ∑[h(k) \* z^(-k)]
在时域中,上述有限冲激响应滤波器的输入输出关系如下:
y[n] = ∑[h(k) \* x[n-k]]
其中,x[n]和y[n]分别是输入和输出序列。
FIR数字滤波器的实现
N阶有限冲激响应滤波器要用N+1个系数描述,通常要用N+1个乘法器和N个两输入加法器来实现。乘法器的系数正好是传递函数的系数,因此这种结构称为直接型结构。
FPGA实现FIR数字滤波器
FPGA具有规整的内部逻辑块阵列和丰富的连线资源,特别适合细粒度和高并行度结构特点的数字信号处理任务,如FIR、FFT等。利用FPGA实现FIR滤波器的设计过程,并且对设计中的关键技术——分布式算法。
分布式算法是一种以实现乘加运算为目的的运算方法。它与传统算法实现乘加运算的不同在于执行部分积运算的先后顺序不同。简单地说,分布式算法在完成乘加功能时是通过将各输入数据每一对应位产生的部分积预先进相加形成相应部分积,然后在对各部门积进行累加形成最终结果,而传统算法是等到所有乘积产生之后再进行相加来完成乘加运算的。与传统算法相比,分布式算法可极大地减少硬件电路规模,很容易实现流水线处理,提高电路的执行速度。