Скользящее среднее

Скользящее среднее (moving average) определяет среднее значение сигнала за определенный промежуток времени и, таким образом, представляет собой метод сглаживания (фильтрации) сигнала, накопленного за это время. Применяется при обработке звука и других сигналов с равномерной выборкой (дискретизацией).

Для реализации скользящего среднего необходимо организовать линию задержки сигнала. Длина линии задержки определяет время сглаживания.

Скользящее среднее рассчитывается на основе прошлых данных, поэтому результат всегда будет отставать от соответствующих изменений в исходных данных.

Разностное уравнение, описывающее скользящее среднее:

y(n)= x(n)/Dx(nD)/D+y(n−1), где D — длина линии задержки

Рассмотрим пример реализации скользящего среднего в системе MathCAD (код слева). Функция MA(x,D) обрабатывает входной массив (x) и выдает результат в виде массива (y). Кроме основного цикла обработки, внимание уделено правильной инициализации начальных элементов массива (y).

Длина линии задержки (D) выбирается исходя из частоты дискретизации (Fs) и желаемой частоты среза (Fc). D=Fs/Fc

Для нашего примера частота дискретизации 44100Гц, частота среза 4410Гц и длина линии задержки 10.

Амплитудно-частотная характеристика (АЧХ) фильтра показана на графике красной линией. Мы видим, что на частоте среза (Fc — красная пунктирная линия) происходит сильное ослабление сигнала. И весь последующий сигнал ослаблен на 12дБ.

Для усиления эффекта подавления можно соединять несколько фильтров последовательно. Два скользящих средних, соединенных последовательно (в нашем примере) дают подавление больше 24дБ (на графике — синяя линия).

В звуковых эффектах скользящее среднее применяется для нахождения и удаления постоянной составляющей в сигнале.

Рекомендованная литература:
Сигналы и преобразователи

No comments:

Post a Comment