Разница между быстрым преобразованием Фурье (FFT) и непрерывным вейвлет-преобразованием (CWT) в Python3 - PullRequest
0 голосов
/ 13 июня 2019

enter image description here

Поэтому я использую пакет Pywavelet для выполнения частотно-временного анализа моего набора данных ЭЭГ, и вот мой результат (анализ CWT):

Но в соответствии с БПФ, моя ЭЭГ предполагает, что у нее больше, это мой анализ БПФ:

enter image description here

В БПФ я вижу, что яв моем наборе данных также были пиковые частоты 150, 250 и 350 Гц и более около 4-50 Гц.

Мой вопрос заключается в том, почему мой 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 (Гц), поэтому я выбираю шкалу от 4 до 3250.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...