Контрольная работа: Изучение алгоритма функционирования и программы цифрового фильтра
Название: Изучение алгоритма функционирования и программы цифрового фильтра Раздел: Рефераты по коммуникации и связи Тип: контрольная работа | ||||||||||||||||||||||||||||||||||||
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ РЯЗАНСКИЙ ГОСУДАРСТВЕННЫЙ РАДИОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА РАДИОТЕХНИЧЕСКИХ СИСТЕМ Лабораторная работа №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) Зададим состояние памяти после запоминания масштабированных входных отсчётов максимальной амплитуды и отрицательных выходных отсчётов максимальной амплитуды
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) Зададим состояние памяти после запоминания масштабированных выходных отсчётов максимальной амплитуды и отрицательных входных отсчётов максимальной амплитуды
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 равно расчётному и запоминается в заданной ячейке. |