Цифровые фильтры ачх. Вопрос. Цифровые фильтры с конечной импульсной характеристикой (КИХ). Сглаживание данных. Медианная фильтрация

  • 7 Общие сведения о сигналах. Классификация сигналов.
  • 8 Формы представления сигналов. Аналоговые, дискретные, цифровые сигналы.
  • 9 Детерминированные и случайные сигналы: периодические, почти периодические, переходные, стационарные, эргодические, нестационарные.
  • 10 Вычисление числовых характеристик сигналов
  • 11 Параметры, характеризующие форму сигнала
  • 12 Интегрирование полигармонических сигналов в частотной области
  • 13 Формирование периодических сигналов. Табличный способ.
  • 14 Формирование полигармонических сигналов.
  • 15 Единичный импульс. Представление дискретных сигналов.
  • 16 Дискретизация непрерывных сигналов. Теорема Котельникова. Частота Найквиста.
  • 17 Линейные системы, инвариантные к сдвигу.
  • 18 Импульсная характеристика линейных систем. Устойчивость и физическая реализуемость.
  • 19 Ряд Фурье и интегральное преобразование Фурье. Ряд Фурье в комплексной форме.
  • 20 Преобразование Фурье для прямоугольного импульса.
  • 21 Представление периодической последовательности единичных импульсов в частотной области.
  • 23 Быстрое преобразование Фурье. Алгоритм с прореживанием по времени. (цос_материалы_лекций 24-30)
  • 24 Алгоритм двоичной инверсии. Базовая операция бпф. (26-30)
  • 25 Применение бпф для обработки действительных последовательностей. (цос_материалы_лекций 29-31)
  • 26 Понятие линейной дискретной системы//метода 8.1
  • 27 Импульсная характеристика линейных систем. Устойчивость и физическая
  • 28. Цифровая свертка сигналов.
  • 29 Линейные разностные уравнения с постоянными коэффициентами.
  • 30 Z-преобразование: реализация, свойства, применение.
  • 32 Типовые z-преобразования. Z-преобразование цифрового единичного скачка.
  • 33 Типовые z-преобразования. Z-преобразование убывающей дискретной экспоненты.
  • 34 Обратное z-преобразование. Способы вычисления.
  • 35 Передаточная функция линейной дискретной системы. Определение по импульсной характеристике. (См. Вопрос)
  • 36 Передаточная функция линейной дискретной системы. Определение по разностному уравнению. Нули и полюсы.
  • 37 Передаточная функция звена первого порядка.
  • 38 Передаточная функция звена второго порядка.
  • 39 Частотная характеристика линейной дискретной системы.
  • 40 Расчет ачх и фчх по передаточной функции.
  • 41 Расчет ачх и фчх звена первого порядка.
  • 42 Расчет ачх и фчх звена второго порядка.
  • 43. Понятие цифрового фильтра.
  • 44 Этапы проектирования цифрового фильтра.
  • 45 Обеспечение линейности фчх цифрового фильтра.
  • 46 Цифровые фильтры с бесконечной импульсной характеристикой. Метод билинейного z-преобразования расчета бих-фильтров низкой частоты.
  • 47 Цифровые фильтры с бесконечной импульсной характеристикой. Метод билинейного z-преобразования расчета бих-фильтров высокой частоты.
  • 48 Цифровые фильтры с конечной импульсной характеристикой. Расчет ких-фильтров.
  • 49 Сглаживание данных. Скользящее усреднение.
  • 50 Сглаживание данных. Сглаживание параболами.
  • 51 Сглаживание данных. Сглаживание Спенсера.
  • 52 Сглаживание данных. Медианная фильтрация.
  • 53 Определение параметров тренда методом наименьших квадратов.
  • 54 Понятие вейвлет-преобразования, отличие от преобразования Фурье.
  • 55 Математическое описание вейвлетных функций.
  • 56 Расчет дискретных вейвлетов.
  • 48 Цифровые фильтры с конечной импульсной характеристикой. Расчет ких-фильтров.

    Фильтр с конечной импульсной характеристикой (Нерекурсивный фильтр , КИХ-фильтр ) или FIR-фильтр (FIR сокр. от finite impulse response - конечная импульсная характеристика) - один из видов линейных цифровых фильтров, характерной особенностью которого является ограниченность по времени его импульсной характеристики (с какого-то момента времени она становится точно равной нулю). Такой фильтр называют ещё нерекурсивным из-за отсутствия обратной связи. Знаменатель передаточной функции такого фильтра - некая константа.

    Разностное уравнение, описывающее связь между входным и выходным сигналами фильтра: гдеP - порядок фильтра,x (n ) - входной сигнал,y (n ) - выходной сигнал, аb i - коэффициенты фильтра. Иными словами, значение любого отсчета выходного сигнала определяется суммой масштабированных значенийP предыдущих отсчетов. Можно сказать иначе: значение выхода фильтра в любой момент времени есть значение отклика на мгновенное значение входа и сумма всех постепенно затухающих откликовP предыдущих отсчетов сигнала, которые всё ещё оказывают влияние на выход (послеP -отсчетов импульсная переходная функция становится равной нулю, как уже было сказано, поэтому все члены послеP -го тоже станут равными нулю). Запишем предыдущее уравнение в более ёмком виде:

    Для того, чтобы найти ядро фильтра положим

    x (n ) = δ(n )

    где δ(n ) - дельта-функция. Тогда импульсная характеристика КИХ-фильтра может быть записана как:

    Z-преобразование импульсной характеристики даёт нам передаточную функцию КИХ-фильтра:

    ]Свойства

    КИХ-фильтр обладает рядом полезных свойств, из-за которых он иногда более предпочтителен в использовании, чем БИХ-фильтр. Вот некоторые из них:

      КИХ-фильтры устойчивы.

      КИХ-фильтры при реализации не требуют наличия обратной связи.

      Фаза КИХ-фильтров может быть сделана линейной

    Прямая форма КИХ фильтра

    КИХ фильтры могут быть реализованы с использованием трех элементов: умножитель, сумматор и блок задержки. Вариант, показанный на рисунке есть прямая реализация КИХ-фильтров типа 1.

    Реализация прямой формы КИХ фильтра

    Пример программы

    Ниже приведен пример программы КИХ-фильтра, написанный на C:

    /* КИХ Фильтр на 128 отводов */

    float fir_filter(float input)

    static float sample;

    acc = 0.0f; /* Аккумулятор */

    /* Умножение с накоплением */

    for (i = 0; i < 128; i++) {

    acc += (h[i] * sample[i]);

    /* Выход */

    /* Смещаем задержаный сигнал */

    for (i = 127; i > 0; i--)

    sample[i] = sample;

    49 Сглаживание данных. Скользящее усреднение.

    50 Сглаживание данных. Сглаживание параболами.

    51 Сглаживание данных. Сглаживание Спенсера.

    52 Сглаживание данных. Медианная фильтрация.

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

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

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

    где - количество точек для арифметического усреднения (нечетное целое число);

    Ое значение функции до обработки;

    Известны и другие, достаточно эффективные способы сглаживания, например, параболами второй степени по пяти, семи, девяти и одиннадцати точкам в соответствии с выражениями:

    или параболами четвертой степени по семи, девяти, одиннадцати и тринадцати точкам:

    В практических применениях дают хорошие результаты другие эффективные способы, например, 15-точечное сглаживание Спенсера:

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

    Для арифметического усреднения

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

    .

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

    Однако смысловое понятие частоты при обработке временных трендов отличается от аналогичного понятия при обработке сигналов. Это объясняется тем, что при исследовании временных трендов интерес представляет не их частотный состав, а вид изменения (увеличение, уменьшение, постоянство, цикличность и т.д.).

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

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

    Рисунок 6.1 - Графики передаточной характеристики

    операции арифметического усреднения для m=5, 7, 9, 11

    Другим интересным алгоритмом сглаживания является медианное усреднение. Его сущность состоит в следующем. В скользящем временном окне, размерности (- целое нечетное число), элементы массива данных упорядочиваются в порядке возрастания, а затем из упорядоченной последовательности удаляется попервых и последних элементов (<). Центральный элемент временного окна из последовательности сглаживаемых данных заменяется значением, вычисляемым как

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

    "

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

    На вход цифрового фильтра подается входной сигнал в виде последовательности числовых значений, следующих с интервалом (рис. 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/БИХ-фильтры). Они менее ресурсоемки в смысле рассчетов, но уже не имеют перечисленных преимуществ.

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

    Лекция №10

    «Цифровые фильтры с конечной импульсной характеристикой»

    Передаточная функция физически реализуемого цифрового фильтра с конечной импульсной характеристикой (КИХ-фильтра) может быть представлена в виде

    (10.1).

    При замене в выражении (10.1) получим частотную характеристику КИХ-фильтра в виде

    (10.2),

    где - амплитудно-частотная характеристика (АЧХ) фильтра,

    - фазо-частотная характеристика (ФЧХ) фильтра.

    Фазовая задержка фильтра определяется как

    (10.3).

    Групповая задержка фильтра определяется как

    (10.4).

    Отличительной особенностью КИХ-фильтров является возможность реализации у них постоянных фазовой и групповой задержек, т.е. линейной ФЧХ

    (10.5),

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

    Для вывода условий, обеспечивающих линейную ФЧХ запишем частотную характеристику КИХ-фильтра с учетом (10.5)

    (10.6).

    Приравнивая действительные и мнимые части этого равенства, получим

    (10.7).

    Разделив второе уравнение на первое, получим

    (10.8).

    Окончательно можно записать

    (10.9).

    Это уравнение имеет два решения. Первое при a =0 соответствует уравнению

    (10.10).

    Это уравнение имеет единственное решение, соответствующее произвольному h (0) (sin (0)=0), и h (n )=0 при n >0. Это решение соответствует фильтру, импульсная характеристика которого имеет единственный ненулевой отсчет в начальный момент времени. Такой фильтр на представляет практического интереса.

    Другое решение найдем для . При этом перекрестно перемножив числители и знаменатели в (10.8) получим

    (10.11).

    Отсюда имеем

    (10.12).

    Поскольку это уравнение имеет вид ряда Фурье, то его решение, если оно существует, является единственным.

    Легко заметить, что решение этого уравнения должно удовлетворять условиям

    (10.13),

    (10.14).

    Из условия (10.13) следует, что для каждого порядка фильтра N существует только одна фазовая задержка a , при которой может достигаться строгая линейность ФЧХ. Из условия (10.14) следует, что импульсная характеристика фильтра должна быть симметричной относительно точки для нечетного N , и относительно средней точки интервала (рис.10.1).



    Частотную характеристику такого фильтра (для нечетного N ) можно записать в виде

    (10.15).

    Делая во второй сумме замену m = N -1- n , получим

    (10.16).

    Поскольку h (n )= h (N -1- n ), то две суммы можно объединить


    (10.17).

    Подставив , получим

    (10.18).

    Если обозначить

    (10.19),

    то окончательно можно записать

    (10.20).

    Таким образом, для фильтра с линейной ФЧХ имеем

    (10.21).

    Для случая четного N аналогично будем иметь

    (10.22).

    Делая замену во второй сумме , получим

    (10.23).

    Делая замену , получим

    (10.24).

    Обозначив

    (10.25),

    будем окончательно иметь

    (10.26).

    Таким образом, для КИХ-фильтра с линейной ФЧХ и четным порядком N можно записать

    (10.27).

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

    При синтезе передаточной функции фильтра исходными параметрами, как правило, являются требования к частотной характеристике. Существует много методик синтеза КИХ-фильтров. Рассмотрим некоторые из них.

    Поскольку частотная характеристика любого цифрового фильтра является периодической функцией частоты, то ее можно представить в виде ряда Фурье

    (10.28),

    где коэффициенты ряда Фурье равны

    (10.29).

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

    Одним из возможных методов получения КИХ-фильтра, аппроксимирующего заданную частотную характеристику заключается в усечении бесконечного ряда Фурье и импульсной характеристики фильтра, полагая что h (n )=0 при . Тогда

    (10.30).

    Физическая реализуемость передаточной функции H (z ) может быть достигнута путем умножения H (z ) на .

    (10.31),

    где

    (10.32).

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

    В качестве примера расчитаем КИХ-фильтр низких частот с частотной характеристикой вида

    (10.33).

    В соответствии с (10.29) коэффициенты импульсной характеристики фильтра описываются выражением

    (10.34).

    Теперь из (10.31) можно получить выражение для передаточной функции

    (10.35),

    где

    (10.36).

    Амплитудные характеристики рассчитанного фильтра для различных N представлены на рис.10.2.

    Рис.10.2

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

    Из рис.10.2 видно, что с увеличением N частота пульсаций растет, а амплитуда уменьшается как на нижних, так и на верхних частотах. Однако амплитуда последней пульсации в полосе пропускания и первой пульсации в полосе задерживания остаются практически неизменными. На практике такие эффекты часто нежелательны, что требует отыскания путей снижения пульсаций Гиббса.

    Усеченную импульсную характеристику h (n ) можно представить в виде произведения требуемой бесконечной импульсной характеристики и некоторой функции окна w (n ) длины n (рис.10.3).

    (10.37).



    В рассмотренном случае простого усечения ряда Фурье используется прямоугольное окно

    (10.38).

    В этом случае частотную характеристику фильтра можно представить в виде комплексной свертки

    (10.39).

    Это значит, что будет «размытой» версией требуемой характеристики .

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

    Спектр функции прямоугольного окна можно записать как

    (10.40).

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

    Рис.10.4

    Поскольку при , то ширина главного лепестка спектра оказывается равной .

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

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

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

    - функция окна должна быть ограничена во времени;

    - спектр функции окна должен наилучшим образом аппроксимировать функцию, ограниченную по частоте, т.е. иметь минимум энергии за пределами основного лепестка;

    - ширина основного лепестка спектра функции окна должна по возможности малой.

    Наиболее часто используют следующие функции окон:

    1. Прямоугольное окно. Рассмотрено выше.

    2. Окно Хэмминга (Hamming) .

    (10.41),

    где .

    При это окно называется окном Хэнна (hanning ).

    3. Окно Блэкмана (Blackman) .


    (10.42).

    4. Окно Бартлета (Bartlett) .

    (10.43).

    Показатели фильтров, построенных с применением указанных функций окон, сведены в таблицу 10.1.

    Окно

    Ширина главного лепестка

    Коэффициент пульсаций, %

    N=11

    N=21

    N=31

    Прямоугольное

    22.34

    21.89

    21.80

    Хэннинга

    2.62

    2.67

    2.67

    Хэмминга

    1.47

    0.93

    0.82

    Блэкмана

    0.08

    0.12

    0.12

    Коэффициент пульсации определяется как отношение максимальной амплитуды бокового лепестка к амплитуде главного лепестка в спектре функции окна.

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

    переходной

    Неравномерность

    пропускания (дБ)

    Затухание в

    заграждения (дБ)

    Прямоугольное

    Хэннинга

    Хэмминга

    Блэкмана

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

    Эту проблему можно решить с помощью окна, предложенного Кайзером (Kaiser ). Функция окна Кайзера имеет вид

    (10.44),

    где a - независимый параметр, , I 0 – функция Бесселя первого рода нулевого порядка, определяемая выражением

    (10.45).

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

    Основными параметрами, задаваемыми при разработке реального фильтра являютя:

    Полоса пропускания - w p ;

    Полоса заграждения - w a ;

    Максимально допустимая пульсация в полосе пропускания – A p ;

    Минимальное затухание в полосе задерживания – A a ;

    -частота дискретизации - w s .

    Эти параметры иллюстрируются на рис.10.5. При этом максимальная пульсация в полосе пропускания определяется как

    (10.46),

    а минимальное затухание в полосе задерживания как

    Сравнительно простая процедура расчета фильтра с окном Кайзера включает в себя следующие этапы:

    1.Определяется импульсная характеристика фильтра h (n ) при условии, частотная характеристика является идеальной

    (10.48),

    где (10.49).

    2. Выбирается параметр d как

    (10.50),

    где (10.51).

    3.Вычисляется истинное значение A a и A p по формулам (10.46), (10.47).

    4.Выбирается параметр a как

    (10.52).

    5.Выбирается параметр D как

    (10.53).

    6.Выбирается наименьшее нечетное значение порядка фильтра из условия

    (10.54),

    (10.57)

    следует, что

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

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

    Абсолютные величины отсчетов входных сигналов фильтра обычно нормированы так, что

    Если анализ проводится для КИХ-фильтра с линейной ФЧХ, то алгоритм вычисления его выходного сигнала может быть следующим

    где - округленные до s k коэффициенты фильтра.

    Этому алгоритму соответствует структурная схема фильтра, представленная на рис.10.5.



    Существуют два способа реализации этого алгоритма. В первом случае все операции умножения выполняются точно и округление произведений отсутствует. В этом случае разрядность произведений равна s in +s k , где s in – разрядность входного сигнала, а s k – разрядность коэффициентов фильтра. В этом случае структурная схема фильтра, представленная на рис.10.5 точно соответствует реальному фильтру.

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

    Если значения отсчетов выходного сигнала фильтра вычисляются по первому способу (с точными значениями произведений), то дисперсия выходного шума определяется как

    (10.66),

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

    (10.67).

    По известным значениям s in и s k можно определить количество разрядов, необходимое для дробной части кода выходного сигнала как

    Если значения отсчетов выходного сигнала вычисляются по второму способу, когда каждое произведение округляется до s д разрядов, то дисперсию шума округления, создаваемого каждым из умножителей можно выразить через разрядность произведения как

    DR in и отношения сигнал-шум на выходе фильтра SNR out . Значение динамического диапазона входного сигнала в децибелах определяется как

    (10.74),

    где A max и A min – максимальная и минимальная амплитуды входного сигнала фильтра.

    Отношение сигнал-шум на выходе фильтра, выраженное в децибелах, определяется как

    (10.75),

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

    (10.77)

    определяет мощность шума на выходе фильтра. Из (10.75) и (10.76) при A max =1 получаем выражение для дисперсии выходного шума фильтра

    (10.78).

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

    Физически осуществимые цифровые фильтры работают в реальном масштабе времени, для формирования выходного сигнала в 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 – интервал дискретизации.