Claims (2)
Поставленна цель достигаетс тем, что устройство содержит Р-1 элементов И (Р-1 - число разр дов счетчика адреса и регистра итераций, Р logj N,N - число выборок в одном отсчете),. а кажда из двух групп блоков пам ти состоит из четырех блоков пам ти, причем выходы первого и второго блоков пам ти в первой фуппе подключены ко входам первого селектора, а третьего и четвертого блоков пам ти - ко входам второго селектора , входы первого и третьего блоков пам ти во второй группе подключены к выходам первого мультиплексора, а входы второго и четвертого блоков пам ти - к выходам второго мультиштексора, первый и второй входы i-го элемента И (i 1, ..., Р-1) подключены соответсгвенно к выходу i-ro разр да счетчика адреса и выходу (P-i)-ro разр да регистра итеравди , выходы элементов И подключены к адресным входам блока посто нной пам ти, выход первого разр да регистра адреса подключен к управл ющим входам первого и второго мультиплексоров, а выход (Р-1)-го разрада - к управл юидим входам первого и второго селекторов . На фиг. 1 представлена структурна схема устройства дл выполнени БПФ; на фиг. 2 видоизмене1шый граф алгоритма БПФ; на фиг. 3 - базова операци алгоритма БПФ. Устройство содержит две группы блоков пам ти I и 2 на сдвиговых регистрах, процессор 3, счетчик 4 адреса, регистр 5 итераци, селекторы 6, 7, мультиплексоры 8, 9, линейку элементов И 10, блок посто нной пам ти (ПЗУ) 11. Выходы группы блоков пам ти 1 черкез селекторы 6 и 7 соединены со входами процессора 3, выходы которюго через мультиплексоры 8 и 9 соединены со входами группы блоков пам ти 2, выход младшего разр да счетчика 4 адреса соединен с управл ющими входами селекторов 6, 7, старшего разр да - с управл ющими входами мультиплексоров 8, 9, а выход переноса - со входом регистра 5 итераций . Входы i-ro элемента И . 10 (i 1, ..., Р-1, где P log2N, где-N - число входных отсчетов) соединены с i-м разр дом счетчика 4 адреса и (Р-)-м разр дом регистра 5 итераций , а выход - с i-ой адресной шиной ПЗУ 11 весовых коэффициентов. Выход ПЗУ 11 соединен со входом процессора 3. Устройство работает по закону, который пре ставлен видоизмененным графом БПФ (фиг. 2). Характерной особенностью графа вл етс посто нна структура на всех итераци х, что позвол ет не измен ть законы записи и считывани от итерадии к итерации. Через Mj обозначены последовательные массивы данных направленного графа, через aj (п) - элементы массива Mj, где i измен етс от 1 до р Р + 1, п соответ ствует номеру узла графа в i-ом массиве. Данные исходного массива М преобразованы в дво ичноинверсном пор дке. Благодар посто нной структуре графа обща формула получени элемента массива Мд. элементов массива Mj имеет вид (К) а| (2К) + aj (2К+1)- w ) n-aCr-i) (К+-|-) aj(2K) -aj(2K-l) при i 1, 2, К 0, 1, .... Из формулы (2) видно, что при последовательном вычислении элементов массива М. . производитс последовательна выборка элемен тов массива М. Формула (1) представл ет собой базовую операцию БПФ, (граф показан на фиг. 3). Формула (1) реализуетс в процессоре 3. Следовательно, массив может быть получен из массива М после выполнени - базовых , операций. В св зи с этим коэффициент пересчета счетчика 4 адреса - - (Р-1 разр д ). Регистр итераций имеет Р-1 разр д. На первой итерации его состо ние 00...000, на второй - 00...001, на i-ой - 00011111...11, р Р-ой - 11...111. Из массива Mj образуем векторы а. - - 1, и записыгде m измен етс от О до ваем их в соответствующие секции блока пам ти . Индекс указывает на принадлежность к массиву Mj (N). На примере восьми точечного БПФ рассмотрим работу устройства. В исходном состо нии вектор АЗ образует элементы а ai, записанные последовательно в секцию А блока 1 пам ти, вектор В - элементы а, аз, последовательно .записанные в секцию. В блоке 1 пам ти, вектор С - элемен аб, последовательно записанные в секС блока 1 пам ти, вектор D2 - элементы as, ат, последовательно записанные в секцию D блока 1 пам ти. Двухразр дный счетчик 4 адреса находитс в нулевом состо нии. В двухразр дный регистр 5 итераций записаны нули. Работа устройства начинаетс с подачи тактовых импульсов (ТИ) На вход счетчика 4 адреса . Выполнение одной итерации осуществл етс за 4 такта, при этом на каждом такте в прюцессоре 3 параллельно реализуютс формулы (1) и (2). При выполнении первого такта на первой итераЦии, которому соответствует состо ние счетчика 4 адреса 00 и состо ние регистра 5 итераций 00,происходит считывание элементов адИЗ секции А и а из секции В блока 1 пам ти. В это же врем на выходе линейки элементов И 10, входы которой определенным образом соединены с вб1ходами счетчика 4 адреса и регистра 5 итерации, устанавливаетс адрес 00, который не измен етс на прот жении выполнени первой итерации и соответствует выбору весового коэффициента по адресу 00 (w ). Данные а и а через селекторы 6 и 7, управл емые ст.ршим разр дом счеиика 4 адрега , поступают в процессор 3, же поступают значени весового коэффициента w°. На первом такте значени а и а, полученные на выходе процессора через мультиплексоры 8 и 9, управл емые младшим разр дом счетчика 4 адреса, поступают соответственно в секции А и С блока 2 пам ти. На этом первый такт работы устройства заканчиваетс . На втором такте счетчик 4 адреса переходит в состо ние 01. Происходит считьтание элементов an из секоди А и аз из секции В блока 1 пам ти и запись результатов а и а| соответственно в секции В и D блока 2 пам ти. На четвертом такте состо ние счетчика 4 адреса И, а считываетс из секции С, а - из секции D блока 1, результаты а и 87 записываютс соответственно в секции В и D блока 2. На этом выполнение первой итерации заканчиваетс . Значение нул в старшем разр де сче чика 4 адреса обеспечивает Подключение селекторов 6 и 7 к секци м А и В, а значение еди ницы - к секци м С и D блока 1 пам ти. Значение нул в младшем разр де счетчика 4 адреса обеспечивает подключение мультиплексоров 8 и 9 к секци м А и С, а значение единицы - к секци м В и D блока 2 пам ти. При выполнении второй итерации данные вы бираютс из секций А, В, С, D блока 2 пам ти и результаты записываютс в секции А, В, С, D блока 1 пам ти аналогично первой итерации . Цепи записи в блок 1 пам ти и считывание из блока 2 пам ти дл простоты схемы на чер теже не показаны. На первом такте второй итерации счетчик 4 адреса устанавливаетс в состо нии 00, а сиг нал переноса с выхода счетчика 4 адреса поступает на вход регистра 5 итерации, устанавлива его в состо ние 01. На выходе ли 1ейки 10 устанавливаетс адрес 00. Данные а и а выбираютс из секций А и В блока 2, результаты вычислени а записываютс в секции А и С блока I пам ти. На втором такте состо ние регистра итерации 01, счетчика адреса - 01, т. е. значени адреса на выходе линейки 10 сохран етс Данные а| и аз выбираютс из секций А и В, результаты вычислени а и 3$ записываютс в секции В и D блока 1. На третьем такте состо ние регистра итераций 01, счетчика адреса - 10, на выходе линейки 10 устанавливаетс адрес 10, что соответствует выбору весового коэффициента w, 34 и а| выбираютс из секций С и D бло ка 2. Результаты вычислени а и al записыва ютс в секции А и С блока I. 7 . 6 . На четвертом такте значение адреса на выходе линейки 10 сохран етс , а и а выбираютс из секций С и D блока 2, результаты вычислени эз и 87 записываютс в с екции В и D блока 1. При выполнении третьей, последней, итерации данные выбираютс из секций А, В, С D блока 1, результаты занос тс в секции А, В, С, D блока 2, аналогично первой итерации. На первом такте счетчик 4 адреса устанавливаетс в состо ние 00, а сигнал переноса с выхода счетчика 4 адреса, поступа на вход регистра 5 итерации, устанавливает в нём состо ние 11. Такое состо ние регистра итераций и счетчика 4 адреса обеспечивает формирование на выходной линейке 10 на первом такте адреса 00, соответствующего весовому коэффициенту w°; на втором такте - адреса 01 соответствующего w;: на TpeTbeiyi такте - адреса 01, соответствующего w ; на четвертом такте - адреса И соответствующего w. Применение- изобретени дает возможность исключить из устройства счетчик адреса весовых коэффициентов и неполный дешифратор, что приводит к экономии оборудовани и упрощению схемы управлени . При организации устройства дл выполнени БПФ над 1024 отсчетами объем схем управлени сокра1цаетс на 50 вентилей , что составл ет 41% от общего объема схемы управлени . Формула изобретени Устройство дл выполнени быстрого преобразовани Фурье, содержащее две группы блоков пам ти, процессор, счетчик адреса, регистр итераций, два селектора, два мультиплексора, блок посто нной пам ти, причем первый, второй и третий входы процессора подключены соответственно к выходам первого, второго селекторов и блока посто нной пам ти, первый и второй выходы процессора - ко входу первого и второго мультиплексоров соответственно , выход переполнени счетчика адреса подключен ко входу регистра интераций, отличаю щ е е с тем, что, с целью упрощени устройства, оно содержит Р-1 элементов И (Р-1 - число разр дов счетчика адреса и регистра итераций, Р log2N, N - число выборок в одном отсчете), а кажда из двух групп блоков пам ти состоит из четырех блоков пам ти , причем выходы первого и второгЪ блоков пам ти в первой группе подключены ко входам первого селектора, а третьего и четвертого блоков пам ти - ко входам второго селектора , входы первого и третьего блоков пам ти во второй группе подключены к выходам первого мультиплексора, а входы второго и четвертого блоков пам ти - к выходам второго мультиплексора, первый и второй входы 1-го элемента И (i 1, ..., Р-1) подключены соответственно к выходу i-ro разр да счетчика адреса и выходу (P-i)-ro разр да регистра итерации, выходы элементов И подключены к адресным входам блока посто нной пам ти, выход первого разр да регистра адреса подключен к управл ющим входам первого 7 28 и второго мультиплексоров, а выход (Р-1)-го разр да - к управл ющим входам первого и второго селекторов. Источники информащш, прин тые во внимание при экспертизе 1.Вьюхин Н. И. Индексное устройство процессора дл выполнени быстрого преобразовани Фурье. Сб. Автометри ,№ 3, 1973. The goal is achieved by the fact that the device contains P-1 elements AND (P-1 is the number of bits of the address counter and the register of iterations, P logj N, N is the number of samples in one sample) ,. and each of the two groups of memory blocks consists of four memory blocks, with the outputs of the first and second memory blocks in the first fump connected to the inputs of the first selector, and the third and fourth memory blocks to the inputs of the second selector, the inputs of the first and third blocks the memory in the second group is connected to the outputs of the first multiplexer, and the inputs of the second and fourth memory blocks to the outputs of the second multi-steamer, the first and second inputs of the i-th element I (i 1, ..., P-1) are connected respectively to the output i-ro bit address and output counter (Pi) - ro bits of the register of iravradi, the outputs of the AND elements are connected to the address inputs of the fixed memory unit, the output of the first bits of the register of the address is connected to the control inputs of the first and second multiplexers, and the output of the (Р-1) -th discharge - to control inputs first and second selectors. FIG. 1 shows a block diagram of an apparatus for performing an FFT; in fig. 2 modified graph of the FFT algorithm; in fig. 3 is the basic operation of the FFT algorithm. The device contains two groups of memory blocks I and 2 on shift registers, processor 3, counter 4 addresses, register 5 iteration, selectors 6, 7, multiplexers 8, 9, line of elements AND 10, block of permanent memory (ROM) 11. The outputs of the group of memory blocks 1 and Cherkiez selectors 6 and 7 are connected to the inputs of processor 3, the outputs of which through multiplexers 8 and 9 are connected to the inputs of the group of memory blocks 2, the low-order output of the address counter 4 is connected to the control inputs of selectors 6, 7, the older bit is with the control inputs of the multiplexers 8, 9, and the output of the first nose - to the input of the register 5 iterations. The inputs of the i-ro element And. 10 (i 1, ..., P-1, where P log2N, where-N is the number of input samples) are connected to the i-th counter of the counter 4 addresses and (P -) - the register's bit 5 iterations, and the output - with i-th address bus ROM 11 weights. The output of the ROM 11 is connected to the input of the processor 3. The device operates according to the law, which is represented by a modified FFT graph (Fig. 2). A characteristic feature of the graph is the constant structure at all iterations, which allows not to change the laws of writing and reading from iteration to iteration. Mj denotes successive data arrays of a directed graph, aj (n) denotes elements of the array Mj, where i varies from 1 to p P + 1, n corresponds to the node number of the graph in the i-th array. The data in the original array M is converted to binary inverse order. Due to the constant structure of the graph, the general formula for obtaining an element of the array Md. elements of the array Mj has the form (K) a | (2K) + aj (2K + 1) - w) n-aCr-i) (K + - | -) aj (2K) -aj (2K-l) with i 1, 2, K 0, 1, .. .. From the formula (2) it is clear that with the sequential calculation of the elements of the array M. sequential sampling of the elements of the array M is made. Formula (1) is the basic FFT operation, (the graph is shown in Fig. 3). Formula (1) is implemented in processor 3. Therefore, the array can be obtained from the array M after performing the basic operations. In connection with this, the conversion factor of the counter is 4 addresses - - (P-1 bit d). The register of iterations has a P-1 bit. On the first iteration, its status is 00 ... 000, on the second - 00 ... 001, on the i-th one - 00011111 ... 11, p-th - 11 ... 111. From the array Mj form vectors a. - - 1, and the entry m is changed from O to them in the corresponding sections of the memory block. The index indicates the membership of the array Mj (N). For example, eight point FFT consider the operation of the device. In the initial state, the vector AZ forms the elements a ai, written successively in section A of memory block 1, the vector B — elements a, a, sequentially recorded in section. In memory block 1, the vector C is an element, sequentially recorded in the sec of memory block 1, vector D2 are the elements as, at, sequentially recorded in section D of memory block 1. The two-bit address counter 4 is in the zero state. In a two-bit register of 5 iterations, zeros are written. The operation of the device begins with the supply of clock pulses (TI) To the input of the counter 4 addresses. The execution of one iteration is carried out in 4 clock cycles, with the formulas (1) and (2) being simultaneously implemented in each processor in the processor 3. When the first cycle is executed on the first iteration, to which the state of the counter 4 of address 00 and the state of register 5 of iterations 00 corresponds, the elements of AHD of section A and a are read from section B of memory block 1. At the same time, at the output of the line of elements AND 10, whose inputs are connected in a definite way to the inputs of the address 4 counter and the iteration register 5, the address 00 is set, which does not change during the first iteration and corresponds to the choice of the weighting coefficient at address 00 (w ). The data a and a through selectors 6 and 7, controlled by the higher resolution of the 4 address cell, goes to the processor 3, and the values of the weighting factor w ° arrive. On the first cycle, the values of a and a, obtained at the output of the processor through multiplexers 8 and 9, controlled by the lower order of the counter, 4 addresses, are received respectively in section A and C of memory block 2. At this point, the first cycle of operation of the device ends. In the second cycle, the counter 4 of the address goes to state 01. There is an occurrence of an elements from secodio A and az from section B of memory block 1 and the results a and a | respectively, in section B and D of memory block 2. In the fourth cycle, the state of the counter 4 of the address And, and is read from section C, and from section D of block 1, the results a and 87 are recorded respectively in section B and D of block 2. At this, the first iteration ends. The zero value in the highest resolution of the address resolver 4 provides the connection of selectors 6 and 7 to sections A and B, and the value of one to the sections C and D of memory block 1. The zero value in the low-order bit of the 4-address counter provides for the connection of multiplexers 8 and 9 to sections A and C, and the value of one to the sections B and D of memory block 2. In the second iteration, data is selected from sections A, B, C, D of memory block 2, and the results are recorded in sections A, B, C, D of memory 1, similar to the first iteration. The writing circuits in memory block 1 and reading from memory block 2 are not shown in the drawing for simplicity. In the first cycle of the second iteration, the counter 4 of the address is set to state 00, and the transfer signal from the output of the counter 4 of the address is fed to the input of the register 5 iteration, it is set to state 01. At the output of Basey 10, the address 00 is set. are selected from sections A and B of block 2, the results of the calculation are recorded in sections A and C of block I of the memory. In the second clock cycle, the state of the register of iteration 01, the address counter is 01, i.e. the value of the address at the output of the line 10 is stored. and az are selected from sections A and B, the results of calculating a and 3 $ are recorded in section B and D of block 1. At the third clock cycle, the register of iterations 01, the address counter is 10, the output of line 10 is set to address 10, which corresponds to the choice of weighting coefficient w, 34 and a | are selected from sections C and D of block 2. Calculation results a and al are recorded in sections a and c of block i. 7. 6 In the fourth cycle, the value of the address at the output of the line 10 is saved, and a and a are selected from sections C and D of block 2, the results of calculating ez and 87 are recorded in section B and D of block 1. When the third, last iteration is performed, the data is selected from sections A, B, C D of block 1, the results are recorded in section A, B, C, D of block 2, similar to the first iteration. In the first cycle, the counter 4 of the address is set to the state 00, and the transfer signal from the output of the counter 4 of the address entered at the input of the iteration register 5 sets the state 11. This state of the register of iterations and the counter 4 of the address ensures that the output line 10 at the first cycle of the address 00, corresponding to the weight coefficient w °; on the second cycle - the addresses 01 of the corresponding w ;: on the TpeTbeiyi cycle - the addresses 01, the corresponding w; on the fourth cycle, the addresses AND of the corresponding w. The use of the invention makes it possible to exclude from the device a counter of weighting factors and an incomplete decoder, which leads to savings in equipment and a simplified control circuit. When organizing an FFT unit over 1024 counts, the volume of control circuits is reduced by 50 gates, which is 41% of the total volume of the control circuit. Apparatus of the Invention A device for performing fast Fourier transform comprising two groups of memory blocks, a processor, an address counter, an iteration register, two selectors, two multiplexers, a fixed memory block, the first, second and third processor inputs being connected to the outputs of the first, the second selectors and the fixed memory unit, the first and second outputs of the processor to the input of the first and second multiplexers, respectively, the output of the overflow of the address counter is connected to the input of the register of interactions, differing e in order to simplify the device, it contains P-1 elements AND (P-1 is the number of bits of the address counter and the register of iterations, P log2N, N is the number of samples in one sample), and each of the two groups of blocks the memory consists of four memory blocks, with the outputs of the first and second memory blocks in the first group connected to the inputs of the first selector, and the third and fourth memory blocks to the inputs of the second selector, the inputs of the first and third memory blocks in the second group connected to the outputs of the first multiplexer, and the inputs of the second and fourth b memory locks - to the outputs of the second multiplexer, the first and second inputs of the 1st element AND (i 1, ..., P-1) are connected respectively to the output of the i-ro address address counter and the output (Pi) -ro bit the iteration register, the outputs of the And elements are connected to the address inputs of the permanent memory unit, the output of the first bit of the address register is connected to the control inputs of the first 7 28 and second multiplexers, and the output of the (P-1) th bit, to the control inputs first and second selectors. Sources of information taken into account in the examination 1. N. Vyukhin. Index processor device for performing fast Fourier transform. Sat Automatri, No. 3, 1973.
2.Патент Великобритании № 1407401, кл. G 4 А, 1974 (прототип).2. The UK patent number 1407401, cl. G 4 A, 1974 (prototype).
Ш-ЁО L. 1 ГW-YoO L. 1 G