RU2012051C1 - Device for fast fourier transform - Google Patents
Device for fast fourier transform Download PDFInfo
- Publication number
- RU2012051C1 RU2012051C1 SU5019394A RU2012051C1 RU 2012051 C1 RU2012051 C1 RU 2012051C1 SU 5019394 A SU5019394 A SU 5019394A RU 2012051 C1 RU2012051 C1 RU 2012051C1
- Authority
- RU
- Russia
- Prior art keywords
- input
- arithmetic
- unit
- block
- output
- Prior art date
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
Description
Изобретение относится к области цифровой обработки сигналов и может быть использовано при реализации алгоритмов спектрального анализа, цифровой фильтрации устройств с заданными временными характеристиками на специализированных вычислительных устройствах. The invention relates to the field of digital signal processing and can be used in the implementation of spectral analysis algorithms, digital filtering of devices with specified time characteristics on specialized computing devices.
Предлагаемое устройство в своей работе использует процесс цифровой фильтрации, заключающийся в выполнении свертки
Ys= Xjωj, где Хj - входные отсчеты;
ωj - некоторые коэффициенты, и о выполнении округления полученного значения
Y
Y s = X j ω j , where X j are input samples;
ω j are some coefficients, and about the rounding off of the obtained value
Y
С помощью устройства становятся возможными распараллеливание выполняемых арифметических операций, реализация их табличным способом, реализация округления и образное преобразование на том же устройстве, на котором выполняется процесс вычисления свертки. Последнее является немаловажным, так как процедура округления и преобразования в позиционную систему счисления требует аппаратурных затрат, эквивалентных выполнению операций свертки. Обычно достаточно использовать 5-7 оснований, чтобы процедура вычисления свертки была длиннее всего на 3-5 шагов. Однако за счет выполнения операций табличным или матричным способом общее время выполнения свертки гораздо меньше, чем на позиционном процессоре практически при тех же затратах. Using the device, it becomes possible to parallelize arithmetic operations, implement them in a tabular manner, implement rounding and image conversion on the same device on which the convolution calculation process is performed. The latter is important, since the procedure of rounding and conversion to a positional number system requires hardware costs equivalent to performing convolution operations. Usually it’s enough to use 5-7 bases so that the convolution calculation procedure is only 3-5 steps longer. However, due to the performance of operations in a tabular or matrix manner, the total convolution time is much shorter than on a positional processor at almost the same cost.
На фиг. 1 приведена функциональная схема устройства для быстрого преобразования Фурье; на фиг. 2 - вариант выполнения арифметичесокго блока; на фиг. 3 - вариант выполнения (n+1)-го арифметического блока. In FIG. 1 shows a functional diagram of a device for fast Fourier transform; in FIG. 2 is an embodiment of an arithmetic block; in FIG. 3 - embodiment of the (n + 1) -th arithmetic block.
Устройство содержит (фиг. 1) блок 1 определения вычетов, арифметические блоки 2.1-2(n+1), входную шину 3 данных, мультиплексор 4, блок 5 хранения коэффициентов, блок 6 восстановления результата, шину 7 адреса коэффициентов, управляющие шины 8, 9, 10, выходную шину 11 данных. The device contains (Fig. 1) a
В состав i-го (i= ) арифметического блока (фиг. 2) входят блок 12 коммутации, блок 13 умножения, сумматор 14, регистр 15, выходная шина 16 блока 2, общая управляющая шина 17 блоков 12 коммутаций для арифметических блоков 2. р-1-2. n и управляющие шины регистров 15. i, шина 18 обнуления, шина 19 тактовых импульсов записи.The composition of the i-th (i = ) arithmetic unit (Fig. 2) includes a switching unit 12, a multiplication unit 13, an adder 14, a register 15, an
Арифметический блок 2. (n+1) (фиг. 3) влкючает блок 20 умножения, сумматор 21, регистр 22, блок 23 хранения констант, при этом блок 20 умножения, сумматор 21 и регистр 22 имеют такое же построение, как и в блоке 2. i, отличие составляет блок 23 хранения констант с управляющей шиной 24, являющейся частью адреса.
Блок 1 определения представляет собой n блоков определения вычетов поступающих отсчетов по соответствующим основаниям рi(i= ) которые могут быть реализованы табличными методами на базе ППЗУ. В этом случае входные коды отсчетов являются адресами соответствующего кода вычетов, записанного в ППЗУ на этапе программирования. Аналогично поступает и блок 5 хранения коэффициентов, состоящий из n+1 блоков 5.1-5. n хранения коэффициентов по соответствующим основаниям рi(i= ), а блок 5. n+1 блок хранит остатки от деления , например = 3. Требуемый коэффициент из n ППЗУ выбирается по адресу, поступающему по шине 7 адреса коэффициентов или шине 10.
Блоки 13. i умножения, сумматоры 14. i(i= ), выполняющие соответствующие арифметические действия умножения, сложения по соответствующим основаниям pi(i= ) могут быть реализвоаны табличным методом на базе ППЗУ. В этом случае операнды для выполнения соответствующего арифметического действия будут адресом результата арифметического действия.Blocks 13. i multiplications, adders 14. i (i = ) performing the corresponding arithmetic operations of multiplication, addition on the corresponding bases p i (i = ) can be implemented by the tabular method based on the ROM. In this case, the operands for performing the corresponding arithmetic operation will be the address of the result of the arithmetic operation.
Блок 12. i коммутации для арифметических блоков 2. р+1-2. n является известным функциональным устройством, где выбор входной шины определяется номером на шине 17, например потенциал логического "0" на шине 17 всегда коммутирует первый вход на выход блока 12. i коммутации, а потенциал логической "1" - второй. Block 12. i switching for
Блок 23 хранения констант может быть реализован с помощью ППЗУ. В этом случае операции, записанные в регистре 22 при появлении разрешающего сигнала на 24 входе, являются адресом результата арифметического действия. The
Известным цифровым устройством является и мультиплексор 4. В зависимости от кода на адресной шине 9 управления один из входов коммутируется на выход. A well-known digital device is the
Блок 6 восстановления результата реализует преобразование конечного результата процессов свертки и округления из непозиционной системы счисления в позиционную - он также может быть реализован табличным методом на базе ППЗУ. В этом случае входные данные являются адресом результата данного процесса преобразования. Считывание информации с блока 6 восстановления результата разрешается подачей списка на управляющий вход 8. The result recovery block 6 implements the conversion of the final result of the convolution and rounding processes from a non-positional number system to a positional one - it can also be implemented by the tabular method based on the ROM. In this case, the input is the address of the result of this conversion process. Reading information from the block 6 recovery result is allowed by submitting a list to the control input 8.
Устройство работает следующим образом. The device operates as follows.
В исходном состоянии регистры 15. i обнулены, что производится подачей сигнала на шину 18. На управоляющие входы блоков 12. i коммутации (i= ) подается сигнал, под действием которого происходит коммутация блоков 12. i коммутации на соответствующие выходы данных блоков.In the initial state, the registers 15. i are reset, which is done by applying a signal to the bus 18. To the control inputs of the blocks 12. i switching (i = ) a signal is supplied, under the action of which the blocks 12 are switched. i switching to the corresponding outputs of these blocks.
Под действием кода первого входного отсчета Х1 через время выборки адреса на n выходах блока 1 определения вычетов появляются коды вычетов входного отсчета Х1 по соответствующим модулям: pi(i= ) Х1 .Under the action of the code of the first input sample X1, after the address is sampled at the n outputs of the
Через некоторое время, определямое задержкой на блоках коммутации, данные коды поступают на вход блока 13. i умножения. К этому времени на выходе блоков 5. i появляется значение первого коэффициента W1, так как одновременно с коммутацией подается сигнал на вход 7, подается адрес первого коэффициента. Через время срабатывания блока 13. i умножения на его выходах появляется результат умножения Ys,j W по соответствующим модулям, который подается на первый вход сумматора 14. i, на второй вход окторого подается код нуля с регистра 15. i, так как регистр был обнулен. В результате после сложения результат записывается в регистр 15. i по импульсу 19.After some time, determined by the delay on the switching units, these codes are fed to the input of unit 13. i multiplication. By this time, at the output of blocks 5. i, the value of the first coefficient W 1 appears, since simultaneously with the switching, a signal is supplied to input 7, the address of the first coefficient is supplied. After the response time of block 13. i of multiplication, the result of multiplication appears at its outputs Y s, j W according to the corresponding modules, which is fed to the first input of the adder 14. i, the zero input from register 15. i is sent to the second input of the second, as the register has been reset. As a result, after addition, the result is recorded in register 15. i by pulse 19.
Работа устройства реализуется в конвейерном режиме, т. е. в момент поступления кода входного отсчета Х на входы соответствующих блоков 13. i умножения, код второго отсчета подается на входную шину 3 данных и далее весь процесс повторяется аналогично выше описанному (по шине 7 подается адрес второго коэффициента W2 и т. д. ). Процесс выполнения свертки реализуется до тех пор, пока N-м тактовым импульсом не будет записан результат вычисления свертки Y= Y
Этап округления начинается по завершении последней (N-й) операции умножения по модулю pi в соответствующих блоках 13. i, на управляющие входы блоков 12. j коммутации (j= ) подается сигнал, под действием которого происходит коммутация информационного входа мультиплексора 4 на вход коммутатора 12. i, а также подается сигнал на соответствующие управляющие входы 9 мультиплексора и на блок 5. n+1 хранения констант, при этом вступает в работу мультиплексор 4, подключая к коммутаторам 12. j(j= ), а также к первому входу блока 20 умножения первый канал. Значение вычисленной свертки ys,i подается на первые входы блока 13. i (i= ) умножения через блоки 12. i коммутации, на второй вход которого с подачей определенного адреса на шину 10 с выхода блока 5. i выдается Ск+1 , а на выходе блока 5. n+1-K. k+1, далее производится сложение в сумматоре 14. j (j= ) со значением Ys,j (j= ). Далее процесс повтоярется в конвейерном режиме с подачей другого управляющего сигнала на управляющую шину 9 мультиплексора 4, на информационный выход подключается второй каналы и т. д. до р. После прохождения р тактов производится анализ необходимости коррекции полученного результата, т. е. происходит накопление в 2. n+1 арифметическом блоке в регистре 22. На (p+1)-м такте поступает разрешающий сигнал 24 на вход блока 23 хранения констант, на выходе которого появляется результат необходимости коррекции Kk+j, с приходом р+1 на вход мультиплексора на выход его подается результат коррекции Kk+j и происходит сложение с полученными результатами. На вход блоков умножения в этом случае подается код 1 (единицы).The rounding stage begins when the last (Nth) operation of multiplication modulo p i in the corresponding blocks 13. i, to the control inputs of the blocks 12. j switching (j = ) a signal is supplied under which the information input of the
После выполнения всей процедуры округления в регистрах 15. i остается результат выполнения всего алгоритма Y (i= ).After completing the whole rounding procedure in registers 15. i the result of the entire algorithm remains Y (i = )
Для преобразования результата из непозиционной в позиционную систему счисления подается сигнал на блок 6 восстановления результата. Через время срабатывания этого блока на выходе появляется искомый результат. To convert the result from a non-positional to a positional number system, a signal is sent to the result recovery unit 6. After the response time of this block, the desired result appears at the output.
Claims (1)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| SU5019394 RU2012051C1 (en) | 1991-07-08 | 1991-07-08 | Device for fast fourier transform |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| SU5019394 RU2012051C1 (en) | 1991-07-08 | 1991-07-08 | Device for fast fourier transform |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| RU2012051C1 true RU2012051C1 (en) | 1994-04-30 |
Family
ID=21592969
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| SU5019394 RU2012051C1 (en) | 1991-07-08 | 1991-07-08 | Device for fast fourier transform |
Country Status (1)
| Country | Link |
|---|---|
| RU (1) | RU2012051C1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2125290C1 (en) * | 1996-03-20 | 1999-01-20 | Акционерное общество открытого типа ЦКБ "Алмаз" | Arithmetic device for fast hartley-fourier transform |
-
1991
- 1991-07-08 RU SU5019394 patent/RU2012051C1/en active
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2125290C1 (en) * | 1996-03-20 | 1999-01-20 | Акционерное общество открытого типа ЦКБ "Алмаз" | Arithmetic device for fast hartley-fourier transform |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2777207B2 (en) | Reconfigurable multiprocessor | |
| EP0373468B1 (en) | A pipelined processor for implementing the least-mean-squares algorithm | |
| US4692888A (en) | Method and apparatus for generating and summing the products of pairs of numbers | |
| RU2012051C1 (en) | Device for fast fourier transform | |
| US4546445A (en) | Systolic computational array | |
| SU1667055A1 (en) | Device for modulo m multiplication | |
| US6314132B1 (en) | Microprocessor structure and method for implementing digital filter operations | |
| US6067331A (en) | System and method for binary correlation | |
| JPH06274314A (en) | Data-processing system | |
| SU1462354A1 (en) | Device for fast actual fourier tranformation | |
| RU2737236C1 (en) | Multichannel systolic processor for calculating polynomial functions | |
| SU788363A1 (en) | Digital frequency multiplier | |
| SU1264306A1 (en) | Device for digital filtering | |
| SU1075289A1 (en) | Device for reducing message redundancy | |
| SU1594562A1 (en) | Processor of fast hartley-fourier transform of material sequences | |
| SU826340A1 (en) | Device for sorting mn-digit numbers | |
| RU2079879C1 (en) | Matrix processor | |
| US6757702B1 (en) | Adaptive filter | |
| SU1277135A1 (en) | Fast fourier transform processor | |
| EP0321584A1 (en) | System for calculating sum of products | |
| SU1092494A2 (en) | Device for sorting numbers | |
| RU2037197C1 (en) | Device for solving systems of linear algebraic equations | |
| SU1229776A1 (en) | Digital relay correlator | |
| SU482741A1 (en) | Binary Multiplication Device | |
| SU1180883A1 (en) | Calculating device |