simulink离散传递函数得到差分方程并用C语言实现

一. 创建连续时间的传递函数

G ( s ) = s 2 + 217 s s 2 + 384 s + 8989 G(s) = \frac{s^2+217s}{s^2+384s+8989} G(s)=s2+384s+8989s2+217s

二. 离散连续时间的传递函数G(s)

2.1 在matlab中用c2d函数双线性变换法离散G(s),

下面是matlab脚本代码

% 创建连续时间传递函数
num = [1 217 0];
den = [1 384 8989];
sys_c = tf(num, den);
% 设置采样时间
Ts = 0.001;
% 离散化传递函数(使用 tustin 方法)
sys_d = c2d(sys_c, Ts, 'tustin');
sys_d
% 查看离散化后的传递函数
disp('离散化后的传递函数:');
disp(sys_d);

2.2 matlab命令行显示结果

运行上面脚本代码后,matlab命令行显示的结果如下图,得到离散传递函数为
H ( z ) = 0.9282 z 2 − 1.6747 z + 0.7465 z 2 − 1.6709 z + 0.6785 H(z) = \frac{0.9282z^2-1.6747z+0.7465}{z^2-1.6709z+0.6785} H(z)=z21.6709z+0.67850.9282z21.6747z+0.7465
在这里插入图片描述
- z 的正幂形式

所有项均乘以最高次幂 z 2 z^2 z2(即将负幂形式清理为正幂形式)
常用于标准传递函数表达中,这样便于与连续系统的形式类比
H ( z ) = 0.9282 z 2 − 1.6747 z + 0.7465 z 2 − 1.6709 z + 0.6785 H(z) = \frac{0.9282z^2-1.6747z+0.7465}{z^2-1.6709z+0.6785} H(z)=z21.6709z+0.67850.9282z21.6747z+0.7465
- z 的负幂形式

所有项均除以最高次幂 z 2 z^2 z2,即 z − 1 z^{-1} z1 表示一个采样时刻的延迟, z − 2 z^{-2} z2 表示两个采样时刻的延迟,
常用于传递函数的数字实现分析中,与差分方程直接相关
H ( z ) = 0.9282 − 1.6747 z − 1 + 0.7465 z − 2 1 − 1.6709 z − 1 + 0.6785 z − 2 H(z) = \frac{0.9282-1.6747z^{-1}+0.7465z^{-2}}{1-1.6709z^{-1}+0.6785z^{-2}} H(z)=11.6709z1+0.6785z20.92821.6747z1+0.7465z2

三. 求出离散传递函数H(z)的差分方程

离散传递函数的标准形式

H ( z ) = Y ( z ) U ( z ) = b 0 + b 1 z − 1 + b 2 z − 2 1 + a 1 z − 1 + a 2 z − 2 H(z) = \frac{Y(z)}{U(z)}= \frac{b_0+b_1z^{-1}+b_2z^{-2}}{1+a_1z^{-1}+a_2z^{-2}} H(z)=U(z)Y(z)=1+a1z1+a2z2b0+b1z1+b2z2
其中:

  • Y(z) 和 𝑈(𝑧) 是输出和输入信号的 Z 变换

  • b 0 b_0 b0, b 1 b_1 b1, b 2 b_2 b2是传递函数分子(与输入信号的关系)

  • a 1 a_1 a1, a 2 a_2 a2是传递函数分母(与输出信号的关系)

3.1 求解传递函数的负幂形式得到差分方程Y(z)

Y ( z ) U ( z ) = 0.9282 − 1.6747 z − 1 + 0.7465 z − 2 1 − 1.6709 z − 1 + 0.6785 z − 2 \frac{Y(z)}{U(z)}= \frac{0.9282-1.6747z^{-1}+0.7465z^{-2}}{1-1.6709z^{-1}+0.6785z^{-2}} U(z)Y(z)=11.6709z1+0.6785z20.92821.6747z1+0.7465z2

  • 去掉分母

Y ( z ) ⋅ ( 1 − 1.6709 z − 1 + 0.6785 z − 2 ) = U ( z ) ⋅ ( 0.9282 − 1.6747 z − 1 + 0.6785 z − 2 ) Y(z) \cdot (1-1.6709z^{-1}+0.6785z^{-2}) = U(z) \cdot (0.9282-1.6747z^{-1}+0.6785z^{-2}) Y(z)(11.6709z1+0.6785z2)=U(z)(0.92821.6747z1+0.6785z2)

  • 左右两边同时展开

Y ( z ) − 1.6709 z − 1 Y ( z ) + 0.6785 z − 2 Y ( z ) = 0.9282 U ( z ) − 1.6747 z − 1 U ( z ) + 0.6785 z − 2 U ( z ) Y(z) -1.6709z^{-1}Y(z)+0.6785z^{-2}Y(z)= 0.9282U(z)-1.6747z^{-1}U(z)+0.6785z^{-2}U(z) Y(z)1.6709z1Y(z)+0.6785z2Y(z)=0.9282U(z)1.6747z1U(z)+0.6785z2U(z)

  • 移项得到Y(z)

Y ( z ) = 0.9282 U ( z ) − 1.6747 z − 1 U ( z ) + 0.6785 z − 2 U ( z ) + 1.6709 z − 1 Y ( z ) − 0.6785 z − 2 Y ( z ) Y(z) = 0.9282U(z)-1.6747z^{-1}U(z)+0.6785z^{-2}U(z)+ 1.6709z^{-1}Y(z) -0.6785z^{-2}Y(z) Y(z)=0.9282U(z)1.6747z1U(z)+0.6785z2U(z)+1.6709z1Y(z)0.6785z2Y(z)

3.2 将 z − 1 z^{-1} z1表示为时域延迟

从Z-变换的性质, z − 1 z^{-1} z1 表示信号延迟一个采样周期(即𝑘 → 𝑘−1)因此

  • z − 1 Y ( z ) z^{-1}Y(z) z1Y(z) 表示 y [ k − 1 ] y[k−1] y[k1]

  • z − 2 Y ( z ) z^{-2}Y(z) z2Y(z) 表示 y [ k − 2 ] y[k−2] y[k2]

  • 同理 z − 1 U ( z ) z^{-1}U(z) z1U(z) 表示 u [ k − 1 ] u[k−1] u[k1] z − 2 U ( z ) z^{-2}U(z) z2U(z) 表示 u [ k − 2 ] u[k−2] u[k2]

带入差分方程Y(z) 中的得到
Y ( z ) = 0.9282 u [ k ] − 1.6747 u [ k − 1 ] + 0.6785 u [ k − 2 ] + 1.6709 y [ k − 1 ] − 0.6785 y [ k − 2 ] Y(z) = 0.9282u[k]-1.6747u[k−1]+0.6785u[k−2]+ 1.6709y[k−1]-0.6785y[k−2] Y(z)=0.9282u[k]1.6747u[k1]+0.6785u[k2]+1.6709y[k1]0.6785y[k2]

四. 差分方程Y(z) 的C代码实现

  • u[k] :本次输入值

  • Y(z):本次输出值

MCU代码中带入u[k] 时,需乘以采样周期Ts
Y ( z ) = 0.9282 u [ k ] − 1.6747 u [ k − 1 ] + 0.6785 u [ k − 2 ] + 1.6709 y [ k − 1 ] − 0.6785 y [ k − 2 ] Y(z) = 0.9282u[k]-1.6747u[k−1]+0.6785u[k−2]+ 1.6709y[k−1]-0.6785y[k−2] Y(z)=0.9282u[k]1.6747u[k1]+0.6785u[k2]+1.6709y[k1]0.6785y[k2]

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

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

相关文章

搭建私有链

文章目录 1. 准备工作2. 创建创世区块配置文件2.1 创建数据目录2.2 创建创世区块配置文件1. “config”部分2. “alloc”部分3. “coinbase”4. “difficulty”5. “extraData”6. “gasLimit”7. “nonce”8. “mixhash”9. “parentHash”10. “timestamp” 3. 初始化&#x…

AI Alignment: A Comprehensive Survey---治理

治理 除了技术解决方案之外,治理(规则的制定和执行)对于确保人工智能系统的安全开发和部署也是必不可少的。在本节中,我们将通过探索人工智能治理的作用、利益相关者在治理人工智能方面的功能和关系以及有效人工智能治理面临的若干…

CNN、RNN、LSTM和Transformer之间的区别和联系

文章目录 CNN、RNN、LSTM和Transformer之间的区别和联系前言CNN(卷积神经网络)RNN(循环神经网络)LSTM(长短期记忆网络)Transformer四者之间的联系与区别Yolo算法简介Yolo和CNN的关系YOLO各版本 CNN、RNN、L…

Java中通过ArrayList扩展数组

在Java中,ArrayList 是一个动态数组实现,能够根据需要自动调整其大小。与传统的数组不同,ArrayList 不需要预先指定大小,并且提供了许多方便的方法来操作集合中的元素。下面将详细介绍如何使用 ArrayList 进行数组的扩展&#xff…

dify.ai和fastgpt,各有什么优缺点,有什么区别

从专业技术角度来看,Dify.ai 和 FastGPT 的区别可以从 架构设计、技术生态、适用场景和性能优化 四个方面进行深入对比: 1. 架构设计 Dify.ai: 云端优先: 主要基于 SaaS(Software as a Service)模式&…

深度学习之超分辨率算法——FRCNN

– 对之前SRCNN算法的改进 输出层采用转置卷积层放大尺寸,这样可以直接将低分辨率图片输入模型中,解决了输入尺度问题。改变特征维数,使用更小的卷积核和使用更多的映射层。卷积核更小,加入了更多的激活层。共享其中的映射层&…

小程序UI自动化测试实践:Minium+PageObject !

小程序架构上分为渲染层和逻辑层,尽管各平台的运行环境十分相似,但是还是有些许的区别(如下图),比如说JavaScript 语法和 API 支持不一致,WXSS 渲染表现也有不同,所以不论是手工测试&#xff0c…

堆的深度剖析及使用

目录 1.堆的创建1.1初始化1.2销毁 2.堆的使用2.1数据插入2.2堆顶元素2.3数据删除 3.堆的难点3.1向上调整3.1.1视频分析向上调整3.1.2 代码分析 3.2向下调整3.2.1视频分析向下调整3.2.2代码分析 1.堆的创建 堆的物理储存方式其实是一个数组,而逻辑储存方式其实是一个…

Hu矩原理 | cv2中基于Hu矩计算图像轮廓相似度差异的函数cv2.matchShapes【小白记笔记】

Hu 矩(Hu Moments) 是一种用于描述轮廓形状的 不变特征。它基于图像的矩提取,经过数学变换得到 7 个不变矩,这些不变矩在图像 平移、旋转和缩放等几何变换下保持不变,适合用来衡量轮廓或形状的相似度差异。 1、图像矩…

计算无人机俯拍图像的地面采样距离(GSD)矩阵

引言 在无人机遥感、测绘和精细农业等领域,地面采样距离(Ground Sampling Distance,简称 GSD)是一个非常重要的指标。GSD 是指图像中每个像素在地面上实际代表的物理距离,通常以米或厘米为单位。GSD 决定了图像的空间…

浅谈怎样系统的准备前端面试

前言 创业梦碎,回归现实,7 月底毅然裸辞,苦战两个月,拿到了美团和字节跳动的 offer,这算是从业以来第一次真正意义的面试,遇到蛮多问题,比如一开始具体的面试过程我都不懂,基本一直是…

深度学习-74-大语言模型LLM之基于API与llama.cpp启动的模型进行交互

文章目录 1 大模型量化方法1.1 GPTQ(后训练量化)1.2 GGUF(支持CPU)1.3 AWQ(后训练量化)2 llama.cpp2.1 功能2.1.1 Chat(聊天)2.1.2 Completion(补全)2.2 运行开源LLM2.2.1 下载安装llama.cpp2.2.2 下载gguf格式的模型2.2.3 运行大模型3 API访问3.1 调用补全3.2 调用聊天3.3 提取…

sql server 字符集和排序

英文: Latin1_General_CI_AS 中文:Chinese_PRC_CI_AS 影响字符存储,解释用户存在单字节字符类型(char,varchar等)里面的数据 字符排序规则(是否区分大小写等) 中国的用户一定要注意…

【docker】列出与特定镜像名相关的镜像

目录 1. 说明2. 列出所有镜像3. 使用镜像名过滤4. 列出特定标签的镜像5. 结合多个过滤条件6. 使用 JSON 格式和 jq 工具 1. 说明 1.在 Docker 中,如果你想列出与特定镜像名相关的镜像,可以使用 docker images 命令并结合过滤选项(如 --filte…

Elasticsearch 实战应用:开启数据搜索与分析新征程

在当今信息爆炸的时代,高效的数据搜索与分析能力成为众多企业和开发者追求的目标。Elasticsearch 作为一款强大的分布式搜索和分析引擎,正逐渐成为数据处理领域的核心工具之一。在我们的教学过程中,旨在让学生深入理解并熟练掌握 Elasticsear…

Navicat 17 功能简介 | SQL 美化

SQL美化 本期,我们将深入挖掘 Navicat 的实用的SQL代码美化功能。你只需简单地点击“SQL 美化”按钮,即可轻松完成 SQL 的格式化。 随着 17 版本的发布,Navicat 也带来了众多的新特性,包括兼容更多数据库、全新的模型设计、可视化…

2009 ~ 2019 年 408【数据结构】大题解析

2009 年 讲解视频推荐:【BOK408真题讲解-2009年(催更就退网版)】 1. 图的应用(10’) 带权图(权值非负, 表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间…

时空AI赋能低空智能科技创新

随着人工智能技术的不断进步,时空人工智能(Spatio-Temporal AI,简称时空AI)正在逐渐成为推动低空经济发展的新引擎。时空AI结合了地理空间智能、城市空间智能和时空大数据智能,为低空智能科技创新提供了强大的数据支持…

SamOut 任意长度推理空间不变

项目地址 import numpy as np import pandas as pd import torch from tqdm import tqdmfrom infer_model import SamOutdef load_model_and_voc(device"cpu"):voc pd.read_pickle("total_voc.pkl")net SamOut(len(voc["voc"]), 1024 512, 64…

17.springcloud_openfeign之扩展组件一

文章目录 一、前言二、默认约定配置FeignAutoConfigurationCachingCapabilityFeignCachingInvocationHandlerFactoryFeignJacksonConfiguration熔断器配置FeignCircuitBreakerTargeterFeignCircuitBreaker.Builder FeignClientsConfigurationCircuitBreakerFactory 总结 一、前…