PSD算法特征提取代码
时间: 2024-01-16 21:03:44 浏览: 61
PSD算法(功率谱密度)是一种常用的脑电信号特征提取算法。下面是一个使用Python实现的PSD算法特征提取的代码示例:
```python
import numpy as np
from scipy import signal
# 假设脑电信号数据存储在一个名为eeg_data的numpy数组中,每行代表一个时间点,每列代表一个电极通道
# 假设采样频率为fs
# 定义频带范围
freq_range = [8, 12] # 以8-12Hz为例
# 计算PSD特征
psd_features = []
for channel in range(eeg_data.shape[1]):
f, psd = signal.welch(eeg_data[:, channel], fs=fs)
freq_idx = np.where((f >= freq_range[0]) & (f <= freq_range[1]))[0]
psd_feature = np.mean(psd[freq_idx])
psd_features.append(psd_feature)
# 打印PSD特征
for i, feature in enumerate(psd_features):
print("PSD feature for channel {}: {}".format(i+1, feature))
```
这段代码使用了`scipy`库中的`signal.welch`函数来计算信号的功率谱密度。首先,我们定义了一个频带范围,然后对每个电极通道的信号进行功率谱密度计算。最后,我们计算频带范围内的平均功率,并将其作为PSD特征。