MATLAB Answers

Ijeoma Madu

I want to represent the PSD of three signals on a waterfall plot. How can this be done?

Asked by Ijeoma Madu
on 9 Dec 2012
Accepted Answer by bym

I want to represent 3 signals on a waterfall plot to see how the signal changes over time

fs = 1000; % Sampling frequency

t = (0:fs)/fs; % One second worth of samples

A = [1 2]; % Sinusoid amplitudes (row vector)

A1 = [3 4];

A2 = [5 6];

f = [150;140]; % Sinusoid frequencies (column vector)

f1 = [120;100];

f2 = [100;90];

xn = A*sin(2*pi*f*t) + 0.1*randn(size(t));

xn1=A1*cos(2*pi*f1*t) + 0.8*randn(size(t));

xn2=A2*cos(2*pi*f2*t) + 0.5*randn(size(t));

Hs = spectrum.periodogram;


Hs1 = spectrum.periodogram;


Hs2 = spectrum.periodogram;





No products are associated with this question.

1 Answer

Answer by bym
on 9 Dec 2012
 Accepted answer

First of all, do not name a variable the same as a function! Change the the first psd variable to

psd0 = psd(Hs,xn,'Fs',fs,'NFFT',1024,'SpectrumType','onesided');

then make the call to waterfall like this:


  1 Comment


Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!