实验四IIR 数字滤波器 设计及软件实现.doc
实验四 IIR 数字滤波器 设计及软件实现1.实验目的1熟悉用双线性变换法设计IIR数字滤波器的原理与方法;2学会调用MATLAB信号处理工具箱中滤波器设计函数或滤波器设计分析工具fdatool设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。3掌握IIR数字滤波器的MATLAB实现方法。4通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。2.实验内容及步骤1调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图10.4.1所示。由图可见,三路信号时域混叠无法在时域分离。但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。三路调幅信号st的时域波形和幅频特性曲线2要求将st中三路调幅信号分离,通过观察st的幅频特性曲线,分别确定可以分离st中三路抑制载波单频调幅信号的三个滤波器低通滤波器、带通滤波器、高通滤波器的通带截止频率和阻带截止频率。要求滤波器的通带最大衰减为0.1dB,阻带最小衰减为60dB。提示抑制载波单频调幅信号的数学表示式为其中,称为载波,fc为载波频率,称为单频调制信号,f0为调制正弦波信号频率,且满足。由上式可见,所谓抑制载波单频调幅信号,就是2个正弦信号相乘,它有2个频率成分和频和差频,这2个频率成分关于载波频率fc对称。所以,1路抑制载波单频调幅信号的频谱图是关于载波频率fc对称的2根谱线,其中没有载频成分,故取名为抑制载波单频调幅信号。容易看出,图10.4.1中三路调幅信号的载波频率分别为250Hz、500Hz、1000Hz。如果调制信号mt具有带限连续频谱,无直流成分,则就是一般的抑制载波调幅信号。其频谱图是关于载波频率fc对称的2个边带上下边带,在专业课通信原理中称为双边带抑制载波DSB-SC调幅信号,简称双边带DSB信号。如果调制信号mt有直流成分,则就是一般的双边带调幅信号。其频谱图是关于载波频率fc对称的2个边带上下边带,并包含载频成分。3编程序调用MATLAB滤波器设计函数ellipord和ellip分别设计这三个椭圆滤波器,并绘图显示其幅频响应特性曲线。4调用滤波器实现函数filter,用三个滤波器分别对信号产生函数mstg产生的信号st进行滤波,分离出st中的三路不同载波频率的调幅信号y1n、y2n和y3n,并绘图显示y1n、y2n和y3n的时域波形,观察分离效果。3.实验程序functionmyplotB,A计算时域离散系统损耗函数并绘图H,WfreqzB,A,1000;mabsH;plotW/pi,20*log10m/maxm;gridon;xlabelomega/pi;ylabel幅度db;axis0,1,-80,5;title损耗函数曲线;functiontplotxn,T,yn时域序列连续曲线绘图xn信号数据序列;yn绘图信号的纵坐标名称n0lengthxn-1;tn*T;plott,xn;xlabelt/s;ylabelyn;axis0,tend,minxn,1.2*maxxn;functionstmstg产生信号序列向量st,并显示st的时域波形和频谱stmstg返回三路调幅信号相加形成的混合信号,长度N1600N1600N为信号st的长度。Fs10000;T1/Fs;TpN*T;采样频率Fs10kHz,Tp为采样时间t0TN-1*T;k0N-1;fk/Tp;fc1Fs/10;第1路调幅信号的载波频率fc11000Hz,fm1fc1/10;第1路调幅信号的调制信号频率fm1100Hzfc2Fs/20;第2路调幅信号的载波频率fc2500Hzfm2fc2/10;第2路调幅信号的调制信号频率fm250Hzfc3Fs/40;第3路调幅信号的载波频率fc3250Hz,fm3fc3/10;第3路调幅信号的调制信号频率fm325Hzxt1cos2*pi*fm1*t.*cos2*pi*fc1*t;产生第1路调幅信号xt2cos2*pi*fm2*t.*cos2*pi*fc2*t;产生第2路调幅信号xt3cos2*pi*fm3*t.*cos2*pi*fc3*t;产生第3路调幅信号stxt1xt2xt3;三路调幅信号相加fxtfftst,N;计算信号st的频谱以下为绘图部分,绘制st的时域波形和幅频特性曲线subplot2,1,1plott,st;grid;xlabelt/s;ylabelst;axis0,Tp/8,minst,maxst;titleast的波形subplot2,1,2stemf,absfxt/maxabsfxt,.;grid;titlebst的频谱axis0,Fs/5,0,1.2;xlabelf/Hz;ylabel幅度IIR数字滤波器设计及软件实现clearall;closeallFs10000;T1/Fs;采样频率调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号ststmstg;低通滤波器设计与实现fp280;fs450;wp2*fp/Fs;ws2*fs/Fs;rp0.1;rs60;DF指标低通滤波器的通、阻带边界频N,wpellipordwp,ws,rp,rs;调用ellipord计算椭圆DF阶数N和通带截止频率wpB,AellipN,rp,rs,wp;调用ellip计算椭圆带通DF系统函数系数向量B和Ay1tfilterB,A,st;滤波器软件实现低通滤波器设计与实现绘图部分figure2;subplot2,1,1;myplotB,A;调用绘图函数myplot绘制损耗函数曲线yty_1ttploty1t,T,yt;调用绘图函数tplot绘制滤波器输出波形带通滤波器设计与实现fpl440;fpu560;fsl275;fsu900;wp2*fpl/Fs,2*fpu/Fs;ws2*fsl/Fs,2*fsu/Fs;rp0.1;rs60;N,wpellipordwp,ws,rp,rs;调用ellipord计算椭圆DF阶数N和通带截止频率wpB,AellipN,rp,rs,wp;调用ellip计算椭圆带通DF系统函数系数向量B和Ay2tfilterB,A,st;滤波器软件实现figure3;subplot2,1,1;myplotB,A;subplot2,1,2;yty_2t高通滤波器设计与实现fp890;fs600;wp2*fp/Fs;ws2*fs/Fs;rp0.1;rs60;DF指标低通滤波器的通、阻带边界频N,wpellipordwp,ws,rp,rs;调用ellipord计算椭圆DF阶数N和通带截止频率wpB,AellipN,rp,rs,wp,high;调用ellip计算椭圆带通DF系统函数系数向量B和Ay3tfilterB,A,st;滤波器软件实现figure4;subplot2,1,1;myplotB,A;subplot2,1,2;yty_3t4.实验结果与分析三路调幅信号st的时域波形和幅频特性曲线a低通滤波器损耗函数及其分离出的调幅信号y1tb带通滤波器损耗函数及其分离出的调幅信号y2tc高通滤波器损耗函数及其分离出的调幅信号y3t分析滤波器参数选取观察图可知,三路调幅信号的载波频率分别为250Hz、500Hz、1000Hz。带宽也可以由信号产生函数mstg清单看出分别为50Hz、100Hz、200Hz。所以,分离混合信号st中三路抑制载波单频调幅信号的三个滤波器低通滤波器、带通滤波器、高通滤波器的指标参数选取如下对载波频率为250Hz的条幅信号,可以用低通滤波器分离,其指标为带截止频率Hz,通带最大衰减dB;阻带截止频率Hz,阻带最小衰减dB,对载波频率为500Hz的条幅信号,可以用带通滤波器分离,其指标为带截止频率Hz,Hz,通带最大衰减dB;阻带截止频率Hz,Hz,Hz,阻带最小衰减dB,对载波频率为1000Hz的条幅信号,可以用高通滤波器分离,其指标为带截止频率Hz,通带最大衰减dB;阻带截止频率Hz,阻带最小衰减dB,说明1为了使滤波器阶数尽可能低,每个滤波器的边界频率选择原则是尽量使滤波器过渡带宽尽可能宽。2与信号产生函数mstg相同,采样频率Fs10kHz。3为了滤波器阶数最低,选用椭圆滤波器。5.思考题与实验体会1请阅读信号产生函数mstg,确定三路调幅信号的载波频率和调制信号频率。答在分析中已经提到2信号产生函数mstg中采样点数N800,对st进行N点FFT可以得到6根理想谱线。如果取N1000,可否得到6根理想谱线为什么N2000呢请改变函数mstg中采样点数N的值,观察频谱图验证您的判断是否正确。答分析发现,st的每个频率成分都是25Hz的整数倍。采样频率Fs10kHz25400Hz,即在25Hz的正弦波的1个周期中采样400点。所以,当N为400的整数倍时一定为st的整数个周期。因此,采样点数N800和N2000时,对st进行N点FFT可以得到6根理想谱线。如果取N1000,不是400的整数倍,不能得到6根理想谱线。3修改信号产生函数mstg,给每路调幅信号加入载波成分,产生调幅AM信号,重复本实验,观察AM信号与抑制载波调幅信号的时域波形及其频谱的差别。实验体会通过这次实验,我对IIR数字滤波器设计特别是MATLAB的使用有了更深一步的了解,以前对绘图很不熟悉,因此对实验的实现很困难,通过查资料,掌握了基本方法,当然,滤波器的设计也很重要,这才是本次实验的灵魂,但是,老师平时在这方面投入较大,因此问题不大。