数字信号处理第七章.docx
《数字信号处理第七章.docx》由会员分享,可在线阅读,更多相关《数字信号处理第七章.docx(4页珍藏版)》请在冰豆网上搜索。
数字信号处理第七章
数字信号处理第七章
第七章数字滤波器设计 :
无限冲激响应滤波器的阶数的估计 用MATTAB确定一个数字无限冲激响应低通滤波器所有四种类型的最低阶数。
指标如下:
40kHz的抽样率,,4kHz的通带边界频率,8kHz的阻带边界频率,dB的通带波纹,40dB的最小阻带衰减。
评论你的结果。
答:
标准通带边缘角频率Wp是:
标准阻带边缘角频率Ws是:
理想通带波纹Rp是理想阻带波纹Rs是40dB 1.使用这些值得到巴特沃斯低通滤波器最低阶数N=8,相应的标准通带边缘频率Wn是 2.使用这些值得到切比雪夫1型低通滤波器最低阶数N=5,相应的标准通带边缘频率Wn是 3/使用这些值得到切比雪夫2型低通滤波器最低阶数N=5,相应的标准通带边缘频率Wn是 4.使用这些值得到椭圆低通滤波器最低阶数N=8,相应的标准通带边缘频率Wn是从以上结果中观察到椭圆滤波器的阶数最低,并且符合要求。
用MATLAB确定一个数字无限冲激响应高通滤波器所有四种类型的最低阶数。
指标如下:
3500Hz的抽样率,1050Hz的通带边界频率,600Hz的阻带边界频率,1dB的通带波纹,50dB的最小阻带衰减。
评论你的结果答:
标准通带边缘角频率Wp是:
标准阻带边缘角频率Ws是:
理想通带波纹Rp是1dB理想阻带波纹Rs是50dB 1.使用这些值得到巴特沃斯高通滤波器最低阶数N=8,相应的标准通带边缘频率Wn是 2.使用这些值得到切比雪夫1型高通滤波器最低阶数N=5,相应的标准通带边缘频率Wn是 3.使用这些值得到切比雪夫2型高通滤波器最低阶数N=5,相应的标准通带边缘频率Wn是 4.使用这些值得到椭圆低通滤波器最低阶数N=4,相应的标准通带边缘频率Wn是从以上结果中观察到椭圆滤波器的阶数最低,并且符合要求。
用MATLAB确定一个数字无限冲激响应带通滤波器所有四种类型的最低阶数。
指标如下:
7kHz的抽样率,kHz和kHz的通带边界频率,kHz和kHz的阻带边界频率,,0.4dB的通带波纹,50dB的最小阻带衰减。
评论你的结果。
答:
标准通带边缘角频率Wp是:
标准阻带边缘角频率Ws是:
理想通带波纹Rp是理想阻带波纹Rs是50dB 1.使用这些值得到巴特沃斯带通滤波器最低阶数2N=18,相应的标准通带边缘频率Wn是[]. 2.使用这些值得到切比雪夫1型带通滤波器最低阶数2N=12,相应的标准通带边缘频率Wn是[]. 3.使用这些值得到切比雪夫2型带通滤波器最低阶数2N=12,相应的标准通带边缘频率Wn是[]. 4.使用这些值得到椭圆带通滤波器最低阶数2N=8,相应的标准通带边缘频率Wn是[]. 从以上结果中观察到椭圆滤波器的阶数最低,并且符合要求。
用MATLAB确定一个数字无限冲激响应带阻滤波器所有四种类型的最低阶数。
指标如下:
12kHz的抽样率,kHz和kHz的通带边界频率,kHz和kHz的阻带边界频率,dB的通带波纹,45dB的最小阻带衰减。
评论你的结果。
答:
标准通带边缘角频率Wp是:
标准阻带边缘角频率Ws是:
理想通带波纹Rp是理想阻带波纹Rs是45dB 1.使用这些值得到巴特沃斯带阻滤波器最低阶数2N=18,相应的标准通带边缘频率Wn是[]. 2.使用这些值得到切比雪夫1型带阻滤波器最低阶数2N=10,相应的标准通带边缘频率Wn是[]. 3.使用这些值得到切比雪夫2型带阻滤波器最低阶数2N=10,相应的标准通带边缘频率Wn是[]. 4.使用这些值得到椭圆带阻滤波器最低阶数2N=8,相应的标准通带边缘频率Wn是[]. 从以上结果中观察到椭圆滤波器的阶数最低,并且符合要求。
:
无限冲激响应滤波器设计 程序说明巴特沃斯带阻滤波器的设计。
%巴特沃斯带阻滤波器的设计 Ws=[];Wp=[];Rp=;Rs=50;%估计滤波器的阶数 [N1,Wn1]=buttord(Wp,Ws,Rp,Rs);%设计滤波器 [num,den]=butter(N1,Wn1,’stop’);%显示传输函数 disp(‘分子系数是‘);disp(num);disp(‘分母系数是‘);disp(den);%计算增益响应 [g,w]=gain(num,den);%绘制增益响应 plot(w/pi,g);gridaxis([01-605]); xlabel(‘\\omega/\\pi’);ylabel(‘增益,dB’);title(‘巴特沃斯带阻滤波器的增益响应’); 通过运行程序P7.1来设计巴特沃兹带阻滤波器。
写出所产生的传输函数的准确表达式。
滤波器的指标是什么,你的设计符合指标吗,使用MATLAB,计算并绘制滤波器的未畸变的相位响应及群延迟响应。
答:
表达式是:
滤波器参数是:
Wp1=π,Ws1=π,Ws2=π,Wp2=π,Rp=,Rs=50dB.设计的滤波器增益响应如下:
从图中可以总结出设计符合指标。
滤波器的未畸变的相位响应及群延迟响应如下:
修改程序来设计符合习题所给指标的切比雪夫1型低通滤波器。
写出所产生的传输函数的准确表达式。
你的设计符合指标吗?
使用MATLAB,计算并绘制滤波器的未畸变的相位响应及群延迟响应。
答:
表达式如下:
设计的滤波器增益响应如下:
从图中可以总结出设计符合指标。
滤波器的未畸变的相位响应及群延迟响应如下:
修改程序来设计符合习题所给指标的切比雪夫2型高通滤波器。
写出所产生的传输函数的准确表达式。
你的设计符合指标吗?
使用MATLAB,计算并绘制滤波器的未畸变的相位响应及群延迟响应。
答:
表达式如下:
设计的滤波器增益响应如下:
从图中可以总结出设计符合指标。
滤波器的未畸变的相位响应及群延迟响应如下:
修改程序来设计符合习题所给指标的椭圆带通滤波器。
写出所产生的传输函数的准确表达式。
你的设计符合指标吗,使用MATLAB,计算井绘制滤波器的未畸变的相位响应及群延迟响应。
答:
表达式如下:
设计的滤波器增益响应如下:
从图中可以总结出设计符合指标。
滤波器的未畸变的相位响应及群延迟响应如下:
:
吉布斯现象 使用函数sinc编写一个MATLAB程序,以产生截止频率在Wc=π处、长度分别为81,61,41和21的四个零相位低通滤波器的冲激响应系数,然后计算并画出它们的幅度响应。
使用冒号“:
”运算符从长度为81的滤波器的冲激响应系数中抽出较短长度滤波器的冲激响应系数。
在每一个滤波器的截止频率两边研究频率响应的摆动行为。
波纹的数量与滤波器的长度之间有什么关系?
最大波纹的高度与滤波器的长度之间有什么关系?
你将怎样修改上述程序以产生一个偶数长度的零相位低通滤波器的冲激响应系数?
答:
长度为81时幅度响应如下:
长度分别为61,41和21的幅度响应如下:
从中可以观察到于吉布斯现象产生的幅度响应的摆动行为。
波纹的数量与滤波器的长度之间的关系——波纹的数量减少与长度成正比。
最大波纹的高度与滤波器的长度之间的关系——最大波纹的高度与长度无关。
使用函数sinc编写一个MATLAB程序,以产生一个截止频率在Wc=π处、长度为45的零相位高通滤波器的冲激响应系数,计算并画出其幅度响应。
在每一个滤波器的截止频率两边研究频率响应的摆动行为。
你将怎样修改上述程序以产生一个偶数长度的零相位高通滤波器的冲激响应系数?
答:
长度为45时幅度响应如下:
从中可以观察到于吉布斯现象产生的幅度响应摆动行为。
在这种情况下你不能改变长度。
原因:
这是一个零相位滤波器,这意味着它也是一个线性相位滤波器,因为零相是一种特殊的线性相位的子集。
现在,理想的有限脉冲响应长度甚至有对称的中点h[n]。
使其成了一个线性相位FIR滤波器。
二型滤波器不可能是高通滤波器,因为必须在z=-1处有零点,意味着w=+-π。
编写一个MATLAB程序,以产生长度分别为81,61,41和21的四个零相位微分器的冲激响应系数,计算并画出它们的幅度响应。
下面的代码段显示了怎样产生一个长度为2M+1的微分器。
n=1:
M; b=cos(pi*n)./n; num=[-fliplr(b)0b]; 对于每种情况,研究微分器的频率响应的摆动行为。
波纹的数量与微分器的长度之间有什么关系,最大波纹的高度与滤波器的长度之间有什么关系?
答:
幅度响应分别如下:
从中可以观察到于吉布斯现象产生的幅度响应的摆动行为。
波纹的数量与微分器的长度之间的关系——两者成正比。
最大波纹的高度与滤波器的长度之间的关系——两者间没有关系。
编写一个MA11AB程序,以产生长度分别为81,和21的四个离散时间希尔伯特变换器的冲激响应系数,计算并画出它们的幅度响应。
下面的代码段显示了怎样产生一个长度为2M十1的希尔伯特变换器。
n=1:
M; c=sin(pi*n)./2;b=2*(c.*c)./(pi*n);num=[-fliplr(b)0b];对于每种情况,研究希尔伯特变换器的频率响应的摆动行为。
波纹的数量与希尔伯特变换器的长度之间有什么关系?
最大波纹的高度与滤波器的长度之间有什么关系?
答:
幅度响应如下:
从中可以观察到于吉布斯现像产生的幅度响应的摆动行为。
波纹的数量与希尔伯特变换器的长度之间的关系——两者成正比。
最大波纹的高度与滤波器的长度之间的关系——两者无关系。
:
有限冲激响应滤波器的阶数估计 线性相位低通FIR滤波器的阶数估算,参数如下:
?
p=2kHz,?
s=kHz,?
p=,?
s=,FT=10kHz使用kaiord的结果为N=46 使用ceil命令的目的是朝正方向最接近整数方向取整。
使用nargin命令的目的是表明函数M文件体内变量的数目。
(a)线性相位FIR滤波器的阶数估算,其中采样频率改为FT=20kHz,则结果为N=91。
(b)线性相位FIR滤波器阶数的估计,其中通带波纹改成?
p=和?
s=结果为N=57。
(c)线性相位FIR滤波器的阶数估算,其中阻带宽度改成?
s=kHz,结果为N=76.从上述结果和的对比我们可以观察到:
滤波器阶数和采样频率的关系为–对于一个给定的模拟过渡带宽,采样频率的增加导致估算阶数也相应增加,朝下一个整数取整。
其中模拟过渡带宽|Fp-Fs|和Δω的关系:
Δω=2pi*|Fp-Fs|/FT。
因此增加FT会减小Δω。
滤波器阶数和通带波纹宽度的关系为估计的阶数大致和log成比例的扩散。
滤波器阶数和过渡带宽度的关系为在舍入的时候,阶数随着过渡带宽成比例的改变。
有两个因素增加过渡带宽来分割顺序。
线性相位FIR低通滤波器阶数的估算,其中滤波器满足给的规格,使用kaiserord的结果为N=54 正确结果:
kaiserord([20002500],[10],[],10000) 将上述结果和比较我们观察到:
用凯瑟来估算阶数是较小的。
因为凯瑟使用了一个不同的近似估计。
这种估计经常和FIR设计的凯瑟窗一起用。
线性相位FIR低通滤波器的阶数估算满足的规格和中的一样,使用remezord函数的结果为N=47. 正确结果:
firpmord([20002500],[10],[],10000)通过和和比较我们可以观察到:
在这里,firpmord给了一个比凯尔更大比凯瑟更小一点的结果。
使用凯尔则更接近与一般情况。
而使用凯瑟和firpmord则有专门的用途。
线性相位带通FIR滤波器的阶数估算满足如下规格:
通带边界为和,阻带边界为到,通带波纹?
p=,阻带波纹?
s=,FT=12kHz。
使用kaiord函数求得的结果为:
通带波纹δp=,得到的结果为:
kaiord([18003600],[12004200],,,12000),N=20。
但是当δp=时结果为:
kaiord([18003600],[12004200],,,12000),得到的N=33。
所以答案不唯一,可以选择其中一个。
线性相位带通FIR滤波器的阶数估算,其中FIR滤波器的规格和一样,则使用kaiserord的结果为同样,它也有矛盾。
当使用δp=时,得到的结果为:
kaiserord([1200
F=[0WpWs1];A=[1100];h=firpm(N,F,A); %ShowtheNumeratorCoefficients disp(‘NumeratorCoefficientsare‘);disp(h);%Computeandplotthegainresponse[g,w]=gain(h,[1]);figure
(1); plot(w/pi,g);grid; xlabel(‘\\omega/\\pi’);ylabel(‘GainindB’);title(‘GainResponse’); %Computethefrequencyresponsew2=0:
pi/511:
pi;Hz=freqz(h,[1],w2); %TEST:
didwemeetthespec?
MagH=abs(Hz); T1=*ones(1,length(w2));T2=*ones(1,length(w2));T3=*ones(1,length(w2));figure(4); plot(w2/pi,MagH,w2/pi,T1,w2/pi,T2,w2/pi,T3);grid;%Findandplotthephasefigure
(2); Phase=angle(Hz); plot(w2/pi,Phase);grid; xlabel(‘\\omega/\\pi’);ylabel(‘Phase(rad)’);title(‘PhaseResponse’);figure(3); UPhase=unwrap(Phase);plot(w2/pi,UPhase);grid; xlabel(‘\\omega/\\pi’);ylabel(‘UnwrappedPhase(rad)’);title(‘UnwrappedPhaseResponse’);低通滤波器系数:
------- ---- ---- -------增益和相位响 从图中可以看出此时的滤波器不满足指标。
欲满足指标,应调节N=47.用凯泽窗设计一个有限冲激响应低通滤波器。
程序:
%ProgramQ7_23 %UseKaiserwindowtodesignalinearphaseLowpass %FIRDigitalFiltermeetingthedesignspecificationgiven%in % %ItisclearfromthestatementofthequestionthatMitra%wantsustouse()and()forthisproblem.That %isn’tthegreatestthingtotrybecausekaiserordalreadydoes%exactlywhatweneed....butthat’sQ7_24!
Soheregoes!
%-PrintoutthenumeratorcoefficKaiserwindowdesignhasequalripplein%passbandandstopband. %estimateorderusing()ifAs>21 N=ceil(()*2/(*(abs(Wp-Ws)))+1)else N=ceil(*2/abs(Wp-Ws)+1)end %Use()togetBetaifAs>50 BTA=*();elseifAs>=21 BTA=*(As-21)—*(As-21);elseBTA=0;end Win=kaiser(N+1,BTA);h=fir1(N,Wn,Win); %ShowtheNumeratorCoefficients disp(‘NumeratorCoefficientsare‘);disp(h);%Computeandplotthegainresponse[g,w]=gain(h,[1]);figure
(1); plot(w/pi,g);grid;axis([01-805]); xlabel(‘\\omega/\\pi’);ylabel(‘GainindB’);title(‘GainResponse’); %Computethefrequencyresponse w2=0:
pi/511:
pi;Hz=freqz(h,[1],w2);%Findandplotthephasefigure
(2); Phase=angle(Hz); plot(w2/pi,Phase);grid; xlabel(‘\\omega/\\pi’);ylabel(‘Phase(rad)’);title(‘PhaseResponse’);figure(3); UPhase=unwrap(Phase);plot(w2/pi,UPhase);grid; xlabel(‘\\omega/\\pi’);ylabel(‘UnwrappedPhase(rad)’);title(‘UnwrappedPhaseResponse’);低通滤波器系数:
-- --- ------ --- --- ------ --- -- 增益和相位响应如下:
从图中可以看出设计的滤波器满足要求。
N=60. 用函数kaiserord和firl重做习题 程序:
%UseKaiserwindowtodesignalinearphaseLowpass %FIRDigitalFiltermeetingthedesignspecificationgiven%inUsekaiserordandfir1. %-Printoutthenumeratorcoefficients%forthetransferfunction. %-Computeandplotthegainfunction. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%theNumeratorCoefficients disp(‘NumeratorCoefficientsare‘);disp(h);%Computeandplotthegainresponse[g,w]=gain(h,[1]);figure
(1); plot(w/pi,g);grid;axis([01-805]); xlabel(‘\\omega/\\pi’);ylabel(‘GainindB’);title(‘GainResponse’); %Computethefrequencyresponsew2=0:
pi/511:
pi;Hz=freqz(h,[1],w2);%Findandplotthephasefigure
(2); Phase=angle(Hz); plot(w2/pi,Phase);grid; xlabel(‘\\omega/\\pi’);ylabel(‘Phase(rad)’);title(‘PhaseResponse’);figure(3); UPhase=unwrap(Phase);plot(w2/pi,UPhase);grid; xlabel(‘\\omega/\\pi’);ylabel(‘UnwrappedPhase(rad)’);