3

我将使用光谱能量和光谱熵作为基于窗口的时间序列数据的特征。但是,我对在线使用的公式感到有些困惑,尤其是关于特殊的熵。

我使用了 Matlab 的熵,但这不适用于时间序列数据。它只是给我所有的零。http://www.mathworks.nl/help/images/ref/entropy.html 测试窗口 此版本的熵结果 = 0

然后我用了这个版本。 http://www.mathworks.com/matlabcentral/fileexchange/28692-entropy 测试窗口 此版本的熵结果 = 4.3219

在将 imhist 应用于数据窗口 ( p = imhist(aw1(:));) 后,我还尝试了 -sum(p.*log2(p))。这是从在线帮助中获得的。
此版本的测试窗口熵结果 = 0.0369

他们都报告了不同的值。

对于光谱能量,我使用的是 fft 系数的平方和。总和(绝对值(fft(数据窗口))。^2)

任何机构都可以给我任何正确版本的建议吗?

4

2 回答 2

5

对于谱熵,步骤是:

  • 计算功率谱密度 (PSD)
  • 标准化 PSD
  • 计算熵−∑(P)log2(P),其中 P = PSD

    P=sum(abs(fft(data-window)).^2)
    %Normalization
    d=P(:);
    d=d/sum(d+ 1e-12);
    
    %Entropy Calculation
    logd = log2(d + 1e-12);
    Entropy(inc) = -sum(d.*logd)/log2(length(d));
    
于 2014-01-22T11:15:02.660 回答
-1

我已经计算了信号的谱熵。我遵循相同的步骤。但我没有添加那个 1e-12。你为什么添加那个 1e-12?您可以使用 sum(d) 代替 sum(d+1e-12)

于 2018-02-03T09:02:35.933 回答