2016-12-12 8 views
0

У меня есть этот сигнал, для которого я хочу рассчитать доминирующую длину волны, которая будет расстоянием между ярко выраженными минимумами, где происходят колебания: enter image description here Какой инструмент в scipy я должен смотреть для этой миссии?Python: обнаружение доминирующей длины волны сигнала

ответ

1

Это зависит от того, откуда вы получаете данные.

Если у вас есть только (х, у) точек графика, вы можете взломать его, принимая все x соответствующего минимальному y (будьте осторожны с плавающей точкой равенств, хотя), или использовать Фурье преобразовать, идентифицировать основную волну (наибольшую амплитуду) и вывести ее длину волны. Для последнего вы использовали бы быстрое преобразование Фурье из scipy: https://docs.scipy.org/doc/scipy-0.18.1/reference/tutorial/fftpack.html#fast-fourier-transforms

Если у вас есть функциональное описание функции, попробуйте, как вы это делаете, для построения графика и применения вышеуказанного, или возьмите его производную, чтобы найти минимумы математически (лучший метод). Вы также можете использовать scipy, чтобы найти минимумы численно (https://docs.scipy.org/doc/scipy-0.18.1/reference/generated/scipy.optimize.minimize.html), но вам нужно вручную указать интервалы, которые содержат только один локальный минимум.

 Смежные вопросы

  • Нет связанных вопросов^_^