Как получить временной ряд на основе спектрограммы в Python? - PullRequest
0 голосов
/ 18 мая 2018

У меня есть временной ряд, и я генерирую его спектрограмму в Python с помощью matplotlib.pyplot.specgram.После того, как я сделаю некоторый анализ и изменения, мне нужно преобразовать спектрограмму обратно во временные ряды.Есть ли какая-либо функция в matplotlib или в другой библиотеке, которую я могу использовать напрямую?Или, если нет, не могли бы вы уточнить, в каком направлении мне следует работать?

Мы ценим вашу теплую помощь.

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Обычно делается одна вещь (например, в сообществе разделения источников) - использовать данные фазы исходного сигнала (до преобразования, где он применяется к нему) - результат намного лучше, чем нулевая или случайная фаза, и не так далекоиз алгоритмов, направленных на восстановление фазовой информации с нуля.

Классическим алгоритмом реконструкции является метод Гриня и Лима, описанный в статье «Оценка сигнала из модифицированного кратковременного преобразования Фурье».Это итеративный алгоритм, каждая итерация требует полного STFT / обратного STFT, что делает его довольно дорогостоящим.

Эта проблема действительно является активной областью исследования, поиск STFT + реконструкция + величина даст множестводокументы, направленные на улучшение Griffin & Lim с точки зрения качества сигнала и / или вычислительной эффективности.

Подробное обсуждение можно найти здесь Тема на DSP Exchange Stack Exchange

0 голосов
/ 18 мая 2018

Matplotlib - это библиотека для построения графиков данных.Обычно, если вы пытаетесь выполнить какое-либо вычисление, вы используете библиотеку, подходящую для этого.

numpy - очень популярная библиотека для выполнения численных вычислений в Python.Просто так получилось, что у них довольно обширный набор методов fft и ifft.

Я бы проверил их здесь и посмотрел, могут ли они решить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...