Устройство для вычисления трехмерного дискретного преобразования фурье
Изобретение относится к области вычислительной техники и может быть использовано в специализированных системах обработки сигналов высокой производительности для вычисления трехмерного дискретного преобразования Фурье. Устройство содержит N1 вычислительных модулей, где N1 - размерность входных данных x(i2, i3, i4), 0i2N1-1, 0i3N2-1, 0i4N3-1, причем вычислительный модуль содержит блок управления, умножитель, сумматор, два регистра, две группы регистров, шестнадцать групп элементов И, семь групп элементов ИЛИ, пять элементов ИЛИ, элемент И и элемент ИЛИ-НЕ. 1 з. п. ф-лы, 3 табл., 3 ил.
Изобретение относится к области вычислительной техники и может быть использовано в специализированных системах обработки сигналов высокой производительности для вычисления трехмерного ДПФ.
Известно устройство, реализующее систолический способ вычисления одномерного ДПФ и содержащее два коммутатора, операционный блок, два блока постоянной памяти, группу из К-1 (К размер преобразования) операционных блоков, группу и К блоков хранения и блок управления /1/. Недостатком этого устройства является невозможность вычисления трехмерного ДПФ. Наиболее близким по технической сущности является устройство, реализующее систолический способ вычисления трехмерного ДПФ для данных размером N1N2N3 и содержащее три многоканальные систолические матрицы, причем первая многоканальная систолическая матрица содержит N1 вычислительных ячеек N1 запоминающих ячеек (каждая запоминающая ячейка содержит регистр и сумматор), вторая многоканальная систолическая матрица содержит N2 вычислительных ячеек (емкость каждой запоминающей ячейки составляет 2N1-1 регистров) и третья систолическая матрица содержит N3 вычислительных ячеек и N3 запоминающих ячеек (емкость каждой запоминающей ячейки составляет 2N1N2 1 регистров) /2/. Недостатком такого устройства является большой объем оборудования и невысокая технологичность при реализации на сверхбольших интегральных схемах за счет наличия многоразрядных длинных выходных первой и второй многоканальных систолических матриц соответственно со входами второй и третьей многоканальных систолических матриц. Устройство для вычисления трехмерного дискретного преобразования Фурье (фиг. 1, 2) содержит N1 вычислительных модулей 7, где N1 - размерность входных данных x(i2, i3, i4), 0i2N1-1, 0i3N2-1, 0i4N3-1, причем информационный вход 1 устройства подключен к первому информационному входу первого вычислительного модуля 7о, 2i-й вход группы информационных входов подключен ко второму информационному входу 7i-го вычислительного модуля, первый 3, второй 4 и третий 5 управляющие входы устройства подключены соответственно к первому, второму и третьему управляющим входам первого вычислительного модуля 7о, информационный выход, первый, второй и третий управляющие выходы 7i-го вычислительного модуля подключены соответственно к информационному входу, первому, второму и третьему управляющим входам 7 (i+1)-го вычислительного модуля, второй информационный выход 7i-го вычислительного модуля подключен к 8i-му выходу устройства, тактовый вход 6 которого подключен к синхровходам всех вычислительных модулей 7, при этом в вычислительном модуле 7 первый 9 информационный вход подключен к первым входам элементов И 22 первой группы и информационному входу первого 18 регистра, выход которого подключен к первому входу умножителя 16 и первому 52 информационному выходу вычислительного модуля, выходы элементов И 22 первой группы подключены к соответствующим первым входам элементов ИЛИ 38 первой группы, выход которых подключен к информационному входу первого регистра 201 первой группы, выход которого подключен к первым входам элементов И второй 23, третьей 34 и четвертой 33 групп, вторые входы элементов И 23 второй группы подключены к выходу элемента ИЛИ-НЕ 51, а выходы к соответствующим первым входам элементов ИЛИ 39 второй группы, выходы которых подключены к информационному входу второго регистра 202 первой группы, выход 20i-го регистра первой группы подключен к информационному входу 20(i+1)-го регистра, выход 20N3-го регистра первой группы подключен к первым входам элементов И пятой 24 и шестой 26 групп, вторые входы элементов И 24 пятой группы подключены к выходу первого элемента ИЛИ 45, а выход ко вторым входам элементов ИЛИ 38 первой группы, выход второго элемента ИЛИ 46 подключен к первым входам элементов И 25 седьмой группы, выходы которых подключены к соответствующим вторым входам элементов ИЛИ 39 второй группы, выходы элементов И 26 шестой группы подключены к соответствующим первым входам элементов ИЛИ 40 третьей группы, вторые входы которых подключены к соответствующим выходам элементов И 28 девятой группы, а выходы к информационному входу первого регистра 211 второй группы, выход которого подключен к первым входам элементов И десятой 27, одиннадцатой 36 и двенадцатой 35 групп, выходы элементов И 27 десятой группы подключены к соответствующим входам элементов ИЛИ 41 четвертой группы, выходы которых подключены к информационному входу второго регистра 212 второй группы, выход 21i-го регистра подключен к информационному входу 21 (i+1)-го регистра, выход 21 N3(N1+N2)-го регистра подключен к первым входам элементов И девятой 28 и тринадцатой 31 групп, второй 10 информационный вход вычислительного модуля подключен к первым входам элементов И 30 четырнадцатой группы, выходы которых подключены к соответствующим первым входам элементов ИЛИ 42 пятой группы, вторые входы которых подключены к соответствующим выходам элементов И 31 тринадцатой группы, а выходы к информационному входу второго 19 регистра, выход которого подключен к первым входам элементов И пятнадцатой 32 и шестнадцатой 37 групп, а синхровход к выходу элемента И 50, первый вход которого подключен к выходу третьего элемента ИЛИ 47, выход четвертого элемента ИЛИ 48 подключен ко вторым входам элементов И 32 пятнадцатой группы, выходы которых подключены к соответствующим первым входам элементов ИЛИ 43 шестой группы, вторые входы которых подключены к соответствующим выходам элементов И 34 третьей группы, а третьи входы к соответствующим выходам элементов И 36 одиннадцатой группы, второй вход умножителя 16 подключен к выходам элементов ИЛИ 43 шестой группы, а выход к первому входу сумматора 17, второй вход которого подключен к выходу элементов ИЛИ 44 седьмой группы, первые входы которых подключены к соответствующим выходам элементов И 35 двенадцатой группы, а вторые входы к соответствующим выходам элементов И 37 шестнадцатой группы, выход сумматора 7 подключен ко вторым входам элементов И 25 седьмой группы и первым входам элементов И 29 восьмой группы, тактовый вход 14 вычислительного модуля подключен к синхровходам первого 18 регистра, регистрам первой 20 и второй 21 групп, второму входу элемента И 50 и блока управления 15, первый, второй и третий входы которого подключены соответственно к первому 11, второму 12 и третьему 13 управляющим входам вычислительного модуля, первый, второй и третий информационные выходы которого подключены соответственно к первому 54, второму 55 и третьему 56 выходам блока управления, четвертый выход которого подключен ко вторым входам элементов И 22 первой группы, пятый выход блока управления подключен ко вторым входам элементов И 30 четырнадцатой группы, первого 45 и третьего 47 элемента ИЛИ, шестой выход блока управления подключен к первому входу первого элемента ИЛИ 45, седьмой выход блока управления подключен ко вторым входам элементов И 26 шестой группы, вторым инверсным входам элементов И 28 девятой группы и третьему входу первого элемента ИЛИ 45, восьмой выход блока управления подключен к четвертому входу первого элемента ИЛИ 45, девятый выход блока управления подключен ко вторым входам элементов И 31 тринадцатой группы и третьего элемента ИЛИ 47, десятый выход блока управления подключен к первым входам элементов ИЛИ-НЕ 51, второго 46, четвертого 48 и пятого 49 элементов ИЛИ, одиннадцатый выход управления подключен ко вторым входам элемента ИЛИ-НЕ 51, второго 46, четвертого 48 и пятого 49 элементов ИЛИ, двенадцатый выход блока управления подключен ко вторым входам элементов И 34 третьей и двенадцатой 35 групп и вторым инверсным входам элементов И 27 десятой группы, тринадцатый выход блока управления подключен ко вторым входам элементов И 36 одиннадцатой и шестнадцатой 37 групп, при этом первый вход 57 блока управления подключен к входу первого элемента НЕ 75, первым входам четвертого 71, пятого 72, шестого 73 и седьмого 74 элементов И и информационному входу первого 61 триггера, выход которого подключен к первому 78 выходу блока управления, второй 58 вход которого подключен к входу второго элемента НЕ 76, вторым входам второго 69, третьего 70, шестого 73 и седьмого 74 элементов И и информационному входу второго 62 триггера, выход которого подключен ко второму 79 выходу блока управления, третий вход 59 которого подключен к входу третьего элемента НЕ 77, третьим входам первого 68, третьего 70, пятого 72 и седьмого 74 элементов И и информационному входу третьего 63 триггера, выход которого подключен к третьему 80 выходу блока управления, выход первого элемента НЕ 75 подключен к первым входам первого 68, второго 69 и третьего 70 элементов И, выход второго элемента НЕ 76 подключен ко вторым входам первого 68, четвертого 71 и пятого 72 элементов И, выход третьего элемента НЕ 77 подключен к третьим входам второго 69, четвертого 71 и шестого 73 элементов И, выход с первого по шестой элементов И 68 73 подключены соответственно к выходам с четвертого по девятый 81 86 блока управления, выходы второго 69, третьего 70, пятого 72 и седьмого 74 элементов И подключены к информационным входам соответственно четвертого 64, пятого 65, шестого 66 и седьмого 67 триггеров, выходы которых подключены соответственно к выходам с десятого по тринадцатый 90 93 блока управления, синхровход 60 которого подключен к синхровходам всех триггеров. Устройство для вычисления трехмерного ДПФ (фиг. 1) содержит информационный вход 1, группу информационных входов , первый 3, второй 4 и третий 5 управляющие входы, тактовый вход 6, вычислительные модули и группу информационных входов . Вычислительный модуль 7 (фиг. 2) содержит первый 9 и второй 10 информационные входы, первый 11, второй 12 и третий 13 управляющие входы, тактовый вход 14, блок управления 15, умножитель 16, сумматор 17, регистры 18 и 19, первую группу регистров , вторую группу регистров , группы элементов И 22 37, группы элементов ИЛИ 38 44, элементы ИЛИ 45 49, элемент И 50, элемент ИЛИ-НЕ 51, первый 52 и второй 53 информационные выходы, первый 52 и второй 53 информационные выходы, первый 54, второй 55 и третий 56 управляющие выходы. Блок управления 15 (фиг. 3) содержит первый 57, второй 58 и третий 59 управляющие входы, тактовый вход 60, триггеры 61 67, элементы И 68 74, элементы НЕ 75 77, выходы 78 90. В основу работы устройства положено вычисление трехмерного дискретного преобразования Фурье, определяемое выражением где x(q1, q2, q3) входная последовательность, 0q1N1-1, 0q2N2-1, 0q3N3-1, N1, N2, N3 целые положительные числа, Алгоритм вычисления трехмерного дискретного преобразования Фурье задается следующими рекуррентными выражениями: x0(i1, i2, i3, i4) x0(i1-1, i2, i3, i4), 0i1N1-1, 0i2N1-1, 0i3N2-1, 0i4N3-1} 0i1N1-1, 0i2N1+N2-1, 0i3N2-1, 0i4N3-1} 0i1N1-1, N1i2N1+N2-1, N2i3N2+N3-1, 1i4N3-1} Начальные значения x(i2, i3, i4), переменной x0(i2, i3, i4) присваиваются при i1=0, 0i2N1-1, 0i3N2-1, 0i4N3-1. Начальные значения переменной x0(i1, i2, i3, i4), присваиваются при i1=0, N1i2N1+N2-1, 1i3N2-1, 0i4N3-1. Начальные значения переменной x0(i1, i2, i3, i4), присваиваются при i1=0, N1i2N1+N2-1, N2i3N2+N3-1, 1i4N3-1.Начальные значения переменной x3(i1, i2, i3, i4), присваиваются при 0i1N1-1, 1i2N1-1, 0i3N2-1, i4=0. Искомый результат вычисления трехмерного дискретного преобразования Фурье определяется равенством x3(i1, i2, i3, N3-1) Y3(i1, i2-N1, i3-N2),
0i1N1-1, N1i2N1+N2-1, N2i3N2+N3-1. Вычислительный модуль 7 (фиг. 2) обладает возможностью реализации следующих функций:
где Аj+1, Вj+1 и Гj+1 значения соответственно на первом, втором и третьем управляющих выходах вычислительного модуля на (j+1)-м такте,
j, j и j значения соответственно на первом, втором и третьем управляющих входах вычислительного модуля на j-м такте,
Рj+1=pj,
где Рj+1 значение на первом информационном выходе вычислительного модуля на (j+1)-м такте,
рj значение на первом информационном входе вычислительного модуля на j-м такте,
где j значение на втором информационном входе вычислительного модуля на j-м такте,
Входной поток данных задается следующими выражениями. На входы 2i1 подается последовательность коэффициентов (0i1N1-1, 1i2N1-1,
в моменты времени
На вход 1 подается последовательность коэффициентов (N1i2N1+N2-1, 1i3N2-1)
в моменты времени
На вход 1 подается последовательность коэффициентов
(N2i3N2+N3-1, 1i4N3-1)
в моменты времени
На вход 1 подается входная последовательность x(i2, i3, i4) в моменты времени
0i2N1-1, 0i3N2-1, 0i4N3-1. На входы 4, 5 и 6 подаются соответственно управляющие сигналы , и , принимающие значения 0 или 1. Управление работой вычислительных модулей 7 задается комбинацией управляющих сигналов , которые определяются переменными i1, i2, i3, i4:
Комбинация управляющих сигналов =(, , ) подается на входы 3, 4 и 5 в моменты времени
t=i1+N3i2+N3(N1+N2)i3+i4.
Элементы выходного потока данных Y3(i1, i2, i3)=x3(i1, i2+N1, i3+N2, N3-1) при 0i1N1-1, 0i2N2-1, 0i3N3-1 формируются в вычислительном модуле 7i1-м в моменты времени
которые выдаются с соответствующих выходов 8i. Последний элемент Y3(N1-1, N2-1, N3-1) формируется на (N3(N2+N3)+(N1+N2)+N1-1)-м такте. Рассмотрим работу устройства для случая N1=3, N2=N3=2 (фиг. 1). Устройство содержит три вычислительных модуля 70, 71 и 72. Весовые коэффициенты подаются соответственно на выходы 20, 21 и 22. Весовые коэффициенты и входные данные x(i2, i3, i4) подаются в соответствующие моменты времени на вход 1, а управляющие сигналы , и соответственно на входы 3, 4 и 5. Выходные данные Y(i1, i2, i3) формируются на соответствующих выходах 80, 81 и 82. В таблицах 1, 2 и 3 приведены организация подачи входных данных, состояние регистров, формируемые значения на выходе сумматора и выходные данные соответственно в вычислительных модулях 70, 71, 72. ТТТ1 ТТТ2 ТТТ3 ТТТ4 ТТТ5 ТТТ6 ТТТ7 ТТТ8 ТТТ9 ТТТ10
Формула изобретения
РИСУНКИ
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7, Рисунок 8, Рисунок 9, Рисунок 10, Рисунок 11, Рисунок 12, Рисунок 13