Как найти пороговое значение и какое семейство вейвлетов использовать для сигнала фильтра нижних частот?

Я пытаюсь реализовать код на этом веб-сайте [ http://ataspinar.com/2018/12/21/a-guide-for-using-the-wavelet-transform-in-machine-learning/ ] где он выглядит однако в применении фильтра нижних частот к сигналу я не могу понять, как он получил пороговое значение и семейство вейвлетов. Можете ли вы объяснить, как он придумал значение и название вейвлета?

Для кода:

def lowpassfilter(signal, thresh = 0.63, wavelet="db4"):
    thresh = thresh*np.nanmax(signal)
    coeff = pywt.wavedec(signal, wavelet, mode="per" )
    coeff[1:] = (pywt.threshold(i, value=thresh, mode="soft" ) for i in coeff[1:])
    reconstructed_signal = pywt.waverec(coeff, wavelet, mode="per" )
    return reconstructed_signal

С уважением


person Momo    schedule 23.01.2020    source источник


Ответы (1)


В этом случае пороговое значение 0,63 означает, что он хочет сохранить только 63% нижних частот в сигнале. Поскольку более высокие частоты, как правило, не имеют решающего значения для общей энергии сигнала, вы можете привести доводы в пользу их удаления ради сжатия. В зависимости от сигнала вы можете удалить до 99% его и при этом получить идеальное обратное преобразование.

Что касается его выбора вейвлета Daubechie 4, я не знаю, что еще сказать, кроме того факта, что это довольно распространенный вейвлет. Он может довольно хорошо оценивать полиномы степени 3, чего обычно достаточно для большинства приложений.

person Mimakari    schedule 23.01.2020
comment
Спасибо за ваш ответ, после просмотра кода я хочу понять общее использование режимов в wavedec и пороге. - person Momo; 24.01.2020
comment
@Momo Обращаю ваше внимание на эти страницы: режимы wavedec и пороговые режимы - person Mimakari; 24.01.2020
comment
Я посмотрю на это, у меня просто есть еще один вопрос, я просмотрел статьи, которые реализуют вейвлет для использования для извлечения признаков. Однако в некоторых статьях говорилось, что они выбирают определенный уровень (например, уровень 5 коэффициента детализации) в качестве входных данных для извлечения статистических признаков. Как можно решить, какой уровень использовать для извлечения признаков? - person Momo; 10.02.2020