Как низкочастотный фильтр квадратной волны
Эта статья, входящая в состав аналоговой цепи AAC, представляет собой схему, которая является хорошим выбором, когда вам нужно удалить высокочастотный шум из цифрового сигнала.
Фильтры обычно обсуждаются в контексте аналоговых сигналов: удаление шума из звука, выбор канала или отбраковка изображения в радиочастотных системах, отключение линии в медицинских устройствах, сглаживание в схемах АЦП и т. Д. Однако на цифровые сигналы может влиять и шум, и хотя цифровая связь по своей природе более устойчива к шуму, чем аналоговая связь, могут возникать ситуации, когда вы хотели бы очистить цифровую форму сигнала в какой-то момент цепи сигнала.
Одно из возможных приложений происходит со мной, потому что я упомянул об этом в недавней статье о том, как реализовать манчестерскую кодировку. Я представил базовую схему (только XOR gate), которая может быть использована для превращения обычного цифрового сигнала в манчестерский сигнал, но я также отметил, что подход XOR восприимчив к ложным переходам. Затем я предположил, что в некоторых случаях система могла бы преодолеть эти (более высокие частоты) ложные переходы с помощью фильтра нижних частот.
Другая ситуация, при которой вам может потребоваться фильтр нижних частот, - цифровой сигнал, когда вы используете SPI, I2C или UART для передачи данных между различными частями робота. Временные помехи, создаваемые электромеханическими устройствами или высоковольтными схемами возбуждения, могут быть достаточно серьезными, чтобы создавать случайную (или не столь редкую) ошибку в ваших цифровых коммуникациях. Я представляю что-то вроде провода UART, который соединен между двумя отдельными печатными платами, и что должен проходить опасно близко к щеткой двигателя постоянного тока. Возможно, вы сможете подавить этот шум посредством фильтрации, особенно если ваши требования к передаче данных позволяют использовать низкую скорость передачи данных.
Избегание искажений
Вам может быть интересно, почему вам нужен какой-то специальный фильтр для цифрового сигнала. То, что так отличается от фильтрации нижних частот цифровой формы сигнала по сравнению с фильтрами низких частот аналогового сигнала "// www.allaboutcircuits.com/textbook/alternating-current/chpt-7/square-wave-signals/" target = "_ blank "> Преобразование Фурье. Если вы живете в частотной области, цифровая форма волны на самом деле не является цифровой формой сигнала. Это комбинация длинной (теоретически бесконечной) последовательности синусоид с разными частотами и разными амплитудами. Когда эти синусоиды полностью выровнены, результатом является нормальная квадратная (или прямоугольная) форма волны. Однако, когда они не выровнены, вы получаете искаженную кусковую вещь, которая на самом деле не является квадратной волной, но, конечно же, не синусоидальной.
Давайте посмотрим на пример. Следующая схема представляет собой фильтр нижних частот Баттерворта четвертого порядка (я использовал мастер фильтров Analog Devices для генерации значений компонентов):

Нажмите, чтобы увеличить
Вот частотная характеристика:

Если я использую эту схему для фильтрации квадратной волны 10 кГц, это результат:

Проблема здесь в том, что фильтр Баттерворта не имеет линейного фазового ответа, другими словами, сдвиг фазы изменяется таким образом, что разные частоты испытывают различные временные задержки. Таким образом, частотные составляющие квадратной волны не остаются выровненными по мере их перемещения по фильтру, а конечным результатом является превышение / недокус, который вы видите на восходящем / спадающем фронте.
Перерегулирование, присутствующее в приведенном выше графике, не страшное, но общий вид формы волны ухудшается по мере уменьшения периода:

Обратите также внимание на то, что звонок становится более серьезным по мере увеличения порядка фильтра.
Фильтр Бесселя
Мы можем решить эту проблему, используя фильтр Бесселя. Во введении я сказал, что эта статья представит «схему», но это неточно, потому что сама схема Бесселя (т. Е. Расположение компонентов) не отличается от схемы Баттерворта или схемы Чебышева. То, что превращает стадию фильтра второго порядка в фильтр Бесселя (или Баттерворта, или Чебышева), - это значения компонентов, которые вычисляются так, чтобы создавать частотную характеристику, соответствующую этим типам фильтров. Было бы хорошим интеллектуальным упражнением, чтобы определить эти значения компонентов с помощью фильтрующих таблиц, но в «реальном мире» целенаправленной инженерии трудно конкурировать с программным обеспечением, таким как упомянутый выше инструмент Analog Devices.
Фильтр Бесселя оптимизирован для линейного фазового отклика, что делает его идеальным для минимизации звонка в цифровых сигналах. Звон, перерегулирование, искажение, время установления - все это термины, которые мы можем использовать, когда речь идет об изменении отфильтрованного цифрового сигнала, но важно помнить истинную причину этого изменения: нелинейный фазовый отклик, который создает временное разделение между Частоты Фурье составляют квадратную волну.
Следующая схема имеет четыре полюса, как и предыдущий, и частота среза одинакова. Однако значения компонентов выбираются так, чтобы создать ответ Бесселя вместо ответа Баттерворта.

Нажмите, чтобы увеличить
Вот пример Боде:

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

Нажмите, чтобы увеличить
Вывод
Мы обсудили концепцию фильтрации нижних частот для цифровых сигналов, а затем посмотрели на нежелательные эффекты, создаваемые фильтром, который не имеет линейной фазовой характеристики. В заключение мы пришли к выводу, что фильтр Бесселя оптимизирован для линейного фазового отклика и который, очевидно, может уменьшить количество звонков в форме сигнала во временной области. В этой статье мы использовали топологию Sallen-Key для наших этапов фильтрации второго порядка, но также можно создавать фильтры Бесселя, используя только пассивные компоненты.
Не стесняйтесь загружать мою схему LTspice, нажимая на оранжевую кнопку. Это позволит вам сэкономить некоторое время, если вы хотите протестировать и проанализировать настроенный фильтр Бесселя.
Схема LTspice