Я знаю, что это зависит от сигнала, но когда вы сталкиваетесь с новым зашумленным сигналом, какие у вас есть хитрости для попыток подавить шум при сохранении резких переходов (например, отсутствует какое-либо простое усреднение, то есть свертывание по гауссову)? Я часто сталкиваюсь с этим вопросом и не чувствую, что знаю, что мне следует попробовать (помимо сплайнов, но они также могут серьезно сбить правильный вид резкого перехода).
PS Как примечание: если вы знаете некоторые хорошие методы с использованием вейвлетов, дайте мне знать, что это такое. Похоже, что у них большой потенциал в этой области, но хотя в 90-х годах было несколько работ с достаточным количеством ссылок, чтобы можно было предположить, что метод работы оказался удачным, я не могу найти ничего о том, какие методы в итоге оказались победителями в качестве лучших кандидатов в прошедшие годы. Конечно, с тех пор некоторые методы оказались, как правило, «первыми вещами, которые нужно попробовать».
Вы можете рассмотреть анизотропную диффузию. Есть много методов, основанных на этой технике. Вообще говоря, это для изображений. Это адаптивный метод шумоподавления, который направлен на сглаживание некраевых частей изображения и сохранение краев.
Кроме того, для минимизации общего отклонения вы можете использовать этот учебник . Авторы также предоставляют код MATLAB. Они распознают проблему как проблему анализа, которая чем-то похожа на использование линейного отображения (такого как частотно-временные представления). Но они используют матрицу разностей, а не преобразование.
Еще один интересный подход, предложенный Бойдом, выглядит как фильтрация тенденций . Это также очень похоже на телевизионную регуляризацию, но я думаю, что Бойд использует другую матрицу в постановке задачи.D
источник
У Чаохуанга есть хороший ответ, но я также добавлю, что еще один метод, который вы можете использовать, - это вейвлет-преобразование Хаара с последующим вейвлет-коэффициентом сжатия и обратным преобразованием Хаара обратно во временную область.
Вейвлет-преобразование Хаара разбивает ваш сигнал на коэффициенты квадратичной и разностной функций, хотя и в разных масштабах. Идея здесь в том, что вы «заставляете» новое квадратное представление сигнала наилучшим образом соответствовать вашему исходному сигналу, и, таким образом, лучше всего представлять, где лежат ваши края.
Когда вы выполняете коэффициент сжатия, все это означает, что вы устанавливаете конкретные коэффициенты преобразованной функции Хаара на ноль. (Существуют и другие более сложные методы, но это самый простой способ). Коэффициенты вейвлет-преобразования, преобразованные по Хаару, представляют собой оценки, связанные с различными квадратными / разностными функциями в разных масштабах. RHS преобразованного Хаара сигнала представляет квадратные / разностные основания в самой низкой шкале и, таким образом, может интерпретироваться на «самой высокой частоте». Таким образом, большая часть энергии шума будет лежать здесь, против большей части энергии сигнала, которая будет лежать на LHS. Это те базовые коэффициенты, которые обнуляются, а результат затем обратно преобразовывается обратно во временную область.
Прикреплен пример синусоиды, поврежденной сильным шумом AWGN. Цель состоит в том, чтобы выяснить, где находятся «начало» и «остановка» импульса. Традиционная фильтрация смазывает высокочастотные (и сильно локализованные по времени) границы, так как в основе фильтрации лежит техника L-2. Напротив, следующий итерационный процесс будет шумоподавлять, а также сохранять края:
(Я думал, что можно прикрепить фильмы здесь, но я не могу. Вы можете скачать фильм, который я сделал из процесса здесь ). (Щелкните правой кнопкой мыши и «сохранить ссылку как»).
Я написал процесс «вручную» в MATLAB, и он выглядит так:
Вы можете ясно видеть, как сокращаются коэффициенты, и в результате получается обратное преобразование Хаара.
Однако одним из недостатков этого способа является то, что края должны лежать в или вокруг квадратов / разностей оснований в данном масштабе. Если нет, преобразование вынуждено перейти на следующий более высокий уровень, и, таким образом, человек теряет точное положение для края. Для противодействия этому существуют методы с несколькими разрешениями, но они более сложны.
источник
Простой метод, который часто работает, состоит в применении медианного фильтра.
источник