将脑电信号分为五个频段的代码
时间: 2023-07-10 21:32:26 浏览: 180
将脑电信号分为五个频段,可以使用离散傅里叶变换(DFT)或者小波变换(Wavelet Transform)等方法。下面是使用 DFT 对脑电信号进行分频的 Python 代码示例:
```python
import numpy as np
def get_band_power(signal, fs):
"""
将脑电信号分为5个频段,计算各个频段的能量
:param signal: 原始脑电信号
:param fs: 采样率
:return: 5个频段的能量值
"""
n = len(signal)
freqs = np.fft.fftfreq(n, d=1.0/fs)
fft_data = np.abs(np.fft.fft(signal))
freq_data = list(zip(freqs, fft_data))
freq_band = {'delta': (0.5, 4),
'theta': (4, 8),
'alpha': (8, 13),
'beta': (13, 30),
'gamma': (30, 50)}
band_power = {}
for band in freq_band:
freq_range = freq_band[band]
idx = np.logical_and(freqs >= freq_range[0], freqs <= freq_range[1])
band_power[band] = np.sum(fft_data[idx]**2)
return band_power
```
在这个函数中,我们首先使用 `np.fft.fftfreq()` 函数计算采样点对应的频率值,然后使用 `np.fft.fft()` 函数对原始信号进行 DFT 变换,得到频域信号。接下来,我们将不同频段的能量值累加,得到五个频段(δ、θ、α、β、γ)的能量。最后,将计算结果以字典形式返回。
需要注意的是,这个函数只是一个简单的示例,对于不同的应用场景,可能需要进行更加细致和复杂的处理。
阅读全文
相关推荐

















