%形成滤波器频率响应 coe_num=12; %求滤波器系数,用傅里叶级数展开法 for n=0:coe_num coeff(n+1)=2sigmafsqrt(pi)exp(-4sigmaf^2pi^2n^2/fr^2)/fr; end for n=1:2coe_num+1 if n<=coe_num+1 b(n)=1/2coeff(coe_num+2-n); else b(n)=1/2*coeff(n-coe_num); end end
时间: 2024-04-23 17:27:08 浏览: 210
coe.rar_Filter Coefficients_coe fir_fir.coe_滤波器_滤波器系数
这段代码的作用是生成一个带有高斯形状的滤波器的系数向量,并且计算出这个滤波器的频率响应。
首先,代码中定义了一个变量 `coe_num`,表示滤波器的系数数量。然后,使用傅里叶级数展开法计算出了滤波器的系数向量 `coeff`。具体地,对于每个系数 `coeff(n+1)`,使用了高斯函数的形式计算出其值,其中 `sigmaf` 表示高斯函数的标准差,`fs` 表示采样频率,`fr` 表示需要滤波的信号的最高频率。这个过程可以看作是在对信号进行滤波时,通过计算滤波器的系数,实现了对信号进行滤波的效果。
接下来,代码中使用了对称 FIR 滤波器的设计方法,根据滤波器的系数向量 `coeff`,生成了一个长度为 `(2*coe_num+1)` 的系数向量 `b`。具体地,使用了类似于对称反转的方法,将 `coeff` 按照一定的规则复制到 `b` 中。最后,代码计算出了这个滤波器的频率响应,可以用于分析这个滤波器在不同频率下的滤波效果。
阅读全文