我有一个时间序列,它包含256个整数值。它看起来像这样:
我在r:
中计算了STFT(Short Time Forier Transform)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中使用另一个包来完成这项工作吗?或者我的理解是假的?
答案 0 :(得分:1)
我猜你正在使用package GENEArerad中的stft
功能。在您的情况下,呼叫基本上是
s<-stft(datalist, win=25, inc=8, coef=256, wtype="hanning.window")
所以我读它的方式,你需要25个样本但是从中计算256个系数。由于我猜Nyquist-Shannon sampling theorem,文档指出coef
的最大(合理)值为win/2
。因此,除了前12个左右的系数之外,所有系数都将是虚假的。而前几个系数都超出了你的情节的规模,所以我们也不能对这些系数说些什么。
我不知道你的期望从何而来,我不同意。但我也相信,你期望这种方式有一些更基本的问题。