首页 > 其他分享 >尝试讲解一下数字电路和模拟电路的状态方程

尝试讲解一下数字电路和模拟电路的状态方程

时间:2023-05-23 21:01:44浏览次数:37  
标签:仿真 方程 数字电路 电路 步进 讲解 状态方程

        状态方程,也称为状态转移方程。在数字电路的时序逻辑分析和设计中,会用到状态方程。而实际模拟电路中几乎不用,用到的是“电路分析”部分。但是自动控制原理,通常是通过模拟电路实现的,而使用状态方程的方法,通常被称为现代控制理论。这里不研究那么高深的自动控制理论,仅仅简单的通过两个例子,来说明一下,如何使用状态方程,加强一下对状态方程的理解。

        先来看数字电路,以阎石老师版的《数字电子技术基础》为例。时序电路如下:

 

       求解电路的输出,需要三个方程,驱动方程(输入),状态方程和输出方程。

         我们可以先假定J1的初始状态为0,那么就可以依次求解出后续的状态。我们使用电子表格软件计算。其结果如图1所示。

 

图1 使用电子表格计算状态方程

    为了验证我们这种方式的正确性,使用Quartus进行仿真验证一下。在Quartus中新建电路模块如图2所示。

 

图2 在Quartus中绘制仿真电路

     然后编写testbench,其代码如图3所示。

 

图3 仿真电路的Testbench代码

     仿真结果如图4所示。

 

图4 使用Quartus配合ModelSim的仿真结果

      数字电路的状态方程比较好理解,因为数字电路的输出一般只有两种状态。设置了数字电路的各个“状态”的初值,就可以随着时钟“步进”递推计算下一个状态,而输出的结果就由输出方程控制。模拟电路会相对复杂一些。这里以最简单的L、C、R串联电路为例,讲解状态方程在时域的意义。这里以胡寿松老师版的《自动控制原理》为例,如图5所示。这里为了简化,我们不需要后续的矩阵部分,因为矩阵是给计算机看的。

 

图5 RLC电路的状态方程

      状态方程中,状态变量实际是一个导数,我们将这个导数转换成微分。也就是dx/dt的形式转换成dx的形式,那么就需要方程两边乘以dt,这个就是仿真的“步进”时间。有点类似数字电路的时钟。然后输入方程(驱动方程)就是x=x+dx,这个往往是被忽略的。然后看输出方程,同样是与“状态”有关的值。

        这样只要设置初始值和“步进”时间,就可以递推出不同时刻的输出结果(数字电路是离散的,以时钟周期为步进;而模拟电路是连续的,以微小的时间段为步进,在这个时间段内,微分满足线性)。如图6所示。这里电阻设置为100欧,电感设置为1mH,电容设置为1uF,输入电压的初始值Vin为0,然后阶跃为1,这样就可以测试一个阶跃响应。步进时间设置为Δt=1us。图中同样省略了输入方程(驱动方程),即x1=x1+Δx1,x2=x2+Δx2。注意,实际的输入Vin设置为直流1V,在0时刻开始阶跃为1V。当然,Vin也可以变化,因为状态变量本来就是支持多输入和多输出的一种计算方法。这里固定Vin是因为计算方便。

 

图6 依据状态方程递推出的输出结果

       接下来使用LTspice来仿真这一电路,仿真结果如图7所示。对比图6和图7的曲线形状,可以看出电子表格的计算结果与仿真软件的结果近似相同。

 

图7 使用电路仿真软件验证RLC串联电路的阶跃响应

        这时可以看出,时间的步进精度,会影响计算结果的精确度,也会影响计算的次数,进而影响到计算时间的长短。状态方程的意义在于,知道当前的状态,就可以递推之后的状态。可以认为是微分方程的一种解法,取中间变量,将微分方程转换为线性方程,进而可以计算机求解。使用状态方程进行自动化控制的方法通常称为现代控制理论,但是实际上这种方法一点也不“现代”,在很早就已经用于微分方程的求解了。但是随着计算机技术的发展进步,这种方法发挥的作用越来越大。状态变量因为更多的依赖于计算机技术,才被称为“现代”控制理论。

        本文对应的仿真电路以及计算用的电子表格都放置到了百度网盘:

链接:https://pan.baidu.com/s/1HTxyS3Xe3J6POsGeK2iV2Q
提取码:ZTFC

       注:本文只是尝试简单直接的方式来理解状态方程。如有错误,请及时指出,谢谢!

标签:仿真,方程,数字电路,电路,步进,讲解,状态方程
From: https://www.cnblogs.com/integrated-circuit-testing/p/17426359.html

相关文章

  • 第二十二篇——「硬核讲解」通达信如何跨周期引用均线?(从零起步编写通达信指标公式系列
    内容提要:本文主要介绍了编写通达信跨周期引用均线指标公式需要用到的方法,以及在固定位置写文字、数字需要使用的函数,并进行综合运用编写指标公式。 这几天有人问能否实现主图标记不同周期均线价格并按大小实时排序,比如显示60分钟,120分钟,日线,周线,5/10/20/30/60周期均线价格并......
  • 肖sir____面试课程linux_讲解
    linux命令一、linux命令熟悉吗?熟悉二、你用linux命令来操作什么?部署环境、查看日志、编辑配置文件、查看服务进程的进程、查看ip地址、查看端口、查看网络状态、杀进程、修改权限等三、你讲下liunx中常用的命令有哪些?(1)按常用的命令讲解(随意讲)比如:tail-f查看日志、kill-9......
  • flink CEP 讲解 和实例
     1,Flink介绍  Flink是一个分布式的基于状态计算的流处理计算引擎,或者说框架,可以处理有边界流数据和无边界流数据,在内存中执行计算,而且具有任意扩展计算能力。最初由柏林工业大学的xxx小组研发,后被阿里巴巴收购。初略看起来,和spark功能类似,但是某些特征优于spark。 Flin......
  • [SEO知识讲解] 标题关键词顺序能影响排名吗?
    本文转载自:[SEO知识讲解]标题关键词顺序能影响排名吗?更多内容请访问钻芒博客:https://www.zuanmang.net与seo同行聊天,内容是关于网站标题中的关键词顺序能否影响关键词排名,有的说会影响,有的说不会影响,各有各的理由。从百度官方的回复来看,是否定答案。对于百度的某些官方说法,我一......
  • [SEO知识讲解] 百度推出惊雷算法SEO大神100条实战经验(二)!(完结)
    本文转载自:[SEO知识讲解]百度推出惊雷算法SEO大神100条实战经验(二)!(完结)更多内容请访问钻芒博客:https://www.zuanmang.net[SEO知识讲解]百度推出惊雷算法SEO大神100条实战经验(一)接后续:四、关键词研究57、关键字是你的指南针——如果你不了解你的关键词,你不知道你的关键词......
  • [SEO知识讲解] 百度推出惊雷算法
    本文转载自:[SEO知识讲解]百度推出惊雷算法更多内容请访问钻芒博客:https://www.zuanmang.net利用点击等用户行为,来提升网站关键词排名,已经是seo行业公开的秘密。对于这个行为,百度是不会不知晓的,百度准备推出惊雷算法,来打击刷点击作弊行为,就是在这个背景下产生的。据相关渠道获悉......
  • [SEO知识讲解] 百度推出惊雷算法 SEO大神100条实战经验(一)
    本文转载自:[SEO知识讲解]百度推出惊雷算法SEO大神100条实战经验(一)更多内容请访问钻芒博客:https://www.zuanmang.net文章是老的,东西是好(经典)的。做SEO的必读!这是一篇翻译的文章,原作者是BrianDean,一个很厉害的SEO工作者。他通过自身5年的SEO工作经验总结了100个经验教训,涉......
  • [SEO知识讲解] 百度判定优质内容的几个维度
    本文转载自:[SEO知识讲解]百度判定优质内容的几个维度更多内容请访问钻芒博客:https://www.zuanmang.net内容建设是seo优化人员的基础工作,如何为网站制作大量的高质量内容也是一个老生常谈的问题。实际上,在百度的眼中,网站的内容包括但不限于文字,图片,链接,多媒体信息等。在这里,重点......
  • [SEO知识讲解] 百度竞价与seo的关系
    本文转载自:[SEO知识讲解]百度竞价与seo的关系更多内容请访问钻芒博客:https://www.zuanmang.net从百度算法方面考虑,百度的竞价推广与seo关键词排名是没有关系的,从用户行为的角度分析,是有一定的因果关系的。有和做百度竞价推广的朋友聊天,说是网站一直在使用竞价做推广,后期因为业......
  • [知识讲解] 做seo,这些知识你知道吗?
    本文转载自:[知识讲解]做seo,这些知识你知道吗?更多内容请访问钻芒博客:https://www.zuanmang.netseo就是“说起来简单,做起来难”。简单到网上到处是seo的专业知识和方法,难在能做好的真是寥寥无几。加深对seo技术的理解,仅仅掌握强相关的seo理论是不够的,还需要了解甚至于精通与seo相......