Показаны сообщения с ярлыком wavelet. Показать все сообщения
Показаны сообщения с ярлыком wavelet. Показать все сообщения

четверг, 4 августа 2011 г.

Wavelet transform && C

Написал вейвлет-преобразование на C. Все практически готово, осталось только подшаманить код. Вот картинка - демонстрация работы: результат очистки сигнала при помощи вейвлет-преобразования. 

четверг, 14 июля 2011 г.

wavelet shrinkage: threshold level

Если дисперсия щума нам заранее известна, тогда уровень threshold'а вычисляется довольно просто (см. предыдущий пример). В противном случае существует методика оценки дисперсии из высокочастотной части первого уровня разложения:

#вычисляем коэффициенты разложения
coeffs = pywt.wavedec(data, 'coif3', 'cpd', dec_level);

#оценка шумовой дисперсии из высокочастотной части первого уровня разложения
#как median absolute deviation (MAD) деленное на 0.6745
MAD = abs(max(coeffs[dec_level]) - median(coeffs[dec_level]));
sigma = MAD/0.6745;

#вычисление уровень threshold'а из шумовой дисперсии
tr_level = sigma*sqrt(2*log(len(data)));
print tr_level;

понедельник, 11 июля 2011 г.

wavelet shrinkage & python (pywt)

Делюсь примером, написанным на python с использованием pywt, который показывает как производится фильтрация сигнала от шумов при помощи техники wavelet shrinkage.