Как использовать диапазон частот на число декад для генерации осциллирующего входа в схеме EIS в python - PullRequest
0 голосов
/ 13 апреля 2020

При моделировании для расчета импеданса для параллельной цепи r c частота вводится путем применения к входам профилей колебательного возбуждения. Указывая входные данные по времени и используя sin (\ omega t), я получу соответствующие частотно-зависимые характеристики. Для моделирования EIS я должен выбрать группу (n = 5-10 за десятилетие) частот в логарифмическом масштабе c, охватывающем, скажем, от 1 Гц до 100 кГц. Это дает мне 5 десятилетий, например, n = 5 баллов, итого 25 симуляций. Кто-нибудь может мне помочь написать код на Python, так как я новичок в этом языке. Мой фрагмент пробного кода выглядит следующим образом:

import matplotlib.pyplot as plt
import numpy as np


start = 10
end = 1500
samples_per_decade = 5

ndecades = np.log10(end) - np.log10(start)
npoints = int(ndecades) * samples_per_decade
#a = np.linspace(log10(start), log10(end), num = npoints)
#points = np.power(10, a)


#Calculate the number of points based on the number of decades in the range.
points = np.logspace(np.log10(start), np.log10(end), num=npoints, endpoint=True, base=10)
print(points)

a=[points]

f = 10  # Frequency, in cycles per second, or Hertz
f_s = 100  # Sampling rate, or number of measurements per second


t = np.linspace(0, 2, 2 * f_s, endpoint=False)
x = np.sin(points* 2 * np.pi * t)

fig, ax = plt.subplots()
ax.plot(t, x)
ax.set_xlabel('Time [s]')
ax.set_ylabel('Signal amplitude');
...