0

我有一个时间序列,它包含 256 个整数值。它看起来像这样:

在此处输入图像描述

我已经用 r 中的这段代码计算了STFT(短时 Forier 变换):

s<-stft(datalist, win=min(80,floor(length(datalist)/10)), inc=min(24,floor(length(datalist)/30)), coef=256, wtype="hanning.window")

作为结果,我有一个包含 29 行和 256 个值的矩阵。如果我在图中显示该矩阵的一行(即第 10 行)。我看到这样的图表:

在此处输入图像描述

但我有这个期望,系数图应该看起来像第一个图?(仅在另一个维度上)

我应该在 R 中使用另一个包来完成这项工作吗?还是我的理解是错误的?

4

1 回答 1

1

我猜你正在使用包 GENEareradstft中的函数。在你的情况下,电话基本上是

s<-stft(datalist, win=25, inc=8, coef=256, wtype="hanning.window")

所以我读它的方式,你取了 25 个样本,但从中计算了 256 个系数。由于我猜是Nyquist-Shannon 采样定理,文档指出coefis的最大(合理)值。因此,除了前 12 个左右的系数外,其他所有系数大部分都是虚假的。前几个系数超出了你的情节范围,所以我们也不能说这些。win/2

我不知道你的期望是从哪里来的,我也不分享。但我也相信你期望它如何工作还有一些更根本的问题。

于 2013-11-06T15:46:11.920 回答