Как стать автором
Обновить

Комментарии 31

А мне в первую очередь пришло в голову что-то вроде k/(T*s + 1), а не обычное усреднение. Кое-какие знания из института все же пригождаются :-)
И кто заминусовал?
Человек ведь не совсем ошибся :)
Апериодическое звено записано. Вполне себе усреднение.
Только вот это для непрерывных (аналоговых) сигналов (s-преобразование), в цифровой форме оперируют z-преобразованием.
Да, я не очень помню, как для z-передаточные функции выглядят, что-то вроде 1/(z^-1+1) по-моему.
Для применения к цифровому сигналу я бы просто заменил конечно-разностной схемой и получил бы в итоге выражение для усредненного значения в текущей временной точке.
Обычное усреднение, скорее всего, будет лучше: оно, во-первых, FIR (любой всплеск быстро и достоверно гасится), во-вторых частотная характеристика обычно удобнее, если считать, что шум в n раз меньше частоты дискретизации.
Ну, вот, и Вы туда же.
Какой шум-то? Почему шум?
Если Вы о высокочастотной информации, которую можно подавить на 20-40 дБ усредением (НЧ-фильтром), то почему она вдруг является шумом? Окружающие шумы в аудио записях, например, по большей части низкочастотные…
любой всплеск быстро и достоверно гасится

Вы о том, что импульсный отклик конечной длины?
частотная характеристика обычно удобнее, если считать, что шум в n раз меньше частоты дискретизаци

Вы не могли бы перевести на понятный язык, что значит «шум меньше частоты»?
Это что-то в духе килограммы меньше децибелов?
Потому что вы твердите о том, что термина нет, хотя он есть и весьма узкий/однозначный. Сглаживание применяется для избавления от высокочастотного шума там, где сигнал достаточно медленный (например, en.wikipedia.org/wiki/File:NNSmoother.svg). Применений тьма.
Если мы говорим о сглаживании, вид шума сразу понятен — он по частоте сильно выше сигнала.
Вы не могли бы перевести на понятный язык, что значит «шум меньше частоты»?
Это что-то в духе килограммы меньше децибелов?

Вы не могли бы оставить этот дартаньянский тон?
сигнал достаточно медленный

Мда…
А быстрый — он насколько быстрее медленного должен быть, чтобы высокочастотный шум надо было убирать?
Модемный сигнал на 2.4кбит/с — медленный? Может, уберем «высокочастотный шум» и попробуем декодировать?
Употребляйте термины корректно, пожалуйста, а то я действительно не вполне понимаю, о чем речь — только смутно догадываюсь.
Честно, я не ёрничаю!

Вы не могли бы перевести на понятный язык, что значит «шум меньше частоты»?
Это что-то в духе килограммы меньше децибелов?

Вы не могли бы оставить этот дартаньянский тон?

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

Все вы поняли. Нахамили и делаете вид, что не видите этого.
Хамить и не собирался, кстати, извините :)
Но вот пытаться меня «осекать», применяя столь странную терминологию и настолько некорректно построенные фразы, что смысл их теряется в облаках, пожалуйста, больше не надо.
Ну, тогда это не для Вас.
Хорошо, что пришло.
Но на чём основан выбор коэффициентов в уравнении (1)

А где там коэффициенты?
1/3, нет? :)
В общем случае 1/N.
Всё-таки знания линейной алгебры первого курса ВУЗа здесь необходимы. Да, 1/3. В статье есть указание на 1/3.
Странная терминология в статье. Первый раз вижу, чтобы инженер(?) фильтрацию «сглаживанием» называл.
Да и что такое «шум» в понимании автора — понять сложно.
Может, поясните, какой «шум» Вы пытаетесь убрать усреднением по соседним отсчетам?
Терминология нормальная; не всякая фильтрация — сглаживание
Нет такого термина — сглаживание.
Интерполяция, децимация, фильтрация, аппроксимация — есть, сглаживание — нет.
Или с Вас пруф-линк на нормальный источник, и я извинюсь :)
1. Многие называют сглаживанием… Я специально не стал усложнять фильтрацией.
Цитата из Вики:
Сгла́живание — технология, используемая для устранения эффекта «зубчатости», возникающего на краях одновременно выводимого на экран множества отдельных друг от друга плоских, или объёмных изображений. Сглаживание было придумано в 1972 в Массачусетском технологическом институте в Architecture Machine Group, которая позже стала основной частью Media Lab.

2. Белый шум (но опять я не стал вводить такого термина...).

1. Ну, даже приведенная Вами цитата описывает другое «сглаживание» :)
Это ближе к межкадровой фильтрации.
2. Ну, на звуковом сигнале Вы его не уберете усреднением, там все-таки получается НЧ-фильтр, характеристика которого зависит от длины.
Для звука усреднение применяется, как я отписался, для оценки его характеристик, например, мощности, среднего уровня, пик-фактора и т.п.
А вот белый шум обычно убирают Винеровской фильтрацией. Причем, желательно с адаптивными коэффициентами.
На видеоизображении — да, там просто принято считать, что высокочастотные сигналы — шумовые. Хотя для некоторых видов изображения это и не вполне корректно (песок, листва и т.п.), в целом работает, особенно, если не увлекаться.
Согласен, немного переделаю. Сглаживание — это фильтрация скачков (резких перепадов) и шум здесь специфический. Это была первая итерация, рецензия всегда полезна.
Термин «сглаживание», всё-таки, есть.
В Вашей статье не хватает ссылок и сравнения с теми статьями, что уже опубликованы на Хабре. Не так давно была фильтрация Калмана. Еще раньше фильтрация на основе сингулярности матрицы.
Еще раз отдельно хотел бы сказать автору.
«Сглаживание» сигнала — термин в специализированной статье некорректный.
В лучшем случае в специальной литературе можно отыскать «сглаживающий фильтр», причем его задачей обычно является не убрать некий «шум», а получить усредненные характеристики сигнала, например, среднюю мощность и амплитуду сигнала на выбранном интервале времени.

Подавление шума — задача комплексная, в первую очередь решается, исходя, собственно, из того, с чем мы боремся. Для нестационарных шумов, к слову, вообще сложно подобрать эффективный метод подавления.
Если мы говорим о простых случаях, то для устранения импульсных шумов, например, часто применяются медианные фильтры (по принципу дешево и сердито).
Для подавления помехи по питанию в оцифрованном звуковом сигнале — узкополосные БИХ-фильтры (для России, например, с подавлением на 50, 100 и 150Гц).
Если говорить о звуке (воспринимаемом человеком), то высокочастотные сигналы, которые Вы называете шумом, чаще всего таковым не являются и несут информацию. В таких сигналах шум в большинстве случаев низкочастотный. Попробуйте для разнообразия отфильтровать один и тот же звуковой сигнал НЧ и ВЧ фильтрами (с частотой среза 0.5) и послушать результат.
В оцифрованном видео сигнале, напротив, шумы могут быть высокочастотными, вызванными неравномерностью характеристик светочувствительных элементов. Вот их как раз относительно легко можно убрать усреднением (сглаживанием) по соседним сэмплам, но в общем-то этот метод выбирают не из-за эффективности, а из-за вычислительной «дешевизны».

Если целью статьи было объяснить на пальцах человеку «не в теме», как можно обрабатывать сигналы, то, возможно, Вы ее добились. Но неточностей и объяснений «от себя» и «на пальцах» все-таки слишком много.
Да, цель — объяснить на пальцах, так как прочитав заметку habrahabr.ru/post/183986/ я увидел простой алгоритм сглаживания изображения по девяти точкам и вспомнил, что здесь есть подводные камни.
Я понимаю, что есть строгие определения и так далее; эта статья — для программиста, разрабатывающего/использующего какие-либо алгоритмы, и не всегда имеющего представления о частотных, импульсных характеристиках, об энергии сигнала, о корреляции.
Специалистам в области ЦОС её читать особо не имеет смысла, хотя для обучения стилю преподавания, объяснения — думаю, можно.
Я здесь специально ушёл от z-преобразования, от интегралов.
Ну, тогда стоило вообще отказаться от введения в математику и сразу переходить к практике :)
Т.е. рассказывать в духе: надо убрать неравномерность сигнала (усреднить) — делаем так. И без всяких спектров и пр.
В любом случае такие статьи полезны, потому что поддерживают интерес к области.
Далеко не многие вообще задумываются, что они в действительности делают, применяя различные преобразования к сигналам.
Без спектров никак, так как это тонкий инструмент, позволяющий доказать «правильность» какого-либо алгоритма (подробности — в переделанной статье).
Как раз-таки, наоборот, я хотел акцентировать внимание на то, что на алгоритмы полезно смотреть с разных точек зрения и соотносить это со своей целью.
Способ построения частотной характеристики для любого линейного алгоритма дан, импульсной — думаю, он очевиден, способ расчёта энергии — дан, и всё это без рядов Фурье, интегралов, свёрток, z-образов, апериодических звеньев, а только лишь на основании знания комплексных чисел и рядов Тэйлора.
Кто это достал из песочницы? закопайте обратно!

Зачем на Хабр постить свои лабараторки и рефераты?
Хотите рассказать что то новое о Сигнал Процессинге — пишите в соответствующий журнал… а еще лучше в свой твиттер, чтоб никто не видел.

Это не лабораторная и не реферат, хотя никто не запрещает сделать на этой основе какую-нибудь лабораторную (-ые).
Если бы новое, можно и сюда.
Как я понял, хабрахабр — это научно-популярный ресурс, одна из целей которого — разжёвывание чего-либо.
Нового я бы здесь не стал выкладывать (для нового есть патентные ведомства, наконец, читаемые журналы).
Исправил ошибку, связанную с сохранением уровня сигнала на выходе сглаживающего фильтра: должна быть равна единице сумма коэффициентов фильтра, а не сумма их квадратов… Никто из комментировавших не поправил… Какое тут новое, понять бы старое!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории