计算功率谱熵
import numpy as np
from scipy.signal import welch
from scipy.stats import entropy
def power_spectral_entropy(signal, fs):
# 计算功率谱密度
freq, psd = welch(signal, fs)
# 归一化功率谱密度
psd_norm = np.divide(psd, psd.sum())
# 计算功率谱熵
pse = entropy(psd_norm)
return pse
# 生成一个随机信号
fs = 100 # 采样频率
t = np.arange(0, 10, 1/fs) # 时间数组
signal = np.random.randn(len(t)) # 随机信号
# 计算功率谱熵
pse = power_spectral_entropy(signal, fs)
print('Power Spectral Entropy:', pse)
## 输出结果:
Power Spectral Entropy: 4.784119734414421