FFT of discrete signal .Should use nextpow2 or not

18 visualizaciones (últimos 30 días)
632541
632541 el 21 de Abr. de 2021
Comentada: Star Strider el 2 de Mayo de 2021
Hi ,
Number of samples= 50000 samples.
m=[ 0 54 ...................................................]
m is the discrete signal samples .Has length of 50000
Is this code correct for the signal which has 50000 samples?
Do I use nextpow2 function?
When I used it I am getting wrong frequency components in FFT.
Here is the code i have written .
m=[ 0 54 ...................................................]; 50000 samples are there .
fs=50000000; %Sampling frequency
nfft=length(m);
%nfft=2^nextpow2(nfft);
X=fft(m,nfft); %FFT of the signal
X=X(1:nfft/2);
%take magniutde
mx=abs(X);
f=(0:(nfft/2)-1)*fs/nfft; %Frequency range
figure(1);
n=50000;
t=0:1:(n-1);
plot(t,m);
title('Multisine')
xlabel('Samples')
ylabel('Amplitude');
figure(2)
plot(f,mx);
title('FFT of signal')
xlabel('Frequency')
ylabel('Amplitude');

Respuesta aceptada

Star Strider
Star Strider el 21 de Abr. de 2021
Using nextpow2 is not necessary. It will make the fft calculation a bit more efficient, and it will increase the frequency resolution. See the documentation section on Computational Efficiency for an extended discussion.
  6 comentarios
632541
632541 el 2 de Mayo de 2021
Thanks Star Strider
Star Strider
Star Strider el 2 de Mayo de 2021
As always, my pleasure!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Spectral Measurements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by