Численная АЧХ фильтра

Урок учит численно строить амплитудно-частотную характеристику фильтра и находить частоту среза.

Амплитудно-частотная характеристика (АЧХ) — зависимость коэффициента передачи цепи от частоты входного сигнала.

Фильтры пропускают одни частоты и подавляют другие. АЧХ — их «паспорт». Научимся считать её комплексным методом для RC-фильтра нижних частот.

RC-фильтр нижних частот

Возьмём делитель: резистор $R$ сверху, конденсатор $C$ снизу, выход — с конденсатора. Коэффициент передачи как делитель напряжения с комплексными импедансами:

$$ H(\omega) = \frac{Z_C}{R + Z_C} = \frac{1}{1 + j\omega R C}. $$

Модуль $|H(\omega)|$ показывает, во сколько раз ослабляется сигнал. На низких частотах $|H| \approx 1$ (сигнал проходит), на высоких — стремится к нулю (подавляется).

Частота среза

Частота среза — там, где мощность падает вдвое ($|H| = 1/\sqrt2 \approx 0{,}707$):

$$ f_c = \frac{1}{2\pi R C}. $$

Построение АЧХ численно

import cmath, math

R = 1000.0    # Ом
C = 1e-6      # Ф
fc = 1 / (2*math.pi*R*C)
print(f"Частота среза fc = {fc:.1f} Гц")
print("f, Гц  |  |H|   | дБ")
for f in (10, 50, 159, 500, 5000):
    w = 2*math.pi*f
    H = 1 / (1 + 1j*w*R*C)
    mag = abs(H)
    dB = 20*math.log10(mag)
    print(f"{f:6d} | {mag:.4f} | {dB:6.2f}")

Вывод:

Частота среза fc = 159.2 Гц
f, Гц  |  |H|   | дБ
    10 | 0.9980 |  -0.02
    50 | 0.9540 |  -0.41
   159 | 0.7075 |  -3.01
   500 | 0.3033 | -10.36
  5000 | 0.0318 | -29.95

Как работает под капотом

На частоте среза модуль передачи равен $0{,}707$, что в децибелах составляет ровно $-3\,\text{дБ}$ — это стандартная граница полосы пропускания фильтра. Выше среза АЧХ спадает со скоростью $-20\,\text{дБ}$ на декаду (на каждое десятикратное увеличение частоты сигнал слабеет в 10 раз по амплитуде): сравните $-10\,\text{дБ}$ на 500 Гц и почти $-30\,\text{дБ}$ на 5000 Гц. Физически на высоких частотах ёмкостное сопротивление $X_C$ становится много меньше $R$, конденсатор «закорачивает» выход на землю, и сигнал почти не доходит. Так работают сглаживающие фильтры в блоках питания и фильтры тембра в аудиотехнике. Комплексный метод и пара строк на Python дают полную картину без осциллографа.

Частые ошибки

  • Путают фильтр нижних частот (выход с конденсатора) и верхних (выход с резистора).
  • Считают, что на частоте среза сигнал полностью подавлен. На самом деле он ослаблен лишь до 0,707.
  • Забывают, что децибелы для амплитуды считаются как $20\log_{10}$, а не $10\log_{10}$.

Итог

  • $H(\omega) = 1/(1 + j\omega RC)$ для RC-фильтра нижних частот.
  • Частота среза $f_c = 1/(2\pi RC)$, уровень $-3$ дБ.
  • За срезом спад $-20$ дБ/декаду.
  • АЧХ строится численно комплексным методом.
Проверьте себя
1. Чему равна частота среза RC-фильтра при R = 1 кОм и C = 1 мкФ?
A≈159 Гц
B≈1000 Гц
C≈50 Гц
D≈1 Гц
2. Какому уровню |H| соответствует частота среза?
A1,0
B0,5
C0,707 (−3 дБ)
D0,0