Seyrek Fourier dönüşümü nedir?


46

MIT, son zamanlarda, belirli türdeki sinyaller üzerinde çalışan daha hızlı bir Fourier dönüşümü olarak adlandırılan yeni bir algoritma hakkında biraz gürültü yapıyor, örneğin: " Dünyanın en önemli gelişen teknolojilerinden biri olarak adlandırılan daha hızlı fourier dönüşümü ". MIT Teknoloji Dergisi dergisi şöyle diyor :

Seyrek Fourier dönüşümü (SFT) adı verilen yeni algoritma ile, veri akışları FFT ile mümkün olandan 10 ila 100 kat daha hızlı işlenebilir. Hızlandırma, en çok önemsediğimiz bilgilerin çok fazla bir yapıya sahip olması nedeniyle ortaya çıkabilir: müzik rastgele bir ses değildir. Bu anlamlı sinyaller tipik olarak, bir sinyalin alabileceği olası değerlerin yalnızca bir kısmını alır; Bunun için teknik terim bilginin "seyrek" olmasıdır. SFT algoritması, olası tüm veri akışlarıyla çalışmak üzere tasarlanmadığından, başka türlü bulunmayan bazı kısayolları alabilir. Teoride, sadece seyrek sinyalleri kaldırabilen bir algoritma FFT'den çok daha sınırlıdır. Ancak “her yerde azlık var” diyen elektrik mühendisliği ve bilgisayar bilimleri profesörü olan paraşütçü Katabi. “Doğada; video sinyallerinde s; ses sinyallerinde. "

Buradaki bir kişi algoritmanın gerçekte ne olduğu ve nerede uygulanabilir olduğu hakkında daha teknik bir açıklama yapabilir mi?

EDIT: Bazı bağlantılar:

Yanıtlar:


40

Algoritma fikri şudur: frekans alanında seyrek olan bir uzunluk sinyaline sahip olduğunuzu varsayalım . Bunun anlamı, eğer ayrık Fourier dönüşümünü hesaplarsanız, sıfır olmayan az sayıda çıktı ; diğer ihmal edilebilir. En almanın bir yolu İstediğiniz çıkışlarına kullanmaktır FFT , tüm dizi daha sonra seçmek sıfırdan farklı değerler.NkNNkkk

Burada sunulan seyrek Fourier dönüşümü algoritması, bu çıkışlarını FFT tabanlı yöntemden daha düşük karmaşıklıkla hesaplamak için bir tekniktir . Temel olarak, çıkışları sıfır olduğundan, bu sonuç değerlerini bile üretmemek için algoritmanın içindeki kısayolları alarak biraz çaba . FFT, 'nin karmaşıklığına sahipken, seyrek algoritma, seyrek spektrum durumu için potansiyel olarak düşük bir karmaşıklığına sahiptir .kNkO(nlogn)O(klogn)

Tayfı "tür Sparse bir" ama daha vardır daha genel durum için (gürültü gömülü sesleri bir dizi için, örneğin), sıfır değerleri, bu algoritma bir varyasyonu mevcut tahmin ile, en büyük çıkış bir zaman karmaşıklığı da FFT daha az karmaşık olabilir.kkO(klognlognk)

Sonuçlarının bir grafiğine göre (aşağıdaki resimde çoğaltılmıştır), FFTW'ye göre iyileştirilmiş performansa ilişkin geçiş noktası (MIT'deki diğer bazı kişiler tarafından yapılan optimize FFT kütüphanesi) sadece noktasındadır. - çıktı dönüşümü katsayıları sıfırdan farklıdır. Ayrıca, bu sunumda olduğunda seyrek algoritmanın daha iyi performans sağladığını gösteriyorlar .12111210Nk[2000,106]

görüntü tanımını buraya girin

Bu koşullar, algoritmanın uygulanabilirliğini, bir sinyalin spektrumunda önemli ölçüde birkaç tepe noktası olabileceğini bildiğiniz durumlarla sınırlandırır. Web sitelerinde alıntı yaptıkları bir örnek , ortalama olarak, görüntü ve video sıkıştırma işlemlerinde sıklıkla kullanılan 8'e 8 blok blok piksellerin, frekans alanında neredeyse% 90 seyrek olması ve bu özellikten yararlanan bir algoritmadan faydalanabilmesidir. Bu sparsity düzeyi, bu özel algoritma için uygulama alanı ile kareler gibi görünmüyor, bu yüzden sadece açıklayıcı bir örnek olabilir.

Böyle bir tekniğin gerçek dünya problemlerinde kullanım için ne kadar pratik olduğu hakkında daha iyi bir fikir edinmek için literatürden biraz daha fazla okumaya ihtiyacım var, ancak bazı uygulama sınıfları için uygun olabilir.


2
Yani bu temelde kayıp bir FFT mi? MP3 kodlayıcı gibi mi?
12'de endolith

3
@endolith: Bunu bu şekilde koyacağımdan emin değilim. Belki sadece çıkışların bir alt kümesini hesaplayan budanlanmış bir FFT algoritmasına daha benzer. Buradaki iddia, eğer giriş sinyali seyrekse, o zaman çıktısının tam olarak hesaplanmasıdır. kk
Jason R,

Goertzel algoritmasına (ya da onların ailesine) karşı nasıl gittiğini merak ediyorum. Görünen o ki tek fark, goertzel'de neyle başlayacağınızı bilmek.
Spacey

5
@ endolith: MP3 sıkıştırma kayıplıdır çünkü katsayılar nicelenmiştir; çünkü sadece üst k katsayıları tutulur. Seyrek FFT = "giriş sinyaliyle farkı en aza indiren k katsayılarının temsili nedir". Bir mp3 karesinin kodlanması = "katsayıları ve ölçek faktörlerini depolamak için bir N bit bütçesi verilen (algısal) hatayı en aza indiren nicelleştirilmiş katsayılar ve niceleme seviyeleri nelerdir".
pichenettes


7

SFFT hakkındaki makaleyi okumamıştım, ama benim fikrim, arkasındaki FFT'yi bağlama fikrinin k-sparititesinin öncülüğünü kullanmak olduğu yönünde. Bu nedenle, bir FFT katsayılarının tüm girişlerini hesaplamak zorunda değilsiniz, bunun yerine sadece onların k'lerini hesaplamak zorunda kalmazsınız. Bu yüzden k-seyrek sinyal için, karmaşıklık geleneksel FFT için O (nlog n) yerine O (klog n) olur.

Herhangi bir şekilde, @rcmpton'un yorumlarına göre, “Sıkıştırılmış algılamanın arkasındaki fikir, farklı bir alandan çizilen seyrek rastgele örneklerden seyrek verileri kurtarabilmenizdir (örneğin, rastgele seyrek frekans verilerinden (ör., MRI)). ." Soru "seyrek rastgele örnekler" nedir? Seyrek verinin bazı alt (ölçüm) alt alanlara rasgele yansıtılmasıyla toplanan örnekler olabileceğini düşünüyorum.

Anladığım kadarıyla, sıkıştırıcı algılamanın teorik çerçevesi büyük ölçüde 3 konudan, seyreklikten, ölçümden ve toparlanmadan oluşuyor. Seyrek olarak, sözlük öğreniminin görevi olan belirli sinyal sınıfları için seyrek temsiller aramakla ilgilidir. Ölçümle, örneğin, rastgele Gauss matrisi, yapısal rastgele matris gibi ölçüm matrisi tasarımının görevi olan verileri ölçmek için (veya düşük ölçüm alanına verileri yansıtmak) etkili bir yol (hesaplama verimliliği ve kurtarılabilir) aramakla ilgilidir. ... Ve geri kazanma ile, seyrek regüle edilmiş lineer inversiyon problemleri, l0, l1, l1-l2, lp, l-grubu, blabla ... ve sonuçta ortaya çıkan algoritmalar çeşitlidir, Eşleştirme peşinde, yumuşak eşik, sert eşik, temel takip, bayes, ....

"Cs, L1 normunun en aza indirilmesidir" doğrudur ve L1 normu, cs için temel bir prensiptir, fakat cs, sadece L1 normunun en aza indirilmesi değildir. Yukarıdaki 3 bölümün yanı sıra, yapılandırılmış sparititenin de kullanıldığı ve toparlanma kabiliyetini büyük ölçüde iyileştirdiği kanıtlanmış, yapılandırılmış (grup veya model) sıkıştırma algılaması gibi bazı uzantılar da vardır.

Sonuç olarak, cs örnekleme teorisinde büyük bir adımdır ve bu sinyallerin yeterince seyrek olması koşuluyla sinyalleri örneklemede etkili bir yol sağlar . Bu nedenle, cs örnekleme teorisidir , onu sınıflandırma veya tanıma için bir teknik olarak kullanacak olan herkes prensibi yanıltıcıdır. Ve bazen, "sıkıştırıcı algılamaya dayalı ....." başlıklı bir makale buluyorum ve bence bu kağıdın ilkesinin cs yerine l1-minimizasyonu kullandığını ve "l1-minimizasyon tabanlı ... 'nın kullanılması daha iyi olduğunu düşünüyorum. ".

Eğer hatalıysam, düzelt beni lütfen.


DSP.SE'ye Hoşgeldiniz Bu büyük bir katkıdır.
Phonon

6

Makaleyi inceledim ve genel yöntem hakkında bir fikrim olduğunu düşünüyorum. Yöntemin "gizli souse "'si, giriş sinyalinin frekans alanındaki seyrek temsil edilmesini sağlar. Önceki algoritmalar, baskın seyrek katsayının yeri için bir tür kaba kuvvet kullandı. Bu yöntem yerine "alan geri kazanımı" veya "sıkıştırılmış algılama" wiki makalesi adı verilen tekniği burada bulabilirsiniz . Burada kullanılan seyrek geri kazanım yöntemi, baskın seyrek geri kazanma yöntemlerinden biri olan "zor eşik" e benzer.

Seyrek iyileşme / sıkıştırılmış algılama ve buna bağlı PS tekniği L1 minimizasyonu modern sinyal işlemede ve özellikle Fourier dönüşümü ile bağlantılı olarak çok kullanılır. Aslında, modern sinyal işleme için bilmek bir zorunluluktur. Ancak, Fourier dönüşümü, seyrek iyileşme probleminin çözümü için yöntemlerden biri olarak kullanılmadan önce. Burada Fourier dönüşümü için karşıt - seyrek iyileşme görüyoruz .

Genel bakışta sıkıştırılmış algılama için iyi bir site: nuit-blanche.blogspot.com/

PPS önceki yoruma cevap - giriş sinyali tam olarak seyrek değilse kayıplıdır.

Yanlış bir yöntemle karşılaşırsam beni düzeltmekte özgürsün.


FFT kağıdı sıkıştırılmamış algılayıcı değil. Sıkıştırılmış algılamanın arkasındaki fikir, farklı bir alandan çizilen seyrek rastgele örneklerden seyrek verileri kurtarabilmenizdir (örneğin, rastgele seyrek frekans verilerinden (ör., MRI). Bu edinim süresini azaltabilse de, hesaplama maliyetini arttırır. FFT makalesi, her iki alandaki tüm verilerinize sahip olduğunuzdan farklıdır ve amaç bir hesaplamanın hızlı bir şekilde gerçekleşmesini sağlamaktır.
dranxo

Sıkıştırılmış algılama konusunda yanılıyorsun.
mirror2image

1
Ayrıntılı olabilir misiniz?
dranxo

Sıkıştırılmış algılama se ama benzer alanlarına göre sadece geri bağlı bulunmaktadır bulanık kenarları / büyük bir alandır regülarizasyonu minimum karmaşıklık arayışlar vb Başlangıçta bu bir kıtlık kısıtlı sorun , x , R ^ n \ | x \ | _0 <k $, fakat daha sonra çok daha fazla brad haline geldi. Wiki okumaya başla bir x = y R m y i , n , m > > n W ı T h c o n s t r bir i , n tLpAx=yRmyin,m>>nwithconstraint
mirror2image

Hayır. Sıkıştırılmış algılama , tabi olan çözdüğünüz anlamına gelir . Çok geniş kapsamlı uygulamalar var, ancak Candes-Romberg-Tao teoremini bir noktada çağırmazsanız, çalışmanızı "sıkıştırılmış algılama" ile etiketlerseniz, insanları kafa karıştırıyorsunuzdur. İşte bir referans: www-stat.stanford.edu/~candes/papers/spm-robustcs-v05.pdfmin|x|1Ax=y
dranxo
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.