Функции быстродействующего периферийного процессора

В БПП с помощью 12 микропрограмм реализовано 32 алгоритма. Все алгоритмы производят операции над массивами (векторами), размещенными в памяти БПП. Размещение элементов массивов в памяти может быть разреженным, поэтому при обращении к подпрограмме, реализующей алгоритм, необходимо указывать не только начальные адреса исходных и результирующих векторов и число их элементов, но и приращение каждого вектора; т. е. расстояние в памяти между элементами с соседними индексами. Например, при умножении массивов (массива) на константу с двойной точностью массив результата получается с двойной точностью, в котором каждый элемент состоит из двух слов: старшая часть результата помещается по четному адресу, младшая — по нечетному, равному адресу старшей части плюс 1. Поэтому приращение результирующего массива должно быть не менее 2.

Поиск максимального или минимального значения входных элементов в массиве производится с помощью микропрограммы сканирования. Выходным результатом является максимальное значение элемента и его относительный адрес во входном массиве.

Расчет дискретного преобразования Фурье производится с помощью алгоритма быстрого преобразования Фурье (БПФ). Расчет в каждой из М итераций (М — показатель степени 2 длины массива) производится по формулам:

формулы

где N — длина входного массива, равная степени 2; I — номер пары элементов в группе; В(I) и С(I) — массивы промежуточных результатов. Значения синусов и косинусов выбираются из таблицы, находящейся в памяти данных.

Быстрое преобразование Фурье двух действительных массивов можно выполнять одновременно. Для этого, применяют искусственный прием — представление 1-го массива как действительной части входного комплексного массива, а 2-го массива как мнимой части. После преобразования Фурье выделяют комплексные коэффициенты 1-го и 2-го массивов из коэффициентов Фурье сформированного массива. Это выделение называется распаковкой для БПФ:

формулы

где A1 (I) и А2(I) —коэффициенты Фурье 1-го и 2-го действительных массивов; А(I)—коэффициент Фурье массива, сформированного из 1-го и 2-го массивов, причем А(0)=А(N); N — число элементов 1-го массива; I=0, ..., N, если длина 2-го и 1-го массивов равны, и N=2M.

При обратном БПФ комплексного массива используется распаковка:

формулы

Упаковка для БПФ применяется для получения коэффициентов Фурье исходного действительного массива. БПФ этого массива выполняется таким образом:

  • элементы с четными и нечетными номерами рассматриваются как элементы различных действительных массивов, длина которых вдвое меньше длины входного массива;
  • над этими двумя массивами осуществляется преобразование Фурье и распаковка коэффициентов.

Упаковка для ОБПФ используется перед обратным преобразованием Фурье комплексного массива, а двоичная инверсия для возвращения в нормальный порядок комплексных коэффициентов Фурье, которые после выполнения преобразования по алгоритму БПФ находятся в порядке Кули — Туки, т. е. в двоично-инверсном.