虽然矩形窗得到的低通滤波器有较好的特性,但是由于其边缘陡峭,旁瓣出现振铃,且变化较为明显。
(2)频率响应采样法设计FIR低通滤波器 。 设计原理及滤波器性能分析:
.频率采样法是从频域出发,对给定的理想滤波器的频响
进行N点等间隔采样
然后以此Hd(k)作为实际FIR滤波器的频率特性采样值H(k),即令:
由DFT定义,可以用这N个频域的采样值H(k)来惟一确定FIR的单位脉冲响应h(n),即:
图示如下:
对设计出的滤波器频率响应特性进行分析。由频域采样定理中的内插公式可以知道,利用这N个频域采样值H(k)同样可以求得FIR滤波器的频率响应逼近理想滤波器的频响 。
的内插公式为:
,这个
将
式中(w)是内插函数:
(1)
把(2)式带入(1)式,化简后可得:
(2)
(3)
从式(3)可以看到,在各频率采样点上,设计的滤波器,实际的频率响应严格地与理想滤波器的频率响应数值相等,即
但是在采样点之间的频率响应是由各采样点的加权内插函数叠加而形成的,因而有一定的逼近误差。该误差大小取决于理想频率响应的形状,理想频响特性变化越平缓,内插值越接近理想值,逼近误差越小;反之,如果采样点之间的理想频响特性变化越陡,则内插值与理想值之间的误差越大,因而在理想滤波器不连续点的两边,就会产生尖峰,而在通带和阻带就会产生波纹。 线性相位条件:
FIR滤波器的最大优点是严格的线性相位特性。下面讨论为实现线性相位,在频域内采样得到的Hd(k)应满足什么条件。FIR滤波器具有线性相位的条件是h(n)是实序列,且满足h(n)=±h(N-1-n),即h(n)关于
对称,其中N为滤波器的长度。以第一类线性相位条
件h(n)=h(N-1-n)(偶对称)为基础来推导频域采样Hd(k)满足的条件。
理想滤波器的频率响应可以表示为:
(4)
为实现第一类线性相位条件,相位函数θ(ω)和幅度函数Hg(ω)应分别满足:
(5)
在w=0~2*pi之间对
(6)
进行N点等间隔采样,即
,将w
代入式(4)、(5)、(6)并表示为k的函数,可以得到:
(7)
(8)
式(8)和式(9)就是频率采样值Hd(k)满足第一类线性相位的条件。 设计步骤:
1. 确定希望逼近的理想滤波器的频率响应2. 在频域内对
(9)
进行k点等间隔采样,利用频率采样设计公式求频率采样值Hd(k),
采样间隔△ω=π/k=1/512π,这样在通带内共有c个采样点,分别是k=0,1,c-1。 3. 用离散傅里叶逆变换求得要设计的实际滤波器的单位脉冲响应h(n):
4. 根据傅里叶变换的定义求得实际滤波器的频率响应,验证是否满足滤波器技术指标的要求,主要验证滤波器的阻带衰减是否能够满足阻带的要求。 Matlab代码中需要用到的函数知识 >> help linspace
linspace Linearly spaced vector.
linspace(X1, X2) generates a row vector of 100 linearly equally spaced points between X1 and X2.
linspace(X1, X2, N) generates N points between X1 and X2. For N = 1, linspace returns X2. 编写代码如下:
%LPF design 频率响应采样法 %待设计滤波器的基本参数
f_p=3000;%所设计滤波器的通带边缘频率 f_s=3050;%阻带边缘频率 Fs=8000;%采样频率%All in Hz delta_p=0.1;%通带波纹 delta_s=0.1;%阻带波纹
omg_p=2*pi*f_p/Fs;%通带边缘模拟频率转化为数字频率 omg_s=2*pi*f_s/Fs;%阻带边缘模拟频率转化为数字频率 K=512;%理想滤波器长度 M=56;%单位脉冲响应单边长度
C=floor((omg_p+omg_s)/2/pi*K);%理想滤波器中有值部分长度??? Mag=[ones(1,C),zeros(1,K-C)];%幅度
phi=linspace(0,pi,K)*M/2;%相位,范围为0-pi,间隔为pi/K,线性相位特性omg*M/2 H=Mag.*exp(-1j*phi);%|H|*e^j*omg*M/2,待设计的理想滤波器 H=[H,conj(fliplr(H(1:K-1)))];%将H转换为因果的 h0=fftshift(real(ifft(H)));
h=h0(K+M/2-M:K+M/2+M);%相移e^j*omg*M/2,时域采样平移M/2个点 subplot(211);
plot(h);%脉冲响应
axis([1 120 -0.2 0.8]); title('脉冲函数hd(n)'); subplot(212);
plot(abs(fft(h)));%所设计的滤波器的形状 title('所设计的滤波器形状');
图像显示:
增加过渡带抽样点,可加大阻带衰减,但是导致过渡带变宽 增加N,使抽样点变密,减小过渡带带宽,但是增加了计算量 优点:频域直接计算
缺点:抽样频率只能是2π/N或者π/N的整数倍,截止频率不能任意取值 (3)单位脉冲响应法设计IIR滤波器
核心原理:通过对连续函数ha(t)等间隔采样得到离散序列ha(nT)。令h(n)=ha(nT),T为采样间隔。它是一种时域上的转换方法。 设计步骤:
1. 由模拟滤波器的传输函数Ha(s)求出其对应的模拟冲激响应ha(t)
2. 对ha(t)每T秒进行一次采样,采样时间为t=nT,得到数字脉冲响应h(n)=ha(nT) 3. 由h(n)进行z变换可以求出数字滤波器的传输函数H(z) 4. 将z用ej*Omga替换得到数字滤波器的频率响应H(Omga)
编写代码如下:(用要求的参量得不到需要设计的滤波器,这里更换了参数)
%LPF design 脉冲响应不变法(Butterworth) fp=100; fs=300;
Rp=0.91;%通带衰减系数 Rs=20;%阻带衰减系数 Fs=1000; wp=2*pi*fp; ws=2*pi*fs;
[N,Wn]=buttord(wp,ws,Rp,Rs,'s')%求滤波器所需阶数及截止频率 [B,A]=butter(N,Wn,'s')%计算滤波器传输函数系数 W=0:pi/100:pi;
[H,W]=freqs(B,A,W);%滤波器频率响应
%H=20*log10(abs(H)); plot(W,H),grid on;
xlabel('rad');ylabel('幅度/db'); title('所设计的滤波器形状'); axis([0 pi 0 1.1]);
运行结果
N = 3 Wn = 876.3856 B =1.0e+08 *
0 0 0 6.7311
A = 1.0e+08 *
0.0000 0.0000 0.0154 6.7311 图形显示:
(4)双线性法设计IIR滤波器 设计步骤
1. 确定待求通带边缘频率fpass=3000hz,待求阻带边缘频率fstop=3050hz,待求阻带衰减
20db,通带边缘增益-0.91db。
2. 用式子Ω=2π*f/Fs把由hz表示的待求边缘频率转化为由弧度表示的数字频率,得到Ω
pass、Ωstop。
3. 计算预扭曲模拟频率以避免双线性变换带来的失真。由w=2Fs*tan(Ω/2)求得wpass和
wstop单位是弧度/秒。 4. 计算所需滤波器的阶数
5. 把wpass带入n阶模拟巴特沃斯滤波器传输函数H(s)中,并且对其进行双线性变换s=2Fs*
(z-1)/(z+1)得到n阶数字传输函数H(z)。 6. 由H(z)求出滤波器实现所需的差分方程。 7. 把w=2Fs*tan(Ω/2)代入
即可得滤波器的形状|H(Ω)|。 编写代码如下:
%LPF design 双线性变换法(Butterworth) %待设计滤波器的基本参数
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库滤波器设计—fdatool工具及代码设计(3)在线全文阅读。
相关推荐: