den = input('Denominator coefficients = '); Numfactors = factorize(num); Denfactors = factorize(den);
disp('Numerator Factors'),disp(Numfactors) disp('Denominator Factors'),disp(Denfactors)
Numerator coefficients = [0.0571 0 -0.1143 0 0.0571] Denominator coefficients = [1.0000 -0.5099 1.2862 -0.3350 0.4479] Numerator Factors Columns 1 through 3
1.000000000000000 1.021143238995107 0 1.000000000000000 0.979294541463240 0 1.000000000000000 -1.021143238995070 0 1.000000000000000 -0.979294541463277 0 Denominator Factors Columns 1 through 3
1.000000000000000 -0.597633166080704 0.678485370310279 1.000000000000000 0.087733166080704 0.660146879504817
Q8.5 生成Q8.1中传输函数的一个并联Ⅰ型实现,并编写一个程序来仿真它。每一个单独的部分用直接Ⅱ型实现。验证仿真。
num = input('Numerator coefficient vector = '); den = input('Denominator coefficient vector = '); [r1,p1,k1] = residuez(num,den); [r2,p2,k2] = residue(num,den); disp('Parallel Form I') disp('Residues are');disp(r1); disp('Poles are at');disp(p1); disp('Constant value');disp(k1); disp('Parallel Form II')
disp('Residues are');disp(r2); disp('Poles are at');disp(p2); disp('Constant value');disp(k2); [b1,a1]=residuez(R1,P1,0); R1=[r1(1) r1(2) r1(3) r1(4)]; P1=[p1(1) p1(2) p1(3) p1(4)]; disp('b1=');disp(b1); disp('a1=');disp(a1);
Numerator coefficient vector = [0.0571 0 -0.1143 Denominator coefficient vector = [1.0000 -0.5099 1.2862 ]
Parallel Form I Residues are
-0.023475623417519 + 0.197736845648730i -0.023475623417519 - 0.197736845648730i -0.011716283258078 - 0.213037612139943i -0.011716283258078 + 0.213037612139943i Poles are at
0.298816583040352 + 0.767589747202480i 0.298816583040352 - 0.767589747202480i -0.043866583040352 + 0.811309190381311i -0.043866583040352 - 0.811309190381311i
Constant value
0.127483813351194
Parallel Form II Residues are
-0.158795680938490 + 0.041067400713457i -0.158795680938490 - 0.041067400713457i 0.173353325938490 - 0.000160296180734i 0.173353325938490 + 0.000160296180734i
Poles are at
0 0.0571] -0.3350 0.4479 0.298816583040352 + 0.767589747202480i 0.298816583040352 - 0.767589747202480i -0.043866583040352 + 0.811309190381311i -0.043866583040352 - 0.811309190381311i
Constant value
0.057100000000000 b1=
-0.046951246835039 -0.289531739579519 0
a1=
1.000000000000000 -0.597633166080704 0.678485370310279
Q8.9 程序P8.3设计的滤波器类型为 IIR低通椭圆滤波器 ,指标为?p=0.25?
?S=0.55?,RP=0.5dB,RS=50dB,阶数为 8,输入的正弦序列的频率为f=0.7kHz。
Q8.10 运行P8.3并产生两个图形。哪种输入成分会在滤波器输出出现?为什么输出序列的开始部分不是一种理想的正弦曲线?修改P8.3,以便纸过滤序列X2[n]。产生的输出序列和预料的是一样的吗?
4Input SequenceAmplitude20-2-40102030Time index nOutput Sequence40504Amplitude20-2-40102030Time index n4050
Input Sequence420-2-4051015202530Time index nOutput Sequence35404550AmplitudeAmplitude420-2-4051015202530Time index n35404550
答:产生的输出序列和预料的是不一样的
Q8.14 程序P8.4设计的滤波器类型为 FIR低通滤波器,指标为?p=[0 0.3?]
?S=[0.5?
?] ,阶数为 9 ,为了验证仿真需计算的冲激响应样本为 10个。仿真是正确的吗?
实验名称:数字滤波器的设计
实验目的:
掌握数字滤波器的常用设计方法,在Matlab软件环境下设计满足给定指标的滤波器,综合运用滤波器的不同设计手段和滤波器的应用知识,设计出符合一定应用要求的滤波器。 实验任务:
以模拟低通滤波器为原型设计IIR数字滤波器,包括根据指标选择阶数、确定滤波器的传输函数。用窗口法设计FIR数字滤波器,包括观察吉布斯现象。选定一个滤波问题,设计数字滤波器,呈现滤波效果。
实验内容:
(1)IIR数字滤波器设计:Q7.1(阶数估计),Q7.5~7.6(滤波器设计) (2)FIR数字滤波器设计:Q7.9(Gibbs现象),Q7.13和/或Q7.14(阶数估计),Q7.20(滤波器设计)
(3)数字滤波器应用
含噪序列为x[n]=s[n]+w[n],其中s[n]为幅度等于5的直流信号,w[n]是方差为1的高
斯白噪声。要求对500点序列进行去噪运算。 请自行选择滤波器类型,确定滤波器截止频率和阶数并设计滤波器。画出滤波器的频率响应,画出输入和输出信号的波形和频谱,计算降噪前后的信噪比增益。
实验过程与结果分析:
Q7.1 用MATLAB确定一个数字无线冲激响应低通滤波器所有四种类型的最低阶数。指标如下:40kHz的抽样率,4kHZ的通带边界频率,8kHz的阻带边界频率,0.5dB的通带波纹,40dB的最小阻带衰减。评论你的结果。
根据题意:FT=40kHz,FP=4 kHz,FS=8kHz,通带增益RP=0.5dB,阻带增益RS=40dB
可以得出?P=
2?FPFT2?(4*103)??0.2? 340*10 WP??P?0.2 ? ?S=
2?FSFT2?(8*103)??0.4? 340*10 WS?
?S?0.4 ?(1) 根据上述数据和buttord函数[N, Wn] = buttord(0.2,0.4,0.5,40)
得到巴特沃兹滤波器的最低阶数N=8。 Wn=0.2469 ?n=0.2469?
(2) 根据上述数据和cheb1ord函数[N, Wn] = cheb1ord(0.2,0.4,0.5,40)
得到切比雪夫1型滤波器的最低阶数N=5。 Wn=0.2000 ?n=0.2000?
(3) 根据上述数据和cheb2ord函数[N, Wn] = cheb1ord(0.2,0.4,0.5,40)
得到切比雪夫2型滤波器的最低阶数N=5。 Wn=0.4000 ?n=0.4000?
(4) 根据上述数据和ellipord函数[N, Wn] = ellipord (0.2,0.4,
0.5,40)得到椭圆滤波器的最低阶数N=4。 Wn=0.2000 ?n=0.2000?