Я реализую "Разложение эмпирического режима" на Java. Следующий шаг - преобразование Гильберта-Хуанга, и мне нужно найти, как получить "Мгновенную частоту". Кто-нибудь знает, как это получить?
Используя метод EMD, любой сложный набор данных можно разложить на конечное и часто небольшое количество компонентов, которое представляет собой набор функций внутреннего режима (IMF). Следующий шаг - преобразование Гильберта-Хуанга. Из этого я вычисляю фазу сигнала и после того, как я должен вычислить мгновенную частоту, я ищу в коде Matlab, как в этой ссылке: http://read.pudn.com/downloads100/sourcecode/math/408870/emd/instfreq/archive/ifreq.m __. HTM
но я этого не понимаю.
благодаря
Вы можете обработать данные своего сигнала, используя преобразование Гильберта-Хуанга (HHT), которое является комбинацией эмпирической модовой декомпозиции (EMD) и анализа спектра Гильберта (HSA) с Matlab или Python. В Matlab или Python есть метод HHT, который вы можете использовать напрямую, и вам не нужно самостоятельно рассчитывать мгновенную частоту (IF).
Например с Matlab:
Во-первых, вы можете получить IMF и остаток, реализовав emd для передачи данных, код: [IMF, остаток, информация] = emd (сигнал, 'интерполяция', 'pchip', 'дисплей', 0);
Тогда IF, то есть IMFINSF, может быть получен с помощью hht (IMF, fs), в котором fs - частота выборки [P, F, T, IMFINSF, IMFINSE] = hht (IMF, fs);
Кроме того, в Python есть также некоторые инструменты и методы.
Частоту экземпляра можно вычислить в Python
def hilb(s, unwrap=False):
from scipy.signal import hilbert
H = hilbert(s)
amp = np.abs(H)
phase = np.arctan2(H.imag, H.real)
if unwrap: phase = np.unwrap(phase)
return amp, phase
inst_amp, phase = hilb(imf, unwrap=True)
inst_freq = np.diff(phase)
Преобразование Гильберта-Хуан представляет собой комбинацию эмпирического разложения мод (EMD) и преобразования Гильберта.
Во-первых, EMD - это алгоритм, который дает вам функции внутреннего режима (IMF).
Затем преобразование Гильберта применяется к каждому из МВФ.
Из МВФ преобразование Гильберта дает сигнал с задержкой pi/2 фазы, из которого вы можете вычислить фазу, и производную по времени фазы, которая пропорциональна мгновенной частоте.
Вы найдете интересные руководства и подробности об алгоритмических вариациях EMD на этой странице: http://perso.ens-lyon.fr/patrick.flandrin/emd.html