2026/6/10 4:26:56
网站建设
项目流程
建设网站的收费,网站备案去哪里备案,福田蒙派克6座二手值多少钱,禹城做网站的公司FIR 滤波器是数字信号处理中非常重要的一类滤波器#xff0c;它具有无条件稳定和严格线性相位的特性#xff0c;这使其在许多应用中非常受欢迎。 #x1f9d0; FIR 滤波器基础
FIR 滤波器通过将输入信号与滤波器的冲激响应进行卷积来实现滤波功能。
冲激响应 (Impulse Res…FIR 滤波器是数字信号处理中非常重要的一类滤波器它具有无条件稳定和严格线性相位的特性这使其在许多应用中非常受欢迎。 FIR 滤波器基础FIR 滤波器通过将输入信号与滤波器的冲激响应进行卷积来实现滤波功能。冲激响应 (Impulse Response):它的长度是有限的因此得名“有限冲激响应”。结构类型:FIR 滤波器属于非递归系统Non-recursive System这意味着它的输出只依赖于当前的输入和过去的输入样本而不依赖于过去的输出样本。y [ n ] ∑ k 0 M b k ⋅ x [ n − k ] y[n] \sum_{k0}^{M} b_k \cdot x[n-k]y[n]k0∑Mbk⋅x[n−k]其中y [ n ] y[n]y[n]是时刻n nn的输出信号。x [ n ] x[n]x[n]是时刻n nn的输入信号。b k b_kbk是滤波器的系数通常称为“抽头”或“Taps”它们就是滤波器的冲激响应h [ k ] h[k]h[k]。M MM是滤波器的阶数滤波器的长度抽头数为N M 1 N M 1NM1。️ FIR 滤波器的典型架构直接形式 I (Direct Form I)最常见和最直观的 FIR 滤波器架构是直接形式 I也称为横向结构Transversal Structure。这种结构由以下基本单元组成延迟单元 (Delay Elements,z − 1 z^{-1}z−1):用于存储输入信号的过去M MM个样本。在数字实现中这通常是一个移位寄存器或环形缓冲区。在时刻n nn移位寄存器存储了输入信号的{ x [ n ] , x [ n − 1 ] , … , x [ n − M ] } \{x[n], x[n-1], \dots, x[n-M]\}{x[n],x[n−1],…,x[n−M]}这些样本。乘法器 (Multipliers):每个延迟的输入样本x [ n − k ] x[n-k]x[n−k]都与相应的滤波器系数b k b_kbk相乘。加法器 (Summers/Accumulators):所有乘法的结果被累加起来产生最终的输出样本y [ n ] y[n]y[n]。架构特点总结:简单直观:这种结构直接对应于 FIR 滤波器的卷积求和公式。计算量:对于一个N NN阶M N − 1 MN-1MN−1的滤波器每个输出样本需要N NN次乘法和N − 1 N-1N−1次加法。存储需求:需要存储N NN个输入样本和N NN个系数b k b_kbk。 线性相位 FIR 滤波器的对称结构FIR 滤波器的一个最大优点是可以轻松设计成严格线性相位。线性相位意味着滤波器的群延迟是常数不会引起信号的相位失真即信号中不同频率分量的延迟时间相同。当滤波器系数满足对称或反对称关系时即可实现线性相位对称:b k b M − k b_k b_{M-k}bkbM−k反对称:b k − b M − k b_k -b_{M-k}bk−bM−k利用这种对称性可以设计出简化的结构来减少乘法器的数量从而降低计算复杂度并节省硬件资源。简化结构原理:以对称系数为例如M 4 M4M4的滤波器y [ n ] b 0 x [ n ] b 1 x [ n − 1 ] b 2 x [ n − 2 ] b 3 x [ n − 3 ] b 4 x [ n − 4 ] y[n] b_0 x[n] b_1 x[n-1] b_2 x[n-2] b_3 x[n-3] b_4 x[n-4]y[n]b0x[n]b1x[n−1]b2x[n−2]b3x[n−3]b4x[n−4]因为b 0 b 4 b_0b_4b0b4且b 1 b 3 b_1b_3b1b3可以重写为y [ n ] b 0 ( x [ n ] x [ n − 4 ] ) b 1 ( x [ n − 1 ] x [ n − 3 ] ) b 2 x [ n − 2 ] y[n] b_0 (x[n] x[n-4]) b_1 (x[n-1] x[n-3]) b_2 x[n-2]y[n]b0(x[n]x[n−4])b1(x[n−1]x[n−3])b2x[n−2]操作变化:变为先进行加法然后用一个系数进行乘法。优势:乘法次数从N NN次5次减少到大约N / 2 N/2N/2次3次。⚡ 快速 FIR 滤波利用 FFT对于非常高阶的 FIR 滤波器直接形式或对称形式的实时实现可能需要大量的乘法运算。在这种情况下可以利用快速傅里叶变换 (FFT)来实现滤波基于时域卷积相当于频域相乘的原理y [ n ] x [ n ] ∗ h [ n ] ⇔ Y [ k ] X [ k ] ⋅ H [ k ] y[n] x[n] * h[n] \quad \Leftrightarrow \quad Y[k] X[k] \cdot H[k]y[n]x[n]∗h[n]⇔Y[k]X[k]⋅H[k]实现步骤 (重叠相加法/重叠保留法):将长输入信号x [ n ] x[n]x[n]分割成较短的块。对输入信号块x b l o c k [ n ] x_{block}[n]xblock[n]和滤波器冲激响应h [ n ] h[n]h[n]进行FFT得到X b l o c k [ k ] X_{block}[k]Xblock[k]和H [ k ] H[k]H[k]。在频域将它们相乘得到Y b l o c k [ k ] X b l o c k [ k ] ⋅ H [ k ] Y_{block}[k] X_{block}[k] \cdot H[k]Yblock[k]Xblock[k]⋅H[k]。对Y b l o c k [ k ] Y_{block}[k]Yblock[k]进行IFFT得到输出信号块y b l o c k [ n ] y_{block}[n]yblock[n]。将输出块进行适当的重叠处理取决于使用重叠相加还是重叠保留以形成最终的输出信号y [ n ] y[n]y[n]。优势:当滤波器阶数N NN非常大时FFT 算法的复杂度O ( N log N ) O(N \log N)O(NlogN)通常远低于直接卷积O ( N 2 ) O(N^2)O(N2)或O ( N ) O(N)O(N)forM MMlength filter可以显著提高运算速度。