Устройство для вычисления двумерного дискретного преобразования фурье
Изобретение относится к вычислительной технике и может быть использовано в высокопроизводительных специализированных вычислительных машинах и устройствах обработки сигналов для вычисления двумерного дискретного преобразования Фурье. Цель изобретения - сокращение аппаратурных затрат. Цель достигается тем, что устройство содержит n операционных блоков, где n - размерность входной матрицы x [ n, n] , и блок ввода, причем операционный блок содержит 2n + 3 регистров, умножитель, сумматор, девять триггеров, пятнадцать групп элементов И, шесть групп элементов ИЛИ, восемь элементов И, двенадцать элементов ИЛИ, элемент ИЛИ - НЕ и три элемента НЕ. 3 табл. , 4 ил.
Изобретение относится к вычислительной технике и может быть использовано в высокопроизводительных специализированных вычислительных машинах и устройствах обработки сигналов для вычисления двумерного дискретного преобразования Фурье.
Цель изобретения - сокращение аппаратурных затрат устройства. На фиг. 1 приведена структурная схема устройства для вычисления двумерного дискретного преобразования Фурье; на фиг. 2 - структурная схема устройства для случая n= 3; на фиг. 3 - схема блока ввода; на фиг. 4 - схема операционного блока. Устройство для вычисления двумерного дискретного преобразования Фурье (фиг. 1) содержит первую 11 и вторую 12 группы информационных входов, информационный вход 2, первый 3, второй 4, третий 5, четвертый 6 и пятый 7 тактовые входы, синхровход 8, блок 9 ввода, операционные блоки 10i (i= ) и выход 11. Блок 9 ввода (фиг. 3) содержит первую 12 и вторую 13 группы информационных входов, первый 14 и второй 15 тактовые входы, первый 16 и второй 17 входы режима записи, синхровход 18, регистры 19i, 20i (i= ) группы элементов И 21i, 22i (i= ), группы элементов ИЛИ 23i, 24i (i= ), группу элементов ИЛИ 25, элементы И 26, 27 и выход 28. Операционный блок 10 (фиг. 4) содержит первый 29 и второй 30 информационные входы, первый 31, второй 32 и третий 33 тактовые входы, синхровход 34, регистры 351, 352, 36, 37i, 38i (i= ), умножитель 39, сумматор 40, группы элементов И 41-56, группы элементов ИЛИ 57-62, элементы И 63-70, элементы ИЛИ 71-82, элемент ИЛИ-НЕ 83, элементы НЕ 84-86, триггеры 87-95, первый 96 и второй 97 информационные выходы, первый 98, второй 99 и третий 100 тактовые выходы. В основу работы устройства для вычисления двумерного дискретного преобразования Фурье по формулам i= ; j= ; p= ; q= ; Yij= Xpqipjq, = exp; bjp= xpqiq; Yij= bjpip положены следующие рекуррентные соотношения: j= ; p= ; q= ; b(j, p, 0)= xp, n-1; b(j, p, q)= b(j, p, q-1) j+ xp, n-1-q; bjp= b(j, p, n-1); i= ; j= ; p= ;y(i, j, -1)= 0;
y(i, j, n)= y(i, j, p-1) i+ bj, n-1-p;
yij= y(i, j, n-1). Рассмотрим работу операционного блока 10 (фиг. 4) и блока 9 ввода (фиг. 3). Операционный блок 10 работает в шести режимах, которые задаются комбинацией сигналов aj, bj и cj, подаваемых соответственно на входы 31, 32 и 33 на j-м такте . Первый режим работы задается комбинацией сигналов 1i= (aj, bj, cj)= (0, 0, 1). При этом на выходе элемента И 65 формируется управляющий сигнал 1, а на выходе триггера 87 - управляющий сигнал 1j (по сигналу j обеспечивается запись в регистры на j-м такте, а по сигналу j - на (j+ 1)-м такте). Сигнал 1 подается на вход группы элементов И 51 и на входы элементов ИЛИ 71 и 72 (открываются группы элементов И 41, 49, 51 и элемент И 63). На вход 29 подается элемент j и через группы элементов И 41 и ИЛИ 57 записывается в регистр 371 на j-м такте. Информация из регистра 37i (i= ) переписывается в регистр 37i+1. Управляющий сигнал 1 подается на вход элемента ИЛИ 77 (открываются группы элементов И 44, 49). Содержимое регистра 371 через группу элементов И 47 выдается на выход 96 операционного блока. Входной элемент х, подаваемый на вход 30, записывается в регистр 351. Содержимое регистра 36 через группы элементов И 51 и ИЛИ 59 записывается в регистр 381. Содержимое регистра 38i (i= ) записывается в регистр 38i+1. Содержимое регистра 352 через группы элементов И 49 и ИЛИ 58 выдается на выход 97. Во втором режиме работы 3j= (0, 1, 0). При этом на выходе элемента И 66 формируется управляющий сигнал 2, а на выходе триггера 88 - управляющий сигнал 2. Сигнал 2 подается на вход группы элементов И 46, на входы элементов ИЛИ 71, 72 и 73, а сигнал 2 - на вход элемента ИЛИ 77. Открываются группы элементов И 41, 44, 49 и элементы И 63, 64. Как и в первом режиме, аналогично элемент записывается в регистр 371, содержимое регистра 371 выдается на выход 96 и информация записывается в регистры 37i. Входной элемент х записывается в регистр 381, через группы элементов И 46 и ИЛИ 59, а также записывается в регистр 351. Содержимое регистра 352 выдается на выход 97. Информация из регистра 38i (i= ) записывается в регистр 38i+1. В третьем режиме 2j= (1, 0, 0). При этом управляющий сигнал 3формируется на выходе элемента И 67, а управляющий сигнал 3 - на выходе триггера 89. Сигнал 3 подается на входы элементов ИЛИ 72, 73, 74 и 75, а сигнал 3 - на входы группы элементов И 47 и элементов ИЛИ 78, 79. Открываются группы элементов И 42, 45, 47, 49, 53, 56 и элементы И 63, 64. Содержимое регистра 37n через группы элементов И 42 и ИЛИ 57 записывается в регистр 371. Содержимое регистра 37i (i= ) записывается в регистр 37i+1. Входной элемент х записывается в регистры 351 и 36 (по сигналу 3 открыт элемент И 64 и разрешается запись в регистр 36). На выход 97 подается содержимое регистра 352. Содержимое сумматора 40 через группы элементов И 53 и ИЛИ 59 записывается в регистр 381 по сигналу 3 . Содержимое регистра 38n <b> через группы элементов И 56 и ИЛИ 61 подается на первый вход умножителя 39, на второй вход которого содержимое регистра 37n <> подается через группы элементов И 45 и ИЛИ 62. На выходе умножителя 39 формируется значение b . На первый вход сумматора 40 подается содержимое регистра 351 < x> через группы элементов И 47 и ИЛИ 60, а на второй вход - значение b . На выходе сумматора 40 формируется значение b + x по сигналу 3. В четвертом режиме работы 4 = (1, 0, 1). На выходе элемента И 68 формируется сигнал 4, на выходе триггера 90 - сигнал 4. Сигнал 4подается на выходы элементов ИЛИ 72,74 и 75, а сигнал 4 - на входы элементов ИЛИ 78, 79 и группы элементов И 52. Открываются группы элементов И 42, 45, 49, 52, 53, 56 и элемент И 63. Аналогично, как и в третьем режиме, информация в регистрах 37i (i= ) циклически переписывается. На выход 97 подается содержимое регистра 352 через группы элементов И 49 и ИЛИ 58. В регистр 351 записывается входной элемент х. В регистр 381 записывается иформация с выхода сумматора 40 через группы элементов И 53 и ИЛИ 59 по сигналу 4 . Содержимое регистра 38i (i= ) записывается в регистр 38i+1. По сигналу 4 на выходе умножителя 39 формируется значеие b (элемент b подается с регистра 37n, а элемент - с регистра 38n), на выходе сумматора 40 - значение b + x (элемент х подается с регистра 36 через группы элементов И 52 и ИЛИ 60). В пятом режиме работы 5= (1, 1, 0). На выходе элемента И 69 формируется сигнал 5, на выходе триггера 91 - сигнал 5. Сигнал 5 подается на входы элементов ИЛИ 71, 72 и 76, а сигнал 5 - на входы группы элементов И 48, элементов ИЛИ 71, 76, 77, 80, 81, 82 и элемента ИЛИ-НЕ 83. Открываются группы элементов И 41, 43, 44, 48, 50, 54, 55 и элемент И 63. Входной элемент записывается в регистр 371, который выдается через группу элементов И 44 на выход 96. Содержимое регистра 38n записывается в регистр 381 через группы элементов И 54 и ИЛИ 59. Содержимое регистра 38i (i= ) записывается в регистр 38i+1. На первый вход умножителя 39 входной элементy подается с выхода регистра 351 через группы элеметов И 48 и ИЛИ 61, а на второй вход - содержимое регистра 371 <>через группы элементов И 43 и ИЛИ 62. На выходе умножителя 39 формируется значение y , которое подается на вход сумматора 40, на второй вход которого подается содержимое регистра 38n<b> через группы элементов И 55 и ИЛИ 60. На выходе сумматора 40 формируется значение y + b, которое через группы элементов И 50 и ИЛИ 58 подается на выход 97. В шестом режиме работы 6= (1, 1, 1). На выходе элемента И 70 формируется сигнал 6, на выходе триггера 92 - сигнал 6. Сигнал 6подается на входы элементов ИЛИ 76, а сигнал 6 - на входы элементов ИЛИ 81, 82, элемента ИЛИ-НЕ 83 и группы элементов И 48. Открываются группы элементов И 43, 48, 50, 54 и 55. Регистр 371 сохраняет состояние предыдущего такта, информация в регистрах 38i (i= ) циклически переписывается. На первый вход умножителя 39 подается входной элемент y с выхoда регистра 351 через группы элементов И 48 и ИЛИ 61, а на второй вход - содержимое регистра 371 <> через группы элементов И 43 и ИЛИ 62. На выходе умножителя 39 формируется значение y , которое подается на вход сумматора 40, на второй вход которого подается содержимое регистра 38n <b> через группы элементов И 55 и ИЛИ 60. На выходе сумматора 40 формируется значение y + b, которое подается через группы элементов И 50 и ИЛИ 58 на выход 97. Блок 9 ввода работает следующим образом. При подаче на вход 16 нулевого сигнала группы элементов И 21j(j= ) закрываются, на вторые входы групп элементов ИЛИ 23j (j= ) подаются нулевые значения, на первые входы которых подаются соответствующие коэффициенты j, которые записываются в соответствующие регистры 19j (j= ) при наличии на входе 14 единичного сигнала (элемент И 26 открывается и тактовый импульс подается на синхровходы всех регистров 19j). При подаче на вход 16 единичного сигнала группы элементов И 21j (j= ) открываются, на входы 12j подаются нулевые значения, на вход 14 подается соответствующая последовательность единичных сигналов , на выход 28 подаются соответствующие коэффициенты j. Аналогично записываются и выдаются на выход 28 коэффициенты i. При описании работы устройства в обозначении ij индекс i указывает номер режима работы операционного блока (i= ), а индекс j - номер такта работы устройства. Коэффициенты iи j записываются в блок 9 ввода при подаче их соответственно на группы информационных входов 11 и 12. Коэффициенты jвыдаются с блока 9 ввода на первый информационный вход операционного блока 101 при наличии сигнала = 1 в момент времени
ti= i+n-1, а коэффициенты i выдаются при наличии сигнала = 1 в моменты времени
ti= (i+n+1)n-1. На входы 3, 4 и 5 подаются соответственно сигналы a, b и с, которые задают шесть режимов работы i= (a, b, c):
1= (0, 0, 1); 2 = (0, 1, 0) 3= (1, 0, 0); 4= (1, 0, 1); 5= (1, 1, 0); 6= (1, 1, 1). Управляющие сигналы подаются в следующей последовательности:
, . . . ,
,
,
,
,
. Элементы выходной матрицы y[n, n] выдаются на выход 11 в момент времени
tyij= in+j+(n+2)n-2. Организация входного и выходного потоков данных устройства для n= 3 приведены на фиг. 2, а состояния регистров, значения на входах и выходах операционных блоков 101, 102 и 103 приведены в табл. 1-3. В них приводятся формируемые значения b(j, p, q) и y(i, j, n-1) в соответствии с рекуррентными соотношениями вычисления двумерного дискретного преобразования Фурье. Первый элемент yoo выдается на выход на (n2+2n-2)-м такте, а последний элемент yn-1, n-1 - на (2n2+3n-2)-м такте. Таким образом, предлагаемое устройство по сравнению с прототипом содержит меньший объем оборудования (прототип содержит 2n операционных блоков и n групп вхoдов для ввода элементов матрицы x [n, n] , а предлагаемое устройство - n операционных блоков и одну группу входов для ввода элементов матрицы x[n, n] , что существенно при реализации на основе сверхбольших интегральных схемах).
Формула изобретения
РИСУНКИ
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4