如何使用python计算功率与时间图的上升时间,功率过冲和稳定时间

问题描述 投票:3回答:1

我正在尝试测量python中功率与时间(信号输出)图的上升时间,功率过冲和建立时间。您知道一个允许我计算这三个参数的python函数吗?

3个参数定义如下:1.上升时间=从“接通”功率输出值的10%变为90%的时间2.过冲百分比=((最大功率值)-(最终“接通”功率值))/(最终“接通”功率值)3.建立时间=信号功率输出在稳态值的x%以内的时间

[功率(幅度)与时间的关系图类似于Matlab的stepinfo指南https://uk.mathworks.com/help/control/ref/stepinfo.html中的第一幅图

我有一个包含功率和时间值的.csv文件,因此我将它们作为数据帧加载并绘制功率与时间的关系图。但是从这张图中,我不确定如何计算我需要的3个参数

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)')
python signals electronics
1个回答
0
投票

如果您的Power响应像二阶阶跃响应(如Matlab的stepinfo指南中所示)

快速方法

  1. 您需要先找到“稳态值”。如果您具有真正的价值,则可以使用,如果没有,您需要捕获足够长的时间,并将csv中的最终值用作“稳态值”]
  2. 对于csv中的第一个数据作为“起始值”,您现在可以找到功率超过稳态值的90%的时间序列
  3. 您可以在csv上找到最大值并与稳态值进行比较以获得%OS
  4. 您可以从最后一个值向后追溯,找到第一个跨越稳态值+-x%的数据

精确方式

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

© www.soinside.com 2019 - 2024. All rights reserved.