АЧХ, ФЧХ и обзор z-преобразования

Сводим воедино язык характеристик фильтра и заглядываем в z-плоскость, где живут полюса и нули.

АЧХ (амплитудно-частотная характеристика) показывает усиление фильтра на каждой частоте; ФЧХ (фазочастотная) — вносимый фазовый сдвиг. z-преобразование — инструмент анализа, обобщающий ДПФ на всю комплексную плоскость.

Чтобы говорить о фильтрах профессионально, нужен словарь их характеристик. АЧХ и ФЧХ полностью описывают, что фильтр делает с сигналом. А z-преобразование — это математический «рентген» фильтра, через который видно его устойчивость и резонансы. Разберём оба на простом примере.

Считаем АЧХ фильтра

АЧХ — это |H(f)|, модуль частотной характеристики. Для FIR её легко получить: это модуль ДПФ ядра на нужных частотах. Посчитаем АЧХ скользящего среднего MA-3.

import math, cmath

def freq_response(h, npts=8):
    out = []
    for i in range(npts):
        f = 0.5 * i / (npts - 1)               # частоты от 0 до 0.5 (доли fs)
        H = sum(h[n] * cmath.exp(-2j * math.pi * f * n) for n in range(len(h)))
        out.append(round(abs(H), 3))
    return out

ma3 = [1/3, 1/3, 1/3]
achx = freq_response(ma3)
print("частота (доли fs): 0.0 ... 0.5")
print("АЧХ MA-3:", achx)

Вывод:

частота (доли fs): 0.0 ... 0.5
АЧХ MA-3: [1.0, 0.934, 0.749, 0.482, 0.185, 0.082, 0.267, 0.333]

На частоте 0 (постоянный сигнал) усиление 1.0 — проходит полностью. С ростом частоты усиление падает до минимума около 0.35–0.42 fs — это ФНЧ. Скачок в конце — у MA есть «ноль» в АЧХ и небольшой «горб» за ним: грубая характеристика, потому MA и считают плохим ФНЧ.

Полоса пропускания и переходная зона

ТерминСмысл
Полоса пропускания (passband)частоты, которые фильтр пропускает (усиление ~1)
Полоса задерживания (stopband)частоты, которые фильтр душит (усиление ~0)
Частота срезаграница, где усиление падает до 0.707 (−3 дБ)
Переходная зонаучасток между пропусканием и задерживанием
Рябь (ripple)колебания усиления в полосе пропускания

Идеальный фильтр — «кирпич» с нулевой переходной зоной. Реальный имеет конечную переходную зону: чем она у́же (круче срез), тем сложнее фильтр (длиннее FIR или выше порядок IIR).

ФЧХ: фазовый сдвиг и задержка

ФЧХ показывает, на какой угол фильтр сдвигает каждую частоту. Если ФЧХ линейна (прямая линия), все частоты задерживаются одинаково — форма не искажается (это про FIR). Если ФЧХ нелинейна (IIR), разные частоты задерживаются по-разному — форма «расплывается». Поэтому для аудио и измерений, где важна форма, часто предпочитают FIR с линейной фазой.

z-преобразование: обзор

z-преобразование заменяет в формулах задержку на единицу x[n-1] символом z^(-1). Тогда любой фильтр записывается как дробь от z: нули (корни числителя) — частоты, которые фильтр гасит; полюса (корни знаменателя) — частоты, которые он усиливает (резонансы). Геометрия проста и наглядна:

z-плоскость (комплексная):

      Im
       |    . единичная окружность (|z|=1)
   x   |  /     x — полюс (резонанс)
       |/       o — ноль (подавление)
-------+--------- Re
      /|
     o |
       |

Устойчивость: ВСЕ полюса (x) внутри окружности.
АЧХ = значения дроби на самой окружности.

Связь с Фурье: проходя по единичной окружности z = e^(i*w), мы получаем частотную характеристику. То есть АЧХ — это «срез» z-преобразования по окружности. Полюс близко к окружности — острый резонанс на этой частоте; ноль на окружности — глубокий провал (так и делают режекторный notch на 50 Гц: ставят пару нулей точно на эту частоту).

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

z-преобразование объединяет всё, что мы изучили. Импульсная характеристика, свёртка, АЧХ, устойчивость — всё это разные проекции одной картины «полюса и нули на z-плоскости». Проектирование фильтра в продвинутом виде — это расстановка полюсов и нулей: нули — туда, где надо подавить, полюса (внутри окружности!) — туда, где надо усилить. Аналоговые прототипы (Баттерворта — максимально плоская АЧХ; Чебышёва — круче срез ценой ряби; эллиптический — самый крутой) переводят в цифру билинейным преобразованием, которое отображает аналоговые полюса в z-плоскость. Это уже инженерный уровень, но интуиция «полюс усиливает, ноль гасит, всё внутри окружности — устойчиво» работает всегда.

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

  • Смотреть только на АЧХ, забыв ФЧХ. Фильтр с хорошей АЧХ, но нелинейной фазой исказит форму сигнала.
  • Хотеть нулевую переходную зону. Идеальный «кирпич» нереализуем; чем круче срез, тем дороже фильтр.
  • Ставить полюс на окружность. Полюс точно на |z|=1 — на грани устойчивости; из-за округлений уйдёт наружу и фильтр разойдётся.

Итог

  • АЧХ — усиление по частотам; ФЧХ — фазовый сдвиг по частотам.
  • Полоса пропускания, переходная зона и рябь описывают форму АЧХ.
  • z-преобразование: нули гасят частоты, полюса усиливают; АЧХ — срез по единичной окружности.
  • Устойчивость = все полюса внутри единичной окружности.
Проверьте себя
1. Что показывает ФЧХ (фазочастотная характеристика) фильтра?
AУсиление на каждой частоте
BФазовый сдвиг (задержку), вносимый на каждой частоте
CЧисло отводов фильтра
DУстойчивость
2. Что означают нули в z-преобразовании фильтра?
AЧастоты, которые фильтр усиливает
BЧастоты, которые фильтр подавляет (гасит)
CОтсчёты, равные нулю
DОшибки расчёта
3. Каково условие устойчивости фильтра в терминах z-плоскости?
AВсе нули внутри единичной окружности
BВсе полюса внутри единичной окружности
CПолюса на окружности
DНулей нет
4. Как из z-преобразования получить АЧХ?
AВзять значения на мнимой оси
BВзять модуль на единичной окружности z = e^(iw)
CСложить все полюса
DЭто невозможно