Главная > Разное > Теория и применение цифровой обработки сигналов
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

11.15. Подпрограммы для действий с плавающей запятой

FDP оперирует 18-разрядными числами с фиксированной запятой, но позволяет также выполнять действия над числами, имеющими плавающую запятую. В последнем случае сложение занимает около 6,5 мкс, изменение знака — 1,5 мкс, умножение — около 2,0 мкс, деление — около 10 мкс. Эти величины приблизительные, так как продолжительность операции зависит от значений обрабатываемых чисел.

Под обрабатываемые массивы в FDP отводятся два блока памяти  и  объемом по 4096 слов каждый. Отсюда следует, что БПФ массива, содержащего более 2048 точек, нельзя выполнить без обращения к большей памяти. Роль этой дополнительной памяти большего объема играет ЗУ , подключенное к каналу ввода-вывода FDP.

Фиг. 11.13. Вычисление БПФ большого массива с использованием магнитного ЗУ большого объема в составе FDP.

Рассмотрим, как выполняется БПФ с использованием ЗУ . В гл. 6 было показано, что если представить данные в виде двумерной матрицы размером , причем , то БПФ всего массива можно получить, найдя БПФ отдельных строк, перемножив все коэффициенты на поворачивающие множители и выполнив затем БПФ столбцов. Поскольку поворачивающих множителей , их следует хранить в  вместе с обрабатываемым массивом и при считывании очередной строки данных в ЗУ FDP вместе с ней должна передаваться и соответствующая строка поворачивающих множителей. После поворота эта строка пересылается обратно в . Таким образом, для обработки (включая повороты всех строк матрицы) требуется  циклов обращения к памяти . Как видно из фиг. 11.13, еще  циклов потребуется для вычисления БПФ столбцов и пересылки результатов в память . Полагая, что поворот занимает столько же времени, что и выполнение базовой операции, и обозначая это время через , а время, затрачиваемое на обмен информацией между  и , — через , получим следующее выражение для времени выполнения БПФ всего массива:

                     (11.3)

Если, например,  и =1,2 мкс, то =0,87 с, причем большую часть этого времени занимает выполнение базовых операций, необходимых в любом случае. Время, затрачиваемое только на выполнение  базовых операций (если весь массив данных помещается в ЗУ ), составляет =0,629 с. Отсюда можно было бы сделать вывод, что ограничение объема быстродействующей памяти  не слишком замедляет вычисление БПФ больших массивов, когда массивы хранятся в большом ЗУ с произвольным доступом, подключенном к  в качестве устройства ввода—вывода. С таким заключением не следует, однако, спешить. Заметим, что если время  обращения к внешней памяти  слишком велико, так что  превышает первое слагаемое суммы (11.3), то  становится ограничивающим фактором. В   может составлять, например, 1,6 или 3,2 мкс (в зависимости от режима работы). При =1,6 мкс и =65 536 время обмена =0,52с, т. е. меньше времени счета и не играет существенной роли. При = 3,2 мкс, однако, =1,04с, т. е. именно оно ограничивает скорость обработки.

Упражнение. Пусть объем памяти  равен 1024 числам и необходимо выполнить 1024-точечное БПФ, используя . Считая, что =1,2 мкс, =0,5 мкс  и =3,2 мкс, определите время обработки. Сравните результат со временем вычисления БПФ того же массива в  при большем объеме быстродействующей   памяти.

Упражнение. Несколько более сложным вариантом предыдущей задачи является выполнение БПФ большого объема в реальном времени. Попытайтесь перечислить основные действия (и определить длительность их выполнения), необходимые для такой обработки. Составьте блок-схему программы. В результате должна получиться система с одним входом и одним выходом, причем отсчеты сигнала последовательно поступают на вход, а отсчеты спектра последовательно появляются на выходе в реальном времени. Оцените максимальную скорость поступления данных, при которой  еще справляется с обработкой.

 

<< Предыдущий параграф Следующий параграф >>
Оглавление