Главная > Оптика > Оптические вычисления
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

7.2. Цифровая оптика

7.2.1. Алгоритм цифрового умножения с помощью вычисления аналоговой свертки (ЦУАС)

Одна из целей цифровых оптических вычислений состоит в достижении большей гибкости системы, чем у их аналоговых предшественников. Особенность оптических компьютеров состоит в том, что они скорее выполняют не монолитные операции, а ряд простых операций, которые можно объединить для выполнения широкого круга задач. Однако в данном случае это не так плохо, поскольку при построении оптических процессоров, осуществляющих функции регистра, их возможности поднимутся на качественно новый уровень. С этой точки зрения матричное умножение (под которым подразумевают либо умножение матрицы на вектор, либо матрицы на матрицу), возможно, является наиболее полезной операцией среднего уровня из числа тех, которые только можно придумать. Многие сложные проблемы, например калмановское фильтрование,

можно представить в виде серии операций с матрицами. Матричное умножение представляет собой не что иное, как упорядоченные серии операций умножения и сложения, каждое из которых легко выполнить оптически. Далее обсуждение ограничено случаем некогерентной оптики, так что интерес будет представлять интенсивность света, а фазу рассматривать не потребуется. Используя термины из области оптики, числа представляют уровнями интенсивности света, или уровнями пропускания пространственных модуляторов света. Если свет с интенсивностью проходит через модулятор с коэффициентом пропускания результирующая интенсивность света составляет Сложение осуществляется путем суммирования большого числа световых пучков на единственном фотодетекторе. В литературе описан ряд оптических матричных умножителей, использующих уровни интенсивности для представления целых чисел Реализация всего этого затрудняется ограниченным динамическим диапазоном оптической обработки. На практике удается получать, управлять и детектировать около 500 дискретных уровней. Это ограничивает точность вычислений примерно 8 разрядами. Точность в 8 бит является удовлетворительной лишь в редких случаях, что особенно проявляется в задачах с большим числом шагов, когда погрешности накапливаются. Как хорошо известно из области применения ЭВМ, решение должно быть представлено в цифровой форме. Каждое число представляют последовательностью цифр, каждая из которых имеет очень маленький динамический диапазон. а операции проводят над отдельными цифрами.

В работе [7] было показано, что умножение двух чисел эквивалентно выполнению свертки над их цифровыми представлениями в том случае, если результат операции свертки интерпретируется в смешанном формате, в котором для основания числа отдельные цифры могут иметь величины, большие чем . В общем, если возникает желание умножить по основанию два -разрядных числа, представленных в виде

где — отдельные цифры, то результат выглядит так:

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

следует перемножить. Для выполнения свертки запишем цифры числа у в обратном порядке и разместим их после цифр числа х. Первым значением свертки является вторым до значение свертки может быть записано как что в точности является цифрой произведения Рисунок 7.1 является иллюстрацией к конкретному примеру. Первый столбец показывает реализацию умножения выполняемого (по основанию 10) так, как этому обучают в начальной школе. Следует обратить особое внимание на то, что когда получается число, большее 9 (как в случае ), то цифры старшего порядка переносятся и суммируются в соответствующих столбцах. Та же самая ситуация специально показана в среднем столбце для тех, кто не обращал ранее внимания на указанную процедуру. Операции переноса не были проделаны, а числа были накоплены в каждом из столбцов. Окончательный правильный ответ, однако, получается в том случае, если числа интерпретируют обычным образом, т. е. Этот ответ представлен в записи со смешанным форматом. Последний столбец показывает свертку, выполняемую для последовательностей цифр у чисел 25 и 13. В данном примере число 13 перевернуто и сдвинуто (на дискретные шаги) за число 25. Перекрывающие столбцы перемножаются и суммируются. Величины, получающиеся на трех ступенях выполнения операции свертки, являются такими же, как и в среднем столбце, что подтверждает эквивалентность свертки и умножения. Процесс умножения с помощью операции свертки приобрел известность как алгоритм цифрового умножения с помощью аналоговой свертки (ЦУАС).

В целом для заданного основания число представляют с точностью в I цифр, где каждая цифра изменяется от 0 до Если два числа, каждое длиной цифр, умножаются

Рис. 7.1, Три способа умножения (слева направо): обычная процедура, без переноса цифр в разрядах, свертка,

без арифметических переносов, то результат имеет длину цифр, при этом каждая цифра лежит в интервале от 0 до При электронном способе вычисления выражений предпочтительным является представление информации по основанию 2 (двоичный код). Это объясняется тем, что в данном случае высока помехозащищенность и можно применять булеву алгебру. Однако что касается оптических вычислений, то веских причин для выбора основания 2 нет. Это объясняется непрерывным характером прохождения света в различных средах. Наоборот, имеется соблазн рассмотреть другие, большие по величине основания с целью уменьшения объема данных. Как показано в [8], увеличение b позволяет снизить I ценой увеличения динамического диапазона выходного сигнала. Например, число, требующее 16 бит по основанию 2, потребует 8 бит по основанию 4 и 4 бит — по основанию 16. Динамический диапазон выходного сигнала составит 16 по основанию 2, 72 по основанию 4, и 900 по основанию 16. При переходе к основанию 16 был превышен достижимый на практике предельный динамический диапазон оптических систем (около 500). Однако даже в случае основания 4 начинает уменьшаться помехозащищенность. По этим причинам, а также по практическим соображениям обеспечения условий состыковки с электронными схемами дальнейшая дискуссия будет ограничена рассмотрением двоичных чисел и будет считаться, что в обозримом будущем оптические компьютеры будут оставаться двоичными.

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