Читання сюжету перетворення вейвлетів


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; cwt (y, шкала, ім'я, 'сюжет'); У мене наступний сюжет! введіть сюди опис зображень реальних і уявних частин, що показують прогалини, які спостерігаються в CWT з хвилею morl. Таким чином, CWT зі складним вейвлетом morlet теж містить фазову інформацію. Як це пояснити ??

Відповіді:


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
@Effected Ви знайшли "час" появи деякої функції у вашому сигналі, завдяки якому ви отримуєте максимальні показники кореляції. (Приклад, ~ 25, ~ 190, ~ 610) у вашому прикладі. Щоб отримати вміст частоти вашого сигналу в цей момент, ви можете просто подивитися на FFT тієї частини сигналу, АБО ви можете подивитися на FFT вашого вейвлета в цій шкалі і подивитися на його частотну характеристику.
Космічний

Отже, чи припустимо ми взяти DCT після вейвлета, щоб мати компоненти часу і частоти? Якщо у мене є синусоїда (x-вісь = час, y-вісь = амплітуда), і якщо я беру її FFT, то у мене є частотні компоненти з частоти fft та часу від вихідного сигналу, то чому ми вважаємо, що потрібно використовувати вейвлет?
Sufiyan Ghori

1
@Effected Причина використання DFT / DCT полягає в тому, щоб отримувати глобальний контент частоти. DFT / DCT повідомляє ваш частотний вміст для всього сигналу. Де одна конкретна частота в часі? Ви не знаєте. Однак якщо ви користуєтеся вейвлетами, то ви можете дізнатися не тільки, яка ваша частота (подібно до DFT / DCT), але і де ви маєте цю частоту. (Місце у часі)
Космічний

Для запису частота існує лише як глобальна концепція. Як тільки ви починаєте намагатися прив’язати частоту до періоду часу, ви дійсно говорите про розподіл частоти. По мірі збільшення часового проміжку чи масштабу розподіл звужується. Обчислення DFT вейвлетів різної шкали дасть вам уявлення про те, як інтерпретувати пов'язані результати перетворення назад у частотну область; думаю смуговий фільтр. Вейвлет Морлета має гарно гауссовий розподіл частот, який добре підходить для відновлення концепцій Фур'є. @endolith торкнувся цього у своїй відповіді.
користувач2718

11

Ці сюжети були корисними для мене, щоб зрозуміти, виходячи з передумови STFT :

The Комплекс Морлі (синусоидальное) вейвлет виглядає і поводиться як складне ядро в STFT (таквона походить від перетворення Габора , типу STFT). Коли ви "просунете його повз" сигнал однакової частоти, він відповідає, незалежно від фази сигналу, який ви вимірюєте, виробляючи вимірювання величини і фази в кожній точці (і це лише графік величини):

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

Графік величини складного вейвлет-перетворення Морле

Матеріальна вейвлет Морлі відповідає тільки , коли фази сейсмічного імпульсу і сигнальної лінії вгору. Отож, коли ви просунете його повз сигналу, який ви вимірюєте, він переходить у фазу і виходить з фази, створюючи максимуми і мінімуми, коли вони скасовують або посилюють:

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

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

(Насправді в цьому випадку ми плануємо масштабність, тому і позитивні, і негативні збіги дають помаранчеві точки. Краще замість цього перейти на біполярну кольорову карту , щоб показати, що деякі вершини знаходяться у фазі, а інші поза фазою) :

Постійне реальне вейвлетське перетворення Морле за допомогою біполярної кольорової карти

Постійне реальне вейвлетське перетворення Морле за допомогою біполярної кольорової карти

З реальним значенням Morlet інформація про величину та фазу об'єднується в єдине вихідне значення.

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


Звідки ви взяли ці сюжети, дощо?
Спейсі

@Mohammad: О, якщо ви будете слідувати посилання у мене є більше інформації про них, але в загальному, я зробив їх з цим кодом: phy.uct.ac.za/courses/python/examples / ...
ендоліти

Посилання мертвий, тепер вони в github.com/emanuele/cwt або gist.github.com/endolith/2783866
ендоліти

1
Дуже хороша! Я вирішив дізнатися про вейвлет, гугл, і протягом п’яти хвилин я перекинувся назад в екосистему stackexchange до добре написаного "ага!" - відповідь класу. Це вдало підібраний мінімальний набір зображень. Дякую!
uhoh

4

Це той приклад, який я вважаю найкращим для розуміння сюжету «Вейвлет».

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

ми спочатку зсуваємо нерозтягнуту основну або материнську вейвлет трохи вправо і проводимо чергове порівняння сигналу з цією новою формою хвилі, щоб отримати ще одне значення кореляції. Ми продовжуємо зміщуватися, і коли вейвлет Db20 знаходиться в положенні, показаному в (C), ми отримуємо трохи кращі порівняння, ніж у (B), але все ще дуже погані, оскільки (C) і (A) різні частоти.

Після того, як ми продовжимо зміщення вейвлета до кінця інтервалу 1 секунди, ми починаємо спочатку з трохи розтягнутим вейвлетом на початку і кілька разів зміщуємо праворуч, щоб отримати ще один повний набір цих значень кореляції. Форма хвилі (D) показує вейвлет Db20, розтягнутий туди, де частота приблизно така сама, як імпульс (А), і зміщується вправо, поки вершини та долини не вирівняються досить добре. У цих конкретних кількостях зсуву і розтягування ми повинні отримати дуже хороше порівняння і велике співвідношення. Подальше зміщення вправо, однак, навіть при цьому ж розтягуванні вийде все більш погана кореляція. Подальше розтягнення зовсім не допомагає, оскільки навіть коли вишикуються, пульс і перетягнута вейвлет не будуть однаковою частотою.

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

У CWT у нас є одне значення кореляції для кожного зсуву кожного розтягнутого вейвлета. † Щоб показати значення кореляції (якість “матчу”) для всіх цих розтяжок і зрушень, ми використовуємо 3-D дисплей.

Ось це іде,

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

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

Ми вибрали вейвлет Db20, оскільки він трохи нагадує імпульсний сигнал. Якби ми апріорі не знали, як виглядала подія, ми могли б спробувати кілька вейвлетів (легко перемикаються в програмному забезпеченні), щоб побачити, що створило дисплей CWT з найяскравішими плямами (що свідчить про найкращу кореляцію). Це розповість нам щось про форму події.

На прикладі простого підручника ми могли б лише візуально визначити розташування та частоту пульсу (А). Наступний приклад - трохи більш репрезентативний вейвлет у реальному світі, де розташування та частота не видно неозброєним оком.

Дивіться приклад нижче,

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

Хвилянки можна використовувати для аналізу місцевих подій. Ми побудуємо сигнал з синусоїдною хвилею, що повільно змінюється на 300 точок, і додамо крихітний «глюк» або розрив (у схилі) за час = 180. Ми не помітили б глюк, якби не дивилися на крупний план (б).

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

Низьку частоту синусоїди легко помітити, але невеликі збої не видно.

Але якщо ми використовуємо CWT замість FFT, він чітко відображатиме цю проблему, введіть тут опис зображення

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.