Neden tek bir sinüs dalga döngüsünün Fourier dönüşümü tek bir çubuk değil?


12

Orada tek sinüs dalgaları üzerinde farklı Fourier dönüşüm kodları denedim ve hepsi teorik olarak tek bir çubuk görüntülemek gerektiğinde sinyal frekansında bir rezonans ile dağıtılmış bir spektrum üretir.

Örnekleme frekansı çok az etkiye sahiptir (burada 10kHz), ancak döngü sayısı şunları yapar:

Bir döngü:

resim açıklamasını buraya girin

100 döngü:

resim açıklamasını buraya girin

100000 döngü:

resim açıklamasını buraya girin

Fourier dönüşümü sadece sonsuz sayıda döngü için birleşiyor gibi görünüyor, neden? Tam olarak bir döngünün zaman aralığı, N döngülerinkiyle aynı sonuçları getirmemeli midir?

Uygulama: Bu hem meraktan hem de birinci dereceden bir sistemin adım tepkisinin mekanik bir montajın rezonansını ne kadar heyecan verici hale getireceğinden dolayı istiyorum. Bu yüzden cevabın doğru bir Fourier dönüşümüne ihtiyacım var ... Artık güvenmiyorum. "Sinüs dalgası" durumuna göre doğruluğu artırmak için ne yapabilirim?

resim açıklamasını buraya girin

Not: Bu özel ekran görüntüleri koduna dayanmaktadır burada .


6
Kabul edilen cevaba ek olarak, ayrık zamanlı Fourier dönüşümünün (DFT kullanarak hesapladığınız) bir sinüzoid periyodu olan bir giriş sinyali için bir dürtü olduğuna inanmak için hiçbir neden olmadığını unutmayın. Bir sinüzoidin sürekli zamanlı Fourier dönüşümü bir dürtüdür, evet, ancak sinüsoid süresi sınırsızdır. Sinyali zamanla sınırladığınızda, bu dikdörtgen bir pencere işleviyle çarpmaya eşdeğerdir. Frekans alanı sonucu, aslında gözlemlediğiniz şey olan dürtü dönüşümü ve pencerenin Fourier dönüşümüdür.
Jason R

Yorum için teşekkürler. Öyleyse, NFFT numarasını vektörün uzunluğuna değiştirirsem sonucun tek bir çubuk olduğunu nasıl açıklarsınız?
Bay Mystère

1
İyi soru. Bu, DFT'deki doğal bir varsayım nedeniyle oluşur. DFT'nin girişinde verilen sonlu uzunluklu sinyalin, her iki yönde periyodik olarak sonsuz bir süre boyunca uzadığı varsayılmaktadır. Bu nedenle, DFT'nin "diyaframı" içinde tamsayı sayıda döngüye sahip olduğunuzda, sonsuz süreli bir sinüzoidin dönüşümü ile sonuçlanırsınız: tek bir dürtü. Bu tam olarak sıfır spektral sızıntıya karşılık gelir ve pratikte nadiren görülür.
Jason R

Yanıtlar:


30

Bu bir pencere eseridir.

Bağlı kod, uzunluğu iki olan bir güç olacak şekilde sıfırlarla 10.000 örnek sinyal gönderir.

%% Author :- Embedded Laboratory

%%This Project shows how to apply FFT on a signal and its physical 
% significance.

fSampling = 10000;          %Sampling Frequency
tSampling = 1/fSampling;    %Sampling Time
L = 10000;                  %Length of Signal
t = (0:L-1)*tSampling;      %Time Vector
F = 100;                    %Frequency of Signal

%% Signal Without Noise
xsig = sin(2*pi*F*t);
...

%%Frequency Transform of above Signal
subplot(2,1,2)
NFFT = 2^nextpow2(L);
Xsig = fft(xsig,NFFT)/L;
...

Yukarıdaki kodda, FFT'nin NFFTsinyal uzunluğundan sonraki 2 güç daha büyük olan FFT boyutuyla alındığını unutmayın (bu durumda, 16.384.) Mathworks fft()belgelerinden :

Y = fft(X,n)n-noktalı DFT'yi döndürür. ilk nonsingleton boyutunun boyutunun nerede fft(X)olduğuna eşittir . Uzunluğundan daha az ise , uzunluktan sonra sıfırlarla doldurulur . Uzunluğu daha büyükse , dizi kesilir. Bir matris olduğunda , sütunların uzunluğu aynı şekilde ayarlanır.fft(X, n)nXXnXnXnXX

Bu, aslında 'saf sinüs dalgasının' FFT'sini almamanız anlamına gelir - sinüs dalgasının FFT'sini düz bir sinyale sahip olursunuz.

Bu, sinüs dalgasının FFT'sinin kare pencere işleviyle çarpılmasıyla eşdeğerdir. FFT spektrumu daha sonra sinüs dalgası frekans spektrumunun (bir dürtü fonksiyonu) kare dalga frekans spektrumu (sinc (f)) ile konvolüsyonudur.

Eğer değiştirirseniz L = 16,384sinyalin hiç sıfır dolgu olacak şekilde, bir gözlemleyeceksiniz perfectFFT.

Diğer arama anahtar kelimeler: "Spektral Sızıntı", "Pencere İşlevi", "Hamming Penceresi".


Edit: Bu konuda yazdığım bazı materyalleri üniversitede temizledim. Bunu bloguma gönderdim .


Tüm bu zaman boyunca yüzümün önünde idi. Aferin efendim, NFFT numarasını vektörün uzunluğuna değiştirdim ve bunu yaptım.
Bay Mystère

1
@ MisterMystère: Üniversitede yazdığım ilgili materyalin bağlantısı için düzenlemeye bakın. Resimler de dahil olmak üzere çok daha kapsamlı bir açıklama.
Li-aung Yip

(Gerçi matematik formüllerini yeniden
yazmayı

Küçük bir avantaj ben FFTW olduğuna inanıyoruz matlab FFT algoriths kullanarak nextpow2 için padding olduğunu Sadece bir hatırlatma (en hızlı fourier batıda dönüşümü)
Scott Seidman
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.