Билет № 13
1. Структура цифрового
фильтра. Каскадная форма ЦФ. Типовое звено ЦФ 1-го порядка.
Есть три варианта структуры, которые можно использовать, чтобы
осуществить фильтр.
Прямая форма - эта структура строится непосредственно по разностному уравнению. Каноническая форма разностного уравнения:
(2.1)
где (M+1) – число прямых связей;
L – число обратных связей;
m, l, n – целые положительные числа.
Прямая форма страдает от многих практических проблем, хотя и
выполняется быстрее. Коэффициенты и данные должны масштабироваться все вместе,
что вызывает большие числовые ошибки. Полюса прямой формы становятся более
чувствительными к ошибкам квантования.
Параллельная форма структуры фильтра имеет
смысл, когда большее количество процессоров доступно, чтобы осуществить все
секции одновременно.
Соединение
звеньев дискретной цепи
Каскадное соединение – наиболее употребительно.
H(z) = H1(z) ·H2(z) ·H3(z)
Параллельное соединение – требуется не один процессор.
|
|
|
|
H(z) = H1(z) +H2(z) +H3(z)
Включение цепи H2(z) в обратную связь цепи H1(z)
|
|
|
|
Схему
цепи по дробной передаточной функции H(z) удобно строить в 2 этапа: сначала нерекурсивная часть, соответствующая числителю, затем каскадно с ней - рекурсивная часть, соответствующая
дроби, числитель которой равен единице.
Основой каскадной реализации
является представление функции H(z) в виде произведения простейших
сомножителей в числителе и знаменателе
( )
где z0m – нули H(z), z¥m – полюсы H(z).
Сомножителям 1-го порядка (нули
и полюсы - вещественные) соответствуют звенья 1-го порядка. Сомножителям 2-го
порядка (нули и полюсы – комплексно-сопряженные) соответствуют звенья 2-го
порядка.
Каскадный принцип реализации
передаточной функции высокого порядка приводит к снижению уровня шумов
квантования.
Типовыми звеньями ЦФ являются звенья 1-го и 2-го порядка. Передаточная функция звена 1-го порядка имеет вид
Звено 2-го порядка рассмотрено ниже.
Каноническая
схема ЦФ
В
канонической схеме ЦФ используется минимально возможное количество ячеек
памяти, равное наибольшему из чисел m и n. На рисунке изображена структурная схема
такого фильтра 2-го порядка.
Рекурсивный
фильтр имеет n
полюсов (это корни знаменателя). При вещественных коэффициентах полюса либо
лежат на вещественной оси, либо образуют комплексно-сопряженные пары.
|
|
|
|
Критерий физической реализуемости и устойчивости дискретной цепи совпадает с
критерием для аналоговой цепи и состоит в удовлетворении требований:
-
коэффициенты a
M и bL –
вещественные числа,
-
корни знаменателя, то есть полюса H(z),
расположены в пределах единичного круга плоскости z.
Каскадная
форма
В этой форме системная функция H (z) в
уравнении (7.1) - произведение меньших секций второго порядка, называемых biquads (биквадратными).
Системная
функция H(z)
записывается как произведение секций второго порядка
,
(7.3)
где M = N/2.
Системная функция представляется как цепочка этих biquads. Каждый biquad осуществлен в
прямой форме и полная функция системы осуществляется
как каскад biquad секций.
Чтобы не сталкиваться с проблемами устойчивости, в большинстве
случаев фильтры БИХ делят на секции второго порядка так, чтобы минимизировать
их чувствительность, и затем полный фильтр осуществляется как каскадная
цепочка таких секций. Коэффициенты каждой секции должны быть тщательно выбраны,
чтобы избежать переполнений.
Подпрограмма каждой
формы: системная функция в z-области
для биквадратной секции 2-го порядка БИХ фильтра имеет вид: соответств-ее разностное ур-е для биквадратной
секции:
Все коэффициенты должны
быть масштабированы в кажд. Биквадр.
секции отдельно, это необходимо для проведения вычислений в дробном формате
чисел, а также гарантировать, что переполнение не будет происходить в итоге
операций умножения – накопления в каждой секции. Пониженные коэфф. сохраняются в памяти процессора. Операции в
каждой биквадратной секции выполняют с масштабированными данными, и коэфф. в конечном счете повышаются
перед выводом. Выбор надлежащего коэфф-та
масштабирования зависит от цели проекта, и в некоторых случаях это может быть
не нужно.
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) = МХО;