Digital signal processing using FFT

5 Ansichten (letzte 30 Tage)
Jone Erikson
Jone Erikson am 19 Okt. 2020
Beantwortet: Asvin Kumar am 9 Feb. 2021
I am trying to write a a MATLABfunction that implements a non-power-of-two FFT using power-of-two FFT’s, according to the method in which the FFT is transformed into a convolution problem. I tried using the MATLAB FFT to implement the required convolution, as long as it is called so that it computes a power-of-two FFT. how can I demonstrate with code using a random input signal input signal that my function yields the same result as the MATLAB fft() function. Then I compare the timing on a random sequence of length 999,983 to the MATLAB FFT. (x = randn(1,999983);). Any help with that please

Antworten (1)

Asvin Kumar
Asvin Kumar am 9 Feb. 2021
It's true that the typical value of n is a power of 2 in n-point FFTs. It's not mandatory though.
As mentioned in the doc for fft:
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.
So, you should still be able to compare your custom code with the fft function for reasonable values of 'n'.

Kategorien

Mehr zu Fourier Analysis and Filtering finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by