Logarithmic scale using PSD function
8 ビュー (過去 30 日間)
古いコメントを表示
I have a problem using the PSD function - basically the output of my code gives the frequency in a linear scale, when i need it in a logarithmic scale. Does anyone know how to alter the PSD/output to give the resulting plot in a logarithmic scale? cl is an array of values. I assume it is something very basic i need to change.
My code is as follows:
Fs = 1/0.005;
h = spectrum.welch;
Hpsd = psd(h,cl,'Fs',Fs);
plot(Hpsd)
0 件のコメント
採用された回答
Patrick Kalita
2011 年 3 月 3 日
After creating the plot, set the axes XScale (if you want to replicate a semilogx plot) property to 'log'. For example:
Fs = 1000; t = 0:1/Fs:.296;
x = cos(2*pi*t*200)+randn(size(t));
h = spectrum.welch; % Create a Welch spectral estimator.
Hpsd = psd(h,x,'Fs',Fs); % Calculate the PSD
plot(Hpsd)
set(gca, 'XScale', 'log')
その他の回答 (2 件)
参考
カテゴリ
Help Center および File Exchange で Spectral Estimation についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!