Ваш вопрос сложнее, чем кажется.
Краткий ответ: используйте встроенную функцию pywt scale2freq
, чтобы вернуть частоту, связанную с данным вейвлетом в заданном масштабе. Например, приведенный ниже код возвращает частоту вейвлета Daubechies 4 в масштабе 5 (0,14285714285714285):
import pywt
pywt.scale2frequency('db4',5)
Вы можете получить тот же результат, вычислив центральную частоту ваш вейвлет db4 (0,7142857142857143) и затем деление на шкалу (5)
import pywt
pywt.central_frequency('db4')/5
Обратите внимание, что не является действительной центральной частотой сигнала ! Эта величина называется псевдочастотой , поскольку она не зависит от анализируемого сигнала.
Чтобы восстановить центральную частоту сигнала, необходимо разделить псевдочастоту на частоту дискретизации сигнала:
import pywt
pywt.scale2frequency('db4',5)/dt
Где dt
- ваша частота дискретизации.
Надеюсь, это поможет!
PS: Я предлагаю построить спектр восстановленного сигнала, чтобы убедиться, что центральная частота соответствует значению, выведенному вышеупомянутым аналитическим формула.