我将使用Spectral Energy和Spectral Entropy作为基于窗口的时间序列数据的功能。但是,我对在线使用的公式有点困惑,特别是关于特殊的熵。
我使用了Matlab的熵,但这不适用于时间序列数据。它只是给我一切零。 http://www.mathworks.nl/help/images/ref/entropy.html 测试窗口此版本的熵结果= 0
然后我使用了这个版本。 http://www.mathworks.com/matlabcentral/fileexchange/28692-entropy 测试窗口此版本的熵结果= 4.3219
在将imhist应用于数据窗口后,我也尝试了-sum(p。* log2(p))(p = imhist(aw1(:));)。通过在线帮助获得此信息 测试窗口此版本的熵结果= 0.0369
所有人都报告了不同的价值观。
对于光谱能量,我使用fft系数的平方和。 总和(ABS(FFT(数据窗口))。^ 2)
任何机构都可以给我任何正确版本的建议吗?
答案 0 :(得分:4)
对于光谱熵,步骤如下:
计算熵−∑(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));
答案 1 :(得分:-1)
I have calculated the spectral entropy of signal. I followed the same steps.But I did not add that 1e-12.Why did you add that 1e-12? You can use sum(d) instead of sum(d+1e-12)