Розробка векторного ознаки для розрізнення різних звукових форм хвиль


10

Розглянемо чотири наступні сигнали сигналу:

signal1 = [4.1880   11.5270   55.8612  110.6730  146.2967  145.4113  104.1815   60.1679   14.3949  -53.7558  -72.6384  -88.0250  -98.4607]

signal2 = [ -39.6966   44.8127   95.0896  145.4097  144.5878   95.5007   61.0545   47.2886   28.1277  -40.9720  -53.6246  -63.4821  -72.3029  -74.8313  -77.8124]

signal3 = [-225.5691 -192.8458 -145.6628  151.0867  172.0412  172.5784  164.2109  160.3817  164.5383  171.8134  178.3905  180.8994  172.1375  149.2719  -51.9629 -148.1348 -150.4799 -149.6639]

signal4 = [ -218.5187 -211.5729 -181.9739 -144.8084  127.3846  162.9755  162.6934  150.8078  145.8774  156.9846  175.2362  188.0448  189.4951  175.9540  147.4631  -89.9513 -154.1579 -151.0851]

Сигнали

Ми помічаємо, що сигнал 1 і 2 схожий, і сигнал 3 і 4 виглядають схожим.

Я шукаю алгоритм, який приймає в якості n вхідних сигналів і ділить їх на m групи, де сигнали в межах кожної групи схожі.

Першим кроком у такому алгоритмі зазвичай було б обчислити векторний елемент для кожного сигналу: .Жi

Як приклад ми можемо визначити вектор функції: [ширина, макс, макс-хв]. У цьому випадку ми отримаємо наступні вектори функцій:

Ж1=[13,146,245]

Ж2=[15,145,223]

Ж3=[18,181,406]

Ж4=[18,189,408]

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

У наведеному вище прикладі ми отримуємо:

|Ж2-Ж1|=22.1,|Ж3-Ж1|=164.8

Отже, можна зробити висновок, що сигнал 2 набагато більше схожий на сигнал 1, ніж сигнал 3.

Як вектор функції я можу також використовувати терміни дискретного косинусного перетворення сигналу. На малюнку нижче показані сигнали разом із наближенням сигналів першими 5 членами від дискретного косинусного перетворення: Косинусні перетворення

У цьому випадку дискретні коефіцієнти косинусів:

F1 = [94.2496  192.7706 -211.4520  -82.8782   11.2105]

F2 = [61.7481  230.3206 -114.1549 -129.2138  -65.9035]

F3 = [182.2051   18.6785 -595.3893  -46.9929 -236.3459]

F4 = [148.6924 -171.0035 -593.7428   16.8965 -223.8754]

У цьому випадку ми отримуємо:

|Ж2-Ж1|=141.5,|Ж3-Ж1|=498,0

Коефіцієнт не настільки великий, як для більш простого векторного ознаки. Чи означає це, що простіший функціональний вектор кращий?

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

Наприклад, сигнал 3 був вилучений з цієї ділянки між зразком 217 і 234. Сигнал4 був вилучений з іншого ділянки.

У випадку, якщо вам цікаво; кожен такий сюжет відповідає звуковим вимірюванням мікрофонами в різних положеннях у просторі. Кожен мікрофон отримує однакові сигнали, але сигнали трохи зміщуються в часі і перекручуються від мікрофона до мікрофона.

Функціональні вектори можуть бути спрямовані до алгоритму кластеризації, такого як k-засоби, які б групували сигнали з функціональними векторами, близькими один до одного.

У когось із вас є досвід / поради щодо розробки векторного ознаки, який би добре розрізняв сигнали сигналу?

Також який алгоритм кластеризації ви б використовували?

Заздалегідь дякую за будь-які відповіді!


А як щодо крапкового добутку вхідного сигналу з одним із шаблонів M? Ви б взяли ту, яка має найменшу квадратичну помилку. Це для мене було б там, де я би почав. Ви випадково спробували щось подібне?
Спейсі

Привіт, Мухаммеде! Проблема в тому, що я не знаю заздалегідь форми сигналів. Мене цікавлять усі сигнали навколо вершин, і вони можуть мати багато різних форм, про які я не знаю заздалегідь.
Енді

Що є причиною спроб знайти нові функції для характеристики цих векторів, ніж використовувати їх безпосередньо як "функції"? (Хоча вони повинні бути однакової довжини). У випадку кластеризації k-засобів спочатку буде розраховано «відстань» між тими малими векторами, витягнутими на мінімумах набутих сигналів, а потім алгоритм спробує знайти їх групування в k-множини мінімальної дисперсії, що є ви, здається, після.
A_A

Привіт A_A! 1. Розміри векторів зменшуються. У випадку сигналу 3 від 18 до 5 при використанні дискретних косинусних коефіцієнтів. 2. Відбувається згладжування. Сигнали шуміть, і мене не цікавлять швидкі коливання.
Енді

3
Люди з машинного навчання стверджують, що ніколи не слід викидати інформацію - система повинна вчитися на всьому. Звичайно, вони ті самі люди, які розробляють алгоритми, на які піде мільйон років, але справа не без певних заслуг. По суті, ви хочете викинути якомога менше інформації і дізнатися, що залишилося. Це сприймає мене як проблему, яка повинна бути виконана в байєсівських рамках (відверто кажучи, як більшість обробки сигналів має бути сьогодні), хоча це не означає, що опрацювання яскравих особливостей не важливо.
Генрі Гомерсалл

Відповіді:


2

Ви хочете лише об'єктивні критерії для розділення сигналів або важливо, щоб вони мали певну схожість, коли хтось їх слухав? Звичайно, доведеться обмежувати сигнали трохи довше (більше 1000 зразків).

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