基于切比雪夫最佳一致逼近的FIR滤波器设计Word下载.doc
《基于切比雪夫最佳一致逼近的FIR滤波器设计Word下载.doc》由会员分享,可在线阅读,更多相关《基于切比雪夫最佳一致逼近的FIR滤波器设计Word下载.doc(13页珍藏版)》请在冰点文库上搜索。
IIR滤波器可借助于模拟滤波器的设计方法进行,有典型的滤波器类型可供使用,但设计只考虑了幅度特性,役考虑相位特性,它的相位特性一般是非线性的。
FIR滤波器在保证幅度特性满足技术要求特性的同时,很容易做到有严格的线性相位特性,稳定和线性相位特性是FIR滤波器的突出优点。
FIR滤波器的设计主要有以下方法:
窗函数法设计简单、方便、实用,其误差特性是在最小平方意义上的逼近,边界频率不易控制是其最大不足;
频率采样法最大优点是直接从频率域进行设计,比较直观,边界频率也不易控制,在考虑成本的情况下,适合于窄带滤波器的设计。
切比雪夫逼近法是一种等波纹逼近法。
它使误差频带均匀分布,对同样的技术指标,这种逼近法需要的滤波器阶数低,而对同样的池波器阶数,这种逼近法最大误差最小.本文在介绍切比雪夫一致逼近定理和切比雪夫多项式的基础上,详细讨论了利用切比雪夫最佳一致通近法设计FIR滤波器,并对设计过程中误差函数的极值特性进行了讨论。
2切比雪夫一致逼近定理
3用切比雪夫最佳一致逼近法设计FIR滤波器
(3)式可写成矩阵形式,并将a(n)写成,则有
可唯一求出系数及偏差,这样最佳滤波器便可构成。
利用,运用“交错点组定理”以及“Remez算法”,即可求得最佳的,和。
5实验结果及分析
利用切比雪夫最佳一致逼近法设计滤波器,可以通过规定其通带截止频率,阻带截止频率,通带最大衰减分贝数,阻带最小衰减分贝数,通过算法无限的逼近理想滤波器,而这些是其他FIR滤波器无法比拟的。
5.1高通滤波器设计
设计一FIR数字高通滤波器滤掉50Hz的工频信号,需保留的信号为2kHz,滤波器的抽样频率为20kHz,要求fp=1kHz,fs=200Hz,ap=0.707dB,as=20dB;
图5.1.1
上图是输入为正弦信号的50Hz工频噪声和2kHz有用信号的幅频响应;
图5.1.2
上图是该FIR高通滤波器的相位特性,从上图我们可以发现它是线性相位的;
图 5.1.3
上图是该FIR高通滤波器的幅频特性,从上图我们可以看出2kHz信号几乎无衰减,50Hz信号衰减分贝数很大,通带是等纹波的;
图5.1.4
上图是滤波后的信号的幅频特性,可以看到50Hz的工频信号几乎被衰减了;
5.2多阻带陷波器设计
设计一三阻带滤波器,抽样频率为500Hz,以去掉工频信号(50Hz)及其二次,三次谐波的干扰,保留10Hz,70Hz与130Hz的信号,并设置滤波器的通带与阻带边缘频率为[304055608090110120135140160170],并设置其通带最大衰减分贝数为0.707dB,阻带最小衰减分贝数为18dB;
图5.2.1
上图为所加离散正弦波信号(有用信号与噪声)的幅频响应;
图5.2.2
上图为所设计的多阻带陷波器的幅频响应,从图中我们可以发现通带都是等纹波的,而且通带几乎无衰减,并且三个阻带呈现相同程度的大程度的衰减;
图5.2.3
从上图我们可以看到经过滤波器后的信号幅频响应,50Hz,100Hz,150Hz的信号几乎被过滤了;
6小结:
通过matlab设计该FIR滤波器,我们可以发现FIR滤波器容易实现线性相位,并且不存在稳定性问题,通带与阻带是等纹波的,并且可以预先设计它的通带与阻带边缘频率,通过切比雪夫算法去逼近理想滤波器。
7附录:
7.1高通滤波器程序:
clearall;
N=200;
n=0:
N-1;
f1=50;
f2=2000;
fs1=5000;
FS=20000;
fl=n*fs1/N;
figure(6)
x=sin(2*pi*f1*n/fs1)+sin(2*pi*f2*n/fs1);
plot(n,x);
x1=fft(x);
x2=abs(x1);
figure
(1)
plot(fl(1:
N/2),x2(1:
N/2));
title('
混有50Hz工频信号的幅频响应'
),xlabel('
f/Hz'
)
gridon;
f=[2001000];
A=[01];
rp=0.707;
rs=20;
dev=[10^(rp/20)-110^(-rs/20)];
[n1,f0,A0,w]=remezord(f,A,dev,FS);
ifrem(n1,2)
n1=n1+1;
end
b=remez(n1,f0,A0,w);
[h,w]=freqz(b,1,256,FS);
hphase=angle(h);
hphase=unwrap(hphase);
figure(7)
plot(w,hphase);
grid;
FIR高通滤波器的相频响应'
hr=abs(h);
hr=20*log10(hr);
figure(3)plot(w,hr);
y=fftfilt(b,x);
figure(5)
plot(n,y);
x3=abs(fft(y));
figure(4)
N/2),x3(1:
N/2)),gridon,title('
通过多阻带滤波器后信号的幅频响应'
7.2多阻带陷波器程序:
f1=10;
f2=50;
f3=70;
f4=100;
f5=130;
f6=150;
FS=500;
fl=n*FS/N;
x=sin(2*pi*f1*n/FS)+sin(2*pi*f2*n/FS)+sin(2*pi*f3*n/FS)+sin(2*pi*f4*n/FS)+sin(2*pi*f5*n/FS)+sin(2*pi*f6*n/FS);
stem(n,x,'
.'
);
x1=abs(fft(x));
N/2),x1(1:
title(混有50Hz及其二倍频,三倍频信号的幅频响应),xlabel('
f=[304055608090110120135140160170];
A=[1010101];
rs=18;
devp=10^(rp/20)-1;
devs=10^(-rs/20);
dev=[devpdevsdevpdevsdevpdevsdevp];
[n,f0,A0,w]=remezord(f,A,dev,FS);
ifrem(n,2)
n=n+1;
b=remez(n,f0,A0,w);
h1=angle(h);
h1=unwrap(h1);
plot(w,h1);
grid,title('
FIR多阻带滤波器的相频响应'
h=abs(h);
h=20*log10(h);
figure
(2)
stem(b,'
figure(3)
plot(w,h);
FIR多阻带滤波器的幅频响应'
stem(y,'
y1=abs(fft(y));
N/2),y1(1:
title(‘通过滤波器后的幅频响应’),xlabel('