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