MATLAB: How to get best spectral plot

frequency domain induction motor fft fourier transform motor current signature analysis mcsa broken rotor bar

Hi, I want to get a plot from the frequency domain from the stator current in a induction motor model. The current is illustrated in figure
I want it in the same "format" as this
but I can't seem to get close, this is my best attempt using pwelch
does anyone have a comment on how to proceed? Thanks in advance.

Best Answer

How did you set your pwelch's options? If you set them correctly, then you should obtain a very accurate plot. For instance:
h1=spectrum.welch;
set(h1,'Windowname','Hann');
Fs=1000;
set(h1,'OverlapPercent',66.7);
set(h1,'SegmentLength',512);
The lines above make the necessary settings for your pwelch function.
myPsd=psd(h1,X(:,1)-mean(X(:,1)),'Fs',Fs)
semilogx(myPsd.Frequencies,myPsd.Data);grid on
Imagine that your data is X, if you run the two lines above, then you should obtain the same result in a better way.
Please enter OverlapPercent and SegmentLength carefully, according to your data. Hope this helps.