⑴ MATLAB中FIR滤波器如何设计
一般滤波的要求主要是通带边界频率、阻带边界频率、通带最大波纹及阻带最小衰减。
而由FIR滤波器的窗函数基本参数,可以知道,最小阻带衰减只由窗形状决定,不受窗宽N的影响;而过渡带的宽度则既与窗形状有关,且随窗宽N的增加而减小。
这样的话,设计一个FIR滤波器,主要是由阻带最小衰减来确定窗形状,再根据过渡带宽的要求来确定窗宽N。有一个窗函数基本参数表,可以对照着选。然后用MATLAB中fir1函数来设计,其语法格式为:b=fir1(N,wn,'ftype',window)。需简单计算N,wn
例题:
设计一个低通数字滤波器,给定抽样频率为fs=5000Hz,通带截止频率wp=500Hz,阻带起始频率ws=800Hz,阻带衰减不小于-50dB。
解答:
由于阻带衰减为50dB,查表,可选海明窗,其阻带最小衰减为53dB,过渡带宽度为6.6π/N。
MATLAB程序如下:
wp=500*2/5000;% 频率归一化
ws=800*2/5000;
wdel=ws-wp;% 过渡带宽
wn=0.5*(wp+ws);% 近似计算截止频率
N=ceil(6.6*pi/wdel);% 根据过渡带宽度求滤波器阶数
window=hamming(N+1);% 海明窗
b=fir1(N,wn,window);% FIR滤波器设计
freqz(b,1,512);% 查看滤波器幅频及相频特性
⑵ 简述采用窗函数法设计FIR数字滤波器的设计步骤及主要公式。
将模拟频率转化为数字频率,设取样时间为T(要满足抽样定理)
Ωp=2π*fp*T Ωs=2π*fs*T
过渡带宽度△Ω=Ωp-Ωs
阻带衰减已经超过74db,要选用Kaiser窗了,Kaiser的参数可变,要根据公式确定滤波器的参数
一般都选用Ⅰ型线性相位滤波器即滤波器阶数M为偶数,程序如下:
wp=;ws=;Ap=1;As=100;
Rp=1-10.^(-0.05*Ap);Rs=10.^(-0.05*As);
f=[fp fs];
a=[0 1];
dev=[Rp Rs];
[M,wc,beta,ftype]=kaiserord(f,a,dev);
M=mod(M,2)+M;
h=fir1(M,wc,ftype,kaiser(M+1,beta));
omega=linspace(0,pi,512);
mag=freqz(h,[1],omega);
plot(omega/pi,20*log10(abs(mag)));
grid;
omega1=linspace(0,wp,512);
h1=freqz(h,[1],omega1);
omega2=linspace(ws,pi,512);
h2=freqz(h,[1],omega2);
fprintf('Ap=%.4f\n',-20*log10(min(abs(h1))));
fprintf('As=%.4f\n',-20*log10(max(abs(h2))));
运行程序可以得到滤波器的通阻带衰减,画出频率响应,若同阻带衰减不满足要求还可以使用滤波器的优化,一般使用的等波纹FIR进行优化
⑶ 急!!!!!!!!用窗函数法设计FIR滤波器的主要特点是什么
系统的单位冲激响应h (n)在有限个n值处不为零。系统函数H(z)在|z|>0处收敛,极点全部在z = 0处(因果系统)。结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。
设FIR滤波器的单位冲激响应h (n)为一个N点序列,0 ≤ n ≤N —1,则滤波器的系统函数为H(z)=∑h(n)*z^-k。
就是说,它有(N—1)阶极点在z = 0处,有(N—1)个零点位于有限z平面的任何位置。
(3)fir的设计方法有哪些扩展阅读:
在进入FIR滤波器前,首先要将信号通过A/D器件进行模数转换,把模拟信号转化为数字信号;为了使信号处理能够不发生失真,信号的采样速度必须满足香农采样定理,一般取信号频率上限的4-5倍做为采样频率;
一般可用速度较高的逐次逼进式A/D转换器,不论采用乘累加方法还是分布式算法设计FIR滤波器,滤波器输出的数据都是一串序列,要使它能直观地反应出来,还需经过数模转换,因此由FPGA构成的FIR滤波器的输出须外接D/A模块。
FPGA有着规整的内部逻辑阵列和丰富的连线资源,特别适合于数字信号处理任务,相对于串行运算为主导的通用DSP芯片来说,其并行性和可扩展性更好,利用FPGA乘累加的快速算法,可以设计出高速的FIR数字滤波器。
⑷ 简述 频率采样法设计FIR数字滤波器的步骤!
第一步:确定希望逼近的理想滤波器的频率响应
第二步:在频域内对进行N点等间隔采样,利用频率采样设计公式求频率采样值Hd(k),采样间隔△ω=2π/N=O.1 π,这样在通带内共有3个采样点,分别是k=0,1,2。利用频率采样设计式(10)和式(11),可以得到:
第三步:用离散傅里叶逆变换求得要设计的实际滤波器的单位脉冲响应h(n):
第四步:根据傅里叶变换的定义求得实际滤波器的频率响应,验证是否满足滤波器技术指标的要求,主要验证滤波器的阻带衰减是否能够满足阻带的要求。借助于Matlab软件,按照以上4个步骤设计出低通滤波器的仿真结果如图2所示。
由仿真结果图2(d)可以看出其衰减比较小,约为-17 dB。在通常情况下,这个阻带衰减不能满足阻带技术指标的要求,可以通过在通带和阻带之间的边界频率处增加过渡采样点来增大阻带衰减。
为改进阻带衰减,在边界频率处增加一个过渡点;为保证过渡带宽不变,将采样点数增加一倍,变为N=40,并将过渡点的采样值进行优化,取H1=0.390 4,其仿真结果如图3所示。由图3(d)可见,这时阻带衰减达到了-43 dB。
⑸ 请简述窗函数法设计FIR数字滤波器的方法与步骤。
滤波器的理想频率响应函数为Hd(ejω),则其对应的单位脉冲响应为hd(n)=窗函数设计法的基本原理是用有限长单位脉冲响应序列h(n)逼hd(n)。由于hd(n)往往是无限长序列,且是非因果的,所以用窗函数。w(n)将hd(n)截断,并进行加权处理:
h(n)=hd(n)w(n)h(n)就作为实际设计的FIR数字滤波器的单位脉冲响应序列,其频率响应函数H(ejω)为H(ejω)=用窗函数法设计的滤波器性能取决于窗函数w(n)的类型及窗口长度N的取值。设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N。
一般都选用Ⅰ型线性相位滤波器即滤波器阶数M为偶数,程序如下:
wp=;ws=;Ap=1;As=100;
dev=[Rp Rs];
[M,wc,beta,ftype]=kaiserord(f,a,dev);
M=mod(M,2)+M;
plot(omega/pi,20*log10(abs(mag)));
运行程序可以得到滤波器的通阻带衰减,画出频率响应,若同阻带衰减不满足要求还可以使用滤波器的优化,一般使用的等波纹FIR进行优化。
(5)fir的设计方法有哪些扩展阅读:
滤波器与机箱之间的一段连线会产生两种不良作用: 一个是机箱内部空间的电磁干扰会直接感应到这段线上,沿着电缆传出机箱,借助电缆辐射,使滤波器失效;另一个是外界干扰在被板上滤波器滤波之前,借助这段线产生辐射,或直接与线路板上的电路发生耦合,造成敏感度问题;
滤波阵列板、滤波连接器等面板滤波器一般都直接安装在屏蔽机箱的金属面板上。由于直接安装在金属面板上,滤波器的输入与输出之间完全隔离,接地良好,电缆上的干扰在机箱端口上被滤除,因此滤波效果相当理想。