I want to represent the PSD of three signals on a waterfall plot. How can this be done?
1 回表示 (過去 30 日間)
古いコメントを表示
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;
psd=psd(Hs,xn,'Fs',fs,'NFFT',1024,'SpectrumType','onesided')
Hs1 = spectrum.periodogram;
psd1=psd(Hs1,xn,'Fs',fs,'NFFT',1024,'SpectrumType','onesided')
Hs2 = spectrum.periodogram;
psd2=psd(Hs2,xn,'Fs',fs,'NFFT',1024,'SpectrumType','onesided')
waterfall(psd,psd1,psd2)
0 件のコメント
採用された回答
bym
2012 年 12 月 9 日
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:
waterfall([psd0.data psd1.data psd2.data]')
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Parametric Spectral Estimation についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!