kaiyun全站网页版登录 数字信号处理Matlab实验三 IIR数字滤波器的设计

发布于:25-07-21 播放次数:

xxxx大学xxxx学院的课程中,数字信号处理这一课程的具体信息如下:班级为数字信号处理,学生姓名及学号待填写,实验将在指定地点进行,具体日期另行通知。实验项目名为“iir数字滤波器的设计”。实验旨在深化对iir数字滤波器在时域和频域特性的认识,学习其设计原理和方法,并了解其在实际应用中的运用。实验涉及的内容是:IIR数字滤波器通常是一种线性、移不变且具有因果特性的离散系统。这类滤波器的系统函数可用有理多项式来表示,其中至少包含一个非零系数。对于因果性的IIR数字滤波器,必须满足特定条件。设计IIR数字滤波器的过程,主要是通过运用成熟的模拟滤波器设计技术来完成的。首先,需将数字滤波器的性能要求在频域内转化为模拟滤波器的性能要求;接着,以某个模拟滤波器作为基准,构建出模拟低通滤波器的性能标准;最后,依据这些模拟滤波器的设计原则。

利用指标进行模拟低通滤波器的构建,随后通过相应的复频域转换得到h(s),最终通过脉冲响应不变法或双线性变换法,将h(s)转化为所需的iiir数字滤波器h(z)。由此可以明显看出,模拟滤波器的设计是iir数字滤波器设计过程中的关键步骤。设计低通滤波器的主要途径包括巴特沃斯、切比雪夫以及椭圆型等不同滤波器的设计策略。实验步骤一:巴特沃斯数字滤波器的设计——巴特沃斯滤波器是一种在通带和阻带均呈现单调递减特性的滤波器。使用buttord函数能够计算出巴特沃斯滤波器的阶数,具体操作格式如下:输入参数n和omegac需按照buttord(omegap,omegas,rp,as,s)的顺序提供。这里,omegap和omegas分别代表通带和阻带的截止频率,而rp和as则代表滤波器的性能指标。

具有最高衰减量及最小的阻带衰减量,以分贝为单位;其中,omegap和omegas分别代表通带和阻带的截止频率,而s则表明该滤波器为模拟类型。输出参数包括滤波器的阶数以及3db截止频率omegac。设计巴特沃斯数字滤波器的函数可通过脉冲响应不变法或双线性变换法实现,具体格式分别为:脉冲响应不变法中,系数bd和ad由impinvar函数计算得出,即bd,ad=impinvar(b,

b代表模拟滤波器的分子系数向量,a则指代分母系数向量,fs是采样频率的指标,而bd和ad分别是数字滤波器分子和分母的多项式系数。在双线性变换方法中,bd和ad可以通过bilinear(b,a,fs)这一公式得到,其中参数的解释与impinvar相同。设计Chebyshev I型数字滤波器,旨在用作通带纹波控制器;该滤波器在通带区域展现出纹波特性,而在阻带区域则表现出单调递减的衰减趋势。其格式与cheb1ord函数中的omegap、omegas、rp、as、s等参数相对应,与buttord和buttap函数中的参数含义相同。z0、p0、k0则由cheb1ap函数根据n和rp计算得出。3. chebyshev

设计Chebyshev II型数字滤波器,旨在用作阻带纹波控制器;该滤波器在阻带区域表现出纹波特性,而在通带区域则呈现单调递减的趋势。实验中,我们首先通过cheb2ord函数确定了滤波器的阶数omegac,接着利用cheb2ap函数计算了滤波器的系数z0、p0和k0。具体参数设置如下:数字通带频率wp设为0.4π,数字阻带频率ws设为0.6π,通带波动rp设为0.5,阻带波动as设为50,采样频率fs设定为1000Hz。根据这些参数,我们计算出了原型通带频率omegap和原型阻带频率omegas,其中omegap等于wp乘以fs云开·全站体育app登录,omegas等于ws乘以fs。此外,我们还计算了通带波动参数ep,其值为sqrt(10(rp/10)-1)。

6、计算通带波动衰减系数为sqrt(1/(1+ep*ep));阻带衰减系数为1/(10(as/20));模拟巴特沃斯原型滤波器,首先通过buttord函数计算原型滤波器的阶数n和截止频率omegac;接着,使用buttap函数获取归一化巴特沃斯原型设计函数的零点z0、极点p0和增益k0;然后,将零点和极点分别乘以omegac,得到非归一化零极点;再将增益k乘以实部多项式(z),得到分子系数向量kba;最后,对极点p进行实部计算,得到分母系数aa。

向量bd和ad通过impinvar函数对ba和aa进行脉冲响应不变性处理;使用freqz函数计算bd和ad的频率响应,得到h和w,其中h和w仅取前一半值并转换为列向量;计算幅特性mag,将幅值求绝对值;将幅值转换为分贝值db,公式为20*log10(mag+eps)/max(mag);计算相特性pha;通过grpdelay函数计算群延迟grd;在2x2子图的第一个子图中绘制w/pi与mag的关系图,标题为“幅度响应”,x轴无标签,y轴标签为|h|;

设置参数为(0,1,0,1.1),将当前坐标轴的横坐标刻度模式设置为手动,并指定刻度为0,0.4,0.6,1;开启网格线。接着,将纵坐标刻度模式也设置为手动,并设定刻度为0,attn,ripple,1;在2行2列的子图布局中选取第三个子图,绘制w/pi与db的关系图;添加标题“幅度(单位:db)”,并设置横坐标标签为“频率(单位:pi)”,纵坐标标签为“分贝”;调整坐标轴范围为0至1,-100至50;再次将横坐标刻度模式设置为手动,并指定刻度为0,0.4,0.6,1;最后,将纵坐标刻度模式设置为手动,并设定刻度为-100,-5。

在执行以下操作后,设置图表参数:将网格显示开启,手动设置y轴刻度标签为-100、-50、0、50;创建一个2行2列的子图,并选择第二个子图绘制相位响应曲线;曲线的横坐标为w除以π,纵坐标为相位除以π,标题为“相位响应”,x轴和y轴标签分别为空和“单位:π”;调整坐标轴范围为0到1,x轴和y轴的刻度线设置为手动,x轴刻度为0、0.4、0.6、1,y轴刻度为-1、0、1;再次开启网格显示;在第二个2行2列子图的第四个子图中绘制群延迟曲线;标题为“群延迟”,x轴标签为空。

10、设置频率单位为pi,样本作为y轴标签,x轴范围从0到1,y轴范围从0到20。手动设置x轴刻度线为0、0.4、0.6、1,y轴刻度线为0到20,开启网格线。图形背景设置为白色,整个图框背景也为白色。输出图像结果如图3-2所示。在实验代码中,计算原型通带频率omegap为wp乘以fs,原型阻带频率omegas为ws乘以fs,通带波动参数ep为sqrt(10(rp/10)-1),通带波动ripple为sqrt(1/(1+ep*ep)),衰减attn为1除以(1+ep*ep)。

11、0(as/20); %表示阻带衰减的模拟化切比雪夫I型原型滤波器,计算所需的参数n、omega_c,使用cheb1ord函数得到; %计算原型滤波器的阶数和截止频率;z0、p0、k0=cheb1ap(n,rp); %通过归一化切比雪夫I型设计函数,得到归一化的零点、极点和增益k;p=p0*omega_c; %将增益p与omega_c相乘;z=z0*omega_c; %将零点z0与omega_c相乘,得到非归一化的零点;k=k0*omega_c; %将增益k与omega_c相乘,得到非归一化的增益;kba=k*real(poly(z)); %利用零点计算分子系数向量;aa=real(poly(p)); %利用极点计算分母系数向量;bd,ad=impinvar(ba,aa,fs); %调用函数impinvar进行系统归一化处理。

使用脉冲响应不变法,我们首先对函数进行%检验,得到频率响应h和w,其中w=freqz(bd,ad,1000,whole);接着,我们提取前半部分数据,将其转换为列向量,得到幅特性mag=abs(h);然后,将其转换为分贝值,计算公式为db=20*log10(mag+eps)/max(mag);随后,计算相特性pha=angle(h);再求出群延迟grd=grpdelay(bd,ad,w);最后,在2x2的子图中绘制幅度响应,标题为“幅度响应”,x轴标签为空,y轴标签为|h|,设置坐标轴范围为0到1,y轴范围为0到1.1,并调整x轴的刻度模式。

设置刻度线为手动模式,并将x轴刻度设定为0、0.4、0.6、1;开启网格线;调整y轴刻度,使其为-100、-50、0、50;再次开启网格;为图表添加标题“幅度(单位:db)”,并标注x轴为“频率(单位:pi)”,y轴为“分贝”;调整坐标轴范围为0至1,y轴范围为-100至50;再次手动设置x轴刻度,确保其显示为0、0.4、0.6、1;再次开启网格线;设置y轴刻度线为手动模式。

在belmode和manual模式下,设置yticklabels为-100、-50、0、50,并在子图2,2的第2个位置绘制相位响应曲线。横坐标为w除以π,纵坐标为pha除以π。标题为“相位响应”,横轴标签为空,纵轴标签为“单位:π”。调整坐标轴范围为0到1,横轴和纵轴的显示范围分别为-1到1。手动设置x轴的刻度模式为manual,刻度为0、0.4、0.6、1kaiyun全站网页版登录,并手动设置y轴的刻度模式为manual,刻度为-1、0、1。开启网格线。在子图2,2的第4个位置绘制群延迟曲线。横坐标为w除以π,纵坐标为grd。标题为“群延迟”,横轴标签为“频率(单位:π)”,纵轴标签为“样本”。

设置刻度线范围为0至1,步长为0.2;手动设置y轴刻度线,从0到20,每隔2个单位一个刻度;开启网格线;将图形框的背景颜色设置为白色;输出图像,结果如图3-3所示。定义数字通带频率为0.4π,数字阻带频率为0.6π,通带波动为0.5(dB),阻带波动为50(dB);根据模拟原型指标进行频率逆映射;采样频率为1000Hz,时间间隔为1/1000秒;计算原型通带频率预修正值为2t乘以tan(wp/2);计算原型阻带频率预修正值为2除以时间间隔乘以tan(ws/2)。

对原型滤波器的阻带频率进行预修正,计算得到ep值为10(rp/10)-1的平方根;确定通带波动参数ripple,其值为1除以(1加上ep的平方)的平方根;计算阻带衰减系数attn,等于1除以10的(as/20)次方;通过模拟化切比雪夫I型原型滤波器,使用buttord函数计算原型的阶数n和截止频率omegac;接着,利用buttap函数得到归一化切比雪夫I型设计函数的参数p0、z0和k0;将p0乘以omegac得到p值;将z0乘以omegac得到z值,从而得到非归一化的零点极点;最后,将k0乘以omegacnkaiyun.ccm,得到非归一化的kba0。

17、进行零点分析时,计算分子系数向量aa0;同时,确定分母系数向量ba0,其值为k0乘以ba0;针对极点分析,计算分子系数向量aa;分母系数向量ba则通过k乘以ba得出;执行双线性变换,得到bd和ad,即bd,ad=bilinear(ba,aa,fs);对于零点分析的结果,进行双线性变换得到bd1和ad1,即bd1,ad1=bilinear(ba0,aa0,fs/omegac);进入绘图阶段,创建图形窗口figure(1),并在其中设置子图subplot(1,1,1);计算数字系统的频率响应,得到h和w,即h,w=freqz(bd,ad,1000,whole);对频率响应数据进行筛选,取h和w的前500个数据点。

将前半部分数值提取,并将其转换成列向量形式,计算幅值特性得到分贝值,接着获取相位特性。通过计算群延迟,在2x2子图的第一个位置绘制幅度响应图,标题为“幅度响应”,横纵坐标分别标注为|h|,设置坐标轴范围为0到1,纵坐标范围为0到1.1,手动设置x轴和y轴的刻度,开启网格线。

在执行了ripple(1)操作后,接着创建了一个2行2列的子图,并选中了第三个子图。在该子图中,绘制了w/pi与db的关系图,并设置了标题为“幅度(单位:db)”,x轴标签为“频率(单位:pi)”,y轴标签为“分贝”。同时,调整了坐标轴的范围为0到1,y轴从-100到50。通过设置gca的xtickmode和xtick属性,手动设置了x轴的刻度线,包括0、0.4、0.6和1。类似地,通过设置ytickmode和ytick属性,手动设置了y轴的刻度线,包括-100、-50、0和50。开启了网格显示,并通过设置yticklabelmode和yticklabels属性,手动设置了y轴的刻度标签。然后,切换到第二个子图,绘制了w/pi与pha/pi的关系图,并添加了标题。

20、绘制相位响应图;设置横轴标签;设置纵轴标签为“单位:pi”;调整坐标轴范围为0至1,-1至1;手动设置横轴刻度;手动设置纵轴刻度;开启网格线;在2行2列的子图布局中,选择第四个子图;绘制频率与群延迟的关系图;添加标题“群延迟”;设置横轴标签为“频率(单位:pi)”;设置纵轴标签为“样本”;调整坐标轴范围为0至1,0至20;手动设置横轴刻度;手动设置纵轴刻度;开启网格线;将图形背景设置为白色;输出图像结果,如下所示:评定成绩。