Farklı sonik dalga formları arasında ayrım yapmak için bir özellik vektörü tasarlama


10

Aşağıdaki 4 dalga formu sinyalini göz önünde bulundurun:

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]

Sinyaller

Sinyal 1 ve 2'nin benzer ve sinyal 3 ve 4'ün benzer göründüğünü fark ediyoruz.

Ben giriş n sinyalleri olarak almak ve her grup içindeki sinyaller benzer m gruplara bölen bir algoritma arıyorum.

Böyle bir algoritmada ilk adım genellikle her bir sinyal için bir özellik vektörü hesaplamak olacaktır : .Fi

Örnek olarak, özellik vektörünü şu şekilde tanımlayabiliriz: [genişlik, maks, maks-min]. Bu durumda aşağıdaki özellik vektörlerini elde ederiz:

F1=[13,146,245]

F2=[15,145,223]

F3=[18,181,406]

F4=[18,189,408]

Bir özellik vektörüne karar verirken önemli olan şey, benzer sinyallerin birbirine yakın olan özellik vektörleri ve benzer olmayan sinyallerin birbirinden uzak olan özellik vektörleri almasıdır.

Yukarıdaki örnekte şunu elde ediyoruz:

|F2-F1|=22.1,|F3-F1|=164.8

Dolayısıyla, sinyal 2'nin sinyal 1'e sinyal 3'ten çok daha benzer olduğu sonucuna varabiliriz.

Özellik vektörü olarak sinyalin ayrık kosinüs dönüşümünden terimleri de kullanabilirim. Aşağıdaki şekilde sinyaller, ayrı kosinüs dönüşümünden gelen ilk 5 terime göre sinyallerin yaklaşık olarak gösterilmesi ile gösterilmektedir: Kosinüs dönüşümleri

Bu durumda ayrı kosinüs katsayıları:

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]

Bu durumda:

|F2-F1|=141.5,|F3-F1|=498.0

Oran, yukarıdaki daha basit özellik vektörü kadar büyük değildir. Bu, daha basit özellik vektörünün daha iyi olduğu anlamına mı geliyor?

Şimdiye kadar sadece 2 dalga formu gösterdim. Aşağıdaki grafik, böyle bir algoritmaya girdi olabilecek diğer bazı dalga formlarını göstermektedir. Zirvenin soluna en yakın dakikadan başlayarak ve zirvenin sağına en yakın dakikadan durarak, bu grafikteki her zirveden bir sinyal çıkarılır:iz

Örneğin sinyal3, örnek 217 ve 234 arasındaki bu grafikten çıkarıldı. Sinyal4, başka bir grafikten çıkarıldı.

Merak ediyorsanız; bu tür her grafik, uzayda farklı konumlardaki mikrofonların ses ölçümlerine karşılık gelir. Her mikrofon aynı sinyalleri alır, ancak sinyaller zaman içinde hafifçe kaydırılır ve mikrofondan mikrofona bozulur.

Özellik vektörleri, sinyalleri birbirine yakın özellik vektörleri ile gruplandıracak olan k-araçları gibi bir kümeleme algoritmasına gönderilebilir.

Herhangi birinizin dalga formu sinyallerini ayırt etmede iyi olacak bir özellik vektörü tasarımı konusunda deneyiminiz / tavsiyeniz var mı?

Ayrıca hangi kümeleme algoritmasını kullanırsınız?

Herhangi bir cevap için şimdiden teşekkür ederiz!


M şablonlarından biriyle bir giriş sinyalinin iyi -ol noktalı ürünü ne olacak? En küçük kareye sahip olanı alırsınız. Benim için bu benim başlayacağım yer olurdu. Hiç böyle bir şey denediniz mi?
Spacey

Merhaba Muhammed! Sorun şu ki, dalga biçimlerini önceden bilmiyorum. Tepe noktalarındaki tüm sinyallerle ilgileniyorum ve önceden bilmediğim birçok farklı formları olabilir.
Andy

Bu vektörleri karakterize etmek için doğrudan "özellikler" olarak kullanmak yerine yeni özellikler bulmaya çalışmanın nedeni nedir? (Yine de aynı uzunlukta olmaları gerekecek). K-araçları kümelenmesi durumunda, edinilen sinyallerin minimasında çıkarılan küçük vektörler arasındaki "mesafeler" ilk önce hesaplanacak ve daha sonra algoritma, bunların minimum varyansın k-kümelerine bir gruplandırılmasını bulmaya çalışacaktır. peşinde gibi görünüyorsun.
A_A

Merhaba A_A! 1. Vektörlerin boyutları küçültülür. Ayrık kosinüs katsayılarını kullanırken sinyal 3'ten 18'e 5 olması durumunda. 2. Düzgünleştirme gerçekleşiyor. Sinyaller gürültülü ve hızlı dalgalanmalarla ilgilenmiyorum.
Andy

3
Makine öğrenimi yapan insanlar asla bilgi atmamalısınız - sistem her şeyi öğrenmelidir. Tabii ki, onlar milyonlarca yıl sürecek algoritmalar tasarlayanlarla aynı insanlar, ama asıl mesele hiç değersiz değil. Özünde, mümkün olduğunca az bilgi atmak ve geriye kalanları öğrenmek istersiniz. Bu bana Bayesci bir çerçevede yapılması gereken bir sorun olarak dikkat çekiyor (açıkçası, çoğu sinyal işleme günümüzde olması gerektiği gibi), ancak bu göze çarpan özelliklerin çalışmasının önemli olmadığı anlamına gelmiyor.
Henry Gomersall

Yanıtlar:


2

Sinyalleri ayırmak için sadece nesnel ölçütler mi istiyorsunuz yoksa birileri tarafından dinlendiklerinde bir çeşit benzerliğe sahip olmaları önemli mi? Bu elbette sizi biraz daha uzun sinyallerle (1000'den fazla örnek) sınırlamak zorunda kalacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.