ОСОБЛИВОСТІ РЕАЛІЗАЦІЇ ЦИФРОВОЇ ФІЛЬТРАЦІЇ З ЗМІНОЮ ЧАСТОТИ ДИСКРЕТИЗАЦІЇ - Сучасні

Вступ

У процесі цифрової обробки сигналів нерідко виникає завдання фільтрації сигналу дуже вузькому частотному діапазоні. Прикладом такої задачі може бути ситуація, коли сигнал містить кілька складових на близьких частотах, і потрібно виділити одну з них. Для цього необхідно спроектувати цифровий фільтр із дуже вузькими відносними смугами пропускання та переходу. Залежно від розташування складових сигналу, це може бути фільтр нижніх, верхніх частот, смуговий або фільтр, що загороджує. Пряме проектування таких пристроїв часто призводить до фільтрів дуже високих порядків, практична реалізація яких нераціональна, або неможлива. Використання одного звичайного фільтра з кінцевою імпульсною характеристикою (КІХ) для вищеописаних завдань недоцільно з точки зору продуктивності системи та кількості арифметичних операцій, необхідних для отримання одного відліку вихідного сигналу. Альтернативний шлях вирішення такого завдання полягає у використанні ідей багаточастотної дискретизації – послідовне проходження сигналу через каскади фільтрів зі зміною частоти дискретизації.

КІХ-фільтр та децимація

КІХ-фільтр, структура якого зображена на рис.1, повинен працювати відповідно до рівняння, що задає згортку [3]:

, (1)

де h(k) – масив коефіцієнтів фільтра та x(n-k) – вхідний масив даних фільтра.

частоти

Мал. 1. Фільтр із кінцевою імпульсною характеристикою порядку N

Число N у рівнянні є числом ланок і визначає ефективність фільтра. КІХ-фільтр із числом ланок N вимагає N циклів (операцій) множення із накопиченням.

Для зменшення кількості виконуваних операцій використовуються 2 підходи: каскадна фільтрація ззміною частоти дискретизації на виході кожного каскаду, коли кожен каскад є КІХ-фільтр і дециматор, і фільтрація, суміщена з децимацією.

Децимація, зазвичай, використовують у високошвидкісних системах зниження частоти дискретизації вхідного сигналу [4]. Концепція децимації проілюстровано на рис.2. Верхня діаграма показує вихідний сигнал із смугою fa, який дискретизований із частотою fs. Діаграма, що містить відповідний спектр, показує, що частота дискретизації значно перевищує частоту, необхідну для збереження інформації, що міститься у смузі fa, тобто сигнал із смугою fa є надмірно дискретизованим сигналом. Смуга між частотами fa та fs-fa не містить жодної корисної інформації. Нижня діаграма показує той же сигнал, але частота дискретизації його зменшена з коефіцієнтом М.

особливості

Мал. 2. Децимація дискретного сигналу з коефіцієнтом M

Реалізація каскадної структури фільтрів

Каскадна структура фільтрації представлена ​​на рис. 3.

частоти

Мал. 3. Процес багатокаскадної децимації

Як говорилося вище, у разі кожен каскад є власне фільтр (hi) і дециматор (Mi). У каскадної структурі частота перетворюється на кілька етапів. У процесі проходу через каскадний фільтр частота дискретизації поступово знижується, що призводить до істотного зниження вимог до фільтрів захисту від накладання спектрів і придушення дзеркальних частот кожного каскаду.

Загальний крок децимації виражається як добуток менших кроків [1]:

, (2)

де ціле число Мi - крок децимації N-го каскаду. Кожен каскад – це незалежний дециматор, позначений пунктирним прямокутником. Якщо М»1, багатокаскадний підхідпризводить до значного зниження вимог до обчислень та пам'яті, послаблення характеристик фільтрів, що використовуються в дециматорах, а, отже, використання фільтрів, менш чутливих до ефектів кінцевої розрядності.

Названі переваги можливі за рахунок збільшення складності розробки та реалізації системи.

Вибір коефіцієнта децимації та кількості каскадів визначається залежно від умов конкретного завдання та параметрів системи. Однак, слід уважно підходити до вибору коефіцієнта децимації. При децимації може спостерігатися ефект накладання – елайзинг (рис.4), що у накладенні спектрів сигналів друг на друга.

цифрової

Мал. 4. Ілюстрація ефекту накладання під час децимації:

а) дискретний спектр вихідного сигналу; b) дискретний спектр сигналу після децимації

Реалізуючи систему каскадної фільтрації, необхідно отримати оптимальну кількість каскадів, при якому обчислювальні витрати для досягнення необхідної частоти дискретизації будуть мінімізовані. Для розрахунку необхідної кількості каскадів розроблено наступний алгоритм.

Наприклад, для виділення вузькосмугового сигналу 5 кГц із сигналу з частотою дискретизації 12,5 МГц необхідно провести проріджування в 2500 разів. Спочатку визначається вихідний коефіцієнт децимації (для частот 12,5 МГц і 5 кГц він дорівнюватиме, відповідно, 2500). Далі цей коефіцієнт розбивається на прості співмножники. Для цього реалізовано алгоритм знаходження простих помножувачів за методом Монте-Карло. У самому алгоритмі для знаходження найменшого спільного дільника (НДД) використано алгоритм Евкліда [2].

Після цього достатньо знайти таку комбінацію творів співмножників, сума яких буде мінімальною. Але так як всі співмножники, отримані вВ результаті роботи алгоритму, прості, то сума цих співмножників і буде шуканою.

(3)

Виняток становить випадок, коли виходить два простих помножувача рівних 2. У разі 2+2 = 2*2, тобто. з точки зору складності структури каскадного фільтра оптимально використовувати один каскад з коефіцієнтом децимації рівним 4 ніж два каскаду з коефіцієнтами децимації рівними 2.

Так як сума отриманих коефіцієнтів мінімальна, мінімальним виявиться і кількість циклів множення з накопиченням, що використовуються в процесі фільтрації. Так, наприклад, для коефіцієнта децимації 2500, що використовується в комплексі, отримуємо наступну комбінацію співмножників:

(4)

Однак після кожного каскаду децимація сигналу проводиться з малим коефіцієнтом децимації. Тому на наступний каскад сигнал приходить все ще з великою частотою дискретизації, тобто. кількість операцій множення з накопиченням досі залишається досить великим.

Розглянемо приклад отримання відліку 1 сигналу з частотою дискретизації 5 кГц з сигналу з частотою дискретизації 12,5 МГц за допомогою описаного вище каскадного фільтра. Один відлік відфільтрованого сигналу можна отримати із 2500 відліків вихідного. Складемо таблицю (табл. 1) кількості операцій кожному каскаді.

Табл. 1. Кількість операцій на кожному каскаді