РефератыКоммуникации и связьИзИзучение алгоритма функционирования и программы цифрового фильтра

Изучение алгоритма функционирования и программы цифрового фильтра

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ


РЯЗАНСКИЙ ГОСУДАРСТВЕННЫЙ РАДИОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ


КАФЕДРА РАДИОТЕХНИЧЕСКИХ СИСТЕМ


Лабораторная работа №1


Изучение алгоритма функционирования и программы


цифрового фильтра


Выполнил ст.гр. 310:


Белокуров Е.


Проверил:


Косс


Рязань, 2006


Цель работы


Изучение системы команд МК КР1830ВЕ31, их содержания, способов адресации на примере использования в программе цифрового фильтра. Изучение представления и преобразования данных в МП-системе. Изучение взаимодействия аппаратной части цифрового фильтра и программы. Изучение технологии отладки программы для МК с использованием программного отладчика. Установление истинности результатов выполнения программы цифрового фильтра.


Расчет для положительного входного отсчета максимальной амплитуды:


Разностное уравнение представим в виде:


yn
=0,81
xn
+
xn
-2
– 0,81
yn
-2
=
kxn
+ xn
-2
- kyn
-2
; k=0,81


1) Реализуемый коэффициент масштабирования kMP
(число без знака) при 8-разрядном формате беззнаковых коэффициентов:


kM
=0,381679389(10)
; kMP
= ,01100001(2)
= 61(16)
= 0,37890625 (10)


2) Реализуемые коэффициенты разностного уравнения (числа без знака) при 8-разрядном форматё беззнаковых коэффициентов:


k=0,81(10)
; kP
= ,11001111(2)
= CF(16)
= 0,80859375(10)


3) Код для положительного входного отсчета максимальной амплитуды (немасштабированный отсчет):


xn

= 0,1111111(2)
= 7F(16)


программа адресация цифровой фильтр


4) Масштабированный входной положительный отсчёт максимальной амплитуды:


xn

:= kMP
xn

= ,01100001(2)
.
0,1111111(2)
= 61(16)
.
7F(16)
= 30(16)
= 0,0110000 (2)
= +0,375(10)


5) Зададим состояние памяти после запоминания масштабированных входных отсчётов максимальной амплитуды и отрицательных выходных отсчётов максимальной амплитуды





























Адрес ячейки памяти Содержимое ячейки памяти
X xn

= 30(16)
= 0,0110000(2)
= +0,375(10)
X1 xn-1

= 30(16)
= 0,0110000(2)
= +0,375(10)
X2 xn-2

= 30(16)
= 0,0110000(2)
= +0,375(10)
Y Вычисляется программой:yn

= 7C(16)
Y1 yn-1

= D0(16)
= 1, 1010000(2)
= -0,375(10)
Y2 yn-2

= D0(16)
= 1, 1010000(2)
= -0,375(10)
P1 Вычисляется программой:p

1

n

=26(16)
P2 Вычисляется программой: p

2

n

= DA(16)

6) Получим произведениеp

1

n

:


p

1

n

= kP
xn

= CF(16)
30(16)
= ,11001111(2)
.
0,011000 (2)
= 26(16)
= 0,0100110(2)
= + 0,296875(10)


7) Получим модуль произведения отрицательного отсчёта yn
-2
на коэффициент kP
:


|

p

2

n

|

= kP
|

yn

-2

|

= CF(16)
30(16)
= ,11001111(2)
.
0,011000 (2)
= 26(16)
= 0,0100110(2)
= 0,296875(10)


8) Вычислим выходной отсчёт:


yn

=

p

1

n

+

xn

-2

- (- |
p

2

n

|)

= 26(16)
+ 30(16)
+ 26(16)
= 7C(16)
= 0,1111100 (2)
= +0,96875(10)


Выполнение работы


1. а) Исходное состояние МП-системы, соответствующее аппаратному сбросу по входу RST
МК


При включении питания в схеме МП-системы вырабатывается импульс сброса RST для микроконтроллера. По сигналу RST=1 выполняются следующие действия:


1) программный счетчик и все управляющие регистры МК, кроме PCON, IE, IP – устанавливаются в нулевое состояние;


2) в управляющих регистрах PCON, IE, IP – резервные биты принимают случайные значения, все остальные биты сбрасываются в 0;


3) в указателе стека устанавливается адрес SP=70 (вершина стека);


4) запрещаются прерывания от всех источников, запрещается работа таймеров/счетчиков, запрещается работа последовательного порта;


5) выбирается банк 0 POH (текущий банк регистров);


6) порты Р0, Р1, Р2, Р3 настраиваются на ввод для приема данных;


7) в обоих регистрах SBUF последовательного порта устанавливаются случайные значения.


В БИС КР1821РУ55 и КР1821РФ55 исходное состояние после включения питания произвольное, так как импульс RST на их входы сброса не поступает.


1.б) Объём памяти (CSEG
), занимаемый программой

FZ
. Составляет 147 байт.


2) Проверка выполнения всех настроек предусмотренных инициализацией программы:



3) Загрузка в память МП-системы начальных данных:



4). Формирование сигнала запроса прерывания от Т/С0
(Alt
+ t
) и выполнение в пошаговом режиме программного модуля формирования импульса пуска АЦП.



4)Формирование сигнала запроса прерывания от АЦП по входу
INT
0
(Alt
+ i
) и выполнение в пошаговом режиме рабочего цикла программы.



а) При выполнении программного модуля масштабирования вычисленное программой численное значение масштабированного отсчёта xn

равно расчётному и запоминается в заданной ячейке памяти.


б) Вычисленные программой численные значения произведений p

1

n

,

p

2

n

равны расчётным и запоминаются в заданных ячейках.


в) Вычисленное программой численное значение выходного отсчёта yn

равно расчётному и запоминается в заданной ячейке.


5)Вывод смещенного кода и подготовка следующего рабочего цикла:



а) На ЦАП выведен смещённый входной код.


б) Выполнен сдвиг отсчётов в памяти для подготовки следующего рабочего цикла.


Расчет для отрицательного входного отсчета максимальной амплитуды:


Разностное уравнение представим в виде:


yn
=0,81
xn
+
xn
-2
– 0,81
yn
-2
=
kxn
+ xn
-2
- kyn
-2
; k=0,81


1) Реализуемый коэффициент масштабирования kMP
(число без знака) при 8-разрядном формате беззнаковых коэффициентов:


kM
=0,381679389(10)
; kMP
= ,01100001(2)
= 61(16)
= 0,37890625 (10)


2) Реализуемые коэффициенты разностного уравнения (числа без знака) при 8-разрядном форматё беззнаковых коэффициентов:


k=0,81(10)
; kP
= ,11001111(2)
= CF(16)
= 0,80859375(10)


3) Код для отрицательного входного отсчета максимальной амплитуды (немасштабированный отсчет):


xn

= 1,0000000(2)
= 80(16)


4) Масштабированный входной положительный отсчёт максимальной амплитуды:


|

xn

|

:= kMP
|xn

|

= ,01100001(2)
.
0,1111111(2)
= 61(16)
.
80(16)
= 30(16)
= 0,0110000 (2)
= +0,375(10)


xn

:= D0(16)


5) Зададим состояние памяти после запоминания масштабированных выходных отсчётов максимальной амплитуды и отрицательных входных отсчётов максимальной амплитуды





























Адрес ячейки памяти Содержимое ячейки памяти
X xn

= D0(16)
= 1, 1010000(2)
= -0,375(10)
X1 xn-1

= D0(16)
= 1, 1010000(2)
= -0,375(10)
X2 xn-2

= D0(16)
= 1, 1010000(2)
= -0,375(10)
Y Вычисляется программой:yn

= 7C(16)
Y1 yn-1

= 30(16)
= 0,0110000(2)
= +0,375(10)
Y2 yn-2

= 30(16)
= 0,0110000(2)
= +0,375(10)
P1 Вычисляется программой:p

1

n

=DA(16)
P2 Вычисляется программой: p

2

n

= 26(16)

6) Получим модуль произведения отрицательного отсчёта yn
-2
на коэффициент kP
:


|

p

1

n

|

= kP
|

xn

|

= CF(16)
30(16)
= ,11001111(2)
.
0,011000 (2)
= 26(16)
= 0,0100110(2)
= 0,296875(10)


7) Получим произведениеp

1

:


p

1

n

= kP
yn

-2

= CF(16)
30(16)
= ,11001111(2)
.
0,011000 (2)
= 26(16)
= 0,0100110(2)
= + 0,296875(10)


8) Вычислим выходной отсчёт:


yn
=

-p2n
+

xn-2

- (- |p1n
|)

= DA(16)
+ D0(16)
- 26(16)
= 84(16)
= 1,0000100 (2)
= -0,96875(10)


6)Загрузка в память МП-системы начальных данных:



Результаты работы программы:



а) При выполнении программного модуля масштабирования вычисленное программой численное значение масштабированного отсчёта xn

равно расчётному и запоминается в заданной ячейке памяти.


б) Вычисленные программой численные значения произведений p

1

n

,

p

2

n

равны расчётным и запоминаются в заданных ячейках.


в) Вычисленное программой численное значение выходного отсчёта yn

равно расчётному и запоминается в заданной ячейке.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Изучение алгоритма функционирования и программы цифрового фильтра

Слов:1240
Символов:12683
Размер:24.77 Кб.