Jaka jest maksymalna rozdzielczość częstotliwości dla spektrogramu implementacji STFT Matlaba ()?

10

spectrogram()Funkcja Matlaba oblicza STFT sygnału. Opisuje swój NFFTargument w następujący sposób:

S = SPECTROGRAM(X,WINDOW,NOVERLAP,NFFT)określa liczbę punktów częstotliwości używanych do obliczania dyskretnych transformacji Fouriera. Jeśli NFFTnie jest określony, NFFTużywana jest wartość domyślna .

Czy mam rację, że NFFTjest to kompromis tylko między rozdzielczością częstotliwości a liczbą obliczeń? W mojej pracy offline nie trzeba zapisywać cykli. Czy istnieje jakikolwiek maksymalny limit NFFTnarzucony np. Przez wyciek widmowy lub inny problem, o którym powinienem wiedzieć, czy też mogę ustawić ten argument na możliwie najwyższy?

Andreas
źródło

Odpowiedzi:

5

Długość FFT jest kompromisem między częstotliwością a rozdzielczością czasową. Spektrogramy są często generowane przez obliczenie nakładających się FFT na sygnał zainteresowania. Jeśli wydłużysz FFT, efektywna szerokość pasma każdego pojemnika wyjściowego będzie mniejsza, więc poprawi się rozdzielczość wzdłuż osi częstotliwości. Jedynym czynnikiem ograniczającym rozdzielczość częstotliwości, którą można uzyskać, jest całkowity czas obserwacji, jaki masz na podstawie sygnału.

Jednocześnie jednak zmniejsza się zdolność do rozwiązania funkcji zlokalizowanej w czasie. Intuicyjnym sposobem myślenia o tym jest postrzeganie FFT jako złożonej konwersji w dół, po której następuje operacja integracji i zrzutu:

X[k]=n=0N.-1(x[n]mi-jot2)πnkN.)

x[n]2)πnkN.N.x[n]N.

Masz również rację, że zwiększenie długości FFT wymaga więcej obliczeń, które mogą być istotne dla aplikacji w czasie rzeczywistym.

Jason R.
źródło