数字信号处理翻转课堂笔记15——线性系统的网络结构及matlab实现

本文详细介绍了数字信号处理中的信号流图表示、IIR系统的级联并联网络结构特点、量化误差敏感性以及MATLAB中的函数应用。通过实例探讨了系统稳定性、网络结构转换和幅频特性变化,包括直接型与级联型结构的对比分析。
摘要由CSDN通过智能技术生成

数字信号处理翻转课堂笔记15

The Flipped Classroom15 of DSP

对应教材:《数字信号处理(第五版)》西安电子科技大学出版社,丁玉美、高西全著

一、要点

(1)用信号流图表示系统的运算情况(网络结构);
(2)IIR系统的直接实现、级联、并联网络结构(重点);
(3)不同网络结构的特点,特别是对量化误差的敏感性(难点);
(4)MATLAB中进行网络结构变换的函数及其应用;
(5)IIR滤波器的应用和实现(DTMF信号的产生与检测)。

二、问题与解答

(1)线性系统的网络结构(信号流图)有两种等价的画法,如下图所示。请总结这个两种画法各自的特点,并根据梅森公式(参见信号与线性系统课程相关内容),验证这两种画法所对应的系统模型(系统函数)是相同的。

(2)任意给定一个6-8阶的IIR离散系统的系统函数,分别画出其直接型、级联型、并联型网络结构。网络结构的转换可以采用MATLAB函数实现。注意MATLAB中没有转换为并联结构的函数tf2par,请从网络上去搜索相应的函数来实现,使用之前应确定函数的正确性。

(3)用MATLAB设计一个阶次在10阶以上的数字滤波器(滤波器类型和技术指标自定),分别画出其极点分布图和幅频特性曲线。采用直接型结构来实现这个系统,但在实现时,改变系统函数分母多项式的某一个系数(最好选择改变分母系数向量中间位置的某个系数)的值,变化量设置为1/10000~1/1000000左右(尝试多个不同的变化量大小并比较其结果,根据实际需要,可超出此范围),然后针对改变之后分母系数向量(分子系数向量保持不变),重新绘制极点分布图和幅频特性曲线。比较系数改变前后的极点分布和幅频特性(注意幅频特性需在系统因果稳定的前提下才有含义),讨论以下问题:a)系统的因果稳定性是否发生了变化?如果要保证系数改变之后仍然因果稳定,系数的变化量最多能取多大?b)在保证系数改变之后系统因果稳定的条件下,比较系数改变前后幅频特性的差异。
(4)针对上一题设计的滤波器,采用级联型结构来实现(每一级为2阶系统)。在级联实现时,改变每一级的分母多项式系数(改变各级的中间位置系数),变化量取2%~1/1000左右。重新绘制级联系统的极点分布图和幅频特性曲线(为了编程的方便,可以先把改变系数之后的级联结构重新转换为直接结构来画图)。与上一题的结果进行比较,讨论以下问题:a)系统的因果稳定性是否发生了变化?如果要使得系数改变之后系统不再因果稳定,系数的变化量至少要取多大?b)在保持系数改变之后的级联系统因果稳定的条件下,比较系数改变前后系统幅频特性的差异。c)总结本题与上一题的结果,讨论直接型实现结构的缺点和级联型实现结构的优势。

1、信号流图的画法

线性系统的网络结构(信号流图)有两种等价的画法,如下图所示。请总结这个两种画法各自的特点,并根据梅森公式(参见信号与线性系统课程相关内容),验证这两种画法所对应的系统模型(系统函数)是相同的。


在这里插入图片描述
1)网状结构,可以合并,支路结构在下方。
2)不规则形状,反馈回路结构在下方。
在这里插入图片描述

2、利用matlab实现网络结构的转换

任意给定一个6-8阶的IIR离散系统的系统函数,分别画出其直接型、级联型、并联型网络结构。网络结构的转换可以采用MATLAB函数实现。注意MATLAB中没有转换为并联结构的函数tf2par,请从网络上去搜索相应的函数来实现,使用之前应确定函数的正确性。


设计一个tf2par函数

%b、a分别为直接型的分子和分母系数
%C、B、A分别为并联型的常数项,分子项矩阵,分母项矩阵
function [C,B,A]=tf2par(b,a)
[r,p,C]=residuez(b,a);
%residuez:z变换部分分式展开函数
%应用格式:[r,p,C]=residuez(b,a)[b,a]=residuez(r,p,C)
%b、a为系统函数的系数矩阵
%r以列向量的形式表示残差(零点),p以列向量的形式表示极点
%C以行向量的形式表示直接项(常数项)
N=length(r);            %获得残差的长度(零点的个数)
A=zeros(ceil(N/2),3);   %预定义一个ceil(N/2)行3列的全0矩阵(3列代表0阶项到2阶项)
%ceil:向上取整函数
B=A;                    %B与A格式一致
k=1;                    %遍历过程中R和P的下标
if mod(N,2)==1          %如果N除以21(N为奇数)
for i=1:2:N-1
%将零点和极点分别两两组合,最后剩一个
%r(1)r(2),r(3)r(4)..以此类推r(N-2)r(N-1)
[B(k,:),A(k,:)]=residuez([r(i),r(i+1)],[p(i),p(i+1)],0);
%两两合并,分子存B,分母存A
k=k+1;
end
B(end,:)=[r(end),0,0];
A(end,:)=[1,-p(end),0];
else                    %如果N为偶数
for i=1:2:N
[B(k,:),A(k,:)]=residuez([r(i),r(i+1)],[p(i),p(i+1)],0);
k=k+1;
end
end
end

设计一个离散系统并运行函数:

syms z;
A=[1 2 -3 4 5 -6 7];
B=[7 -6 5 4 -3 2 1];
[S,G]=tf2sos(B,A)
[c,b,a]=tf2par(B,A)

运行结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、数字滤波器系统的直接型结构

用MATLAB设计一个阶次在10阶以上的数字滤波器(滤波器类型和技术指标自定),分别画出其极点分布图和幅频特性曲线。采用直接型结构来实现这个系统,但在实现时,改变系统函数分母多项式的某一个系数(最好选择改变分母系数向量中间位置的某个系数)的值,变化量设置为1/10000~1/1000000左右(尝试多个不同的变化量大小并比较其结果,根据实际需要,可超出此范围),然后针对改变之后分母系数向量(分子系数向量保持不变),重新绘制极点分布图和幅频特性曲线。比较系数改变前后的极点分布和幅频特性(注意幅频特性需在系统因果稳定的前提下才有含义),讨论以下问题:a)系统的因果稳定性是否发生了变化?如果要保证系数改变之后仍然因果稳定,系数的变化量最多能取多大?b)在保证系数改变之后系统因果稳定的条件下,比较系数改变前后幅频特性的差异。


代码:

clear;
%设计滤波器参数
wp=2*pi*3000;ws=2*pi*4000;rp=1;as=60;
[NN,wpo]=cheb1ord(wp,ws,rp,as,'s');
[B,A]=cheby1(NN,rp,wpo,'s');
figure(1)
k=0:511;fk=0:10000/512:10000;wk=2*pi*fk;
Hk=freqs(B,A,wk);
plot(fk/1000,20*log10(abs(Hk)));grid on
xlabel('频率(kHz)');ylabel('幅度(dB)')
grid off

[BI,AI]=impinvar(B,A,20000);
figure(2)
wki=(0:511)/512;
Hki=freqz(BI,AI,512);
plot(wki,20*log10(abs(Hki)));grid on
xlabel('频率(w/pi)');ylabel('幅度(dB)')
title('滤波器的频率特性');
grid off
figure(3)
zplane(1,AI)
title('滤波器的极点分布');

AI(6)=0.999999*AI(6);
figure(4)
zplane(1,AI)
title('直接实现改变一个分母系数1/1000000之后的极点分布');
figure(5)
wki=(0:511)/512;
Hki=freqz(BI,AI,512);
plot(wki,20*log10(abs(Hki)));grid on
xlabel('频率(w/pi)');ylabel('幅度(dB)')
title('直接实现改变一个分母系数1/1000000之后的幅频特性');
grid off

AI(6)=0.999997*AI(6);
figure(6)
zplane(1,AI)
title('直接实现改变一个分母系数3/1000000之后的极点分布');
figure(7)
wki=(0:511)/512;
Hki=freqz(BI,AI,512);
plot(wki,20*log10(abs(Hki)));grid on
xlabel('频率(w/pi)');ylabel('幅度(dB)')
title('直接实现改变一个分母系数3/1000000之后的幅频特性');
grid off

AI(6)=0.999996*AI(6);
figure(8)
zplane(1,AI)
title('直接实现改变一个分母系数4/1000000之后的极点分布');
figure(9)
wki=(0:511)/512;
Hki=freqz(BI,AI,512);
plot(wki,20*log10(abs(Hki)));grid on
xlabel('频率(w/pi)');ylabel('幅度(dB)')
title('直接实现改变一个分母系数4/1000000之后的幅频特性');
grid off

结果:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
当变化量为1/1000000时,系统依旧因果稳定。
在这里插入图片描述

在这里插入图片描述
当变化量为3/1000000时,部分极点分布在单位圆上。
在这里插入图片描述

在这里插入图片描述
当变化量为4/1000000时,系统不再因果稳定。

系统的因果稳定性发生了改变,如果要保证系数改变之后因果稳定,该系统的变化量大概最多能取3/1000000。
前后幅频特性:改变后,幅频特性抖动更大,且从图像上看,在通带内,分贝值超过了0。变化量越大,幅频响应中通带的等波纹越大,越明显。

4、数字滤波器系统的级联型结构(及对比)

针对上一题设计的滤波器,采用级联型结构来实现(每一级为2阶系统)。在级联实现时,改变每一级的分母多项式系数(改变各级的中间位置系数),变化量取2%~1/1000左右。重新绘制级联系统的极点分布图和幅频特性曲线(为了编程的方便,可以先把改变系数之后的级联结构重新转换为直接结构来画图)。与上一题的结果进行比较,讨论以下问题:a)系统的因果稳定性是否发生了变化?如果要使得系数改变之后系统不再因果稳定,系数的变化量至少要取多大?b)在保持系数改变之后的级联系统因果稳定的条件下,比较系数改变前后系统幅频特性的差异。c)总结本题与上一题的结果,讨论直接型实现结构的缺点和级联型实现结构的优势。


一份仅供参考的结果:

当变化量为0.001时,系统因果稳定。
在这里插入图片描述
当变化量为0.02时,系统因果稳定。

在这里插入图片描述
当变化量为0.045时,系统不再因果稳定。
在这里插入图片描述
不再因果稳定,至少要取45/1000。
变化量越小,通带越平稳,反之,则越不平稳。
直接型所用延时单元最少。
直接型实现的缺点:仅仅很小的改变量,系统特性就发生了很大的变化。
级联型实现相比于直接型,在系统特性基本不发生变化的条件下,参数可改变的幅度更大。

三、反思总结

第4题仅供参考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暗然而日章

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值