实验三用双线性的变换法设计IIR数字滤波器

合集下载

用双线性变换法设计IIR数字滤波器

用双线性变换法设计IIR数字滤波器

用双线性变换法设计IIR数字滤波器一.实验目的:1)熟悉用双线性变换法设计IIR数字滤波器的原理和方法。

2)掌握数字滤波器设计的计算机仿真方法。

3)观察对心电图信号的实际滤波作用,获得数字滤波的感性认识。

二.实验内容:1)用双线性变换法设计巴特沃斯IIR数字滤波器。

设计指标为:通带内频率低于0.3πrad时,最大衰减小于2dB;在阻带[0.6π,π]频率区间上,最大衰减大于20dB。

2)绘出数字滤波器的幅频响应特性曲线、相频特性曲线和零极图。

三.实验程序:wp=0.3*pi;ws=0.6*pi;Rp=2;As=20;Fs=100;T=1/Fs;Omgp=(2/T)*tan(wp/2);%原型通带频率预修正Omgs=(2/T)*tan(ws/2);%原型阻带频率预修正[n,Omgc]=buttord(Omgp,Omgs,Rp,As,'s');%计算阶数n和截至频率[ba1,aa1]=butter(n,Omgc,'s');%求模拟滤波器系数[bd,ad]=bilinear(ba1,aa1,Fs)%用双线性变换法求数字滤波器系数b,a[sos,g]=tf2sos(bd,ad);%由直接型变换为级联型[H,w]=freqz(bd,ad);%求数字系统的频率特性subplot(2,2,1);plot(w/pi,abs(H));title('幅度响应');axis([0,1,0,1.1]);subplot(2,2,2);plot(w/pi,angle(H)/pi);title('相位响应');axis([0,1,-1,1]);subplot(2,2,3);zplane(bd,ad);title('零极图');axis([-1.1,1.1,-1.1,1.1]);四.实验结果:程序运行结果:bd =0.0780 0.2339 0.2339 0.0780ad =1.0000 -0.7958 0.5020 -0.0824五.总结:通过这个实验,对设计数字滤波器的整个过程有了比较好的掌握。

数字信号处理实验三 ——用双线性变换法设计IIR数字滤波器

数字信号处理实验三 ——用双线性变换法设计IIR数字滤波器
直接运行程序直接运行程序结果输出滤波器幅频特性曲线图结果输出滤波器幅频特性曲线图有噪声的心电图采有噪声的心电图采集信号波形图和经过三级二阶滤波器后的心电图信号波形图集信号波形图和经过三级二阶滤波器后的心电图信号波形图可以看可以看出低通滤波器除信号中高频噪声的滤波效果出低通滤波器除信号中高频噪声的滤波效果
1 T j T
z

2
1 T

j
2 T
1
2
2
1 j T
z
2 1
1 j T
2
1 T j T
z

2
1 T

j
2 T
1
2
2
j
j Im[z]

-1
1 Re[z]
0
0
s平面
z平面
(2)整个左半平面映射成单 位圆的内部,因此这是一个 稳定的变换。 (3)虚轴以一一对应的方式 映射成单位圆,因此在频域 中不会出现混叠。
实验原理及方法
由于幅度为1,把ω 看做Ω 的函数求解,得到:
1 j T
0 z
2 e j
1 j T
2


2 tan1

T 2



2 T
tan

2

这说明Ω和ω的关系是非线性的,但是没出现混叠。在把Ω变换为
ω时产生了非线性畸变。为了克服它带来的问题,通常要使Ω按上式预
把给出的数字滤波器的性能指标转换为模拟滤波器的 性能指标
根据转换后的性能指标,通过滤波器阶数选择函数, 来确定滤波器的最小阶数N和固有频率Wn
由最小阶数N得到低通滤波器原型 由固有频率Wn把模拟低通滤波器原型转换为低通、高

实验三: 用双线性变换法设计IIR数字滤波器共20页文档

实验三: 用双线性变换法设计IIR数字滤波器共20页文档
谢谢!
21、要知道对好事的称颂过于夸大,也会招来人们的反感轻蔑和嫉妒。——培根 22、业精于勤,荒于嬉;行成于思,毁于随。——韩愈
23、一切节省,归根到底都归结为时间的节省。——马克思 24、意志命运往往背道而驰,决心到最后会全部推倒。——莎士比亚
25、学习是劳动,是充满思想的劳动。——乌申斯基
1、不要轻言放弃,否则对不起自己。
2、要冒一次险!整个生命就是一场冒险。走得最远的人,常是愿意 去做,并愿意去冒险的人。“稳妥”之船,从未能从岸边走远。-戴尔.卡耐基。
梦 境
3、人生就像一杯没有加糖的咖啡,喝起来是苦涩的,回味起来却有 久久不会退去的余香。
实验三: 用双线性变换法设计IIR数字滤 4、守业的最好办法就是不断的发展。 5、当爱不能完美,我宁愿选择无悔,不管来生多么美丽,我不愿失 去今生对你的记忆,我不求天长地久的美景,我只要生生世世的轮 回里有你。 波器

用双线性变换法设计BUTTERWORTH低通IIR数字滤波器

用双线性变换法设计BUTTERWORTH低通IIR数字滤波器

用双线性变换法设计BUTTERWORTH低通IIR数字滤波器:wp=0.2*2*pi; %通带边界频率ws=0.3*2*pi; %阻带截止频率rp=1; %通带最大衰减rs=25; %阻带最小衰减fs=1; %采样频率ts=1/fs; %采样周期wp2=2*fs*tan(wp/2*ts); %预畸变校正ws2=2*fs*tan(ws/2*ts); %预畸变校正[n,wn]=buttord(wp2,ws2,rp,rs,'s') %带入经预畸变后获得的归一化模拟频率参数[z,p,k]=buttap(n) %创建归一化的BUTTERWORTH模拟低通原型滤波器[bap,aap]=zp2tf(z,p,k) %把滤波器零极点模型转化为传递函数模型[b,a]=lp2lp(bap,aap,wn) %把模拟滤波器原型转换成截止频率为Wn的模拟低通滤波器[bz,az]=bilinear(b,a,fs); %用双线性变换法实现模拟滤波器到数字滤波器的转换[h,w]=freqz(bz,az); %绘制频率响应曲线subplot(2,1,1);plot(w/pi,abs(h));grid onxlabel('频率');ylabel('幅度');subplot(2,1,2);plot(w/pi,20*log10(abs(h)));grid onxlabel('频率');ylabel('幅度');用窗口法设计一个线性相位FIR低通滤波器,采用汉宁窗设计:wp=0.2*pi; %通带边界频率ws=0.3*pi; %阻带截止频率wdelta=ws-wp; %过渡带宽N=ceil(8*pi/wdelta); %求出N值wc=(0.2+0.3)*pi/2; %求出截止频率r=(N-1)/2;n=0:N-1;hdn=sin(wc*(n-r))./[pi*(n-r)]; %理想的单位冲激响应wn=hanning(N); %求出汉宁窗的表达式h=hdn.*wn'; %滤波器加窗H=fft(h,512);w=2*[0:511]/512plot(w,20*log10(abs(H)));用MATLAB实现时间抽选的基2-FFT算法:function y=myditfft(x) %本程序对输入序列x实现时间抽选的基2-FFT,%点数取大于等于x长度的2的幂次m=nextpow2(x);N=2^m; %求x的长度对应的2的最低幂次mif length(x)<Nx=[x,zeros(1,N-length(x))];endnxd=bin2dec(fliplr(dec2bin([1:N]-1,m)))+1; %1:2^m数列的倒位序y=x(nxd); %将x倒位序排列作为y的初始值for mm=1:m %将DFT作m次基2分解,从左到右Nmr=2^mm;u=1; %旋转因子u初始化wN^0=1WN=exp(-i*2*pi/Nmr); %当前次分解的基本DFT因子wN=exp(-i*2*pi/Nmr) for j=1:Nmr/2 %当前次跨越间隔内的各次蝶形运算for k=j:Nmr:N %当前次蝶形运算的跨越间隔为Nmr=2^mm kp=k+Nmr/2; %确定蝶形运算的对应单元下标t=y(kp)*u; %蝶形运算的乘积项y(kp)=y(k)-t; %蝶形运算的减法项y(k)=y(k)+t; %蝶形运算的加法项endu=u*WN; %修改旋转因子,多乘一个基本DFT因子wN endend。

双线性变换法设计IIR数字滤波器matlab

双线性变换法设计IIR数字滤波器matlab

实验四双线性变换法设计IIR数字滤波器一、实验目的1.掌握利用双线性变换法设计IIR数字滤波器的原理和具体方法。

2.深入理解利用双线性变换法设计IIR数字滤波器的优缺点及使用范围。

二、实验内容1.利用巴特沃思模拟滤波器,通过双线性变换法设计巴特沃思数字滤波器,数字滤波器的技术指标为采样周期为T=1。

程序代码T=2; %设置采样周期为2fs=1/T; %采样频率为周期倒数Wp=0.25*pi/T;Ws=0.35*pi/T; %设置归一化通带和阻带截止频率Ap=20*log10(1/0.9);As=20*log10(1/0.18); %设置通带最大和最小衰减[N,Wc]=buttord(Wp,Ws,Ap,As,'s'); %调用butter函数确定巴特沃斯滤波器阶数[B,A]=butter(N,Wc,'s'); %调用butter函数设计巴特沃斯滤波器W=linspace(0,pi,400*pi); %指定一段频率值hf=freqs(B,A,W); %计算模拟滤波器的幅频响应subplot(2,1,1);plot(W/pi,abs(hf)/abs(hf(1))); %绘出巴特沃斯模拟滤波器的幅频特性曲线grid on;title('巴特沃斯模拟滤波器');xlabel('Frequency/Hz');ylabel('Magnitude');[D,C]= bilinear (B,A,fs); %调用双线性变换法Hz=freqz(D,C,W); %返回频率响应subplot(2,1,2);plot(W/pi,abs(Hz)/abs(Hz(1))); %绘出巴特沃斯数字低通滤波器的幅频特性曲线grid on;title('巴特沃斯数字滤波器');xlabel('Frequency/Hz');ylabel('Magnitude');进行试验输出图像:实验分析通过查workspace 可以得出脉冲响应为:滤波器幅度响应: 滤波器相位响应:2. 利用巴特沃思模拟滤波器,通过双线性变换法设计数字带阻滤波器,数字滤波器的技术指标为00.10.20.30.40.50.60.70.80.910.51巴特沃斯模拟滤波器Frequency/HzM a g n i t u d e00.10.20.30.40.50.60.70.80.910.511.5巴特沃斯数字滤波器Frequency/HzM a g n i t u d e采样周期为T=1。

用双线性变换法设计IIR数字低通滤波器课程设计

用双线性变换法设计IIR数字低通滤波器课程设计

V=课程设计报告书姓名:班级:学号:时间:和j Ω3π / T π / T-3π / T-π / Too σ-11jIm[z ]Re[z ]Z 平面S 平面图2脉冲响应不变法的映射关系由(1-9)式,数字滤波器的频率响应和模拟滤波器的频率响应间的关系为 (1-10)这就是说,数字滤波器的频率响应是模拟滤波器频率响应的周期延拓。

正如采样定理所讨论的,只有当模拟滤波器的频率响应是限带的,且带限于折叠频率以内时,即 (1-11)才能使数字滤波器的频率响应在折叠频率以内重现模拟滤波器的频率响应,而不产生混叠失真,即|ω|<π (1-12)但是,任何一个实际的模拟滤波器频率响应都不是严格限带的,变换后就会产生周期延拓分量的频谱交叠,即产生频率响应的混叠失真,如图2所示。

这时数字滤波器的频响就不同于原模拟滤波器的频响,而带有一定的失真。

当模拟滤波器的频率响应在折叠频率以上处衰减越大、越快时,变换后频率响应混叠失真就越小。

这时,采用脉冲响应不变法设计的数字滤波器才能得到良好的效果。

-3π-2π……)j (a ΩH Ωoo -π2π3ππω=Ω T)(e j ωH T π2T πT πT π2-图3脉冲响应不变法中的频响混叠现象对某一模拟滤波器的单位冲激响应h a (t )进行采样,采样频率为f s ,若使f s 增加,即令采样时间间隔(T =1/f s )减小,则系统频率响应各周期延拓分量之间相距更远,因而可减小频率响应的混叠效应。

⎪⎭⎫ ⎝⎛-=∑∞-∞=T k j H T e H k a j πωω21)(2||sT Ω=≥Ωπ0)(=Ωj H a ⎪⎭⎫ ⎝⎛=T j H T e H a j ωω1)(《信息处理综合课程设计》课程设计行政班级学号__ 姓名_选课班级__ 任课教师成绩________。

实验三 IIR数字滤波器设计及实现

实验三  IIR数字滤波器设计及实现

实验三 IIR 数字滤波器设计及实现一、实验目的(1)熟悉用脉冲响应不变法和双线性变换法设计IIR 数字滤波器的原理与方法;(2)学会调用MATLAB 信号处理工具箱中滤波器设计函数设计IIR 数字滤波器,学会根据滤波需求确定滤波器指标参数。

二、实验原理设计IIR 数字滤波器一般采用脉冲响应不变法和双线性变换法。

1. 脉冲响应不变法的变换原理与步骤从滤波器的脉冲响应出发,使数字滤波器的单位脉冲响应模仿模拟滤波器的冲击响应,即h (n )是h a (t )的采样值。

设T 为采样周期,变换过程:如果模拟滤波器的系统函数只有单阶极点,且分母的阶数高于分子阶数,用脉冲响应不变法求数字滤波器的系统函数有简便方法:将 H a (s ) 展成部分分式的并联形式,再利用下述变换公式直接写出 H (z )2. 双线性变换法的变换原理和步骤 (1)保证s 平面压缩到s 1平面的宽为2π/T 的横带内(2)保证低频部分基本对应根据要求,确定数字滤波器指标。

如是模拟频率临界点,则要先转变)()()()(z H n h t h s H ZT nT t a ILT a −→−−−→−−→−=1111)( )(-==-=⇒-=∑∑z eTA z H s s A s H T s k N k k k N k a k )2tan()2tan(1ωC T C =Ω=ΩTC T C T C 2 2)2tan(11=Ω⋅≈Ω⋅=Ω成数字频率,以便预畸变处理。

将数字指标转换成与Ha (s )对应的模拟性能指标。

设计模拟滤波器的系统函数Ha (s ) 。

将映射关系代入Ha (s )中得数字滤波器系统函数H (z ) 。

由于数字滤波器传输函数只与频域的相对值有关,故在设计时可先将滤波器设计指标进行归一化处理。

设采样频率为Fs ,归一化频率的计算公式是:2/)()/(Fs Hz Fs s rad 实际模拟频率实际数字频率实际模拟角频率归一化频率==⨯=ππ利用典型法设计数字滤波器的步骤:1、将设计指标归一化处理。

实验三 用双线性变换法设计IIR滤波器

实验三    用双线性变换法设计IIR滤波器

1实验三 用双线性变换法设计IIR 滤波器一、实验目的1、了解两种工程上最常用的变换方法:脉冲响应不变法和双线性变换法。

2、掌握双线性不变法设计IIR 滤波器的原理及具体设计方法,熟悉双线性设计法设计低通、带通和高通IIR 滤波器的计算机程序。

3、观察用双线性变换法设计的滤波器的频域特性,并与脉冲响应不变法相比较,了解双线性变换法的特点。

4、熟悉用双线性变换法设计数字Butterworth 和Chebyshev 滤波器的全过程。

5、了解多项式乘积和多项式乘方运算的计算机编程方法。

二、实验原理与方法从模拟滤波器设计IIR 数字滤波器具有四种方法:微分—差分变换法、脉冲响应不变法、双线性变换法、匹配Z 变换法;在工程上常用的是其中两种:脉冲响应不变法、双线性变换法。

脉冲响应不变法需要经历如下步骤:由已知系统传输函数H (s )计算系统冲击响应h(t);对h(t)进行等间隔取样得到h(n)=h(nT);由h(n)活的数字滤波器的系统响应H (z )。

这种方法非常直观,其算法宗旨是保证所设计的IIR 滤波器的脉冲响应和响应模拟滤波器的冲击响应在采样点上完全一致。

而双线性变换法的设计准则是使数字滤波器的频率响应与参考模拟滤波器的频率响应相似。

脉冲响应不变法的优点是频率坐标的变换是线性的,缺点是有频谱的周期延拓效应,存在频谱混淆的现象。

为了克服频谱混淆提出了双线性变换法,它依靠双线性变换公式:1111--+-=zz s ,z=s s -+11 其中,s=Ω+j σ,z=ωj re 建立起S 平面和Z 平面的单值映射关系,数字频域和模拟频域之间的关系:)2/(ωtg =Ω,Ω=arctg 2ω (3-1)由上面的关系式可知,当-〉∞Ω时,ω中止在折叠频率πω=处,整个Ωj 轴单值的对应于单位圆的一周。

因此双线性变换法不同于脉冲响应不变法,不存在频谱混淆的问题。

从式(3-1) 还可以看出,两者的频率不是线性关系。

【精品】用双线性变换法设计IIR数字低通滤波器课程设计

【精品】用双线性变换法设计IIR数字低通滤波器课程设计

V=课程设计报告书姓名:班级:学号:时间:设计过程摘要:根据IIR滤波器的特点,在MATLAB坏境下用双线性变换法设计IIR 数字滤波器.利用MATLAB设计滤波器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量,有利于滤波器设计的最优化.关键词:双线性变换法,数字滤波器,MATLAB,IIR1.设计原理与步骤1。

1设计原理滤波器的种类很多,从功能上可分为低通、高通、带通和带阻滤波器,每一种又有模拟滤波器和数字滤波器两种形式。

如果滤波器的输人和输出都是离散时间信号,则该滤波器的冲击响应也必然是离散的,这种滤波器称之为数字滤波器。

数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。

数字滤波器也是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。

IIR数字滤波器采用递归型结构,即结构上带有反馈环路。

IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。

数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。

IIR数字滤波器的特征是,具有无限持续时间冲激响应,需要用递归模型来实现,其差分方程为:(1-1)(1—2)设计IIR滤波器的任务就是寻求一个物理上可实现的系统函数H(z),使其频率响应H(z)满足所希望得到的频域指标,即符合给定的通带截止频率、阻带截止频率、通带衰减系数和阻带衰减系数.本次课程设计采用双线性变换法。

1。

2设计步骤:(1)将给出的数字滤波器的技术指标转换为模拟滤波器的技术指标;(2)根据转换后的技术指标设计模拟低通滤波器H (s );(3)在按一定规则将H (s)转换为H (z );若所设计的数字滤波器是低通的,那么上述设计工作可以结束,若所设计的是高通、带通或者带阻滤波器,那么还有步骤:(4)将高通、带通或者带阻数字滤波器的技术指标先转化为低通滤波器的技术指标,然后按上述步骤(2)设计出模拟低通滤波器H(s),再将H (s)转换为所需的H(z ).2。

双线性变换法设计数字滤波器

双线性变换法设计数字滤波器

双线性变换法设计IIR数字滤波器一:实验目的1)熟悉用双线性变换法设计IIR数字滤波器的原理和方法。

2)掌握数字滤波器设计的计算机仿真方法。

3)观察对心电图信号的实际滤波作用,获得数字滤波器的感性认识。

二:实验原理在滤波器的设计过程中,毕竟那是一个重要环节,所谓逼进就是根据性能指标的要求,对理想特性进行逼进,以求得一个因果、稳定且客户实现的传递函数。

目前模拟滤波器的频域设计理论已经发展的相当成熟,它不仅具有简单而严格的设计公式,而且设计参数已经表格化了。

借助模拟滤波器的逼进方法,用模拟与大树自语的某种变换,完成数字滤波器的逼进,这是一类简单而又行之有效的方法。

双线性变换法采用非线性频率压缩方法,将整个频域轴上的频率范围压缩到-π/T~π/T之间,再用z=e sT转换到z平面上。

也就是说,第一步现将整个S平面压缩映射到S1平面的-π/T~π/T一条横带里;第二步再通过标准变换关系1e S T将此横带变换到整个z平面上去。

这样就使S平面与Z平面建立了一一对应的胆汁关系,消除了多只变换性,也就消除了频谱混跌现象,映射关系如图所示。

] 为了将S 平面的整个虚轴j Ω压缩到1S 平面轴上的-π/T 到π/T 段上,可以通过以上的正切的变换实现Ω=2/Ttan(1ΩT/2)(1-1)式中,T 仍是采样间隔。

当1Ω由-π/T 经过0变化到π/T 时,Ω由-∞经过0变化到+∞,也即映射了整个j Ω轴。

将上式(1-1)写成111122222T Tj j T T j j e e j T e e ΩΩΩΩ--Ω=•+ (1-2)将此关系解析延拓到整个S 平面和1S 平面,令j Ω=s, 1j Ω=S 1,则得111221tan()21e s Ts TS T e T T --==•+(1-3)再将S 1平面通过以下标准变换关系映射到Z 平面:z=S1T e (1-4) 从而得到S 平面和Z 平面的单值映射关系为;11211ZS T Z ---=+(1-5) 122122T T S S Z T TS S ++==--(1-6)式(1-5)和式(1-6)是S 平面与Z 平面之间的单值映射关系,这种变换都是两个线性函数之比,因此成为双线性变换。

北理工数字信号处理实验3IIR数字滤波器设计

北理工数字信号处理实验3IIR数字滤波器设计

实验3 IIR数字滤波器设计一、实验目的1、掌握利用脉冲响应不变法和双线性变换法设计IIR数字滤波器的原理及具体方法2、加深理解数字滤波器和模拟滤波器之间的技术指标转化3、掌握脉冲响应不变法和双线性变换法设计IIR数字滤波器的优缺点及适用范围二、实验设备与环境计算机、MATLAB软件环境三、实验理论基础四、实验内容解:(1)巴特沃斯Wn=0.2*pi;Rp=1;As=15;N=6;[b,a]=butter(N,Wn,'s');[bz,az]=impinvar(b,a);[H,w]=freqz(bz,az);subplot(221);plot(w/pi,abs(H));grid on;xlabel('\Omega(\pi)');ylabel('|H(j\Omega)|');subplot(222);plot(w/pi,20*log10((abs(H))/max(abs(H))));grid on;xlabel('Omega(\pi)');ylabel('|H(j\Omega)|,dB'); subplot(223);plot(w/pi,angle(H)/pi);grid on;xlabel('Omega(\pi)');ylabel('Phase of H(j\Omega)(\pi)'); t=0:0.01:30;h=impulse(b,a,t);subplot(224);plot(t,h);grid on;xlabel('t(s)');ylabel('Impulse Response');0.5100.5Ω(π)|H (j Ω)|0.51-100-50Omega(π)|H (j Ω)|,d B0.51-1-0.500.51Omega(π)P h a s e o f H (j Ω)(π)102030-0.100.10.20.3t(s)I m p u l s e R e s p o n s e(2)切比雪夫 1 Wn=0.2*pi; Rp=1; N=6;[b,a]=cheby1(N,Rp,Wn,'s'); [bz,az]=impinvar(b,a); [H,w]=freqz(bz,az); subplot(221); plot(w/pi,abs(H));grid on;xlabel('\Omega(\pi)');ylabel('|H(j\Omega)|'); subplot(222);plot(w/pi,20*log10((abs(H))/max(abs(H))));grid on;xlabel('Omega(\pi)');ylabel('|H(j\Omega)|,dB'); subplot(223);plot(w/pi,angle(H)/pi);grid on;xlabel('Omega(\pi)');ylabel('Phase of H(j\Omega)(\pi)'); t=0:0.01:30; h=impulse(b,a,t); subplot(224); plot(t,h);grid on;xlabel('t(s)');ylabel('Impulse Response');0.5100.5Ω(π)|H (j Ω)|0.51-150-100-50Omega(π)|H (j Ω)|,d B0.51-1-0.500.51Omega(π)P h a s e o f H (j Ω)(π)102030-0.100.10.20.3t(s)I m p u l s e R e s p o n s e(3)切比雪夫 2 Wn=0.3*pi; As=15; N=6;[b,a]=cheby2(N,As,Wn,'s'); [bz,az]=impinvar(b,a); [H,w]=freqz(bz,az); subplot(221); plot(w/pi,abs(H));grid on;xlabel('\Omega(\pi)');ylabel('|H(j\Omega)|'); subplot(222);plot(w/pi,20*log10((abs(H))/max(abs(H))));grid on;xlabel('Omega(\pi)');ylabel('|H(j\Omega)|,dB'); subplot(223);plot(w/pi,angle(H)/pi);grid on;xlabel('Omega(\pi)');ylabel('Phase of H(j\Omega)(\pi)'); t=0:0.01:30; h=impulse(b,a,t); subplot(224); plot(t,h);grid on;xlabel('t(s)');ylabel('Impulse Response');0.5100.511.52Ω(π)|H (j Ω)|0.51-15-10-50Omega(π)|H (j Ω)|,d B0.51-1-0.500.51Omega(π)P h a s e o f H (j Ω)(π)0102030-1-0.50.5t(s)I m p u l s e R e s p o n s e(4)椭圆 Wn=0.2*pi; Rp=1; As=15; N=6;[b,a]=ellip(N,Rp,As,Wn,'s'); [bz,az]=impinvar(b,a); [H,w]=freqz(bz,az); subplot(221); plot(w/pi,abs(H));grid on;xlabel('\Omega(\pi)');ylabel('|H(j\Omega)|'); subplot(222);plot(w/pi,20*log10((abs(H))/max(abs(H))));grid on;xlabel('Omega(\pi)');ylabel('|H(j\Omega)|,dB'); subplot(223);plot(w/pi,angle(H)/pi);grid on;xlabel('Omega(\pi)');ylabel('Phase of H(j\Omega)(\pi)'); t=0:0.01:30; h=impulse(b,a,t); subplot(224); plot(t,h);grid on;xlabel('t(s)');ylabel('Impulse Response');0.510.511.5Ω(π)|H (j Ω)|0.51-40-30-20-100Omega(π)|H (j Ω)|,d B 00.51-1-0.500.51Omega(π)P h a s e o f H (j Ω)(π)102030-0.100.10.20.3t(s)I m p u l s e R e s p o n s e五、实验心得与体会通过本次实验,掌握了利用脉冲响应不变法和双线性变换法设计IIR 数字滤波器的原理及具体方法;加深理解了数字滤波器和模拟滤波器之间的技术指标转化;掌握了脉冲响应不变法和双线性变换法设计IIR 数字滤波器的优缺点及适用范围,MATLAB 操作更加熟练。

IIR数字滤波器设计及实现

IIR数字滤波器设计及实现

实验三IIR数字滤波器设计及实现一、实验目的(1)熟悉用脉冲响应不变法和双线性变换法设计IIR数字滤波器的原理与方法;(2)学会调用MATLAB信号处理工具箱中滤波器设计函数设计IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。

二、实验原理设计IIR数字滤波器一般采用脉冲响应不变法和双线性变换法。

脉冲响应不变法:根据设计指标求出滤波器确定最小阶数N和截止频率Wc;计算相应的模拟滤波器系统函数;将模拟滤波器系统函数:'转换成数字滤波器系统函数双线性变换法:根据数字低通技术指标得到滤波器的阶数N;取合适的T值,几遍校正计算相应模低通的技术指标--;根据阶数N查表的到归一化低通原型系统函数。

,将"' Q 代入。

‘去归一化得到实际的,/ :' ;用双线性变换法将:’转换成数字滤波器三、实验内容及步骤1、用脉冲响应不变法设计(1)根据设计指标求出滤波器确定最小阶数N和截止频率Wcclear;close all;clc; % 开始准备fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs; % T=1s 的模拟滤波器设计指标W1p=fp/Fs*2; W1s=fs/Fs*2; % 求归一化频率[N, Wn] = buttord(W1p, W1s, Rp, Rs, 's'; % 确定 butterworth 的最小阶数 N 和频率参数Wn 得到结果为:N 二7Wn 二 0.3266 即:该设计指标下的模拟滤波器最小阶数为N=7,其截至频率为Wn =0.3266;(2)计算相应的模拟滤波器系统函数打:, clear;close all;clc; % 开始准备fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs; % T=1s 的模拟滤波器设计指标W1p=fp/Fs*2; W1s=fs/Fs*2; % 求归一化频率[N, Wn] = buttord(W1p, W1s, Rp, Rs, 's'; % 确定 butterworth 的最小阶数 N 和频率参数 Wn[B,A]=butter(N,1,'s' %计算相应的模拟滤波器系统函数得到结果为: B = 1.0e-003 * 0 00 0 0 0 0 0.3966 A =1.0000 1.4678 1.0773 0.5084 0.1661 0.0375 0.0055 0.0004 >>(3)将模拟滤波器系统函数转换成数字滤波器系统函数 clear;close all;clc; % 开始准备fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs; % T=1s 的模拟滤波器设计指标W1p=fp/Fs*2; W1s=fs/Fs*2; % 求归一化频率[N, Wn] = buttord(W1p, W1s, Rp, Rs, 's'; % 确定 butterworth 的最小阶数 N 和频率参数Wn[B,A]=butter(N,1,'s' ; %计算相应的模拟滤波器系统函数 [Bz,Az]=impinvar(B,A %用脉冲相应不变法将模拟滤波器转换成数字滤波器 sys=tf(Bz,Az,T; %得到传输函数‘‘‘‘‘ Bz =1.0e-004 *-0.0000 0.0045 0.2045 0.8747 0.7094 0.1090 0.0016 0Az =1.0000 -5.5415 13.2850 -17.8428 14.4878 -7.1069 1.9491 -0.2304>>>>即:由Bz和Az可以写出数字滤波器系统函数为:Transfer function:-9.992e-015 z~7 + 4.454e-007 z~6 + 2.045e-005 z~5 + 8.747e-005 z~4 + 7.094e-005 z"3 + 1.09e-005 z~2+ 1.561e-007 z z 7 - 5.541 z 6 + 13.28 z 5 - 17.84 z 4 + 14.49 z 3 - 7.107 z 2 + 1.949 z - 0.2304Sampling time: 4.5351e-005>>(4)绘图clear;close all;clc; % 开始准备fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs; % T=1s 的模拟滤波器设计指标W1p=fp/Fs*2; W1s=fs/Fs*2; % 求归一化频率[N, Wn] = buttord(W1p, W1s, Rp, Rs, 's'; % 确定butterworth 的最小阶数N 和频率参数Wn[B,A]=butter(N,Wn,'s'; %计算相应的模拟滤波器系统函数[Bz,Az]=impinvar(B,A; %用脉冲响应不变法将模拟滤波器转换成数字滤波器sys=tf(Bz,Az,T;%得到传输函数‘ [H,W]=freqz(Bz,Az,512,Fs; % 生成频率响应参数plot(W,20*log10(abs(H; % 绘制幅频响应grid on; %加坐标网格得到结果为:观察实验结果图可看到:在频率为3402Hz处频率为衰减2.015db,在频率为5017Hz处幅度衰减21.36db。

双线性变换法IIR数字滤波器设计

双线性变换法IIR数字滤波器设计

双线性变换法IIR 数字滤波器设计一、实验目的1、掌握用双线性变换法设计低通IIR 数字滤波器的基本原理和算法。

2、掌握用双线性变换法设计高通和带通IIR 数字滤波器的基本原理和算法。

3、进一步了解数字滤波器和模拟滤波器的频率响应特性。

二、实验原理与计算方法1、双线性变换法设计IIR 低通数字滤波器的基本原理和算法双线性变换法设计数字滤波器,采用了二次映射的方法,就是先将整个s 平面压缩到s 1平面的一个Tj Tj ππ~-的横形条带范围内,然后再将这个条带映射到z 平面上,就能建立s 平面到z 平面的一一对应关系。

对于低通数字滤波器,映射关系为zzT z z T s ++-=+-=--11211211 (1) 其中T 为抽样周期。

用双线性变换法设计低通IIR 数字滤波器的基本步骤,首先根据设计要求确定相应的模拟滤波器的传递函数)(s H a ,再应用(1)式得数字滤波器的传递函数)(z Hzz T s a s H z H ++-==112)()( (2)通常可以给定的参数为:低通数字滤波器通带边界频率p p f πΩ21=、阻带边界频率s s f πΩ21=和对应的通带衰减函数p α、阻带衰减函数s α。

s 1平面中的模拟角频率1Ω与数字角频率ω的关系为线性关系T 1Ωω=,在计算模拟滤波器的阶数N 、极点s i 和传递函数)(s H a 之前,应作预畸变处理22tan 22tan 21T f TT TπΩΩ== (3)模拟滤波器的阶数N 、极点s i 和传递函数)(s H a 的计算方法与冲激响应不变法相同,可以采用Butterworth 逼近或Chebyshev 逼近。

2、双线性变换法设计IIR 高通、带通、带阻数字滤波器的基本原理和算法由于双线性变换法获得的数字滤波器频率响应特性中不会出现混叠现象,因此可以适用于高通、带通和带阻滤波器的设计。

IIR 数字滤波器的设计通常要借助于模拟低通滤波器的设计,由原型低通滤波器到其他形式(高通、带通、带阻)IIR 数字滤波器的频带变换有模拟频带变换法和数字频带变换法。

双线性变换法设计IIR数字滤波器

双线性变换法设计IIR数字滤波器

双线性变换法设计IIR数字滤波器一、实验目的1. 掌握利用双线性变换法设计IIR数字滤波器的原理和具体方法。

2. 深理解利用双线性变换法设计IIR数字滤波器的优缺点及使用范围。

二、实验内容1. 利用巴特沃思模拟滤波器,通过双线性变换法设计巴特沃思数字滤波器,数字滤波器的技术指标为通带临界频率fp=0.2πrad ,通带内衰减小于rp=1dB;阻带临界频率fs=0.3πrad,阻带内衰减大于rs=10dB;采样频率为FS=π/64.程序代码T=64/pi; %设置采样周期为π/64fs=1/T; %采样频率为周期倒数wpz=0.2;wsz=0.3;%设置归一化通带和阻带截止频率Wp=2*tan(wpz*pi/2);Ws=2*tan(wsz*pi/2);Ap=1;As=10; %设置通带最大和最小衰减[N,Wc]=buttord(Wp,Ws,Ap,As,'s'); %调用butter函数确定巴特沃斯滤波器阶数[B,A]=butter(N,Wc,'s'); %调用butter函数设计巴特沃斯滤波器W=linspace(0,pi,400*pi); %指定一段频率值[D,C]=bilinear (B,A,fs); %调用双线性变换法[Hz,W]=freqz(D,C,W);%返回频率响应sys=tf(D,C,T) % 给出传输函数H(z)subplot(3,1,1);plot(W,abs(Hz)/abs(Hz(1))); %绘出巴特沃斯数字低通滤波器的幅频特性曲线grid on;title('巴特沃斯数字滤波器1');xlabel('Frequency/Hz');ylabel('Magnitude');subplot(3,1,2);plot(W,20*log10(abs(Hz)));grid on;title('巴特沃斯数字滤波器1');xlabel('Frequency/Hz');ylabel('dB');[Nd,wdc]=buttord(wpz,wsz,Ap,As);[Bdz,Adz]=butter(Nd,wdc);[Hzz,W]=freqz(Bdz,Adz,W);subplot(3,1,3);plot(W,abs(Hzz)/abs(Hzz(1)));grid on;title('巴特沃斯数字滤波器2');xlabel('Frequency/Hz');ylabel('Magnitude');总结与体会在课设之前,我对滤波器设计中的函数基本上处于一种模糊状态。

用双线性变换法设计IIR数字低通滤波器课程设计

用双线性变换法设计IIR数字低通滤波器课程设计

课程设计报告书姓名:班级:学号:时间:和j Ω3π / T π / T-3π / T-π / Too σ-11jIm[z ]Re[z ]Z 平面S 平面图2脉冲响应不变法的映射关系由(1-9)式,数字滤波器的频率响应和模拟滤波器的频率响应间的关系为 (1-10)这就是说,数字滤波器的频率响应是模拟滤波器频率响应的周期延拓。

正如采样定理所讨论的,只有当模拟滤波器的频率响应是限带的,且带限于折叠频率以内时,即 (1-11)才能使数字滤波器的频率响应在折叠频率以内重现模拟滤波器的频率响应,而不产生混叠失真,即|ω|<π (1-12)但是,任何一个实际的模拟滤波器频率响应都不是严格限带的,变换后就会产生周期延拓分量的频谱交叠,即产生频率响应的混叠失真,如图2所示。

这时数字滤波器的频响就不同于原模拟滤波器的频响,而带有一定的失真。

当模拟滤波器的频率响应在折叠频率以上处衰减越大、越快时,变换后频率响应混叠失真就越小。

这时,采用脉冲响应不变法设计的数字滤波器才能得到良好的效果。

-3π-2π……)j (a ΩH Ωoo -π2π3ππω=Ω T)(e j ωH T π2T πT πT π2-图3脉冲响应不变法中的频响混叠现象对某一模拟滤波器的单位冲激响应h a (t )进行采样,采样频率为f s ,若使f s 增加,即令采样时间间隔(T =1/f s )减小,则系统频率响应各周期延拓分量之间相距更远,因而可减小频率响应的混叠效应。

⎪⎭⎫ ⎝⎛-=∑∞-∞=T k j H T e H k a j πωω21)(2||sT Ω=≥Ωπ0)(=Ωj H a ⎪⎭⎫ ⎝⎛=T j H T e H a j ωω1)(...《信息处理综合课程设计》课程设计行政班级学号__ 姓名_选课班级__ 任课教师成绩________。

实验三 用双线性变换法设计IIR数字滤波器

实验三 用双线性变换法设计IIR数字滤波器

实验三用双线性变换法设计IIR数字滤波器实验项目名称:用双线性变换法设计IIR数字滤波器实验项目性质:验证性实验所属课程名称:数字信号处理实验计划学时:2一.实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法。

(2)掌握数字滤波器的计算机仿真方法。

(3)通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。

二.实验内容和要求(1)用双线性变换法设计一个巴特沃斯低通IIR数字滤波器。

设计指标参数为:在通带内频率低于0.2π时,最大衰减小于1dB;在阻带内[0.3π,π]频率区间上,最小衰减大与15dB。

(2)以0.02π为采样间隔,打印出数字滤波器在频率区间[0,π/2]的幅频响应特性曲线。

(3)用所设计的滤波器对实际心电图信号采样序列(在本实验后面给出)进行仿真滤波处理,并打印出滤波前后的心电图信号波形图,观察总结滤波作用与效果。

三.实验主要仪器设备和材料计算机,MATLAB6.5或以上版本四.实验方法、步骤及结果测试(1)复习有关巴特沃斯模拟滤波器设计和用双线性变换法设计IIR数字滤波器的内容,用双线性变换法设计数字滤波器系统函数()zH。

其中满足本实验要求的数字滤波器系统函数为:()()()()()212121612155.09044.013583.00106.117051.02686.1110007378.0-------+-+-+-+=zzzzzzzz H()z H k k ∏==31(3.1)式中: ()()3211212121,,,k zC z B z z A z H k k k =--++=---- (3.2)2155.09044.03583.00106.17051.02686.109036.0332211-==-==-===C B C B C B A ,,, 根据设计指标,调用MATLAB 信号处理工具箱buttord 和butter ,也可以得到()z H 。

用双线性变换法设计IIR滤波器

用双线性变换法设计IIR滤波器

实验三用双线性变换法设计IIR滤波器一、实验目的1、了解两种工程上最常用的变换方法:脉冲响应不变法和双线性变换法。

2、掌握双线性变换法设计IIR滤波器的原理及具体设计方法,熟悉双线性设计法设计低通、带通和高通IIR滤波器的计算机程序。

3、观察用双线性变换法设计的滤波器的频域特性,并与脉冲响应不变法相比较,了解双线性变换法的特点。

4、熟悉用双线性变换法设计Butterworth和Chebyshev滤波器的全过程。

5、了解多项式乘积和多项式乘方运算的计算机编程方法。

二、实验原理和方法脉冲响应不变法一个重要的特点是频率坐标的变换是线性的(ω=ΩT),其缺点是有频谱的周期延拓效应,存在频谱混淆现象。

为了克服脉冲响应不变法可能产生的频谱混淆,提出了双线性变换法,它依靠双线性变换式:s=1-z-1/1+ z-1,z=1+s/1-s 其中s=σ+jΩ,z=re jw建立起s平面和z平面的单值映射关系,数字频域和模拟频域之间的关系:Ω=tan(ω/2) 模拟到数字的转换wp=2πfpT ws=2πfsT三、实验内容和步骤1、采样频率为1HZ,设计一个Chebyshev高通数字滤波器其中通带临界频率fp=0.3HZ,通带衰减小于0.8dB,阻带临界频率fs=0.2H Z,阻带内衰减大宇20dB,输出它的幅频特性,观察其通带衰减和阻带衰减是否满足要求。

>> fp=0.3;fs=0.2;>> Rp=0.8;Rs=20;>> [n,Wn]=cheb1ord(fp,fs,Rp,Rs)n =Wn =0.3000>> [b,a]=cheby1(n,Rp,Wn)b =0.0091 0.0365 0.0548 0.0365 0.0091a =1.0000 -2.3140 2.5960 -1.5036 0.3818>> freqz(b,a,512,1)2、采样频率为1HZ,设计一个数字低通滤波器,要求其通带临界频率fp=0.2HZ,通带内衰减小于1dB,阻带临界频率fs=0.3HZ,阻带内衰减大于25dB。

(整理)实验三IIR数字滤波器的设计.

(整理)实验三IIR数字滤波器的设计.

实验三 IIR 数字滤波器的设计实验学时:2学时实验类型:设计/研究实验要求:必修一.实验目的1.掌握脉冲响应不变法和双线性变换法设计IIR 数字滤波器的原理和方法;2.观察双线性变换法和脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法和脉冲响应不变法的特点和区别。

二.实验内容使用MATLAB 编写程序,实现IIR 数字滤波器的设计。

涉及脉冲响应不变法和双线性变换法设计IIR 数字滤波器的方法、不同设计方法得到的IIR 滤波器频域特性异同等知识点。

三.实验原理与方法和手段1.脉冲响应不变法所谓脉冲响应不变法就是使数字滤波器的单位脉冲响应序列h(n)等于模拟滤波器的单位冲激响应和a h (t)的采样值,即:)()()(nt h t h n h a nT t a ===,其中,T 为采样周期。

在MATLAB 中,可用函数impinvar 实现从模拟滤波器到数字滤波器的脉冲响应不变映射,调用格式为:[b,a]=impinvar(c,d,fs)[b,a]=impinvar(c,d)其中,c 、d 分别为模拟滤波器的分子和分母多项式系数向量;fs 为采样频率(Hz ),缺省值fs=1Hz ;b 、a 分别为数字滤波器分子和分母多项式系数向量。

2.双线性变换法:由于s 平面和z 平面的单值双线性映射关系为s =11211z T z---+,其中T 为采样周期。

因此,若已知模拟滤波器的传递函数,将上式代入即可得到数字滤波器的系统函数H(z)。

在双线性变换中,模拟角频率和数字角频率的变换关系为:22wtgTΩ=可见,Ω和w之间的变换关系为非线性的。

在MATLAB中,可用函数bilinear实现从模拟滤波器到数字滤波器的双线性变换映射,调用格式为:[b,a]=bilinear(c,d,fs)3.设计步骤:(1)定技术指标转换为模拟低通原型设计性能指标。

(2)估计满足性能指标的模拟低通性能阶数和截止频率。

利用MATLAB中buttord、cheb1ord、cheb2ord、ellipord等函数,调用格式如:)'',,,,(],[sRsRpWsWpbuttordWnn=其中,Wp为带通边界频率,rad/s;Ws为阻带边界频率,rad/s;Rp为带通波动,dB;Rs为阻带衰减,dB;‘s’表示为模拟滤波器;函数返回值n为模拟滤波器的最小阶数;Wn为模拟滤波器的截止频率(-3dB频率),rad/s。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三用双线性变换法设计IIR数字滤波器实验项目名称:用双线性变换法设计IIR数字滤波器实验项目性质:验证性实验所属课程名称:数字信号处理实验计划学时:2一.实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法。

(2)掌握数字滤波器的计算机仿真方法。

(3)通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。

二.实验内容和要求(1)用双线性变换法设计一个巴特沃斯低通IIR数字滤波器。

设计指标参数为:在通带内频率低于0.2π时,最大衰减小于1dB;在阻带内[0.3π,π]频率区间上,最小衰减大与15dB。

(2)以0.02π为采样间隔,打印出数字滤波器在频率区间[0,π/2]的幅频响应特性曲线。

(3)用所设计的滤波器对实际心电图信号采样序列(在本实验后面给出)进行仿真滤波处理,并打印出滤波前后的心电图信号波形图,观察总结滤波作用与效果。

三. 实验主要仪器设备和材料计算机,MATLAB6.5或以上版本四. 实验方法、步骤及结果测试(1) 复习有关巴特沃斯模拟滤波器设计和用双线性变换法设计IIR 数字滤波器的内容,用双线性变换法设计数字滤波器系统函数()z H 。

其中满足本实验要求的数字滤波器系统函数为:()()()()()212121612155.09044.013583.00106.117051.02686.1110007378.0-------+-+-+-+=zz z z z zz z H ()z H k k ∏==31(3.1)式中: ()()3211212121,,,k z C z B z z A z H k k k =--++=----(3.2)2155.09044.03583.00106.17051.02686.109036.0332211-==-==-===C B C B C B A ,,,根据设计指标,调用MATLAB 信号处理工具箱buttord 和butter ,也可以得到()z H 。

由公式(3.1)和(3.2)可见,滤波器()z H 由三个二阶滤波器()z H 1、()z H 2和()z H 3级联而成,如图3-1所示。

y(n)。

()n y3-1所示。

由(3.2)式可得到差分方程为:()()()()()()21212111-+-+-+-+=---n y C n y B n Ay n Ay n Ay n y k k k k k k k k (3.3)当k=1时,y k-1(n)=x(n)。

所以H(z)对x(n)的总响应序列y(n)可以用顺序迭代算法得到。

即依次对k =1,2,3,求解差分方程(3.3),最后得到y 3(n)=y(n)。

仿真程序就是实现上述求解差分方程和顺序迭代算法的通用程序。

也可以直接调用MATLAB filter 函数实现仿真。

(3) 在通用计算机上运行仿真滤波程序,并调用通用绘图子程序,完成实验内容(2)和(3)。

(4) 本实验中用到的心电图信号采用序列x(n)人体心电图信号在测量过程往往受到工业高频干扰,所以必须经过低通滤波处理后,才能作为判断心脏功能的有用信息。

下面给出一实际心电图信号采样序列样本x(n),其中存在高频干扰。

在实验中,以x(n)作为输入序列,滤除其中的干扰成分。

{x(n)}={-4, -2, 0, -4, -6, -4, -2, -4, -6, -6, -4, -4, -6, -6, -2, 6, 12, 8, 0,-16, -38,-60,-84,-90,-66,-32, -4, -2, -4, 8, 12, 12, 10, 6, 6, 6, 4, 0, 0, 0,0, 0, -2, -4, 0, 0, 0, -2, -2, 0, 0, -2, -2, -2, -2, 0}T=1;Fs=1/T;wpz=0.2;wsz=0.3;wp=2*tan(wpz*pi/2);ws=2*tan(wsz*pi/2);rp=1;rs=15; [N,wc]=buttord(wp,ws,rp,rs,'s');[B,A]=butter(N,wc,'s');fk=0:1/512:1;wk=2*pi*fk;Hk=freqs(B,A,wk);subplot(2,2,1);plot(fk,20*log10(abs(Hk)));grid on;xlabel('\omega/\pi');ylabel('幅度(dB)');axis([0,1,-100,5]);title('(b)');[N,wc]=buttord(wpz,wsz,rp,rs);[Bz,Az]=butter(N,wc);wk=0:pi/512:pi;Hz=freqz(Bz,Az,wk);subplot(2,2,4);plot(wk/pi,20*log10(abs(Hz)));grid on;xlabel('\omega/\pi');ylabel('幅度(dB)');axis([0,1,-100,5]);title('(b)');二;x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,-2, -4,8,12,12,10,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0];subplot(2,2,1);n=0:55;stem(n,x,'.');xlabel('n');ylabel('x(n)');title('x(n)的脉冲响应');A=0.09036;b1=[A,2*A,A];a1=[1,-1.2686,0.7051];h1=filter(b1,a1,x);[H1,w]=freqz(b1,a1,100);b2=[A,2*A,A];a2=[1,-1.0106,0.3583];h2=filter(b2,a2,h1);[H2,w]=freqz(b2,a2,100);b3=[A,2*A,A];a3=[1,-0.9044,0.2155];h3=filter(b3,a3,h2);[H3,w]=freqz(b3,a3,100);subplot(2,2,2);stem(n,h3,'.');xlabel('n');ylabel('y(n)');title('通过滤波器H1(z),H2(z),H3(z)后的y3(n)函数'); subplot(2,2,3);H4=H1.*(H2);H=H4.*(H3);mag=abs(H);db=20*log10((mag+eps)/max(mag));plot(w/pi,db);xlabel('ω/π');ylabel('20log[Ha3(ejw)]');title('通过滤波器H1(z),H2(z),H3(z)后的对数频率响应20log[Ha3(ejw)]函数'); grid;figure(2);N=1024;n=0:N/2-1;Xk=fft(x,N);AXk=abs(Xk(1:N/2));f=(0:N/2-1)*Fs/N;f=f/Fs;subplot(211);plot(f,AXk);title('x(n)的频谱');xlabel('f');ylabel('| X(k) |');axis([0,0.5,0,400]);Yk=fft(y,N);AYk=abs(Yk(1:N/2));subplot(212);plot(f,AYk);title('y(n)的频谱');xlabel('f');ylabel('| Y(k) |');axis([0,0.5,0,400])%x(n)的心电脉冲函数x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84, -90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0] subplot(2,2,1);n=0:55;stem(n,x,'.');xlabel('n');ylabel('x(n)');title('x(n)的心电脉冲函数');%通过滤波器H1(z)后的y1(n)函数A=0.09036;b1=[A,2*A,A];a1=[1,-1.2686,0.7051];h1=filter(b1,a1,x);[H1,w]=freqz(b1,a1,100);%通过滤波器H1(z),H2(Z)后的y2(n)函数b2=[A,2*A,A];a2=[1,-1.0106,0.3583];h2=filter(b2,a2,h1);[H2,w]=freqz(b2,a2,100);%通过滤波器H1(z),H2(Z),H3(Z)后的y3(n)函数b3=[A,2*A,A];a3=[1,-0.9044,0.2155];h3=filter(b3,a3,h2);[H3,w]=freqz(b3,a3,100);subplot(2,2,2);stem(n,h3,'.');xlabel('n');ylabel('y(n)');title('通过滤波器H1(Z),H2(Z),H3(Z)后的y3(n)函数'); subplot(2,2,3);H4=H1.*(H2);H=H4.*(H3);mag=abs(H);db=20*log10((mag+eps)/max(mag));plot(w/pi,db);xlabel('w/pi');ylabel('20log[Ha3(ejw)]');title('通过滤波器H1(z)、H2(z)、H3(z)后的对数频率响应20log[Ha3(ejw)]函数'); grid;MATLAB程序清单:%实验三,用双线性变换法设计IIR数字滤波器x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0]; k=1;close all;figure(1);subplot(2,2,1);n=0:55; %更正stem(n,x,'.');axis([0,56,-100,50]); %更正hold on;n=0:60;m=zeros(61);plot(n,m);xlabel('n');ylabel('x(n)');title('心电图信号采集序列x(n)');B=[0.09036,2*0.09036,0.09036];A=[1.2686,-0.7051];A1=[1.0106,-0.3583];A2=[0.9044,-0.2155];while(k<=3)y=filter(B,A,x); %The function is to filte the singal x x=y;if k==2A=A1;endif k==3A=A2;endk=k+1;endsubplot(2,2,3)n=0:55; %更正stem(n,y,'.');axis([0,56,-15,5]);hold on;n=0:60;m=zeros(61);plot(n,m);xlabel('n');ylabel('y(n)');title('三级滤波后的心电图信号');%求数字滤波器的幅频特性A=[0.09036,0.1872,0.09036];B1=[1,-1.2686,0.7051];B2=[1,-1.0106,0.3583];B3=[1,-0.9044,0.2155];[H1,w]=freqz(A,B1,100);[H2,w]=freqz(A,B2,100);[H3,w]=freqz(A,B3,100);H4=H1.*(H2);H=H4.*(H3);mag=abs(H);db=20*log10((mag+eps)/max(mag)); subplot(2,2,2)plot(w/pi,db);axis([0,0.5,-50,10]);grid on; %更正title('滤波器的幅频响应曲线');程序运行结果:直接运行程序,结果输出滤波器幅频特性曲线图,有噪声的心电图采集信号波形图和经过三级二阶滤波器滤波后的心电图信号波形图,见图3-2,对比分析就可以看出低通滤波器滤除信号中高频噪声的滤波效果。

相关文档
最新文档