Описание алгоритма обработки
В данной работе в качестве алгоритма обработки рассмотрен нерекурсивный фильтр третьего порядка. Прежде всего следует отметить, что в общем случае при вычислении и очередного выходного отсчета у(к) используется информация двух типов: некоторое количество отсчетов входного сигнала и некоторое количество предыдущих отсчетов выходного сигнала. Ясно, что хотя бы один отсчет входного сигнала должен участвовать в вычислениях; в противном случае выходной сигнал не будет зависеть от входного. В противоположность этому, предыдущие отсчеты выходного сигнала могут не использоваться. Уравнение фильтрации в этом случае приобретает вид:
Количество используемых предыдущих отсчетов m называется порядком фильтра. Некоторое количество предыдущих отсчетов входного сигнала храниться в ячейках памяти, которые образуют дискретную линию задержки. Эти отсчеты умножаются на коэффициенты bi и суммируются, формируя выходной отсчет у(к).
Моделирование в среде MATHCAD
Текст программы
;********************************************** ; программа реализующая не рекурсивный фильтр ; III-го порядка ; Выполнил: ст. гр. 933 ; Кузнецов М.Г. ; Проверил: доц. каф. ИИБМТ ; Виноградов А.Л. ;********************************************** AT 00H ; абсолютный сегмент кода START ; первая команда по адресу 0 000BH ; вектор внешнего прерывания NEXT_DATA ; переход на подпрограмму AT 60H ; абсолютный сегмент: DS 10H ; резервируем 16 байтов под стекSEGMENT DATA ; объявляем перемещаемый сегмент данных MYDATA 30H ; переместить локальный счетчик на адрес: DS 8 ; резервируем место для данных b0: DS 1: DS 1: DS 1: DS 1 Buf: DS 4 ; резервируем место для буфера: DS 1 ; резервируем место для указателя буфера : DS 1 ; резервируем место для младшего байта сумм : DS 1 ; резервируем место для хран. промежуточного значения R0 SEGMENT CODE ; объявляем перемещаемой сегмент с именем MYPROG для кода нашей программы MYPROG ; активируем этот сегмент 50H ; переместить локальный счетчик на адрес 50H:SP, #STACK-1 ; инициализировать указатель стека IT0 ; установление прерываний по срезуIE, #82H ; разрешение всех прерываний EX0 ; разрешение внешнего прерывания TMOD, #01H ; инициализация таймера TL0, #0FFH ; запись кодов начальной задержки TH0, #0FFH ; в таймер TR0 ; запуск таймера SCON, #052H ; установка режима 8-битного UART_gnd: Back_gnd ; организация кольцевого цикла_DATA: Mx, #1 ; записываем данные в зарезервированные ячейки
MOV Mx+1, #2 Mx+2, #3 Mx+3, #4 Mx+4, #5 Mx+5, #6 Mx+6, #7 Mx+7, #8 b0, #Mx-3 b1, #Mx-2 b2, #Mx-1 MOV b3, #Mx Pbuf, #0 ; записываем в указатель буфера 0 R0, Mx ; записываем в ячейку R0 первое значение Х R5, #2 ; счетчик циклов R6, #4 ; количество циклов: ; подпрограмма вычисления Ук=bi*X (k-1) A, R0 ; помещаем в аккумулятор R0 R1, A ; помещаем аккумулятор в R1 A ; очищение аккумулятора Pbuf, #03H ; ОГРАНИЧЕНИЕ ПРИРАЩЕНИЯ, ОРГАНИЗАЦИЯ КОЛЬЦЕВОГО БУФЕРА A, Pbuf ; ДЛЯ ФОРМИРОВАНИЯ АДРЕСА A, #Buf ; ФОРМИРОВАНИЕ АДРЕСА В БУФЕРЕ A, R1 ; ЗАГРУЗКА В R1 АДРЕСА БУФЕРА @R1, A ; поместить число в буфер ST, @R1 ; помещаем содержимое R1 в ячейку ST PUSH ST ; сохранение ячейки ST Pbuf R0 R6, LOOP R1, #Buf ; указатель на буфер MOV R0, #b0 ; указатель на b0 SUMM, #0 ; очищаем ячейку с младшим байтом суммы
MOV R6, #4 ; количество циклов POP ST ; восстановили ST MOV R0, #0 MOV R0, Mx+4 ; приращение R0 MOV R6, #4 DJNZ R5, LOOP ; декрементировать счетчик R5 NOP ; прерывание программы CLR EA ; запрет прерываний TH0,#0F8H ; старший байт дополнительного кода периода цикла TL0,#2FH ; младший байт дополнительного кода периода цикла START ; возврат из подпрограммы обработки прерываний ; директива завершения трансляции Отладка системы
В курсовой работе для отладки системы использована программа ProView.фирмы Franklin Software Inc. - интегрированная среда разработки программного обеспечения для однокристальных микроконтроллеров семейства Intel 8051 и его клонов. Она включает в себя всё, что нужно для создания, редактирования, компиляции, трансляции, компоновки, загрузки и отладки программ: 1. стандартный интерфейс Windows; 2. полнофункциональный редактор исходных текстов с выделением синтаксических элементов цветом; 3. организатор проекта; 4. транслятор с языка C; 5. ассемблер; 6. отладчик; 7. встроенную справочную систему. Первый этап разработки программы - запись её исходного текста на каком-либо языке программирования. Затем производится компиляция или трансляция его в коды из системы команд микроконтроллера, используя транслятор или ассемблер. Трансляторы и ассемблеры - прикладные программы, которые интерпретируют текстовый файл, содержащий исходный текст программы, и создают объектные файлы, содержащие объектный код. После компоновки объектных модулей наступает этап отладки программы, устранения ошибок, оптимизации и тестирования программы.объединяет все этапы разработки прикладной программы в единый рекурсивный процесс, когда в любой момент времени возможен быстрый возврат к любому предыдущему этапу.имеет следующие компоненты.
Популярное: Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Почему стероиды повышают давление?: Основных причин три... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (196)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |