Аналоговые фильтры
Фильтр пропускает одни частоты и ослабляет другие. Простейший — RC-цепочка с частотой среза 1/(2πRC) и спадом 20 дБ на декаду. Когда этого мало, ставят фильтры второго и более высокого порядка — пассивные LC или активные на операционных усилителях — и выбирают характеристику: Баттерворта, Бесселя или Чебышёва.
Обновлено Редакция GAW
Электрический фильтр — цепь, коэффициент передачи которой зависит от частоты. Фильтр нижних частот (ФНЧ) пропускает постоянное напряжение и медленные сигналы и ослабляет быстрые, фильтр верхних частот (ФВЧ) — наоборот. В электронике фильтры убирают шум перед АЦП, превращают ШИМ в аналоговое напряжение, развязывают питание аналоговой части от импульсных помех, выделяют полезный сигнал на фоне помехи. Дальше разобраны пассивные RC- и LC-фильтры, активные фильтры на ОУ по схемам Sallen-Key и MFB, выбор характеристики и требования к компонентам — с расчётами на числах. Коэффициенты и формулы взяты из руководств TI по проектированию фильтров (SLOA049, глава 16 SLOD006B) и указаны с номерами разделов.
Коротко
- RC-фильтр
- fср = 1/(2πRC), −20 дБ/дек
- На частоте среза
- −3 дБ, фаза −45° (ФНЧ)
- Переходный процесс
- 63 % за τ = RC, 99,3 % за 5τ
- Второй порядок
- −40 дБ/дек, добротность Q
- Баттерворт
- Q = 0,707, плоская АЧХ
- GBW ОУ
- ≈ 100 · K · fср · ki (Q < 1)
Как описывают фильтр
Главная характеристика фильтра — АЧХ, зависимость отношения Uвых/Uвх от частоты, обычно в децибелах на логарифмической оси частот. Вторая — ФЧХ, сдвиг фазы выходного сигнала относительно входного. Границу полосы пропускания называют частотой среза fср: для большинства фильтров это точка, где коэффициент передачи упал на 3 дБ, то есть в √2 ≈ 1,41 раза. Исключение — фильтр Чебышёва: у него частотой среза считают край полосы, в пределах которой АЧХ колеблется в заданном коридоре (SLOA049, разд. 2).
Порядок фильтра равен числу независимых реактивных элементов, которые его образуют, и определяет крутизну спада: за полосой пропускания коэффициент передачи падает на 20 дБ на декаду (в 10 раз при росте частоты в 10 раз) на каждый порядок. Фильтр первого порядка даёт −20 дБ/дек, второго — −40 дБ/дек, четвёртого — −80 дБ/дек (SLOA049, разд. 2; SPRAA88A, разд. 4).
RC-фильтр первого порядка
Самый простой фильтр — резистор и конденсатор. В ФНЧ резистор стоит последовательно, а конденсатор подключён параллельно выходу; в ФВЧ они меняются местами (SLOD006B, разд. 16.4).
Частота среза и постоянная времени у обоих вариантов одинаковы:
Если обозначить нормированную частоту Ω = f/fср, коэффициент передачи ФНЧ по модулю и фаза равны (SLOD006B, разд. 16.2):
У ФВЧ фаза на 90° больше: от +90° на низких частотах до 0° на высоких, и +45° на частоте среза. Как ведёт себя ФНЧ при разных отношениях частот:
| f / fср | Ослабление | Во сколько раз | Фаза ФНЧ |
|---|---|---|---|
| 0,1 | −0,04 дБ | 0,995 | −5,7° |
| 0,5 | −0,97 дБ | 0,894 | −26,6° |
| 1 | −3,01 дБ | 0,707 | −45° |
| 2 | −6,99 дБ | 0,447 | −63,4° |
| 10 | −20,0 дБ | 0,0995 | −84,3° |
| 100 | −40,0 дБ | 0,01 | −89,4° |
Видно главное ограничение RC-фильтра: спад начинается задолго до частоты среза (на половине частоты среза уже −1 дБ), а за ней сигнал ослабляется медленно — всего в 10 раз на декаду.
Переходная характеристика
Если на вход ФНЧ подать ступеньку напряжения, выход не повторит её сразу, а будет нарастать по экспоненте — так же, как заряжается конденсатор через резистор:
За время τ выход проходит 63,2 % пути, за 2τ — 86,5 %, за 3τ — 95,0 %, за 5τ — 99,3 % (ARRL, Capacitor TC Calc). Поэтому постоянная времени задаёт быстродействие: чем ниже частота среза, тем дольше фильтр «успокаивается» после скачка входного сигнала.
Пример. R = 10 кОм, C = 100 нФ. Частота среза 1/(2π · 104 · 10−7) = 159,2 Гц, постоянная времени 1 мс. Помеха 1,59 кГц (в 10 раз выше частоты среза) ослабляется на 20 дБ, то есть в 10 раз; ступенька устанавливается с точностью 1 % за 4,6τ ≈ 4,6 мс.
Формулы верны, только если источник сигнала имеет малое выходное сопротивление, а нагрузка — большое входное. Сопротивление источника складывается с R и понижает частоту среза, низкоомная нагрузка образует с R делитель. Подробно это разобрано на странице калькулятора RC-фильтра: там же можно подобрать номиналы из стандартного ряда и посчитать ослабление на нужной частоте.
Фильтр на входе АЦП
АЦП видит сигнал только в моменты выборки. Составляющие с частотой выше половины частоты дискретизации — частоты Найквиста — не пропадают, а «отражаются» в полосу 0…fд/2 и становятся неотличимы от полезного сигнала. После оцифровки их уже ничем не убрать, поэтому даташит ATmega328P рекомендует удалить такие составляющие фильтром нижних частот до входа АЦП (DS40002061B, разд. 24.6.1). Такой фильтр называют антиалиасинговым.
Посчитаем, какой фильтр нужен. Для полного 10-битного разрешения АЦП ATmega328P тактируют частотой 50–200 кГц, преобразование занимает 13 тактов (разд. 24.4). При тактовой частоте 16 МГц и делителе 128 АЦП работает на 125 кГц и делает до 9615 выборок в секунду; частота Найквиста — 4808 Гц. Чтобы помеха на этой частоте размахом во всю шкалу стала меньше младшего разряда 10-битного АЦП, её нужно ослабить в 1024 раза, то есть на 60,2 дБ.
- RC-фильтр 10 кОм + 1 мкФ (частота среза 15,9 Гц) ослабляет частоту 4808 Гц на 49,6 дБ — меньше, чем нужно. Чтобы получить 60,2 дБ, частоту среза однозвенного фильтра пришлось бы опустить до 4,7 Гц. Для датчика температуры это нормально, для сигнала в сотни герц — нет.
- Фильтр Баттерворта четвёртого порядка с частотой среза 800 Гц ослабляет 4808 Гц на 62,3 дБ, а на 400 Гц теряет лишь 0,02 дБ. RC-цепочка с той же частотой среза дала бы на частоте Найквиста только −15,7 дБ. Расчёт такого фильтра — ниже, в разделе о каскадировании.
Сопротивление 10 кОм выбрано не случайно: АЦП ATmega328P рассчитан на источники с выходным сопротивлением до 10 кОм — тогда конденсатор выборки и хранения (14 пФ) успевает зарядиться за время выборки (разд. 24.6.1). Конденсатор 1 мкФ на входе в десятки тысяч раз больше 14 пФ, поэтому при подключении конденсатора выборки напряжение на нём почти не меняется. Обратная сторона — фильтр с τ = 10 мс медленно отрабатывает скачки сигнала: установление с точностью 1 % займёт около 46 мс.
Фильтры второго порядка
Звено второго порядка описывают двумя параметрами: собственной частотой и добротностью Q. В нормированной форме из руководства TI (SLOA049, ур. 1) коэффициент передачи ФНЧ записывается так:
Здесь K — усиление в полосе пропускания, FSF — коэффициент, который пересчитывает собственную частоту звена в частоту среза всего фильтра. Ниже собственной частоты звено передаёт сигнал с усилением K, на собственной частоте — с усилением K·Q и сдвигом фазы 90°, выше неё — ослабляет пропорционально квадрату отношения частот со сдвигом 180°. Отсюда смысл добротности: при Q > 0,707 АЧХ образует подъём перед спадом, и чем выше Q, тем он острее. В теории управления то же звено описывают коэффициентом затухания ζ (SPRAA88A, ур. 9); сравнение двух форм даёт ζ = 1/(2Q).
В таблицах коэффициентов фильтров звено часто задают парой чисел ai, bi в знаменателе 1 + ais + bis2; тогда (SLOD006B, разд. 16.2.4).
Пассивный RLC-фильтр
Катушка, конденсатор и резистор образуют ФНЧ второго порядка. Если R и L включены последовательно, а выход снимается с C (SPRAA88A, ур. 12):
Две RC-цепочки подряд тоже дают второй порядок, но у такого фильтра ζ не бывает меньше 1 (SPRAA88A, ур. 11): получить плоскую АЧХ Баттерворта или подъём Чебышёва на одних резисторах и конденсаторах нельзя. Для этого нужна катушка или активный элемент. На частотах ниже примерно 10 МГц катушки для фильтров получаются громоздкими и дорогими, поэтому сигнальные фильтры строят на ОУ (SLOD006B, разд. 16.2).
Схема Sallen-Key
Звено Саллена — Ки (Sallen-Key) — неинвертирующее: два резистора последовательно, конденсатор C1 на общий провод и конденсатор C2 с выхода ОУ в точку между резисторами. В варианте с единичным усилением ОУ включён повторителем (SLOD006B, рис. 16-16). Его коэффициенты (SLOD006B, разд. 16.3.2.1):
Места конденсаторов в формулах ниже не взаимозаменяемы: если в примере ниже поменять C1 и C2 местами, частота останется прежней, а добротность упадёт с 0,707 до 0,32.
Конденсаторы выбирают первыми — их ряды номиналов реже, — а резисторы рассчитывают:
Пример: ФНЧ Баттерворта второго порядка на 1 кГц. Коэффициенты Баттерворта второго порядка: a1 = 1,4142, b1 = 1 (SLOD006B, табл. 16-5). Берём C1 = 10 нФ; условие даёт C2 ≥ 20 нФ, выбираем 22 нФ. Расчёт: R1 = 7,86 кОм, R2 = 14,65 кОм; ближайшие из ряда E96 — 7,87 кОм и 14,7 кОм. Проверка по формулам SLOA049 (ур. 21) с этими номиналами: собственная частота 997,6 Гц, Q = 0,7069 при расчётных 1000 Гц и 0,7071.
Если усиление нужно больше единицы, в цепь обратной связи ОУ ставят делитель R3, R4, и K = 1 + R4/R3. Частный случай — все резисторы и все конденсаторы одинаковы: тогда добротность задаётся только усилением, K = 3 − 1/Q (SLOD006B, разд. 16.3.2.1). Для Баттерворта K = 1,586. Схема удобна для перестройки, но при K, близком к 3, добротность резко растёт и звено становится чувствительным к разбросу. TI рекомендует Sallen-Key для звеньев с Q < 3. Звено верхних частот получают из того же звена, поменяв местами резисторы и конденсаторы (SLOD006B, разд. 16.4); его расчёт здесь не разбирается.
Схема MFB
Звено с многопетлевой обратной связью (multiple feedback, MFB) — инвертирующее: входной резистор R1, конденсатор C2 на общий провод, резистор R2 обратной связи с выхода, резистор R3 к инвертирующему входу и конденсатор C1 с выхода на инвертирующий вход (SLOD006B, рис. 16-19). Расчёт при заданных C1, C2 и усилении A0 (отрицательном) (SLOD006B, разд. 16.3.2.2):
Пример: тот же фильтр Баттерворта на 1 кГц с усилением −1. C1 = 10 нФ, условие даёт C2 ≥ 40 нФ, берём 47 нФ. Расчёт: R1 = R2 = 6,91 кОм, R3 = 7,80 кОм; из ряда E96 — 6,98 кОм и 7,87 кОм. Проверка: 990,5 Гц и Q = 0,7072. Квадратное уравнение имеет и второй корень: R2 = 15,6 кОм, R3 = 3,46 кОм — близкие к нему номиналы 15,4 и 3,48 кОм TI приводит в таблице примеров SLOA049 (табл. 10-2). Оба варианта дают одну и ту же АЧХ, отличаются только номиналы.
Что выбрать
| Sallen-Key | MFB | |
|---|---|---|
| Фаза в полосе | без инверсии | инвертирует |
| Усиление | при K = 1 не зависит от номиналов | задаётся отношением R2/R1 |
| Чувствительность к разбросу | минимальна при K = 1 | в целом ниже |
| Высокие частоты | сигнал просачивается на выход через C2 и выходное сопротивление ОУ | подавление лучше |
| Входная ёмкость ОУ | учитывать, если она сравнима с C1/400 (0,25 % от C1) | не влияет |
| Типичное применение | Q < 3, единичное усиление | высокая добротность и усиление |
Сводка составлена по SLOA049 (табл. 1-2, разд. 11) и SLOD006B (разд. 16.3.2, 16.8.3). Если просачивание на высоких частотах мешает, TI предлагает добавить после ОУ пассивное RC-звено — например, 100 Ом и 47 нФ (SLOA049, разд. 11).
Баттерворт, Бессель и Чебышёв
Схема (Sallen-Key, MFB, RLC) определяет, как реализовано звено, а тип фильтра — какие у звеньев частоты и добротности. Одна и та же схема становится фильтром Баттерворта или Бесселя только благодаря номиналам (SLOA049, разд. 1).
- Баттерворт — максимально плоская АЧХ в полосе пропускания. Подходит для антиалиасинговых фильтров, где важна точность амплитуды во всей полосе.
- Бессель — постоянное групповое время задержки: все частоты в полосе задерживаются одинаково, и прямоугольные импульсы проходят почти без выброса. Платой служит более пологий спад и «завал» АЧХ ещё до частоты среза.
- Чебышёв — пульсации АЧХ в полосе пропускания в обмен на более резкий переход от полосы пропускания к полосе задерживания. Чем больше допустимые пульсации и выше порядок, тем заметнее выигрыш; выброс и звон на импульсах — наибольшие из трёх.
Для звена второго порядка параметры по таблицам SLOA049 (табл. 9-1…9-4); ослабление и выброс на ступеньке рассчитаны по этим параметрам:
| Тип | FSF | Q | На 2·fср | На 10·fср | Выброс |
|---|---|---|---|---|---|
| Бессель | 1,2736 | 0,5773 | −9,8 дБ | −35,9 дБ | 0,4 % |
| Баттерворт | 1,000 | 0,7071 | −12,3 дБ | −40,0 дБ | 4,3 % |
| Чебышёв 1 дБ | 1,0500 | 0,9565 | −10,4 дБ | −39,1 дБ | 14,6 % |
| Чебышёв 3 дБ | 0,8414 | 1,3049 | −14,0 дБ | −43,0 дБ | 27,2 % |
Сравнивать строки нужно с оговоркой: частоты среза у типов отсчитываются от разных уровней. У Баттерворта и Бесселя на частоте среза АЧХ проходит через −3 дБ, а у Чебышёва частота среза — край коридора пульсаций: там коэффициент передачи равен 0 дБ, а внутри полосы АЧХ поднимается на +1 или +3 дБ. Поэтому Чебышёв второго порядка с пульсациями 1 дБ на удвоенной частоте среза ослабляет сигнал даже слабее Баттерворта. Выигрыш в крутизне проявляется с ростом порядка и допустимых пульсаций — это видно по таблице четвёртого порядка.
Различия заметнее у фильтров более высокого порядка. Для четвёртого порядка:
| Тип | Звено 1: FSF / Q | Звено 2: FSF / Q | На 2·fср | Выброс |
|---|---|---|---|---|
| Бессель | 1,4192 / 0,5219 | 1,5912 / 0,8055 | −13,6 дБ | 0,8 % |
| Баттерворт | 1,000 / 0,5412 | 1,000 / 1,3065 | −24,1 дБ | 10,8 % |
| Чебышёв 1 дБ | 0,5286 / 0,7845 | 0,9932 / 3,5600 | −32,9 дБ | 21,9 % |
| Чебышёв 3 дБ | 0,4426 / 1,0765 | 0,9503 / 5,5770 | −36,7 дБ | 35,7 % |
Фильтры высокого порядка
Фильтр n-го порядка собирают из n/2 звеньев второго порядка; при нечётном n добавляют звено первого порядка — RC-цепочку или RC с повторителем (SLOA049, разд. 8). Каждое звено реализует свою пару полюсов, и у звеньев разные частоты и добротности, даже если все они «Баттерворта». Звенья располагают по возрастанию добротности (SLOA049, разд. 8; SLOD006B, разд. 16.3). Звено с высоким Q даёт подъём АЧХ вблизи своей частоты: если поставить его первым, сигнал на промежуточном узле уйдёт в ограничение раньше, чем на выходе фильтра, хотя выходной уровень будет нормальным.
Простое повторение одинаковых RC-звеньев через буферы тоже повышает порядок, но не даёт ни плоской АЧХ, ни крутого перегиба: у четырёх одинаковых RC-звеньев частота среза всего фильтра в 2,3 раза ниже, чем у каждого звена, а спад 80 дБ/дек устанавливается только примерно на 1,5 октавы выше частоты среза (SLOD006B, разд. 16.2).
Пример: антиалиасинговый фильтр Баттерворта четвёртого порядка на 800 Гц для АЦП из раздела выше. Коэффициенты (SLOD006B, табл. 16-5): звено 1 — a1 = 1,8478, b1 = 1, Q = 0,54; звено 2 — a2 = 0,7654, b2 = 1, Q = 1,31. Оба звена — Sallen-Key с единичным усилением, C1 = 10 нФ:
| Звено | Q | C2 (минимум → выбрано) | R1 | R2 | Проверка (E96) |
|---|---|---|---|---|---|
| 1 | 0,54 | 11,7 → 15 нФ | 9,78 → 9,76 кОм | 26,98 → 26,7 кОм | 805 Гц, Q = 0,542 |
| 2 | 1,31 | 68,3 → 82 нФ | 4,50 → 4,53 кОм | 10,73 → 10,7 кОм | 798 Гц, Q = 1,309 |
Собственная частота обоих звеньев равна 800 Гц, потому что у Баттерворта bi = 1; различаются только добротности. Первым по сигналу ставится звено с Q = 0,54.
Разброс компонентов
Чувствительность частоты среза и добротности звеньев Sallen-Key и MFB к номиналам R и C — примерно 0,5 %/%: изменение конденсатора на 5 % сдвигает частоту и добротность примерно на 2,5 % (SLOD006B, разд. 16.8.2). В примере Баттерворта на 1 кГц увеличение C1 на 5 % даёт 973,6 Гц (−2,4 %) и Q = 0,690 (−2,4 %). Для одного звена это немного, но в фильтре высокого порядка отклонения звеньев складываются: TI показывает, как фильтр Баттерворта восьмого порядка из-за разброса ёмкостей отклоняется от расчётной АЧХ на величину до 0,35 дБ и по форме становится похож на фильтр Чебышёва. Для сравнения, ½ младшего разряда 12-битного АЦП соответствует неравномерности всего 0,001 дБ.
Практические правила из руководств TI:
- Конденсаторы — C0G (NP0): их ёмкость почти не зависит от температуры и напряжения. X7R может уходить на ±15 % по температуре и непригоден для точных фильтров (SLOD006B, разд. 16.8.2; SLOA049, разд. 12). Ёмкость не меньше 1 нФ, чтобы паразитные ёмкости не вносили ошибку; SLOA049 называет нижней границей 10 пФ.
- Резисторы — металлоплёночные с допуском 1 % и лучше, для прецизионных фильтров 0,1 %. Номиналы от 1 до 100 кОм: ниже — выход ОУ перегружается током, выше — растёт шум резисторов (SLOD006B, разд. 16.8.3).
- Порядок подбора — сначала конденсаторы из доступного ряда, затем резисторы по формулам; при неточных конденсаторах их ёмкость измеряют и пересчитывают резисторы (SLOD006B, разд. 16.8.2).
Требования к операционному усилителю
ОУ в активном фильтре должен иметь запас усиления: его собственное усиление без обратной связи должно быть в 100 раз (на 40 дБ) выше пикового усиления звена, тогда ошибка не превысит 1 %. Отсюда правила оценки частоты единичного усиления fT — для ОУ с внутренней коррекцией она равна GBW (SLOD006B, разд. 16.8.4):
где ki — отношение частоты среза звена к частоте среза фильтра из таблиц коэффициентов. Примеры:
- Баттерворт второго порядка на 1 кГц, K = 1 (k1 = 1): fT = 100 кГц.
- Баттерворт четвёртого порядка на 800 Гц: звено 1 (k1 = 0,719) — 57,5 кГц, звено 2 (Q = 1,31) — 95,2 кГц. Достаточно ОУ с GBW около 100 кГц.
- Для сравнения пример TI: Чебышёв пятого порядка на 10 кГц с пульсациями 3 дБ и усилением 2 требует 17 МГц, потому что добротность последнего звена — 8,82.
Второй параметр — скорость нарастания: чтобы ОУ отдал полный размах на частоте среза, SR > π · Uразмах · fср (SLOD006B, разд. 16.8.4). Для 5 В размаха на 1 кГц это всего 0,016 В/мкс, на 100 кГц — уже 1,57 В/мкс. Подробнее о GBW и скорости нарастания — в статье об операционном усилителе.
ШИМ как ЦАП: фильтр после вывода микроконтроллера
ШИМ-сигнал можно представить как постоянную составляющую плюс прямоугольные колебания с нулевым средним. Постоянная составляющая равна амплитуде, умноженной на коэффициент заполнения p, а остальная энергия сосредоточена на частоте ШИМ и кратных ей частотах (SPRAA88A, ур. 5). Фильтр нижних частот оставляет постоянную составляющую и медленные изменения коэффициента заполнения — так из ШИМ получается простой ЦАП. Амплитуда первой гармоники:
Она наибольшая при p = 0,5 и равна 2U/π; этот случай TI берёт как худший (SPRAA88A, разд. 5).
Пример: ШИМ 20 кГц, 3,3 В, RC-фильтр 8,2 кОм + 100 нФ. Частота среза 194 Гц, τ = 0,82 мс. Ослабление на частоте ШИМ по формуле из AN538 — 40,3 дБ, то есть в 103 раза. Первая гармоника при p = 0,5 имеет амплитуду 2,10 В (4,20 В размах); после фильтра от неё остаётся около 41 мВ размаха. Точный расчёт заряда и разряда конденсатора по экспонентам даёт 50,3 мВ: высшие гармоники тоже вносят вклад. При 8-битном ШИМ шаг выходного напряжения — 12,9 мВ, так что пульсации составляют почти 4 шага. Установление нового значения с точностью 1 % займёт 4,6τ ≈ 3,8 мс, а за 5τ = 4,1 мс остаётся 0,7 %.
Пульсации и быстродействие тянут в разные стороны (SPRAA88A, разд. 3–4):
- Повысить частоту ШИМ — пульсации уменьшатся пропорционально, но у таймера микроконтроллера уменьшится разрешение: при той же тактовой частоте на период приходится меньше отсчётов.
- Понизить частоту среза — пульсации уменьшатся, но ЦАП станет медленнее.
- Повысить порядок фильтра. Фильтр Баттерворта второго порядка с той же частотой среза 194 Гц ослабляет 20 кГц на 80,5 дБ, и пульсации падают примерно до 0,4 мВ. Две RC-цепочки 8,2 кОм + 100 нФ подряд дают такое же ослабление на 20 кГц, но их частота среза — всего 72,6 Гц: у пассивного RC-RC фильтра ζ = 1,5, и АЧХ заваливается рано. TI рекомендует выбирать ζ от 0,707 до 1: при ζ = 1 переходный процесс идёт без выброса, при 0,707 АЧХ не имеет подъёма (SPRAA88A, разд. 4.2).
Пассивный фильтр нужно нагрузить высоким сопротивлением, иначе нагрузка изменит его частоту среза и уровень выходного напряжения. TI ставит после фильтра повторитель на ОУ — от него не требуется широкая полоса, потому что сигнал уже отфильтрован (SPRAA88A, разд. 4). Частоту и разрешение ШИМ для конкретного таймера считают калькулятор ШИМ и калькулятор ШИМ Arduino.
LC-фильтр в цепи питания
Для фильтрации питания катушки удобны: на постоянном токе их сопротивление мало, и фильтр почти не теряет напряжение. LC-фильтр — это ФНЧ второго порядка со спадом 40 дБ на декаду (12 дБ на октаву) выше резонансной частоты (SNVA538):
где Rн — сопротивление нагрузки. Опасность LC-фильтра — подъём АЧХ на резонансной частоте: при малом затухании фильтр не ослабляет, а усиливает помеху в Q = 1/(2ζ) раз. Затухание дают сопротивление нагрузки, сопротивление обмотки катушки и ESR конденсатора; при лёгкой нагрузке и качественных компонентах его почти нет. Частоту резонанса и реактивные сопротивления элементов считает калькулятор LC-контура, индуктивность самодельной катушки — калькулятор катушки.
Пример: питание АЦП ATmega328P. Даташит рекомендует подавать AVCC от цифрового питания через катушку 10 мкГн и конденсатор 100 нФ (DS40002061B, рис. 24-9). Резонансная частота такого фильтра — 159 кГц, волновое сопротивление = 10 Ом. На частоте 16 МГц (тактовая частота микроконтроллера) идеальный фильтр ослабляет помеху на 80 дБ. Но при нагрузке 1 кОм ζ = 0,005, и на 159 кГц помеха усиливается в 100 раз (+40 дБ) — если в цифровом питании есть составляющая на этой частоте, фильтр сделает хуже, чем было без него. На практике подъём ограничивают сопротивление обмотки катушки и ESR конденсатора.
Чтобы погасить резонанс, параллельно конденсатору фильтра включают цепочку Rd–Cd. SNVA538 советует закладывать коэффициент затухания не меньше 0,5 и приводит оптимум для Cd = 4C: . Такое сопротивление минимизирует подъём АЧХ — по нашему расчёту остаётся около +3,5 дБ вместо +40 дБ. Для фильтра AVCC это около 10 Ом и 400 нФ. Конденсатор Cd не пропускает через Rd постоянный ток, так что на постоянном токе потерь нет; на частоте резонанса Rd как раз и рассеивает энергию помехи.
Пример: входной фильтр DC-DC преобразователя. Катушка 4,7 мкГн и конденсатор 10 мкФ дают резонанс на 23,2 кГц и волновое сопротивление 0,69 Ом. На частоте переключения 500 кГц идеальный фильтр ослабляет пульсации на 53 дБ. Демпфирующая цепочка по формуле SNVA538 — 0,70 Ом и 40 мкФ. Для входного фильтра импульсного преобразователя есть дополнительное условие: пиковое выходное сопротивление фильтра должно оставаться заметно ниже входного сопротивления преобразователя, иначе фильтр влияет на петлю регулирования и может возбудить колебания (SNVA538). Если оптимизировать именно пик выходного сопротивления, по нашему расчёту для Cd = 4C лучше — около 0,42 Ом: пик |Zвых| снижается с 1,10 до 0,87 волнового сопротивления, а подъём АЧХ вырастает до +4,6 дБ.
Расчёт выше сделан для идеальных элементов; у реальных катушки и конденсатора есть паразитные параметры, которые учитывают на высоких частотах. О выборе дросселя — в статье «Катушки индуктивности и дроссели».
Цифровые фильтры
После АЦП сигнал часто дочищают программно. Два самых простых фильтра на микроконтроллере:
Скользящее среднее — среднее последних M отсчётов (Smith, ур. 15-1). Для случайного шума это оптимальный фильтр: он даёт наименьший шум при заданной крутизне фронта ступеньки, а шум уменьшается в √M раз — например, при усреднении по 16 отсчётам в 4 раза (Smith, гл. 15). Частотная характеристика у него плохая: при частоте дискретизации 1 кГц и M = 16 уровень −3 дБ — 27,7 Гц, первый ноль — на 62,5 Гц, а между нулями АЧХ снова поднимается (Smith, ур. 15-2). У этого есть полезное следствие: среднее по целому числу периодов помехи её полностью подавляет. 20 отсчётов при 1 кГц — ровно один период сетевой помехи 50 Гц.
Однополюсный рекурсивный фильтр (экспоненциальное сглаживание) — цифровой аналог RC-цепочки (Smith, ур. 19-2):
Пример: частота дискретизации 1 кГц, нужная частота среза 10 Гц. Тогда α = 0,9391, a0 = 0,0609, а постоянная времени — 15,9 отсчёта, то есть 15,9 мс — столько же, сколько у RC-фильтра на 10 Гц. На микроконтроллере без плавающей точки удобно взять a0 = 1/16: деление заменяется сдвигом, а частота среза получается около 0,0103 · fд — 10,3 Гц при 1 кГц.
#include <stdint.h>
/* Single-pole IIR low-pass: y += (x - y) / 16, fc ~ 0.0103 * fs.
* acc holds y scaled by 16; preload it with 16 * first sample to skip the start-up. */
static int32_t acc;
uint16_t lowpass_update(uint16_t sample) {
acc += (int32_t)sample - (acc >> 4);
return (uint16_t)(acc >> 4);
}
Такой фильтр хорошо сглаживает сигнал во времени, но плохо разделяет частоты: спад у него, как у RC-цепочки, пологий (Smith, гл. 19). Подробнее — в словарной статье о БИХ-фильтре. Главное ограничение любого цифрового фильтра: он не исправит наложение спектров, которое уже произошло в АЦП. Помехи выше частоты Найквиста убирает только аналоговый фильтр перед входом.
Типичные ошибки
- Фильтр на входе АЦП с частотой среза «примерно под сигнал». RC-цепочка ослабляет помеху лишь в 10 раз на декаду; чтобы помеха на частоте Найквиста ушла ниже младшего разряда, нужна либо очень низкая частота среза, либо фильтр высокого порядка.
- Нагрузка не учтена. Пассивный фильтр, нагруженный на низкоомную цепь, меняет и частоту среза, и коэффициент передачи. Буфер на ОУ после фильтра решает проблему.
- Конденсаторы X7R или Y5V в активном фильтре. Ёмкость уходит с температурой и напряжением, вместе с ней — частота среза и добротность. Для фильтров — C0G.
- Звенья в обратном порядке. Звено с высокой добротностью первым по сигналу усиливает сигнал вблизи своей частоты и может уйти в ограничение.
- ОУ «по паспортной полосе». Полоса ОУ, равная частоте среза, недостаточна: нужен запас примерно в 100 раз, а для звеньев с высокой добротностью — больше.
- LC-фильтр питания без демпфирования. На резонансной частоте он усиливает помеху и может раскачать петлю регулирования импульсного источника.
- Попытка заменить аналоговый антиалиасинговый фильтр цифровым. После дискретизации помеха уже неотличима от полезного сигнала.
Калькуляторы
- RC-фильтр — частота среза, постоянная времени, ослабление на заданной частоте, подбор номиналов и каскады звеньев.
- LC-контур — резонансная частота, волновое сопротивление и добротность контура.
- Калькулятор ОУ — усиление инвертирующего и неинвертирующего каскада, подбор резисторов.
- ШИМ — частота, разрешение и коэффициент заполнения таймера.
- Ряды номиналов E — ближайшие стандартные значения резисторов и конденсаторов для рассчитанных номиналов.
Частые вопросы
Как рассчитать частоту среза RC-фильтра?
По формуле fср = 1/(2π·R·C). Резистор 10 кОм и конденсатор 100 нФ дают 159 Гц и постоянную времени 1 мс. На частоте среза сигнал ослаблен на 3 дБ (в 1,41 раза), сдвиг фазы ФНЧ равен −45°, а выше частоты среза ослабление растёт на 20 дБ на декаду. Формула одинакова для фильтров нижних и верхних частот.
Чем отличаются фильтры Баттерворта, Бесселя и Чебышёва?
Это разные наборы коэффициентов одного и того же звена. Баттерворт даёт максимально плоскую АЧХ в полосе пропускания и умеренный выброс на ступеньке (4,3 % у второго порядка). Бессель почти не даёт выброса и сохраняет форму импульсов, но спадает медленнее. Чебышёв за счёт пульсаций АЧХ в полосе (1 или 3 дБ) круче переходит от полосы пропускания к полосе задерживания — выигрыш заметен с ростом порядка, — но сильнее всех звенит: у второго порядка с пульсациями 3 дБ выброс около 27 %.
Что лучше: Sallen-Key или MFB?
Sallen-Key с единичным усилением проще и точнее по коэффициенту передачи: он равен единице независимо от номиналов. MFB инвертирует сигнал, менее чувствителен к разбросу компонентов и лучше подавляет сигнал на высоких частотах, где у Sallen-Key часть сигнала проходит на выход через конденсатор обратной связи. Для низкой добротности и единичного усиления обычно берут Sallen-Key, для высокой добротности и усиления — MFB.
Какой ОУ нужен для активного фильтра?
По методике TI произведение усиления на полосу должно быть примерно в 100 раз больше произведения усиления каскада на частоту среза; для звеньев с добротностью выше 1 требование растёт. Фильтр Баттерворта второго порядка на 1 кГц с единичным усилением требует GBW около 100 кГц, поэтому для звуковых и более низких частот подходит почти любой ОУ. Отдельно проверяют скорость нарастания: SR > π·Uразмах·fср.
Как сделать из ШИМ постоянное напряжение?
Пропустить ШИМ через фильтр нижних частот: постоянная составляющая равна амплитуде, умноженной на коэффициент заполнения, а гармоники на частоте ШИМ и её кратных фильтр ослабляет. RC-цепочка 8,2 кОм и 100 нФ при ШИМ 20 кГц и 3,3 В оставляет пульсации около 50 мВ — это 4 младших разряда 8-битного ШИМ. Чтобы уменьшить их, повышают частоту ШИМ или ставят фильтр второго порядка; после фильтра нагрузку подключают через повторитель на ОУ.
Источники
- Texas Instruments. Karki J. Active Low-Pass Filter Design (SLOA049D, rev. February 2023) — разд. 2–3 (стандартная форма звена второго порядка, ур. 1), разд. 5 (Баттерворт, Бессель, Чебышёв 3 дБ), разд. 6–7 (Sallen-Key и MFB, ур. 21–22), разд. 8 (каскадирование), табл. 9-1…9-4 (FSF и Q до 10-го порядка), разд. 11–12 (поведение на высоких частотах, выбор компонентов)
- Texas Instruments. Kugelstadt T. Active Filter Design Techniques — глава 16 из Op Amps For Everyone (SLOD006B, 2002) — 16.2 (RC-фильтр, добротность Q = √b/a), 16.3 (расчёт звеньев первого порядка, Sallen-Key и MFB), 16.8.2–16.8.4 (чувствительность, номиналы, требования к GBW и скорости нарастания ОУ), табл. 16-4 и 16-5 (коэффициенты Бесселя и Баттерворта)
- Texas Instruments. Alter D. M. Using PWM Output as a Digital-to-Analog Converter on a TMS320F280x (SPRAA88A, 2008) — разд. 2 (спектр ШИМ, ур. 5), разд. 3 (пульсации и разрешение), разд. 4 (RC, RC-RC и RLC: ур. 7–12, выбор коэффициента затухания)
- Microchip. AN538: Using PWM to Generate Analog Output (DS00538C) — частота ШИМ относительно полосы сигнала, ослабление RC-фильтра на частоте ШИМ
- Texas Instruments. Sclocchi M. Input Filter Design for Switching Power Supplies (SNVA538) — LC-фильтр без демпфирования, коэффициент затухания, условие устойчивости по выходному сопротивлению фильтра, параллельное демпфирование Rd–Cd
- Microchip. ATmega48A/PA/88A/PA/168A/PA/328/P Data Sheet (DS40002061B) — разд. 24.4 (тактирование и длительность преобразования), 24.6.1 (входная цепь АЦП, фильтр выше частоты Найквиста), рис. 24-9 (LC-фильтр питания AVCC)
- ARRL. Ernst L. (WA2GKH). Capacitor TC Calc, version 2.1r, 2020 — заряд и разряд через RC: 63,21 % за τ, 99,33 % за 5τ
- Smith S. W. The Scientist and Engineer's Guide to Digital Signal Processing, главы 15 и 19 — скользящее среднее (ур. 15-1, 15-2, снижение шума в √M раз); однополюсный рекурсивный фильтр (ур. 19-2, 19-4, 19-5), глава 19: https://www.dspguide.com/CH19.PDF
Нашли ошибку?
Смотрите также
- RC-фильтр и постоянная времениЧастота среза, подбор R и C, время заряда
- LC-контур и реактивное сопротивлениеРезонанс, добротность, XL и XC
- Операционный усилительПринцип работы, основные схемы и формулы, параметры реальных ОУ и их выбор
- АЦПКвантование, формула кода, SAR, время выборки, погрешности, передискретизация
- ЦАПФормула выхода, R-2R и резистивная цепочка, погрешности, буфер, STM32, MCP4725, ШИМ
- ЦАП на ШИМПульсации после RC, установление, разрешение
- Частота срезаГраница полосы пропускания фильтра по уровню −3 дБ
- БИХ-фильтрЦифровой фильтр с обратной связью: формула, коэффициент, время отклика