用对数轴绘制pwelch

时间:2013-10-15 20:54:09

标签: matlab plot spectral

我正在使用pwelch绘制功率谱密度。我想使用格式

pwelch=(x,window,noverlap,nfft,fs,'onesided')

但x轴上有对数刻度。

我也试过

[P,F]=(x,window,noverlap,nfft,fs);
plot(F,P)

但它没有给出与上面相同的结果图。因此,

semilogx(F,P) 

不是一个好的解决方案。

1 个答案:

答案 0 :(得分:2)

好的,首先,我从未听说过这个功能或这个方法。但是,我能够生成与使用输出参数生成的函数相同的绘图。我从help文本中运行了示例。

EXAMPLE:
   Fs = 1000;   t = 0:1/Fs:.296;
   x = cos(2*pi*t*200)+randn(size(t));  % A cosine of 200Hz plus noise
   pwelch(x,[],[],[],Fs,'twosided'); % Uses default window, overlap & NFFT. 

产生这个情节: Desired Pic

然后我做了:plot(bar,10*log10(foo)); grid on;来生成线性版本(相同的绘图,减去标签):

pic1

semilogx(bar,10*log10(foo)); grid on;表示x轴上的对数刻度。 pic2

我不喜欢x-scale是线性采样但是以对数方式显示(这是一个正确的词?),但看起来似乎没问题。

够好吗?