Генерация скалограммы сигнала - PullRequest
3 голосов
/ 21 апреля 2010

Я пытаюсь построить представление скелограммы для своего приложения, чтобы увидеть, есть ли соответствующая информация, которую мы можем извлечь из вейвлет-преобразования, в отличие от использования спектрограмм, чтобы посмотреть, что можно извлечь через FFT.

Пока что я могу принимать форму волны и выполнять прямое вейвлет-преобразование на ней. Однако я потерян на следующем шаге. Как я могу превратить эту информацию в информацию о мощности / энергии? У меня есть набор форм волн на разных частотах, но у меня, как я говорю, нет информации о частоте.

Может кто-нибудь сказать мне, что следующий шаг для преобразования этих преобразованных данных в скалограмму?

Любая помощь будет принята с благодарностью, потому что мои навыки работы с Google меня подводят!

Ответы [ 2 ]

4 голосов
/ 22 апреля 2010

При разумных допущениях дискретное вейвлет-преобразование (DWT) разбивает мощность / энергию / дисперсию временного ряда на шкалы. Это энергосберегающее преобразование, в котором полная дисперсия, содержащаяся в исходном временном ряду, содержится в квадратичных вейвлет-коэффициентах (должным образом нормализованных), так же, как и ДПФ! Я думаю, что текст Вейвлет-методы для анализа временных рядов Персиваля и Уолдена является отличным источником информации такого типа.

Теперь непрерывное вейвлет-преобразование (CWT) является избыточным преобразованием, и свойство сохранения энергии (в DWT) больше не сохраняется. Однако вы все равно можете взглянуть на квадратные вейвлет-коэффициенты, чтобы получить «скалограмму», которая похожа на кратковременное преобразование Фурье (STFT; он же спектрограмма).

У Торренса и Компо есть для этого неплохое вейвлет-программное обеспечение с бумагой для объяснения метода (ов) в контексте атмосферных временных рядов. Я уверен, что набор инструментов вейвлета matlab также выполняет CWT и связанную с ним скалограмму.

2 голосов
/ 21 апреля 2010

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

http://www.csse.uwa.edu.au/~pk/Research/MatlabFns/FrequencyFilt/scalogram.m

Я предполагаю, что вы используете matlab для dsp и знаете, как интерпретировать этот m-файл. Наверное, обязательная программа для всего dsp, я думаю.

...