基于切比雪夫最佳一致逼近的FIR滤波器设计.doc
《基于切比雪夫最佳一致逼近的FIR滤波器设计.doc》由会员分享,可在线阅读,更多相关《基于切比雪夫最佳一致逼近的FIR滤波器设计.doc(13页珍藏版)》请在冰点文库上搜索。
![基于切比雪夫最佳一致逼近的FIR滤波器设计.doc](https://file1.bingdoc.com/fileroot1/2023-4/29/83c36d8d-bc54-4576-8733-95f24d6e4213/83c36d8d-bc54-4576-8733-95f24d6e42131.gif)
基于切比雪夫最佳一致逼近的FIR滤波器设计
摘要:
基于现在实际生活中检测到的信号都或多或少存在着噪声,当它们同时输入到系统处理时,都会产生各种各样的失真现象,常常不能达到我们的所要求的目的,因此产生了各种各样的滤波器。
由于随着计算机技术的发展,模拟滤波器渐渐被淘汰,数字滤波器逐渐发展起来。
本文将在切比雪夫一致逼近定理和切比雪夫多项式的基础上,讨论了利用切比雪夫最佳一致逼近法和matlab设计FIR高通滤波器和多阻带陷波器,并对设计过程中误差函数的极值特性进行了分析。
关键词:
切比雪夫;最佳一致逼近法;误差函数;FIR滤波器;matlab
1 引言
数字信号处理就是用数值计算的方法对信号进行处理,数字信号处理中的数字滤波器就是一种用运算的方法来对信号进行滤波的。
数字滤波器从实现的网络结构看可分为无限脉冲响应(IIR)滤波器和有限脉冲响应(FIR)滤波器。
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;title('FIR高通滤波器的相频响应'),xlabel('f/Hz')
hr=abs(h);hr=20*log10(hr);
figure(3)plot(w,hr);grid;title('FIR高通滤波器的相频响应'),xlabel('f/Hz')
y=fftfilt(b,x);figure(5)
plot(n,y);grid;x3=abs(fft(y));figure(4)
plot(fl(1:
N/2),x3(1:
N/2)),gridon,title('通过多阻带滤波器后信号的幅频响应'),xlabel('f/Hz')
7.2多阻带陷波器程序:
clearall;
N=200;n=0:
N-1;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);figure
(1)
stem(n,x,'.');grid;
x1=abs(fft(x));figure(4)
plot(fl(1:
N/2),x1(1:
N/2));grid;title(混有50Hz及其二倍频,三倍频信号的幅频响应),xlabel('f/Hz')
f=[304055608090110120135140160170];A=[1010101];rp=0.707;
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;
end
b=remez(n,f0,A0,w);[h,w]=freqz(b,1,256,FS);h1=angle(h);h1=unwrap(h1);
figure(7)
plot(w,h1);grid,title('FIR多阻带滤波器的相频响应'),xlabel('f/Hz')
h=abs(h);h=20*log10(h);figure
(2)
stem(b,'.');grid;figure(3)
plot(w,h);grid;title('FIR多阻带滤波器的幅频响应'),xlabel('f/Hz')
y=fftfilt(b,x);
figure(5)
stem(y,'.');
y1=abs(fft(y));grid;figure(6)
plot(fl(1:
N/2),y1(1:
N/2));grid;title(‘通过滤波器后的幅频响应’),xlabel('f/Hz')