因此,我使用Pywavelet软件包对我的EEG数据集进行时频分析,这是我的结果(CWT分析):
但是根据FFT,我的脑电图假设还有更多,这是我的FFT分析:
在FFT中,我看到我的数据集中还有150、250和350 Hz的峰值频率,而在4-50 Hz左右也有更高的频率。
我的问题是为什么我的CWT分析无法捕获高于频率的信号,它应该是程序的错误?
这是我的CWT代码:
import pandas as pd
import numpy as np
from numpy import math
import matplotlib.pyplot as plt
import pywt
P = pd.read_csv('P.CSV', skiprows = 0, usecols = np.arange(1, 17))
P = P.to_numpy()
P = P[:, 0]
Fs = 2000
dt = 1/Fs
wavelet = 'morl'
t = np.arange(0, len(P)) / Fs
scales = np.arange(4, 3250,100)
coefs, freq = pywt.cwt(P, scales, wavelet, sampling_period = dt)
plt.figure
plt.contour(t, freq, np.abs(coefs) ** 2)
plt.title('CWT Analysis')
plt.xlabel('Time (s)')
plt.ylabel('Frequency (Hz)')
plt.grid
plt.show()
请注意,我的兴趣频率范围是0.5到400(Hz),所以我选择的范围是4到3250。