Внедрение фильтров Iir в программно-определяемые радиосистемы для управления спектром
Программно-определяемые радиосистемы (SDR) трансформировали ландшафт беспроводной связи, переключая обработку сигналов с фиксированного оборудования на гибкие программные платформы. Эта программируемость позволяет инженерам перенастраивать радиоприемники на лету, адаптироваться к различным стандартам и управлять радиочастотным (RF) спектром с беспрецедентной гибкостью. В основе каждой системы SDR лежит набор цифровых фильтров, которые формируют, выбирают и очищают сигналы. Среди них фильтры Infinite Impulse Response (IIR) выделяются своей вычислительной эффективностью и резкой частотной селективностью. В этой статье рассматриваются принципы, дизайн, реализация и практическое применение фильтров IIR в системах SDR, с акцентом на управление спектром — задача мониторинга, координации и оптимизации использования радиочастотного спектра во все более перегруженных средах.
Основы фильтров IIR
Фильтр IIR — это тип цифрового фильтра, который использует обратную связь — его текущий выход зависит как от текущих, так и от прошлых входов, а также от прошлых выходов. Эта рекурсивная структура описывается линейным уравнением разности с постоянным коэффициентом:
Где x является входом, y является выходом, а коэффициенты b и a определяют ответ фильтра.a дают IIR-фильтрам импульсный ответ, который теоретически продолжается вечно — отсюда «бесконечный». Это позволяет IIR-фильтрам достигать чрезвычайно резкого сворачивания и высокого затухания полосы остановки с гораздо меньшими коэффициентами, чем эквивалентный фильтр IIR низкого пропуска 5-го порядка может соответствовать избирательности фильтра FIR с 20-ти касанием, сохраняя память и вычисления.
Анализ и стабильность полюс-ноль
Поведение IIR-фильтра полностью характеризуется его передаточной функцией в z-домене, которая является рациональной функцией z. Корни числителя — это нули, а корни знаменателя — полюса. Для устойчивости все полюса должны лежать внутри единичного круга в z-плоскости. Полюс на единичном круге соответствует осциллятору, в то время как полюс вне вызывает неограниченный рост. Это ограничение стабильности является основным фактором при проектировании IIR-фильтров, особенно когда коэффициенты квантованы в арифметике с фиксированной точкой.
Графики нулевого полюса обеспечивают интуитивный способ визуализации частотной реакции фильтра. Размещение нулей вблизи областей единичного круга, где желательно затухание (например, на определенной частоте помех) и полюсов вблизи области полосы пропускания повышает избирательность. Инженеры часто используют размещение нулевого полюса в качестве метода проектирования для простых фильтров полосы остановки (выемки) или полосы пропускания в SDR.
Техника проектирования фильтров IIR в SDR
Проектирование IIR-фильтров для SDR-приложений обычно начинается с аналогового прототипа. Наиболее распространенными методами являются:
- Билинир Трансформ: Картирует всю аналоговые оси частот (от 0 до ∞) на единичный круг в z-плане. Сохраняет стабильность и проста в реализации. Однако вводит частотное деформирование, которое может быть компенсировано преварпингом критических частот. Билинарное преобразование является методом перехода для SDR-фильтров, поскольку производит стабильные цифровые фильтры из известных аналоговых конструкций (Butterworth, Chebyshev, Elliptic).
- Импульсная инвариантность: Образец импульсной реакции аналогового фильтра для получения цифровых коэффициентов. Он хорошо работает для фильтров с низким пропуском и сохраняет форму ответа временной области, но может вызвать псевдонимирование, если пропускная способность аналогового фильтра недостаточно ограничена. Он менее распространен в широкополосных приемниках SDR из-за проблем псевдонимирования.
- Платификация с нулевым полем: Ручное размещение полюсов и нулей для достижения желаемой частотной реакции. Этот метод интуитивно понятен для простых фильтров, таких как детекторы выемки или тона, и часто используется в адаптивных алгоритмах SDR, где параметры фильтра должны обновляться в режиме реального времени.
После вычисления коэффициентов их необходимо проверить с помощью таких инструментов, как библиотека MATLAB или Python scipy.signal. Разработчики SDR обычно проектируют фильтры в автономном режиме, а затем встраивают массивы коэффициентов в свою прошивку или программное обеспечение.
Внедрение в программно-определяемом радио
В системе SDR цифровой фильтр работает на образцах базовой полосы, поставляемых аналого-цифровым преобразователем (ADC) со скоростью, часто превышающей десятки мега-образцов в секунду. Ограничения в реальном времени требуют эффективного кода, который минимизирует операции многократного накопления (MAC) и доступ к памяти. Фильтры IIR обычно реализуются с использованием структур Direct Form I или Direct Form II (или их транспонированных вариантов). Direct Form II использует меньше элементов памяти, когда порядок фильтра высок, но он может быть более чувствительным к эффектам квантования.
Fixed-Point vs. Floating-Point
Многие SDR-платформы, особенно использующие FPGA или недорогие микроконтроллеры, работают в арифметике с фиксированной точкой. Это вводит шум квантования и потенциальную нестабильность из-за округления коэффициентов. Обычная методика заключается в использовании каскадной структуры «биквад» (раздел второго порядка). Разбивая фильтр высокого порядка на серию биквадных стадий, каждая из которых имеет хорошо управляемые полюса и нули, общий фильтр остается стабильным даже с умеренной точностью. Например, эллиптический фильтр низкого прохода 10-го порядка может быть реализован как пять каскадных биквадных секций. Каждая биквад реализуется с использованием транспонированной прямой формы I, которая накапливает ошибки менее агрессивно.
Процессоры с плавающей точкой (например, ARM Cortex-A или SDR на базе ПК) предлагают более высокую точность и более легкое масштабирование коэффициентов, но с премией за мощность и стоимость. В программном обеспечении уравнение разности просто записывается как цикл над образцами, используя переменные аккумулятора. Оптимизации, такие как разворот петли, инструкции SIMD или даже ускорение GPU, могут применяться для систем SDR с высокой пропускной способностью.
Архитектура обработки в реальном времени
Типичное программное обеспечение SDR запускает цикл управления, который считывает образцы из аппаратного буфера, обрабатывает их через фильтр и записывает вывод в блок нисходящего потока (демодулятор, анализатор спектра и т. д. Для фильтрации IIR переменные состояния (прошлые входы и выходы) должны сохраняться между партиями образцов. Это часто делается с использованием кольцевых буферов или статических массивов. Функция фильтра называется один раз на блок выборки, обновление состояния для следующего блока. Задержка, введенная фильтрами IIR, является детерминированной и может управляться в пределах общего времени системы.
Приложения в управлении спектром
Управление спектром охватывает широкий спектр деятельности — от координации нормативных актов до смягчения помех в режиме реального времени. Фильтры ИДК обеспечивают несколько ключевых возможностей в SDR-диспетчерах спектра:
- Подавление помех: Узкополосные интерфераторы (например, телевизионный передатчик, просачивающийся в сотовую полосу) могут быть удалены с помощью фильтра IIR выемки, настроенного на частоту помех. Резкое отклонение фильтров IIR идеально здесь, поскольку оно удаляет помехи, минимально влияя на соседние сигналы.
- Выбор канала: В многодиапазонном SDR-приемнике фильтры IIR служат фильтрами выбора канала, изолирующими желаемый канал связи от соседних каналов.Крутой откат эллиптической конструкции особенно полезен, когда полосы защиты узкие.
- Адаптивная фильтрация: В когнитивных радиоприложениях SDR должен ощущать спектр и адаптировать его фильтрацию в реальном времени.Адаптивный IIR-фильтр может обновлять свои коэффициенты на основе принятой статистики сигналов, например, с помощью алгоритма рекурсивных наименьших квадратов (RLS), для отслеживания и отмены изменяющихся во времени помех.
- Динамический спектральный доступ: Когда вторичный пользователь оппортунистически получает доступ к частоте простоя первичного пользователя, высококачественный фильтр IIR полосы пропускания гарантирует, что вторичная передача не перетекает в соседние занятые полосы. Это повышает спектральную эффективность при защите первичных действующих лиц.
- Улучшение отношения сигнал/шум: Предварительная фильтрация с фильтром IIR с низким пропуском или полосовым пропуском уменьшает внеполосный шум, улучшая SNR слабых сигналов. Это имеет решающее значение для приложений зондирования спектра, которые должны обнаруживать сигналы вблизи шумового пола.
Для более глубокого погружения в адаптивные методы фильтрации обратитесь к адаптивной фильтрующей документации MathWorks.
Соображения в отношении эффективности
Хотя IIR-фильтры предлагают вычислительные преимущества, они предлагают несколько компромиссов производительности, которыми инженеры SDR должны тщательно управлять:
Эффекты стабильности и конечной длины слова
Как отмечалось ранее, полюса должны оставаться внутри единичного круга. В системах с фиксированной точкой квантование коэффициентов может смещать полюса, потенциально вызывая нестабильность. Двойная точность плавающей точки устраняет этот риск для большинства конструкций, но идет при более высокой стоимости оборудования. Практическое правило: сохранять порядки фильтра ниже 10 (использовать каскадные биквады) и имитировать с квантованными коэффициентами перед развертыванием.
Численность точности
Фильтры ИКП накапливают шум за счет округления после каждого умножения. Для фильтров высокого порядка это может ухудшить SNR выходного сигнала. Использование биквадных каскадов минимизирует это, поскольку каждая ступень перекванивает только собственное состояние. Кроме того, масштабирование входного сигнала для предотвращения переполнения в реализациях с фиксированной точкой имеет важное значение.
Группа задерживается
Фильтры ИИР имеют нелинейный фазовый отклик, то есть различные частотные компоненты испытывают различные задержки. Это может искажать форму волны модулированного сигнала, потенциально вызывая интерсимволические помехи в цифровых коммуникациях. Для приложений, где линейная фаза имеет решающее значение (например, фазово-модулированные сигналы), могут быть предпочтительны фильтры ФИР или эквалайзер фаз полного прохода может быть каскадизирован с фильтром ИИР для линеаризации групповой задержки по полосе пропускания. Компромиссом является повышенная вычислительная нагрузка.
Вычислительная пропускная способность
Фильтры IIR не могут быть легко распараллелены, поскольку каждый вывод зависит от предыдущих выводов. Однако, поскольку они требуют гораздо меньшего количества кранов, чем фильтры FIR, они часто достигают более высокой общей пропускной способности для той же селективности. В массивно параллельных архитектурах SDR (например, графических процессорах) последовательный характер IIR может стать узким местом. В таких случаях разработчики могут использовать обработку блоков или приблизить IIR с FIR большей длины для использования параллелизма.
Пример: Фильтр узкополосной выемки для отторжения помех
Рассмотрим СПЗ мониторинга спектра, который принимает широкополосный сигнал (например, полоса пропускания 20 МГц) и должен обнаруживать слабый первичный сигнал пользователя на определенной частоте. Сильный узкополосный интерферентор (например, широковещательная FM-станция) появляется на частоте 10,5 МГц внутри полосы. Используя фильтр выемки IIR второго порядка шириной 100 кГц при -3 дБ и глубиной 40 дБ, система может подавить интерфератор, оставляя остальную часть спектра в основном нетронутой. Коэффициенты фильтра вычисляются через размещение полюс-ноль: два нуля на единичном круге под углом, соответствующим 10,5 МГц (скорость отбора проб предполагается 40 МГц), и два полюса внутри, но близко к нулю, для достижения резкой выемки. Программное обеспечение реализует два каскадных биквадных сечения (4-й порядок в целом) для более глубокой выемки. При тестировании фильтр выемки уменьшает интерфератор более чем на 50 дБ, позволяя обнаруживать сигнал первичного пользователя
Для практического руководства по проектированию фильтров выемки на Python см. SciPy Cookbook: Notch Filter.
Будущие направления
Роль фильтров ИДК в СПЗ будет и далее развиваться в соответствии с новыми тенденциями:
- Адаптивные и усовершенствованные фильтры машинного обучения:] Системы SDR все чаще включают машинное обучение для обнаружения закономерностей в использовании спектра. Адаптивные фильтры IIR с обновлениями коэффициентов, приводимыми в действие нейронными сетями, могут обрабатывать нестационарные помехи, такие как сигналы скачки частоты или динамическая заполняемость канала.
- FPGA и Hardware Acceleration: Полевые программируемые затворные массивы (FPGA) могут реализовывать несколько каскадных биквадратных этапов параллельно, обрабатывая потоки выборки с детерминированной задержкой. Тенденция к гетерогенным вычислениям (CPU + FPGA) в платформах SDR сделает фильтры IIR высокого порядка более практичными в режиме реального времени.
- Мониторинг широкополосного спектра: По мере увеличения полосы пропускания (например, 5G Новые радиоканалы 400 МГц) для ченнелинга потребуются IIR-фильтры — разделение широкополосного диапазона на узкие срезы. Полифазные фильтрующие банки, в которых часто используются IIR-подфильтры, предлагают эффективные канализаторы для сканирования спектра.
- Интеграция с базами данных спектра: Автоматизированные системы координации частот (например, для телевизионных белых пространств) используют датчики SDR, работающие с фильтрами IIR, для обнаружения и сообщения о заполняемости. Улучшенная производительность фильтра непосредственно повышает надежность баз данных с общим спектром.
Для получения дополнительной информации об архитектурах SDR обратитесь к RTL-SDR.com для практических проектов и ресурсов сообщества.
Заключение
Внедрение IIR-фильтров в программно-определяемые радиосистемы является одновременно искусством и наукой. Их эффективность делает их незаменимыми для задач управления спектром, где вычислительные ресурсы ограничены, а реакция в реальном времени обязательна. Понимая методы проектирования — от аналоговых прототипов до реализации в дискретное время — и учитывая стабильность, квантование и задержку групп, инженеры могут развертывать IIR-фильтры, которые чисто извлекают сигналы и подавляют помехи в переполненных спектральных средах. По мере продвижения беспроводных технологий продолжающиеся инновации в архитектурах IIR-фильтра останутся краеугольным камнем гибкого и интеллектуального управления спектром.
Полный учебник по цифровой обработке сигналов см. в Понимание цифровой обработки сигналов Ричарда Г. Лайонса .