用MATLAB设计IIR数字滤波器 实验七
利用MATLAB设计IIR滤波器
河海大学常州校区
利用MATLAB设计IIR滤波器 11/ 29 利用MATLAB设计IIR滤波器 11/ MATLAB设计IIR
6;Wn=0.2329; n = 6;Wn=0.2329; b=[0.0007 0.0044 0.0111 0.0148 0.0111 0.0044 0.0007]; 0.0007]; 0.0544]; a=[1.0000 -3.1836 4.6222 -3.7795 1.8136 -0.4800 0.0544];
利用MATLAB设计IIR滤波器 利用MATLAB设计IIR滤波器 3/ 29 MATLAB设计IIR
1、根据频域指标设计
设计方法 滤波器
巴特沃思
函数及调用格式
[n,Wn]=buttord(Wp,Ws,Rp,Rs, s ) [n,Wn]=buttord(Wp,Ws,Rp,Rs,’s’)
根 据 频 域 指 标 设 计
函数格式: 函数格式:
[b,a]=func (…)
func: func:
butter(巴特沃思)、 butter(巴特沃思)、 cheby1(切比雪夫I型)、 cheby1(切比雪夫I cheby2(切比雪夫II II型 cheby2(切比雪夫II型)、 ellip(椭圆) ellip(椭圆)
河海大学常州校区
河海大学常州校区
利用MATLAB设计IIR滤波器 19/ 29 利用MATLAB设计IIR滤波器 19/ MATLAB设计IIR
wp=0.1;ws=0.15;rp=1;rs=15;Fs=1; [n1,Wn1]=buttord buttord(wp/(Fs/2),ws/(Fs/2),rp,rs); [n1,Wn1]=buttord(wp/(Fs/2),ws/(Fs/2),rp,rs); butter(n1,Wn1); [num1,den1]=butter [num1,den1]=butter(n1,Wn1); [H1,W1]=freqz(num1,den1); [n2,Wn2]=cheb1ord cheb1ord(wp/(Fs/2),ws/(Fs/2),rp,rs); [n2,Wn2]=cheb1ord(wp/(Fs/2),ws/(Fs/2),rp,rs); [num2,den2]=cheby1 cheby1(n2,rp,Wn2); [num2,den2]=cheby1(n2,rp,Wn2); [H2,W2]=freqz(num2,den2); [n3,Wn3]=cheb2ord cheb2ord(wp/(Fs/2),ws/(Fs/2),rp,rs); [n3,Wn3]=cheb2ord(wp/(Fs/2),ws/(Fs/2),rp,rs); [num3,den3]=cheby2 cheby2(n3,rs,Wn3); [num3,den3]=cheby2(n3,rs,Wn3); [H3,W3]=freqz(num3,den3); ellipord(wp/(Fs/2),ws/(Fs/2),rp,rs); [n4,Wn4]=ellipord [n4,Wn4]=ellipord(wp/(Fs/2),ws/(Fs/2),rp,rs); [num4,den4]=ellip(n4,rp,rs,Wn4); [num4,den4]=ellip(n4,rp,rs,Wn4); ellip [H4,W4]=freqz(num4,den4);
IIR数字滤波器设计实验报告
实验三IIR数字滤波器设计实验报告一、实验目的:1.通过仿真冲激响应不变法和双线性变换法2.掌握滤波器性能分析的基本方法二、实验要求:1.设计带通IIR滤波器2.按照冲激响应不变法设计滤波器系数3. 按照双线性变换法设计滤波器系数4. 分析幅频特性和相频特性5. 生成一定信噪比的带噪信号,并对其滤波,对比滤波前后波形和频谱三、基本原理:㈠IIR模拟滤波器与数字滤波器IIR数字滤波器的设计以模拟滤波器设计为基础,常用的类型分为巴特沃斯(Butterworth)、切比雪夫(Chebyshev)Ⅰ型、切比雪夫Ⅱ型、贝塞尔(Bessel)、椭圆等多种。
在MATLAB信号处理工具箱里,提供了这些类型的IIR数字滤波器设计子函数。
(二)性能指标1.假设带通滤波器要求为保留6000hz~~7000hz频段,滤除小于2000hz和大宇9000hz频段2.通带衰减设为3Db,阻带衰减设为30dB,双线性变换法中T取1s.四、实验步骤:1.初始化指标参数2.计算模拟滤波器参数并调用巴特沃斯函数产生模拟滤波器3.利用冲激响应不变法和双线性变换法求数字IIR滤波器的系统函数Hd (z)4.分别画出两种方法的幅频特性和相频特性曲线5.生成一定信噪比的带噪信号6.画出带噪信号的时域图和频谱图6.对带噪信号进行滤波,并画出滤波前后波形图和频谱图五、实验结果模拟滤波器的幅频特性和相频特性:101010101Frequency (rad/s)P h a s e (d e g r e e s )1010101011010-5100Frequency (rad/s)M a g n i t u d e在本实验中,采用的带通滤波器为6000-7000Hz ,换算成角频率为4.47-0.55,在上图中可以清晰地看出到达了题目的要求。
冲击响应不变法后的幅频特性和相频特性:0.10.20.30.40.50.60.70.80.91Normalized Frequency (⨯π rad/sample)P h a s e (d e g r e e s )0.10.20.30.40.50.60.70.80.91Normalized Frequency (⨯π rad/sample)M a g n i t u d e (d B )双线性变换法的幅频特性和相频特性:0.10.20.30.40.50.60.70.80.91Normalized Frequency (⨯π rad/sample)P h a s e (d e g r e e s )00.10.20.30.40.50.60.70.80.91Normalized Frequency (⨯π rad/sample)M a g n i t u d e (d B )通过上图比较脉冲响应不变法双线性变换法的幅频特性和相频特性,而在在幅频曲线上几乎没有差别,都能达到相同的结果。
基于MATLAB的IIR数字滤波器设计与仿真
基于MATLAB的IIR数字滤波器设计与仿真一、概述在现代数字信号处理领域中,数字滤波器扮演着至关重要的角色。
其通过对输入信号的特定频率成分进行增强或抑制,实现对信号的有效处理。
无限脉冲响应(IIR)数字滤波器因其设计灵活、实现简单且性能优良等特点,得到了广泛的应用。
本文旨在基于MATLAB平台,对IIR数字滤波器的设计与仿真进行深入研究,以期为相关领域的研究与应用提供有益的参考。
IIR数字滤波器具有无限长的单位脉冲响应,这使得其在处理信号时能够展现出优秀的性能。
与有限脉冲响应(FIR)滤波器相比,IIR滤波器在实现相同性能时所需的阶数更低,从而减少了计算复杂度和存储空间。
在需要对信号进行高效处理的场合,IIR滤波器具有显著的优势。
MATLAB作为一款功能强大的数学软件,提供了丰富的函数和工具箱,使得数字滤波器的设计与仿真变得简单而高效。
通过MATLAB,我们可以方便地实现IIR滤波器的设计、分析和优化,从而满足不同应用场景的需求。
本文将首先介绍IIR数字滤波器的基本原理和特性,然后详细阐述基于MATLAB的IIR数字滤波器的设计方法和步骤。
接着,我们将通过仿真实验验证所设计滤波器的性能,并对其结果进行分析和讨论。
本文将总结IIR数字滤波器设计与仿真的关键技术和注意事项,为相关领域的研究人员和工程师提供有益的参考和启示。
1. IIR数字滤波器概述IIR(Infinite Impulse Response)数字滤波器是数字信号处理中常用的一类滤波器,它基于差分方程实现信号的滤波处理。
与FIR (Finite Impulse Response)滤波器不同,IIR滤波器具有无限长的单位脉冲响应,这意味着其输出不仅与当前和过去的输入信号有关,还与过去的输出信号有关。
这种特性使得IIR滤波器在实现相同的滤波效果时,通常具有更低的计算复杂度,从而提高了处理效率。
IIR滤波器的设计灵活多样,可以根据不同的需求实现低通、高通、带通和带阻等多种滤波功能。
基于matlab的IIR数字滤波器设计(doc 19页)
在MATLAB 中,模拟滤波器的系统函数 H(S)=)()()1()((.....)2()1()1()(......)2()1(11S A S B N A S N A S A S A M B S M B S B S B N N M M =++++++++++--数字滤波器的系统函数 H(Z)=)()()1()(.....)2()1()1()(.....)2()1()1(1)1(1Z A Z B Z N A Z N A Z A A Z M B Z M B Z B B N N M M =++++++++++--------在实际工程中,需要的设计结果是系数向量B 和A ,用B 和A 来综合滤波器的硬件实现结构或软件运算结构,为了直观的看出设计结果,本文的实例均以滤波器幅频响应曲线作为设计结果输出。
如果需要滤波器系数,在运行程序后,只要在MATLAB 命令窗口键入系数向量名,则相应的系数就显示出来了。
2.1.2.程序设计实例分析(a )设计高通和带通Butterworth 数字滤波器我们给出四阶归一化 Butterworth 模拟滤波器的系统函数16131.24142.36131.21)(234++++=S S S S S H用双线性变换法从Ha (s )设计四阶带通butterworth数字滤波器)(Z H BP ,并图示|)(jw BP e H |,设计采样周期T=1s ,指标如下 ππ65.0,35.01==uc c w w现在我们分步进行:■建模由于本例主要涉及三个问题:(1) 由数字滤波器指标求相应的模拟滤波器指标;(2) 模拟滤波器频率变换(因为已给定阶数和模拟滤波器的归一化低通原型);(3) 由相应的模拟滤波器到数字滤波器(双线性变换法)。
由于调用bilinear 函数将模拟滤波器转换成数字滤波器非常容易,并且有效抑制频率失真的问题,本例给定了数字滤波器指标,所以首先要设计处与该指标相应的四阶Butterworth 模拟滤波器,然后调用bilinear 函数将其转换为数字滤波器即可,应当特别注意的是,对于双线性变换法,由数字边界频率求相应的模拟边界频率时,一定要考虑预畸变矫正。
利用MATLAB设计IIR滤波器
利用MATLAB设计IIR滤波器IIR滤波器是一种数字滤波器,它基于无限脉冲响应(Infinite Impulse Response)的概念。
与FIR滤波器相比,IIR滤波器具有更高的灵活性和更小的计算复杂度。
MATLAB是一种强大的数学软件,它提供了丰富的信号处理工具箱,可以用于设计、分析和实现各种数字滤波器,包括IIR滤波器。
设计IIR滤波器的一种常用方法是脉冲响应不变方法(Impulse Invariance Method)。
下面将以该方法为例,介绍如何使用MATLAB设计IIR滤波器。
首先,我们将使用MATLAB的`iirdesign`函数来设计IIR滤波器。
该函数的语法如下:```matlab[b, a] = iirdesign(wp, ws, rp, rs);```其中,`wp`是通带截止频率,`ws`是阻带截止频率,`rp`是通带衰减,`rs`是阻带衰减。
`b`和`a`分别代表滤波器的分子和分母系数。
例如,我们希望设计一个低通IIR滤波器,通带截止频率为0.4π,阻带截止频率为0.6π,通带衰减为3dB,阻带衰减为40dB。
则可以使用以下代码:```matlabwp = 0.4 * pi;ws = 0.6 * pi;rp = 3;rs = 40;[b, a] = iirdesign(wp, ws, rp, rs);```设计完成后,我们可以使用MATLAB的`freqz`函数来绘制滤波器的频率响应曲线。
代码示例如下:```matlab[H, w] = freqz(b, a);mag = 20 * log10(abs(H));figure;plot(w/pi, mag);xlabel('Normalized Frequency');ylabel('Magnitude (dB)');```上述代码中,`freqz`函数返回滤波器的频率响应`H`和频率向量`w`。
IIR数字滤波器设计实验报告
IIR数字滤波器的设计一、实验目的1、了解IIR数字滤波器的工作原理和作用2、掌握IIR数字滤波器的两种设计方法3、掌握使用MATLAB形成IIR数字滤波器二、实验内容有三首音乐,第一首为正常音质的音乐。
第二首为被加了紧邻原音乐的干扰的音乐。
第三首为被加了远离原音乐干扰的音乐。
要求设计IIR数字滤波器将被干扰的音乐恢复成不受干扰的音乐。
三、实验步骤步骤1: 将实际模拟低通滤波器指标转化为归一化模拟低通滤波器指标λs, αs, αp步骤2: 确定归一化模拟低通滤波器的系统函数Ha(p)步骤3: 由Ha(p)确定实际模拟低通滤波器的系统函数Ha(s)步骤4: 由Ha(s)确定的参数利用MATLAB形成IIR数字滤波器四、实验方法1、脉冲不变相应法:Matlab提供了脉冲不变响应法的库函数:[bz,az]=impinvar(b,a,Fs);表示将分子向量为b,分母向量为a的模拟滤波器通过脉冲响应不变法转换为分子向量为bz,分母向量为az的数字滤波器,采样频率为Fs,单位Hz。
2、双线性变换法:Matlab提供了双线性变换法的库函数:[bz,az]=bilinear(b,a,Fs);表示将分子向量为b,分母向量为a的模拟滤波器通过双线性变换法转换为分子向量为bz,分母向量为az的数字滤波器,采样频率为Fs,单位Hz。
五、实验程序与结果MATLAB代码:clear all;[s1,Fs,bits]=wavread('F:\music2-1.wav');s2=wavread('F:\music2-2.wav');s3=wavread('F:\music2-3.wav');t=(0:length(s1)-1)/Fs; % 计算数据时刻N=length(s1);if mod(N,2)==0;N=N;else s1(N)=[];N=N-1;end;fx=(0:N/2)*Fs/N;%%%%%%%%信号1%%%%%%%%figure(1);subplot(2,1,1);plot(t,s1); %绘制原音乐波形图subplot(2,1,2);s1f=fft(s1);plot(fx,abs(s1f(1:N/2+1)));%%%%%%%%信号2%%%%%%%%figure(2);subplot(2,1,1);plot(t,s2); % 绘制受紧邻原音乐的干扰的音乐的波形图subplot(2,1,2);s2f=fft(s2);plot(fx,abs(s2f(1:N/2+1)));%%%%%%%%信号3%%%%%%%%figure(3);subplot(2,1,1);plot(t,s3); %绘制受远离原音乐的干扰的音乐的波形图subplot(2,1,2);s3f=fft(s3);plot(fx,abs(s3f(1:N/2+1)));%%%%%%%%%滤波器设计1%%%%%%%Wp1=[2*8000*pi/Fs,2*10000*pi/Fs];Ws1=[2*8500*pi/Fs,2*9500*pi/Fs]; Rp=3;Rs=30;Wp11=2*Fs*tan(Wp1/2);Ws11=2*Fs*tan(Ws1/2);[N1,Wn1]=buttord(Wp11,Ws11,Rp,Rs,'s');[b,a]=butter(N1,Wn1,'stop','s');[bz,az]=bilinear(b,a,Fs);Y1=filter(bz,az,s2);figure(4);subplot(2,1,1);plot(t,Y1); %绘制滤波后波形图subplot(2,1,2);Yf1=fft(Y1);plot(abs(Yf1));wavwrite(Y1,Fs,bits,'F:\ music2-2lvbo.wav');%%%%%%%%%滤波器设计2%%%%%%%Wp2=2*7000*pi;Ws2=2*9000*pi;Rp2=3;Rs2=30;[N2,Wn2]=buttord(Wp2,Ws2,Rp2,Rs2,'s');[b2,a2]=butter(N2,Wn2,'s');[bz2,az2]=impinvar(b2,a2,Fs);Y2=filter(bz2,az2,s3);figure(5);subplot(2,1,1);plot(t,Y2); % 绘制滤波后波形图subplot(2,1,2);Yf2=fft(Y2);plot(abs(Yf2)); % 绘制滤波后波形图%%%%%%%%%%%%%%%%%%%%%%W=linspace(0,pi,pi*16000);Hz1=freqz(bz2,az2,W);Hz2=freqz(bz,az,W);figure(6);subplot(2,1,1);plot(abs(Hz1));subplot(2,1,2);plot(abs(Hz2));wavwrite(Y2,Fs,bits,'F:\music2-3lvbo.wav');。
IIR数字滤波器的MATLAB实现
第6章 IIR 数字滤波器的MATLAB 实现6.1 实验目的● 要求掌握IIR 数字滤波器的设计原理、设计方法和设计步骤; ● 能根据给定的滤波器指标进行滤波器设计;● 掌握数字巴特沃斯滤波器、数字切比雪夫滤波器的设计原理和步骤;6.2 实验原理及实例分析6.2.1 IIR 数字滤波器的传递函数及特点设IIR 滤波器的输入序列为x(n),则IIR 滤波器的输入序列x(n)与输出序列y(n)之间的关系可以用下面的方程式表示:)()()(1j n x a i n x b n y Nj j M i i -+-=∑∑==其中,j a 和i b 是滤波器的系数,其中j a 中至少有一个非零。
与之相对应的差分方程为:NN M M z a z a z b z b b z X z Y Z H ------++==....1....)()()(11110由传递函数可以发现无限常单位冲激响应滤波器有如下特点: (1) 单位冲激响应h(n)是无限长的。
(2) 系统传递函数H(z)在有限z 平面上有极点存在。
(3) 结构上存在着输出到输入的反馈,也就是结构上是递归型的。
6.2.2 IIR 数字滤波器的设计与实现IIR 数字滤波器的设计有多种方法,如频率变换法、数字域直接设计以及计算辅助设计等。
下面只介绍频率变换设计法。
首先考虑由模拟低通滤波器到数字低通滤波器的转换,其基本的设计过程如下:(1) 将数字滤波器的技术指标转换为模拟滤波器的技术指标; (2) 设计模拟滤波器G(S);(3) 将G(S)转换成数字滤波器H(Z);在低通滤波器的设计基础上,可以得到数字高通、带通、带阻滤波器的设计流程如下:(1)给定数字滤波器的设计要求(高通、带阻、带通);(2)转换为模拟(高通、带阻、带通)滤波器的技术指标;(3)转换为模拟低通滤波器的指标;(4)设计得到满足第三步要求的低通滤波器传递函数;(5)通过频率转换得到模拟(高通、带阻、带通)滤波器;(6)变换为数字(高通、带阻、带通)滤波器。
IIR数字滤波器设计及软件实现-实验报告
实验报告实验四:IIR数字滤波器设计及软件实现1.实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法;(2)学会调用MATLAB信号处理工具箱中滤波器设计函数(或滤波器设计分析丄具fdatool)设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。
(3)掌握IIR数字滤波器的MATLAB实现方法。
(3)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。
2.实验原理T SIT IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。
基本设计过程是:①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标;②设计过渡模拟滤波器;③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。
MATLAB信号处理工具箱中的各种IIR 数字滤波器设计函数都是釆用双线性变换法。
第六章介绍的滤波器设计函数butter、chebyl、cheby2和ellip 可以分别被调用来直接设计巴特沃斯.切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。
本实验要求读者调用如上函数直接设计IIR数字滤波器。
本实验的数字滤波器的MATLAB实现是指调用MATLAB信号处理工具箱函数filter 对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n)o3.实验内容及步骤(1)调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图1041 所示。
山图可见,三路信号时域混叠无法在时域分离。
但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的口的。
(b) s(t)的频谱d L厶;亠亠;••I -------------------------------- ♦ -. —--I-------------------------------- —♦---—a a a a a0 200 400 600 800 1000 1200 U00 1600 1800 2000f7Hz图10.4.1三路调幅信号st的时域波形和幅频特性曲线(2)要求将st中三路调幅信号分离,通过观察st的幅频特性曲线,分别确定可以分离st中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。
matlab实验报告 IIR数字滤波器设计
实验报告姓名:李鹏博 实验名称: IIR 数字滤波器设计 学号:2011300704 课程名称: 数字信号处理 班级:03041102 实验室名称: 航海西楼303 组号: 1 实验日期: 2014.06.20一、实验目的、要求掌握IIR 数字滤波器设计的冲激响应不变法和双线性变换法。
掌握IIR 数字滤波器的计算机编程实现方法,即软件实现。
二、实验原理为了从模拟滤波器设计IIR 数字滤波器,必须先设计一个满足技术指标的模拟滤波器,然后将其数字化,即从s 平面映射到z 平面,得到所需的数字滤波器。
虽然IIR 数字滤波器的设计本质上并不取决于连续时间滤波器的设计,但是因为在许多应用中,数字滤波器就是用来模仿模拟滤波器功能的,所以由模拟滤波器转化为数字滤波器是很自然的。
因此,由模拟滤波器设计数字滤波器的方法准确、简便,是目前最普遍采用的方法。
三、实验环境PC 机,Windows XP ,office 2003,Matlab 软件。
四、实验过程、数据记录、分析及结论实验过程1.编程设计滤波器,用冲激响应不变法设计IIR 数字滤波器。
2.编程设计滤波器,用双线性变换法设计IIR 数字滤波器。
3.求脉冲响应、频率响应以及零极点。
4.编程滤波,求滤波器输出,完成对不同频率的多个正弦信号的滤波。
实验步骤根据所给定的技术指标进行指标转换。
112c c f πΩ=,222c c f πΩ=,112s s f πΩ=,222s s f πΩ=,21p c c B Ω==Ω-Ω,221222s s s s s B Ω-ΩΩΩ=Ω,3,18p s αα=-=-。
根据指标设计Butterworth 模拟低通滤波器。
调用函数[n,wn]=buttord(wp,ws,rp,rs,’s ’)确定阶次。
调用函数[zl,pl,kl]=buttap(n),求低通原型的模型。
调用函数[bl,al]=zp2tf(zl,pl,kl)实现模型转换。
IIR数字滤波器的MATLAB实现
IIR 数字滤波器的MATLAB 实现一、实验目的:1、要求掌握IIR 数字滤波器的设计原理、设计方法和设计步骤;2、能根据给定的滤波器指标进行滤波器设计;3、掌握数字巴特沃斯滤波器、数字切比雪夫滤波器的设计原理和步骤;二、实验原理:1 IIR 数字滤波器的传递函数及特点设IIR 滤波器的输入序列为x(n),则IIR 滤波器的输入序列x(n)与输出序列y(n)之间的关系可以用下面的方程式表示: 其中,ja 和ib 是滤波器的系数,其中ja 中至少有一个非零。
与之相对应的差分方程为:2 IIR 数字滤波器的设计与实现IIR 数字滤波器的设计,主要采用间接法,即:首先设计出低通模拟滤波器H(S);进行频率变换,将其转换为高通、带通、带阻滤波器;再用脉冲响应不变法或双线性变换法从模拟滤波器转换为数字滤波器。
对单极点的N 阶H(S)用部分展开式:冲激响应不变法取H(S)的单阶极点Sk 的指数函数sF KS e 作为H (Z )的极点双线性变换法是用⎥⎦⎤⎢⎣⎡+-=--11112Z Z T S 代换H (S )中的S 得到H(Z),双线性变换法可完全消除频率混叠失真但存在非线性频率失真,而冲激响应不变法存在混叠失真。
在不同的设计阶段MATLAB 的信号处理工具箱都给出了相应的滤波器设计函数,这些函数代表了不同类型的逼近函数的滤波器,常用的有巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器类型。
MATLAB 工具箱中的函数。
三、实验内容与步骤:1、基于chebyshev1型模拟滤波器原型使用冲激响应不变法设计数字滤波器,要求具有下面的参数指标:通带截止频率:0.1pπΩ=通带波动值:2pR dB=阻带截止频率:0.4sπΩ=阻带波动值:18sA dB=程序原代码如下:clear;close all;wp=0.1*pi;ws=0.4*pi;Rp=2;As=18;%参数T=1;Rip=10^(-Rp/20);Atn=10^(-As/20);[N,OmgC]=cheb1ord(wp*T,ws*T,Rp,As,'s');[cs,ds]=cheby1(N, Rp, OmgC,'s');[b,a]=impinvar(cs,ds,T);[db,mag,pha,grd,w]=freqz_m(b,a);subplot(2,2,1);plot(w/pi,mag);title('幅频特性');xlabel('w(/pi)');ylabel('|H(jw)|');axis([0,1,0,1.1]);set(gca,'XTickMode','manual','XTick',[0 0.1 0.4 0.5 1]); set(gca,'YTickMode','manual','YTick',[0 Atn Rip 1]);grid subplot(2,2,2);plot(w/pi,db);title('幅频特性(db)');xlabel('w(/pi)');ylabel('dB');axis([0,1,-40,5]);set(gca,'XTickMode','manual','XTick',[0 0.1 0.4 0.5 1]); set(gca,'YTickMode','manual','YTick',[-40 -As -Rp 0]);grid subplot(2,2,3);plot(w/pi,pha/pi);title('相频特性');xlabel('w(/pi)');ylabel('pha(/pi)');axis([0,1,-1,1]);set(gca,'XTickMode','manual','XTick',[0 0.1 0.4 0.5 1]);gridsubplot(2,2,4);plot(w/pi,grd);title('群延时');xlabel('w(/pi)');ylabel('Sample'); axis([0,1,0,12]);set(gca,'XTickMode','manual','XTick',[0 0.1 0.4 0.5 1]);grid %所使用的M 文件函数function [db,mag,pha,grd,w]=freqz_m(b,a)%滤波器的幅值响应(相对、绝对)、相位响应及群延迟 [H,w]=freqz(b,a,500); %500点的复频响应 mag=abs(H); %绝对幅值响应 db=20*log10(mag/max(mag)); %相对幅值响应 pha=angle(H); %相位响应 grd=grpdelay(b,a,w); %群延迟响应 实验图:标参数为:在通带内频率低于0.2π时,最大衰减小于1dB ,在阻带内[0.3,]ππ频率区间上,最小衰减大于15dB 。
IIR数字滤波器的MATLAB实现
实验六IIR数字滤波器的MATLAB实现1.忽略2.低通,采样频率为1Hz,通带临界频率f p =0.2Hz,通带内衰减小于1dB(αp=1);阻带临界频率f s=0.3Hz,阻带内衰减大于25dB(αs=25)。
设计一个数字滤波器满足以上参数。
% Matlab使用归一化的频率参数(临界频率除以采样频率的1/2)。
%这样临界频率参数的取值范围在0和1之间,1代表Fs/2(用角频率表示的时候对应π)程序如下:FS=1 ;[n,Wn]=buttord(0.2/(FS/2),0.3/( FS /2),1,25);[b,a]=butter(n,Wn);freqz(b,a,512, FS);运行结果为:3.低通,采样频率为1Hz,通带临界频率f p =0.2Hz,通带内衰减小于1dB(αp=1);阻带临界频率f s=0.3Hz,阻带内衰减大于25dB(αs=25)。
设计一个数字滤波器满足以上参数。
程序如下:FS=1 ;[n,Wn]=buttord(0.2*2*pi,0.3*2*pi,1,25,'s'); %临界频率采用角频率表示[b,a]=butter(n,Wn,'s');%freqs(b,a) %设计模拟的[bz,az]=impinvar(b,a,FS); %映射为数字的freqz(bz,az,512,FS)4.基于chebyshev1型模拟滤波器原型使用冲激不变转换方法设计数字滤波器,要求具有下面的参数指标:通带截止频率:π2.0=Ωp 通带波动值:dB R p 1=阻带截止频率:π3.0=Ωs 阻带波动值:dB A s 15=程序 如下:FS=10;T=1/FS;fp=0.2;fs=0.3;wp=fp/FS*2*pi;ws=fs/FS*2*pi;OmegaP=2*FS*tan(wp/2);OmegaS=2*FS*tan(ws/2);[n,Wn]=cheb1ord(OmegaP,OmegaS,1,15,'s')[b,a]=cheby1(n,1,Wn,'high','s');freqs(b,a) %设计模拟的[bz,az]=bilinear(b,a,FS); %映射为数字的freqz(bz,az,512,FS)bz,az5.一个椭圆数字滤波器的设计,要求采用双线性变换方法,指标参数如下:通带截止频率:π2.0=Ωp 通带波动值:dB R p 5.1=阻带截止频率:π3.0=Ωs 阻带波动值:dB A s 20=程序 如下:FS=1%通带、阻带截止频率Fl=0.2;Fh=0.3;%频率预畸wp=(Fl/FS)*2*pi; %临界频率采用角频率表示ws=(Fh/FS)*2*pi; %临界频率采用角频率表示OmegaP=2*FS*tan(wp/2);OmegaS=2*FS*tan(ws/2);[n,Wn]=buttord(OmegaP,OmegaS,1.5,20,'s');[b,a]=butter(n,Wn,'s');%freqs(b,a) %设计模拟的[bz,az]=bilinear(b,a,FS); %映射为数字的freqz(bz,az,512,FS,'whole')。
基于MATLAB的IIR滤波器的设计和应用(信号去噪)
数字信号处理课程设计报告书课题名称基于MATLAB 的IIR 滤波器的设计及应用(信号去噪)姓 名 学 号院、系、部 电气工程系 专 业 电子信息工程 指导教师2013年 6 月28日※※※※※※※※※ ※※※※ ※※ ※※※※※※※※※2010级数字信号处理 课程设计基于MATLAB 的IIR 滤波器的设计及应用(信号去噪)一、实验目的1.学会MATLAB 的使用,掌握MATLAB 的程序设计方法。
2.掌握数字信号处理的基本概念、基本理论和基本方法。
3. 在MATLAB 环境下产生噪声信号。
4.掌握MATLAB 设计IIR 数字滤波器的方法。
5.学会用MATLAB 对信号进行分析和处理。
二、实验原理数字滤波器的设计:巴特沃斯(Butterworth)滤波器的幅度平方函数用下式表示: ()Nc j H 2211⎪⎪⎭⎫ ⎝⎛ΩΩ+=Ω∂ (2.1)式中,N 为滤波器的阶数,幅度下降的速度与N 有关,N 越大,通带越平坦,过渡带越窄,总的频响特性与理想低通滤波器的误差越小。
切比雪夫(Chebyshev)滤波器的幅频特性在通带或者阻带有等波纹特性,可以提高选择性,其幅度平方函数用下式表示:()⎪⎪⎭⎫ ⎝⎛ΩΩ+=Ω∂PN C j H 22211ε (2.2) 式中,ε为小于1的正数,表示通带幅度波动的程度,ε越大,波动幅度也越大,Ωp 称为通带截止频率。
椭圆(Ellipse)滤波器的通带和阻带呈现等波纹幅频特性时,通带和阻带波纹幅度越小,过渡带就越宽。
所以椭圆滤波器的阶数由通带边界频率、阻带边界频率、通带边界衰减、阻带边界衰减共同决定。
三、主要实验仪器及材料微型计算机、MATLAB6.5教学版四、实验内容1.噪声信号的频谱分析。
2.设计数字滤波器和画出频率响应:低通滤波器性能指标,fp=1000Hz ,fs=1800 Hz , As=100dB ,Ap=1dB ; 在MATLAB 中,可以利用函数butte 、cheby1和ellip 设计IIR 滤波器;最后,利用MATLAB 中的函数freqz 画出各滤波器的频率响应。
MATLAB的IIR低通滤波器设计
题目:MATLAB的IIR低通滤波器的应用作者:刘靖学号:0911113实验目的:数字滤波器分为有限脉冲响应数字滤波器(FIR)和无限脉冲响应数字滤波器(IIR)。
我们可以借助于模拟滤波器的理论和设计方法来设计IIR滤波器的方法,即根据给定的滤波器技术指标,确定滤波器的系统函数,使其尽可能地逼近滤波器的指标,并用MATLAB 进行仿真。
数字滤波器的最通用的方法是借助于模拟滤波器的设计方法。
模拟滤波器设计已经有了相当成熟的技术和方法,有完整的设计公式,还有比较完整的图表可以查询,因此设计数字滤波器可以充分利用这些丰富的资源来进行。
数字滤波器是指输入、输出都是离散时间信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。
数字滤波器在数字信号处理中起着非常重要的作用,在信号的过滤、检测与参数的估计等方面,是使用最为广泛的一种线性系统。
为了保证转换后H(z)稳定,必须满足以下条件:第一:因果稳定的模拟滤波器转换成数字滤波器,仍是因果稳定的,s平面的左半平面映射z平面的单位圆内部;第二:数字滤波器的频率响应模仿模拟滤波器的频响,s平面的虚轴映射z平面的单位圆,相应的频率之间成线性关系。
运用数字滤波器的方法有两种:一是采用计算机软件进行,就是把所要完成的工作通过程序让计算机来实现;二是设计专用的数字处理硬件。
这个地方主要用到的就是第一种方法。
即是用Matlab提供的信号处理工具箱来实现数字滤波器。
Matlab信号处理程序提供了丰富的设计方法,可以使得繁琐的程序设计简化成函数的调用,只要以正确的指标参数调用函数,就可以正确快捷地得到设计结果。
实验原理:如果想要将s平面的jΩ轴压缩到s1平面jΩ上的—/T/T 一段上,就可以通过以下的正切变换实现:一般取C=2/T。
用不同的方法确定,可使模拟滤波器的频率特性与数字滤波器的频率特性在不同频率点有对应关系。
在运用的过程当中,经过这样的频率转换,当如将这一解析延拓至整个s平面,则得到s平面s1平面的映射关系。
IIR数字滤波器的MATLAB实现
IIR 数字滤波器的MATLAB 实现一、实验目的:1、要求掌握IIR 数字滤波器的设计原理、设计方法和设计步骤;2、能根据给定的滤波器指标进行滤波器设计;3、掌握数字巴特沃斯滤波器、数字切比雪夫滤波器的设计原理和步骤;二、实验原理:1 IIR 数字滤波器的传递函数及特点设IIR 滤波器的输入序列为x(n),则IIR 滤波器的输入序列x(n)与输出序列y(n)之间的关系可以用下面的方程式表示: 其中,ja 和ib 是滤波器的系数,其中ja 中至少有一个非零。
与之相对应的差分方程为:2 IIR 数字滤波器的设计与实现IIR 数字滤波器的设计,主要采用间接法,即:首先设计出低通模拟滤波器H(S);进行频率变换,将其转换为高通、带通、带阻滤波器;再用脉冲响应不变法或双线性变换法从模拟滤波器转换为数字滤波器。
对单极点的N 阶H(S)用部分展开式:冲激响应不变法取H(S)的单阶极点Sk 的指数函数sF KS e 作为H (Z )的极点双线性变换法是用⎥⎦⎤⎢⎣⎡+-=--11112Z Z T S 代换H (S )中的S 得到H(Z),双线性变换法可完全消除频率混叠失真但存在非线性频率失真,而冲激响应不变法存在混叠失真。
在不同的设计阶段MATLAB 的信号处理工具箱都给出了相应的滤波器设计函数,这些函数代表了不同类型的逼近函数的滤波器,常用的有巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器类型。
MATLAB 工具箱中的函数。
三、实验内容与步骤:1、基于chebyshev1型模拟滤波器原型使用冲激响应不变法设计数字滤波器,要求具有下面的参数指标:通带截止频率:0.1pπΩ=通带波动值:2pR dB=阻带截止频率:0.4sπΩ=阻带波动值:18sA dB=程序原代码如下:clear;close all;wp=0.1*pi;ws=0.4*pi;Rp=2;As=18;%参数T=1;Rip=10^(-Rp/20);Atn=10^(-As/20);[N,OmgC]=cheb1ord(wp*T,ws*T,Rp,As,'s');[cs,ds]=cheby1(N, Rp, OmgC,'s');[b,a]=impinvar(cs,ds,T);[db,mag,pha,grd,w]=freqz_m(b,a);subplot(2,2,1);plot(w/pi,mag);title('幅频特性');xlabel('w(/pi)');ylabel('|H(jw)|');axis([0,1,0,1.1]);set(gca,'XTickMode','manual','XTick',[0 0.1 0.4 0.5 1]); set(gca,'YTickMode','manual','YTick',[0 Atn Rip 1]);grid subplot(2,2,2);plot(w/pi,db);title('幅频特性(db)');xlabel('w(/pi)');ylabel('dB');axis([0,1,-40,5]);set(gca,'XTickMode','manual','XTick',[0 0.1 0.4 0.5 1]); set(gca,'YTickMode','manual','YTick',[-40 -As -Rp 0]);grid subplot(2,2,3);plot(w/pi,pha/pi);title('相频特性');xlabel('w(/pi)');ylabel('pha(/pi)');axis([0,1,-1,1]);set(gca,'XTickMode','manual','XTick',[0 0.1 0.4 0.5 1]);gridsubplot(2,2,4);plot(w/pi,grd);title('群延时');xlabel('w(/pi)');ylabel('Sample'); axis([0,1,0,12]);set(gca,'XTickMode','manual','XTick',[0 0.1 0.4 0.5 1]);grid %所使用的M 文件函数function [db,mag,pha,grd,w]=freqz_m(b,a)%滤波器的幅值响应(相对、绝对)、相位响应及群延迟 [H,w]=freqz(b,a,500); %500点的复频响应 mag=abs(H); %绝对幅值响应 db=20*log10(mag/max(mag)); %相对幅值响应 pha=angle(H); %相位响应 grd=grpdelay(b,a,w); %群延迟响应 实验图:2、(1) 用双线性变换法设计一个巴特沃斯低通IIR 数字滤波器。
用MATLAB设计IIR数字滤波器 实验七
实验七:用MATLAB 设计IIR 数字滤波器1、用双线性变换法设计切比雪夫Ⅱ型数字滤波器,列出传递函数并描绘模拟和数字滤波器的幅频响应曲线。
① 设计一个数字低通滤波器,要求:ωp=0.2П,Rp=1dB ;阻带:ωs=0.35П,As=15dB , 滤波器采样频率Fs=10Hz 。
程序清单如下:wp=0.2*pi; %滤波器的通带截止频率 ws=0.35*pi; %滤波器的阻带截止频率 Rp=1;As=15; %滤波器的通阻带衰减指标ripple=10^(-Rp/20); %滤波器的通带衰减对应的幅度值 Attn=10^(-As/20); %滤波器的阻带衰减对应的幅度值 %转换为模拟滤波器的技术指标 Fs=10;T=1/Fs;Omgp=(2/T)*tan(wp/2);%原型通带频率的预修正 Omgs=(2/T)*tan(ws/2);%原型阻带频率的预修正 %模拟原型滤波器计算[n,Omgc]=cheb2ord(Omgp,Omgs,Rp,As,'s')[z0,p0,k0]=cheb2ap(n,As); %设计归一化的cheb2型模拟滤波器原型 ba1=k0*real(poly(z0)); %求原型滤波器的系数b aa1=real(poly(p0));[bb,aa]=lp2lp(ba1,aa1,Omgc); %变换为模拟低通滤波器 %用双线性变换法计算数字滤波器系数 [bd,ad]=bilinear(bb,aa,Fs) %求数字系统的频率特性[H,w]=freqz(bd,ad);dbH=20*log10((abs(H)+eps)/max(abs(H))); subplot(2,2,1);plot(w/pi,abs(H));ylabel('|H|');title('幅度响应');axis([0,1,0,1.1]);set(gca,'XTickMode','manual','XTick',[0,0.2,0.35,1]);set(gca,'YTickMode','manual','YTick',[0,Attn,ripple,1]);grid subplot(2,2,2);plot(w/pi,angle(H)/pi);ylabel('\phi');title('相位响应');axis([0,1,-1,1]);set(gca,'XTickMode','manual','XTick',[0,0.2,0.35,1]); set(gca,'YTickMode','manual','YTick',[-1,0,1]);grid subplot(2,2,3);plot(w/pi,dbH);title('幅度响应(dB)');课程名称:数字信号处理 实验成绩: 指导教师: 实 验 报 告院系: 信息工程学院 班级: 学号: 姓名:日期: 2011. 12.26ylabel('dB');xlabel('频率(\pi)');axis([0,1,-40,5]);set(gca,'XTickMode','manual','XTick',[0,0.2,0.35,1]); set(gca,'YTickMode','manual','YTick',[-50,-15,-1,0]);grid subplot(2,2,4);zplane(bd,ad);axis([-1.1,1.1,-1.1,1.1]);title('零极点图');程序运行结果如下:n = 3 Omgc = 10.2282 bd =0.1624 0.0056 0.0056 0.1624 ad =1.0000 -1.4073 0.9056 -0.16230.20.35100.17780.89131|H |幅度响应0.20.351-101φ相位响应0.20.351-15-10幅度响应(dB)d B频率(π)-101-1-0.500.51Real PartI m a g i n a r y P a r t零极点图由频率特性曲线可知,该设计结果再通阻带截止频率处能满足R p ≤1dB 、As ≥20dB 的设计指标要求,系统的极点全部在单位圆内,是一个稳定系统。
IIR数字滤波器的设计实验报告
IIR数字滤波器的设计实验报告
实验目的
本实验的目的在于探讨IIR(递归)数字滤波器的原理,掌握能够设计微分器和积分
器的IIR滤波器的方法。
同时,熟悉MATLAB中滤波器设计的相关函数,并用新的函数进
行实验验证。
实验仪器
对于本次实验,所用的仪器主要为实验课电脑,及其软件MATLAB,用于完成滤波器设计及实验实现。
实验过程
1、用MATLAB实现IIR数字滤波器,设计并实现IIR滤波器,并用校准参数系数评估
滤波器性能。
3、对设计的滤波器的传递函数进行仿真、评估。
使用MATLAB绘出滤波器的幅频特性、频谱,以及滤波器输入、输出的波形和信号,观察其传递特性。
实验结果
仿真结果表明,IIR数字滤波器的滤波效果较好,有效降低了背景噪声,使信号在指
定某一范围内得到有效过滤。
滤波器的幅频特性绘制,可以看到滤波器在频率范围内的衰
减特性,证明IIR滤波器具有良好的传输特性,有效控制频率范围的信号,使信号得以准
确输出。
本次实验通过MATLAB完成IIR数字滤波器的设计,经过仿真、评估之后,发现该IIR 滤波器可以有效滤除信号中的指定范围的频率,在精度和效率方面得到保证,而且参数耦
合范围小,可被用于绝大多数滤波器需求场景。
IIR数字滤波器设计及软件实现-实验报告
IIR数字滤波器设计及软件实现-实验报告实验目的:1.掌握数字滤波器设计的基本原理和方法;2.学习数字滤波器的软件实现;3.熟悉数字滤波器的特性和性能评价指标。
实验设备:1.计算机;2.MATLAB软件。
实验步骤:1. 设计无限冲激响应(Infinite Impulse Response,IIR)数字滤波器的传递函数。
2.使用MATLAB软件将传递函数转换为差分方程。
3.编写MATLAB代码实现差分方程的数字滤波器。
4.给定待滤波的数字信号,将信号传入数字滤波器进行滤波处理。
5.分析滤波后的信号的频率响应和时域响应,并进行性能评价。
实验结果:在MATLAB中,设计了一个二阶Butterworth低通滤波器的传递函数:H(z)=(0.2929/(z^2-0.5858z+0.2929))将传递函数转换为差分方程:y(n)=0.2929*x(n)+0.5858*x(n-1)+0.2929*x(n-2)-0.5858*y(n-1)-0.2929*y(n-2)使用MATLAB代码实现了差分方程的数字滤波器:```MATLABfunction y = IIR_filter(x)persistent x1 x2 y1 y2;if isempty(x1)x1=0;x2=0;y1=0;y2=0;endy=0.2929*x+0.5858*x1+0.2929*x2-0.5858*y1-0.2929*y2;x2=x1;x1=x;y2=y1;y1=y;end```将待滤波的数字信号传入该数字滤波器进行处理:```MATLAB% Generate test signalfs = 1000; % Sampling ratet = 0:1/fs:1; % Time vectorx = sin(2*pi*50*t) + sin(2*pi*120*t) + sin(2*pi*200*t); % Apply IIR filtery = IIR_filter(x);% Plot resultsfigure;subplot(2,1,1);plot(t, x);title('Original Signal');xlabel('Time');ylabel('Amplitude');subplot(2,1,2);plot(t, y);title('Filtered Signal');xlabel('Time');ylabel('Amplitude');```分析滤波后的信号的频率响应和时域响应,并进行性能评价。
基于matlab的IIR数字滤波器课程设计报告
.数字信号处理课程设计报告专业:通信工程院系:信息工程学院一、课题名称基于matlab的IIR滤波器设计二、课题意义数字滤波器是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。
它的基本工作原理是利用离散系统特性对系统输入信号进行加工和变换,改变输入序列的频谱或信号波形,让有用频率的信号分量通过,抑制无用的信号分量输出。
数字滤波器和模拟滤波器有着相同的滤波概念,根据其频率响应特性可分为低通、高通、带通、带阻等类型,与模拟滤波器相比,数字滤波器除了具有数字信号处理的固有优点外,还有滤波精度高(与系统字长有关)、稳定性好(仅运行在0与l两个电平状态)、灵活性强等优点。
三、数字滤波器原理在数字滤波中,我们主要讨论离散时间序列。
如图1所示。
设输入序列为()n x ,离散或数字滤波器对单位抽样序列()n δ的响应为()n h 。
因()n δ在时域离散信号和系统中所起的作用相当于单位冲激函数在时域连续信号和系统中所起的作用。
图1 数字滤波器原理数字滤波器的序列()n y 将是这两个序列的离散卷积,即()()()∑∞∞=-=k k n x k h n y (1)同样,两个序列卷积的z 变换等于个自z 变换的乘积,即()()()z X z H z Y = (2)用T j e z ω=代入上式,其中T 为抽样周期,则得到()()()T j T j T j e X e H e Y ωωω= (3)式中()T j e X ω和 ()T j e Y ω 分别为数字滤波器输入序列和输出序列的频谱,而()T j e H ω为单位抽样序列响应()n h 的频谱。
由此可见,输入序列的频谱()T j e X ω经过滤波后,变为()()T j T j e X e H ωω ,按照()T j e X ω的特点和我们处理信号的目的,选取适当的()T j e H ω使的滤波后的()()T j T j e X e H ωω符合我们的要求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验七:用MATLAB 设计IIR 数字滤波器1、用双线性变换法设计切比雪夫Ⅱ型数字滤波器,列出传递函数并描绘模拟和数字滤波器的幅频响应曲线。
① 设计一个数字低通滤波器,要求:ωp=0.2П,Rp=1dB ;阻带:ωs=0.35П,As=15dB , 滤波器采样频率Fs=10Hz 。
程序清单如下:wp=0.2*pi; %滤波器的通带截止频率 ws=0.35*pi; %滤波器的阻带截止频率 Rp=1;As=15; %滤波器的通阻带衰减指标ripple=10^(-Rp/20); %滤波器的通带衰减对应的幅度值 Attn=10^(-As/20); %滤波器的阻带衰减对应的幅度值 %转换为模拟滤波器的技术指标 Fs=10;T=1/Fs;Omgp=(2/T)*tan(wp/2);%原型通带频率的预修正 Omgs=(2/T)*tan(ws/2);%原型阻带频率的预修正 %模拟原型滤波器计算[n,Omgc]=cheb2ord(Omgp,Omgs,Rp,As,'s')[z0,p0,k0]=cheb2ap(n,As); %设计归一化的cheb2型模拟滤波器原型 ba1=k0*real(poly(z0)); %求原型滤波器的系数b aa1=real(poly(p0));[bb,aa]=lp2lp(ba1,aa1,Omgc); %变换为模拟低通滤波器 %用双线性变换法计算数字滤波器系数 [bd,ad]=bilinear(bb,aa,Fs) %求数字系统的频率特性[H,w]=freqz(bd,ad);dbH=20*log10((abs(H)+eps)/max(abs(H))); subplot(2,2,1);plot(w/pi,abs(H));ylabel('|H|');title('幅度响应');axis([0,1,0,1.1]);set(gca,'XTickMode','manual','XTick',[0,0.2,0.35,1]);set(gca,'YTickMode','manual','YTick',[0,Attn,ripple,1]);grid subplot(2,2,2);plot(w/pi,angle(H)/pi);ylabel('\phi');title('相位响应');axis([0,1,-1,1]);set(gca,'XTickMode','manual','XTick',[0,0.2,0.35,1]); set(gca,'YTickMode','manual','YTick',[-1,0,1]);grid subplot(2,2,3);plot(w/pi,dbH);title('幅度响应(dB)');课程名称:数字信号处理 实验成绩: 指导教师: 实 验 报 告院系: 信息工程学院 班级: 学号: 姓名:日期: 2011. 12.26ylabel('dB');xlabel('频率(\pi)');axis([0,1,-40,5]);set(gca,'XTickMode','manual','XTick',[0,0.2,0.35,1]); set(gca,'YTickMode','manual','YTick',[-50,-15,-1,0]);grid subplot(2,2,4);zplane(bd,ad);axis([-1.1,1.1,-1.1,1.1]);title('零极点图');程序运行结果如下:n = 3 Omgc = 10.2282 bd =0.1624 0.0056 0.0056 0.1624 ad =1.0000 -1.4073 0.9056 -0.16230.20.35100.17780.89131|H |幅度响应0.20.351-101φ相位响应0.20.351-15-10幅度响应(dB)d B频率(π)-101-1-0.500.51Real PartI m a g i n a r y P a r t零极点图由频率特性曲线可知,该设计结果再通阻带截止频率处能满足R p ≤1dB 、As ≥20dB 的设计指标要求,系统的极点全部在单位圆内,是一个稳定系统。
由n=3可知,由3阶的模拟低通滤波器原型用双线性变换法设计出来的切比雪夫Ⅱ型数字低通滤波器是一个3阶系统。
其传递函数为:(直接型)2113213219658.0111623.09056.04073.111624.00056.00056.01624.0)(---------+-+-+-+++=zz z z z z z z z z H②设计一个数字高通滤波器,要求:ωp=0.35П,Rp=1dB;阻带:ωs=0.2П,As=15dB,滤波器采样频率Fs=10Hz。
程序清单如下:wp=0.35*pi; %滤波器的通带截止频率ws=0.2*pi; %滤波器的阻带截止频率Rp=1;As=15; %滤波器的通阻带衰减指标ripple=10^(-Rp/20); %滤波器的通带衰减对应的幅度值Attn=10^(-As/20); %滤波器的阻带衰减对应的幅度值%转换为模拟滤波器的技术指标Fs=10;T=1/Fs;Omgp=(2/T)*tan(wp/2);%原型通带频率的预修正Omgs=(2/T)*tan(ws/2);%原型阻带频率的预修正%模拟原型滤波器计算[n,Omgc]=cheb2ord(Omgp,Omgs,Rp,As,'s')[z0,p0,k0]=cheb2ap(n,As); %设计归一化的cheb2型模拟滤波器原型ba1=k0*real(poly(z0)); %求原型滤波器的系数baa1=real(poly(p0));[bb,aa]=lp2hp(ba1,aa1,Omgc); %变换为模拟低通滤波器%用双线性变换法计算数字滤波器系数[bd,ad]=bilinear(bb,aa,Fs)[sos,g]=tf2sos(bd,ad) %转换成级联型%求数字系统的频率特性[H,w]=freqz(bd,ad);dbH=20*log10((abs(H)+eps)/max(abs(H)));subplot(2,2,1);plot(w/pi,abs(H));ylabel('|H|');title('幅度响应');axis([0,1,0,1.1]);set(gca,'XTickMode','manual','XTick',[0,0.2,0.35,1]);set(gca,'YTickMode','manual','YTick',[0,Attn,ripple,1]);gridsubplot(2,2,2);plot(w/pi,angle(H)/pi);ylabel('\phi');title('相位响应');axis([0,1,-1,1]);set(gca,'XTickMode','manual','XTick',[0,0.2,0.35,1]);set(gca,'YTickMode','manual','YTick',[-1,0,1]);gridsubplot(2,2,3);plot(w/pi,dbH);title('幅度响应(dB)');ylabel('dB');xlabel('频率(\pi)');axis([0,1,-40,5]);set(gca,'XTickMode','manual','XTick',[0,0.2,0.35,1]);set(gca,'YTickMode','manual','YTick',[-50,-15,-1,0]);gridsubplot(2,2,4);zplane(bd,ad);axis([-1.1,1.1,-1.1,1.1]);title('零极点图');程序运行结果如下:n =3Omgc = 7.7867 bd =0.5221 -1.3531 1.3531 -0.5221 ad =1.0000 -1.4510 1.0283 -0.27110.20.35100.17780.89131|H |幅度响应00.20.351φ相位响应0.20.351-15-10幅度响应(dB)d B频率(π)-101-1-0.500.51Real PartI m a g i n a r y P a r t零极点图由频率特性曲线可知,该设计结果再通阻带截止频率处能满足R p ≤1dB 、As ≥15dB 的设计指标要求,系统的极点全部在单位圆内,是一个稳定系统。
由n=3可知,由3阶的模拟低通滤波器原型用双线性变换法设计出来的切比雪夫Ⅱ型数字高通滤波器是一个3阶系统。
其传递函数为:(级联型)(直接型)2121113213215604.09672.015917.114838.0115221.0)(2711.00283.14510.115221.03531.13531.15221.0)(------------+-+-•--•=-+--+-=z z z z z z z H z z z z z z z H2、设计一个切比雪夫Ⅱ型数字带通滤波器,要求:p1p2f =200Hz,f =300Hz,Rp=1dB ;阻带s1s2s f =150Hz,f =350Hz,A =20dB ,滤波器采样周期Ts=0.001s 。
列出传递函数并作频率响应曲线和零极点分布图。
程序清单如下:T=0.001;Fs=1/T;wp1=2*pi*200/Fs;wp2=2*pi*300/Fs; %滤波器的通带截止频率 ws1=2*pi*150/Fs;ws2=2*pi*350/Fs; %滤波器的阻带截止频率Rp=1;As=20; %滤波器的通阻带衰减指标%转换为模拟滤波器的技术指标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=Omgs2-Omgs1;w0=sqrt(Omgs1*Omgs2);ripple=10^(-Rp/20); %滤波器的通带衰减对应的幅度值Attn=10^(-As/20); %滤波器的阻带衰减对应的幅度值%模拟原型滤波器计算[n,Omgn]=cheb2ord(Omgp,Omgs,Rp,As,'s')[z0,p0,k0]=cheb2ap(n,As); %设计归一化的cheb2型模拟滤波器原型ba1=k0*real(poly(z0)); %求原型滤波器的系数baa1=real(poly(p0)); %求原型滤波器的系数a[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/pi,abs(H));ylabel('|H|');title('幅度响应');axis([0,1,0,1.1]);set(gca,'XTickMode','manual','XTick',[0,0.3,0.4,0.6,0.7]);set(gca,'YTickMode','manual','YTick',[0,Attn,ripple,1]);gridsubplot(2,2,2);plot(w/pi,angle(H)/pi*180);ylabel('\phi');title('相位响应');axis([0,1,-180,180]);set(gca,'XTickMode','manual','XTick',[0,0.3,0.4,0.6,0.7]);set(gca,'YTickMode','manual','YTick',[-180,-90,0,90,180]);gridsubplot(2,2,3);plot(w/pi,dbH);title('幅度响应(dB)');ylabel('dB');xlabel('频率(\pi)');axis([0,1,-60,5]);set(gca,'XTickMode','manual','XTick',[0,0.3,0.4,0.6,0.7]);set(gca,'YTickMode','manual','YTick',[-60,-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.1332 3.5299bd =0.1397 0.0000 -0.0911 0.0000 0.0911 -0.0000 -0.1397ad =1.0000 0.0000 1.1454 0.0000 0.7275 0.0000 0.12050.8913|H |幅度响应φ相位响应幅度响应(dB)d B频率(π)-1-0.500.51Real PartI m a g i n a r y P a r t零极点图数字带通滤波器传递函数为:6426421205.07275.01454.111397.00911.00911.01397.0)(------+++-+-=z z z z z z z H3、思考题:⑴ 什么是双线性变换法?使用双线性变换法设计数字滤波器有哪些步骤? 答:双线性变换法是将整个s 平面映射到z 平面,其映射关系为-1-121-z s=T 1+z 或 1+sT/2z=1-sT/2用双线性变换法设计IIR 数字滤波器的步骤如下: ① 输入给定的数字滤波器的设计指标;② 根据公式Ω=(2/T)tan(ω/2)进行预修正,将数字滤波器设计指标转换为模拟滤波器设计指标;③ 确定模拟滤波器的最小阶数和截止频率; ④ 计算模拟低通原型滤波器的系统传递函数;⑤ 利用模拟域频率变换法求解实际模拟滤波器的系统传递函数;⑥用双线性变换法将模拟滤波器转换为数字滤波器。