# Digital signal processing using FFT

4 views (last 30 days)
Jone Erikson on 19 Oct 2020
Answered: Asvin Kumar on 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

Asvin Kumar on 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'.

### Categories

Find more on Spectral Measurements in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by