what is NFFT and where it is used in matlab code
조회 수: 126 (최근 30일)
이전 댓글 표시
답변 (2개)
Star Strider
2017년 2월 10일
Another explanation for ‘NFFT’ in the documentation for the fft (link) function is that it is the length of the signal you want to calculate the Fourier transform of. (It zero-pads the time-domain vector before calculating the transform.) Because of the nature of the fft algorithm, this is usually 2^n, where ‘n’ is any integer, because it makes the algorithm more efficient. It also increases the frequency resolution of the resulting fft, generally considered to be preferable.
Using the ‘NFFT’ argument is especially helpful if you are comparing the fft of different signals of slightly different lengths and want all of them to have the same frequency resolution. Setting ‘NFFT’ to be the same for all the signals allows you to compare them directly at each frequency.
댓글 수: 3
Cutie
2021년 6월 21일
But, is NFFT th length or window size of the FFT? I need clarification on this please.
Walter Roberson
2021년 6월 21일
Transform length, specified as [] or a nonnegative integer scalar. Specifying a positive integer scalar for the transform length can increase the performance of fft. The length is typically specified as a power of 2 or a value that can be factored into a product of small prime numbers. If n is less than the length of the signal, then fft ignores the remaining signal values past the nth entry and returns the truncated result. If n is 0, then fft returns an empty matrix.
Walter Roberson
2017년 2월 10일
NFFT is one of the abbreviations used for Non-Uniform Fast Fourier Transform. Mathworks does not supply code for it. You can find one implementation at https://www.mathworks.com/matlabcentral/fileexchange/25135-nufft--nfft--usfft
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Fourier Analysis and Filtering에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!