Мегаобучалка Главная | О нас | Обратная связь


Описание алгоритма обработки



2020-03-19 180 Обсуждений (0)
Описание алгоритма обработки 0.00 из 5.00 0 оценок




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

Прежде всего следует отметить, что в общем случае при вычислении и очередного выходного отсчета у(к) используется информация двух типов: некоторое количество отсчетов входного сигнала и некоторое количество предыдущих отсчетов выходного сигнала. Ясно, что хотя бы один отсчет входного сигнала должен участвовать в вычислениях; в противном случае выходной сигнал не будет зависеть от входного. В противоположность этому, предыдущие отсчеты выходного сигнала могут не использоваться. Уравнение фильтрации в этом случае приобретает вид:

 

 

Количество используемых предыдущих отсчетов 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. встроенную справочную систему.

Первый этап разработки программы - запись её исходного текста на каком-либо языке программирования.

Затем производится компиляция или трансляция его в коды из системы команд микроконтроллера, используя транслятор или ассемблер. Трансляторы и ассемблеры - прикладные программы, которые интерпретируют текстовый файл, содержащий исходный текст программы, и создают объектные файлы, содержащие объектный код.

После компоновки объектных модулей наступает этап отладки программы, устранения ошибок, оптимизации и тестирования программы.объединяет все этапы разработки прикладной программы в единый рекурсивный процесс, когда в любой момент времени возможен быстрый возврат к любому предыдущему этапу.имеет следующие компоненты.



2020-03-19 180 Обсуждений (0)
Описание алгоритма обработки 0.00 из 5.00 0 оценок









Обсуждение в статье: Описание алгоритма обработки

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (180)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)