Sinüs dalgasının FFT'si beklendiği gibi gelmiyor yani tek nokta


14

Camgöbeği grafiği 50 Hz'lik bir spektrumdur ve macenta, 50.1 Hz'lik bir sinüs dalgasıdır (genlik 0.7'ye sahiptir). Her ikisi de 1024 örnek / s'de örneklenmiştir. Bu spektrumu elde etmek için 1024 puanlık bir FFT yaptım.

Neden sadece 50Hz spektrumu tek bir değerdir? 50,1 Hz sinüs neden 50,1 Hz dışındaki diğer frekanslardan oluşur; bu yeni frekanslar nereden geliyor?

50.1 Hz sinyalinde doğrusal olmayan bir işlem yapmadım! Ayrıca, 50.1 Hz daha küçük maksimum genliğe sahiptir, yani aslında sinüs dalgasının 0.7 genliği olduğunda, 0.7 değildir.

Bu neden?

Sırasıyla 50Hz ve 50.1Hz için iki spektrum MATALB komutu fft ();


Bu komployu oluşturmak için kullandığınız kodu kaydeder misiniz? Benim en iyi tahminim, sinyalleriniz birbirine çok yakın olduğu için fft bunları düzgün bir şekilde çözemez. Bu ya da bazı spektral lekelenmeler, çünkü numuneler frekanslarla uyumlu değildir.
Tom Kealy

4
Aşağıdaki cevaplar doğrudur. Gözlemlediğiniz şeye, spektral sızıntı denir ve frekansı tam olarak DFT çıkış bölmelerinden birinin merkezinde yer almayan bir sinüzoidi analiz ettiğinizde gözlenir.
Jason R

Lütfen 50Hz işaretinde başak elde edebilmeniz için neye karşı
çizdiğinizi öğrenebilir miyim

Sorunun ne olduğu ve sorunun nasıl çözüleceğine ilişkin ayrıntılı bir açıklama için bu yanıta bakın .
Dilip Sarwate

Yanıtlar:


14

Aslında Matt'in cevabı buradaki sorun hakkında zaten bir görüş veriyor: DFT hem zaman hem de frekans alanında dolaylı olarak periyodiktir ( bu soruya bakın ). Parametrelerinizden gözlem sürenizin 1 sn olduğunu hesaplayabiliriz. Bu, 50 Hz tonda 50 periyodu gözlemlediğiniz anlamına gelir. Gözlem aralığının periyodik olarak uzatılması her zaman görünmez bir sinüs dalgası ile sonuçlanacaktır. 50,1 Hz tonu alırsanız, 50,1 periyot salınım dönüştürüyorsunuz. Bu sinyalin periyodik olarak uzatılması , ilave spektral kollara neden olan faz sıçramalarıyla sonuçlanacaktır.

Başka bir görünüm, olarak tanımlanan frekans çözünürlüğüdür . 50 Hz, 1 Hz'nin bir tam sayı katı olduğundan, bu ton tek bir DFT kutusu tarafından yeniden sunulabilir. DFT sonucu ayrı boşluk 1 Hz ayrık değerleri olduğu gibi, 50,1 Hz olamaz tek bir sele ile temsil edilebilir ve enerji, frekans alanında üzerine sürülür. Örneğinizde, hafif asimetrik macenta spektrumunun ve 50 Hz'lik spektrumun 0.7 büyüklüğüne kıyasla 50 Hz'lik haznenin daha düşük büyüklüğünün nedeni budur.fs/NDFT=1024Hz/1024=1Hz

Yukarıda açıklanan her iki etki de gözlemlediğiniz spektruma katkıda bulunur.


1
Mantıklı. Ancak açıkladığınız daha net spektral sızıntı, spektrumları gözlemlemek için araç (FFT) ile ilgili bir sorundur. Bu sinyalde bir kusur perse değil. Araçlar 50.1 Hz'lik bir ses sinyalini 'duyuyorsam', kulaklarıma bir tür 'gürültü' değil, tek bir ton olarak görünecektir. Haklı mıyım?
gpuguy

1
Kesinlikle haklısın. Doğru yorumlayabilmek için DFT'nin gerçekte ne yaptığını anlamanın ne kadar önemli olduğunu gösterir. Bir sidenote olarak: gerçek bir uygulamada ne duyacağınız aynı zamanda ayrımı nasıl analog sinyale dönüştürdüğünüze de bağlıdır.
Deve

11

Bu sinüs sinyalinin kesilmesi veya pencerelenmesinin etkisidir. Öyle bir şekilde kesmeniz gerekir ki, kaymış sinyali kesilmiş olana eklerseniz, yine de orijinal sinüs dalgası olacaktır.


6

FFT açıklığında veya genişliğinde tam olarak tamsayı periyodik olan saf modüle edilmemiş sinüzoid frekansı için yalnızca tek bir sonuç FFT noktası elde edersiniz. Diğer herhangi bir sinusoid frekansı, varsayılan pencerenin (bir dikdörtgen) dönüşümü (periyodik bir Sinc) ile kıvrımlı olarak görünecektir.

50,1 Hz, FFT'nizin 1 saniyelik penceresinde tam olarak periyodik değildir.

Bu diğer "sızıntı" FFT sonuç bölmeleri veya frekansları, FFT genişliğinde periyodik olarak tamsayı tamsayı olmayan herhangi bir sinyalle pencere sınırları arasında üretilen süreksizliği temsil etmek için gereklidir. Bunun nedeni, bir DFT'nin tüm temel vektörlerinin, DFT'nin genişliği içinde tam olarak periyodik olması ve dolayısıyla temel vektörünün sonu ile başlangıcı arasında keskin bir süreksizliğin olmamasıdır. Dolayısıyla, bu özelliklere sahip olmayan herhangi bir sinyal sadece bir DFT temel vektörü (ve onun karmaşık eşleniği) ile temsil edilemez, bu nedenle sinyalin geri kalanıyla ilgili bilgilerin bir yere gitmesi gerekir.

Toplam enerji FFT dönüşümü (Parseval'a teoremi) tarafından korunduğundan, "sızıntı" kutularındaki enerji pik bölmesinden uzaklaştırılır. Bu nedenle, pik kutunun büyüklüğü daha düşük olmalıdır.


5

Bahse girerim ilk ve son örnekte sinüs dalgasının sıfır olduğunu? Olmamalı. O yüzden dizilmiş olmalıdır sonraki son örneği sonrasında numune kopyalayıp birbiri ardına sinyal birinin kopyaları yapıştırın ve hiçbir çoğaltılamaz örnekleri ile, sürekli bakacağız böylece sıfırdır. Belki de bir kenar döşendiğinde sorunsuz bir şekilde karşı kenarı karşılamak zorunda kiremitli masaüstü duvar kağıdı gibi düşünün. :)

Bir python örneği için bkz. Https://gist.github.com/endolith/236567 :

# Sampling rate
fs = 128 # Hz

# Time is from 0 to 1 seconds, but leave off the endpoint, so that 1.0 seconds is the first sample of the *next* chunk
length = 1 # second
N = fs * length
t = linspace(0, length, num = N, endpoint = False)

# Generate a sinusoid at frequency f
f = 10 # Hz
a = cos(2 * pi * f * t)

# Use FFT to get the amplitude of the spectrum
ampl = 1/N * abs(fft(a))

Sürekli bir dalga oluşturmak için sinyalin iki kopyasının uçtan uca nasıl oturduğunu görün:

resim açıklamasını buraya girin

Bu olduğunda, FFT enerjisi tamamen tek bir kutuda bulunur:

resim açıklamasını buraya girin


1
OP ile aynı problemim vardı. Bitiş noktası = Yanlış bayrak ayarı sayesinde çözüldü. Çizginin varsayılan olarak (kapalı, açık) olduğunu düşündüm, ancak (kapalı, kapalı) olduğu ortaya çıktı. Kodunuz sayesinde hatayı buldum.
Trismegistos

-1

Bu, Spektral Sızıntı ve Pencereleme nedeniyle oluşur. İdeal tepki, yani dürtü işlevi, sürekli zaman sinüs dalgası içindir. Dijital bir bilgisayarda ayrı bir sinüs dalgasının DFT'sini aldığınızda, temel olarak pencereli ve örneklenmiş sinüsün Fourier Dönüşümü'nü alıp frekans alanında örneklersiniz. Bu spektral sızıntıya neden olur. Bakınız: http://w.astro.berkeley.edu/~jrg/ngst/fft/leakage.html

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.