Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций Микропроцессоры.doc
Скачиваний:
16
Добавлен:
06.12.2018
Размер:
756.22 Кб
Скачать

Глава 5. Реализация цифровых фильтров (цф) на 1813 ве 1

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

На рис. 5.1. изображен рекурсивный ЦФ 2-го порядка:

Рисунок 5.1 – Структурная схема рекурсивного ЦФ 2-го порядка.

Запишем разностное уравнение для данного фильтра:

y(nT)=A0x(nT)+ A1x(nT – T)+ A2x(nT – 2T)+B0y(nT-T)+B1y(nT-2T).

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

Для рекурсивного фильтра коэффициенты умножения А0, А1, А2 могут либо равняться нулю, либо каким-то конкретным значениям. Порядок рекурсивного фильтра определяется количеством линий задержки в выходном сигнале. В случае, если В0 и В1 равны нулю, фильтр превращается в нерекурсивный (трансверсальный фильтр).

Преимущество рекурсивного ЦФ:

Для реализации требуемой крутизны фильтра требуется небольшое (малое) количество операций.

Недостатки рекурсивного ЦФ:

    1. Больший уровень шумов по сравнению с нерекурсивным фильтром.

    2. Требуется использовать масштабирование, чтобы система не самовозбудилась.

Для реализации коэффициентов умножения используют знакоразрядную форму представления. Для этого выполним следующие шаги:

      1. Возьмем двоичное 15-разрядное число. Два старших разряда отделим от остальных точкой.

      2. Разряды, находящиеся слева от точки (два разряда) имеют следующий вес: младший – 20, следующий – 21.

      3. Разряды, находящиеся правее точки, имеют веса:

1-й – ;

2-й – ;

.

.

.

13-й – ;

      1. Для уменьшения количества операций умножения некоторые разряды инвертируются. Инверсия разряда обозначается знаком «-» над заданным разрядом, - это означает, что данный ес нужно взять со знаком «-».

Пример:

Пусть заданы следующие коэффициенты умножения:

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

  • На первом этапе цифровой отсчет сдвигают влево либо вправо на заданное количество разрядов – это равносильно умножению на 2К.

  • На втором этапе используют прежнее значение на предыдущем такте и новое значение на следующем такте.

Пример: y0=A0x(nT)=(2-8-2-10)x(nT).

1-й этап: y0:= 2-8 x(nT).

2-й этап: y0:=y0-2-10x(nT).

Пример программы для приведенных выше коэффициентов умножения:

п/п

КОП Ц

Адрес операнда «В»

Адрес операнда «А»

Код МУ

КОП А

Комментарии

1

LDA

Y2

Y1

L00

IN (0)

Y2= Y1; ввод x0 по «0» каналу.

2

LDA

Y1

Y0

L00

IN (0)

Y1= Y0; ввод x0 по «0» каналу.

3

LDA

Y0

Y1

L01

IN (0)

Y0= Y121; ввод x0 по «0» каналу.

4

SUB

Y0

Y1

R02

IN (0)

Y0= Y0-Y12-2; ввод x0 по «0» каналу.

5

ADD

Y0

Y1

R06

IN (0)

Y0= Y0+Y12-6; ввод x0 по «0» каналу.

6

SUB

Y0

Y2

L00

IN (0)

Y0= Y0-Y22-0; ввод x0 по «0» каналу.

7

ADD

Y0

Y2

R07

IN (0)

Y0= Y0+Y22-7; ввод x0 по «0» каналу.

8

SUB

Y0

Y2

R09

IN (0)

Y0= Y0-Y22-9; ввод x0 по «0» каналу.

9

LDA

Y0

Y0

L00

CUT S

Y0=Y0, преобразование знака

10

LDA

Y0

Y0

L00

NOP

Y0=Y0, преобразование знака

11

LDA

Y0

Y0

L00

NOP

Y0=Y0, преобразование знака

12

LDA

Y0

Y0

L00

CUT(7)

Y0= Y0, преобразование 7-го разряда мантиссы

13

LDA

Y0

Y0

L00

NOP

Y0= Y0, преобразование 7-го разряда мантиссы

14

LDA

Y0

Y0

L00

NOP

Y0= Y0, преобразование 7-го разряда мантиссы

15

LDA

Y0

Y0

L00

CUT(6)

Y0= Y0, преобразование 6-го разряда мантиссы

16

LDA

Y0

Y0

L00

NOP

Y0= Y0, преобразование 6-го разряда мантиссы

17

LDA

Y0

Y0

L00

NOP

Y0= Y0, преобразование 6-го разряда мантиссы

18

LDA

Y0

Y0

L00

CUT(5)

Y0= Y0, преобразование 5-го разряда мантиссы

19

LDA

Y0

Y0

L00

NOP

Y0= Y0, преобразование 5-го разряда мантиссы

20

LDA

Y0

Y0

L00

NOP

Y0= Y0, преобразование 5-го разряда мантиссы

21

LDA

Y0

Y0

L00

CUT(4)

Y0= Y0, преобразование 4-го разряда мантиссы

22

LDA

Y0

Y0

L00

NOP

Y0= Y0, преобразование 4-го разряда мантиссы

23

LDA

Y0

Y0

L00

NOP

Y0= Y0, преобразование 4-го разряда мантиссы

24

LDA

Y0

Y0

L00

CUT(3)

Y0= Y0, преобразование 3-го разряда мантиссы

25

LDA

Y0

Y0

L00

NOP

Y0= Y0, преобразование 3-го разряда мантиссы

26

LDA

Y0

Y0

L00

NOP

Y0= Y0, преобразование 3-го разряда мантиссы

27

LDA

Y0

Y0

L00

CUT(2)

Y0= Y0, преобразование 2-го разряда мантиссы

28

LDA

Y0

Y0

L00

NOP

Y0= Y0, преобразование 2-го разряда мантиссы

29

LDA

Y0

Y0

L00

NOP

Y0= Y0, преобразование 2-го разряда мантиссы

30

LDA

Y0

Y0

L00

CUT(1)

Y0= Y0, преобразование 1-го разряда мантиссы

31

LDA

Y0

Y0

L00

NOP

Y0= Y0, преобразование 1-го разряда мантиссы

32

LDA

Y0

Y0

L00

NOP

Y0= Y0, преобразование 1-го разряда мантиссы

33

LDA

Y0

Y0

L00

CUT(0)

Y0= Y0, преобразование 0-го разряда мантиссы

34

LDA

Y0

Y0

L00

NOP

Y0= Y0, преобразование 0-го разряда мантиссы

35

LDA

Y0

Y0

L00

NOP

Y0= Y0, преобразование 0-го разряда мантиссы

36

LDA

X0

DAR

L00

NOP

X0=DAR

37

ADD

Y0

X0

R08

NOP

Y0=Y0+2-8X0

38

SUB

Y0

X0

R10

NOP

Y0=Y0-2-10X0

39

LDA

DAR

Y0

L00

NOP

DAR=Y0

40

LDA

Y0

Y0

L00

OUT(1)

Вывод Y0 по 1-му каналу.

41

LDA

Y0

Y0

L00

OUT(1)

Вывод Y0 по 1-му каналу.

42

LDA

Y0

Y0

L00

OUT(1)

Вывод Y0 по 1-му каналу.

43

LDA

Y0

Y0

L00

OUT(1)

Вывод Y0 по 1-му каналу.

44

LDA

Y0

Y0

L00

OUT(1)

Вывод Y0 по 1-му каналу.

45

LDA

Y0

Y0

L00

OUT(1)

Вывод Y0 по 1-му каналу.

46

LDA

Y0

Y0

L00

OUT(1)

Вывод Y0 по 1-му каналу.

47

LDA

Y0

Y0

L00

OUT(1)

Вывод Y0 по 1-му каналу.

48

LDA

Y0

Y0

L00

EOP

Возврат в начало программы