椭圆滤波器的设计说明Word格式.docx
《椭圆滤波器的设计说明Word格式.docx》由会员分享,可在线阅读,更多相关《椭圆滤波器的设计说明Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
3.2椭圆滤波器的特点
幅值响应在通带和阻带都是等波纹的,对于给定的阶数和给定的波纹要求,椭圆滤波器能获得较其它滤波器为窄的过渡带宽,就这点而言,椭圆滤波器是最优的,其振幅平方函数为
其中RN(x)是雅可比(Jacobi)椭圆函数,ε为与通带衰减有关的参数。
特点:
1、椭圆低通滤波器是一种零、极点型滤波器,它在有限频率围存在传输零点和极点。
2、椭圆低通滤波器的通带和阻带都具有等波纹特性,因此通带,阻带逼近特性良好。
3、对于同样的性能要求,它比前两种滤波器所需用的阶数都低,而且它的过渡带比较窄。
第四章设计过程
4.1椭圆滤波器设计结构图
椭圆滤波器设计结构图如图所示:
图4.1结构框图
4.2设计椭圆数字滤波器的步骤
1.确定数字滤波器的性能指标:
wp,ws,Ap,As。
2.将数字滤波器的性能指标转化成相应模拟滤波器的性能指标。
3.设计满足指标要求的模拟滤波器Ha(s)。
4.通过变换将模拟滤波器转换成数字滤波器
4.3数字滤波器的MATLAB实现和频谱分析
1.Matlab的信号处理工具箱提供了设计椭圆滤波器的函数:
ellipord函数和ellip函数。
Ellipord函数的功能是求滤波器的最小阶数,其调用格式为:
调用格式:
[n,Wp]
=
ellipord(Wp,Ws,Rp,Rs)
n-椭圆滤波器最小阶数;
Wp-椭圆滤波器通带截止角频率;
Ws-椭圆滤波器阻带起始角频率;
Rp-通带波纹(dB);
Rs-阻带最小衰减(dB);
Ellip函数的功能是用来设计椭圆滤波器,其调用格式:
[b,a]
ellip(n,Rp,Rs,Wp)
[b,a]
ellip(n,Rp,Rs,Wp,'
ftype'
)
返回长度为n+1的滤波器系数行向量b和a,
'
='
high'
高通滤波器
low'
低通滤波器
stop'
带阻滤波器
2.Matlab的信号处理工具箱提供了频谱分析函数:
fft函数、filter函数和freqz函数。
fft函数freqz功能是用来求离散时间系统的频率响应。
其调用格式:
[h,w]=freqz(b,a,n)
[h,f]=freqz(b,a,n,Fs)
h=freqz(b,a,w)
h=freqz(b,a,f,Fs)
freqz(b,a,n)
说明:
freqz用于计算数字滤波器H(Z)的频率响应函数H(ejω)。
[h,w]=freqz(b,a,n)可得到数字滤波器的n点复频响应值,这n个点均匀地分布在[0,π]上,并将这n个频点的频率记录在w中,相应的频响值记录在h中。
要求n为大于零的整数,最好为2的整数次幂,以便采用FFT计算,提高速度。
缺省时n=512。
[h,f]=freqz(b,a,n,Fs)用于对H(ejω)在[0,Fs/2]上等间隔采样n点,采样点频率及相应频响值分别记录在f和h中。
由用户指定FS(以HZ为单位)值。
h=freqz(b,a,w)用于对H(ejω)在[0,2π]上进行采样,采样频率点由矢量w指定。
h=freqz(b,a,f,Fs)用于对H(ejω)在[0,FS]上采样,采样频率点由矢量f指定。
freqz(b,a,n)用于在当前图形窗口中绘制幅频和相频特性曲线。
filter函数功能:
利用IIR滤波器和FIR滤波器对数据进行滤波。
格式:
y=filter(b,a,x)
[y,zf]=filter(b,a,x)
y=filter(b,a,x,zi)
说明:
filter采用数字滤波器对数据进行滤波,其实现采用移位直接Ⅱ型结构,因而适用于IIR和FIR滤波器。
滤波器的系统函数为
即滤波器系数a=[a0a1a2...an],b=[b0b1...bm],输入序列矢量为x。
这里,标准形式为a0=1,如果输入矢量a时,a0≠1,则MATLAB将自动进行归一化系数的操作;
如果a0=0,则给出出错信息。
y=filter(b,a,x)利用给定系数矢量a和b对x中的数据进行滤波,结果放入y矢量中,y的长度取max(N,M)。
y=filter(b,a,x,zi)可在zi中指定x的初始状态。
[y,zf]=filter(b,a,x)除得到矢量y外,还得到x的最终状态矢量zf。
freqz函数功能:
离散时间系统的频率响应。
[h,f]=freqz(b,a,n,Fs)用于对H(ejω)在[0,Fs/2]上等间隔采样n点,采样点频率及相应频响值分别记录在f和h中。
第五章程序和仿真图
5.1低通滤波器设计程序
%连续信号的产生及采样
clear
Fs=100;
t=(1:
100)/Fs;
s1=sin(2*pi*t*5);
s2=sin(2*pi*t*15);
s3=sin(2*pi*t*30);
s=s1+s2+s3;
plot(t,s)
xlabel('
时间(s)'
ylabel('
幅值'
%椭圆低通滤波器的设计
[b,a]=ellip(4,0.1,40,5*2/Fs);
[H,w]=freqz(b,a,512);
plot(w*Fs/(2*pi),abs(H));
频率(Hz)'
);
频率响应图'
grid;
%对滤波后的信号进行分析和变换
sf=filter(b,a,s);
plot(t,sf);
时间(s)'
axis([01-11]);
S=fft(s,512);
SF=fft(sf,512);
w=(0:
255)/256*(Fs/2);
plot(w,abs([S(1:
256)'
SF(1:
]));
傅立叶变换图'
legend({'
before'
'
after'
});
5.2带通滤波器设计程序
plot(t,s);
时间(秒)'
[b,a]=ellip(4,0.1,40,[1020]*2/Fs);
频率(Hz)'
%椭圆带通滤波器的设计
[b,a]=ellip(4,0.1,40,[812]*2/Fs);
5.3高通滤波器设计程序
s2=sin(2*pi*t*10);
s3=sin(2*pi*t*15);
%椭圆高通滤波器的设计
[b,a]=ellip(4,0.1,40,30*2/Fs,'
5.4信号的仿真图
1.信号通过椭圆低通滤波器的仿真图,如下图所示
图5.1信号通过椭圆低通滤波器的仿真图
注:
图中蓝色曲线代表滤波前的幅频曲线,绿线