Амплитуда БПФ в Python ⇐ Python

Программы на Python
Anonymous
Амплитуда БПФ в Python

Сообщение Anonymous »

У меня есть следующий код:

Код: Выделить всё

import numpy as np
import matplotlib.pyplot as plt
from scipy.fft import fft, fftfreq

def polarization(t):
f = x*np.cos(2*np.pi*omega*t)/np.sqrt(1+(x*np.cos(2*np.pi*omega*t))**2)
return f

omega = 100
x = 5

N = 10000
t_max = 1
t = np.linspace(0,t_max,N)

yf = fft(polarization(t))
yf = 2.0/N * np.abs(yf[0:N//2])

np.max(yf)
который выводит 1.21. Я не уверен, что понимаю это значение, поскольку максимальное значение, полученное моей функцией, равно 1, поэтому любой частотный компонент должен иметь значение ниже этого.
Как мне преобразовать это значение 1,21 в фактическая амплитуда соответствующей частотной составляющей?

Подробнее здесь: https://stackoverflow.com/questions/790 ... -in-python

Вернуться в «Python»