Важный вопрос: является ли линейный цифровой фильтр ЛПП-системой? Нет, в строгом смысле не является. Цифровые устройства оперируют не с дискретными сигналами, значения которых представляются с бесконечной точностью, а с цифровыми, значения которых в памяти представляются с точностью до некоторого конечного шага квантования. Величина шага квантования зависит от разрядности представления данных в памяти. Это приводит к тому, что из-за ошибок округления при выполнении операций умножения и суммирования невозможно обеспечить строгое выполнение условия линейности (1). Эти отклонения от линейности тем меньше, чем больше точность представления цифровых данных (чем больше разрядность кодирования). Тем не менее при описании линейных цифровых фильтров оперируют основными понятиями, введенными для дискретных ЛПП-систем: импульсной характеристикой, частотной характеристикой и передаточной функцией.. Но затем на определенном этапе исследуют, каким образом эти характеристики искажаются за счет ограниченной разрядности представления данных. Эти проблемы касаются прежде всего специализированных цифровых устройств, где для обеспечения особо высокого быстродействия оперируют с данными малой разрядности (8, 12, 16 двоичных разрядов на отсчет). В случае программной реализации цифровых фильтров на обычных компьютерах, особенно при использовании вещественного типа данных (32 или 64 двоичных разряда на отсчет) линейный ЦФ практически можно считать идеальной ЛПП-системой.

Хотя формально для описания ЦФ возможно использовать три характеристики - , требования к ЦФ чаще всего формулируются на языке частотных характеристик: спроектировать цифровой фильтр вот с такой-то частотной характеристикой . Наиболее часто на практике требуется проектировать частотно-избирательные цифровые фильтры, т. е. фильтры, полностью пропускающие гармонические компоненты входного сигнала для одних диапазонов частот и полностью задерживающие для других диапазонов частот. (NB. Исторически сам термин - фильтр – стал применяться в теории сигналов благодаря вышеописанному свойству что-то пропускать а что-то задерживать – «фильтровать»). Имеется также достаточно большой класс задач т. н. оптимальной цифровой фильтрации, когда наблюдаемый физический сигнал представляет собой отклик некоторого истинного сигнала, «испорченного» системами наблюдения, оцифровки и т. д., а необходимо на выходе ЦФ восстановить по возможности точно именно этот истинный сигнал. В этом случае на определенном этапе также становится известной оптимальная частотная характеристика «восстанавливающего» фильтра.

НЕ нашли? Не то? Что вы ищете?

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

Существуют две базовых схемы реализации линейных цифровых фильтров – КИХ-фильтры и БИХ-фильтры.

КИХ –фильтры (фильтры с Конечной Импульсной Характеристикой)

Они основаны на использовании формулы (8), определяющей выход физически реализуемой устойчивой дискретной ЛПП-системы в виде свертки входного сигнала с импульсной характеристикой системы. Если требования к частотным свойствам проектируемого фильтра сформулированы, то возможно согласно (17) обратным преобразованием Фурье от восстановить импульсную характеристику . Однако, она скорее всего окажется бесконечной длительности, т. е. ненулевой при . При этом прямое использование (8) для реализации фильтра невозможно из-за бесконечно больших требований к размеру памяти и быстродействию. Однако известно, что для физически реализуемой системы (см. условие (9) ) по мере увеличения соответствующие отсчеты импульсной характеристики будут все более и более стремиться к нулю. Поэтому можно выбрать некоторое достаточно большое значение M, и положить при . Естественно частотная характеристика системы с усеченной импульсной характеристикой (см. (12) ) уже будет несколько отличаться от требуемой , но это отличие тем меньше, чем больше М. Кроме того есть ряд приемов, позволяющих уменьшить эти отличия при фиксированном M. Далее, для того, чтобы обеспечить требование физической реализуемости (7), усеченную импульсную характеристику следует сдвинуть на M отсчетов вправо.

(26)

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

(27)

Это и есть схема КИХ-фильтрации, т. е. фильтрации с Конечной Импульсной Характеристикой.

При реализации КИХ-фильтра вида (27) в виде специализированного цифрового устройства требуется : К – умножителей, (K-1) сумматоров, (К-1) элементов задержки (обычно организуется на основе буфера оперативной памяти устройства), память для хранения K отсчетов импульсной характеристики. Имеются определенные нюансы в организации вычислений (27), связанные с проблемой минимизации ошибок округления, особенностями организации буфера памяти и т. д. Мы эти особенности рассматривать не будем, поскольку предполагаем реализовать ЦФ на обычных компьютерах, где нет этих проблем. Очевидно, вам не составит сложности реализовать соответствующую процедуру КИХ-фильтрации на любом языке программирования, например, для языка C

void FIR_filtering(h, K,x, n,y) (28)

где входные параметры:

h(k) – массив с k значениями импульсной характеристики реализуемого КИХ-фильтра (NB. В английском варианте КИХ есть FIR – Finite Impulse Response);

x(n) - массив с n значениями входного цифрового сигнала;

выходные параметры :

y(n) - массив с n значениями выходного сигнала, рассчитанными согласно (27).

Реализация КИХ-фильтров на основе процедуры БПФ

Вычисления в соответствии с (27) для одного отсчета выходного сигнала фильтра требуют K операций умножения и сложения. Если К достаточно велико и сравнимо с длиной входной реализации N, то для расчета всего массива выходных отсчетов может потребоваться очень большое время (пропорциональное K х N ).

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

Циклические свертки.

Выражение (27), вообще говоря, есть линейная апериодическая свертка двух конечных дискретных последовательностей и . Из последних них можно сформировать две циклически повторяющиеся последовательности c периодом N (мы полагаем, что K<N): и . При этом импульсная характеристика должна быть на одном периоде просто дополнена нулями до N. Циклическая свертка этих периодических последовательностей есть периодический с периодом N) сигнал вида:

(29)

Этот периодический сигнал на интервале принимает значения, близкие к интересующим нас значениям на выходе КИХ-фильтра (27). Эта близость тем больше, чем быстрее убывает импульсная характеристика с ростом n. Циклической свертке (29) в частотной области соответствует произведение ДПФ :

(30)

Учитывая это, вместо прямого вычисления циклической свертки (29) возможно применить следующий алгоритм на оcнове ДПФ:

Шаг 1. Вычисление ДПФ сигналов и . (см. Л/р 3).

Шаг 2. Расчет ДПФ выходного сигнала

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5