Пошаговое руководство по получению функций переноса фильтров Iir из спецификаций
Table of Contents
Введение в дизайн фильтра IIR
Фильтры с бесконечным импульсным откликом (IIR) являются краеугольным камнем цифровой обработки сигналов, предлагая эффективную частотную селективность с меньшими коэффициентами, чем их аналоги с конечным импульсным откликом (FIR). Получение функции передачи фильтра IIR из набора спецификаций производительности является систематическим процессом, который сочетает теорию аналогового прототипа с методами цифровой трансформации. Это руководство обеспечивает комплексный, пошаговый подход к проектированию фильтров IIR, охватывающий все, от интерпретации спецификаций до получения практического выражения H(z) , подходящего для реализации. Освоение этих шагов необходимо для студентов, инженеров и исследователей, работающих в коммуникациях, обработке звука, системах управления или любой области, требующей цифровой фильтрации.
Понимание спецификаций фильтра
Каждый дизайн фильтра начинается с четкого набора требований. Чем точнее они определены, тем легче становится выбрать подходящий прототип и определить необходимый порядок. Ключевые параметры обычно включают:
- Частота края полосы пропускания (ωp): Верхняя (или нижняя) частота полосы пропускания, часто задаваемая в радианах в секунду или Гц. Для фильтров нижних частот это частота отсечки, где коэффициент усиления начинает падать.
- Частота края полосы остановки (ωs): Частота, за пределами которой затухание должно быть по меньшей мере заданным значением стоп-диапазона.
- Пассационная рябь (δ]p): Максимально допустимая вариация усиления в полосе пропускания, обычно выражаемая в децибелах (dB) как Ap = 20 log10(1+δp) или непосредственно как значение dB (например, 1 dB).
- Затухание стоп-диапазона (As): Минимальное затухание, требуемое в стоп-диапазоне, выраженное в дБ (например, 60 дБ). Это эквивалентно максимально допустимому увеличению стоп-диапазона.
- Тип фильтра: Тип фильтра: Низкий, высокий, полосовой, полосовой или всепропускной. Каждый из них требует различного преобразования частоты.
- Частота выборки (F]s: Критически важна для цифровой реализации, так как все аналоговые частоты должны быть нормализованы до диапазона Nyquist (0 до Fs/2).
Дополнительные соображения могут включать требования к линейности фазы (часто лучше удовлетворяемые фильтрами Бесселя или FIR) и пределы вычислительных ресурсов. Все спецификации должны быть записаны как в аналоговых (предварительном), так и в цифровых доменах, чтобы избежать путаницы во время преобразования.
Выбор прототипа фильтра
Прототип представляет собой аналоговый фильтр с низким пропуском с нормированной частотой отсечения 1 рад/с. Широко используются четыре классических прототипа, каждый из которых предлагает различный компромисс между полосой пропускания, затуханием полосы остановки и фазовой линейностью.
Фильтр Баттерворта
Фильтр Баттерворта обеспечивает максимально плоскую полосу пропускания без ряби. Его усиление монотонно уменьшается с частотой, а его скатывание умеренное — — 20 н дБ/десятилетие для фильтра n-го порядка. Он идеален, когда требуется гладкая величина полосы пропускания и приемлемо умеренное затухание полосы остановки.
Фильтр типа I Чебышева
Фильтры типа I Чебышева вводят экваториплу в полосу пропускания, но достигают более крутого выкатывания на частоте отсечения по сравнению с Баттервортом. Указана рябь полосы пропускания (например, 0,5 дБ). Эти фильтры полезны, когда требуется более острая полоса перехода, но рябь полосы пропускания может переноситься.
Чебышев Тип II (Инверс Чебышев) Фильтр
Тип II имеет рябь в стоп-полосе и плоской полосе пропускания. Он предлагает крутой откат непосредственно перед стоп-полосой, но стоп-полоса демонстрирует равноудаленное затухание. Этот тип выбирается, когда плоская полоса пропускания является обязательной, но некоторые вариации стоп-полосы приемлемы.
Эллиптический (Cauer) фильтр
Эллиптические фильтры обеспечивают максимально крутое сворачивание для заданного порядка, позволяя рябь как в полосе пропускания, так и в полосе остановки. Они оптимальны для приложений, требующих высокой селективности с низким порядком фильтра, таких как сглаживающие фильтры или разделение каналов. Компромиссом является значительная нелинейная фаза и чувствительность к квантованию коэффициента.
Фильтр Бесселя
Фильтры Бесселя максимизируют плоскость групповой задержки, сохраняя форму сигналов временных доменов. Их ответ на величину имеет более медленный откат, чем у Баттерворта, что делает их пригодными для импульсных коммуникаций или там, где линейная фаза имеет решающее значение.
Выбор зависит от спецификаций. Например, если пульсация полосы пропускания должна быть менее 0,1 дБ и необходимо затухание полосы остановки 60 дБ, может быть уместна конструкция типа I Чебышева или эллиптическая конструкция. Онлайн-ресурсы, такие как фильтр Butterworth , Чебышев фильтр и Эллиптический фильтр, предоставляют подробные таблицы поул-ноль и функции передачи.
Определить требуемый фильтр
После выбора типа прототипа необходимо вычислить минимальный порядок n, удовлетворяющий как пульсации полосы пропускания, так и затуханию полосы остановки. Для фильтров Баттерворта и Чебышева существуют замкнутые выражения. Например, для фильтра нижних частот Баттерворта:
n = ceil( log10( (10]0.1As — 1)/0.1Ap — 1)]/[2 log10s/ωp]
где Ap и As являются полосой пропускания и затуханием полосы остановки в dB, и ωp, ωs — полосой пропускания и полосой остановки. Для Чебышева Типа I применяется аналогичная формула с использованием гиперболических косинусных функций. Для оценки порядка эллиптического фильтра требуется полный эллиптический интеграл, часто вычисляемый с помощью таблиц проектирования или программного обеспечения. Большинство современных сред DSP — таких как функции MATLAB, или — автоматизируют этот шаг. Важно округлить порядок до ближайшего целого числа; более высокий порядок может быть использован, если позволяют вычислительные ресурсы.
Получение функции аналогового переноса H(s)
При известном типе и порядке прототипа следующим шагом является получение нормализованной функции передачи с низким проходом H(s) с отсечением 1 рад/с. Для каждого прототипа известны полюса (и нули для эллиптического/Чебышевского типа II).
- Баттерворт: Поляки лежат на окружности радиуса 1 в левой полуплоскости под углами (2k+1)π/(2n) + π/2, для k = 0,1,...,n−1. Никаких конечных нулей.
- Чебышев Тип I: Поляки лежат на эллипсе с фокусами при ± jωp.Малый радиус оси связан с рябью ε = √[100.1Ap—1.
- Чебышев Тип II: На воображаемой оси (стоп-диапазоне) имеются как полюса, так и нули.Ноли находятся на s = ± j ωs/cos(...).
- Эллиптическое: Включает якобианские эллиптические функции; полюса и нули доступны в таблицах или через числовые процедуры.
Затем передаточная функция формируется в виде соотношения полиномов: H(s) = K * N(s) / D(s), где коэффициент усиления K нормализует ответ величины (например, K = 1 для усиления DC единства). Для прототипа с низким проходом H(s) является низким проходом с ωc = 1. Многие учебники, такие как Руководство для ученых и инженеров по цифровой обработке сигналов, предоставляют табличные места с нулевым полюсом и многочлены знаменателя для общих заказов.
Применение частотных преобразований
Нормализованный фильтр прототипа должен быть преобразован для удовлетворения требуемой частоты среза и типа фильтра. Частотные преобразования заменяют сложную переменную s с функцией s , которая отображает реакцию прототипа на желаемую полосу пропускания.
Низкий проход к Lowpass
Замените s на s/ωc, где ωc является желаемой угловой частотой с отсечением.
Низкий проход к Высокому проходу
Замените s → ωc/s. Это взаимно преобразует нули и полюса, инвертируя ответ величины.
Низкий проход к Band-pass
Преобразование полосы пропускания - это s → (s2 + ω 0 2) / (s Δω) , где ω 0 - центральная частота и Δω полоса пропускания. Это удваивает порядок, поскольку применяется картирование второго порядка.
Низкий проход к Band-stop
Похож на полосу-пасс, но с s → s Δω / (s2 + ω02).
После преобразования функция передачи H(s) теперь выражается в терминах аналоговой угловой переменной частоты, соответствующей желаемым краям полосы пропускания.На данный момент фильтр по-прежнему является аналоговой конструкцией; на следующем этапе он преобразуется в цифровой фильтр.
Дискретизация фильтра с помощью билинейного преобразования
Наиболее широко используемым методом преобразования аналога H(s) в цифровой H(z) является билинейное преобразование:
s = (2/T) · (1 – z-1 / (1 + z-1)
где T — период выборки. Это преобразование отображает всю левую половину плоскости в единичный круг в плоскости Z, гарантируя стабильность (при условии, что аналоговый фильтр стабилен). Однако отображение вводит искажение частоты: аналоговая частота Ω и цифровая частота ω связаны друг с другом посредством
Ω = (2/T) tan(ω/2).
Для компенсации, частоты аналогового отсечки, используемые в преобразовании, должны быть предварительно деформированы. Если желаемое цифровое отсеивание ωd (в радианах на образец), преварп до Ωаналог = (2/T) tan(ωd/2 .
Билинарное преобразование приводит к рациональной функции в z−1 того же порядка, что и аналоговый фильтр. Коэффициенты могут быть получены с помощью алгебраической замены и полиномиального расширения, или чаще всего с помощью цифровых функций проектирования фильтров в программном обеспечении, таком как функция MATLAB . Существуют более простые альтернативы: импульсно-инвариантный метод и сопоставленная z-трансформация, но они могут вызывать псевдонимирование или не сохранять форму отклика на величину. Билинарное преобразование предпочтительно для большинства конструкций IIR, поскольку оно обеспечивает отсутствие псевдонимирования и сохраняет характеристики отклика на величину фильтра (за исключением деформации, которая предварительно компенсируется).
Выражение конечной функции передачи H(z)
После дискретизации передаточная функция представляет собой отношение многочленов в z−1:
H(z) = (b0 + b1 z-1 + ... + bNNN) / (1 + a1 z−1 + ... + aMz−M
где N и M обычно равны (порядок фильтра). Для раздела второго порядка (SOS) коэффициенты часто записываются как:
H(z) = (b0 + b1 z−1 + b2 z−2) / (1 + a1 z−1 + a2 z−2)
Фильтры более высокого порядка должны быть учтены в каскадных секциях второго порядка для улучшения численной стабильности и снижения шума квантования. Реализация уравнения разности происходит непосредственно из H(z):
y[n] = b0 x[n] + b1 x[n−1] + ... + bN x[n−N] — a1 y[n−1] — ... — aM y[n−M]
Практические соображения
Создание теоретической функции передачи является лишь частью проекта; для успешной реализации требуется внимание к реалиям цифровой обработки сигналов (DSP).
- Эффекты квантования: Арифметика конечной точности может сдвигать местоположения полюсов, вызывая нестабильность или изменяя частотную реакцию. Используйте каскадные секции второго порядка с достаточной длиной слова (например, 32-битная плавающая точка или 24-битная фиксированная точка).
- Шкальирование: Входные и выходные сигналы должны быть масштабированы для предотвращения переполнения в системах с фиксированной точкой.
- Фазовое искажение: Фильтры IIR вводят нелинейную фазу, что может быть неприемлемо в некоторых приложениях.Если фазовая линейность имеет решающее значение, рассмотрите фильтр FIR или прототип Бесселя.
- Переходные состояния запуска: Бесконечная память фильтров IIR вызывает начальный переходный период; это может быть смягчено инициализацией переменных состояния или допуском периода разогрева.
- Ограничения в реальном времени: Количество операций многократного накопления на выборку напрямую влияет на пропускную способность. Используйте оптимизированный код и рассмотрите полиномиальные приближения для расчета коэффициента.
Пример: проектирование фильтра низкого пропуска типа I Чебышева
Предположим, что нам нужен цифровой фильтр нижних частот со следующими характеристиками:
- Частота выборки: 10 кГц
- Край полосы пропускания: 2 кГц (ω p = 0,4π рад/образец)
- Край полосы остановки: 3 кГц (ω s = 0,6π рад/образец)
- Позвоночная рябь: 1 дБ
- Затухание стоп-диапазона: 40 дБ
Шаг 1: Предварить аналоговые частоты с использованием T = 1/10000 с. Ωp = 2 × 104 tan(0,4π/2) ≈ 2 × 104 × 1,376 ≈ 27520 rad/s; Ωs = 2 × 104 tan(0,6π/2) ≈ 2 × 104 × 3,077 ≈ 61540 rad/s.
Шаг 2: Определить порядок с помощью формулы Чебышева Типа I: с 1 дБ ряби и 40 дБ затуханием, порядок n ≈ 4 (округлено).
Шаг 3: Найти нормализованную функцию переноса типа I Чебышева для n=4, 1 дБ ряби (поли и усиления доступны в таблицах. Пример из стандартной конструкции: H(s) = K/(s2 + 0,3473s + 0,8591)(s2 + 0,8506s + 0,3381) .
Шаг 4: Применять предварительно сконструированные преобразования с низким проходом к низкому проходу: заменить s на s/Ωp.
Шаг 5: Применять билинейное преобразование к предупредительной функции аналогового переноса. Используя инструмент или ручную замену, выходы b и коэффициенты для каждого раздела второго порядка. Окончательный H(z) будет в каскадной форме SOS.
Этот пример, хотя и сжатый, иллюстрирует весь конвейер. Для полного численного вычисления обратитесь к документации программного обеспечения DSP или стандартным ссылкам.
Заключение
Получение функции передачи фильтра IIR из спецификаций является методическим процессом, который переходит от требований к выбору прототипа, определению порядка, производному аналоговой функции передачи, преобразованию частоты, дискретизации и реализации. Каждый шаг имеет хорошо зарекомендовавшие себя математические основы и практические компромиссы. Понимая эти основы, вы можете проектировать фильтры, которые отвечают строгим критериям производительности с минимальными вычислительными накладными расходами. Для дальнейшего изучения обратитесь к авторитетным источникам, таким как Руководство для ученых и инженеров по цифровой обработке сигналов или MATLAB IIR Filter Design документация для подробных алгоритмов и примеров.