Чтение графика вейвлет-преобразования

15

У меня проблемы с пониманием того, как читать график, построенный с помощью вейвлет-преобразования,

вот мой простой код Matlab,

load noissin;
% c is a 48-by-1000 matrix, each row 
% of which corresponds to a single scale.
c = cwt(noissin,1:48,'db4','plot');

введите описание изображения здесь

Таким образом, самая яркая часть означает, что размер масштабируемого кофе больше, но как именно я могу понять этот сюжет, что там происходит? Пожалуйста, помогите мне.

Суфиян Гори
источник
я попытался следующий код в Matlab T = 0: 0,001: 2; y = sin (2 * pi * 20 * t) wname = 'cmor0,5-1' масштаб = 1: 0,1: 80; центнер (у, масштаб, wname, 'участок'); я получил следующий сюжет! введите описание изображения здесь реальные и мнимые части, показывающие промежутки, которые наблюдаются в CWT с вейвлетом Морла. Таким образом, CWT со сложным вейвлетом морлета тоже содержит информацию о фазе. Как это объяснить ??

Ответы:

15

Представьте себе на секунду, что вы только что нарисовали свой вейвлет daubechies-4 , как вы можете видеть здесь красным.

введите описание изображения здесь

Теперь представьте, что вы берете эту форму сигнала красным и просто делаете взаимную корреляцию с вашим сигналом. Вы планируете этот результат. Это будет первый ряд вашего сюжета. Это масштаб 1. Затем вы расширяете свой вейвлет Daubechies-4 (то есть вы просто заставляете его «растягивать» его во времени, по некоторому фактору). Затем вы снова делаете взаимную корреляцию этого нового сигнала с вашим сигналом. Затем вы получите второй ряд вашего сюжета. Это шкала-2. Вы продолжаете делать это для всех шкал, что означает, что вы продолжаете брать свой исходный «материнский» вейвлет, и вы продолжаете расширять, затем взаимно коррелировать, расширять и взаимно коррелировать, и т. Д., И вы просто наносите результаты один на верхнюю часть другие.

Это то, что сюжет CWT показывает вам. Результаты выполнения взаимной корреляции вашего сигнала с вейвлетом в разных масштабах, то есть при разных коэффициентах расширения (растяжения).

Итак, позвольте нам интерпретировать ваше изображение. В первом ряду вы можете видеть, что у вас есть слабые амплитуды в вашей взаимной корреляции. Это означает, что он говорит вам, что почти ничего в вашем сигнале не коррелирует (или «соответствует») вашему вейвлету, когда он находится в масштабе 1 (когда он находится в наименьшем масштабе). Вы продолжаете растягивать свой вейвлет и корреляцию, и все же он не соответствует ничему в вашем сигнале, пока не достигнете, скажем, масштаба 31. Поэтому, когда вы растягиваете свой вейвлет 31 раз и выполняете взаимную корреляцию, вы начинаете видеть некоторые яркие пятна, что означает, что вы получаете хорошие оценки взаимной корреляции между вашим растянутым вейвлетом и вашим сигналом.

Однако если вы посмотрите на самый верх, у нас самые яркие пятна. Таким образом, для масштаба-46 вы создали этот ряд, растянув исходный вейвлет в 46 раз, а затем взаимно коррелировали его с вашим сигналом, а затем это ваш ряд-46. Итак, вы видите много хороших ярких пятен. Вы можете видеть, что в позициях (ось X) ~ 25, ~ 190 и ~ 610 у меня есть яркие пятна. Это говорит о том, что у вас есть некоторая особенность в вашем сигнале, которая очень близко соответствует вашему вейвлету, который растягивается в 46 раз . Таким образом, у вас есть «что-то» в тех местах, которые близко соответствуют вашему вейвлету в этом масштабе

(Конечно, в вашем случае вы использовали шум, поэтому позиции, о которых я говорил, являются случайными, то есть ничего действительно «интересного» не происходит. Проведите CWT с синусоидальным импульсом, и то, что я говорю, может будет прояснено для вас.)

Таким образом, CWT просто показывает вам все возможные оценки корреляции между вашим шаблоном / совпавшим фильтром (в данном случае вейвлет daub-4), в разных позициях (ось x), а также при разных коэффициентах растяжения (ось y) ,

Надеюсь, это помогло.

ошалевший
источник
Большое спасибо, это действительно помогло, но как вы могли бы сказать, что этим процессом я узнал частоту и время моего сигнала?
Суфиян Гори
1
@ Влиятельный Вы нашли «время» появления некоторой функции в своем сигнале, по которой вы получаете максимальные значения корреляции. (Пример, ~ 25, ~ 190, ~ 610) в вашем примере. Чтобы получить частотный контент вашего сигнала в этой точке, вы можете просто посмотреть на БПФ той части вашего сигнала, ИЛИ вы можете посмотреть на БПФ вашего вейвлета в этом масштабе и посмотреть на его частотную характеристику.
Спейси
Итак, мы предполагаем принимать DCT после вейвлета, чтобы иметь как временную, так и частотную составляющие? Если у меня синусоида (ось x = время, ось y = амплитуда) и если я беру ее БПФ, то у меня есть частотные составляющие из составляющих fft и времени из исходного сигнала, тогда почему мы предполагаем использовать вейвлет?
Суфиян Гори
1
@Effect Причина, по которой вы используете DFT / DCT, заключается в получении глобального частотного контента. DFT / DCT сообщает ваш частотный контент для всего сигнала. Где одна конкретная частота во времени? Вы не знаете Однако, если вы используете вейвлеты, вы можете узнать не только, какая у вас частота (аналогично DFT / DCT), но и где у вас эта частота. (Расположение во времени).
Спейси
Для записи, частота существует только как глобальная концепция. Как только вы начинаете пытаться определить частоту до определенного периода времени, вы действительно говорите о распределении частот. Распределение сужается по мере увеличения промежутка времени или масштаба. Вычисление ДПФ вейвлетов разного масштаба даст вам представление о том, как интерпретировать связанные результаты преобразования обратно в частотную область; думаю полосовой фильтр. Вейвлет Морле имеет хорошо гауссово распределение частот, которое хорошо подходит для связи с понятиями Фурье. @endolith затронул это в своем ответе.
user2718
11

Эти графики были полезны для меня, исходя из опыта STFT :

Комплекс Морло (синусоидальное) вейвлет выглядит и ведет себя как сложное ядро в STFT (так как она происходит от преобразования Габора , типа STFT). Когда вы «пропускаете его» мимо сигнала той же частоты, он совпадает, независимо от фазы измеряемого вами сигнала, производя измерение амплитуды и фазы в каждой точке (и это только график величины):

Величина комплексного вейвлет-преобразования Морле

График зависимости комплексного вейвлет-преобразования Морле

Вещественная вейвлет Морле соответствует только , когда фазы сейсмического импульса и сигнальной линии вверх. Таким образом, когда вы пропускаете его за измеряемый сигнал, он входит и выходит из фазы, создавая максимумы и минимумы по мере их отмены или усиления:

Величина непрерывного действительного вейвлет-преобразования Морле

Величина непрерывного действительного вейвлет-преобразования Морле

(На самом деле, в этом случае мы строим амплитуду, поэтому как положительные, так и отрицательные совпадения дают оранжевые точки. Вместо этого лучше переключиться на биполярную цветовую карту , чтобы показать, что некоторые пики находятся в фазе, а другие не в фазе) :

Непрерывное реальное вейвлет-преобразование Морле с использованием биполярной карты цветов

Непрерывное реальное вейвлет-преобразование Морле с использованием биполярной карты цветов

С помощью действительного Morlet информация о величине и фазе объединяется в одно выходное значение.

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

эндолиты
источник
Откуда вы взяли эти участки, кстати?
Спейси
@Mohammad: О, если вы будете следовать ссылки у меня есть больше информации о них, но в общем, я сделал их с этим кодом: phy.uct.ac.za/courses/python/examples/...
эндолиты
Ссылка мертв, теперь они в github.com/emanuele/cwt или gist.github.com/endolith/2783866
эндолиты
1
Очень хорошо! Я решил узнать о вейвлетах, погуглил, и через пять минут я вернулся в экосистему стека-обмена к хорошо написанному ответу класса «ага!». Это удачно подобранный минимальный набор изображений. Спасибо!
ухо
4

Это пример, который я считаю лучшим для понимания вейвлет-сюжета.

Посмотрите на изображение ниже, форма волны (A) - это наш оригинальный сигнал, форма волны (B) показывает вейвлет Daubechies 20 (Db20) длиной около 1/8 секунды, который начинается в начале (t = 0) и эффективно заканчивается хорошо до 1/4 секунды. Нулевые значения расширяются до полной 1 секунды. Точечное сравнение * с нашим импульсным сигналом (A) будет очень плохим, и мы получим очень маленькое значение корреляции.

Сначала мы немного сместим нерастянутый базовый или материнский вейвлет немного вправо и проведем еще одно сравнение сигнала с этим новым сигналом, чтобы получить другое значение корреляции. Мы продолжаем сдвиг, и когда вейвлет Db20 находится в положении, показанном на (C), мы получаем немного лучшее сравнение, чем с (B), но все еще очень плохо, потому что (C) и (A) - это разные частоты.

После того как мы продолжили смещать вейвлет до конца интервала времени в 1 секунду, мы начинаем сначала с слегка растянутого вейвлета в начале и многократно сдвигаемся вправо, чтобы получить еще один полный набор этих значений корреляции. Форма волны (D) показывает вейвлет Db20, растянутый до частоты, приблизительно равной импульсу (A), и смещенную вправо, пока пики и впадины не выровняются достаточно хорошо. При этих конкретных величинах смещения и растяжения мы должны получить очень хорошее сравнение и большое значение корреляции. Однако дальнейшее смещение вправо даже при таком же растяжении приведет к все более слабым корреляциям. Дальнейшее растяжение вообще не помогает, потому что даже когда выстроены в линию, импульс и перетянутый вейвлет не будут иметь одинаковую частоту.

введите описание изображения здесь

В CWT у нас есть одно значение корреляции для каждого сдвига каждого растянутого вейвлета. † Чтобы показать значения корреляции (качество «соответствия») для всех этих растяжений и сдвигов, мы используем трехмерный дисплей.

Вот и все,

введите описание изображения здесь

Яркие пятна показывают, где пики и впадины растянутого и сдвинутого вейвлета лучше всего совпадают с пиками и впадинами внедренного импульса (темные, когда нет выравнивания, затемнения, где выровнены только некоторые пики и впадины, но наиболее яркие, где все пики и впадины Align). В этом простом примере растяжение вейвлета в 2 раза с 40 до 20 Гц (растяжение фильтра с исходных 20 точек до 40 точек) и сдвиг его на 3/8 секунды во времени дали наилучшую корреляцию и согласились с тем, что мы знали априори или «впереди» относительно импульса (импульс центрирован на 3/8 секунды, частота импульсов 20 Гц).

Мы выбрали вейвлет Db20, потому что он немного похож на импульсный сигнал. Если бы мы априори не знали, как выглядело событие, мы могли бы попробовать несколько вейвлетов (легко переключаемых в программном обеспечении), чтобы увидеть, какой из них дает CWT-дисплей с самыми яркими точками (что указывает на лучшую корреляцию). Это скажет нам что-то о форме события.

В приведенном выше простом учебном примере мы могли бы просто визуально определить местоположение и частоту импульса (A). Следующий пример немного более типичен для вейвлетов в реальном мире, где местоположение и частота не видны невооруженным глазом.

Смотрите пример ниже,

введите описание изображения здесь

Вейвлеты могут быть использованы для анализа локальных событий. Мы строим 300-точечный медленно меняющийся синусоидальный сигнал и добавляем крошечный «сбой» или разрыв (в уклоне) в момент времени = 180. Мы не заметили бы сбой, если бы мы не смотрели на крупный план (b).

Теперь давайте посмотрим, как FFT будет отображать этот глюк, посмотрим, введите описание изображения здесь

Низкую частоту синусоидальной волны легко заметить, но небольшой сбой не виден.

Но если мы будем использовать CWT вместо FFT, он будет ясно отображать этот сбой, введите описание изображения здесь

Как видите, вейвлет-дисплей CWT четко показывает вертикальную линию в момент времени = 180 и в низких масштабах. (Вейвлет имеет очень небольшое растяжение в низких масштабах, что указывает на то, что глюк был очень коротким.) CWT также хорошо сравнивается с большой колеблющейся синусоидальной волной, которая скрывает глюк. На этих более высоких масштабах вейвлет был растянут (до более низкой частоты) и, таким образом, «находит» пик и долину синусоидальной волны в момент времени = 75 и 225. Для этого короткого разрыва мы использовали короткий 4-точечный Db4 вейвлет (как показано) для лучшего сравнения.

Суфиян Гори
источник