Применяется для усреднения или сглаживания входного сигнала. При обработке звука используется для устранения скачков при изменении управляющих сигналов. Например, при повороте цифровой ручки громкости, значение усиления изменяется скачкообразно, что приводит к щелчкам/треску в записи. Для устранения такого дефекта достаточно сгладить управляющий сигнал.
Разностное уравнения, описывающее сглаживающий преобразователь:
y(n)=(1−α)∙x(n)+α∙y(n−1), 0<α<1
Для вычисления этого преобразователя необходимо сохранять значение выходного сигнала с предыдущего шага вычисления.
Есть два подхода к выбору коэффициента α. Первый — рассматривать преобразователь, как низкочастотный фильтр. Коэффициент α выбирается исходя из частоты дискретизации Fs (скорость поступления входных отсчетов) и от желаемой частоты среза Fc, где мощность сигнала (квадрат значений сигнала) ослабится в два раза.
Ослабление мощности сигнала в два раза по логарифмической шкале составит 10∙log(0.5)=−3Дб, а значения самого сигнала уменьшатся на 20∙log(0.5)=−6Дб по логарифмической шкале.
Например, задаем частоту дискретизации 44100Гц и частоту среза 50Гц. По формуле вычисляем коэффициенты
Разностное уравнения, описывающее сглаживающий фильтр с заданными параметрами:
Получим импульсную характеристику, подав единичный отсчет на преобразователь. Задаем количество отсчетов — 1024, обнуляем все входные отсчеты кроме первого и получаем отклик системы, состоящий из 1024 отсчетов.
Отображаем частоты в диапазоне от 0 до 4∙Fc. На нулевой частоте амплитуда единица, что означает отсутствие ослабления на низких частотах. На частоте 50Гц ослабление −3Дб
Второй подход рассматривать преобразователь во временной области. Постоянная времени (time constant) – это время, за которое переходная функция достигнет 63% от конечного значения. Постоянная времени связана
с частотой среза:
с частотой среза:
Рассчитаем постоянную времени для нашего примера. По формуле получается — 0.00318 сек. Получим переходную характеристику, подав все единицы на преобразователь. Задаем количество отсчетов — 1024, все входные отсчеты устанавливаем в единицу и получаем отклик системы, состоящий из 1024 отсчетов.
Рекомендованная литература
Экспоненциально взвешенное скользящее среднее
ReplyDeletehttp://ru.wikipedia.org/wiki/%D0%A1%D0%BA%D0%BE%D0%BB%D1%8C%D0%B7%D1%8F%D1%89%D0%B0%D1%8F_%D1%81%D1%80%D0%B5%D0%B4%D0%BD%D1%8F%D1%8F
--
y(n)=(1−α)∙x(n) + α∙y(n−1), 0<α<1
Спасибо, исправил. Графики верные, они считались без ошибки.
ReplyDeleteA fascinating discussion is definitely worth comment. I think that you should publish more on this issue, it might not be a taboo subject but generally people do not discuss these subjects. To the next! Cheers!!
ReplyDelete