如何在matlab中测量功率谱密度?

时间:2013-08-15 15:04:46

标签: matlab signal-processing spectral-density

我试图在matlab中测量随机过程的PSD,但我不知道该怎么做。我发布了完全相同的问题here,但我想我可能会有更多运气。

随机过程描述风速,并由实数向量表示。每个条目对应于空间中的风速,以m / s为单位。这些点相距0.0005米。如何测量和绘制PSD?让我们调用向量V。我的第一个想法是使用

[p, w] = pwelch(V);
loglog(w,p);

但这是对的吗?问题是,我得到了一个解析表达式,PSD应该(在理论上)匹配。通过使用这两行代码绘制它,它看起来都是错误的。具体来说,它看起来好像需要翻译和缩放。除此之外,两者的形状相似。

enter image description here

更新 上面的图像实际上没有描述通过在单个矢量上使用pwelch获得的PSD,而是描绘了200个矢量的PSD的平均值,因为这些矢量源于数值模拟。正如所建议的那样,我尝试按2 * pi / 0.0005进行缩放。我看到你实际上可以将此信息提供给pwelch。所以我尝试使用代码

[p, w] = pwelch(V,[],[],[],2*pi/0.0005);
loglog(w,p);

代替。如下所示,它看起来更好。然而,它仍然不完美。这只是我应该期待的吗?顺便说一句,取广场不是答案。但感谢你的建议。首先,它应遵循Kolmogorov的-5/3定律,现在它(它遵循绿线,其斜率为-5/3)。我试图与之匹配的函数是Shkarofsky谱密度函数,它是Shkarofsky相关函数的一维傅里叶变换。是不是可以在网站上标记数学?

enter image description here

更新2: 我按照建议尝试使用[p, w] = pwelch(V,[],[],[],1/0.0005);。但是你可能看起来仍然不太匹配。我很难准确地解释我在寻找什么。但我想要的(或者,我所期望的)是计算和分析PSD的下降同时发生,并以相同的速度下降。数据来自湍流模拟。分析表达式已经适合于湍流的实际测量,其中也存在这种倾角。我根本不是专家,但据我所知,由于空气的粘性,能量会消散,因此在小长度范围内会发生倾角。

enter image description here

3 个答案:

答案 0 :(得分:1)

如何使用标准公式获得PSD?我会这样做的:

Sxx(f) = (fft(x(t)).*conj(fft(x(t))))*(dt^2);

Sxx = fftshift(abs(fft(x(t))))*(dt^2);

然后,如果你真的需要,你可以考虑应用一个窗口标准,例如

  • 汉宁
  • 汉明
  • 韦尔奇

只会以某种方式过滤您的PSD

答案 1 :(得分:0)

据推测,您需要将频率(波数)重新调整为1 / m的单位。 pwelch的频率单位应该重新调整,因为documentation解释了:

  

W是PSD所在的归一化频率的向量       估计。 W具有rad / sample单位。

关闭袖口,我的猜测是比例因子是

 scale = 1/0.0005/(2*pi);

或318.3(m ^ -1)。

至于强度,看起来像取平方根可能会有所帮助。也许你的等式报告强度,而不是PSD?

修改

正如您所指出的那样,由于分析和计算的PSD具有几乎相同的斜率,因此它们似乎遵循高达800 m ^ -1的类似幂律。我不确定你需要指数或补偿以满足特定模型的程度,我不熟悉这个特定的理论。

至于高波数的明显不一致性,我会指出你正在进入非常小的数字域,因此(1)浮点问题和(2)噪声可能潜伏。另一方面,在计算的PSD中非常漂亮的倾角看起来非常真实,但我没有解释它(也许你的噪音不是白色?)。

您可能希望在matlab中心查看this提交,因为它可能有用。

编辑#2

在检查pwelch的文档后,您似乎应该通过1/0.0005(采样率)而不是2*pi/0.0005。这不应该影响斜率,但会影响截距。

答案 2 :(得分:0)

模拟结果中的PSD下降看起来与锯齿伪像类似 当我用数据插入原始数据时,我在我的数据中看到过 低阶方法。为了使这更清楚 - 说我的原始数据间隔为 0.002米,但在清理缺失数据的过程中,试图节省空间,无论如何, 我将这些数据线性插值到0.005米间距。频率响应 线性插值的表现并不好,并会引入峰和谷 在你频谱的高波数端。

光谱估计有不同的约定 - 是否波数 单位是1 / m,或弧度/米。单面光谱或双面光谱。

  

帮助pwelch

表示默认设置返回单侧频谱,即某些频段的bin 频率ω将包括+ω和-ω的功率密度。 您应该仔细检查您要比较的理想光谱 也是片面的光谱。否则,你需要一半的价值 单侧光谱得到代表a的+ω侧的值 双面光谱。

我同意Try Hard认为它是循环频率(通常是Hz,或者在这种情况下是1 / m) 应指定为pwelch。也就是说,返回的频率向量 来自pwelch的也是。分析 光谱公式通常用角频率来写,所以你会 我想确保你用弧度/米来评估它,但是要缩小到1 / m 用于绘图。