python中怎么产⽣阶跃函数_Python计算RC电路响应
未经私信同意禁⽌转载!
前⾔
今天就抽取这篇⽂章的⼀部分,简要地介绍⼀下如何使⽤Python计算RC电路的阶跃响应,并展⽰了当输⼊为正弦波时,RC低通滤波电路的输出。
⼀、基本的理论
下图是⼀个典型的RC电路和它的阶跃响应
在这个简单电路中流动的瞬时电流与电阻两端的电压成正⽐,电容器电压变化的速率也与电流成正⽐。在零时,电容两端的电压为零,因此电阻的电压和电路的电流最⼤。 随着时间的推移,电容器两端的电压增加,导致电阻器的电压下降。这意味着电路的电流下降,导致电容器的电压变化率下降。换⼀句话说,电容器电压接近电源电压的速率与电容器和电源之间的剩余电压差逐步下降。
在零时刻,输出电压等于0:
在以后的任意时刻,1A的电流会导致1F电容以1V/s的速率改变电压。我们⽤差分⽅程形式来表⽰这⼀计算:
vi(n)=vi(n−1)+(v−vi(n−1))*tc
其中v是系统输⼊电压,tc为时间常数,它表⽰了相邻时刻的电压变化。输⼊电压与输出电压的压差乘以时间常数tc就是充电量。tc计算式为:
tc = 1.0 / (r * c * sample_rate)
⼆、阶跃响应的计算
python怎么读的RC电路的参数是10K和100uF。我们⽤4k的采样率来对模拟信号进⾏抽样。初始时刻电路输出电压为0,以后的任意时刻⽤上⾯的差分⽅程来计算。差分⽅程在程序中的具体形式是这样的:
vi += (v-vi) * tc
这⼀点应该不难理解。
对于⼀个阶跃信号,其Pyhon 源码如下:
import
运⾏结果如下:
阶跃响应
三、正弦型号的输出
当我们给RC电路输⼊正弦信号的时候,计算过程和阶跃函数其实样的,只要把阶跃函数的输出电压替换成正弦信号即可,源码如下:import
运⾏结果如下:
其中黄⾊线是输出信号。
后记
使⽤Pyhon可以完成⼀些电路计算,当然这需要你对电路的原理和数学形式有很深的了解,并且需要你有⾜够好的编程能⼒对这些计算进⾏实现。当然现在,很多软件都已经完成各种形式的电路仿真计算,应该有很多以前的代码可以借鉴。原⽂的作者⽤这种⽅式进⾏滤波器的设计,有兴趣的读者可以去了解下。
进⼊我的主页,你可以看到Pyhon是如何在MCU和FPGA上应⽤的,甚⾄你能看到使⽤Python来进⾏硬件描述语⾔的编程。关注我的专栏《电⼦⼯程师有多⽆聊》你可以看到更多Pyhon在硬件领域的应⽤,希望能给你的⼯作带来帮助。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论