RU2190874C2 - Arithmetic device for calculating fast fourier transformation - Google Patents

Arithmetic device for calculating fast fourier transformation Download PDF

Info

Publication number
RU2190874C2
RU2190874C2 RU99116107A RU99116107A RU2190874C2 RU 2190874 C2 RU2190874 C2 RU 2190874C2 RU 99116107 A RU99116107 A RU 99116107A RU 99116107 A RU99116107 A RU 99116107A RU 2190874 C2 RU2190874 C2 RU 2190874C2
Authority
RU
Russia
Prior art keywords
output
input
register
adder
arithmetic device
Prior art date
Application number
RU99116107A
Other languages
Russian (ru)
Other versions
RU99116107A (en
Inventor
С.Л. Злобин
А.Я. Стальной
Original Assignee
Открытое акционерное общество "Научно-производственное объединение "Алмаз" им. акад. А.А.Расплетина"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Открытое акционерное общество "Научно-производственное объединение "Алмаз" им. акад. А.А.Расплетина" filed Critical Открытое акционерное общество "Научно-производственное объединение "Алмаз" им. акад. А.А.Расплетина"
Priority to RU99116107A priority Critical patent/RU2190874C2/en
Publication of RU99116107A publication Critical patent/RU99116107A/en
Application granted granted Critical
Publication of RU2190874C2 publication Critical patent/RU2190874C2/en

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

FIELD: computer science. SUBSTANCE: device has registers, multipliers and adders. EFFECT: high speed calculations; simplified design. 3 dwg

Description

Изобретение относится к области вычислительной техники и предназначено для построения устройств цифровой обработки сигналов, в частности процессоров для быстрого преобразования Фурье и быстрого преобразования Хартли. The invention relates to the field of computer technology and is intended to build devices for digital signal processing, in particular processors for fast Fourier transform and fast Hartley transform.

Известно "Устройство для умножения комплексных чисел" (а/с 1297034, G 06 F 7/49, 03.10.85 г.). It is known "Device for the multiplication of complex numbers" (a / s 1297034, G 06 F 7/49, 03.10.85,).

Это устройство не обеспечивает:
а) необходимой простоты аппаратурной реализации;
б) необходимого быстродействия из-за сложности управления вычислительным процессом.
This device does not provide:
a) the necessary simplicity of hardware implementation;
b) the necessary speed due to the complexity of controlling the computing process.

Наиболее близким к заявляемому техническому решению является принятое за прототип "Арифметическое устройство для выполнения быстрого преобразования Хартли-Фурье" (присвоен патент 2125290, 6 G 06 F 7/14, заявка 96105426/09 (009126) от 20.03.96 г. ), содержащее регистры, коммутаторы, умножители с накопителями. Closest to the claimed technical solution is the prototype "Arithmetic device for performing fast Hartley-Fourier transform" (assigned patent 2125290, 6 G 06 F 7/14, application 96105426/09 (009126) from 03.20.96), containing registers, switches, multipliers with drives.

Данное устройство предназначено для построения устройств цифровой обработки сигналов, в частности процессоров для быстрого преобразования Фурье и быстрого преобразования Хартли. This device is designed to build digital signal processing devices, in particular processors for fast Fourier transform and fast Hartley transform.

Это устройство не обеспечивает:
а) необходимой простоты аппаратурной реализации;
б) необходимого быстродействия.
This device does not provide:
a) the necessary simplicity of hardware implementation;
b) the necessary speed.

Сущность изобретения заключается:
- в упрощении схемы устройства за счет использования умножителей и сумматоров вместо коммутаторов и умножителей с накопителями;
- в существенном увеличении быстродействия работы устройства, достигаемом за счет конвейеризации процесса вычисления базовой операции ("бабочки") алгоритма БПФ или БПХ;
- в увеличении быстродействия работы устройства, достигаемом за счет регулярности и простоты управления вычислительным процессом арифметического устройства для выполнения БПФ или БПХ.
The invention consists of:
- to simplify the circuit of the device due to the use of multipliers and adders instead of switches and multipliers with drives;
- a significant increase in the speed of the device, achieved by pipelining the process of calculating the basic operation ("butterfly") of the FFT or BPH algorithm;
- to increase the speed of the device, achieved due to the regularity and ease of control of the computing process of the arithmetic device to perform FFT or BPH.

Для этого в устройство, содержащее пять регистров, введены три регистра, три умножителя, три сумматора. For this, three registers, three multipliers, three adders are introduced into a device containing five registers.

Изобретение будет понятно из следующего описания и приложенных к нему чертежей. The invention will be apparent from the following description and the accompanying drawings.

На фиг. 1 приведена схема арифметического устройства для выполнения алгоритма БПХ;
На фиг. 2 приведена временная диаграмма работы арифметического устройства.
In FIG. 1 shows a diagram of an arithmetic device for performing the BPH algorithm;
In FIG. 2 shows a timing diagram of the operation of an arithmetic device.

В чертежах и тексте приняты следующие обозначения:
1. Первый вход данных.
The following notation is used in the drawings and text:
1. The first data entry.

2. Второй вход данных. 2. Second data input.

3. Вход управления умножителями. 3. Input control multipliers.

4. Третий вход данных. 4. Third data entry.

5. Четвертый вход данных. 5. Fourth data entry.

6. Первый вход управления записью. 6. The first entry of the recording control.

7. Первый вход управления сумматором. 7. The first adder control input.

8. Пятый вход данных. 8. Fifth data entry.

9. Вход управления. 9. Login control.

10. Шестой вход данных. 10. Sixth data entry.

11. Второй вход управления записью. 11. The second entry control recording.

12. Второй вход управления сумматором. 12. The second adder control input.

13. Третий вход управления записью. 13. The third entry control recording.

14. Четвертый вход управления записью. 14. The fourth entry is a recording control.

15. Первый регистр. 15. The first register.

16. Второй регистр. 16. The second register.

17. Третий регистр. 17. The third register.

18. Четвертый регистр. 18. Fourth register.

19. Пятый регистр. 19. Fifth register.

20. Шестой регистр. 20. Sixth register.

21. Первый умножитель. 21. The first multiplier.

22. Второй умножитель. 22. The second multiplier.

23. Первый сумматор. 23. The first adder.

24. Второй сумматор. 24. The second adder.

25. Третий умножитель. 25. The third multiplier.

26. Третий сумматор. 26. The third adder.

27. Седьмой регистр. 27. Seventh register.

28. Восьмой регистр. 28. Eighth register.

29. Первый выход результата. 29. The first output of the result.

30. Второй выход результата. 30. The second output of the result.

В состав арифметического устройства для вычисления быстрого преобразования Хартли-Фурье, выполняющего базовую операцию Хартли-Фурье в конвейере (см. фиг.1), входят восемь регистров, три умножителя, три сумматора. The arithmetic device for calculating the fast Hartley-Fourier transform, performing the basic Hartley-Fourier operation in the pipeline (see figure 1), includes eight registers, three multipliers, three adders.

К информационным входам первого регистра 15, второго регистра 16, третьего регистра 17 и четвертого регистра 18 подключены соответственно первый вход данных 1, второй вход данных 2, третий вход данных 4 и четвертый вход данных 5. Входы управления записью регистров 15-18 соединены с первым входом управления записью 6. К информационным входам пятого регистра 19 и шестого регистра 20 подключены соответственно пятый вход данных 8 и шестой вход данных 10. Входы управления записью регистров 19, 20 соединены со вторым входом управления записью 11. To the information inputs of the first register 15, second register 16, third register 17 and fourth register 18 are connected respectively the first data input 1, the second data input 2, the third data input 4 and the fourth data input 5. The control inputs of the register 15-18 are connected to the first the recording control input 6. To the information inputs of the fifth register 19 and sixth register 20 are connected, respectively, the fifth data input 8 and the sixth data input 10. Inputs of the write control registers 19, 20 are connected to the second input of the write control 11.

Выход первого регистра 15 и выход второго регистра 16 соединены соответственно с первым и вторым информационными входами первого умножителя 21. Выход третьего регистра 17 и выход четвертого регистра 18 соединены соответственно с первым и вторым информационными входами второго умножителя 22. Управляющие входы умножителей 21 и 22 соединены со входом управления умножителями 3. Выход первого умножителя 21 и выход второго умножителя 22 соединены соответственно с первым и вторым информационными входами первого сумматора 23. Управляющий вход сумматора 23 соединен с первым входом управления сумматором 7. Выход первого сумматора 23 соединен с первым информационным входом второго сумматора 24. Выход пятого регистра 19 соединен со вторым информационным входом второго сумматора 24 и с первым информационным входом третьего умножителя 25, второй информационный вход которого соединен с выходом шестого регистра 20. Управляющие входы сумматора 24 и умножителя 25 соединены со входом управления 9. The output of the first register 15 and the output of the second register 16 are connected respectively to the first and second information inputs of the first multiplier 21. The output of the third register 17 and the output of the fourth register 18 are connected respectively to the first and second information inputs of the second multiplier 22. The control inputs of the multipliers 21 and 22 are connected to the control input of the multipliers 3. The output of the first multiplier 21 and the output of the second multiplier 22 are connected respectively to the first and second information inputs of the first adder 23. The control input of the adder 23 is connected to the first control input of the adder 7. The output of the first adder 23 is connected to the first information input of the second adder 24. The output of the fifth register 19 is connected to the second information input of the second adder 24 and to the first information input of the third multiplier 25, the second information input of which is connected to the output sixth register 20. The control inputs of the adder 24 and the multiplier 25 are connected to the control input 9.

Выход второго сумматора 24 соединен с информационным входом седьмого регистра 27 и с первым информационным входом третьего сумматора 26, второй информационный вход которого соединен с выходом третьего умножителя 25. Управляющий вход сумматора 26 соединен со вторым входом управления сумматором 12. Выход третьего сумматора 26 соединен с информационным входом восьмого регистра 28. Входы управления записью регистров 27, 28 соединены соответственно с третьим входом управления записью 13 и с четвертым входом управления записью 14. Выходы седьмого и восьмого регистров 27, 28 соединены соответственно с первым и вторым выходами результата 29, 30 и являются информационными выходами устройства. The output of the second adder 24 is connected to the information input of the seventh register 27 and to the first information input of the third adder 26, the second information input of which is connected to the output of the third multiplier 25. The control input of the adder 26 is connected to the second control input of the adder 12. The output of the third adder 26 is connected to the information the input of the eighth register 28. The inputs of the write control registers 27, 28 are connected respectively with the third input of the write control 13 and the fourth input of the write control 14. The outputs of the seventh and direct registers 27, 28 are connected respectively to a first and a second result output 29, and 30 are informational device outputs.

Устройство работает следующим образом. The device operates as follows.

Матричный рекуррентный алгоритм БПФ, описанный в а/с 633426, G 06 F 15/332, 13.03.89 г., представляется следующими формулами:

Figure 00000002

где p, t - размерности матриц A, B, Q, F, G на разных итерациях.The FFT matrix recurrence algorithm described in a / c 633426, G 06 F 15/332, 03/13/89, is represented by the following formulas:
Figure 00000002

where p, t are the dimensions of the matrices A, B, Q, F, G at different iterations.

р=2m-1; t=2r-m; p*t=2r-1; r=lоg2N, где m - номер итерации, m=1, 2, 3, .. .., r, N = 2r - размерность обрабатываемого массива данных;
матрицы Аpt, Вpt являются половинами массива данных на соответствующей итерации;
матрицы Fpt, Gpt являются половинами массива результатов на соответствующей итерации;
Qp1 - первый вектор-столбец матрицы весовых коэффициентов Qpt на соответствующей итерации.
p = 2 m-1 ; t = 2 rm ; p * t = 2 r-1 ; r = log 2 N, where m is the iteration number, m = 1, 2, 3, .. .., r, N = 2 r is the dimension of the processed data array;
the matrices A p t , B p t are the halves of the data array at the corresponding iteration;
matrices F p t , G p t are the halves of the results array at the corresponding iteration;
Q p 1 is the first column vector of the weight matrix Q p t at the corresponding iteration.

Операция Вpt * Qp1 является статическим (поэлементным) произведением матрицы Вpt на вектор-столбец Qp1.The operation B p t * Q p 1 is the static (elementwise) product of the matrix B p t and the column vector Q p 1 .

Весовые коэффициенты представляются следующим выражением:
Q(k) = exp(-j2π(k-1)/N),
где k=1, 2, 3, ..., N/2;

Figure 00000003

Если взять N = 2, то формулы (1) принимают вид:
Figure 00000004

Формулы (2) представляют собой известное выражение базовой операции БПФ - "бабочки".Weights are represented by the following expression:
Q (k) = exp (-j2π (k-1) / N),
where k = 1, 2, 3, ..., N / 2;
Figure 00000003

If we take N = 2, then formulas (1) take the form:
Figure 00000004

Formulas (2) are a well-known expression of the basic FFT operation - “butterflies”.

Арифметическое устройство выполняет "бабочку" БПФ в соответствии с формулами (2). Учтем, что числа A, B, Q, F и G являются комплексными. Обозначим:

Figure 00000005

где a, b, f, g, q - действительные части комплексных чисел A, B, F, G, Q, а α,β,γ,φ,σ - мнимые части этих чисел. Как показано в описании патента 2125290, 6 G 06 F 7/14, заявка 96105426/09 (009126) от 20.03.96 г. (название патента: "Арифметическое устройство для выполнения быстрого преобразования Хартли-Фурье"), формулы (2) можно представить в виде двух скалярных произведений матриц на вектор-столбцы:
Figure 00000006

Предлагаемое арифметическое устройство вычисляет операцию "бабочка" как матричную: вычислением скалярного произведения (3). Можно представить вычислительный процесс по формулам (3) с использованием математического знака суммирования:
Figure 00000007

где ψi и δi - числа a, b, -β, -a,1,q σ, 2, a θi и μi - числа α,β,b,-α, 1, q, σ и 2.The arithmetic device performs the "butterfly" FFT in accordance with formulas (2). We take into account that the numbers A, B, Q, F, and G are complex. Denote:
Figure 00000005

where a, b, f, g, q are the real parts of the complex numbers A, B, F, G, Q, and α, β, γ, φ, σ are the imaginary parts of these numbers. As shown in the description of patent 2125290, 6 G 06 F 7/14, application 96105426/09 (009126) of 03/20/96 (patent name: "Arithmetic device for performing fast Hartley-Fourier transform"), formulas (2) can represent in the form of two scalar products of matrices by column vectors:
Figure 00000006

The proposed arithmetic device calculates the butterfly operation as a matrix: by calculating the scalar product (3). One can imagine the computational process according to formulas (3) using the mathematical sign of summation:
Figure 00000007

where ψ i and δ i are the numbers a, b, -β, -a, 1, q σ, 2, a θ i and μ i are the numbers α, β, b, -α, 1, q, σ and 2.

Суммы

Figure 00000008

представляют собой операции скалярного умножения.Amounts
Figure 00000008

represent scalar multiplication operations.

Алгоритм скалярного произведения позволяет организовать процесс вычисления "бабочки" БПФ в конвейере, т.е. результат "бабочки" будет выдаваться каждый такт (числа f и φ, g и γ), что существенно увеличивает скорость вычисления всего алгоритма БПФ. The scalar product algorithm allows you to organize the process of computing the "butterfly" FFT in the pipeline, i.e. the result of the “butterfly” will be issued every measure (numbers f and φ, g and γ), which significantly increases the speed of computing the entire FFT algorithm.

Таким образом, можно выполнить вычисления за 4 такта работы умножителей и сумматоров. Считаем, что такт умножения равен по длительности такту сложения (вычитания). На третьем такте появляются результаты f и φ. На четвертом такте появляются результаты g и γ.
Конвейер заполняется за 4 такта, затем результаты вычисления "бабочек" (числа f и φ, g и γ) появляются на выходе каждый такт.
Thus, it is possible to perform calculations in 4 clock cycles of multipliers and adders. We believe that the cycle of multiplication is equal in duration to the cycle of addition (subtraction). On the third measure, the results f and φ appear. On the fourth measure, the results g and γ appear.
The conveyor is filled in 4 steps, then the results of the calculation of the “butterflies” (numbers f and φ, g and γ) appear on the output every step.

Матричный рекуррентный алгоритм быстрого преобразования Хартли (БПХ) с прореживанием по времени, описанный в патенте РФ 2071221, 6 G 06 F 17/14, заявка 94024301/09 (023698) от 29.06.94 г. (название изобретения: "Процессор для быстрого преобразования Хартли"), представляется следующими формулами:

Figure 00000009

где р=2m-1, t=2r-m, m=1, 2, 3, ..., r;
р, t - размерности матриц
Figure 00000010
на разных итерациях;
Сp1 и Sp1 - первые вектор-столбцы матриц весовых коэффициентов Сpt и Spt на соответствующей итерации;
r - число итераций;
m - номер итерации;
N - длина исходного массива, N=2r.Hartley matrix fast recurrence matrix algorithm (BPH) with time decimation described in RF patent 2071221, 6 G 06 F 17/14, application 94024301/09 (023698) dated 06/29/94 (title of the invention: "Processor for fast conversion Hartley ") is represented by the following formulas:
Figure 00000009

where p = 2 m-1 , t = 2 rm , m = 1, 2, 3, ..., r;
p, t are the dimensions of the matrices
Figure 00000010
at different iterations;
C p 1 and S p 1 are the first column vector vectors of the matrices of weight coefficients C p t and S p t at the corresponding iteration;
r is the number of iterations;
m is the iteration number;
N is the length of the original array, N = 2 r .

Операция Вptp1 представляет собой поэлементное (статическое) умножение столбцов матрицы Вpt на вектор-столбец Сp1. Матрица

Figure 00000011
получена из матрицы Вpt. Строки матрицы
Figure 00000012
кроме первой, представлены строками матрицы Вpt, размещенными в обратном порядке (инверсия строк).The operation B p t * C p 1 is the elementwise (static) multiplication of the columns of the matrix B p t by the column vector C p 1 . Matrix
Figure 00000011
obtained from the matrix B p t . Matrix Rows
Figure 00000012
except the first one, they are represented by the rows of the matrix B p t placed in the reverse order (inversion of rows).

Весовые коэффициенты представляются следующими выражениями:
С(k)=cоs(2π(k-1)/N); S(k)=sin(2π(k-1)/N); где k=1, 2, 3, ..., N/2.
Weights are represented by the following expressions:
C (k) = cos (2π (k-1) / N); S (k) = sin (2π (k-1) / N); where k = 1, 2, 3, ..., N / 2.

Если взять N= 2, то базовая операция БПХ ("бабочка") будет описываться выражением:

Figure 00000013

Формулы (6) можно представить в виде скалярного произведения матрицы на вектор-столбец:
Figure 00000014

где
Figure 00000015
входные действительные числа; F, G - выходные действительные числа (результат счета); С и S - весовые коэффициенты.If we take N = 2, then the basic BPH operation ("butterfly") will be described by the expression:
Figure 00000013

Formulas (6) can be represented as the scalar product of a matrix by a column vector:
Figure 00000014

Where
Figure 00000015
input real numbers; F, G - output real numbers (counting result); C and S are weights.

Как показано в описании патента 2125290, 6 G 06 F 7/14, заявка 96105426/09 от 20.03.96 г. (название патента: "Арифметическое устройство для выполнения быстрого преобразования Хартли-Фурье"), формулы (7) можно представить с использованием математического знака суммирования:

Figure 00000016

где αii - числа
Figure 00000017

Сумма
Figure 00000018

представляет собой операцию скалярного умножения.As shown in the description of patent 2125290, 6 G 06 F 7/14, application 96105426/09 of 03.20.96 (patent name: "Arithmetic device for performing fast Hartley-Fourier transform"), formulas (7) can be represented using mathematical sign of summation:
Figure 00000016

where α i , β i are numbers
Figure 00000017

Amount
Figure 00000018

is a scalar multiplication operation.

Алгоритм скалярного произведения здесь, как и в случае БПФ, позволяет организовать процесс вычисления "бабочки" БПХ в конвейере, т.е. результат "бабочки" будет выдаваться каждый такт (числа F и G), что существенно увеличивает скорость вычисления всего алгоритма БПХ. The scalar product algorithm here, as in the case of the FFT, allows you to organize the process of computing the “butterfly” of the BPH in the pipeline, i.e. the result of the “butterfly” will be issued every measure (numbers F and G), which significantly increases the speed of computing the entire BPH algorithm.

Вычисление "бабочки" БПХ выполняется за 4 такта работы умножителей и сумматоров. На третьем такте появляется результат F, а на четвертом - результат G. The calculation of the "butterfly" BPH is performed for 4 clock cycles of multipliers and adders. On the third bar, the result F appears, and on the fourth bar - the result G.

Конвейер заполняется за 4 такта, затем результаты вычисления каждой последующей "бабочки" (числа F и G) появляются на выходе каждый такт. The conveyor is filled in 4 steps, then the results of the calculation of each subsequent "butterfly" (numbers F and G) appear on the output every step.

Как мы видим, формулы для вычисления операции "бабочка" аналогичны

Figure 00000019
для БПФ и БПХ. Поэтому в дальнейшем будет рассмотрен процесс вычисления "бабочки" БПХ.As we can see, the formulas for calculating the butterfly operation are similar
Figure 00000019
for FFT and BPH. Therefore, in the future, the process of calculating the “butterfly” of the BPH will be considered.

На фиг. 1 приведена схема арифметического устройства для выполнения базовой операции БПХ в конвейере. In FIG. 1 is a diagram of an arithmetic device for performing a basic BPH operation in a conveyor.

По входам 1, 2, 4, 5, 8, 10 в арифметическое устройство поступают действительные числа

Figure 00000020
Регистры 15-20 осуществляют прием и хранение этих чисел. Указанные числа записываются в регистры параллельным кодом. Регистр 15 принимает и хранит число В, регистр 16 - число С, регистр 17 - число
Figure 00000021
регистр 18 - число S, регистр 19 - число A, а регистр 20 - число 2. По входам 6 и 11 устройства на входы управления записью регистров поступают коды записи.At the inputs 1, 2, 4, 5, 8, 10, real numbers enter the arithmetic device
Figure 00000020
Registers 15-20 receive and store these numbers. The indicated numbers are written to the registers in parallel code. Register 15 receives and stores number B, register 16 - number C, register 17 - number
Figure 00000021
register 18 is the number S, register 19 is the number A, and register 20 is the number 2. At the inputs 6 and 11 of the device, write codes are received at the inputs of the register control.

Арифметическое устройство обрабатывает поступающие действительные числа согласно формулам (7). Не выполняется лишь операция умножения числа A на 1, как излишняя. По мере выполнения тактов конвейера с выходов регистров 19 и 20 поступают действительные числа и подмешиваются в скалярное произведение в соответствии с (7). По входам 3, 7, 9 и 12 устройства поступают соответствующие коды управления на умножители 21, 22, 25 и сумматоры 23, 24 и 26. Умножители и сумматоры выполняют операцию вычисления "бабочки" БПХ по тактам, при этом каждый раз результат передается дальше на следующую ступень конвейера, а предыдущая ступень уже готова обрабатывать новые операнды. Три такта работы конвейера затрачиваются на вычисление результата F и один такт на вычисление результата G. Проследим по тактам, как осуществляются вычисления. The arithmetic device processes incoming real numbers according to formulas (7). Only the operation of multiplying the number A by 1 is not performed, as excessive. As the conveyor ticks are fulfilled, real numbers come from the outputs of the registers 19 and 20 and are mixed into the scalar product in accordance with (7). At the inputs 3, 7, 9 and 12 of the device, the corresponding control codes are sent to the multipliers 21, 22, 25 and the adders 23, 24 and 26. The multipliers and adders perform the operation of computing the “butterfly” of the BPH by the clock, and each time the result is transmitted further to the next stage of the conveyor, and the previous stage is ready to process new operands. Three steps of the conveyor’s work are spent on calculating the result F and one step on calculating the result of G. Let us follow the steps of how the calculations are performed.

1. Из регистра 15 операнд В поступает на первый вход умножителя 21. Из регистра 16 операнд С поступает на второй вход умножителя 21. Операнды В и С перемножаются в умножителе 21 и результат запоминается на выходе умножителя 21. 1. From register 15, operand B goes to the first input of multiplier 21. From register 16, operand C goes to the second input of multiplier 21. Operands B and C are multiplied in multiplier 21 and the result is stored at the output of multiplier 21.

Одновременно из регистра 17 операнд

Figure 00000022
поступает на первый вход умножителя 22. Из регистра 18 операнд S поступает на второй вход умножителя 22. Операнды
Figure 00000023
и S перемножаются и результат запоминается на выходе умножителя 22.At the same time from the register 17 operand
Figure 00000022
arrives at the first input of the multiplier 22. From the register 18, the operand S goes to the second input of the multiplier 22. The operands
Figure 00000023
and S are multiplied and the result is stored at the output of the multiplier 22.

2. С выхода умножителя 21 произведение

Figure 00000024
поступает на первый вход сумматора 23. С выхода умножителя 22 произведение
Figure 00000025
поступает на второй вход сумматора 23. Поступающие операнды суммируются в сумматоре 23 и результат запоминается на выходе сумматора 23.2. From the output of the multiplier 21 works
Figure 00000024
goes to the first input of the adder 23. From the output of the multiplier 22 product
Figure 00000025
arrives at the second input of the adder 23. The incoming operands are summed in the adder 23 and the result is stored at the output of the adder 23.

3. С выхода сумматора 23 полученная сумма поступает на первый вход сумматора 24. Из регистра 19 операнд A поступает на второй вход сумматора 24. Поступающие операнды суммируются и результат запоминается на выходе сумматора 24. Получен первый результат - число F. Число F записывается в регистр 27. 3. From the output of the adder 23, the received amount goes to the first input of the adder 24. From the register 19, the operand A goes to the second input of the adder 24. The incoming operands are summed and the result is stored at the output of the adder 24. The first result is obtained — the number F. The number F is written to the register 27.

Одновременно операнд A из регистра 19 поступает на первый вход умножителя 25. Из регистра 20 число 2 поступает на второй вход этого умножителя. Операнды перемножаются и результат запоминается на выходе умножителя 25. At the same time, operand A from register 19 enters the first input of multiplier 25. From register 20, number 2 enters the second input of this multiplier. The operands are multiplied and the result is stored at the output of the multiplier 25.

4. С выхода сумматора 24 число F (в дополнительном коде) поступает на первый вход сумматора 26. С выхода умножителя 25 произведение Aх2 поступает на второй вход сумматора 26. Поступающие операнды суммируются в сумматоре 26 (фактически выполняется операция вычитания Aх2-F). Получен второй результат - число G. Число G записывается в регистр 28. По входам 13 и 14 устройства на входы управления записью регистров 27 и 28 поступают коды записи. 4. From the output of the adder 24, the number F (in the additional code) goes to the first input of the adder 26. From the output of the multiplier 25, the product Ax2 is fed to the second input of the adder 26. The incoming operands are summed in the adder 26 (in fact, the subtraction operation Ax2-F is performed). The second result is obtained - the number G. The number G is written to register 28. At the inputs 13 and 14 of the device, write codes are received at the recording control inputs of registers 27 and 28.

Таким образом, полный цикл вычисления базовой операции ("бабочки") БПХ занимает четыре такта работы конвейера, иначе говоря, четыре такта работы умножителей и сумматоров. Результаты вычисления базовой операции (числа F и G) из регистров 27 и 28 поступают на выходы 29 и 30 устройства со сдвигом на такт между собой. Thus, the full cycle of computing the basic operation ("butterfly") of the BPH takes four clock cycles of the conveyor, in other words, four clock cycles of the multipliers and adders. The results of the calculation of the basic operation (numbers F and G) from the registers 27 and 28 are fed to the outputs 29 and 30 of the device with a shift by a clock between them.

Конвейер заполняется за 4 такта, затем результаты вычисления каждой следующей "бабочки" (числа F и G) появляются на выходе устройства каждый такт. The conveyor is filled in 4 steps, then the results of the calculation of each next "butterfly" (numbers F and G) appear on the output of the device every step.

Временная диаграмма работы арифметического устройства при вычислении нескольких "бабочек" БПХ приведена на фиг.2. The timing diagram of the arithmetic device when calculating several "butterflies" BPH is shown in figure 2.

2. Устройство по п.1, отличающееся тем, что дополнительно введено r-1 арифметических устройств по п.1, 3r формирователей адресов, 3r элементов И, r + 1 блоков памяти, г блоков постоянной памяти, блок управления, регистр. Здесь r= log2N - количество итераций, которые необходимо выполнить для вычисления БПХ или БПФ массива данных произвольной размерности N=2r, r зависит от размерности массива данных N (r=1, 2, 3, ...).2. The device according to claim 1, characterized in that r-1 arithmetic devices according to claim 1, 3r address shapers, 3r AND elements, r + 1 memory blocks, g read-only memory blocks, a control unit, a register are additionally introduced. Here r = log 2 N is the number of iterations that must be performed to calculate the FFT or FFT of the data array of arbitrary dimension N = 2 r , r depends on the dimension of the data array N (r = 1, 2, 3, ...).

Таким образом, расширяются возможности устройства по п.1 за счет реализации с помощью описанного в п.1 арифметического устройства конвейерного устройства для выполнения быстрого преобразования Хартли-Фурье (т.е. конвейера по итерациям, вычисляющего БПХ или БПФ). Thus, the capabilities of the device according to claim 1 are expanded due to the implementation of a conveyor device for performing a fast Hartley-Fourier transform (i.e., an iteration pipeline calculating FFT or FFT) using the arithmetic device described in claim 1.

Сущность изобретения по п.2 заключается:
- в существенном увеличении быстродействия работы устройства, достигаемом за счет полной конвейеризации процесса вычисления алгоритма БПФ или БПХ по итерациям (реализуется конвейер по итерациям) и использования в вычислительном процессе арифметического устройства, описанного в п.1;
- в обеспечении естественного порядка следования входной и выходной информации;
- в упрощении схемы, за счет введения идентичных формирователей адресов, выполненных на ПЗУ, в которых закодированы последовательности адресов чисел, необходимых для выполнения БПФ или БПХ по итерациям;
- в увеличении быстродействия работы устройства, достигаемом за счет регулярности и простоты управления вычислительным процессом БПФ или БПХ.
The invention according to claim 2 is:
- a significant increase in the speed of operation of the device, achieved by fully pipelining the process of computing the FFT or BPH algorithm by iterations (a pipeline by iterations is implemented) and using the arithmetic device described in paragraph 1 in the computing process;
- in ensuring the natural sequence of input and output information;
- to simplify the scheme, by introducing identical address formers made on ROM, in which sequences of addresses of numbers necessary for FFT or BPH for iterations are encoded;
- to increase the speed of the device, achieved due to the regularity and ease of control of the computing process of the FFT or BPH.

Устройство будет понятно из следующего описания и приложенного к нему чертежа. The device will be clear from the following description and the attached drawing.

На фиг. 3 приведена схема конвейерного устройства по п.2 для выполнения алгоритма БПХ с использованием конвейера по итерациям. In FIG. 3 shows a diagram of a conveyor device according to claim 2 for performing the BPH algorithm using a iterative conveyor.

В чертеже и тексте приняты следующие обозначения:
31. Арифметическое устройство по п.1.
The following notation is used in the drawing and text:
31. The arithmetic device according to claim 1.

32. Информационный вход конвейерного устройства по п.2. 32. The information input of the conveyor device according to claim 2.

33. Вход тактовой частоты. 33. Clock input.

34. Первый элемент И. 34. The first element of I.

35. Второй элемент И. 35. The second element of I.

36. Третий элемент И. 36. The third element of I.

37. Первый блок памяти. 37. The first block of memory.

38. Формирователь адресов. 38. Shaper addresses.

39. Блок управления. 39. The control unit.

40. Выход первого блока памяти. 40. The output of the first memory block.

41. Выход первого формирователя адресов. 41. The output of the first shaper addresses.

42. Выход второго формирователя адресов. 42. The output of the second shaper addresses.

43. Выход третьего формирователя адресов. 43. The output of the third shaper addresses.

44. Первый блок постоянной памяти. 44. The first block of read-only memory.

45. Выход первого блока постоянной памяти. 45. The output of the first block of read-only memory.

46. Выход первого арифметического устройства по п.1. 46. The output of the first arithmetic device according to claim 1.

47. Второй блок памяти. 47. The second block of memory.

48. Выход второго блока памяти. 48. The output of the second memory block.

49. Первый выход блока управления. 49. The first output of the control unit.

50. Второй выход блока управления. 50. The second output of the control unit.

51. Третий выход блока управления. 51. The third output of the control unit.

52. Четвертый выход блока управления. 52. The fourth output of the control unit.

53. Пятый выход блока управления. 53. The fifth output of the control unit.

54. Шестой выход блока управления. 54. The sixth output of the control unit.

55. Седьмой выход блока управления. 55. The seventh output of the control unit.

56. Восьмой выход блока управления. 56. The eighth output of the control unit.

57. Девятый выход блока управления. 57. The ninth output of the control unit.

58. Десятый выход блока управления. 58. The tenth output of the control unit.

59. Одиннадцатый выход блока управления. 59. The eleventh output of the control unit.

....... .......

....... .......

....... .......

48+6r. 6r-й выход блока управления. 48 + 6r. 6th output of the control unit.

49+6r. 6r+1-й выход блока управления. 49 + 6r. 6r + 1st output of the control unit.

50+6r. 6r+2-й выход блока управления. 50 + 6r. 6r + 2nd output of the control unit.

51+6r. 6r+3-й выход блока управления. 51 + 6r. 6r + 3rd output of the control unit.

52+6r. Выход r-го арифметического устройства по п.1. 52 + 6r. The output of the rth arithmetic device according to claim 1.

53+6r. r+1-й блок памяти. 53 + 6r. r + 1st memory block.

54+6r. Выход r+1-гo блока памяти. 54 + 6r. Output r + 1-th block of memory.

55+6r. Девятый регистр. 55 + 6r. Ninth register.

56+6r. Информационный выход конвейерного устройства по п.2. 56 + 6r. The information output of the conveyor device according to claim 2.

В состав конвейерного устройства для выполнения быстрого преобразования Хартли-Фурье по п.2. (см. фиг.3) входят г арифметических устройств по п.1, r+1 блоков памяти, г блоков постоянной памяти, 3r формирователей адресов, 3r элементов И, блок управления, регистр. Здесь r=log2N - количество итераций, которые необходимо выполнить для вычисления БПХ или БПФ массива данных произвольной размерности N=2r, r зависит от размерности массива данных N (r=1, 2, 3 ,...). Число ступеней в конвейерном устройстве равно r.The composition of the conveyor device for performing fast Hartley-Fourier transform according to claim 2. (see figure 3) includes r arithmetic devices according to claim 1, r + 1 memory blocks, g permanent memory blocks, 3r address formers, 3r AND elements, control unit, register. Here r = log 2 N is the number of iterations that must be performed to calculate the FFT or FFT of the data array of arbitrary dimension N = 2 r , r depends on the dimension of the data array N (r = 1, 2, 3, ...). The number of steps in the conveyor is r.

К первым входам первого 34, второго 35, третьего 36 элементов И подключен вход тактовой частоты 33, с которым соединены также первые входы элементов И следующих r-1 ступеней конвейерного устройства, а также вход блока управления 39. Первый выход 49, второй выход 50, третий выход 51 блока управления 39 соединены соответственно со вторыми входами первого 34, второго 35, третьего 36 элементов И, к выходам которых подключены соответственно входы первого, второго, третьего формирователей адресов 38. Информационный вход конвейерного устройства 32 подключен к первому входу первого блока памяти 37, второй, третий и четвертый входы которого соединены соответственно с четвертым 52 пятым 53 выходами блока управления 39 и с выходом 41 первого формирователя адресов 38. Выход 40 первого блока памяти 37 соединен с первым входом первого арифметического устройства 31, второй и третий входы которого соединены соответственно с выходом 45 первого блока постоянной памяти 44 и с шестым выходом 54 блока управления 39. Вход первого блока постоянной памяти 44 соединен с выходом 43 третьего формирователя адресов 38. Выход 42 второго формирователя адресов 38 соединен со вторым входом второго блока памяти 47, первый вход которого соединен с выходом 46 первого арифметического устройства 31. Третий и четвертый входы второго блока памяти 47 соединены соответственно с седьмым 55 и восьмым 56 выходами блока управления 39. The input of clock frequency 33 is connected to the first inputs of the first 34, second 35, third 36 elements AND, with which the first inputs of the elements And of the next r-1 stages of the conveyor device are connected, as well as the input of the control unit 39. First output 49, second output 50, the third output 51 of the control unit 39 is connected respectively to the second inputs of the first 34, second 35, third 36 elements And, the outputs of which are connected respectively the inputs of the first, second, third address makers 38. The information input of the conveyor device 32 is connected to the first input of the first memory unit 37, the second, third and fourth inputs of which are connected respectively with the fourth 52 fifth 53 outputs of the control unit 39 and with the output 41 of the first shaper 38. The output 40 of the first memory unit 37 is connected with the first input of the first arithmetic device 31, the second and the third inputs of which are connected respectively to the output 45 of the first block of read-only memory 44 and to the sixth output 54 of the control unit 39. The input of the first block of read-only memory 44 is connected to the output 43 of the third shaper 38. Output 42 is second Address generator 38 is coupled to a second input of the second memory unit 47, a first input coupled to an output 46 of the first arithmetic unit 31. The third and fourth inputs of the second memory block 47 are connected respectively to the seventh 55 and eighth 56 outputs 39 of the control unit.

На этом заканчивается описание 1-й ступени конвейерного устройства. Остальные r-1 ступеней одинаковы. This concludes the description of the 1st stage of the conveyor device. The remaining r-1 steps are the same.

Пятый вход второго блока памяти 47 соединен с выходом четвертого формирователя адресов 38 (на фиг. 3 не показан). Девятый 57, десятый 58 и одиннадцатый 59 выходы блока управления 39 соединены со вторыми входами соответственно четвертого, пятого и шестого элементов И (на фиг.3 не показаны). The fifth input of the second memory unit 47 is connected to the output of the fourth address generator 38 (not shown in FIG. 3). The ninth 57th, tenth 58th and eleventh 59 outputs of the control unit 39 are connected to the second inputs of the fourth, fifth and sixth elements And, respectively (not shown in FIG. 3).

................ ................

................ ................

................ ................

6r-й выход 48+6r блока управления 39 соединен с третьим входом r-го арифметического устройства 31, выход 52+6r которого соединен с первым входом r+1-го блока памяти 53+6r. 6r+1-й выход 49+6r и 6r+2-й выход 50+6r блока управления 39 соединены соответственно с третьим и четвертым входами r+1-го блока памяти 53+6r, выход 54+6r которого соединен с информационным входом девятого регистра 55+6r, вход управления записью которого соединен с 6r+3-м выходом 51+6r блока управления 39. Выход 56+6r девятого регистра 55+6r является информационным выходом конвейерного устройства. The 6th output 48 + 6r of the control unit 39 is connected to the third input of the rth arithmetic device 31, the output 52 + 6r of which is connected to the first input of the r + 1th memory unit 53 + 6r. The 6r + 1st output 49 + 6r and 6r + 2nd output 50 + 6r of the control unit 39 are connected respectively to the third and fourth inputs of the r + 1st memory block 53 + 6r, the output 54 + 6r of which is connected to the information input of the ninth register 55 + 6r, the recording control input of which is connected to the 6r + 3rd output 51 + 6r of the control unit 39. The output 56 + 6r of the ninth register 55 + 6r is the information output of the conveyor device.

Формирователь адресов 38 выполнен по а/с 1425667, G 06 F 9/36, 19.02.87 г. The shaper of addresses 38 is made by a / s 1425667, G 06 F 9/36, 02.19.87.

Устройство работает следующим образом. The device operates as follows.

Число ступеней в конвейерном устройстве равно r, т.е. равно количеству итераций, которые необходимо выполнить для вычисления БПХ или БПФ массива данных размерности N=2r. Мы рассмотрим конвейерное устройство для вычисления БПХ.The number of steps in the conveyor is r, i.e. equal to the number of iterations that must be performed to calculate the FFT or FFT of the data array of dimension N = 2 r . We will consider a conveyor device for calculating the FEC.

Вычисления по итерациям осуществляются согласно матричному рекуррентному алгоритму БПХ (5). Исходная информация в виде массива действительных чисел длиной N= 2r поступает в естественном порядке следования на информационный вход конвейерного устройства 32 и записывается в первую область первого блока памяти 37. Информация поступает с тактом работы конвейера арифметического устройства по п.1. Сигналы записи поступают с выхода 52 блока управления 39. На вход тактовой частоты 33 поступают тактовые импульсы. После того, как в первую область первого блока памяти 37 будет записан весь массив длиной N= 2r, записанная информация из первой области без изменения порядка следования перезаписывается во вторую область первого блока памяти 37, а в первую область блока памяти 37 с информационного входа 32 начинает записываться следующий входной массив длиной N. В это время, над массивом, находящимся во второй области первого блока памяти 37, начинает выполняться 1-я итерация алгоритма БПХ. Коммутация первой и второй областей первого блока памяти 37 осуществляется сигналом с выхода 53 блока управления 39. В качестве блоков памяти 37, 47, ..., 53+6r могут быть использованы микросхемы двухпортовой памяти, позволяющие одновременно записывать и считывать информацию.Iteration calculations are performed according to the BPH matrix recurrence algorithm (5). The initial information in the form of an array of real numbers of length N = 2 r enters in the natural sequence to the information input of the conveyor device 32 and is recorded in the first region of the first memory block 37. The information arrives with the clock speed of the conveyor of the arithmetic device according to claim 1. The recording signals are received from the output 52 of the control unit 39. The input clock frequency 33 receives clock pulses. After the entire array of length N = 2 r is recorded in the first region of the first memory block 37, the recorded information from the first region is overwritten without changing the order in the second region of the first memory block 37, and in the first region of the memory block 37 from the information input 32 the next input array of length N begins to be written. At this time, the first iteration of the BPH algorithm begins to be executed above the array located in the second region of the first memory block 37. Switching of the first and second regions of the first memory block 37 is carried out by a signal from the output 53 of the control unit 39. As memory blocks 37, 47, ..., 53 + 6r microchips of a dual-port memory can be used, which allow writing and reading information simultaneously.

Рассмотрим работу 1-й ступени конвейерного устройства, т.е. выполнение первой итерации алгоритма БПХ. С выходов 49, 50 и 51 блока управления 39 соответствующие сигналы разрешения поступают на элементы И34, И35 и И36. Тактовые импульсы с выходов элементов И34, И35 и И36 поступают соответственно на входы первого, второго и третьего формирователей адресов 38. Все три формирователя адресов 38 начинают формировать адреса операндов

Figure 00000026
и адреса для записи результатов "бабочки" - чисел F и G в соответствии с временной диаграммой работы арифметического устройства по п.1 (фиг.2).Consider the work of the 1st stage of the conveyor device, i.e. execution of the first iteration of the BPH algorithm. From the outputs 49, 50 and 51 of the control unit 39, the corresponding permission signals are supplied to the elements I34, I35 and I36. Clock pulses from the outputs of the elements I34, I35 and I36 are respectively supplied to the inputs of the first, second and third address generators 38. All three address generators 38 begin to generate operand addresses
Figure 00000026
and addresses for recording the results of the “butterfly” - the numbers F and G in accordance with the time diagram of the arithmetic device according to claim 1 (figure 2).

На выходе 41 первого формирователя адресов 38, начиная с 1-й "бабочки" БПХ, появляются адреса операндов

Figure 00000027
поступающие во вторую область первого блока памяти 37. С выхода 40 блока памяти 37 операнды
Figure 00000028
соответствующие этим адресам, параллельным кодом поступают на первый вход первого арифметического устройства 31.At the output 41 of the first shaper of addresses 38, starting with the 1st “butterfly” of the BPH, operand addresses appear
Figure 00000027
coming into the second region of the first memory block 37. From the output of 40 memory block 37 operands
Figure 00000028
corresponding to these addresses, a parallel code is supplied to the first input of the first arithmetic device 31.

На выходе 43 третьего формирователя адресов 38 появляются адреса операндов С, S и числа 2, поступающие на вход первого блока постоянной памяти 44. С выхода 45 первого блока постоянной памяти 44 операнды C, S и число 2, соответствующие этим адресам, параллельным кодом поступают на второй вход первого арифметического устройства 31. At the output 43 of the third address generator 38, the addresses of the operands C, S and the number 2 appear at the input of the first block of read-only memory 44. From the output 45 of the first block of read-only memory 44, the operands C, S and the number 2 corresponding to these addresses are sent to the parallel code by the second input of the first arithmetic device 31.

Арифметическое устройство 31 обрабатывает поступающие действительные числа согласно формулам (7) - как было описано выше. Конвейер заполняется за 4 такта, затем результаты вычисления каждой следующей "бабочки" БПХ (числа F и G) появляются на выходе арифметического устройства 31 каждый такт (в соответствии с временной диаграммой работы, приведенной на фиг.2). The arithmetic device 31 processes the incoming real numbers according to formulas (7) - as described above. The conveyor is filled in 4 cycles, then the results of the calculation of each next “butterfly” of the BPH (numbers F and G) appear at the output of the arithmetic device 31 every cycle (in accordance with the time diagram of the operation shown in FIG. 2).

Второй формирователь адресов 38 вырабатывает адреса для записи чисел F и G; затем эти адреса с выхода 42 второго формирователя адресов поступают в первую область второго блока памяти 47. Результаты вычисления "бабочек" - числа F и G, появляющиеся на выходе первого арифметического устройства 31, записываются по этим адресам в первую область блока памяти 47. Сигналы записи поступают с выхода 55 блока управления 39. The second address generator 38 generates addresses for recording the numbers F and G; then these addresses from the output 42 of the second address former enter the first area of the second memory unit 47. The results of the calculation of the “butterflies” - the numbers F and G appearing at the output of the first arithmetic device 31, are recorded at these addresses in the first area of the memory unit 47. The recording signals come from the output 55 of the control unit 39.

Подробнее работа формирователей адресов 38 описана в патенте РФ 2071221, 6 G 06 F 17/14, заявка 94024301/09 от 29.06.94 г., название изобретения: "Процессор для быстрого преобразования Хартли". The operation of address formers 38 is described in more detail in RF patent 2071221, 6 G 06 F 17/14, application 94024301/09 of 06/29/94, title of invention: "Processor for fast Hartley conversion".

Сигналы управления умножителями и сумматорами 21, 22, 23, 24, 25, 26, а также сигналы управления записью в регистры 15, 16, 17, 18, 19, 20, 27 и 28 арифметического устройства 31 поступают с выхода 54 блока управления 39. The control signals of the multipliers and adders 21, 22, 23, 24, 25, 26, as well as the control signals for writing to the registers 15, 16, 17, 18, 19, 20, 27 and 28 of the arithmetic device 31 are received from the output 54 of the control unit 39.

Таким образом осуществляется вычисление всех N/2 "бабочек" первой итерации алгоритма БПХ на первой ступени конвейерного устройства. По времени выполнение первой итерации (как и всех остальных) занимает N/2 тактов работы конвейера арифметического устройства 31 (такт работы конвейера обозначен Tап на фиг.2).Thus, all N / 2 “butterflies” of the first iteration of the BPH algorithm are calculated at the first stage of the conveyor device. In time, the execution of the first iteration (like all others) takes N / 2 clock cycles of the conveyor of the arithmetic device 31 (the clock cycle of the conveyor is indicated by T ap in figure 2).

После окончания счета первой итерации массив результатов, накопленный в первой области второго блока памяти 47, без изменения порядка следования перезаписывается во вторую область блока памяти 47, а в первую область блока памяти 47 вновь начинают записываться результаты вычисления 1-й итерации нового входного массива длиной N, который до этого находился в первой области первого блока памяти 37 и был перезаписан во вторую область блока памяти 37. Одновременно с этим в первую область блока памяти 37 с информационного входа конвейерного устройства 32 начинает записываться следующий входной массив длиной N с тактом работы конвейера арифметического устройства 31. After the end of the first iteration count, the results array accumulated in the first region of the second memory block 47 is overwritten without changing the order in the second region of the memory block 47, and the results of the calculation of the 1st iteration of a new input array of length N begin to be written again into the first region of the memory block 47 , which was previously in the first region of the first memory block 37 and was overwritten in the second region of the memory block 37. At the same time, in the first region of the memory block 37 from the information input of the conveyor devices and 32, the next input array of length N begins to be recorded with the cycle time of the conveyor of the arithmetic device 31.

Коммутация первой и второй областей второго блока памяти 47 осуществляется сигналом с выхода 56 блока управления 39. Switching of the first and second regions of the second memory unit 47 is carried out by the signal from the output 56 of the control unit 39.

Аналогично работе 1-й ступени, вторая ступень конвейерного устройства выполняет вторую итерацию алгоритма БПХ. Затем, по окончании счета 2-й итерации и перезаписей информации из первых областей блоков памяти во вторые области, третья ступень выполняет третью итерацию и т.д. Similar to the work of the 1st stage, the second stage of the conveyor device performs the second iteration of the BPH algorithm. Then, at the end of the 2nd iteration count and overwriting information from the first areas of the memory blocks to the second areas, the third step performs the third iteration, etc.

В каждый момент времени каждая ступень конвейерного устройства выполняет "свою" итерацию алгоритма БПХ: 1-я ступень - первую итерацию, 2-я ступень - вторую итерацию и т.д. Входная информация поступает на информационный вход 32 с тактом работы конвейера арифметического устройства 31. At each moment of time, each stage of the conveyor device performs its own iteration of the BPH algorithm: 1st stage - the first iteration, 2nd stage - the second iteration, etc. The input information is supplied to the information input 32 with a clock cycle of the conveyor of the arithmetic device 31.

Каждый раз по окончании выполнения итерации перезапись информации из первых областей блоков памяти 37, 47 и т.д. во вторые области этих блоков памяти происходит синхронно для всех блоков памяти. Число блоков памяти равно числу ступеней в конвейерном устройстве плюс единица, т.е. равно r+1. Each time after completion of the iteration, rewriting information from the first areas of memory blocks 37, 47, etc. in the second areas of these memory blocks occurs synchronously for all memory blocks. The number of memory blocks is equal to the number of steps in the conveyor device plus one, i.e. equal to r + 1.

Все r ступеней конвейерного устройства имеют одинаковую с 1-й ступенью схему и выполняют соответствующие итерации аналогично тому, как это было описано для 1-й ступени. Число выходов блока управления 39 пропорционально числу ступеней конвейерного устройства. All r stages of the conveyor device have the same scheme as the 1st stage and perform corresponding iterations in the same way as described for the 1st stage. The number of outputs of the control unit 39 is proportional to the number of steps of the conveyor device.

Рассмотрим работу последней, r-й ступени конвейерного устройства (при длине входного массива данных N=2r). Эта ступень выполняет последнюю, r-ю итерацию алгоритма БПХ. Итерация выполняется аналогично предыдущим. Результаты вычисления "бабочек" - числа F и G с выхода r-го арифметического устройства 31 записываются в первую область r+1-го блока памяти 53+6r. Сигналы записи поступают с выхода 49+6r блока управления 39. Адреса операндов

Figure 00000029
и адреса для записи результатов "бабочки" формируются соответствующими формирователями адресов 38 r-й ступени (на фиг.3 не показаны).Consider the work of the last, rth stage of the conveyor device (with the length of the input data array N = 2 r ). This step performs the last, rth iteration of the BPH algorithm. Iteration is performed similarly to the previous ones. The results of calculating the “butterflies” - the numbers F and G from the output of the rth arithmetic device 31 are recorded in the first region r + 1 of the first memory block 53 + 6r. The recording signals come from the output 49 + 6r of the control unit 39. The addresses of the operands
Figure 00000029
and the addresses for recording the results of the “butterfly” are formed by the corresponding address generators 38 of the rth step (not shown in FIG. 3).

По окончании вычисления последней, N/2-й "бабочки", последней, r-й итерации в первой области r+1-го блока памяти 53+6r будет накоплен искомый массив спектра Хартли (массив дискретного преобразования Хартли - ДПХ) в естественном порядке следования. Затем, по сигналу с выхода 50+6r блока управления 39 массив спектра Хартли без изменения порядка следования из первой области перезаписывается во вторую область r+1-го блока памяти 53+6r. После этого ступени конвейерного устройства начинают выполнять соответствующие итерации, а результирующий спектр Хартли с выхода 54+6r r+1-гo блока памяти последовательно, с тактом работы Тап конвейера арифметического устройства 31 начинает записываться в регистр 55+6r. Код записи поступает на вход управления записью регистра 55+6r с выхода 51+6r блока управления 39. Затем полученный спектр Хартли (ДПХ) поступает на информационный выход конвейерного устройства 56+6r.At the end of the calculation of the last, N / 2nd “butterfly”, the last, rth iteration, in the first region of the r + 1st memory block 53 + 6r, the desired array of the Hartley spectrum (array of discrete Hartley – DPC transformation) will be accumulated in the natural order following. Then, according to the signal from the output 50 + 6r of the control unit 39, the Hartley spectrum array is overwritten without changing the order from the first region to the second region r + 1 of the 53 + 6r memory block. After this stage of the conveyor device, the corresponding iterations begin to be performed, and the resulting Hartley spectrum from the output of 54 + 6r r + 1-th memory block sequentially, with the clock cycle T ap of the conveyor of the arithmetic device 31, begins to be recorded in the register 55 + 6r. The write code is input to the write control input of the register 55 + 6r from the output 51 + 6r of the control unit 39. Then, the obtained Hartley spectrum (DPC) is fed to the information output of the conveyor device 56 + 6r.

Конвейерное устройство по п.2 заполняется за r•N/2 тактов работы конвейера арифметического устройства 31, затем искомый спектр Хартли исходных массивов появляется в естественном порядке следования на информационном выходе 56+6r с тактом работы Тап конвейера арифметического устройства 31 по п. 1. Причем, сначала выйдет 1-й массив ДПХ длиной N=2r, за ним 2-й массив, потом 3-й и т.д. Т.е. результирующая последовательность ДПХ будет выходить массивами (частями) длиной N= 2r, которые соответствуют исходным массивам данных также длиной N=2r, поступающим на информационный вход 32.The conveyor device according to claim 2 is filled in for r • N / 2 clock cycles of the conveyor of the arithmetic device 31, then the desired Hartley spectrum of the source arrays appears in the natural sequence on the information output 56 + 6r with the clock cycle T ap of the conveyor of the arithmetic device 31 according to claim 1 Moreover, first the 1st array of DPH with the length N = 2 r will be released, followed by the 2nd array, then the 3rd, etc. Those. the resulting DPC sequence will be output by arrays (parts) of length N = 2 r , which correspond to the original data arrays also of length N = 2 r supplied to information input 32.

Таким образом, достигается полная конвейеризация процесса вычисления алгоритма БПХ. Thus, a complete pipelining of the calculation process of the BPH algorithm is achieved.

Claims (1)

Арифметическое устройство для вычисления быстрого преобразования Хартли-Фурье, содержащее первый - пятый регистры, отличающееся тем, что в него введены шестой, седьмой и восьмой регистры, первый, второй и третий умножители, первый, второй и третий сумматоры, при этом первый - шестой входы данных арифметического устройства соединены соответственно с информационными входами первого - шестого регистров, входы управления записью первого - четвертого регистров - с первым входом управления записью арифметического устройства, входы управления записью пятого и шестого регистров - со вторым входом управления записью арифметического устройства, выходы первого и второго регистров - соответственно с первым и вторым информационными входами первого умножителя, а выходы третьего и четвертого регистров - соответственно с первым и вторым информационными входами второго умножителя, управляющие входы первого и второго умножителей - со входом управления умножителями арифметического устройства, выходы первого и второго умножителей - соответственно с первым и вторым информационными входами первого сумматора, управляющий вход которого соединен с первым входом управления сумматором арифметического устройства, а выход - с первым информационным входом второго сумматора, второй информационный вход второго сумматора соединен с выходом пятого регистра и с первым информационным входом третьего умножителя, второй информационный вход которого соединен с выходом шестого регистра, управляющие входы второго сумматора и третьего умножителя - с входом управления арифметического устройства, выход второго сумматора - с информационным входом седьмого регистра и с первым информационным входом третьего сумматора, второй информационный вход которого соединен с выходом третьего умножителя, управляющий вход третьего сумматора - со вторым входом управления сумматором арифметического устройства, выход третьего сумматора - с информационным входом восьмого регистра, входы управления записью седьмого и восьмого регистров - соответственно с третьим и четвертым входами управления записью арифметического устройства, а выходы седьмого и восьмого регистров - соответственно с первым и вторым выходами результата арифметического устройства. An arithmetic device for calculating the fast Hartley-Fourier transform, containing the first to fifth registers, characterized in that the sixth, seventh and eighth registers, the first, second and third multipliers, the first, second and third adders are introduced, the first and sixth inputs the data of the arithmetic device are connected respectively to the information inputs of the first to sixth registers, the recording control inputs of the first to fourth registers are connected to the first input of the recording control of the arithmetic device, control inputs by writing the fifth and sixth registers - with the second input of the recording control of the arithmetic device, the outputs of the first and second registers - with the first and second information inputs of the first multiplier, respectively, and the outputs of the third and fourth registers - with the first and second information inputs of the second multiplier, control inputs of the first and the second multipliers - with the control input of the multipliers of the arithmetic device, the outputs of the first and second multipliers - respectively, with the first and second information input the first adder, the control input of which is connected to the first control input of the adder of the arithmetic device, and the output is connected to the first information input of the second adder, the second information input of the second adder is connected to the output of the fifth register and to the first information input of the third multiplier, the second information input of which is connected to the output of the sixth register, the control inputs of the second adder and the third multiplier with the control input of the arithmetic device, the output of the second adder with information the input of the seventh register and with the first information input of the third adder, the second information input of which is connected to the output of the third multiplier, the control input of the third adder is with the second input of the adder control of the arithmetic device, the output of the third adder is with the information input of the eighth register, the seventh and the eighth registers - respectively, with the third and fourth inputs of the recording control of the arithmetic device, and the outputs of the seventh and eighth registers - respectively first and second outputs of the arithmetic unit result.
RU99116107A 1999-07-20 1999-07-20 Arithmetic device for calculating fast fourier transformation RU2190874C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU99116107A RU2190874C2 (en) 1999-07-20 1999-07-20 Arithmetic device for calculating fast fourier transformation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU99116107A RU2190874C2 (en) 1999-07-20 1999-07-20 Arithmetic device for calculating fast fourier transformation

Publications (2)

Publication Number Publication Date
RU99116107A RU99116107A (en) 2001-05-10
RU2190874C2 true RU2190874C2 (en) 2002-10-10

Family

ID=20223048

Family Applications (1)

Application Number Title Priority Date Filing Date
RU99116107A RU2190874C2 (en) 1999-07-20 1999-07-20 Arithmetic device for calculating fast fourier transformation

Country Status (1)

Country Link
RU (1) RU2190874C2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2517694C1 (en) * 2012-11-16 2014-05-27 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Казанский национальный исследовательский технический университет им. А.Н. Туполева - КАИ" (КНИТУ-КАИ) Apparatus for calculating discrete polynomial transformations

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2517694C1 (en) * 2012-11-16 2014-05-27 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Казанский национальный исследовательский технический университет им. А.Н. Туполева - КАИ" (КНИТУ-КАИ) Apparatus for calculating discrete polynomial transformations

Similar Documents

Publication Publication Date Title
CA1255394A (en) Method and circuit for performing discrete transforms
US6539368B1 (en) Neural processor, saturation unit, calculation unit and adder circuit
US4450525A (en) Control unit for a functional processor
US5226171A (en) Parallel vector processing system for individual and broadcast distribution of operands and control information
US4601006A (en) Architecture for two dimensional fast fourier transform
US4821224A (en) Method and apparatus for processing multi-dimensional data to obtain a Fourier transform
US11720645B2 (en) Optimization problem solving calculation apparatus
KR100538605B1 (en) Data processing device and method of computing the cosine transform of a matrix
JP4163178B2 (en) Optimized discrete Fourier transform method and apparatus using prime factorization algorithm
US4769779A (en) Systolic complex multiplier
CN109144469B (en) Pipeline structure neural network matrix operation architecture and method
US5034910A (en) Systolic fast Fourier transform method and apparatus
US5508538A (en) Signal processing applications of massively parallel charge domain computing devices
JPS63167967A (en) Digital signal processing integrated circuit
US5398322A (en) Number theory mapping generator for addressing matrix structures
CN117692126A (en) Paillier homomorphic encryption method and system based on low-complexity modular multiplication algorithm
RU2190874C2 (en) Arithmetic device for calculating fast fourier transformation
US6460061B1 (en) 2-dimensional discrete cosine transform using a polynomial transform
Wang et al. A novel fast modular multiplier architecture for 8,192-bit RSA cryposystem
RU2290687C1 (en) Processor with maximum possible efficiency for fast fourier transformation
Delosme Bit-level systolic algorithms for real symmetric and hermitian eigenvalue problems
RU2125290C1 (en) Arithmetic device for fast hartley-fourier transform
JP2022500782A (en) Data processing systems, methods, and programs
US4611273A (en) Synchronized microsequencer for a microprocessor
Hussain et al. Application-driven dimensioning of a coarse-grain reconfigurable array

Legal Events

Date Code Title Description
PD4A Correction of name of patent owner
MM4A The patent is invalid due to non-payment of fees

Effective date: 20180721