Билет № 23

1.     Синтез цифрового фильтра. Подходы к расчёту ЦФ и решаемые при этом задачи.

Синтез ЦФ

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

Расчёт ЦФ состоит в расчёте количества коэффициентов и их значений.

Методы расчёта ЦФ делятся на прямые, когда  коэффициенты определяются непосредственно по требующейся характеристике h(nT) или H(), и косвенные, когда как промежуточный этап делают расчёт АФ.

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

Расчёт рекурсивного фильтра
методом билинейного преобразования

Практически процедура синтеза ЦФ состоит в том, что в функции Ha(p) аналогового фильтра выполняется замена переменной по формуле так называемого билинейного преобразования:

         D:\Место обмена\цос\отверти 2.files\image053.gif                                                 (w)

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

D:\Место обмена\цос\отверти 2.files\image054.gif                                                                                                        (v)       

Последовательность расчёта ЦФ методом билинейного преобразования:

1.     Перевести требования к ЦФ в требования к АФ, применяя формулу (v)

2.     Применить один из известных методов расчёта АФ для получения передаточной функции H(p)  (фильтры Баттерворса и Чебышева)

3.     По известной H(p) подстановкой w получить передаточную функцию H(z)

4.     По H(z) построить схему и алгоритм ЦФ

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

ПРОЕКТИРОВАНИЕ КИХ-ФИЛЬТРА  

Как следует из терминологии, классификация КИХ/БИХ относится к импульсным характеристикам фильтров. Ключевым для проектирования КИХ-фильтров является утверждение, что коэффициенты h(n) КИХ-фильтра являются квантованными значениями импульсной характеристики этого фильтра.

         D:\Место обмена\цос\отверти 2.files\image055.gif

где  * – символ свёртки.

h(k) – массив коэффициентов фильтра

x(n-k) – входной массив данных.

N - число звеньев.

КИХ-фильтр с числом звеньев N требует N циклов (операций) умножения с накоплением для каждого выходного отсчёта.  Для ADSP-процессоров все операции, необходимые для одного цикла работы фильтра, выполняются за один цикл процессора. Такое преимущество известно как реализация циклов без дополнительных операций.

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

Алгоритм работы КИХ-фильтра           

1. Получение отсчета от АЦП (обычно по прерыванию)

2. Помещение отсчета в циклический буфер входного сигнала

3. Обновление указателя циклического буфера входного сигнала

4. Обнуление накопителя

5. Осуществление фильтрации (цикл по всем коэффициентам)

D:\Место обмена\цос\отверти 2.files\image056.gifD:\Место обмена\цос\отверти 2.files\image057.gif6. Выборка коэффициента из циклического буфера коэффициентов

7. Обновление указателя циклического буфера коэффициентов

8. Выборка отсчета из циклического буфера входного сигнала

9. Обновление указателя циклического буфера входного сигнала

D:\Место обмена\цос\отверти 2.files\image058.gif10. Умножение коэффициента на отсчет

11. Добавление нового слагаемого к промежуточному результату

12. Выдача выходного отсчета фильтра на ЦАП

П.п. 1-3 и 12 выполняются в основной программе, п.п. 4-11 выполняются в подпрограмме fir.

Первая команда (помеченная меткой fir:) инициирует вычисления, очищая регистр MR и заполняя регистры MX0 и MY0 первым значением данных и первым значением  коэффициентов из памяти программ и памяти данных. Затем, для вычисления суммы первых N-1 слагаемых, N-1 раз в N циклах выполняется операция умножения с накоплением, реализуя свертку выборки следующего набора данных и коэффициентов.

Заключительная команда умножения с накоплением выполняется с включенным режимом округления для округления результата до старших 24 разрядов регистра MR. Затем регистр MR1 условно насыщается. Благодаря такому подходу, при накоплении результата используются преимущества регистра MR 40-разрядной точности. Насыщение происходит только в том случае, если вычисление заключительного результата привело к переполнению 32-х младших значащих разрядов регистра MR.

Отсчеты импульсной характеристики фильтра D:\Место обмена\цос\отверти 2.files\image059.gif в массиве "неподвижны", а отсчеты входного сигнала D:\Место обмена\цос\отверти 2.files\image060.gif "движутся" относительно них. Направление относительного движения зависит от порядка размещения коэффициентов D:\Место обмена\цос\отверти 2.files\image059.gif в массиве.

Число звеньев фильтра, реализующего подпрограмму КИХ-фильтра в реальном масштабе времени, ограничено длительностью процессорного цикла, частотой дискретизации и объемом других вычислений. Подпрограмма КИХ-фильтра, представленная в примере, требует общего количества циклов N+5 для фильтра с числом звеньев N. Для процессора ADSP-2189M, обладающего быстродействием 75 MIPS, один цикл выполняется за 13,3 нс, так что фильтр с числом звеньев 100 требует 13,3 нс*100 + 5*13,3 нс = 1330 нс + 66,5 нс = 1396,5 нс = 1,4 мкс.

/*   Подпрограмма КИХ-фильтра порядка N                                   fir.asm

Вызываемые параметры

I0 --> Прежние величины входных данных в линии задержки

I4 --> Начало таблицы коэффициентов фильтра

L0 = N, L4 = N

M1,M5 = 1

CNTR = N-1

Возвращаемые величины

MR1 = Результат (округлённый и насыщенный)

I0 --> Прежние величины входных данных в линии задержки

I4 --> Начало таблицы коэффициентов фильтра

Изменяемые регистры  MX0,MY0,MR

Время выполнения  (N - 1) + 6 cycles = N + 5 cycles

 Все коэффициенты в формате 1.15

*/

. GLOBAL fir;

fir:     MR=0, MX0=DM(I0,M1), MY0=PM(I4,M5);

CNTR = N-1;

DO convolution UNTIL CE;

convolution: MR=MR+MX0*MY0(SS), MX0=DM(I0,M1), MY0=PM(I4,M5);

MR=MR+MX0*MY0(RND);

IF MV SAT MR;

RTS;

2.     Взаимодействие узлов и прохождение информации в сдвигателе.

поступившая 16-тиразрядная входная велечина сохр-ся целиком где-нибудь в 32-ухразрядном выходном поле. все инстр-ции сдвига выполн-ся за время одного цикла инструкции. Величина направление сдвига указывается непосредственно в инструкции или косвенно в регистре SE. Инструкция нормализации, денормализации и определения порядка исп-ны в блоке для плавающей точки и в операциях с плавающей точкой.

Устройство сдвига (SHIFTER) обеспечивает полный набор функций сдвига для 16-разрядных входных значений, в результате чего на выходе получается 32-разрядный результат.

Блок-схема устройства сдвига включает: массив сдвигателей, логику управления OR/PASS, определитель (детектор) порядка, устройство сравнения порядков и набор регистров.

Массив сдвигателей функционально представляет собой регистр циклического сдвига размером 16 на 32 бита. В него вводится 16-разрядное значение, которое он может поместить в любую позицию 32-битного результата от крайней правой до крайней левой за один цикл в соответствии управляющим кодом С и опорными сигналами (модификаторами) HI/LO. Ввод данных в массив и определитель порядка производится с регистра ввода устройства сдвига SI разрядностью 16 бит или с регистров AR, SR или MR по R-шине. Запись в регистр SI осуществляется с шины DMD, на которую возможно и его считывание.

Регистр результата устройства сдвига SR имеет разрядность 32 бита и разделяется на два 16-разрядных регистра SRO и SR1. Загрузка в регистры SRO и SR1 может производиться с шины DMD, а вывод результата - либо на шину DMD, либо на R-шину. Регистр SR также имеет обратную связь с логическим устройством OR/PASS для обеспечения операций сдвига с двойной точностью.

Регистр экспоненты (порядка) SE разрядностью 8 бит содержит значение порядка числа с плавающей точкой во время операций нормализации и денормализации. Он может быть считан или записан по 8 младшим разрядам шины DMD.

Регистр SB, имеющий разрядность 5 бит, используется для операций с блочной плавающей точкой, во время которых в нем содержится значение блочного порядка, т. е. значение, на которое должен произойти сдвиг для нормализации самого большого числа в блоке чисел. Регистр считывается и загружается с 5 младших бит шины DMD.

Запись в любой из регистров SI, SE или SB и считывание из них могут быть выполнены за один цикл. Считывание из регистров производится в начале цикла, а запись в них - в конце цикла. Это также позволяет сохранять содержимое регистра результата в памяти и обновлять его новым результатом в течение того же цикла.

В устройстве сдвига имеется еще второй (теневой) ряд регистров SE, SB, SI, SRI и SRO, который показан на рис. 5 за основными регистрами.

Дополнительный ряд регистров может быть активизирован для быстрого контекстного переключения.

Выбор основного или альтернативного ряда регистров определяется битом 0 в регистре состояния режима процессора MSTAT. Когда этот бит равен 0, то выбирается основной ряд регистров; когда равен 1, выбирается альтернативный ряд регистров.

Программно доступные регистры SI, SE, SB, SRO, SRI основного и теневого ряда представляют устройство сдвига на общей программной регистровой модели процессора (рис. 11).

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

Внутренний опорный сигнал HI/LO определяет опорную точку сдвига. В состоянии HI все сдвиги происходят относительно SR1 (старших бит результата), а в состоянии LO - относительно SRO (младших бит результата). Сигнал HI/LO, являющийся модификатором инструкций устройства сдвига, полезен при сдвиге 32-разрядных значений, так как позволяет осуществлять сдвиг и старших и младших бит числа при одном и том же управляющем коде.

Все биты справа от входного значения в области результата заполняются нулями, а биты слева - в соответствии с видом сдвига.

Логическое устройство OR/PASS позволяет соединять части числа с повышенной точностью после их сдвига в одно число. Когда выбирается режим PASS (ПЕРЕДАЧА), массив данных устройства сдвига просто передается в регистр результата SR без изменений. Когда выбирается режим OR (ИЛИ), массив данных перед загрузкой в SR подвергается логической операции ИЛИ с текущим содержимым регистра SR.

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

В режиме HI входное значение интерпретируется как число с одинарной точностью или как старшие биты числа с двойной точностью. Ему соответствуют значения порядка от 0 до -15.

В режиме HI, AV (обозначаемом как HIX) при установленном бите AV выводится порядок +1.

В режиме LO входное значение интерпретируется как младшие биты числа с двойной точностью. Ему соответствуют значения порядка от -15 до -31, которые записываются в регистр SE, если все старшие биты числа с двойной точностью знаковые.

Логическое устройство сравнения порядка совместно с определителем порядка находит значение порядка блока чисел, сохраняемое в регистре SB. Оно соответствует порядку максимального по модулю числа в блоке.

3. Шины ЦСП. Влияние разрядности шин на свойства процессора.

Внутренние устройства процессора связаны:

DMA (Data Memory Address) шинами адреса памяти данных 14-разрядными

РМА (Program Memory Address) адреса памяти программ 14-разрядными

DMD (Data Memory Data) шиной данных памяти данных 16-разрядной

PMD (Program Memory Data)шиной данных памяти программ 24-разрядной. Они мультиплексированы в две выводимые наружу внешние шины, шину адреса и шину данных. По шине внутренних результатов R(16 разрядная) осуществляется прямой обмен данными между вычислительными устройствами.

ADDR bus – внешняя шина адреса

DATA bus – внешняя шина данных

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

Это подразумевает общий для всех модулей состав шин и общие правила выполнения всех процедур передачи информации по магистрали. Шина -группа сигналов микросхемы, объединенных по функциональному признаку. Шинная организация связей микропроцессорной системы позволяет легко за­менять аппаратные модули, например, устанавливать новые микросхемы памя­ти c более высоким быстродействием или большей емкости, модернизировать устройства ввода/вывода.

Шина данных - основная шина, по которой происходит непосредствен­ный обмен информацией между различными блоками системы. Скорость обме­на зависит от ее разрядности. Обычно шина данных имеет 8, 16, 32 или 64 раз­ряда. За один цикл обмена по 64-разрядной шине передается 8 байт, по 8-разрядной - только один байт. Шина данных определяет разрядность всей сис­темы. Когда говорят о 16-разрядном процессоре, то подразумевают, что он имеет 16-разрядную шину данных. Шина данных всегда двунаправленная и чем больше ее разрядность, тем сложнее организовать одновременное изменение сигналов во времени в приемнике при передаче информации от источника из-за разной длины проводников и разного количества элементов. Обмен по шине происходит за один или несколько периодов тактовой частоты и состав­ляет обычно единицы, десятки наносекунд. При тактовых частотах процессора, составляющих сотни мегагерц, на задержку распространения сигналов оказы­вает влияние также и емкость монтажа. В приемник сигналы поступают факти­чески в разные моменты времени.

Шина адреса служит для определения адреса (номера) ячейки памяти ОЗУ, ПЗУ или адреса устройства ввода/вывода, с которыми процессор обмени­вается информацией в данный момент времени. Каждому устройству (кроме процессора), каждой ячейке памяти в микропроцессорной системе присваива­ется собственный адрес. Когда процессор выполняет команду, в поле адреса­ции операндов которой указано внешнее устройство или микросхема памяти, то выбранный в команде элемент схемы активизируется (выводится из Z-состояния) и готовится к обмену информацией. Остальные устройства должны находиться в высокоомном Z-состоянии, которое эквивалентно их отключению от шины данных микропроцессорной системы. Шина адреса может быть одно­направленной или двунаправленной, ее разрядность определяет максимальный объем внешней памяти. Например, 16-разрядная шина адреса обеспечивает подключение внешней памяти емкостью до 64 Кбайт (216 байт), 32-разрядная шина - до 4 Гбайт (232 байт).

Шина управления - вспомогательная шина, сигналы которой задают раз­личные режимы работы системы, она является индивидуальной для каждой мо­дели процессора. Имеется ряд управляющих сигналов, которые используются в большинстве микропроцессорных систем. К ним относятся сигналы чтения

RD, записи WR, задающие направление передачи информации по шине дан­ных при обращении к микросхемам памяти и портам ввода/вывода, сигнал

сброса RESET - для начального запуска системы. Подчеркивание сверху при обозначении перечисленных сигналов шины управления означает, что актив­ным уровнем является логический ноль. Чтобы выполнить, например, чтение

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

 

Hosted by uCoz