MÜZİK üzerinden bir sinyalin temel frekansını tahmin etmek için özvektörleri kullanma hakkında


14

Bağlam:

(Feragatname: Bu bir iletişim sorunu DEĞİLDİR).

Gerçek, periyodik bir sinyalin temel frekansını tahmin etmeye çalışıyorum. Bu sinyal, bir ham sinyalin bir nabız sinyali ile eşleştirilmesi ile oluşturulmuştur. (eşleşen filtre). Ortaya çıkan sinyal aşağıdaki özelliklere sahiptir:

  • Periyodiktir. (Temel 1 / dönem) ve tahmin etmeye çalıştığım da bu.

  • Zaman içinde durağan değildir. Spesifik olarak, periyodik darbelerin genlikleri genlik olarak değişebilir. (örneğin, bir nabız düşük, bir diğeri yüksek ve bir sonraki düşük ve o ortamdan sonra bir vb. olabilir).

  • Frekansın sabit olduğuna inanıyorum (değişen genlikleri kabul ettiğiniz, ancak bantları değiştirmediğiniz kadar).

  • Harmonik distorsiyonu vardır. Burada demek istediğim, (ve yanılıyorsam beni düzeltin), ancak sinyal içindeki bireysel darbelerin sinüzoidler değil, bir gauss, üçgen-ish, yarı-parabol, vb.Gibi 'korkak' şekillerdir. .

Bu sinyalin temel frekansını tahmin etmeye çalışıyorum.

Tabii ki, bazen ham sinyal gürültüden başka bir şey değildir, ancak yine de yoldan geçer ve yine de filtrelenir. (Daha sonra daha fazlası).

Ne denedim:

Şimdi, çok sayıda temel frekans tahmincisinin farkındayım.

  1. Otomatik korelasyon yöntemi
  2. YIN ve tüm bağımlılıkları
  3. FFT yöntemi.

vb,

  • YIN: Henüz YIN'i denemedim.

  • FFT Yöntemi: FFT yöntemi size tüm harmonikleri ve temelleri verecektir, ancak temelin her zaman en yüksek zirve olmadığı için özellikle bu sabit olmayan iş ile titiz olabileceğini fark ettim. Çok hızlı bir şekilde, kendinizi birçok zirveden hangisinin temel olduğunu bulmaya çalışırken buluyorsunuz ve bu zor bir sorun haline geliyor.

  • Otokorelasyon: Otokorelasyon yöntemi FFT yönteminden daha iyi gibi görünmektedir, ancak yine de zaman alanı sinyalinin genlik düzensizliklerine duyarlıdır. Otomatik korelasyon yöntemi, merkez lob ile bir sonraki en yüksek lob arasındaki mesafeyi ölçer. Bu mesafe esasa karşılık gelir. Bununla birlikte, durağan olmayan durumlarda, bu ikincil lob çok düşük olabilir ve bazı eşik şemasında kaçırabilirsiniz.

O zaman bana temelini tahmin etmek için belki MUSIC gibi bir altuzay yöntemi kullanabilirim. Bunu test ettikten sonra, sinyalinizin temeline karşılık gelen frekanslarda gerçekten çok güzel sonuçlar verdiğini buldum - sağlam bir şekilde - ve hatta sabit olmayan durumlarda - zirve yapıyor. (Aradığınız sinyallerin sayısını 2'ye ayarlayın ve sinyallerin kovaryans matrisinin temelini alır - yani en yüksek 2 özvektörü (özdeğerlerin en yüksek değerlerine karşılık gelir) seçer, atar ve geri kalan gürültü alt uzay, hipotez karmaşık sinüzoidler onlara karşı yansıtmak, karşılıklı almak ve voila, güzel bir sözde spektrum).

Sorular ve Sorunlar:

  1. Bununla birlikte, bunun neden daha iyi çalıştığını anlamak istiyorum.
  2. MÜZİK'te sinyal altuzayını atarız ve gürültü altuzayını kullanırız. Bana öyle geliyor ki, sinyal altuzayının özvektörleri aslında bir çeşit 'en uygun' - aslında en uygun filtreler. Peki: Neden sinyal altuzay özvektörlerini doğrudan kullanmıyorsunuz? (Artık onun MÜZİK olmadığını biliyorum ama neden gürültü alt alanını o zaman daha iyi kullanıyor?)
  3. Son olarak, son sorun, bu yöntem sabit olmayan sinyaller (yukarıda tanımlandığı gibi) için çok daha sağlam çalışıyor gibi görünse de, sorun şu ki, sistemde gürültüden başka bir şey olmasa bile her zaman bir cevap alıyorum. (Önceden eşleştirilmiş filtrelenmiş sinyalin, periyodik bir sinyaliniz olmadığında bazen beyaz gürültü olabileceğini belirttim).

Buna karşı koymak için hangi yollar olabilir? Özdeğerlere bakmayı denedim ve sinyal olan VS durumlarının sadece gürültülü olduğu durumlarda çürümelerinde biraz daha 'eğrilik' var, ama yeterince sağlam olmayabilir.

Bonus:

  1. Kovaryans matrisinin özvektörleri ne zaman VS başka bir şeydir? Sinüzoid olup olmadıklarını ne belirler? Neden kare dalgalar? Veya buraya başka bir şekil ekleyin?

Mohammad- Birkaç düzenleme / açıklama yapabilir misiniz? Terminoloji için bir yapışkan olabilirim, ancak gelecekteki ziyaretçiler için önemlidir. 'Güzel ve temiz' ek olarak, harmonik bozulma diyebiliriz. Tekrarlayan yerine periyodik diyebilirsiniz. Sabit, zamanla değişen istatistiklere veya zamanla değişen spektruma atıfta bulunabilir. Açıklayabilir misin? Otokorelasyon yöntemi Yule-Walker yöntemi için bir takma addır. 'Sinyal sayısı' dediğinizde bu gerçek sinüzoidler mi yoksa karmaşık üstel mi? En yüksek değerde özdeğer kullanabilir misiniz? Sıralamanın lineer cebirde başka anlamları vardır. 'En yüksek varyans' ile aynı ...
Bryan

1
... (devamı) Önemli bir şey (ve açıklığa kavuşturduğumda cevabımda bunu not edeceğim), MUSIC yönteminin bir gürültü altuzay yöntemi olduğu. Dolayısıyla, ideal olarak, en büyük değer özdeğerlerine sahip olan sinyal altuzay özvektörleri kullanılmaz. Ayrıca, sinyaliniz periyodik ise sinüzoidlerin toplamıdır. Periyodikse, ayrı sinüzoidlerin toplamı olan bir Fourier serisi ile tanımlanabilir.
Bryan

@Bryan Geri alma gecikmesi için üzgünüm (uzun hafta sonu), aslında tüm soruyu yakında yenileyeceğim ve size bildireceğim - teşekkürler!
Spacey

@Bryan Sonunda tüm yazıyı yeniledim, önerilerinizi ekledim ve bağlam / problem hakkında da çok şey açıklığa kavuştum. Bakınız. Elbette başka bir şeyi açıklığa kavuşturabiliyorsam bana bildirin.
Spacey

@Mohammad Bir sinyalin özvektörlerin "yani" özdeğerleriyle - yani özdeğerlerle var olup olmadığını anlayabilir misiniz?
Jim Clay

Yanıtlar:


8

Otokorelasyon matrisi, işlem durağan olduğunda sinüzoidler tarafından köşegenleştirilir, bu kovaryans operatörünün sabit bir süreç için bir evrişim olduğu gerçeğinden kaynaklanır. Daha titiz bir kanıt, ; aynı zamanda olumlu bir seimidefinite fonksiyonudur göre bu nedenle, Bochner teoremi elimizdeki iddiayı kanıtlıyor.

f(t,s)=Cov(X(t),X(s))=Cov(X(tu),X(su))=f(tu,su)
t - s C o v ( X ( s ) , X ( t ) ) = - e i ( s - t ) x d μ ( x )f(t,s)=f(ts,0)ts
Cov(X(s),X(t))=ei(st)xdμ(x)

Sezgi, asemptotik davranan bir sinyaldeki bazı sınırlı gözlemler için tahmin edilen bir otokorelasyon matrisinin bir sirkülasyon matrisini sevdiği, çünkü korelasyon sadece mutlak pozisyonlara değil, sirkülasyon matrislerinin özvektörleri olarak ayrık sinüzoidlere sahip olduğu zaman farklılıklarına bağlıdır (konveksiyon oldukları için) operatörler). Bunun birçok kanıtı var ve bu kabataslak bir sezgi.

Sinüzoidler tarafından diyagonalleştirilen otokorelasyon fonksiyonları seti tam olarak durağan süreçlere karşılık gelenlerdir, ancak diğer birçok işlemin otokorelasyon fonksiyonları, belirli bir aralıkta sinüzoidler tarafından yaklaşık olarak köşegenleştirilecektir. Bu süreçler, bir aralıkta durağan süreçlerle yaklaşabilen işlemlere karşılık gelir. Daha fazla ayrıntı burada .

Sabit olmayan genel süreçler sinüzoidler tarafından köşegenleştirilmesi gerekmeyen otokorelasyon fonksiyonlarına sahip olabilir.

Lokal olarak durağan işlemler ya yavaş değişen bir spektruma ve / veya spektrumda az sayıda iyi aralıklı ani değişikliklere sahip olacaktır. Konuşma, hayvan sesleri, müzik ve diğer birçok doğal ses bu tanıma uyar. Altuzay tanımlama algoritmalarının çalışmasının nedeni, anladığım kadarıyla, bazı formların yerel durağanlığın (titiz değil) genellikle analiz ettiğimiz sinyal türlerini tutmasıdır.


Cevaplar herkesin yararınadır. Bochner'in teoreminin daha tanıdık Wiener-Khinchin'in genelleştirilmesi olduğu hiçbir şeye değmez . spektral yoğunluktur. μ
Emre

@MarkS Çok teşekkür ederim. Bazı takiplerim var: 1) Buna dayanarak, bir sürecin kovaryans matrisinin özvektörlerinin sinüzoidal olduğu kadar durağan olduğunu söyleyebilir miyiz? Bu bir tür durağanlık ölçüsü olabilir mi? 2) "... ve sirkülasyon matrislerinin özvektörleri olarak ayrık sinüzoidleri var (konveksiyon operatörleri oldukları için) ..." Bunun ne anlama geldiği konusunda net değilim - hangi operatörler? Lütfen açıklar mısın. 3) "Otokorelasyon fonksiyonları seti" derken, kovaryans matrisinin satırlarından bahsediyor musunuz? Tekrar teşekkürler.
Spacey

@Mohammad Cheers: 1) Evet, bu durağanlığın bir ölçüsü olarak gevşek bir şekilde düşünülebilir. 2) Bir vektörün tüm siklik permütasyonlarından bir sirkülasyon matrisi oluşturulur, bu nedenle bir sirkülasyon matrisini başka bir vektörle çarpmak, bu iki vektör arasında bir evrişimdir. 3) Bir otokorelasyon fonksiyonu Corr (s, t), bazı rasgele süreç X için X (s) ve X (t) arasındaki otokorelasyondur. Buna bir işlev diyorum çünkü aynı anda sürekli ve ayrık durumu ele almak istiyorum. Örnek otokorelasyon matrisi bu işleve ayrı bir yaklaşım olarak görülebilir.
Mark S

@ Wiener – Khinchin_theorem'i işaret ettiğiniz için teşekkürler, Fourier analizimi ilk olarak gruplar üzerinde öğrendim ve asla bir sinyal işleme sınıfında resmen tanıtılmadı.
Mark S
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.