信号与线性系统翻转课堂笔记20——系统函数与信号流图

news2025/3/1 1:03:36

信号与线性系统翻转课堂笔记20——系统函数与信号流图

The Flipped Classroom20 of Signals and Linear Systems

对应教材:《信号与线性系统分析(第五版)》高等教育出版社,吴大正著

一、要点

(1)了解信号流图的组成及其基本术语的含义;
(2,重点)掌握信号流图的化简方法(含梅森公式的用法),对于规范形式的信号流图,能够不经化简,直接写出其对应的系统函数或者微分/差分方程;
(3,重点)能够熟练完成各种系统模型的转换;
(4)了解系统直接实现、级联实现、并联实现的原理及其各自特点。

二、问题与解答

在这里插入图片描述

(*2)说明梅森公式的含义(并解释其中的前向通路、回路、不接触等概念)及其用法,并举例说明利用梅森公式,求解该信号流图对应的系统函数。
(*3)写出习题7.28所示信号流图对应的系统函数,总结由规范形式信号流图(系统框图)直接写出系统函数的方法。将题7.28图(b)中增益为3的支路反向,重新求该信号流图对应的系统函数。
在这里插入图片描述
(*4)下面给出的MATLAB程序,是针对不同的系统模拟结构,分析系统模型参数的误差(漂移)对系统特性的影响。首先设计(设计方法暂不要求掌握)了一个10阶的连续系统(滤波器),然后分别采用直接结构和级联结构进行系统模拟。在直接模拟时,改变了(用于模拟系统参数的误差或者漂移)系统分母多项式的一个系数(变化量1%);在级联模拟(每一级均为2阶系统,共5级)时,对每一级分母多项式的中间系数都进行了改变(变化量10%)。最后,绘制了系数改变前后的幅频响应和极点图。①看懂该程序,了解其中用到的一些MATLAB函数的功能和用法(系统设计部分除外),观察并理解程序运行的一些结果(包括各波形图和一些中间计算结果,如系统设计结果、级联结构描述矩阵sos的结构和含义);②尝试用不同的参数变化量,或者改变分母多项式的其他某一个或者多个参数,对比参数改变对两种模拟结构的系统特性的影响(即幅频响应和极点图的变化情况);③对所得结果进行总结分析,讨论:对于阶数比较高的系统,相对于直接结构,采用级联结构来进行系统模拟具有何优势?

clear;
%系统设计部分,暂不要求了解
wp=2*pi*3000;ws=2*pi*4000;rp=2;as=60;
[NN,wpo]=cheb1ord(wp,ws,rp,as,'s');
[B,A]=cheby1(NN,rp,wpo,'s') %设计结果
%设计结果中,B为系统函数分子多项式的系数向量,A为分母多项式的系数向量
length(A)   %A向量的长度为11,即设计的系统是一个10阶的系统
 
%画出所设计系统的幅频响应(直接实现)
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)')
title('直接实现的幅频响应');
grid off
%画出所设计系统的极点图
figure(2)
zplane(1,A)
title('系统的极点分布');
 
A1=A;
A1(6)=0.99*A1(6); %微量改变分母多项式的一个系数
%画出系数改变之后系统的幅频响应(直接实现)
figure(3)
Hk=freqs(B,A1,wk);
plot(fk/1000,20*log10(abs(Hk)));grid on
xlabel('频率(kHz)');ylabel('幅度(dB)')
title('改变直接实现一个分母系数之后的幅频响应');
grid off
%画出系数改变之后系统的零极点图(直接实现)
figure(4)
zplane(1,A1)
title('改变直接实现一个分母系数之后的极点分布');
 
[sos,g]=tf2sos(B,A)  %系统改为用5个二阶系统级联实现
sos(:,5)=0.9*sos(:,5);%改变级联结构中每一级分母多项式的一个系数(中间那个)
[B2,A2]=sos2tf(sos,g);%为了绘图方便,把改变系数之后的级联结构重新转换为直接结构
 
%画出系数改变之后系统的幅频响应(级联实现)
figure(5)
Hk=freqs(B2,A2,wk);
plot(fk/1000,20*log10(abs(Hk)));grid on
xlabel('频率(kHz)');ylabel('幅度(dB)')
title('改变级联实现各级分母系数之后的幅频特性');
grid off
%画出系数改变之后系统的零极点图(级联实现)
figure(6)
zplane(1,A2)
title('改变级联实现各级分母系数之后的极点分布');

(5)举例说明什么是信号流图的转置(必须给出互为转置的信号流图实例)?基于梅森公式,解释为什么互为转置的两个信号流图,它们所对应的系统函数是相同的。

1、系统框图和信号流图

在这里插入图片描述


LTI连续系统框图组成部分:数乘器(标量乘法器),加法器,积分器,积分器(零状态)
信号流图组成部分:结点和支路
在这里插入图片描述
信号流图的上半部分结构对应系统函数的分子部分和时域微分方程的右半部分(原因部分)
信号流图的下半部分结构对应系统函数的分母部分和时域微分方程的左半部分(结果部分)
讨论:
(1)
在这里插入图片描述
(2)
在这里插入图片描述

2、梅森公式

说明梅森公式的含义(并解释其中的前向通路、回路、不接触等概念)及其用法,并举例说明利用梅森公式,求解该信号流图对应的系统函数。


在这里插入图片描述

梅森公式:
在这里插入图片描述
在这里插入图片描述
例子:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、由信号流图写出系统函数

写出习题7.28所示信号流图对应的系统函数,总结由规范形式信号流图(系统框图)直接写出系统函数的方法。将题7.28图(b)中增益为3的支路反向,重新求该信号流图对应的系统函数。
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述
反向后,分子s前的系数由3变为-3。

在这里插入图片描述

4、系统模型误差对系统特性的影响

下面给出的MATLAB程序,是针对不同的系统模拟结构,分析系统模型参数的误差(漂移)对系统特性的影响。首先设计(设计方法暂不要求掌握)了一个10阶的连续系统(滤波器),然后分别采用直接结构和级联结构进行系统模拟。在直接模拟时,改变了(用于模拟系统参数的误差或者漂移)系统分母多项式的一个系数(变化量1%);在级联模拟(每一级均为2阶系统,共5级)时,对每一级分母多项式的中间系数都进行了改变(变化量10%)。最后,绘制了系数改变前后的幅频响应和极点图。①看懂该程序,了解其中用到的一些MATLAB函数的功能和用法(系统设计部分除外),观察并理解程序运行的一些结果(包括各波形图和一些中间计算结果,如系统设计结果、级联结构描述矩阵sos的结构和含义);②尝试用不同的参数变化量,或者改变分母多项式的其他某一个或者多个参数,对比参数改变对两种模拟结构的系统特性的影响(即幅频响应和极点图的变化情况);③对所得结果进行总结分析,讨论:对于阶数比较高的系统,相对于直接结构,采用级联结构来进行系统模拟具有何优势?

clear;
%系统设计部分,暂不要求了解
wp=2*pi*3000;ws=2*pi*4000;rp=2;as=60;
[NN,wpo]=cheb1ord(wp,ws,rp,as,'s');
[B,A]=cheby1(NN,rp,wpo,'s') %设计结果
%设计结果中,B为系统函数分子多项式的系数向量,A为分母多项式的系数向量
length(A)   %A向量的长度为11,即设计的系统是一个10阶的系统
 
%画出所设计系统的幅频响应(直接实现)
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)')
title('直接实现的幅频响应');
grid off
%画出所设计系统的极点图
figure(2)
zplane(1,A)
title('系统的极点分布');
 
A1=A;
A1(6)=0.99*A1(6); %微量改变分母多项式的一个系数
%画出系数改变之后系统的幅频响应(直接实现)
figure(3)
Hk=freqs(B,A1,wk);
plot(fk/1000,20*log10(abs(Hk)));grid on
xlabel('频率(kHz)');ylabel('幅度(dB)')
title('改变直接实现一个分母系数之后的幅频响应');
grid off
%画出系数改变之后系统的零极点图(直接实现)
figure(4)
zplane(1,A1)
title('改变直接实现一个分母系数之后的极点分布');
 
[sos,g]=tf2sos(B,A)  %系统改为用5个二阶系统级联实现
sos(:,5)=0.9*sos(:,5);%改变级联结构中每一级分母多项式的一个系数(中间那个)
[B2,A2]=sos2tf(sos,g);%为了绘图方便,把改变系数之后的级联结构重新转换为直接结构
 
%画出系数改变之后系统的幅频响应(级联实现)
figure(5)
Hk=freqs(B2,A2,wk);
plot(fk/1000,20*log10(abs(Hk)));grid on
xlabel('频率(kHz)');ylabel('幅度(dB)')
title('改变级联实现各级分母系数之后的幅频特性');
grid off
%画出系数改变之后系统的零极点图(级联实现)
figure(6)
zplane(1,A2)
title('改变级联实现各级分母系数之后的极点分布');

figure 创建图窗窗口,plot 画图,xlabel 标签,title 加标题,grid 显示或隐藏坐标区网格线
zplane
绘制离散时间系统的零极点图(连续:pzmap)
为什么可以用zplane?因为离散连续无区别
z平面(z,p)在当前地物窗口中绘制列向量z中指定的零和列向量p中指定的极点。符号“o”表示零,符号“x”表示极。该图包括供参考的单位圆。
如果z和p是矩阵,则zplane以不同的颜色绘制z和p列中的极点和零点。
Z平面(b,a),其中b和a是行向量,首先使用根来查找由分子系数b和分母系数a表示的传递函数的零和极点。
[hz,hp,ht]=zplane(\u)将句柄向量返回到零线hz和极线hp。ht是指向轴/单位圆线和文本对象的句柄向量,当存在多个零或极时,这些对象就会出现。
zplane(d)找到数字滤波器d表示的传递函数的零点和极点。使用designfilt根据频率响应规范生成d。零极点图显示在fvtool中。
[vz,vp,vk]=zplane(d)返回数字滤波器d对应的零(向量vz)、极点(向量vp)和增益(标量vk)。
sos2tf
将数字滤波器传递函数数据转换为二阶数据段形式
Convert digital filter second-order section data to transfer function form
[sos,g]=tf(直接)2sos(级联)(b,a,‘order’)指定sos中行的阶次,其中“order”是
2:to(方向性)
“向下”,对各部分进行排序,以便sos的第一行包含最靠近单元圆的极点
“向上”,对截面进行排序,使sos的第一行包含距离单位圆最远的极点(默认)
[sos,g]=tf2sos(b,a,‘order’,‘scale’)指定所有二阶截面的增益和分子系数的所需比例,其中“scale”为:
“无”,不应用缩放(默认)
“inf”,应用无穷范数缩放
“2”,应用2-范数缩放
将无穷范数缩放与向上排序结合使用,可将实现中的溢出概率降至最低。使用2-范数缩放和降阶将峰值舍入噪声降至最低。
freqs 模拟滤波器的频率响应
h=freqs(b,a,w)
返回由系数向量b和a指定的模拟滤波器的复频率响应。freqs在实向量w中指定的角频率(以rad/s为单位)下沿复平面中的虚轴评估频率响应,其中w是包含多个频率的向量。
[h,w]=频率(b,a,n)
使用n个频点来计算频率响应h,其中n是一个实的标量值。频率向量w是自动生成的,长度为n。如果省略n作为输入,则使用200个频率点。如果不需要返回生成的频率向量,可以使用形式h=freqs(b,a,n)仅返回频率响应h。
无输出参数的freqs在当前图形窗口中绘制幅值和相位响应与频率的关系。
freqs仅适用于实际输入系统和正频率。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)将A的大小改为原来的0.9倍,得出图7图8,并与之前的进行对比,如下图:
补充代码:

A3=A;
A3(6)=0.9*A3(6); %微量改变分母多项式的一个系数
%画出系数改变之后系统的幅频响应(直接实现)
figure(7)
Hk=freqs(B,A3,wk);
plot(fk/1000,20*log10(abs(Hk)));grid on
xlabel('频率(kHz)');ylabel('幅度(dB)')
title('改变直接实现一个分母系数之后的幅频响应');
grid off
%画出系数改变之后系统的零极点图(直接实现)
figure(8)
zplane(1,A3)
title('改变直接实现一个分母系数之后的极点分布');

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
幅频响应
图5为级联系统微调参数产生的结果,图3、图7为直接系统微调参数产生的结果,由此可见,在受到微小扰动导致参数值上下波动时,级联系统的幅频特性几乎与原幅频特性一致,而直接系统变化较大。
在这里插入图片描述
极点图
图6为级联系统微调参数产生的结果,图3、图7为直接系统微调参数产生的结果,由此可见,在受到微小扰动导致参数值上下波动时,级联系统的极点分布情况几乎与原极点分布情况一致,而直接系统变化较大。
(3)
对于阶数比较高的系统,相对于直接结构,采用级联结构来进行系统模拟,会增强系统的抗干扰能力,提高系统的鲁棒性。
原因:一阶二阶系统的零极点对多项式系数的变化不敏感。

5、信号流图的转置

举例说明什么是信号流图的转置(必须给出互为转置的信号流图实例)?基于梅森公式,解释为什么互为转置的两个信号流图,它们所对应的系统函数是相同的。


在这里插入图片描述
在这里插入图片描述
根据梅森公式,互为转置的两信号流图源点到汇点间第i条前向通路增益P_i不变且在去除与i条前向通路想接触的环路后,第i条前向通路特征行列式的余因子(△i)不发生改变,各路之间的关系也不改变,△也不变,因此系统函数H也不发生改变。

三、反思总结

暂无

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1346779.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSU计算机学院2021年C语言期末题目思路分享(后两道题)

文章目录 E: 实数相加——大数加法的拓展原题题目描述输入输出样例输入样例输出 题目思路实现步骤代码和注释 F: 谍影寻踪——链表的思想和运用原题题目描述输入输出样例输入样例输出 题目思路 一点感想 E: 实数相加——大数加法的拓展 原题 题目描述 C语言就要期末考试了&a…

每日一题——LeetCode922

方法一 双指针: 一个偶指针一个奇指针,偶指针每次都指向nums里的偶数,奇指针每次指向nums里的奇数,两个指针交替push进新数组即可: var sortArrayByParityII function(nums) {var even0,odd0,res[],flagtruewhile(r…

C#,入门教程(02)—— Visual Studio 2022开发环境搭建图文教程

如果这是您阅读的本专栏的第一篇博文,建议先阅读如何安装Visual Studio 2022。 C#,入门教程(01)—— Visual Studio 2022 免费安装的详细图文与动画教程https://blog.csdn.net/beijinghorn/article/details/123350910 一、简单准备 开始学习、编写程序…

面试官:了解CountDownLatch吗

程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一份大厂面试资料《史上最全大厂面试题》,Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …

多线程编程设计模式(单例,阻塞队列,定时器,线程池)

💕"只有首先看到事情的可能性,才会有发生的机会。"💕 作者:Mylvzi 文章主要内容:多线程编程设计模式(单例,阻塞队列,定时器,线程池) 本文主要讲解多线程编程中常用到的设计模式,包括单例模式,阻塞队列,定时…

12.30序列检测(重叠、不重叠、连续、不连续、含无关项)——移位寄存器,状态机;状态机(二段式,三段式)

状态机-重叠序列检测 timescale 1ns/1nsmodule sequence_test2(input wire clk ,input wire rst ,input wire data ,output reg flag ); //*************code***********//parameter S00, S11, S22, S33, S44;reg [2:0] state, nstate;always(posedge clk or negedge rst) b…

仓储革新:AR技术引领物流进入智慧时代

根据《2022年中国物流行业研究:深度探析行业现状(智能设备及智能软件)》,报告中提及:“中国社会物流总额依然保持着较为良好的增长态势,年增速已恢复至常年平均水平。2021年社会物流总额细分中工业物流总额…

机器视觉实战应用:手势、人脸、动作以及手势鼠标构建(一)

CV实战应用手势、人脸、动作以及手势鼠标构建(一)总起 核心思想 手势识别是一种常见的计算机视觉应用,它可以通过摄像头或者预先录制的视频图像来追踪和识别人类手势。手势识别的应用非常广泛,例如在游戏、虚拟现实、人机交互等…

ActiveMQ漏洞合集

目录 介绍CVE-2015-5254:Apache ActiveMQ任意代码执行漏洞漏洞介绍 & 环境准备漏洞发现Nuclei❌Vulmap✅漏洞验证漏洞利用 CVE-2016-3088:Apache ActiveMQ Fileserver远程代码执行漏洞漏洞发现Nuclei✅Vulmap✅MSF✅第三方工具1(漏洞探测…

谷歌Linux内核自动测试平台架构介绍-用自动测试测试难以测试的问题

1 摘要 内核和硬件等低级系统已被证明极难进行有效测试,因此,许多内核测试都是以手动为主方式进行的。现有的大多数测试框架都是为测试与底层平台隔离的高级软件而设计的,而底层平台被假定是稳定可靠的。测试底层平台本身需要一套全新的假设…

单字符检测模型charnet使用方法,极简

Git链接 安装按照上面的说明,说下使用。 把tools下面的test做了一点修改,可以读取一张图片,把里面的单个字符都检测和识别出来。 然后绘制到屏幕上。 import torch from charnet.modeling.model import CharNet import cv2, os import num…

第5课 使用openCV捕获摄像头并实现预览功能

这节课我们开始利用ffmpeg和opencv来实现一个rtmp推流端。推流端的最基本功能其实就两个:预览画面并将画面和声音合并后推送到rtmp服务器。 一、FFmpeg API 推流的一般过程 1.引入ffmpeg库:在代码中引入ffmpeg库,以便使用其提供的功能。 2.捕获摄像头…

“C语言与人生:手把手教你玩转C语言数组,从此编程无难题“

各位少年,我是博主那一脸阳光,由我来给大家介绍C语言的数组的详解。 在C语言中,数组是一种极其重要的数据结构,它允许我们存储和管理相同类型的一系列相关数据。通过理解并熟练掌握数组的使用,开发者能够高效地处理大量…

【Spark精讲】一文搞懂Spark钨丝Tungsten

Tungsten 内存管理机制 催生 Tungsten 内存管理优化的原因主要来自两个方面 。 • Java对象占用内存空间大。 相对于 C/C等更加底层的程序语言, Java对象的存储密度相对偏低。 例如,即使最简单的 “abed” 字符串,用Java的UTF-16编码的情况…

ssm基于web 的个人时间管理系统+vue论文

基于web 的个人时间管理系统的设计与实现 摘要 当下,正处于信息化的时代,许多行业顺应时代的变化,结合使用计算机技术向数字化、信息化建设迈进。传统的个人时间信息管理模式,采用人工登记的方式保存相关数据,这种以人…

Ksher H5页面支付实例指导 (PHP实现)

前文 背景介绍 前两天,公司的项目,为了满足泰国客户的支付需求,要求使用 Ksher (开时支付) 对接任务突然就给了鄙人,一脸懵 … 通过了解客户的使用场景、以及参考官网指导 发现:Ksher支付 最令人满意的便是 —— 提供了…

GitHub 一周热点汇总 第3期 (2023/12/24-12/30)

GitHub一周热点汇总第三期 (2023/12/24-12/30),梳理每周热门的GitHub项目,了解热点技术趋势,掌握前沿科技方向,发掘更多商机。元旦就要到了,提前祝大家新年快乐。 #1 StreamDiffusion 项目名称:StreamDiff…

Powermill各版本安装指南

下载链接 https://pan.baidu.com/s/1CsrYEUQNmDa820RxDV2G6Q?pwd0531 1.鼠标右击【PowerMill2024(64bit)】压缩包(win11及以上系统需先点击“显示更多选项”)【解压到 PowerMill2024(64bit)】。 2.打开解压后的文件夹,双击打开【Setup】文…

Qt基础之四十五:Qt国际化(I18N)

国际化的英文表述为Internationalization,通常简写为I18N(首尾字母加中间的字符数),这种奇葩的缩写方式,让我想起了NBA球星“字母哥”。 下面看下Qt实现的动态语言切换效果。 一.效果 二.源码 QHSettingDialog.h #ifndef QHSETTINGDIALOG_H #define QHSETTINGDIALOG_H#…

获取Windows10系统原始安装日期

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 目标 获取Windows10系统最原始的安装日期;例如:刚买电脑时安装系统的时间。 步骤 第一步,请打开PowerShell,单击Windows P…