Главная - Данные
Цифровые фильтры с конечной импульсной характеристикой. Вопрос

Физически осуществимые цифровые фильтры работают в реальном масштабе времени, для формирования выходного сигнала в i-ый дискретный момент времени могут использовать следующие данные:

1. Значения выходного сигнала в текущей момент времени; так же некоторое количество прошлых отсчетов входного сигнала: x(i-1), x(i-2), x(i-m);

2. Некоторое количество предыдущих отсчетов выходного сигнала: y(i-1), y(i-2), y(i-n).

Целые числа m и n определяют порядок цифрового фильтра. Фильтры классифицируются в зависимости от того, как используется информация о прошлом состоянии системы.

Фильтры с КИХ или не рекурсивные фильтры, работающие в соответствии со следующим алгоритмом.

M – порядок фильтра.

Не рекурсивный фильтр производит взвешивание, суммирование предыдущих отсчётов входного сигнала. Прошлые отсчеты выходного сигнала не используются.

H(z) – системная функция.

Системная функция имеет m нулей и один полюс, при z=0.

Алгоритм функционирования цифрового фильтра с КИХ показан на рис.45.

Основными элементами фильтра служат блоки задержки отсчетов значений на 1 интервал дискретизации .

Масштабные блоки, выполняющие умножение на весовые коэффициенты в цифровой форме. С выхода масштабных блоков сигнал поступает в сумматор, где вычисляется выходной сигнал.

Данная структурная схема не является электрической, а служит графическим изображением алгоритма обработки сигнала на ЭВМ. Выходными и входными данными для такого алгоритма служат массивы чисел.

Применим к системным функциям обратное Z – преобразование и найдем импульсную характеристику:

(импульсная характеристика фильтра).

Импульсная характеристика КИХ фильтра содержит конечное число элементов и данный фильтр всегда устойчив.

Найдем частотную характеристику выполнив подстановку

T=1/fs – интервал дискретизации.

Рассмотрим наиболее простые из цифровых фильтров - фильтры с постоянными параметрами.

На вход цифрового фильтра подается входной сигнал в виде последовательности числовых значений, следующих с интервалом (рис. 4.1, а). При поступлении каждого очередного значения сигнала в цифровом фильтре производится расчет очередного значения выходного сигнала Алгоритмы расчета могут быть самыми разнообразными; в процессе расчета, кроме последнего значения входного сигнала могут использоваться

предыдущие значения входного и выходного сигналов: Сигнал на выходе цифрового фильтра также представляет собой последовательность числовых значений, следующих с интервалом . Этот интервал является единым для всего устройства цифровой обработки сигналов.

Рис. 4.1. Сигнал на входе и на выходе цифрового фильтра

Поэтому если на вход цифрового фильтра подать простейший сигнал в виде единичного импульса (рис. 4.2, а)

то на выходе получим сигнал в виде дискретной последовательности числовых значений, следующих с интервалом

По аналогии с обычными аналоговыми цепями назовем этот ответный сигнал импульсной характеристикой фильтра (рис. 4.2, б). В отличие от импульсной характеристики аналоговой цепи функция является безразмерной.

Рис. 4.2. Единичный импульс и импульсная характеристика цифрового фильтра

Подадим на вход фильтра произвольный дискретный сигнал рис. 4.1, а), представляющий собой набор дискретных значений

Под действием первого элемента на выходе фильтра формируется последовательность умноженная на при действии последовательность умноженная на и сдвинутая вправо на величину и т. д. В результате на выходе получим последовательность причем

Таким образом, выходной сигнал определяется как дискретная свертка входного сигнала и импульсной характеристики. В этом отношении цифровые фильтры аналогичны обычным цепям, где выходной сигнал равен свертке входного сигнала и импульсной характеристики.

Формула (4.1) представляет собой алгоритм цифровой фильтрации. Если импульсная характеристика фильтра описывается последовательностью с конечным числом членов, то фильтр может быть реализован в виде схемы, изображенной на рис. 4.3. Здесь буквой обозначены элементы задержки сигнала на время (на одну ячейку); -элементы, умножающие сигнал на соответствующий коэффициент.

Схема, изображенная на рис. 4.3, не является электрической схемой цифрового фильтра; эта схема представляет собой графическое изображение алгоритма цифровой фильтрации и показывает последовательность арифметических операций, выполняемых при обработке сигнала.

Рис. 4.3. Схема нерекурсивного цифрового фильтра

Для цифровых фильтров, обрабатывающих сигналы в виде абстрактных числовых последовательностей, понятие «задержка на время » является не совсем корректным. Поэтому элементы, задерживающие сигнал на одну ячейку, на схемах цифровых фильтров обычно отмечают символом обозначающим задержку сигнала на языке -преобразований. В дальнейшем будем придерживаться этого обозначения.

Вернемся к схеме цифрового фильтра, изображенной на рис. 4.3, Такие фильтры, где для расчета используются лишь значения входного сигнала, называют простыми или нерекурсивными.

Алгоритм нерекурсивного фильтра легко записать, если известна импульсная характеристика фильтра. Для практической реализации алгоритма необходимо, чтобы импульсная характеристика содержала конечное число членов. Если импульсная характеристика содержит бесконечное число членов, но они быстро убывают по величине, то можно ограничиться конечным числом членов, отбросив те, значения которых малы. В случае, если элементы импульсной характеристики не убывают по величине, алгоритм нерекурсивного фильтра оказывается нереализуемым.

Рис. 4.4. -цепь

В качестве примера рассмотрим простейший цифровой фильтр, аналогичный -цепи (рис. 4.4). Импульсная характеристика -цепи имеет вид

Чтобы записать импульсную характеристику соответствующего цифрового фильтра, в выражении следует заменить на Однако импульсная характеристика -цепи имеет размерность а импульсная характеристика цифрового фильтра должна быть безразмерной. Поэтому опустим множитель в выражении (4.2) и запишем импульсную характеристику цифрового фильтра в виде

Такая импульсная характеристика содержит бесконечно много членов, но их величина убывает по экспоненциальному закону, и можно ограничиться членами, выбирая таким, чтобы

Теперь можно записать выражение для сигнала на выходе фильтра

Это выражение является одновременно алгоритмом цифрового фильтра. Схема этого фильтра представлена на рис. 4.5.

Второй подход к анализу процессов в цифровых фильтрах аналогичен операторному методу анализа обычных аналоговых цепей, только вместо преобразования Лапласа используют -преобразование.

Рис. 4.5. Схема нерекурсивного цифрового фильтра, аналогичного -цепи

Определим параметр цифрового фильтра, аналогичный передаточной функции электрической цепи. Для этого применим -преобразование к импульсной характеристике цифрового фильтра:

Функцию называют системной функцией фильтра.

В соответствии с выражением (4.1) сигнал на выходе цифрового фильтра равен дискретной свертке входного сигнала и импульсной характеристики фильтра. Применяя к этому выражению теорему о -преобразовании свертки, получим, что -преобразование выходного сигнала равно -преобразованию входного сигнала, умноженному на системную функцию фильтра:

Таким образом, системная функция играет роль передаточной функции цифрового фильтра.

В качестве примера найдем системную функцию цифрового фильтра первого порядка, аналогичного -цепи:

Третий метод анализа прохождения сигналов через цифровые фильтры аналогичен классическому методу дифференциальных уравнений. Рассмотрим этот метод на примере цепей порядка.

Простейшей аналоговой цепью 1-го порядка является -цепь (см. рис. 4.4), прохождение сигналов через которую описывается дифференциальным уравнением

Для дискретной цепи вместо дифференциального уравнения (4.8) должно быть записано разностное уравнение, где входной и выходной сигналы задаются для дискретных моментов времени а вместо производной должна фигурировать разность соседних значений сигнала . Для дискретной цепи 1-го порядка разностное уравнение может быть записано в достаточно общем виде

Применим к уравнению -преобразование

откуда найдем системную функцию фильтра

Формула (4.10) является достаточно общим выражением для системной функции цифрового фильтра 1-го порядка. При она совпадает с полученным ранее выражением (4.7) для системной функции цифрового фильтра, эквивалентного -цепи.

Найдем алгоритм цифровой фильтрации, соответствующий системной функции (4.10). Для этого решим уравнение (4.9) относительно

Эквивалентная схема этого алгоритма приведена на рис. 4.6. По сравнению с нерекурсивным фильтром (см. рис. 4.5) здесь добавилась своеобразная «цепь обратной связи», которая означает, что значения выходного сигнала используются в последующих

Рис. 4.6. Схема рекурсивного цифрового фильтра, аналогичного -цепи

расчетах. Фильтры такого типа называют рекурсивными.

Алгоритм (4.11) соответствует фильтру, который полностью эквивалентен рассмотренному ранее нерекурсивному фильтру. Но для определения одного значения выходного сигнала с помощью алгоритма нерекурсивного фильтра (4.4) требуется выполнить операций, а при использовании алгоритма рекурсивного фильтра (4.11) - только две операции. В этом состоит основное преимущество рекурсивных фильтров. Кроме того, рекурсивные фильтры позволяют производить обработку сигнала с более высокой точностью, так как они позволяют более правильно реализовать импульсную характеристику без отбрасывания ее «хвоста». Рекурсивные фильтры позволяют реализовать алгоритмы, вообще нереализуемые с помощью нерекурсивных фильтров. Например, при фильтр, работающий по схеме рис. 4.6, является, по существу, идеальным накопителем-интегратором и имеет импульсную характеристику вида Фильтр с такой характеристикой по нерекурсивной схеме не может быть реализован.

Рассмотренные примеры показывают, что нет смысла применять нерекурсивные алгоритмы для создания цифровых фильтров с импульсной характеристикой большой протяженности. В этих случаях целесообразнее использовать рекурсивные фильтры.

Область применения нерекурсивных алгоритмов - это реализация цифровых фильтров с импульсной характеристикой, содержащей небольшое число членов. Примером может служить простейший дифференциатор, сигнал на выходе которого равен приращению входного сигнала:

Схема такого цифрового фильтра изображена на рис. 4.7.

Рис. 4.7. Схема простейшего цифрового дифференциатора

Рассмотрим теперь цифровой фильтр общего вида, который описывается уравнением

Это уравнение можно рассматривать и как разностное уравнение порядка и как алгоритм цифровой фильтрации, если его переписать иначе, а именно

Рис. 4.8. Схема рекурсивного цифрового фильтра порядка

Алгоритму (4.13) соответствует схема, изображенная на рис. 4.8. Найдем системную функцию такого фильтра. Для этого применим к уравнению -преобразование:

Выражение (4.14) позволяет установить связь между шачениями элементов схемы фильтра и системной функцией. Коэффициенты в числителе системной функции определяют значения коэффициентов при

(в нерекурсивной части фильтра), а коэффициенты в знаменателе определяют рекурсивную часть фильтра.

Все началось с того, что другу друга моего друга потребовалась помощь с этими самыми фильтрами. Джедайскими путями слухи об этом дошли до меня, я отписался в комментариях к посту по ссылке. Вроде помогло. Ну, я надеюсь.

Эта история всколыхнула во мне воспоминания о третьем, что ли, курсе, когда я сам сдавал ЦОС, и подвигла написать статью для всех тех, кому интересно, как же работают цифровые фильтры, но кого закономерно пугают забористые формулы и психоделичные рисунки в (я уже не говорю про учебники).

Вообще, по моему опыту, ситуация с учебниками описывается известной фразой про то, что за деревьями бывает не видно леса. И то сказать, когда тебя сходу начинают пугать Z-преобразованием и формулами с делением полиномов, которые часто бывают длиннее двух досок, интерес к теме иссякает крайне быстро. Мы же начнем с простого, благо для понимания происходящего совсем необязательно расписывать длинные комплексные выражения.

Итак, для начала несколько простых базовых понятий.

1. Импульсная характеристика.

Положим, у нас есть коробка с четырьмя выводами. Мы без понятия, что там внутри, но зато точно знаем, что два левых вывода — вход, а два правых — выход. Давайте попробуем подать на нее очень короткий импульс очень большой амплитуды и посмотрим, что будет на выходе. Ну а чего, все равно что внутри этого четырехполюсника — неясно, потому как его описывать — непонятно, а так хоть что-то увидим.

Тут надо сказать, что короткий (вообще говоря, бесконечно короткий) импульс большой (вообще говоря, бесконечной) амплитуды в теории называется дельта-функцией. К слову, самое смешное, что интеграл от этой бесконечной функции равен единице . Такая вот нормировка.

Так вот, то, что мы увидели на выходе четырехполюсника, подав на вход дельта-функцию, называется импульсной характеристикой этого четырехполюсника. Пока, правда, непонятно чем она нам поможет, но давайте сейчас просто запомним полученный результат и перейдем к следующему интересному понятию.

2. Свертка.

Если говорить коротко, то свертка — это математическая операция, сводящаяся к интегрированию произведения функций:

Обозначается, как видно, звездочкой. Также видно, что при свертке одна функция берется в своем «прямом» порядке, а вторую мы проходим «задом наперед». Разумеется, в более ценном для человечества дискретном случае свертка, как и всякий интеграл, переходит в суммирование:

Казалось бы, некая унылая математическая абстракция. Однако на самом деле свертка — пожалуй самое волшебное явление этого мира, по удивительности уступающее разве только появлению человека на свет, с той лишь разницей, что откуда берутся дети большинство людей узнает в самом крайнем случае годам к восемнадцати, в то время как про то, что такое свертка и чем она полезна и удивительна, огромная часть населения Земли совершенно не догадывается всю свою жизнь.

Так вот, мощь этой операции заключается в том, что если f — любой произвольный входной сигнал, а g — импульсная характеристика четырехполюсника, то результат свертки этих двух функций будет аналогичен тому, что мы получили бы, пропустив сигнал f через этот четырехполюсник.

То есть, импульсная характеристика представляет собой полный слепок всех свойств четырехполюсника по отношению к входному воздействию, и свертка входного сигнала с оной позволяет восстановить соответствующий ему выходной сигнал. Как по мне, это просто потрясающе!

3. Фильтры.

С импульсной характеристикой и сверткой можно творить много интересного. Например, если сигнал звуковой, можно организовывать реверберацию, эхо, хорус, флэнджер и много, много другого; можно дифференцировать и интегрировать… В общем, творить что угодно. Для нас же сейчас важнее всего то, что, разумеется, с помощью свертки так же легко получаются и фильтры.

Собственно цифровой фильтр и есть свертка входного сигнала с импульсной характеристикой, соответствующей желаемому фильтру.

Но, разумеется, импульсную характеристику надо как-то получить. Мы, конечно, выше уже разобрались как ее померять, но в такой задаче толку в этом немного — если мы уже собрали фильтр, зачем еще что-то мерять, можно использовать его как есть. Да и, кроме того, самая главная ценность цифровых фильтров состоит в том, что они могут иметь характеристики, недостижимые (или очень трудно достижимые) в реальности — например, линейную фазу . Так что тут промерять вообще никак, надо просто считать.

4. Получение импульсной характеристики.

В этом месте в большинстве публикаций по теме авторы начинают вываливать на читателя горы Z-преобразований и дробей из полиномов, запутывая его окончательно. Я не буду этого делать, просто кратко поясню, к чему все это и почему на практике для прогрессивной общественности оно не сильно необходимо.

Предположим, мы определились, чего хотим от фильтра, и составили уравнение, которое его описывает. Далее, чтобы найти импульсную характеристику, можно подставить в выведенное уравнение дельта-функцию и получить искомое. Единственная проблема состоит в том, как это сделать, ибо дельта-функция во временно й области задается хитрой системой, и вообще там всякие бесконечности. Так что на этом этапе все оказывается страшно непросто.

Вот здесь, бывает, и вспоминают, что существует такая штука как преобразование Лапласа . Само по себе оно не фунт изюму. Единственной причиной того, что его терпят в радиотехнике, как раз и является тот факт, что в пространстве того аргумента, переходом к которому является это преобразование, некоторые вещи действительно становятся проще. В частности, очень легко выражается та самая дельта-функция, которая доставляла нам столько хлопот во временной области — там это просто единица!

Z-преобразование (aka преобразование Лорана) — версия преобразования Лапласа для дискретных систем.

То есть, применив преобразование Лапласа (или Z-преобразование, по необходимости) к функции, описывающей желаемый фильтр, подставив в полученное единицу и преобразовав обратно, мы получим импульсную характеристику. Звучит легко, желающие могут попробовать. Я не рискну, ибо, как уже было сказано, преобразование Лапласа — суровая вещь, особенно обратное. Оставим его на крайний случай, а сами поищем какие-нибудь более простые способы получения искомого. Их есть несколько.

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

Тут, правда, не обойдется без проблем. Во-первых, импульсная характеристика, которую мы получим, скорее всего будет бесконечной (не буду пускаться в объяснения почему; так устроен мир), так что нам придется волевым решением обрезать ее в какой-то точке (положив равной нулю дальше этой точки). Но это не пройдет просто так — следствием этого, как и следует ожидать, будут искажения АЧХ рассчитанного фильтра — она станет волнистой, а частотный срез размоется.

Для того, чтобы минимизировать эти эффекты, к укороченной импульсной характеристике применяются различные сглаживающие оконные функции. В результате АЧХ обычно размывается еще больше, зато исчезают неприятные (особенно в полосе пропускания) осцилляции.

Собственно, после такой обработки мы получаем рабочую импульсную характеристику и можем строить цифровой фильтр.

Второй метод рассчета еще проще — импульсные характеристики наиболее популярных фильтров давно выражены в аналитическом виде за нас. Остается только подставить свои значения и применить к результату оконную функцию по вкусу. Так что можно даже не считать никаких преобразований.

Ну и, конечно, если стоит цель эмулировать поведение какой-то конкретной схемы, можно получить ее импульсную характеристику в симуляторе:

Здесь я подал на вход RC-цепи импульс напряжением 100500 вольт (да, 100.5 кВ) длительностью 1 мкс и получил ее импульсную характеристику. Понятно, что в реальности такого не сделать, но в симуляторе этот метод, как видно, прекрасно работает.

5. Примечания.

Вышесказанное насчет укорочения импульсной характеристики относилось, конечно, к т.н. фильтрам с конечной импульсной характеристикой (FIR/КИХ-фильтрам). Они обладают кучей ценных свойств, включая линейную фазу (при определенных условиях построения импульсной характеристики), которая дает отсутствие искажений сигнала при фильтрации, а также абсолютную стабильность. Есть и фильтры с бесконечной импульсной характеристикой (IIR/БИХ-фильтры). Они менее ресурсоемки в смысле рассчетов, но уже не имеют перечисленных преимуществ.

В следующей статье я надеюсь разобрать простой пример практической реализации цифрового фильтра.



 


Читайте:



Обновление Android Oreo для Samsung Galaxy (2018)

Обновление Android Oreo для Samsung Galaxy (2018)

21 августа 2017 года состоялась долгожданная презентация новой операционной системы компании Google. Платформа получила запоминающееся название -...

Как узнать скрытый номер

Как узнать скрытый номер

Сейчас актуальным вопрос является вопрос со скрытыми номерами. Наверняка, Вам поступали звони от скрытых номеров. Неприятно, правда? Особенно,...

Тарифный план maxi smart мтс

Тарифный план maxi smart мтс

С того момента как тариф «Смарт» стал доступен для активации, он претерпел множество изменений. Они касаются размера абонентской платы, количества...

Автоматические настройки интернета "Мегафон": инструкция для пользователей

Автоматические настройки интернета

Чаще всего ручная регулировка интернета на современных сим-картах не требуется – достаточно включить передачу данных в настройках устройства и...

feed-image RSS