У меня есть два сигнала a и b в виде двух 1d numpy массивов. Я пытаюсь рассчитать спектральное отклонение двух сигналов как два отдельных значения, то есть среднее спектральное отклонение и максимальное спектральное отклонение.
До сих пор я пробовал это:
Возьмите лог деленияотдельные спектры мощности для расчета максимального и среднего спектрального отклонения
a = np.asarray(signal_a)
b = np.asarray(signal_b)
power_spectrum_a = np.abs(np.fft.fft(a))**2
power_spectrum_b - np.abs(np.fft.fft(b))**2
spectral_dev = np.abs(20*np.log(power_spectrum_a/power_spectrum_b)))
max_spectral_dev = np.max(spectral_dev_in_db)
avg_spectral_dev = np.mean(spectral_dev_in_db)
Правильно ли я делаю это?