数字信号处理实验八

  • 格式:docx
  • 大小:63.60 KB
  • 文档页数:11

输出:
分子系数 0.0571 分母系数 1.0000 实际分子系数 0.0571 实际分母系数 1.0000 0 -0.5099 0.0000 -0.5099 -0.1143 1.2862 -0.1143 1.2862 0 -0.3350 0 -0.3350 0.0571 0.4479 0.0571 0.4479
数字信号处理实验报告
8.6 生成传输函数的并联 II 型实现:
num = input('分子系数= '); den = input('分母系数= '); [r1,p1,k1] = residue(num,den); disp('并联 II 型') R1=[r1(1),r1(2)]; P1=[p1(1),p1(2)]; [b1,a1]=residuez(R1,P1,0); R2=[r1(3),r1(4)]; P2=[p1(3),p1(4)]; [b2,a2]=residuez(R2,P2,0); b=[b1 b2] a=[a1 a2]
与设计的结构输出一致,验证了正确性。
3
云南大学信息学院
数字信号处理实验报告
8.3
生成传输函数的级联实现:
num = input('分子='); den = input('分母='); [z,p,k] = tf2zp(num,den); sos = zp2sos(z,p,k);
输入:
分子=[0.0571 分母=[1.0000 0 -0.5099 -0.1143 1.2862 0 -0.3350 0.0571] 0.4479]
输入:
分子系数= [0.0571 分母系数= [1.0000 0 -0.5099 -0.1143 1.2862 0 -0.3350 0.0571] 0.4479]
仿真结构与验证:
num1 = [-0.0479 num2 =[ -0.0228 den1 = [1.0000 den2 =[1.0000 -0.2912 0.3469 -0.5956 0.0857 0 ]; 0]; 0.6774 ]; 0.6599];
x=[1 zeros(1,4)]; impres1=direct2(num1,den1,x); impres2=direct2(num2,den2,x); [p1,d1] = strucver(impres1,2); [p2,d2] = strucver(impres2,2); p=[p1' p2']; d=[d1' d2']; disp('实际分子系数 '); disp(p); disp('实际分母系数'); disp(d);
输出:
实际分子系数 -0.0479 实际分母系数 1.0000 -0.2912 -0.5956 -0.0000 0.6774 -0.0228 1.0000 0.3469 0.0857 -0.0000 0.6599
与设计的结构输出(设计的结构输出是 a,b 变量)一致,验证了正确性。
5
云南大学信息学院
num = input('分子系数= '); den = input('分母系数= '); [r1,p1,k1] = residuez(num,den); disp('并联 I 型') R1=[r1(1),r1(2)];
4
云南大学信息学院
数字信号处理实验报告
P1=[p1(1),p1(2)]; [b1,a1]=residuez(R1,P1,0); R2=[r1(3),r1(4)]; P2=[p1(3),p1(4)]; [b2,a2]=residuez(R2,P2,0); b=[b1 b2] a=[a1 a2]
输出:
实际分子系数 0.0571 0.1142 0.0571 1.0000 1.0000 1.0000 0.0877 0.6601 0.6785
实际分母系数 1.0000 -2.0004
-0.5976
与设计的结构输出(设计的结构输出是 sos 变量)一致,验证了正确性。
8.5
生成传输函数的并联 I 型实现:
2
云南大学信息学院
数字信号处理实验报告
六、实验记录(数据、图表、波形、程序等)
8.1 输入:
Wp = [0.4 0.5]; Ws = [0.1 0.8]; Rp = 1; Rs = 30; [N1, Wn1] = buttord(Wp, Ws, Rp, Rs); [num,den] = butter(N1,Wn1); disp('分子系数');disp(num); disp('分母系数 ');disp(den); impres = direct2(num,den,[1 zeros(1,4*N1)]); [p,d] = strucver(impres,2*N1); disp('实际分子系数 '); disp(p'); disp('实际分母系数'); disp(d');
x=[1 zeros(1,4)]; impres1=direct2(num1,den1,x); impres2=direct2(num2,den2,x); [p1,d1] = strucver(impres1,2); [p2,d2] = strucver(impres2,2); p=[p1' p2']; d=[d1' d2']; disp('实际分子系数 '); disp(p); disp('实际分母系数'); disp(d);
1



云南大学信息学院
数字信号处理实验报告
三、实验器材及软件 1. 微ቤተ መጻሕፍቲ ባይዱ计算机 1 台 2. MATLAB 7.0 软件
四、实验原理 数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫 和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具 的要求不高。在设计一个 IIR 数字滤波器时,我们根据指标先写出模拟滤波器的公式, 然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。 FIR 的设计在 matlab 中其实也同样很简单,其主要思想是通过先设计出无限长的 IIR 滤波器再通过截尾的方式获得一个 FIR 滤波器, 但是简单的截尾会出现吉布斯现象, 所以此时还需要对截尾之后的结果加窗;来减小吉布斯震荡现象。 在设计得到的滤波器传输函数的系数之后, 我们需要通过 matlab 编程获得滤波器 的结构,从而画出该滤波器物理的电路实现上的结构框图,当然数字滤波器可以使用 软件编程的方式实现,此时我们将传输函数的系数带入某些函数即可直接得到该滤波 器滤波之后的输出信号。 对于本章实验内容, 最主要的就是设计出的滤波器系数带入函数 direct2 或者 filter 中去进行滤波,然后输出结果,来仿真滤波器的效果,同时可以通过将滤波的输出结 果带入函数 strucver 中来推出该滤波器的结构(即滤波器的传输函数系数) ,从而检验 滤波器是否正确。 数字滤波器的结构可以是级联形式或者并联形式,在传输函数中分别对应着各个 小项相乘或者相加,当然也可以不使用级联形式直接使用直接型(传输函数不变形) 来构建框图结构。 对于构建的各个小项我们可以分别使用 filter 函数或者 direct 函数来 对某信号进行滤波,如果是级联型的传输函数则需要将前面的滤波输出作为后面的输 入,从而形成级联结构;对于并联结构则需要将某信号分别输入所有的滤波器小项中 对所有的小项分别进行滤波,然后把所有的输出叠加到一起。 五、实验步骤 1、进行本实验,首先必须熟悉 matlab 的运用,所以第一步是学会使用 matlab。 2、学习相关基础知识,根据《数字信号处理》课程的学习理解实验内容和目的。 3、在充分熟悉基础知识的情况下进行实验,利用 matlab 的函数设计出滤波器传输函 数的系数。 4、利用系数构造出滤波器结构,包括直接型,级联型和并联型。 5、仿真滤波器,并进行滤波器验证。 6、小结本实验,通过小结发现问题并解决问题。
输出:
分子系数 0.0571 分母系数 1.0000 实际分子系数 0.0571 实际分母系数 1.0000 0 -0.5099 -0.0000 -0.5099 -0.1143 1.2862 -0.1143 1.2862 0 -0.3350 0.0000 -0.3350 0.0571 0.4479 0.0571 0.4479
输出:
sos = 0.0571 1.0000 0.1142 -2.0004 0.0571 1.0000 1.0000 1.0000 0.0877 -0.5976 0.6601 0.6785
仿真结构与验证:
num1 = [0.0571 num2 =[1.0000 den1 = [1.0000 den2 =[1.0000 0.1142 0.0877 -2.0004 -0.5976 0.0571]; 0.6601]; 1.0000]; 0.6785];
云南大学信息学院
数字信号处理实验报告
实验八数字滤波器实现
实验室名称: 姓 名:蒋逸恒
信息学院 2204 实验时间:2015 年 11 月 26 日 学号:20131120038 专业: 通信工程 指导教师:陶大鹏
成绩 教师签名: 一、实验目的 1、学会使用 matlab 设计符合要求的数字滤波器的参数。 2、学会使用基本的 matlab 命令,把获得的数字滤波器参数带到传输函数中写出 传输函数,之后利用之前的实验知识,画出滤波器级联框图,实现滤波器。 3、学会使用得到的数字滤波器结构仿真滤波过程并能验证滤波器的结构是否正 确。 二、实验内容 Q8.1 程序 p8.1 设计了什么类型的滤波器?指标是什么?滤波器的阶数是多少?为了 验证仿真,需验证多少个冲激响应样本?仿真时正确的吗? Q8.2 用转置的直接Ⅱ型仿真滤波器,修改并运行 P8.1,仿真时正确的吗? Q8.3 生成习题 Q8.1 中产生传输函数的一个级联实现,并编写出一个程序来仿真它, 其中每个单独的部分用一个直接Ⅱ型实现,验证仿真。 Q8.5 生成在习题 Q8.1 中产生的传输函数的并联Ⅰ型实现,并编写出一个程序来仿真 它,其中每个单独的部分用一个直接Ⅱ型实现,验证仿真。 Q8.6 生成在习题 Q8.1 中产生的传输函数的并联Ⅱ型实现,并编写出一个程序来仿真 它,其中每个单独的部分用一个直接Ⅱ型实现,验证仿真。 Q8.7 运行程序 p8.2 并产生被仿真的级联格型结构的传输函数。该传输函数与公式中 产生的相同吗? Q8.9 程序 p8.3 设计了什么类型的滤波器?指标是什么?滤波器的阶数是多少?形成 正弦序列的频率是多少? Q8.10 运行程序 p8.3 并产生两个图形,那种频率成分会 在滤波器输出出现?为什么 输出序列的开始部分不是理想的正弦曲线?修改程序,只滤过 x2[n],产生的输出序列 和预料的一样吗? Q8.14 程序 p8.4 设计了什么类型的滤波器?指标是什么?滤波器的阶数是多少?为了 验证仿真,需验证多少个冲激响应样本?仿真时正确的吗? Q8.15 用直接Ⅱ型仿真滤波器,修改并运行 P8.4,仿真时正确的吗? Q8.16 生成习题 Q8.14 中产生传输函数的一个级联实现, 并编写出一个程序来仿真它, 其中每一个部分用一个直接Ⅱ型实现,验证仿真。