В. Анохин, А. Ланнэ - статья взята с сайта http://www.chipnews.com.ua
Многоскоростные фильтры и банки фильтров (фильтры и банки фильтров с многочастотной дискретизацией) определили самостоятельное направление в теории и практике цифровой обработки сигналов (ЦОС). В этой связи достаточно упомянуть квадратурно-зеркальные фильтры — новый класс многополосных фильтров, банки многоскоростных фильтров для реализации вейвлет-преобразований, полифазные фильтры. Многоскоростная фильтрация нашла широкое практическое применение в задачах компрессии речи, звука и изображений, построения эффективных систем фильтрации, очистки сигнала от помех, оптимизации вычислительных ресурсов при реализации алгоритмов ЦОС. Для решения задач анализа (моделирования) и синтеза (проектирования)
систем с многочастотной дискретизацией пакет MATLAB предоставляет
широкие возможности. В рамках проекта "MATLAB для DSP" рассмотрим
частную, но практически важную задачу проектирования и моделирования
узкополосного фильтра. Для этих целей, как это и оговорено в проекте,
используются два наиболее дружественных для пользователя инструмента
MATLAB - Simulink и GUI. Основные соотношения теории многочастотной дискретизации. Основы теории многоскоростной фильтрации (многоскоростной обработки сигналов) и описание приложений можно найти в [1-4]. В качестве базовых при многочастотной дискретизации используются:
Таким образом, частота дискретизации fs сигнала x(n) связана с частотой дискретизации f's соотношением Mf's = f's , или соотношением периодов дискретизации T' = MT. Частоты дискретизации сигналов x(n) (частота fs ) и yl(n) (частота fs ) при интерполяции связаны соотношениями f's = Lfs или T = LT'. Пример децимации сигнала x(n) при M = 2: отсчёты сигнала до (а) и после (б) децимации. Рис 3. Пример интерполяции сигнала x(n) при L = 2: отсчёты сигнала до (а) и после (б) интерполяции Рис 4. При децимации и интерполяции сигнала происходит деформация спектров.
где z = ejw , а и, следовательно,
где нормированная частота w = wT', а T' - период дискретизации после децимации. Он будет в M раз больше, так что в шкале ненормированных частот получим
Учитывая, что T' = MT , можно записать окончательное соотношение между спектрами децимированного сигнала YD(ejw) и исходного X(ejw):
Для интерполяции YI(z) = X(zL) или YI(ejw)
= X(ejwL) или YI(ejw) = X(ejwL). Рис 5. Рис 6. Полифазное разбиение и полифазные фильтры. Передаточная функция нерекурсивного (КИХ - конечной импульсной характеристики) фильтра
может быть представлено суммой
Смысл многочленов E0 и E1 понятен из контекста.Если
E0 и E1 рассматривать как передаточные функции
КИХ-фильтров, то нетрудно заметить, что базовым элементом задержки таких
фильтров является z-2, обеспечивающий задержку на два такта.
Следовательно, фильтры E0 и E1 могут работать
на частоте дискретизации, в два раза меньшей исходной. Если использовать
разложения по степеням z-3 или z-4 и так далее,
то можно получить блоки фильтров, работающие на ещё более низких частотах
дискретизации. Итоговая схема фильтра, когда Рассмотренное разбиение называется полифазным, а реализующие его схемы - полифазными фильтрами.В качестве примера, иллюстрирующего построение полифазного фильтра и использование замечательных тождеств, покажем, как можно эффективно реализовать КИХ-фильтр дециматор. Рис 8. В схеме рис. 8 для вычисления каждого отсчёта необходимо выполнить N+1 умножений и N сложений. В то же время, за счёт децимации (M = 2) половину результатов отсчётов мы отбрасываем и, следовательно, используем ресурсы вычислителя неэффективно.Построим фильтр на основе полифазного разбиения (полифазный фильтр, рис. 7) и воспользуемся замечательным тождеством (рис. 5). Последовательность преобразований при этом показана на рис. 9. Рис. 9 В результате фильтры E0(z2) и E1(z2), работающие на частоте fs, заменяются фильтрами E0(z) и E1(z), работающими на частоте fs/2. Таким образом мы получим двукратную эконом ию в скорости вычислений. При коэффициенте децимации M применение полифазных фильтров позволяет получить экономию в M раз. Аналогичные результаты получаются и при полифазном построении фильтров интерполяторов [1,2]. Таким образом, полифазные реализации в совокупности с рациональными преобразованиями схем фильтров позволяют строить эффективные вычислители в задачах ЦОС. Расчёт узкополосного низкочастотного фильтра. В процессе цифровой обработки сигналов нередко возникает задача фильтрации
сигнала в очень узком частотном диапазоне. Примером такой задачи может
служить ситуация, когда сигнал содержит несколько составляющих на близких
частотах, и требуется выделить одну из них. Для этого необходимо спроектировать
цифровой фильтр с очень узкими относительными полосами пропускания и
перехода. В зависимости от расположения составляющих сигнала, это может
быть фильтр нижних, верхних частот, полосовой или заграждающий фильтр.
Прямое проектирование таких устройств часто приводит к фильтрам очень
высоких порядков, практическая реализация которых либо нерациональна,
либо невозможна. u(n) = sin(2πf1nT) + sin(2πf2nT) + e(n) , где f1 = 90 Гц и f2 = 105 Гц - частоты составляющих; T = 1/fs = 1/8000 с - период дискретизации; fs = 8000 Гц - частота дискретизации; e(n) - гауссовский шум с нулевым средним и дисперсией σ2 = 0,1. Требуется выделить синусоидальную составляющую с частотой f1. Для этого необходимо построить фильтр нижних частот с граничными значениями частот полосы пропускания fpb и полосы задерживания fsb, удовлетворяющими условию f1 < fpb< fsb < f2 . Поскольку частота Найквиста fN = fs/2 = 4000 Гц, для нормализованных значений fpb = fpb/fN и fsb = fsb/fN это условие будет выглядеть так : Следовательно, переходная полоса Δf амплитудно-частотной характеристики
фильтра (АЧХ) не должна превышать величину Δf < 0,02625 – 0,0225
= 0,00375. Эти требования схематически показаны на рис. 10.
После нажатия на кнопку Apply появится предупреждение, что оценочное
значение порядка проектируемого фильтра 5022 слишком велико, и дальнейшая
процедура расчёта может дать непредсказуемые результаты. Однако даже
если такой фильтр построен, для его применения потребуется очень большой
вычислительный ресурс. Так как коэффициенты фильтра обладают симметрией
и общее их количество равно 5023, процессор должен выполнять (Multiply-And-aCcumulate operations per second - число операций умножения-накопления
в секунду, показатель быстродействия процессора). Для хранения коэффициентов
потребуется 2512 ячеек памяти. и полосу задерживания [1/20, 1]·FN = [200, 4000] Гц. АЧХ в полосе пропускания этого фильтра должна находиться в пределах
[0,995, 1,005], а в полосе задерживания - не превышать величину 10-4.
Исходя из этих требований, коэффициент децимации М положим равным 20.
При этом частота дискретизации на выходе первого фильтра дециматора
будет равна 8000/20 = 400 Гц.
Результаты расчёта дают приблизительную оценку порядка
фильтра n1 = 270, однако полученные значения Actual Rp = 0,1436
и Actual Rs = 75,58 (они отображаются в правой части окна Filter Designer)
указывают на необходимость увеличить порядок фильтра и повторить вычисления.
В нашем примере мы выбрали значение n1 = 289, что соответствует
Actual Rp = 0,08281 и Actual Rs = 80,16.
Результаты вычислений дают предварительную оценку порядка фильтра n2 = 270
и фактические значения Rp и Rs для этого порядка, которые опять-таки
не укладываются в заданные требования (пульсации недопустимо большие).
Выбор n2 = = 275 обеспечивает выполнение требований. b1=filt1.tf.num; Применение двух фильтров дециматоров, реализуемых в виде полифазных структур, требует выполнения 290/2 MACs/с · 8000 отсчётов/с · 1/20 + 276/2 MACs/с · 400 отсчётов/с · = 85600 MACs/с , и хранения 145 + 138 = 283 коэффициентов. Моделирование узкополосного низкочастотного фильтра Описанная процедура может быть легко реализована в виде модели Simulink, для чего нам потребуются следующие блоки:
Правила построения моделей подробно изложены в справочной системе
MATLAB, с ними также можно ознакомиться, обратившись к соответствующим
источникам [6-8].
Параметры режима работы модели устанавливаются в окне
Simulation Parameters. Рассмотренный пример наглядно демонстрирует возможности многочастотной дискретизации для решения важных практических задач. Действительно, относительно узкополосные фильтры являются важнейшим элементом радиосистем и в этом смысле имеют большое самостоятельное значение. Помимо этого, многочастотная дискретизация весьма эффективна для построения банков фильтров и для решения задач обработки сигналов с помощью техники вейвлет-разложений.
1. Vaidyanathan P.P. Multirate Systems and Filter Banks. Prentice
Hall. Englewood Cliffs. NY, 1993. |