Билет № 13

1. Структура цифрового фильтра. Каскадная форма ЦФ. Типовое звено ЦФ 1-го порядка.

Есть три варианта структуры, которые можно использовать, чтобы осуществить  фильтр.

 Прямая форма - эта структура строится непосредственно по разностному уравнению. Каноническая форма разностного уравнения:

C:\Documents and Settings\Nikitosi\Рабочий стол\цос\отверти 2.files\image037.gif       (2.1)

где (M+1) – число прямых связей;

     Lчисло обратных связей;

     m, l, n – целые положительные числа.

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

1              Каскадная форма. Эти проблемы могут быть облегчены, если каскадное соединение биквадратных секций второго порядка используется для выполнения фильтра БИХ. Биквадратное выполнение работает медленнее, но генерирует меньшие числовые ошибки. Секции могут масштабироваться отдельно, чтобы минимизировать ошибки квантования и рекурсивные числовые ошибки.

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

Соединение  звеньев дискретной цепи

Каскадное соединение – наиболее употребительно.

C:\Documents and Settings\Nikitosi\Рабочий стол\цос\отверти 2.files\image038.gif                   H(z) = H1(z) ·H2(z) ·H3(z)

Параллельное соединение – требуется не один процессор.

 

 

C:\Documents and Settings\Nikitosi\Рабочий стол\цос\отверти 2.files\image039.gif

 

 

                                 H(z) = H1(z) +H2(z) +H3(z)C:\Documents and Settings\Nikitosi\Рабочий стол\цос\отверти 2.files\image040.gif

 

 Включение цепи H2(z) в обратную связь цепи H1(z)

 

 

C:\Documents and Settings\Nikitosi\Рабочий стол\цос\отверти 2.files\image041.gif

 

             C:\Documents and Settings\Nikitosi\Рабочий стол\цос\отверти 2.files\image042.gifC:\Documents and Settings\Nikitosi\Рабочий стол\цос\отверти 2.files\image040.gif

 

 

1.1.1      Построение схемы рекурсивного фильтра

Схему цепи по дробной передаточной функции H(z) удобно строить в 2 этапа: сначала нерекурсивная часть, соответствующая числителю, затем каскадно с ней  - рекурсивная часть, соответствующая дроби, числитель которой равен единице.

Основой каскадной реализации является представление функции H(z) в виде произведения простейших сомножителей в числителе и знаменателе

C:\Documents and Settings\Nikitosi\Рабочий стол\цос\отверти 2.files\image043.gif                                              ( )

где z0m – нули H(z), z¥m – полюсы H(z).

Сомножителям 1-го порядка (нули и полюсы - вещественные) соответствуют звенья 1-го порядка. Сомножителям 2-го порядка (нули и полюсы – комплексно-сопряженные) соответствуют звенья 2-го порядка.

Каскадный принцип реализации передаточной функции высокого порядка приводит к снижению уровня шумов квантования.

Типовыми звеньями ЦФ являются звенья 1-го и 2-го порядка. Передаточная функция звена 1-го порядка имеет вид

C:\Documents and Settings\Nikitosi\Рабочий стол\цос\отверти 2.files\image044.gifC:\Documents and Settings\Nikitosi\Рабочий стол\цос\отверти 2.files\image045.gif

 Звено 2-го порядка рассмотрено ниже.

 Каноническая схема ЦФ

В канонической схеме ЦФ используется минимально возможное количество ячеек памяти, равное наибольшему из чисел m и n. На рисунке изображена структурная схема такого фильтра 2-го порядка.

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

 

 

C:\Documents and Settings\Nikitosi\Рабочий стол\цос\отверти 2.files\image046.gif

 


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

-         коэффициенты a M и bL – вещественные числа,

-         корни знаменателя, то есть полюса H(z), расположены в пределах единичного круга плоскости z.

 Каскадная форма

В этой форме системная функция H (z) в уравнении (7.1) - произведение меньших секций второго порядка, называемых biquads (биквадратными).

Системная функция H(z) записывается как произведение секций второго порядкаC:\Documents and Settings\Nikitosi\Рабочий стол\цос\отверти 2.files\image047.gif     

*   C:\Documents and Settings\Nikitosi\Рабочий стол\цос\отверти 2.files\image048.gif

 

            C:\Documents and Settings\Nikitosi\Рабочий стол\цос\отверти 2.files\image049.gif ,         (7.3)

где M = N/2.

Системная функция представляется как  цепочка этих biquads. Каждый biquad осуществлен в  прямой форме и полная функция системы осуществляется как  каскад biquad секций.

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

 

  Подпрограмма каждой формы: системная функция в z-области для биквадратной секции 2-го порядка БИХ фильтра имеет вид: C:\Documents and Settings\Nikitosi\Рабочий стол\цос\отверти 2.files\image050.gifсоответств-ее разностное ур-е для биквадратной секции: C:\Documents and Settings\Nikitosi\Рабочий стол\цос\отверти 2.files\image051.gifC:\Documents and Settings\Nikitosi\Рабочий стол\цос\отверти 2.files\image052.gif

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

2. Операции, происходящие в схеме ЦСП за время одного цикла.

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

·        загрузить из памяти след инструкцию

·        выполнить одну или 2 пересылки данных

·        модифицировать один или 2 указателя адресов данных

·        выполнить одну вычислительную операцию

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

3. Подготовка к  использованию таймера в программе.

Таймер служит для формирования интервалов времени.

Инструкция ENA/ DIS TIMER; или установка/ сброс MSTAT(5) вызывают включение/ остановку таймера. Таймер включает в себя: два 16-разрядных регистра – TCOUNT и TPERIOD, и один 8-разрядный – TSCALE. TSCALE содержит коэффициент, на который делится тактовая частота процессора перед подачей на вход таймера. Счетчик TCOUNT декрементируется после кажд (TSCALE+1) циклов проц-ра. После достижения счетчиком 0: формируется прерывание, TCOUNT перезагружается из регистра TPERIOD, счет нач-ся снова.

Период прерываний равен (TPERIOD+1)*(TSCALE+1) циклов проц-ра. Частота прер-ий f=1/(период прер-ий*время цикла проц-ра)

41. Подготовка к использованию таймера в программе.

Таймер процессора ADSP-2189M содержит два 16-битных регистра TCOUNT и  TPERIOD и один 8-битный регистр TSCALE. Эти регистры отвечают за работу таймера и отображены на область памяти: TPERIOD по адресу 0х3FFD, TCOUNT по адресу 0х3FFC, TSCALE по адресу 0х3FFB.

TSCALE – регистр масштаба (в работе TSCALE=0).

TCOUNT – регистр счета (до включения таймера он должен быть равен TPERIOD)

TPERIOD - регистр периода, который хранит период формирования прерываний.

Рассчитаем значения регистров TPERIOD и TSCALE исходя из условия, что  прерывания таймера должны происходить с частотой дискретизации 25.6 кГц.

Тпр=1/Fдискр=tц*(TPERIOD+1)*(TSCALE+1)

 Приняв TSCALE=0, а частоту кварцевого резонатора 12,5 МГц,  получим:

TPERIOD=1/(Fдискр*tц)=Fтакт/Fдискр-1       =(12,5*106)/(25,6*103)-1=487       

    Таким  образом,  TPERIOD =487.

В соответствии с блок-схемой рис. 8, таймер содержит два 16-разрядных регистра TCOUNT и TPERIOD и один 8-разрядный регистр TSCALE. Таймер активизируется или блокируется установкой или сбросом бита 5 в регистре состояния режима MSTAT.

Регистр TCOUNT является счетчиком таймера. Содержимое этого регистра после инициализации таймера декрементируется в каждом командном цикле. Когда оно становится равным нулю, генерируется прерывание. Затем регистр TCOUNT перезагружается значением, хранящимся в регистре TPERIOD и счетчик снова начинает свою работу.

В регистре TSCALE содержится значение коэффициента масштабирования, которое всегда на единицу меньше, чем количество циклов между отрицательными приращениями значения в регистре TCOUNT. TSCALE расширяет диапазон временных интервалов между прерываниями (от 2 до 256 раз), но, соответственно, с пропорциональным ухудшением временного разрешения. Прерывание происходит через каждые (TPERIOD+1)*( TSCALE+1) циклов процессора. Интервал первого прерывания равен (TCOUNT+1)*( TSCALE+1) циклов. Запись нового

значения в регистр TSCALE или TCOUNT сказывается незамедлительно. Изменение содержимого TPERIOD не сказывается до перезагрузки регистра TCOUNT.

Регистры таймера представлены на программной модели процессора (рис. 11) как ячейки памяти данных с адресами OxSFFD (TPERIOD), OxSFFC (TCOUNT) и OxSFFB (TSCALE).

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

АХО = OOFF; DM(Ox3FFC) = АХО;

АХ1 = 01FF; DM(Ox3FFD) = AX1;

МХО = OOOF; DM(Ox3FFB) = МХО;

Hosted by uCoz