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

信号与线性系统翻转课堂笔记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也不发生改变。

三、反思总结

暂无

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++多态性——(1)初识多态

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 苦难和幸福一样,都是生命盛…

2024.1.1每日一题

LeetCode每日一题 新的一年开始了,祝大家新年快乐,坚持做每日一题。 1599.经营摩天轮的最大利润 1599. 经营摩天轮的最大利润 - 力扣(LeetCode) 题目描述 你正在经营一座摩天轮,该摩天轮共有 4 个座舱 &#xff0…

RK3568平台 Android13 GKI架构开发方式

一.GKI简介 GKI:Generic Kernel Image 通用内核映像。 Android13 GMS和EDLA认证的一个难点是google强制要求要支持GKI。GKI通用内核映像,是google为了解决内核碎片化的问题,而设计的通过提供统一核心内核并将SoC和板级驱动从核心内核移至可加…

Go语言实战:如何使用Timeout Context优雅地取消任务

Go语言实战:如何使用Timeout Context优雅地取消任务 引言Go语言和并发编程简介什么是ContextTimeout Context的原理实战演示最佳实践和注意事项总结 引言 在现代软件开发中,尤其是在处理高并发系统时,正确地管理和取消正在进行的任务成为一项…

电子电器架构(E/E)演化 —— 车载以太网

电子电器架构(E/E)演化 —— 车载以太网 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 本文13000字。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一…

Serverless Framework:开发无服务器应用的最佳工具 | 开源日报 No.133

serverless/serverless Stars: 45.6k License: MIT 该项目是 Serverless Framework,它是一个命令行工具,使用简单易懂的 YAML 语法部署代码和云基础设施以满足各种无服务器应用程序需求。支持 Node.js、Typescript、Python、Go 等多种编程语言&#xff…

Python+Django 构建实验室药品管理和预警系统【源码】

人生苦短,我用 Python。 今天给大家分享一个完整的实战案例:Python实现实验室药品管理和预警系统,文末附完整代码! 在线演示环境 项目演示地址:http://101.34.18.118:8002/ (图片未压缩,所以加载有点慢&…

自己的发展安排 2024年 -- 2025年

一、只有一件大事 完成自营软件,坚持运营一整年。 2019年末到现在,4年左右的努力和等待,自己终于迎来了一个巨大的机会,我要全力以赴。 二、我的关注点和思考点 我要将头脑集中在思考自己应用场景 和 AI大模型的结合上。大模型…

Spring Cloud Gateway + Nacos 灰度发布

前言 本文将会使用 SpringCloud Gateway 网关组件配合 Nacos 实现灰度发布&#xff08;金丝雀发布&#xff09; 环境搭建 创建子模块服务提供者 provider&#xff0c;网关模块 gateway 父项目 pom.xml 配置 <?xml version"1.0" encoding"UTF-8"?…

JavaScript的三种引入的方式

目录 (一).什么是JS1.1JS的特点1.2JS的组成 (二).JS引用的三种方式2.1标签引用&#xff08;或嵌入式)2.2文件引用&#xff08;外链式&#xff09;2.3行内式 (三).JS三种引用方式的优缺点1.行内方式&#xff1a;2.标签引用&#xff08;或嵌入式&#xff09;&#xff1a;3.文件引…

从0到1入门C++编程——02 通讯录管理系统

文章目录 一、创建结构体及菜单显示二、添加联系人三、显示联系人四、删除联系人五、查找联系人六、修改联系人七、清空联系人八、退出通讯录 本文通过C实现一个通讯录管理系统&#xff0c;系统要实现的功能如下。 1、添加联系人&#xff1a;向通讯录中添加新人&#xff0c;信息…

【2023年终总结:轻舟已过万重山】

&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308; 欢迎关注公众号&#xff08;通过文章导读关注&#xff09;&#xff0c;发送【资料】可领取 深入理解 Redis 系列文章结合电商场景讲解 Redis 使用场景、中间件系列…

【CF比赛记录】—— Good Bye 2023(A、B、C)

&#x1f30f;博客主页&#xff1a;PH_modest的博客主页 &#x1f6a9;当前专栏&#xff1a;CF比赛记录 &#x1f48c;其他专栏&#xff1a; &#x1f534;每日一题 &#x1f7e1; cf闯关练习 &#x1f7e2; C语言跬步积累 &#x1f308;座右铭&#xff1a;广积粮&#xff0c;缓…

【Java进阶篇】 ClassNotFoundException和NoClassDefFoundError的区别是什么?

ClassNotFoundException和NoClassDefFoundError的区别 ✔️典型解析✔️扩展知识仓✔️NoSuchMethodError ✔️典型解析 ClassNotFoundException是一个受检异常 (checked exception) 。他通常在运行时&#xff0c;在类加载段尝试加载类的过程中&#xff0c;找不到类的定义时触发…

IBM介绍?

IBM&#xff0c;全名国际商业机器公司&#xff08;International Business Machines Corporation&#xff09;&#xff0c;是一家全球知名的美国科技公司。它成立于1911年&#xff0c;总部位于美国纽约州阿蒙克市&#xff08;Armonk&#xff09;&#xff0c;是世界上最大的信息…

Python pygame贪吃蛇小游戏 (200行完整代码+注释+可运行)

一、运行效果图 二、完整代码 #!/usr/bin/env python # -*- coding: utf-8 -*- # author&#xff1a;Wangdali time:2021年1月20日16:08:44 #python实现&#xff1a;贪吃蛇游戏玩法&#xff1a;回车开始游戏&#xff1b;空格暂停游戏/继续游戏&#xff1b;方向键/wsad控制小蛇…

SQL之CASE WHEN用法详解

目录 一、简单CASE WHEN函数&#xff1a;二、CASE WHEN条件表达式函数三、常用场景 场景1&#xff1a;不同状态展示为不同的值场景2&#xff1a;统计不同状态下的值场景3&#xff1a;配合聚合函数做统计场景4&#xff1a;CASE WHEN中使用子查询场景5&#xff1a;经典行转列&am…

【Linux】理解文件系统

需要云服务器等云产品来学习Linux的同学可以移步/–>腾讯云<–/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;优惠多多。&#xff08;联系我有折扣哦&#xff09; 文章目录 1. 了解磁盘1.1 磁盘的物理结构1.2 磁盘的逻辑结构1.3 磁盘的存储结构 2. 文件系统2.…

ROS TF坐标变换 - 动态坐标变换

目录 一、动态坐标变换&#xff08;C实现&#xff09;二、动态坐标变换&#xff08;Python实现&#xff09; 一、动态坐标变换&#xff08;C实现&#xff09; 所谓动态坐标变换&#xff0c;是指两个坐标系之间的相对位置是变化的。比如机械臂末端执行器与 base_link 之间&…

考pmp有用么?

PMP考出来究竟有什么用&#xff0c;这个问题一直是站在边缘的朋友经常思考的问题&#xff0c;其实我想说的是&#xff0c;当能力和经验都充足的时候&#xff0c;可能这单单的一张证书就能有莫大的作用&#xff0c;帮助你实现目前所追求的东西。 当我利用这张证书达到我的目的之…