实验五-IIR数字滤波器设计与滤波(附思考题程序)
- 格式:doc
- 大小:245.00 KB
- 文档页数:11
实验四:IIR数字滤波器设计及软件实现一、实验道理与办法1.设计IIR数字滤波器一般采取间接法(脉冲响应不变法和双线性变换法),运用最普遍的是双线性变换法,其根本设计进程是:(1)将给定的数字滤波器的指标转换成过渡模仿滤波器的指标;(2)设计过渡模仿滤波器;(3)将过渡模仿滤波器体系函数转换成数字滤波器的体系函数.本实验的数字滤波器的MATLAB实现是指挪用MATLAB旌旗灯号处理对象箱函数filter对给定的输入旌旗灯号x(n)进行滤波,得到滤波后的输出旌旗灯号y(n).二、实验内容1、挪用旌旗灯号产生函数mstg产生由三路克制载波调幅旌旗灯号相加组成的复合旌旗灯号st,该函数还会主动画图显示st 的时域波形和幅频特征曲线,如图4.1所示.由图可见,三路旌旗灯号时域混叠无法在时域分别.但频域是分别的,所以可以经由过程滤波的办法在频域分别,这就是本实验的目标.图4.1 三路调幅旌旗灯号st(即s(t))的时域波形和幅频特征曲线2.请求将st中三路调幅旌旗灯号分别,经由过程不雅察st的幅频特征曲线,分别肯定可以分别st 中三路克制载波单频调幅旌旗灯号的三个滤波器(低通滤波器.带通滤波器.高通滤波器)的通带截止频率和阻带截止频率.请求滤波器的通带最大衰减为0.1dB,阻带最小衰减为60dB.实验成果如图4.2,程序见附录4.2.提醒:克制载波单频调幅旌旗灯号的数学暗示式为个中,cos(2)c f t π称为载波,fc 为载波频率,0cos(2)f t π称为单频调制旌旗灯号,f0为调制正弦波旌旗灯号频率,且知足0c f f >.由上式可见,所谓克制载波单频调幅旌旗灯号,就是2个正弦旌旗灯号相乘,它有2个频率成分:和频0c f f +和差频0c f f -,这2个频率成分关于载波频率fc 对称.所以,1路克制载波单频调幅旌旗灯号的频谱图是关于载波频率fc 对称的2根谱线,个中没有载频成分,故取名为克制载波单频调幅旌旗灯号.轻易看出,图 4.1中三路调幅旌旗灯号的载波频率分别为250Hz.500Hz.1000Hz.假如调制旌旗灯号m(t)具有带限持续频谱,无直流成分,则()()cos(2)c s t m t f t π=就是一般的克制载波调幅旌旗灯号.其频谱图是关于载波频率fc 对称的2个边带(高低边带),在专业课通讯道理中称为双边带克制载波 (DSB-SC) 调幅旌旗灯号,简称双边带 (DSB) 旌旗灯号.假如调制旌旗灯号m(t)有直流成分,则就是一般的双边带调幅旌旗灯号.其频谱图是关于载波频率fc 对称的2个边带(高低边带),并包含载频成分.3.编程序挪用MATLAB 滤波器设计函数ellipord 和ellip 分别设计这三个椭圆滤波器,并画图显示其幅频响应特征曲线.实验成果如图4.2.4.3.4.4,程序见附录4.1.4.2.4.3.4.挪用滤波器实现函数filter,用三个滤波器分别对旌旗灯号产生函数mstg 产生的旌旗灯号st 进行滤波,分别出st 中的三路不合载波频率的调幅旌旗灯号y1(n).y2(n)和y3(n), 并画图显示)()(21n y n y 、和)(3n y 的时域波形,不雅察分别后果.实验成果如图4.2.4.3.4.4,程序见附录4.1.4.2.4.3.注:旌旗灯号产生函数mstg 清单function st=mstg%产生旌旗灯号序列向量st,并显示st 的时域波形和频谱%st=mstg 返回三路调幅旌旗灯号相加形成的混杂旌旗灯号,长度N=800N=800 %N 为旌旗灯号st 的长度.Fs=10000;T=1/Fs;Tp=N*T; %采样频率Fs=10kHz,Tp 为采样时光t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;fc1=Fs/10;%第1路调幅旌旗灯号的载波频率fc1=1000Hzfm1=fc1/10; %第1路调幅旌旗灯号的调制旌旗灯号频率fm1=100Hzfc2=Fs/20;%第2路调幅旌旗灯号的载波频率fc2=500Hzfm2=fc2/10; %第2路调幅旌旗灯号的调制旌旗灯号频率fm2=50Hzfc3=Fs/40;%第3路调幅旌旗灯号的载波频率fc3=250Hzfm3=fc3/10; %第3路调幅旌旗灯号的调制旌旗灯号频率fm3=25Hzxt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t); %产生第1路调幅旌旗灯号xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t); %产生第2路调幅旌旗灯号xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t); %产生第3路调幅旌旗灯号st=xt1+xt2+xt3; %三路调幅旌旗灯号相加fxt=fft(st,N); %盘算旌旗灯号st的频谱%====以下为画图部分,绘制st的时域波形和幅频特征曲线========subplot(3,1,1)plot(t,st);grid;xlabel('t/s');ylabel('s(t)');axis([0,Tp/8,min(st),max(st)]);title('(a) s(t)的波形') subplot(3,1,2)stem(f,abs(fxt)/max(abs(fxt)),'.');grid;title('(b) s(t)的频谱')axis([0,Fs/5,0,1.2]);xlabel('f/Hz');ylabel('幅度')三、实验成果和剖析.评论辩论及结论1.滤波器参数拔取不雅察图 4.1可知,三路调幅旌旗灯号的载波频率分别为250Hz.500Hz.1000Hz.带宽(也可以由旌旗灯号产生函数mstg 清单看出)分别为50Hz.100Hz.200Hz.所以,分别混杂旌旗灯号st 中三路克制载波单频调幅旌旗灯号的三个滤波器(低通滤波器.带通滤波器.高通滤波器)的指标参数拔取如下:对载波频率为250Hz 的条幅旌旗灯号,可以用低通滤波器分别,其指标为:通带截止频率Hz f p 280=,通带最大衰减dB a p 1.0=;阻带截止频率Hz f s 450=,阻带最小衰减dB a s 60=.对载波频率为500Hz 的条幅旌旗灯号,可以用带通滤波器分别,其指标为:带截止频率Hz f pl 440=,Hz f pu 560=,通带最大衰减dB a p 1.0=;阻带截止频率Hz f sl 275=,Hz f su 900=,阻带最小衰减dB a s 60=.对载波频率为1000Hz 的条幅旌旗灯号,可以用高通滤波器分别,其指标为:带截止频率Hz f p 890=,通带最大衰减dB a p 1.0=;阻带截止频率Hz f s 550=,阻带最小衰减dB a s 60=.解释:(1)为了使滤波器阶数尽可能低,每个滤波器的鸿沟频率选择原则是尽量使滤波器过渡带宽尽可能宽.(2)与旌旗灯号产生函数mstg 雷同,采样频率Fs=10kHz.(3)为了滤波器阶数最低,选用椭圆滤波器.2.实验成果由图可见,三个分别滤波器指标参数拔取准确,损耗函数曲线达到所给指标.分别出的三路旌旗灯号)()(21n y n y 、和)(3n y 的波形是克制载波的单频调幅波.图4.2 低通滤波器损耗函数及其分别出的调幅旌旗灯号)(1n y 图4.3 带通滤波器损耗函数及其分别出的调幅旌旗灯号)(2n y 图4.4 高通滤波器损耗函数及其分别出的调幅旌旗灯号)(3n y图4.5 调幅(AM )旌旗灯号的时域波形图及其频谱四、思虑题1.请浏览旌旗灯号产生函数mstg,肯定三路调幅旌旗灯号的载波频率和调制旌旗灯号频率.答:由旌旗灯号产生函数mstg 可知,图4.1中三路调幅旌旗灯号的载波频率分别为250Hz.500Hz.1000Hz;调制旌旗灯号频率分别为100Hz.50Hz.25Hz.2.旌旗灯号产生函数mstg 中采样点数N=1600,对st 进行N 点FFT 可以得到6根幻想谱线.假如取N=1000,能否得到6根幻想谱线?为什么?N=2000呢?请转变函数mstg 中采样点数N 的值,不雅察频谱图验证你的断定是否准确.答:剖析发明,因为st 的每个频率成分都是25Hz 的整数倍.采样频率Fs=10kHz=25×400Hz,即在25Hz 的正弦波的1个周期中采样400点.所以,当N 为400的整数倍时必定为st 的整数个周期.是以,采样点数N=1600和N=2000时,对st 进行N 点FFT 可以得到6根幻想谱线.假如取N=1000,不是400的整数倍,不克不及得到6根幻想谱线.3.修正旌旗灯号产生函数mstg,给每路调幅旌旗灯号参加载波成分,产生调幅(AM )旌旗灯号,反复本实验,不雅察AM 旌旗灯号与克制载波调幅旌旗灯号的时域波形及其频谱的不同.提醒:AM 旌旗灯号暗示式:m d c m d A A t f t f A A t s ≥+=)2cos()]2cos([)(0ππ答:由克制载波单频调幅旌旗灯号的数学暗示式及AM 旌旗灯号暗示式:可知,将旌旗灯号产生函数mstg 中的如下三条程序语句:xt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t);xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t);xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t);改为(因为要知足m d A A ≥,故令1=d A .1=m A )xt1=(1+cos(2*pi*fm1*t)).*cos(2*pi*fc1*t);xt2=(1+cos(2*pi*fm2*t)).*cos(2*pi*fc2*t);xt3=(1+cos(2*pi*fm3*t)).*cos(2*pi*fc3*t);则可以产生调幅(AM )旌旗灯号.实验成果如图4.5,程序见附录4.4.五、总结与心得领会经由过程此次实验,我们可以学到关于如安在MatLab 软件上实现数字滤波器的设计与实现对实际数字波形的滤波处理.熟习用双线性变换法设计IIR 数字滤波器的道理与办法,学会挪用MATLAB 旌旗灯号处理对象箱中滤波器设计函数(或滤波器设计剖析对象fdatool)设计各类IIR数字滤波器,学会依据滤波需求肯定滤波器指标参数.控制IIR数字滤波器的MATLAB实现办法.经由过程不雅察滤波器输入输出旌旗灯号的时域波形及其频谱,树立数字滤波的概念.实验的心得领会面下:在此次实验中,复习了关于MATLAB软件的操纵及运用,根本运用办法和它的运行情况.又进一步地经由过程实验加深了对MATLAB软件的懂得,领会到了MATLAB具有完整的图形处理功效,实现盘算成果和编程的可视化等功效.经由过程做实验的进程以及实验剖析的成果,控制了IIR数字滤波器的MATLAB实现办法;学会运用函数ellipord和ellip设计椭圆滤波器的办法.经由过程此次的实验.极大地晋升了本身对于程序编辑的闇练度,增长了对于书本里面常识点的运用,更深一层的加深了对MATLAB软件的运用.这对本身今后的实验积聚了丰硕的经验.六、附件:MATLAB原程序清单4.1 挪用函数ellipord.ellip和filter,画图显示其幅频响应特y的时域波形征曲线及调幅旌旗灯号)(1nclear all;close allFs=10000;T=1/Fs; %采样频率%挪用旌旗灯号产生函数mstg产生由三路克制载波调幅旌旗灯号相加组成的复合旌旗灯号stst=mstg;fp=280;fs=450; %下面wp,ws,为fp,fs 的归一化值规模为0-1 wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60; %DF 指标(低通滤波器的通.阻带鸿沟频)[N,wp]=ellipord(wp,ws,rp,rs); %挪用ellipord 盘算椭圆DF 阶数N 和通带截止频率wp[B,A]=ellip(N,rp,rs,wp); %挪用ellip 盘算椭圆带通DF 体系函数系数向量B 和A[h,w]= freqz(B,A);y1t=filter(B,A,st); %滤波器软件实现figure(2);subplot(2,1,1);plot(w,20*log10(abs(h)));axis([0,1,-80,0])subplot(2,1,2);t=0:T:(length(y1t)-1)*T;plot(t,y1t);%axis([0,1,-80,0])4.2 挪用函数ellipord.ellip 和filter,画图显示其幅频响应特征曲线及调幅旌旗灯号)(2n y 的时域波形fpl=440;fpu=560;fsl=275;fsu=900;wp=[2*fpl/Fs,2*fpu/Fs];ws=[2*fsl/Fs,2*fsu/Fs];rp=0.1;rs=60;[N,wp]=ellipord(wp,ws,rp,rs); %挪用ellipord 盘算椭圆DF阶数N 和通带截止频率wp[B,A]=ellip(N,rp,rs,wp); %挪用ellip 盘算椭圆带通DF 体系函数系数向量B 和A[h,w]= freqz(B,A);y2t=filter(B,A,st);figure(3);subplot(2,1,1);plot(w,20*log10(abs(h)));axis([0,1,-80,0])subplot(2,1,2);t=0:T:(length(y2t)-1)*T;plot(t,y2t);4.3 挪用函数ellipord.ellip 和filter,画图显示其幅频响应特征曲线及调幅旌旗灯号)(3n y 的时域波形fp=900;fs=550;wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60; %DF 指标(低通滤波器的通.阻带鸿沟频)[N,wp]=ellipord(wp,ws,rp,rs); %挪用ellipord 盘算椭圆DF 阶数N 和通带截止频率wp[B,A]=ellip(N,rp,rs,wp,'high'); %挪用ellip 盘算椭圆带通DF 体系函数系数向量B 和A[h,w]= freqz(B,A);y3t=filter(B,A,st);figure(4);subplot(2,1,1);plot(w,20*log10(abs(h)));axis([0,1,-80,0])subplot(2,1,2);t=0:T:(length(y3t)-1)*T;plot(t,y3t);4.4 挪用旌旗灯号产生函数mstg产生调幅(AM)旌旗灯号function st=mstg %功效函数的写法%产生旌旗灯号序列向量st,并显示st的时域波形和频谱%st=mstg 返回三路调幅旌旗灯号相加形成的混杂旌旗灯号,长度N=800N=800 %N为旌旗灯号st的长度.Fs=10000;T=1/Fs;Tp=N*T; %采样频率Fs=10kHz,Tp为采样时光t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;fc1=Fs/10;%第1路调幅旌旗灯号的载波频率fc1=1000Hzfm1=fc1/10; %第1路调幅旌旗灯号的调制旌旗灯号频率fm1=100Hzfc2=Fs/20;%第2路调幅旌旗灯号的载波频率fc2=500Hzfm2=fc2/10; %第2路调幅旌旗灯号的调制旌旗灯号频率fm2=50Hzfc3=Fs/40;%第3路调幅旌旗灯号的载波频率fc3=250Hzfm3=fc3/10; %第3路调幅旌旗灯号的调制旌旗灯号频率fm3=25Hzxt1=(1+cos(2*pi*fm1*t)).*cos(2*pi*fc1*t); %产生第1路调幅旌旗灯号xt2=(1+cos(2*pi*fm2*t)).*cos(2*pi*fc2*t); %产生第2路调幅旌旗灯号xt3=(1+cos(2*pi*fm3*t)).*cos(2*pi*fc3*t); %产生第3路调幅旌旗灯号st=xt1+xt2+xt3; %三路调幅旌旗灯号相加fxt=fft(st,N); %盘算旌旗灯号st的频谱%====以下为画图部分,绘制st的时域波形和幅频特征曲线========subplot(3,1,1)plot(t,st);grid;xlabel('t/s');ylabel('s(t)');axis([0,Tp/8,min(st),max(st)]);title('(a) s(t)的波形') subplot(3,1,2)stem(f,abs(fxt)/max(abs(fxt)),'.');grid;title('(b) s(t)的频谱')axis([0,Fs/5,0,1.2]);xlabel('f/Hz');ylabel('幅度')。
本科学生验证性实验报告学号114090315 姓名李开斌学院物电学院专业、班级11电子实验课程名称数字信号处理教师及职称李宏宁开课学期2013 至2014 学年下学期填报时间2014 年 5 月14 日云南师范大学教务处编印一、 实验设计方案 实验序号 09实验名称 IIR 数字滤波器设计及应用实验时间2014年5月14日实验室同析3栋3131. 实验目的2. 加深理解IIR 数字滤波器的特性,掌握IIR 数字滤波器的设计原理与设计方法,以及IIR 数字滤波器的应用。
2. 实验原理、实验流程或装置示意图N 阶IIR 数字滤波器的系统函数为:ii Ni jj Mj z a z b z H -=-=∑∑+=101)( NN N N M M M M z a z a z a z b z b z b b ----------++++++++=)1(111)1(11101IIR 数字滤波器的设计主要通过成熟的模拟滤波器设计方法来实现:将数字滤波器设计指标转换为模拟滤波器设计指标,设计出相应的模拟滤波器H(s),再经过脉冲响应不变法或双线性变换法得到所需的IIR 数字滤波器H(z)。
IIR 数字滤波器设计的重要环节是模拟原型低通滤波器的设计,主要包括Butterworth 、Chebyshev 和椭圆等滤波器。
MATLAB 信号处理工具箱中提供了IIR 滤波器设计的函数。
IIR 滤波器阶数选择buttord -巴特沃斯(Butterworth)滤波器阶数选择。
cheb1ord -切比雪夫(Chebyshev)I 型滤波器阶数选择。
cheb2ord -切比雪夫(Chebyshev)II 型滤波器阶数选择。
ellipord -椭圆(Elliptic)滤波器阶数选择。
IIR 滤波器设计butter -巴特沃斯(Butterworth)滤波器设计 cheby1 -切比雪夫(Chebyshev)I 型滤波器设计 cheby2 -切比雪夫(Chebyshev)II 型滤波器设计 ellip -椭圆(Elliptic)滤波器设计maxflat -通用的巴特沃斯(Butterworth)低通滤波器设计yulewalk -Yule-Walker 滤波器设计(直接数字滤波器设计法)1. Butterworth 滤波器设计Butterworth 滤波器是通带、阻带都单调衰减的滤波器。
实验一:IIR数字滤波器设计及软件实现一、实验指导1.实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法;(2)学会调用MATLAB信号处理工具箱中滤波器设计函数(或滤波器设计分析工具fdatool)设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。
(3)掌握IIR数字滤波器的MATLAB实现方法。
(3)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。
2.实验原理设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。
基本设计过程是:①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标;②设计过渡模拟滤波器;③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。
MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。
第六章介绍的滤波器设计函数butter、cheby1 、cheby2 和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。
本实验要求读者调用如上函数直接设计IIR数字滤波器。
本实验的数字滤波器的MATLAB实现是指调用MATLAB信号处理工具箱函数filter对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n)。
3. 实验内容及步骤(1)调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图1所示。
由图可见,三路信号时域混叠无法在时域分离。
但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。
图1 三路调幅信号st的时域波形和幅频特性曲线(2)要求将st中三路调幅信号分离,通过观察st的幅频特性曲线,分别确定可以分离st中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。
要求滤波器的通带最大衰减为0.1dB,阻带最小衰减为60dB 。
课程设计报告专业班级课程题目学号学生姓名指导教师年月基于MATLAB的IIR数字带通滤波器设计一、数字滤波器数字滤波器是对数字信号实现滤波的线性时不变系统。
数字滤波实质上是一种运算过程,实现对信号的运算处理。
输入数字信号(数字序列)通过特定的运算转变为输出的数字序列,因此,数字滤波器本质上是一个完成特定运算的数字计算过程,也可以理解为是一台计算机。
描述离散系统输出和输入关系的卷积和差分方程只是给数字信号滤波器提供运算规则,使其按照这个规则完成对输入数据的处理。
时域离散系统的频域特性:,其中、分别是数字滤波器的输出序列和输入序列的频域特性(或称为频谱特性),是数字滤波器的单位取样响应的频谱,又称为数字滤波器的频域响应。
输入序列的频谱经过滤波后,因此,只要按照输入信号频谱的特点和处理信号的目的,适当选择,使得滤波后的满足设计的要求,这就是数字滤波器的滤波原理。
数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。
IIR 数字滤波器的特征是,具有无限持续时间冲激响应,需要用递归模型 来实现,其差分方程为: 系统函数为:设计IIR 滤波器的任务就是寻求一个物理上可实现的系统函数H(z),使其频率响应H(z)满足所希望得到的频域指标,即符合给定的通带截止频率、阻带截止频率、通带衰减系数和阻带衰减系数。
二、IIR 数字滤波器设计方法IIR 数字滤波器是一种离散时间系统,其系统函数为假设M ≤N ,当M >N 时,系统函数可以看作一个IIR 的子系统和一个(M-N)的FIR 子系统的级联。
IIR 数字滤波器的设计实际上是求解滤波器的系数和 ,它是数学上的一种逼近问题,即在规定意义上(通常采用最小均方误差准则)去逼近系统的特性。
如果在S 平面上去逼近,就得到模拟滤波器;如果在z 平面上去逼近,就得到数字滤波器。
1.用脉冲相应不变法设计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滤波器的DSP实现一、IIR滤波器的基本结构IIR滤波器差分方程的一般表达式为:式中x(n)为输入序列;y(n)为输出序列;和为滤波器系数.若所有系数等于0,则为FIR滤波器.IIR滤波器具有无限长的单位脉冲响应,在结构上存在反馈回路,具有递归性,即IIR滤波器的输出不仅与输入有关,而且与过去的输出有关.将上式展开得出y(n)表达式为:在零初始条件下,对上式进行z变换,得到:设N=M,则传递函数为:上式可写成:上式具有N个零点和N个极点.若有极点位于单位圆外将导致系统不稳定.由于FIR滤波器所有的系数均为0,不存在极点,不会造成系数的不稳定.对于IIR滤波器,系统稳定的条件如下: 若||<1,当n→时,h(n)→0,系统稳定;若||>1,当n→时,h(n)→,系统不稳定.IIR滤波器具有多种形式,主要有:直接型(也称直接I型)、标准型(也称直接II型)、变换型、级联型和并联型.二阶IIR滤波器,又称为二阶基本节,分为直接型、标准型和变换型.对于一个二阶IIR滤波器,其输出可以写成:1.直接型(直接I型)根据上式可以得到直接二型IIR滤波器的结构图.如图1所示.共使用了4个延迟单元().直接型二阶IIR滤波器还可以用图2的结构实现.图2 直接I型二阶IIR滤波器此时,延时变量变成了w(n).可以证明上图的结构仍满足二阶IIR滤波器输出方程.前向通道:反馈通道:将1.2式代入1.1式可得:2.标准型(直接II型)从图2可以看出,左右两组延迟单元可以重叠,从而得到标准二阶IIR滤波器的结构图,如图3所示.由于这种结构所使用的延迟单元最少(只有2个),得到了广泛地应用,因此称之为标准型IIR滤波器.图3 标准型二阶IIR滤波器二、IIR滤波器的设计IIR滤波器的设计可以利用模拟滤波器原型,借鉴成熟的模拟滤波器的设计结果进行双线性变换,将模拟滤波器变换成满足预定指标的数字滤波器,即根据模拟设计理论设计出满足要求的传递函数H(s),然后将H(s)变换成数字滤波器的传递函数H(z).设计IIR滤波器的基础是设计模拟滤波器的原型,这些原型滤波器主要有:①巴特沃兹(Butterworth)滤波器,其幅度响应在通带内具有最平特性;②切比雪夫(Chebyshev)滤波器,在通带内具有等波纹特性,且阶数小于巴特沃兹滤波器.③椭圆(Elliptic)滤波器,在通带内具有等波纹特性,且阶数最小.将模拟滤波器转换为数字滤波器常用的方法是双线性变换,其作用是完成从s平面到z平面的一个映射.其关系为:双线性变换的基本性质如下:①s平面上的轴映射到z平面的单位圆上;②s平面的左半平面映射到z平面的单位圆内;③s平面的右半平面映射到z平面的单位圆外.考虑到s平面上的虚轴映射为z平面的单位圆,令,它代表一个可变的模拟频率.其z平面上相应的数字频率为,即,将以上两式代入2.1式得:对上式求解得:模拟频率和相应的数字频率之间的映射关系如图4所示:图4 和之间的映射关系当在0~1之间变化时,在0~之间变化,为采样频率:当时,其对应的在之间.双线性变换会造成频率失真,通常采用预畸变来补偿频率失真.双线性变换设计的步骤如下:①选择一个合适的模拟传递函数H(s);②对截止频率或预定的数字频率进行畸变,并根据式2.3求得相应的模拟频率;③用对H(s)中的频率进行换算,即:④用式2.1计算H(z):三、二阶IIR滤波器的DSP实现1.标准型二阶IIR滤波器的实现在二阶IIR滤波器结构中,标准型结构是最常见的滤波器结构,其结构如图5所示:图5 标准型二阶IIR滤波器由结构图可以写出反馈通道和前向通道的差分方程:反馈通道:前向通道:由以上两式对二阶IIR滤波器进行编程,其中乘法-累加运算可采用单操作数指令或双操作数指令,数据和系数可存放在DARAM中,如图6所示:图6 双操作数数据存放和系数表2.直接型二阶IIR滤波器的实现二阶IIR滤波器可以用直接型结构来实现.在迭代运算中,先衰减后增益,系统的动态范围和鲁棒性要好些.直接型二阶IIR滤波器的结构如图7所示:图7 直接型二阶IIR滤波器直接型二阶IIR滤波器的脉冲传递函数为:差分方程为:为了实现直接型滤波,可在DARAM中开辟4个循环缓冲区,用来存放变量和系数,并采用循环缓冲区方式寻址.这4个循环缓冲区的结构如图8所示:图8 循环缓冲区结构四、总体设计方案1.利用MATLAB来确定IIR滤波器的参数;2.启动CCS,在CCS中建立一个汇编源文件、建立一个C源文件和一个命令文件,并将这三个文件添加到工程,再编译并装载程序;3.设置波形时域观察窗口,得到其滤波前后波形变化图;4.设置频域观察窗口,得到其滤波前后频谱变化图.五、主要参数f1=500Hz f2=1000Hz f s=2000六、源程序1.汇编源文件程序(.asm).global _iir,_init,_outdata_iirbset frctsub #1,t0mov t0,mmap(csr)add t0,ar0mov xar2,xdpmov ar2,cdpmov #0,ac0rpt csrmacmz *ar0-,*cdp+,ac0add t0,ar1mov xar3,xdpmov ar3,cdprpt csrmacmz *ar1-,*cdp+,ac0mar *ar1+mov hi(ac0),*ar1mov hi(ac0),t0bclr frctret_initsub #1,t0mov t0,mmap(csr)mov #0,ac0rpt csrmov ac0,*ar0+rpt csrmov ac0,*ar1+ret_outdatamov t1,ac0sub #2,ac0mov ac0,mmap(csr)add ac0,ar0rpt csrdelay *ar0-mar *ar0+mov t0,*ar0ret2.C源文件程序(.c)#includ e "math.h"#define signal_1_f 500#define signal_2_f 10000#define signal_sample_f 25000#define pi 3.1415926#define IIRNUMBER_L 2#define bufer_L 256int N_L=IIRNUMBER_L;int data_in[bufer_L];int out[bufer_L] ;int x[IIRNUMBER_L+1];int y[IIRNUMBER_L+1];int k=0;int bufer=bufer_L;int fBn[IIRNUMBER_L]={0,0x634a};int fAn[IIRNUMBER_L]={0xe5c,0xe5c};extern int iir(int *x,int *y,int *fAn,int *fBn,int N_L); extern int init(int *,int *,int);extern int outdata(int *,int,int);void inputwave();void main(){int iirout;inputwave();init(x,y,N_L);while(1){x[0]=data_in[k];iirout=iir(x,y,fAn,fBn,N_L);outdata(out,iirout,bufer);k++;if(k>=bufer_L){k=0;}}}void inputwave(){fl oat wt1;fl oat wt2;int i;for(i=0;i<=bufer_L;i++){wt1=2*pi*i*signal_1_f;wt1=wt1/signal_sample_f;wt2=2*pi*i*signal_2_f;wt2=wt2/signal_sample_f;data_in[i]=(cos(wt1)+cos(wt2))/2*32768;}}3.命令文件程序(.cmd)-stack 0x0500-sysstack 0x0500-heap 0x1000-c-u _Reset-l rts55.libMEMORY{PAGE 0:RAM(RWIX): origin=0x000100, length=0x01ff00ROM(RIX): origin=0x020100, length=0x01ff00VECS(RIX): origin=0xffff00, length=0x000200 PAGE 2:IOPORT(RWI):origin=0x000000, length=0x020000 }SECTIONS{.text >ROM PAGE 0.data >ROM PAGE 0.bss >RAM PAGE 0.const >RAM PAGE 0.sysmem >RAM PAGE 0.stack >RAM PAGE 0.cio >RAM PAGE 0.sysstack >RAM PAGE 0.switch >RAM PAGE 0.cinit >RAM PAGE 0.pinit >RAM PAGE 0.vectors >VECS PAGE 0.ioport >IOPORT PAGE 2}七、实验结果及分析1.输入波形:①时域波形:②频域波形:2.输出波形:①时域波形:②频域波形:八、心得体会课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,数字技术已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在.通过这次课设,我掌握了数字滤波器的设计过程,了解了IIR的原理和特性,学习IIR滤波器的DSP 实现原理.熟悉设计IIR数字滤波器的原理和方法,学习使用CCS的波形观察窗口观察输入输出信号波形和频谱变化情况.通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力.DSP原理及应用课程设计报告设计课题: IIR滤波器的DSP实现专业班级: 信息07-2班姓名: 王晓萱学号: 07100637同组人: 王鑫、蔚金昌、吴杰、徐扬、李峰。
IIR 数字滤波器 (设计实验)一、实验目的1.了解IIR (Infinite Impulse Response ,无限冲激响应)滤波器原理及使用方法;2.了解使用MA TLAB 语言设计IIR 滤波器的方法;3.了解DSP 对IIR 滤波器的设计及编程方法;4.熟悉在CCS 环境下对IIR 滤波器的调试方法;二、实验原理IIR 数字滤波器的传递函数H(z)为:其对应的差分方程为:对于直接形式的二阶IIR 数字滤波器,其结构如图4.1图4.1 IIR 数字滤波器结构图编程时,可以分别开辟四个缓冲区,存放输入、输出变量和滤波器的系数,如图4.2所示。
图4.2 IIR 数字滤波器算法图三、实验内容与步骤设计一个三阶的切比雪夫Ⅰ型带通数字滤波器,其采样频率Fs =16kHz ,其通频带3.2kHz<f <4.8kHz ,内损耗不大于1dB ;f <2.4kHz 和f >5.6kHz 为阻带,其衰减大于20dB 。
输入信号频率为4000Hz 、6500Hz 的合成信号,通过所设计的带通滤波器将6500Hz 信号滤掉,余下4000Hz 的信号,达到滤波效果。
1、IIR 滤波器的MA TLAB 设计在MA TLAB 中设计IIR 滤波器,程序为: wp=[3.2,4.8];ws=[2.4,5.6];rp=1;rs=2001()1Mii i N ii i b zH z a z -=-==-∑∑01()()()MNi i i i y n b x n i a y n i ===-+-∑∑[n,wn]=cheb1ord(wp/8,ws/8,rp,rs)[b,a]=cheby1(n,rp,wn)设计结果为:N=3wn =0.4000 0.6000b0=0.0114747 a0=1.000000b1=0 a1=0b2=-0.034424 a2=2.13779b3=0 a3=0b4=0.034424 a4=1.76935b5=0 a5=0b6=-0.0114747 a6=0.539758在设计IIR滤波器时,会出现系数≥1的情况,为了用Q15定点小数格式表示系数,可以用大数去所有系数。
实验五 IIR数字滤波器设计及实现一、实验目的●熟悉用脉冲响应不变法和双线性变换法设计IIR数字滤波器的原理与方法。
●学会调用MATLAB信号处理工具箱中滤波器设计函数设计IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。
二、实验原理和案例分析1.模拟低通滤波器设计模拟低通滤波器的逼近有巴特沃思型、切比雪夫型、和考尔型,分别用如下的函数实现。
[Z,P,K]=buttap(n);返回一个n阶、巴特沃思型归一化的模拟低通滤波器的零极点增益模型[Z,P,K]=cheb1ap(n,Rp);n阶、通带内的最大衰减Rp、切比雪夫Ⅰ型[Z,P,K]=cheb2ap(n,Rs);n阶、阻带内的最小衰减Rs、切比雪夫Ⅱ型[Z,P,K]=elliap(n,Rp,Rs);n阶、通带内的最大衰减Rp、阻带内的最小衰减Rs、考尔型2.模拟低通滤波器阶数n的选择函数滤波器阶数的选择在整个滤波器的设计中占有十分重要的地位和作用。
根据需要选择合适的滤波器阶数,MATLAB工具箱中提供了对应于各类模拟低通滤波器的阶数选择函数,如巴特沃思型的buttord、切比雪夫型的cheb1ord、cheb2ord 和考尔型的ellipord。
这些函数的调用格式大同小异,仅以buttord为例加以说明。
[n,Wn]=buttord(Wp,Ws,Rp,Rs,’s’)输入参数:Wp通带截止频率,Ws阻带截止频率,Rp通带最大衰减,Rs阻带最小衰减。
输出参数:n为符合要求的滤波器最小阶数,Wn为巴特沃思型模拟低通滤波器3dB截止频率。
’s’:表示模拟域。
3.零极点增益模型到传递函数模型的转换[num,den]=zp2tf(Z,P,K)输入参数:Z,P,K分别表示系统的零极点增益模型的零点、极点和增益;输出参数:num,den分别为同一系统传递函数模型的分子和分母多项式系数。
4.模拟域的频率变换将归一化的模拟低通滤波器转换成所需要类型(低通、高通、带通和带阻)的模拟滤波器,可分别用如下命令实现:[b,a]=lp2lp(Bap,Aap,Wn);把传递函数形式的归一化模拟低通滤波器原型转换成3dB截止频率为Wn的同型低通滤波器。
实验五 IIR 数字滤波器设计与滤波1.实验目的(1)加深对信号采样的理解,(2)掌握滤波器设计的方法;(3)复习低通滤波器的设计。
2.实验原理目前,设计IIR 数字滤波器的通用方法是先设计相应的低通滤波器,然后再通过双线性变换法和频率变换得到所需要的数字滤波器。
模拟滤波器从功能上分有低通、高通、带通及带阻四种,从类型上分有巴特沃兹(Butterworth )滤波器、切比雪夫(Chebyshev )I 型滤波器、切比雪夫II 型滤波器、椭圆(Elliptic )滤波器以及贝塞尔(Bessel )滤波器等。
典型的模拟低通滤波器的指标如下:,P S ΩΩ分别为通带频率和阻带频率,,P S δδ分别为通带和阻带容限(峰波纹值)。
在通带内要求1()1P a H J δ-≤Ω≤,有时指标由通带最大衰减p α和阻带最小衰减s α给出,定义如下:20lg(1)p p αδ=-- 和20lg()s s αδ=-第二种常用指标是用参数ε和A 表示通带和阻带要求,如图所示:二者之间的关系为:21/2[(1)1]p εδ-=--和1/s A δ=,根据这几个参数可导出另外两个参数d ,k ,分别称为判别因子和选择性因子。
d =/p s k =ΩΩBUTTERWORTH 低通滤波器:幅度平方函数定义为221()1(/)a Nc H J Ω=+ΩΩ,N 为滤波器阶数,c Ω为截止频率。
当c Ω=Ω时,有()a H J Ω=3DB 带宽。
BUTTERWORTH 低通滤波器系统函数有以下形式:11111()...()Nc a N N N N Nk H s s a s a s a k s s --=Ω==++++∏- 由模拟滤波器设计IIR 数字滤波器,必须建立好s 平面和z 平面的映射关系。
使模拟系统函数()a H s 变换成数字滤波器的系统函数()H z ,通常采用冲激相应不变法和双线性变换法。
冲激相应不变法存在频谱混叠现象,双线性变换法消除了这一线象,在IIR 数字滤波器的设计中得到了更广泛的应用。
s 平面和Z 平面的映射关系为1121()1s Z s f Z T Z---==+,将s j =Ω和jw z e =待入数字频率和等效的模拟频率之间的映射关系:tan()2w Ω=,由于二者不是线性关系,所以称为预畸变。
3.实验内容及其步骤实验的步骤:(1)给定数字滤波器的幅度相应参数。
(2)用预畸变公式将数字滤波器参数变换为相应的等效模拟滤波器参数。
(3)采用模拟滤波器设计方法设计等效模拟滤波器()aH s(4)采用双线性变换公式把等效模拟滤波器映射为所期望的数字滤波器。
其中第三步中模拟滤波器设计步骤为:首先,根据滤波器指标求选择因子k和判别因子d其次,确定满足技术所需的滤波器阶数N, loglog dNk≥再次,设3db截止频率cΩ最后由表查出归一化巴特沃斯滤波器系数。
设计举例:例1 设计一个模拟巴特沃特低通滤波器,它在30rad/s处具有1dB或更好的波动,在50rad/s处具有至少30dB的衰减。
求出级联形式的系统函数,画出滤波器的幅度响应、对数幅度响应、相位响应和脉冲响应图。
MATLAB参考程序:Wp=30;Ws=50;Rp=1;As=30; %技术指标Ripple=10^(-Rp/20);Attn=10^(-As/20);[b,a]=afd_butt(Wp,Ws,Rp,As) %巴特沃兹低通滤波器子程序[db,mag,pha,w]=freqs_m(b,a,50); %计算幅频响应[ha,x,t]=impulse(b,a); %计算模拟滤波器的单位脉冲响应figure(1);clf;subplot(2,2,1);plot(w,mag);title('Magnitude Response'); xlabel('Analog frequency in rad/s'); ylabel('H');axis([0,50,0,1.1]);grid;subplot(2,2,2);plot(w,db);title('Magnitude in dB'); xlabel('Analog frequency in rad/s');ylabel('decibels');axis([0,50,-40,5])gridsubplot(2,2,3);plot(w,pha/pi);title('Phase Response'); xlabel('Analog frequency in rad/s');ylabel('radians');axis([0,50,-1.1,1.1])gridsubplot(2,2,4);plot(t,ha);title('Impulse Response'); xlabel('time in seconds');ylabel('ha(t)');axis([0,max(t)+0.05,min(ha),max(ha)+0.025]);grid%巴特沃兹模拟滤波器的设计子程序function[b,a]=afd_butt(Wp,Ws,Rp,As);if Wp<=0error('Passband edge must be larger than 0')endif Ws<=Wperror('Stopband edge must be larger than Passed edge')endif (Rp<=0)|(As<0)error('PB ripple and /0r SB attenuation must be larger than 0') endN=ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(Wp/Ws))); OmegaC=Wp/((10^(Rp/10)-1)^(1/(2*N)));[b,a]=u_buttap(N,OmegaC);%设计非归一化巴特沃兹模拟低通滤波器原型子程序function [b,a]=u_buttap(N,OmegaC);G p的极点、零点及增益。
[z,p,k]=buttap(N); z、p和k分别是设计出的()p=p*OmegaC; %非归一化k=k*OmegaC^N;B=real(poly(z));b0=k;b=k*B; 分子向量a=real(poly(p));分母向量%计算系统函数的幅度响应和相位响应子程序function [db,mag,pha,w]=freqs_m(b,a,wmax);w=[0:1:500]*wmax/500;H=freqs(b,a,w);mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);例2设计如下指标的数字低通滤波器。
相应的MATLAB程序如下:fp=100;fst=300;Fs=1000;rp=3;rs=20;wp=2*pi*fp/Fs;ws=2*pi*fst/Fs;Fs=Fs/Fs; % let Fs=1wap=tan(wp/2);was=tan(ws/2); 预畸变公式[n,wn]=buttord(wap,was,rp,rs,'s') ;设计等效模拟滤波器[z,p,k]=buttap(n);[bp,ap]=zp2tf(z,p,k) 设计模拟低通原型滤波器[bs,as]=lp2lp(bp,ap,wap) ;将模拟低通原型滤波器转换为低通滤波器[bz,az]=bilinear(bs,as,Fs/2) 实现双线性变换,即由模拟滤波器()s H得到数字滤波器[h,w]=freqz(bz,az,256,Fs*1000);plot(w,abs(h));grid on;调试运行该程序,运行结果如下:bp=[1,0,0],ap=[1,1.4142,1],bs=[0.1056,0,0],as=[1,0.4595,0.1056]bz=[0.0675,0.1349,0.06745],az=[1,-1.143,0.4128]4.实验用MATLAB函数介绍在实验过程中,MATLAB函数命令有数字滤波器函数[N,Wn]=buttord(Wp,Ws,Rp,Rs)、模拟滤波器函数[N,Wn]=buttord(Wp,Ws,Rp,Rs,‘s’)。
式中Wp,Ws分别上通带和阻带的截止频率,实际上它们是归一化频率,其值在0~1之间,Rp,Rs分别是通带和阻带的衰减,单位为dB。
N是求出的相应低通滤波器的阶次,Wn是求出的3dB频率,第二个式子的单位为rad/s,因此,它们实际上是频率。
G p,其调用格式是[z,p,k]=buttap(N) N是欲设用来设计模拟低通原型滤波器()G p的极点、零点及增益。
计的低通原型滤波器的阶次,z、p和k分别是设计出的()G p分别转换为低通、高通、带通、及带阻以下4个文件用来将模拟低通原型滤波器()滤波器。
其调用格式分别是(1)[B,A]=lp2lp(b,a,Wo) 或[B,A]=lp2hp(b,a,Wo)(2)[B,A]=lp2bp(b,a,Wo,Bw) 或[B,A]=lp2bs(b,a,Wo,Bw)G p有分子、分母多项式的系数向量,B,A式中b,a分别是模拟低通原型滤波器()分别是转换后的()s H有分子、分母多项式的系数向量;在格式(1)中,Wo是低通或高通滤波器的截止频率;在格式(2)中Wo是带通或带阻滤波器的中心频率,Bw是其带宽。
实现双线性变换,即由模拟滤波器()s H得到数字滤波器()z H。
其调用格式是[Bz,Az]=bilinear(B,A,Fs)式中B、A分别是()s H的分子、分母多项式的系数向量;Bz、Az分别是()z H的分子、分母多项式的系数向量,Fs是抽样频率。
5.思考题(1)IIR滤波器设计步骤。
(2)对实验过程中所涉及的问题进行分析,试编写和修改相应的程序,得出最终正确的结果和波形图,并对实验报告进行整理分析。
(3)设计低通数字滤波器,要求在通带内频带低于rad π2.0时,允许幅度误差在1dB 以内,在频率rad rad ππ~3.0之间的阻带衰减大于15dB 。
用双线性设计数字滤波器,1=T ,模拟滤波器采用巴特沃兹滤波器原型。
>> rp=1;rs=15;>> wp=0.2*pi;ws=0.3*pi;>> Fs=1;>> wap=tan(wp/2);was=tan(ws/2);>> [n,wn]=buttord(wap,was,rp,rs,'s');>> [z,p,k]=buttap(n);>> [bp,ap]=zp2tf(z,p,k);>> [bs,as]=lp2lp(bp,ap,wap);>> [bz,az]=bilinear(bs,as,Fs/2);>> [h,w]=freqz(bz,az,256);>> plot(w,abs(h));grid on;(4)设计一个巴特沃兹高通滤波器,要求通带截止频率为π6.0,通带内衰减不大于1dB,T。