首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用python计算幂-时图的上升时间、功率超调和稳定时间

如何用python计算幂-时图的上升时间、功率超调和稳定时间
EN

Stack Overflow用户
提问于 2019-06-25 16:12:33
回答 1查看 4.7K关注 0票数 4

在python中,我试图测量功率对时间(信号输出)图的上升时间、功率超调和稳定时间。您知道python函数允许我计算这3个参数吗?

这3个参数的定义如下:

  1. 上升时间=功率输出值从10%上升到90%的时间
  2. %超调=((最大功率值)-(最后‘关于’功率值)/(最后‘对’功率值)
  3. 稳定时间=信号输出功率在稳定状态值x%以内的时间

功率(幅值)与时间图类似于Matlab逐步信息指南https://uk.mathworks.com/help/control/ref/stepinfo.html上的第一张图。

我有一个带有power和time值的.csv文件,所以我将这些文件作为一个数据文件加载,并对时间进行绘图。但是从这张图中,我不知道如何计算我需要的三个参数。

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
import csv
import pandas as pd


time = [] # initialise time array
power = [] # initialise power array

df_csv = pd.read_csv('PvsV_SOA_comma.csv') # loads .csv file as a pandas 
dataframe

time = df_csv.iloc[:, 0] # sets time array equal to data in 1st (index 
from 0) column of datafram, selecting all rows
power = df_csv.iloc[:, 1] # sets voltage array

plt.plot(time, voltage) 
plt.xlabel('Time (s)')
plt.ylabel('Power (W)')
EN

回答 1

Stack Overflow用户

发布于 2020-05-02 02:00:35

如果您的功率响应类似于二阶阶跃响应(如Matlab的步骤信息指南所示)

快速法

  1. 首先要找到“稳态值”。如果你有实际价值,你可以使用它如果不是,你需要捕获足够长,并使用最后的值在csv作为“稳态值”。
  2. 对于csv中的第一个数据为“开始值”,现在您可以找到功率超过稳态值90%的时间序列。
  3. 您可以在csv上找到最大值,并与稳态值进行比较,得到%OS
  4. 您可以从最后一个值追溯到第一个数据,这些数据超过稳态值的+- x%。

精确方式

您需要了解您的系统模型,并使用csv文件运行系统标识。然后得到模型参数,计算出更精确的时间响应特性。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56758178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档