Próbowałem google i wikipedia-go, ale nie otrzymałem odpowiedzi poza „to dlatego, że częstotliwość sygnału wejściowego znajduje się między dwoma pojemnikami”.
Rozumiem, że to jest powód, ale nie rozumiem, dlaczego wyciek wydaje się rozciągać na kilka sąsiednich pojemników, a nie tylko na jeden sąsiedni pojemnik.
Aby zilustrować to, o czym mówię, oto niektóre symulowane dane (kod na końcu postu):
Powyżej widmo FFT (wykreślone w skali logarytmicznej) fali sinusoidalnej o częstotliwości 10. Częstotliwość próbkowania wynosi jeden, a liczba próbek wynosi 100. Wykres został przesunięty o FFT. Widocznie jest tylko pik w bin 10, a reszta jest w porządku błędu numerycznego, lub mniej więcej.
Jest to widmo częstotliwości przy generowanej częstotliwości 10,1. Wyraźnie widać „wyciek” do większej liczby pojemników niż tylko bezpośrednio sąsiadujący pojemnik.
Jest to wykres dla częstotliwości 10,5.
Pytanie: Dlaczego występuje wyciek i dlaczego rozciąga się on na wszystkie inne pojemniki, a nie na bezpośrednie sąsiednie pojemniki?
Kod dla wszystkich zainteresowanych (kod Python)
import numpy as np
import matplotlib.pyplot as plt
xFreq = 10.5
xSize = 100.0
xPeriod = xSize/xFreq
x = np.linspace(1,xSize,xSize)
data = np.sin(2*np.pi*x/xPeriod)
fft = np.fft.fft(data)
fft = np.fft.fftshift(fft)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(abs(fft), "o")
ax.set_yscale('log')
plt.show()
Zmieniłem xFreq
wartość z 10.0
na 10.5
itp.
źródło
Odpowiedzi:
FFT ma skończoną długość, a zatem stanowi domyślne prostokątne okno w strumieniu danych. Okno w dziedzinie czasu powoduje splot w dziedzinie częstotliwości z transformacją okna. Zauważ, że transformacja okna prostokątnego jest funkcją Sinc (sin (x) / x), która ma nieskończoną szerokość. To nie tylko 2 pojemniki na szerokość. W ten sposób zmarszczki funkcji Sinc będą widoczne jako „wyciek” z dala od jakiegokolwiek piku widmowego, który nie jest idealnie okresowy w długości FFT.
Poniższy rysunek pokazuje część odpowiedzi częstotliwościowej funkcji sinus. Kiedy ton jest wyśrodkowany na jednym z przedziałów, wszystkie pozostałe punkty są wyrównane z zerami w odpowiedzi częstotliwościowej. Jeśli nie jest wyśrodkowany na bin, to jest jak przesunięcie całej odpowiedzi częstotliwościowej, co powoduje, że inne pojemniki spadają na niepuste części odpowiedzi częstotliwościowej.
Innym sposobem spojrzenia na to jest to, że FFT jest tylko zbiorem filtrów, w którym każda podłoga pasma zatrzymania filtra ma wiele tętnień i na pewno nie jest nieskończona w tłumieniu więcej niż 1 bin od częstotliwości środkowej. Niektóre okna (von Hann itp.) Inne niż prostokątne mają dolne pasy ograniczające, co jest jednym z powodów ich popularnego zastosowania.
źródło
hotpaw2
odpowiedź jest dobra, ale chciałbym trochę rozwinąćuser5133
komentarz:i jednocześnie odpowiedzieć na pytanie. Pamiętaj, że jestem ekspertem w tej dziedzinie --- możesz komentować, poprawiać lub potwierdzać.
Ale transformata Fouriera produktu jest splotem transformacji Fouriera:
źródło