Разработка корреляционного фильтра. Разработка функциональной схемы, страница 2


3.3 Детализированный алгоритм программы на основе языка Pascal


3.4 Сопоставление переменных алгоритма и используемых регистров процессора

Переменные алгоритма

Регистры используемые в подпрограмме

S

MX0, MX0(sec)

X

MY0

Y

MY0(sec)

S1

MR

S2

MR (sec)

R

AR

3.5 Обобщенный алгоритм подпрограммы korr.asm

Переключение на основной комплект регистров

 

Запись функции корреляции в память

 

Перемножение и накопление

 

Опорный cos

 

Входной сигнал

 

Запись функции корреляции в память

 

Переключение на второй комплект регистров

 

Перемножение и накопление

 

Опорный sin

 

Входной сигнал

 

3.6 Детализированный алгоритм подпрограммы korr.asm на основе языка Asembler

установка адреса в массиве sin_mas

 

Запись функции корреляции в ячейку памяти

 

Опорный cos

 

Чтение из порта ввода

 

Чтение из порта ввода

 

Переключение на основной комплект регистров

 

Запись функции корреляции в ячейку памяти

 

Перемножение и накопление

 

Переключение на второй комплект регистров

 

Перемножение и накопление

 

Опорный sin

 

Корреляционный фильтр состоит еще и из блока принятия решения, который принимает решение, какой из сигналов пришел на вход, после того как накоплены все отсчеты. В моей программе он расположен после цикла по частоте дискретизации.

3.7 Распределение регистров и ячеек памяти для хранения обрабатываемой информации(korr).

    Распределение регистров общего назначения и ячеек ОЗУ для хранения обрабатываемых величин имеет целью разместить обрабатываемую информацию (исходные  данные  и  промежуточные  результаты)  для хранения таким образом, чтобы избежать  её  нарушения.

   При  размещении  информации  необходимо  иметь  в виду  свойства полупроводниковой  памяти.  При  записи  в  регистр  (ячейку  памяти)  новой  информации  старая  информация бесследно  исчезает.  Если  необходимость  в  хранении  величины  отпала,  то  регистр  (ячейку  памяти)  можно  использовать  для  хранения  другой  величины.  Таким  образом,  возможно  использование  регистра  (ячейки  памяти)  для  хранения  нескольких  величин,  если  отрезки  времени  их  хранения  не  перекрываются.

Результат выполненной операции возникает в регистре результата. Если вычислитель будет выполнять другую операцию, то регистр результата нужно освободить, т.е. сохранить информацию в другом регистре или ячейке памяти. Нежелательно, но иногда требуется введение в алгоритм дополнительных переменных.

На основании анализа переменные алгоритма делятся на: