用matlab编程设计切比雪夫低通滤波器.doc
- 文档编号:4880005
- 上传时间:2023-05-07
- 格式:DOC
- 页数:15
- 大小:266KB
用matlab编程设计切比雪夫低通滤波器.doc
《用matlab编程设计切比雪夫低通滤波器.doc》由会员分享,可在线阅读,更多相关《用matlab编程设计切比雪夫低通滤波器.doc(15页珍藏版)》请在冰点文库上搜索。
目录
1摘要...........................................................3
2设计原理.......................................................4
2.1切比雪夫滤波器介绍..................................4
2.2滤波器的分类...........................................5
2.3模拟滤波器的设计指标.................................6
3切比雪夫I型滤波器.............................................7
3.1切比雪夫滤波器的设计原理..............................7
3.2切比雪夫滤波器的设计步骤...............................10
3.3用matlab编程设计切比雪夫低通滤波器...................11
4总结.........................................................18
5参考文献.....................................................18
摘要
随着信息和数字时代的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。
在现代通信系统中,由于信号中经常混有各种复杂成分,因此很多信号的处理都是基于滤波器而进行的。
所以,数字滤波器在数字信号处理中起着举足轻重的作用。
而数字滤波器的设计都要以模拟滤波器为基础的,这是因为模拟滤波器的理论和设计方方法都已发展的相当成熟,且有典型的模拟滤波器供我们选择。
,如巴特沃思滤波器、切比雪夫滤波器等。
本次课程设计将运用MATLAB设计一个基于切比雪夫低通滤波器,并出所设计滤波器的幅度及幅度衰减特性。
关键词:
滤波切比雪夫模拟低通
1切比雪夫滤波器介绍
在巴特沃兹滤波器中,幅度响应在通带和阻带内都是单调的。
因此,若滤波器的技术要求是用最大通带和阻带的逼近误差来给出的话,那么,在靠近通带低频端和阻带截止频率以上的部分都会超出技术指标。
一种比较有效的途径是使逼近误差均匀地分布于通带或阻带内,或同时在通带和阻带内都均匀分布,这样往往可以降低所要求的滤波器阶次。
通过选择一种具有等波纹特性而不是单调特性的逼近方法可以实现这一点。
切比雪夫型滤波器就具有这种性质:
其频率响应的幅度既可以在通带中是等波纹的,而在阻带中是单调的(称为I型切比雪夫滤波器),也可以在通带中是单调的,而在阻带中是等波纹的(称为II型切比雪夫滤波器),其中切比雪夫II型滤波器又称为逆切比雪夫滤波器。
I型切比雪夫滤波器的幅度平方函数是
=(2.1)
其中ε是一个小于1的正数,它与通带波纹有关,ε越大,波纹也越大,式中为N阶切比雪夫多项式,定义为
(2.2)
当N大于或等于1时,从定义切比雪夫多项式可以直接得出由和求的递推公式。
将三角恒等式代入(2.2)式,得
=2x(2.3)
从(2.2)式我们注意到,当0
参考(2.1),对于01呈现出在1和1/()之间的波动;而对于〉1单调地减小。
需要用三个参量来确定该滤波器:
,和N。
在典型的设计中,用容许的通带波纹来确定,而用希望的通带截止频率来确定。
然后选择合适的阶次N,以便阻带的技术要求得到满足。
定义允许的通带最大衰减用下式表示:
为了求切比雪夫滤波器在椭圆上极点的位置,我们首先要这样确定,在大圆和小圆上以等角度等间隔排列的那些点:
这些点对于虚轴呈对称分布,并且没有一个点落在虚轴上;但当N为奇数时要有一个点落在实轴上,而当N为偶数时,就都不会落在实轴上。
切比雪夫滤波器的极点落在椭圆上,起纵坐标由相应的大圆上点的纵坐标来表示,起横坐标由相应的小圆上点的横坐标来表示。
3切比雪夫I型滤波器
3.1切比雪夫低通滤波器的设计原理
切比雪夫滤波器的幅频特性具有等波纹特性。
它有两种形式:
振幅特性在通带内是等波纹的,在阻带内是单调递减的切比雪夫I型滤波器,振幅特性在阻带内是等波纹的,在通带内是单调递减的切比雪夫II型滤波器,如图所示分别画出了滤波器的幅频特性和衰减函数。
以切比雪夫I型为例介绍其设计原理
幅度平方函数用表示
(2-3-1)
式中,为小于1的正数,表示通带内幅度波动的程度,越大,波动幅度也越大。
称为通带截止频率。
令,称为对的归一化频率。
定义允许的通带内最大衰减用下式表示
(2-3-2)
式中
(2-3-3)
(2-3-4)
因此
(2-3-5)
(2-3-6)
这样,可以根据通带内最大衰减,可求出参数。
阶数N影响过渡带的宽度,同时也影响通带内波动的疏密,因为N等于通带内的最大值和最小值的总个数。
设阻带的起点频率为,则有
(2-3-7)
令,由>1,有
(2-3-8)
可以解出
(2-3-9)
(2-3-10)
3dB截止频率用表示,
(2-3-11)
按照(2-3-1)式,有
(2-3-12)
经过一系列推论得归一化系统函数为
(2-3-13)
去归一化的系统函数为
(2-3-14)
3.2切比雪夫低通滤波器的设计步骤
(1)确定低通滤波器的技术指标:
边带频率,通带最大衰减、阻带最大衰减、阻带截至频率,它们满足
(2-3-15)
(2-3-16)
(2)求滤波器阶数N和参数
(2-3-17)
(2-3-18)
(2-3-19)
这样,先由(2--18)式求出,代入(2-3-19),求出阶数N,最后取大于或等于N的最小整数。
(3)求归一化系统函数
(2-3-20)
(4)将去归一化,得到实际的
(2-3-21)
3.3用MATLAB设计切比雪夫低通滤波器
(1)Matlab的信号处理工具箱提供了频谱分析函数:
fft函数、filter函数和freqz函数。
fft函数
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,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)用于在当前图形窗口中绘制幅频和相频特性曲线。
fft函数函数功能:
对信号进行傅里叶变换。
格式:
fft(X)
fft(X,N)
fft(X,[],DIM)或fft(X,N,DIM)
说明:
fft(X)是对输入信号X的离散傅里叶变换。
fft(X,N)是N点的傅里叶变换,如果X少于N点则补0凑齐位数,长于N点则截断。
如果x是个矩阵,列的长度将会以同样的方式调整,fft会对每列进行傅里叶变换,并返回一个相同维数的矩阵。
fft(X,[],DIM)或fft(X,N,DIM)是离散傅里叶变换在DIM尺度上的应用。
DIM可适应于任意维度的fft运算。
(2)确定低通滤波器的技术指标:
N-椭圆滤波器最小阶数;Wn为椭圆滤波器的带宽;
Wp-椭圆滤波器通带截止角频率;
Ws-椭圆滤波器阻带起始角频率;
Rp-通带波纹(dB);
Rs-阻带最小衰减(dB);
设计要求是低通滤波器,需要屏蔽的是15Hz和30Hz的波形,所以可令fp=5Hz,设fs=8Hz,Rp<0.1dB,Rs>40dB。
(3)连续信号的产生及采样:
clear
f1=5;
f2=15;
f3=30;
N=100;
fs=100;
n=(0:
N-1);%采样点数为N
x1=sin(2*pi*f1*n/fs);
x2=sin(2*pi*f2*n/fs);
x3=sin(2*pi*f3*n/fs);%模拟信号转化为数字信号
x=x1+x2+x3;%信号叠加
plot(n,x);%作出时间-幅值图像
xlabel('时间(s)');
ylabel('幅值');
grid;
连续信号仿真图
(4)低通滤波器的设计
Wp=8;
Ws=12;
Rp=2;
Rs=40;%设置指标参数
[N,wp1]=cheb1ord(Wp/(fs/2),Ws/(fs/2),Rp,Rs);%利用cheb1ord函数求滤波器最小阶数
[b,a]=cheby1(N,Rp,wp1);%计算切比雪夫I型模拟低通滤波器系统函数系数
[H,f]=freqz(b,a,512,100);%求幅值H,频率f
plot(f,abs(H));
切比雪夫I型模拟低通滤波器仿真图
(5)对滤波后的信号进行分析和变换
sf=filter(b,a,x);%对原信号进行滤波
plot(n,sf);
xlabel('时间(s)');
ylabel('幅值');
axis([01-11]);
X=fft(x,512);%滤波前信号的傅里叶变换
SF=fft(sf,512);%滤波后信号的傅里叶变换
f=(0:
255)/256*(fs/2);
plot(f,abs([X(1:
256)'SF(1:
256)']));%滤波前后信号图像对比
xlabel('频率(Hz)');
ylabel('傅立叶变换图');
grid;
legend({'before','after'})
信号通过椭圆低通滤波器的仿真图
注:
图中蓝色曲线代表滤波前的幅频曲线,绿线代表滤波后的幅频曲线。
3.4设计结果分析
(1)求得阶数N=6,通带边界频率为wp=0.1600,表明阶数越大,模拟低通滤波器越理想,且接近矩形。
(2)从图上可以看出:
切比雪夫I型滤波器是在通带频率响应幅度等波纹的滤波器,通带内具有等波纹起伏特性,阻带内单调下降且衰减更大;幅度在低频处通过,随着频率的增加,逐渐衰减至零;综上所看:
本设计符合要求。
(3)切比雪夫滤波器的特点是在通带内,具有相等的波纹。
截频衰减陡度比同阶数巴特沃斯特性更陡度比同阶数程时的衰减就超过6NdB。
在阶数N一定时,波纹越大,截频衰减陡度越陡。
相位响应也是非线性,但较之比巴特沃斯为差。
总结
经过了将近一个周的课程设计,我学会的如何使用matlab来进行滤波器的设计,通过这次课程设计我不仅学到了许多关于matlab的知识,认识到了matlab的强大功能,更重要的是增强了我分析问题的能力,使我深刻地认识到仅仅学习课本上的知识是远远不够的,必须多多实践才能真正理解并掌握所学的知识,达到学以致用的目的,为以后的工作积累了宝贵的经验,同时我也深深地感受到严谨的态度对于科学研究的重要性。
这次课设不仅让我增长了知识,更让我对信号处理有了极大的兴趣,对我今后学习相关知识将会有很大的影响。
在设计在学习中进步让我收获了知识,收获了满足,当看见一个题目在自己的手中实现让我充满成就感,也坚定了我继续深入学习的决心。
最后,感谢学校和老师给,让我能够锻炼自己,学习知识,丰富了我的学习生活。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 编程 设计 雪夫低通 滤波器