用matlab编程设计切比雪夫低通滤波器
基于MATLAB的切比雪夫II型数字低通滤波器设计

科技视界Science &Technology VisionScience &Technology Vision 科技视界(上接第94页)响,其中学校和家庭是重要因素,所以学校与家庭要建立共育机制。
学校是学生们学习、生活的主要场所,在积极创造学习生活条件,开展相应工作的同时,学校方面还应及时和家长沟通,了解学生生长环境、性格爱好,并反馈学生在校学习、生活和心理状况,与家长共同教育管理学生,必要时要共同商讨学生的成长计划。
对于有心理问题的学生,学校要加强关注的力度,及时与家长取得联系,共同采取有效的干预措施,将各种心理问题扼杀在萌芽中。
总之,做好大学生的心理健康教育工作,高校辅导员应及时了解学生的心理活动,学校要健全一系列心理健康教育和问题解决机制,并及时与家长沟通,针对学生的不同心理问题给予有效的指导,确保大学生以积极的心态面对学习、生活,为今后更顺利地步入社会奠定良好的基础。
[1]李逸龙,姚海田,等.大学生教育管理与发展指导案例[M].东营:中国石油大学出版社,2012:2-3.[2]陈小菊,丁留贯.高校辅导员参与大学生心理健康教育工作探析[J].文教资料,2009(7):199-199.[3]张东伟.高校辅导员在大学生心理健康教育中的作用[J].教育理论研究,2011年(1):111-112.[4]谭平.论高校心理健康教育课程的构建[J].理论探讨,2008(12).[5]张猛,杨琳.新时期高校辅导员工作的创新研究[J].中国科技信息,2007(10):190-192.[责任编辑:杨扬]干扰抑制常见的模拟滤波器是巴特沃斯(Butterworth)滤波器和切比雪夫(Chebyshev)滤波器。
巴特沃斯滤波器的特点是具有通带内最大平坦的振幅特性,且随频率,升高,幅频特性单调递减。
切比雪夫滤波器在通带范围内是等幅起伏的,所以同样的通带衰减,其阶数较巴特沃斯滤波器要小。
可根据需要对通带内允许的衰减量(波动范围)提出要求,如要求波动范围小于1dB [1,2]。
利用MATLAB仿真软件系统结合双线性变换法设计一个数字切比雪夫带通IIR滤波器。

目录目录 (1)Abstract (3)1 绪论 (4)2 IIR数字滤波器设计的原理与方法 (5)2.1 IIR数字滤波器设计的原理 (5)2.2 IIR 数字滤波器设计的基本方法 (7)3 IIR带通滤波器的MATLAB 设计 (9)3.1 IIR带通滤波器的设计流程 (10)3.2 IIR带通滤波器的设计步骤 (11)心得与体会 (22)参考文献 (23)摘要数字滤波是数字信号分析中最重要的组成部分之一,数字滤波与模拟滤波相比,具有精度和稳定性高、系统函数容易改变、灵活性高、不存在阻抗匹配问题、便于大规模集成、可实现多维滤波等优点。
数字滤波器的作用是利用离散时间系统的特性对输入信号波形(或频谱)进行加工处理,或者说利用数字方法按预定的要求对信号进行变换。
从广义讲,数字滤波是由计算机程序来实现的,是具有某种算法的数字处理过程。
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
关键词: IIR 数字滤波器,MATLAB,仿真2AbstractDigital filter digital signal analysis is the most important part of digital filter and simulation filter, it is characterized by high precision and stability, system function to change, flexibility, high impedance matching problem does not exist, easy for large scale integrated, may realize the multidimensional filtering, etc. The role of digital filter is using discrete time the characteristics of the system of the input signal waveform (or spectrum) process, or using a digital method according to the requirements of the scheduled to signal transform. Broadly speaking, digital filter is by the computer program to realize, is has some kind of algorithm digital processing process.MATLAB is released by the American mathworks company mainly face of scientific calculation, visualization and interactive program design of the high-tech computing environment.It will numerical analysis, calculation , scientific data visualization and nonlinear dynamic system and simulation, and many other strong function integration in an easy to use Windows environment, for scientific research, engineering design, and to effectively the numerical calculation many fields of science provides a comprehensive solution, and to a large degree from the traditional the interactive programming language (such as C, Fortran) edit mode, which represents the current international scientific computing software advanced level.Keywords: IIR digital filters, MATLAB, the simulation31 绪论在现代通信系统中,由于信号中经常混有各种复杂成分,所以很多信号的处理和分析都是基于滤波器而进行的。
matlab 切比雪夫带通滤波器实现

matlab 切比雪夫带通滤波器实现
本文介绍如何使用matlab实现切比雪夫带通滤波器。
切比雪夫
滤波器是一种数字滤波器,可在给定的频率范围内阻止不需要的频率分量。
切比雪夫滤波器的特点在于它对幅频响应的最大偏差是可控的,因此被广泛地应用于信号处理、图像处理、通信等领域。
要在 matlab 中实现切比雪夫带通滤波器,需要先确定以下参数:通带频率范围、阻带频率范围、通带最大衰减度、阻带最小衰减度。
然后,使用 matlab 中提供的 cheb1ap 函数来计算切比雪夫滤波器
的传递函数。
具体步骤如下:
1. 确定通带频率范围、阻带频率范围、通带最大衰减度、阻带
最小衰减度,将这些参数赋值给对应的变量。
2. 使用 cheb1ap 函数计算切比雪夫滤波器的传递函数。
cheb1ap 函数的基本调用格式为 [n,wn]=cheb1ap(Wp,Ws,Rp,Rs),其中 Wp 和 Ws 分别是通带和阻带的归一化频率,Rp 和 Rs 分别是通
带最大衰减度和阻带最小衰减度。
函数返回的 n 和 wn 分别表示滤
波器的阶数和角频率。
3. 将传递函数转换为离散时间域上升通带滤波器的差分方程,
使用 tf2zp 函数将差分方程转换为零极点形式。
4. 使用 zp2sos 函数将零极点形式转换为二阶序列滤波器表示。
5. 使用 sosfilt 函数对信号进行滤波处理。
6. 将滤波结果可视化,比较滤波前后的信号,检查滤波效果。
使用 matlab 实现切比雪夫带通滤波器需要一定的数学基础和编程经验,但是掌握了这种滤波器的应用方法可以为信号处理和通信方面的工作提供很大的便利。
基于matlab的切比雪夫及巴特沃斯低通高通滤波器的设计

巴特沃斯低通、切比雪夫低通、高通IIR滤波器设计05941401 1120191454 焦奥一、设计思路IIR滤波器可以分为低通、高通、带通、带阻等不同类型的滤波器,而以系统函数类型又有巴特沃斯、切比雪夫等滤波器。
其中巴特沃斯较为简单,切比雪夫较为复杂;低阶比高阶简单,但却有着不够良好的滤波特性。
在满足特定的指标最低要求下,低阶、巴特沃斯滤波器能更大程度地节省运算量以及复杂程度。
滤波器在不同域内分为数字域和模拟域。
其中数字域运用最广泛。
在设计过程中,一般是导出模拟域的滤波器,之后通过频率转换变为数字域滤波器,实现模拟域到数字域的传递。
在针对高通、带通、带阻的滤波器上,可以又低通到他们的变换公式来进行较为方便的转换。
综上,IIR滤波器的设计思路是,先得到一个满足指标的尽可能简单的低通模拟滤波器,之后用频域变换转换到数字域。
转换方法有双线性变换法、冲激响应不变法等。
虽然方法不同,但具体过程有很多相似之处。
首先将数字滤波器的指标转换为模拟滤波器的指标,之后根据指标设计模拟滤波器,再通过变换,将模拟滤波器变换为数字滤波器,是设计IIR滤波器的最基本框架。
以下先讨论较为简单的巴特沃斯低通滤波器。
二、巴特沃斯低通滤波假设需要一个指标为0~4hz内衰减小于3db、大于60hz时衰减不小于30db的滤波器。
其中抽样频率为400hz。
以双线性变换方法来设计。
首先将滤波器转换到模拟指标。
T =1f f ⁄=1400Ωf ′=2ff f =8ff f =Ωf ′f =0.02fΩf ′=2ff f =120ff f =Ωf ′f =0.3f根据双线性变换Ω=2f tan (f 2) 得到Ωf =25.14Ωf =407.62这就得到了模拟域的指标。
由巴特沃斯的方程Α2(Ω)=|f f (f Ω)|2=11+(ΩΩf )2f20ff |f f (f Ω)|=−10ff [1+(ΩΩf)2f] {20ff |f f (f Ωf )|≥−320ff |f f (f Ωf )|≤−30ff得到{ −10ff [1+(Ωf Ωf)2f ]≥−3−10ff [1+(Ωf Ωf )2f]≤−30当N取大于最小值的整数时,解出N=2,因此为二阶巴特沃斯低通滤波器。
matlab 切比雪夫带通滤波器实现

matlab 切比雪夫带通滤波器实现带通滤波器是一种常见的数字信号处理技术,它可用于提取目标频率段内的信号,滤除无用频率段内的干扰信号。
在数字信号处理领域中,存在着多种带通滤波器的实现方式,而切比雪夫带通滤波器是其中一种方法。
切比雪夫带通滤波器与其他滤波器不同之处在于,它能够提供更为陡峭的通带和阻带边缘。
这是由于它声称的Chebyshev响应函数,其中的“Chebyshev”指的是切比雪夫多项式。
切比雪夫滤波器将极陡峭的边缘带给了滤波器,以便按照严格的信号频率进行过滤。
切比雪夫滤波器的设计,需要知道带通滤波器的通带上限fc,下限fc’,以及有选择性地保留其特定频率范围内的信号。
为了从信号中切除这些频率外的信息,切比雪夫设计要求用户指定这些频率范围的阻带跨越带宽bw,以及在通带中允许的最大衰减或输出变弱的增益tol_db。
为了设计一个切比雪夫带通滤波器,我们需要首先输入所需的频率截止值和带宽,然后计算其非标准化参数,最终,选择适当的滤波器阶数进行计算,生成相应的滤波器系数。
Matlab中可以使用signal库中的函数设计切比雪夫带通滤波器,具体步骤如下:1.输入所需的通带上限fc、下限fc’,以及阻带跨越带宽bw和允许的最大衰减或输出变弱的增益tol_db。
2.计算非标准化参数epsilon,并将其应用于滤波器阶数N的计算。
3.使用design()函数和signal.fir1()函数找到设计参数N和alpha。
4.通过signal.fir1()函数生成切比雪夫带通滤波器系数。
例如,以下代码可实现一个带有通带上限50Hz和下限20Hz,阻带跨越带宽10Hz和最大衰减40dB的切比雪夫带通滤波器:fc1 = 20;fc2 = 50;fs = 200;bw = 10;tol_db = 40;%计算非标准化参数epsilondelta_omega_p = 2*pi*bw/fs;delta_omega_s1 = 2*pi*(fc1-bw/2)/fs;delta_omega_s2 = 2*pi*(fc2+bw/2)/fs;epsilon = sqrt(10^(tol_db/10)-1);A =log10((1/epsilon)+sqrt(1+(1/epsilon)^2))/log10(1/delta_omega_ p);%求滤波器阶数和alpha[N, alpha] = cheb1ord(delta_omega_p, delta_omega_s2,tol_db, tol_db);%通过signal.fir1()函数生成切比雪夫带通滤波器系数h = fir1(N, [delta_omega_s1 delta_omega_s2]/(2*pi),'bandpass', chebwin(N+1, alpha));使用这个滤波器可以滤除一些干扰信号,保留20Hz到50Hz之间的信号,得到目标带通信号。
matlab 切比雪夫带通滤波器实现

matlab 切比雪夫带通滤波器实现
本文将介绍如何使用MATLAB实现切比雪夫带通滤波器。
切比雪夫带通滤波器是一种数字滤波器,用于将一定范围内的频率信号从输入信号中滤除。
使用 MATLAB 对信号进行数字滤波可以得到更加精确的结果,并且可以方便地进行可视化分析。
步骤:
1. 定义需要滤波的信号。
可以使用 MATLAB 自带的信号生成函数,如 sin、cos 等,也可以导入自己的信号数据。
2. 定义切比雪夫带通滤波器的参数。
主要包括通带频率、阻带频率、通带最大衰减、阻带最小衰减等。
3. 使用 MATLAB 自带的函数 butter 设计数字滤波器。
其中,第一个参数为滤波器的阶数,第二个参数为通带或阻带的频率,第三个参数为滤波器类型,可以选择带通、带阻、低通或高通等。
4. 使用设计好的滤波器对输入信号进行滤波。
可以使用MATLAB 自带的函数 filter 实现。
5. 对滤波后的信号进行可视化展示。
可以使用 MATLAB 自带的绘图函数 plot 进行绘制。
6. 分析滤波效果。
通过观察滤波后的信号波形和频谱图,可以评估滤波器的效果是否符合要求。
总之,使用 MATLAB 实现切比雪夫带通滤波器可以帮助我们更加精确地处理信号,并且可以通过可视化手段来分析滤波效果。
- 1 -。
基于MATLAB的切比雪夫I型模拟低通滤波器设计

基于MATLAB的切比雪夫I型模拟低通滤波器设计课程设计名称:数字信号处理课程设计专业班级:电信0604学生姓名:学号:20064300430指导教师:课程设计时间:2009. 6. 8-2009. 6. 14数字信号处理专业课程设讣任务书学生姓名专业班级电信0604学号20064300430题U基于MATLAB的切比雪夫I型模拟低通滤波器设讣课题性质其他课题来源自拟课题指导教师同组姓名根据已学的知识并结合MATLAB来设计一个切比雪夫I型模拟低通滤波器,技术指标如下:R, ldB通带截止频率:fp二1000Hz,通带最大衰减:p主要内容A,25 dB阻带截止频率:fs二1500Hz,阻带最小衰减:s画出滤波器的幅频、相频特性曲线。
1(写出设计原理和设计思路,画出程序流程图2(用MATLAB画出幅频特性图任务要求3(用MATLAB画出相频特性图4(用MATLAB画出零极点图1(程佩青著,《数字信号处理教程》,清华大学出版社,20012 (Sanjit K. Mitra著,孙洪,余翔宇译,《数字信号处理实验指导书(MATLAB 参考文献版)》,电子工业出版社,2003年1月3(郭仕剑等,《MATLAB 7. x数字信号处理》,人民邮电出版社,2006年指导教师签字:审查意见教研室主任签字:年月日说明:本表由指导教师填写,山教研室主任审核后下达给选题学生,装订在设计(论文)首页内容包括:一设计内容与技术要求设计一个切比雪夫I型模拟低通滤波器,满足指标如下:通带截止频率:R, ldBfp二1000Hz,通带最大衰减:,阻带截止频率:fs=1500Hz,阻带最小pA, 25 dB衰减:,写出设汁原理和设计思路,画出程序流程图,用MATLABs编写程序并画出幅频特性图,相频特性图和零极点图。
二设计原理及设计思路1设计原理Chebyshev滤波器是在通带或阻带上频率响应幅度等波纹波动的滤波器。
在通带波动的为“ChebyshevI型滤波器”,在阻带波动的为“ChebyshevI I滤波器”。
Matlab课程设计利用MATLAB结合双线性变换法设计数字切比雪夫带通IIR滤波器代码

开始↓读入数字滤波器技术指标↓将指标转换成归一化模拟低通滤波器的指标↓设计归一化的模拟低通滤波器阶数N 和截止频率↓模拟域频率变换,将H(P)变换成模拟带通滤波器H(s)↓用双线性变换法将H(s)转换成数字带通滤波器H(z)↓输入信号后显示相关结果求相应的幅频响应与相频响应↓50100150-202tx 1(t )x1的波形50100150-202tx 2(t )x2的波形50100150-202t x (t )输入信号x 的波形10203040-0.01-0.00500.0050.01ty滤波器输出y 的波形clc;clear all ;结束%数字滤波器的技术指标Rp = 1; % 通带最大衰减Rs = 40;% 阻带最小衰减OmegaS1_1=350; % 通带截止频率OmegaS1_2=550;% 通带截止频率OmegaP1_1=400; % 阻带截止频率OmegaP1_2=500;% 阻带截止频率Fp=2000; % 抽样频率Wp1=2*pi*OmegaP1_1/Fp; % 模数频率变换Wp2=2*pi*OmegaP1_2/Fp;Ws1=2*pi*OmegaS1_1/Fp;Ws2=2*pi*OmegaS1_2/Fp;OmegaP1=2*Fp*tan(Wp1/2); % 非线性变换OmegaP2=2*Fp*tan(Wp2/2); % 非线性变换OmegaS1=2*Fp*tan(Ws1/2); % 非线性变换OmegaS2=2*Fp*tan(Ws2/2); % 非线性变换OmegaP0=sqrt(OmegaP1*OmegaP2);% 等效中心频率Bw=OmegaP2-OmegaP1; % 带通滤波器的通带宽度Eta_P0=OmegaP0/Bw; % 归一化处理Eta_P1=OmegaP1/Bw; % 归一化处理Eta_P2=OmegaP2/Bw; % 归一化处理Eta_S1=OmegaS1/Bw; % 归一化处理Eta_S2=OmegaS2/Bw; % 归一化处理Lemta_P_EquivalentLowPass=Eta_P2/(Eta_P2^2-Eta_P0^2); % 转换成低通参数Lemta_S1_EquivalentLowPass=-Eta_S1/(Eta_S1^2-Eta_P0^2); % 转换成低通参数Lemta_S2_EquivalentLowPass=Eta_S2/(Eta_S2^2-Eta_P0^2); % 转换成低通参数Lemta_S_EquivalentLowPass=min(Lemta_S1_EquivalentLowPass,Lemta_S2 _EquivalentLowPass); % 取最小值% E求滤波器阶数[N, Wn]=cheb2ord(Lemta_P_EquivalentLowPass, Lemta_S_EquivalentLowPass, Rp, Rs,'s');% 滤波器设计[num1,den1]=cheby2(N,Rs,Wn,'s');[num2,den2]=lp2bp(num1,den1,OmegaP0,Bw);[num,den]=bilinear(num2,den2,Fp);[Z,P,K]=cheb1ap(N,Rp);w=linspace(1,1000,100)*2*pi;[M1,N1]=zp2tf(Z,P,K); %将零极点形式转换为传输函数形式[M,N]=lp2bp(M1,N1,OmegaP0,Bw); %对低通滤波器进行频率变换转换为带通滤波器% 计算增益响应w = 0:pi/255:pi;h = freqz(num,den,w);g = 20*log10(abs(h));%绘制切比雪夫带通滤波器幅频特性figure;plot(w/pi,g);gridaxis([0 1 -60 5]);xlabel('\频率/\pi'); ylabel('增益/dB'); title('切比雪夫II型带通滤波器幅频响应');%Plot the poles and zeros[z,p,k]=tf2zp(num,den);figure;zplane(z,p); %绘制传输函数零极点title('?传输函数的零极点')f1=450;f2=600;t=0:0.0001:1x1=sin(2*pi*f1*t);x2=sin(2*pi*f2*t);x=x1+x2;figure;subplot(2,2,1)%绘制x1的波形plot(x1);grid on;axis([0,50*pi,-3,3]);xlabel('t');ylabel('x1(t)');title('x1的波形');subplot(2,2,2)%绘制x2的波形plot(x2);grid on;axis([0,50*pi,-3,3]);xlabel('t');ylabel('x2(t)');title('x2的波形');subplot(2,2,3)%绘制输入x的波形plot(x);grid on;axis([0,50*pi,-3,3]);xlabel('t');ylabel('x(t)');title('输入信号x的波形')%X=fft(x);y=filter(num,den,x);%数字滤波器输出subplot(2,2,4);plot(real(y));grid on;axis([0,15*pi,-0.01,0.01]);xlabel('t');ylabel('y');title('滤波器输出y的波形');附录:PPpppp5. 用双线性变换法设计IIR数字带通滤波器例21-3采用双线性变换法设计一个切比雪夫Ⅰ型数字带通滤波器,要求:通带wp1=0.3p,wp2=0.7p,Rp=1 dB;阻带ws1=0.2p,ws2=0.8p,As=20 dB解程序如下:wp1=0.4*pi;wp2=0.5*pi;ws1=0.35*pi;ws2=0.55*pi;Rp=1;As=40;T=0.0005;Fs=1/T;Omgp1=(2/T)*tan(wp1/2);Omgp2=(2/T)*tan(wp2/2);Omgp=[Omgp1,Omgp2];Omgs1=(2/T)*tan(ws1/2);Omgs2=(2/T)*tan(ws2/2);Omgs=[Omgs1,Omgs2];bw=Omgp2-Omgp1;w0=sqrt(Omgp1*Omgp2);bw=Omgs2-Omgs1;w0=sqrt(Omgs1*Omgs2); %[ZK(]模拟滤波器阻带带宽和中心频率[n,Omgn]=cheb2ord(Omgp,Omgs,Rp,As,'s') %计算阶数n和截止频率[z0,p0,k0]=cheb2ap(n,As); %设计归一化的模拟原型滤波器[n,Omgn]=cheb1ord(Omgp,Omgs,Rp,As,'s')[z0,p0,k0]=cheb1ap(n,Rp);ba1=k0*real(poly(z0));aa1=real(poly(p0));[ba,aa]=lp2bp(ba1,aa1,w0,bw);[bd,ad]=bilinear(ba,aa,Fs)[H,w]=freqz(bd,ad);dbH=20*log10((abs(H)+eps)/max(abs(H)));subplot(2,2,1),plot(w/2/pi*Fs,abs(H),'k');ylabel('|H|');title('幅度响应');axis([0,Fs/2,0,1.1]);set(gca,'XTickMode','manual','XTick',[0,fs,fp,Fs/2]);set(gca,'YTickMode','manual','YTick',[0,Attn,ripple,1]);gridsubplot(2,2,2),plot(w/2/pi*Fs,angle(H)/pi*180,'k');ylabel('\phi');title('相位响应');axis([0,Fs/2,-180,180]);set(gca,'XTickMode','manual','XTick',[0,fs,fp,Fs/2]);set(gca,'YTickMode','manual','YTick',[-180,0,180]);gridsubplot(2,2,3),plot(w/2/pi*Fs,dbH);title('幅度响应( dB)');axis([0,Fs/2,-40,5]);ylabel('dB');xlabel('频率(\pi)');set(gca,'XTickMode','manual','XTick',[0,fs,fp,Fs/2]);set(gca,'YTickMode','manual','YTick',[-50,-20,-1,0]);gridsubplot(2,2,4),zplane(bd,ad);axis([-1.1,1.1,-1.1,1.1]);title('零极图');程序运行结果如下:n = 3Omgn =1.0e+003 * 1.0191 3.9252bd =0.0736 0.0000 -0.2208 0.0000 0.2208 -0.0000 -0.0736ad =1.0000 0.0000 0.9761 0.0000 0.8568 0.0000 0.2919 采用双线性变换法设计一个切比雪夫Ⅱ型数字带通滤波器,其它条件不变,则需要修改下面几句程序:bw=Omgs2-Omgs1;w0=sqrt(Omgs1*Omgs2); %[ZK(]模拟滤波器阻带带宽和中心频率[n,Omgn]=cheb2ord(Omgp,Omgs,Rp,As,'s') %计算阶数n和截止频率[z0,p0,k0]=cheb2ap(n,As); %设计归一化的模拟原型滤波器采用阻带截止频率来计算W0和BW,是因为切比雪夫Ⅱ型模拟低通原型是以阻带衰减As为主要设计指标的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录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|)(|Ωj H C =)/(1122c N C ΩΩ+ε (2.1) 其中ε是一个小于1的正数,它与通带波纹有关,ε越大,波纹也越大,式中为N 阶切比雪夫多项式,定义为)cos cos()(1x N x C N -= (2.2) 当N 大于或等于1时,从定义切比雪夫多项式可以直接得出由)(x C N 和)(1x C N -求)(1x C N +的递推公式。
将三角恒等式代入 (2.2)式,得)(1x C N +=2x -)(x C N )(1x C N - (2.3)从 (2.2)式我们注意到,当0<x<1时,)(2x C N 在0和1之间变化;当x>1时,x 1cos -是虚数,所以)(x C N 像双曲余弦一样单调地增加。
参考(2.1),2|)(|Ωj H C 对于0≤p ΩΩ/≤1呈现出在1和1/(21ε+)之间的波动;而对于pΩΩ/〉1单调地减小。
需要用三个参量来确定该滤波器:ε,p Ω和N 。
在典型的设计中,用容许的通带波纹来确定ε,而用希望的通带截止频率来确定c Ω。
然后选择合适的阶次N ,以便阻带的技术要求得到满足。
定义允许的通带最大衰减p α用下式表示: 22max ()10lg ,min ()p p Ha j Ha j αΩ=Ω≤ΩΩ为了求切比雪夫滤波器在椭圆上极点的位置,我们首先要这样确定,在大圆和小圆上以等角度 等间隔排列的那些点:这些点对于虚轴呈对称分布,并且没有一个点落在虚轴上;但当N 为奇数时要有一个点落在实轴上,而当N 为偶数时,就都不会落在实轴上。
切比雪夫滤波器的极点落在椭圆上,起纵坐标由相应的大圆上点的纵坐标来表示,起横坐标由相应的小圆上点的横坐标来表示。
3切比雪夫I 型滤波器3.1切比雪夫低通滤波器的设计原理切比雪夫滤波器的幅频特性具有等波纹特性。
它有两种形式:振幅特性在通带内是等波纹的,在阻带内是单调递减的切比雪夫I 型滤波器,振幅特性在阻带内是等波纹的,在通带内是单调递减的切比雪夫II 型滤波器,如图所示分别画出了滤波器的幅频特性和衰减函数。
以切比雪夫I 型为例介绍其设计原理 幅度平方函数用2()H j Ω表示(2-3-1)式中,ε为小于1的正数,表示通带内幅度波动的程度,ε越大,波动幅度也越大。
p Ω称为通带截止频率。
令pλΩ=Ω ,称为对p Ω的归一化频率。
定义允许的通带内最大衰减p α用下式表示 22max ()10lg ,min ()p p Ha j Ha j αΩ=Ω≤ΩΩ (2-3-2)式中2max ()1ha j Ω= (2-3-3)221min ()1ha j εΩ=+ (2-3-4) 因此210lg(1)p αε=+ (2-3-5)221()1()N pH j C εΩ=Ω+Ω0.12101pαε=- (2-3-6)这样,可以根据通带内最大衰减p α,可求出参数ε。
阶数N 影响过渡带的宽度,同时也影响通带内波动的疏密,因为N 等于通带内的最大值和最小值的总个数。
设阻带的起点频率为s Ω,则有2221()1()s s N pH j C εΩ=Ω+Ω (2-3-7)令ss pλΩ=Ω,由s λ>1,有()()N s s C ch Narch λλ==(2-3-8)可以解出s N =(2-3-9)1s p ch arch N ⎧⎫⎪⎪Ω=Ω⎨⎬⎪⎪⎩⎭(2-3-10)3dB 截止频率用c Ω表示,()212a c H j Ω= (2-3-11)按照(2-3-1)式,有11c p ch arch N ε⎛⎫Ω=Ω ⎪⎝⎭ (2-3-12)经过一系列推论得归一化系统函数为(2-3-13)()()1112a NN ii G p p p ε-==-∏去归一化的系统函数为 ()()()112pNp a s Np N i p i H s G p p p αε=-Ω=Ω==-Ω∏ (2-3-14)3.2切比雪夫低通滤波器的设计步骤(1)确定低通滤波器的技术指标:边带频率p Ω,通带最大衰减p α、阻带最大衰减s α、阻带截至频率s Ω,它们满足(2-3-15)(2-3-16)(2)求滤波器阶数N 和参数ε ss pλΩ=Ω (2-3-17)11K -= (2-3-18) 11s archk N arch λ-= (2-3-19)这样,先由(2--18)式求出11K -,代入(2-3-19),求出阶数N ,最后取大于或等于N 的最小整数。
(3)求归一化系统函数()a G p()2110lgp p Ha j α=≤Ω()2110lgs s Ha j α=≤Ω()()1112a NN i i G p p p ε-==-∏ (2-3-20)(4)将去归一化,得到实际的()a H s ()()pa sp H s G p =Ω= (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 滤波器。
滤波器的系统函数为nn mm z a z a z a z a z b z b z b z b b Z H --------+⋅⋅⋅+++++⋅⋅⋅++++=33221133221101)(即滤波器系数a=[a0 a1 a2 ...an],b=[b0 b1 ...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)连续信号的产生及采样:clearf1=5;f2=15;f3=30;N=100;fs=100;n=(0:N-1); %采样点数为Nx1=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,频率fplot(f,abs(H));切比雪夫I型模拟低通滤波器仿真图(5)对滤波后的信号进行分析和变换sf=filter(b,a,x);%对原信号进行滤波plot(n,sf);xlabel('时间 (s)');ylabel('幅值');axis([0 1 -1 1]);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'})信号通过椭圆低通滤波器的仿真图注:图中蓝色曲线代表滤波前的幅频曲线,绿线代表滤波后的幅频曲线。