传递函数硬件化

news2024/11/15 21:29:09

已知一个系统的传递函数,如何进行硬件化呢?
只需要将传递函数离散化,得到差分方程,就可以根据差分方程进行硬件设计。

通过例子说明:
在这里插入图片描述
得到差分方程后,其中y(k)/y(k-1)/y(k-2)/u(k-1)/u(k-2)等代表不同周期系统输入输出数据,根据公式,进行硬件设计计算,即可得到系统输出。

常用的离散化方法有:

前向差分法;
后向差分法:
双线性变换法;
零阶保持器法;
一阶保持器法;
脉冲响应不变法;
前三种方法比较简单,传递函数中,直接用 z和s的关系进行替换就行:
在这里插入图片描述

其中Ts为离散化采样时间。

也可以通过matlab进行转化,下例采用零阶保持法(zoh):
%%-------传递函数离散化------
num=[39610(-9),12*10(-6)];
den=[33
10(-10),10(-13),0];
sys=tf(num,den);
step(sys);
%bode(sys);

ts=0.000001; %1M采样率,对应硬件设计模块运行频率

dsys=c2d(sys,ts,‘zoh’); %zoh method
[num1,den1]=tfdata(dsys,‘v’);
%dbode(num1,den1,ts,‘r’);
%%-------离散化分子分母转换为C语言程序使用------
%%-------+Y/U=0.00012z-0.00012/z^2-2z+1–
%%-------分子分母除以z ^ 2=>0.00012
z ^ (-1)-0.00012z ^ (-2)/1-2z ^ (-1)+z^(-2)–
%%-------y(k)=2y(k-1)-y(k-2)+0.00012u(k-1)-0.00012*u(k-2);
u_1=0.0;u_2=0.0;
y_1=0.0;y_2=0.0;

%%-----阶跃响应验证

for k=1:1:2000
time(k) = k*ts;
yd(k) = 1;
u(k) = 1;

y(k)=-den1(2)*y_1-den1(3)*y_2+num1(2)*u_1+num1(3)*u_2;
u_2=u_1;u_1=u(k);
y_2=y_1;y_1=y(k);

end
figure(2);
%bode(dsys);
plot(time,yd,‘r’,time,y,‘k:’,‘linewidth’,2);
xlabel(‘times(2)’);ylabel(‘yd,y’);
legend(‘yd’,‘y’);

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

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

相关文章

【Spring】Spring状态机

1.什么是状态机 (1). 什么是状态 先来解释什么是“状态”( State )。现实事物是有不同状态的,例如一个自动门,就有 open 和 closed 两种状态。我们通常所说的状态机是有限状态机,也就是被描述的事物的状态的数量是有…

BC161 大吉大利,今晚吃鸡

一&#xff1a;题目 二&#xff1a;思路 三&#xff1a;代码 #include<bits/stdc.h>using namespace std;long long cnt;//柱子定义为x, y, z void move(int n, char x, char y, char z) {if(n 1){//printf("%c -> %c\n", x, y);//最大盘从x->y//prin…

git远程仓库分支推送与常见问题

1.查看远程仓库分支情况 git fetch origin git branch -r2.删除远程仓库中的某一分支(如master) git push origin --delete master问: 如果我的本地文件只有一个分支main,而远程仓库有两个分支Main和CubeMX, 若要将本地文件中新增的文件Test1.txt更改放入CubeMX中&#xff0c…

大数据开发-Hadoop分布式集群搭建

大数据开发-Hadoop分布式集群搭建 文章目录 大数据开发-Hadoop分布式集群搭建环境准备Hadoop配置启动Hadoop集群Hadoop客户端节点Hadoop客户端节点 环境准备 JDK1.8Hadoop3.X三台服务器 主节点需要启动namenode、secondary namenode、resource manager三个进程 从节点需要启动…

Linux操作系统项目上传Github代码仓库指南

文章目录 1 创建SSH key2.本地git的用户名和邮箱设置3.测试连接4.创建仓库5.终端项目上传 1 创建SSH key 1.登录github官网,点击个人头像,点击Settings,然后点击SSH and GPG keys,再点击New SSH key。 Title 可以随便取&#xff0c;但是 key 需要通过终端生成。 Linux终端执行…

窄带波束形成

阵列信号处理有以下三个研究方向&#xff1a; 检测入射信号是否存在&#xff0c;以及入射信号的数目检测入射信号的到达方向&#xff08;DOA)角增强某个感兴趣方向的信号&#xff0c;抑制其他方向的干扰&#xff08;beamforming) 波束形成&#xff08;beamforming&#xff09;…

福州·名城银河湾220㎡现代简约风装修案例分享。福州中宅装饰,福州装修

以手作维度构境, 跳脱约定成俗的风格, 转化内外地域分际, 于静谧中凝聚丰厚的美学能量, 谦虚且沉默以对。 平面设计图 项目信息 项目名称 | 名城银河湾 设计地址 | 福建福州 项目面积 | 220㎡ 项目户型 | 5室2厅2厨3卫 设计风格 | 现代轻奢 首席设计师丨欧阳光玉 中…

STM32 | STM32F407ZE(LED寄存器开发续第二天源码)

上节回顾 STM32 | STM32时钟分析、GPIO分析、寄存器地址查找、LED灯开发(第二天)STM32 | Proteus 8.6安装步骤(图文并茂)一、 LED灯开发 1、理解led灯原理图 LED0连接在PF9 PF9输出低电平(0),灯亮;PF9输出高电平(1),灯灭;(低电平有效) 2、打开GPIOF组时钟 //将…

随机输一次(Python3)

大家应该都会玩“锤子剪刀布”的游戏&#xff1a;两人同时给出手势&#xff0c;胜负规则如图所示&#xff1a; 现要求你编写一个控制赢面的程序&#xff0c;根据对方的出招&#xff0c;给出对应的赢招。但是&#xff01;为了不让对方意识到你在控制结果&#xff0c;你需要隔 K …

网络安全相关证书有哪些?

从事于信息安全工作的人们&#xff0c;在面对繁杂问题的时候&#xff0c;往往会有焦虑和烦躁的表现。一部分可能来自于系统和流程的实际漏洞&#xff0c;一方面可能是自身的能力还有部分短板。许多人认为庞杂的问题或多或少的难以下手&#xff0c;如果有好的方式能够同时解决这…

Linux报错排查-刚安装好的ubuntu系统无法ssh连接

Linux运维工具-ywtool 目录 一.问题描述二.问题解决2.1 先给ubuntu系统配置阿里云源2.2 安装openssh-server软件2.3 在尝试ssh连接,可以连接成功了 三.其他命令 一.问题描述 系统:ubuntu-18.04-desktop-amd64 系统安装完后,想要通过xshell软件连接系统,发现能Ping通系统的IP,但…

计算布尔二叉树的值

题目 题目链接 . - 力扣&#xff08;LeetCode&#xff09; 题目描述 代码实现 class Solution { public:bool evaluateTree(TreeNode* root) {if(root->left nullptr && root->right nullptr) return root->val;bool left evaluateTree(root->left)…

CubeMX使用教程(6)——ADC模拟输出

本篇将利用CubeMX开发工具学习ADC&#xff08;模拟输出&#xff09;的使用 我们还是利用上一章的工程进行二次开发&#xff0c;这样方便 首先打开CubeMX进行相关配置 通过查看G431RBT6开发板有关模拟输出部分的原理图可知&#xff0c;模拟输出用到的IO口是PB15和PB12 接着我…

11、Linux-安装和配置Redis

目录 第一步&#xff0c;传输文件和解压 第二步&#xff0c;安装gcc编译器 第三步&#xff0c;编译Redis 第四步&#xff0c;安装Redis服务 第五步&#xff0c;配置Redis ①开启后台启动 ②关闭保护模式&#xff08;关闭之后才可以远程连接Redis&#xff09; ③设置远程…

接口自动化测试框架搭建:基于python+requests+pytest+allure实现

众所周知&#xff0c;目前市面上大部分的企业实施接口自动化最常用的有两种方式&#xff1a; 1、基于代码类的接口自动化&#xff0c;如&#xff1a; PythonRequestsPytestAllure报告定制 2、基于工具类的接口自动化&#xff0c;如&#xff1a; PostmanNewmanJenkinsGit/svnJme…

【Kotlin】类和对象

1 前言 Kotlin 是面向对象编程语言&#xff0c;与 Java 语言类似&#xff0c;都有类、对象、属性、构造函数、成员函数&#xff0c;都有封装、继承、多态三大特性&#xff0c;不同点如下。 Java 有静态&#xff08;static&#xff09;代码块&#xff0c;Kotlin 没有&#xff1…

和数软件:区块链技术的爆发与冲击

什么是区块链&#xff1f;它是如何发展而来的&#xff1f;应用在哪些领域&#xff1f;将会对我国的社会经济产生哪些重大影响&#xff1f; 什么是区块链 区块链作为一种底层技术&#xff0c;最早的实践是数字货币。根据最早的中本聪定义&#xff0c;区块链实质上是一种基于网…

人工智能|机器学习——Canopy聚类算法(密度聚类)

1.简介 Canopy聚类算法是一个将对象分组到类的简单、快速、精确地方法。每个对象用多维特征空间里的一个点来表示。这个算法使用一个快速近似距离度量和两个距离阈值T1 > T2 处理。 Canopy聚类很少单独使用&#xff0c; 一般是作为k-means前不知道要指定k为何值的时候&#…

借助产品说明书模板,让你轻松制作产品说明书

产品说明书是一种普遍存在的文档&#xff0c;在我们日常生活和工作中&#xff0c;您可能需要为自己的产品或服务创建一个。这是因为产品说明书是介绍产品特性、使用说明、维护方式以及注意事项等内容的有效工具。然而&#xff0c;制作产品说明书可能是一个复杂且困难的过程&…

Python实现一个简单的主机-路由器结构(计算机网络)

说明 本系统模拟实现了一个路由器与两个主机节点。该路由器将接收原始以太网帧&#xff0c;并像真正的路由器一样处理它们&#xff1a;将它们转发到正确的传出接口&#xff0c;处理以太网帧&#xff0c;处理 IPv4 分组&#xff0c;处理 ARP分组&#xff0c;处理 ICMP 分组&…