FFT'de frekans çözünürlüğü ve pencere boyutu nasıl seçilir?


9

200Hz'den 10kHz'e değişen frekansla zamanla değişen sinyalin spektrum analizi yapıyorum. FFT'yi sinyaldeki frekans bileşenini analiz etmek için kullanıyorum. Sorularım:

  1. Sinyalin frekans çözünürlüğü ve pencere genişliği hakkında nasıl karar verilir?
  2. Zamanla değişen sinyal için hangi pencere fonksiyonu tipi uygundur?
  3. FFT için en uygun boyut ne olmalıdır?

Sinyalin örnekleme oranı 44.1kHz'dir.


2
Frekans değişim modeli nedir? Sinyal aniden farklı frekanslar arasında mı atlıyor yoksa frekans değişimi sürüyor mu? Sinyal atlarsa, hangi süre boyunca sinyalin aynı frekansta kalacağını varsayabilirsiniz? Frekans değişimi sürekli ise, bu değişikliğin hangi modeli vardır (doğrusal, gaussian, diğer)?
Vasiliy

Chirp sinyaline benzer sinyali değiştirmeye devam ettiğini ummuyor. her bir frekans için genlik rastgele değişebilir.
nitin

4
Frekans bileşenini analiz etmek için FFT kullandığınızı söylüyorsunuz. Bu bir ara adımdır ve sorunuzu doğru bir şekilde cevaplamak için neyi başarmaya çalıştığınızı bilmemiz gerekir. Bu bilgilerle ne yapmak istiyorsun? Neden frekans bileşenini bilmeniz gerekiyor? Bu bilgileri ne sıklıkla güncellemeniz gerekiyor? Bize bunu söylemeden, çözümün ne olması gerektiğini bilen tek kişi sensin. Aslında, cevabı sadece bir veya iki frekansta bilmeniz gerekiyorsa, FFT gitmek için en iyi yol olmayabilir.
Scott Seidman

@ScottSeidman, aklımı okudun.
Vasiliy

1
@ trav1s, hepimiz farklı öğretiriz. Eğer bir öğrencim bana bu şekilde sorulan soru ile gelseydi, yukarıdaki ayrıntılı yorumumla aldığım eve götüren aynı mesajı vermeye çalışırdım- "Bir mühendis neden yaptığını anlamalı buna başlamadan önce bir şey ". Frekans çözümlemesini N'nin bir fonksiyonu olarak tanımlayan denklemleri bulabileceğiniz binlerce kaynak var ve bu soru soran kişinin onlara sahip olduğunu hissetti, ancak bu mesaj onlara bağlı değil! İnşallah, prodding, askere zaten cevabı tuttuğunu fark ettirdi.
Scott Seidman

Yanıtlar:


4

Sabit bir örnekleme hızı ile çalıştığınız için (pencerenizin aynı genişlikte olmasını gerektirecek) FFT uzunluğunuz frekans çözünürlüğünüzü artıracaktır. Daha ince bir frekans çözünürlüğüne sahip olmanın yararı iki yönlüdür: belirgin olanı, frekansta çok yakın olan iki sinyali ayırt edebilmeniz için daha iyi bir frekans çözünürlüğü elde etmenizdir. İkincisi, daha yüksek frekans çözünürlüğü ile FFT gürültü tabanınızın daha düşük olacağıdır. Sisteminizdeki gürültü, FFT'nizin nokta sayısıyla ilişkili olmayan sabit bir güce sahiptir ve bu güç (beyaz gürültüden bahsediyorsak) tüm frekans bileşenlerinize eşit olarak dağıtılır. Böylece, daha fazla frekans bileşenine sahip olmak, frekans kutularınızın bireysel gürültü katkısının düşürüleceği anlamına gelirken, toplam entegre gürültü aynı kalır, bu da daha düşük bir gürültü zemini sağlar. Bu, daha yüksek bir dinamik aralığı ayırt etmenizi sağlayacaktır.

Bununla birlikte, daha uzun bir FFT kullanmanın dezavantajları vardır. Birincisi, daha fazla işlem gücüne ihtiyacınız olacak. FFT, O (NlogN) algoritmasıdır; burada N, nokta sayısıdır. Saf DFT kadar dramatik olmasa da, N'deki artış, özellikle gömülü bir sistemin sınırları içinde çalışıyorsanız, işlemcinizi kanamaya başlayacaktır. İkincisi, N'yi artırdığınızda, zaman çözünürlüğünü kaybederken frekans çözünürlüğü kazanırsınız. Daha büyük bir N ile, frekans etki alanı sonucunuza ulaşmak için daha fazla numune almanız gerekir, bu da daha uzun süre numune almanız gerektiği anlamına gelir. Daha yüksek bir dinamik aralık ve daha ince frekans çözünürlüğü tespit edebileceksiniz, ancak mahmuz arıyorsanız, mahmuzun tam olarak NEDENİ hakkında daha az net bir fikriniz olacaktır.

Kullanmanız gereken pencerenin türü, size hangisinin daha iyi olduğuna cevap vermek için bilgilendirilmediğim başka bir konudur. Bununla birlikte, farklı pencereler farklı çıktı özelliklerine sahiptir, bunların çoğu (hepsi değilse de) FFT sonucunu işledikten sonra geri dönüşümlüdür. Bazı pencereler frekans bileşenlerinizi yan bölmelere aktarabilir (eğer yanılmıyorsam, Hanning penceresi bileşenlerinizin üç bölmede görünmesini sağlar.), Diğerleri bileşenlerinize bir miktar kazanç hatası verirken size daha iyi bir frekans doğruluğu verebilir. Bu tamamen elde etmeye çalıştığınız sonucun doğasına bağlıdır, bu yüzden belirli bir uygulamanız için en iyi olana ulaşmak için biraz araştırma (veya bazı simülasyonlar) yapardım.


Sıralı bloklar üzerinde FFT değerlendirmeleri yapmak sezgisel olsa da, bunları üst üste binen giriş verisi blokları üzerinde de çalıştırabileceğinizi , yani, her 256 örnekte bir 1024-nokta FFT'yi başlatabileceğinizi unutmayın. henüz daha fazla hesaplama maliyeti.
Chris Stratton

0

Bu yüzden ilk önce, örnekleme frekansı, olduğu sinyalin maksimum frekansının en az iki katı olmalıdır (44.1kHz> 2x10kHz). Daha sonra, zaman alanındaki pencerenin uzunluğu T ise, FFT ile frekans çözünürlüğü tam olarak 1 / T'dir. FFT kullanan frekans alanındaki çözünürlüğün, zaman alanındaki örnekleme frekansı ile ilgisi yoktur. Ancak daha önceki yanıtta belirtildiği gibi, zaman alanı penceresi çok büyük olamaz, çünkü o zaman sadece anlık olarak ortaya çıkan sahte sinyaller hakkında bilgi kaybedersiniz. Bu yüzden frekans çözünürlüğü ile sahte sinyalleri tespit etmek arasında bir uzlaşma olmalıdır. Son olarak FFT, zaman alanından frekans alanına bir sinyal alan tek algoritma değildir. Zaman alanında sınırlı sayıda örnek içeren frekans alanında yüksek çözünürlük arıyorsanız, MUSIC ve ESPIRIT gibi yüksek çözünürlüklü spektral tahmin tekniklerini kullanabilirsiniz. Bunlar, spektral tahmin problemine oldukça benzeyen varış yönü (DOA) tahmini için de kullanılır.


um hayır ... nyquist'i tekrar oku. Bir frekansı güvenilir bir şekilde yeniden oluşturmak istiyorsanız 5-10x'e ihtiyacınız olacaktır. Benzer şekilde, daha geniş bir pencere, alt harmoniklere en düşük ilgi frekansının yeniden yapılandırılmasına izin verir. Dirac darbesi yüksek frekans içeriğine sahip olabileceğinden sahte bir sinyal yine de FFT'de güvenilir bir şekilde görülmeyecektir Görevi "rastgele" Sadece güvenilir / periyodik bir bileşen önemli bir genlikle gösterilecektir
JonRB

ilgilenilen sinyalin frekans aralığı 200Hz'den 10kHz'e kadardır ... bu nedenle örnekleme frekansı sinyal frekansının en az 4.41 katıdır ... spektrumun alt ucuna bakarsak örnekleme frekansı 220.5 kattır ... frekansın istatistiksel olarak nasıl dağıtıldığını bilmemiz gerekebilir ... yine de örnekleme sıklığının burada bir sorun olmadığını düşünüyorum!
Yasir Ahmed
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.