Добрый день.
Вот у меня есть табл. функции An(tn)
, где Аn
-амплитуда сигнала в n-ной точке, tn
-время, соотв. n-ной точке. Хочу получить В(f)
, где f-частота сигнала, а В-относительная (относительно других частот) амплитуда частоты.
Но вот незадача: функции, например, в scipy
или numpy
принимают только один массив, и в каких-либо примерах я видел только как в функцию fft
передают только амплитудный массив An
.
Насколько я понимаю, в таких случаях подразумевается, что точки распределены линейно во времени, т.е. t(n+1)-t(n)==t(n)-t(n-1)
. Но что, если не так?
Хорошо, допустим я решу эту проблему и буду иметь таблицу с равным расстоянием по времени между точками.
Но тут я нашёл, например, библиотеку pocketfft на плюсы (вроде бы scipy
использует именно её, но не суть). Там вообще есть преобразования c2r, c2c, r2c, r2r
. Что c-complex, a r-real, это я понял, а что это и зачем - не совсем.
Плюс везде есть возможность запихнуть многомерный массив в подобную функцию и я не могу понять - это мой случай или нет? По идее функция-то A(t)
у меня одномерная.
PS: буду крайне благодарен, если приведёте пример, похожий на мой на плюсах. Собственно с примером дальше и сам разберусь