Plot single-sided amplitude spectrum.

60 Ansichten (letzte 30 Tage)
mohamad mohamad
mohamad mohamad am 15 Dez. 2014
Kommentiert: Stephen Capasso am 17 Aug. 2021
hello .
i tried to find a code for ploting fft,and i found this code which plot single-sided amplitude spectrum according to it's title,is it the same as fft?what is different between single side amplitude spectrum and fft? and is this code ok?
i really appreciate it if you help me.
i have a signal with 135 data point.
Fs = 50; % Sampling frequency T = 1/Fs; % Sample time L = 135; % Length of signal
NFFT = 2^(nextpow2(L)-1);
x=zeros(NFFT,1); x(1:NFFT,1) = rawdata(1:NFFT,1);
YY = fft(x,NFFT)/L; ff = Fs/2*linspace(0,1,NFFT/2+1);
% Plot single-sided amplitude spectrum. plot(ff,2*abs(YY(1:NFFT/2+1))) title('Single-Sided Amplitude Spectrum of tp') xlabel('Frequency (Hz)') ylabel('|Y(f)|')
  2 Kommentare
sampath kumar kuppa
sampath kumar kuppa am 4 Nov. 2016
you got the solution for this code or not. I'm also facing the same problem. if you got the solution means please forward to me.
Stephen Capasso
Stephen Capasso am 17 Aug. 2021
This has been useful does anyone know how to adjust the plot statement for log space instead of linspace. ff= Fs/2*logspace(0,1,NFFT/2+1); What would go in the argument for a 4 cycle semi log?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Adam
Adam am 15 Dez. 2014
Bearbeitet: Adam am 15 Dez. 2014
That code uses the fft so yes, it is the same thing.
The fft is a transform which gives you a complex result spanning negative and positive frequencies ( -nyquist to +nyquist ). The single-side spectrum throws away the negative frequencies which are often not required for things like plotting spectrum to obtain a single-side spectrum.
So the fft is the method used to transform from the time domain to the frequency domain, but its result requires some manipulation afterwards to obtain what is often the desired result, a single-sided power spectrum.
The code:
ff = Fs/2*linspace(0,1,NFFT/2+1);
is taking the positive half of the spectrum (NFFT/2 +1 gives this, including 0 and nyquist, hence the +1) and mapping it onto your real frequencies from 'normalised frequency'.
  8 Kommentare
Xu LinaM
Xu LinaM am 1 Mär. 2017
Hello,after I read your opinion about Single-Sided Amplitude Spectrum,I have a question that where is the negative frequency,why they begin at NFFT/2+2,and what's the order of the size ?Thank you for your reply.Best Wishes!
Adam
Adam am 1 Mär. 2017
The negative frequencies begin at NFFT/2 + 2 simply because that is how fft is defined. They have to be somewhere. You can use fftshift if you prefer to have 0 in the centre with negative frequencies before it.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Charanraj
Charanraj am 9 Jul. 2015
hey, can a single sided FFT taken directly from the scope by using an absolute block before the scope ?

Kategorien

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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by