SU1315999A1 - Device for calculating values of fourier coefficients - Google Patents
Device for calculating values of fourier coefficients Download PDFInfo
- Publication number
- SU1315999A1 SU1315999A1 SU854002699A SU4002699A SU1315999A1 SU 1315999 A1 SU1315999 A1 SU 1315999A1 SU 854002699 A SU854002699 A SU 854002699A SU 4002699 A SU4002699 A SU 4002699A SU 1315999 A1 SU1315999 A1 SU 1315999A1
- Authority
- SU
- USSR - Soviet Union
- Prior art keywords
- input
- output
- inputs
- scale
- block
- Prior art date
Links
- 238000004364 calculation method Methods 0.000 claims abstract description 17
- 230000002441 reversible effect Effects 0.000 claims abstract description 15
- 238000009434 installation Methods 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 6
- 238000001228 spectrum Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 2
- 241000258241 Mantis Species 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 238000010791 quenching Methods 0.000 description 1
- 230000000171 quenching effect Effects 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
Landscapes
- Complex Calculations (AREA)
Abstract
Изобретение относитс к вычислительной технике и может быть использовано в системах цифровой обработки сигналов в реальном масштабе времени. Цель изобретени - повышение точности . Поставленна цель достигаетс за счет того, что устройство состоит из двухпортового блока пам ти 1, сдвига- тел 2, арифметического блока 3, блока посто нной пам ти 4, преобразователей обратного кода в пр мой 5, 6, блока посто нной пам ти 7, элемента- ИЛИ 8, регистра 9, формировател адресов 10, блока синхронизации 11, блока вычислени масштаба 12, информационного входа 13, входа запуска 14 и выхода масштабного коэффициента 15. 9 ил. (Л ы tnA СП соThe invention relates to computing and can be used in real-time digital signal processing systems. The purpose of the invention is to improve accuracy. This goal is achieved due to the fact that the device consists of a two-port memory block 1, a body shift 2, an arithmetic unit 3, a memory block 4, converters of a reverse code in forward 5, 6, a memory block 7, an OR-8 element, a register 9, an address driver 10, a synchronization unit 11, a scale calculation unit 12, an information input 13, a start input 14, and an output of the scale factor 15. 9 Il. (Ls tna js with
Description
10ten
1131599911315999
Изобретение относитс к вычислительной технике и может быть использовано в системах цифровой обработки сигналов в реальном масштабе времени .The invention relates to computing and can be used in real-time digital signal processing systems.
Целью изобретени вл етс повышение точности вычислений;The aim of the invention is to improve the accuracy of calculations;
На фиг.1 представлена схема предлагаемого устройства; на фиг.2.- схема блока вычислени масштаба; на фиг.З - графическа схема алгоритма БПФ; на фиг,4 - схема формировател адресов; на фиг,5 - схема блока синхронизацииJ на фиг.6-10 - временные диаграммы, по сн ющие работу устройства.Figure 1 presents the scheme of the proposed device; Fig. 2 is a scale calculation block diagram; FIG. 3 is a graphical diagram of the FFT algorithm; FIG. 4 is a diagram of an address maker; Fig. 5 is a diagram of the synchronization unit J in Fig. 6-10 are timing diagrams explaining the operation of the device.
Устройство содержит двухпортовый блок 1 пам ти, сдвигатель 2, арифметический блок 3, блок 4 посто нной пам ти (табличных коэффициентов), преобразователи 5 и 6 обратного кода в пр мой, блок 7 посто нной пам ти, элемент ИЛИ 8, регистр 9, формирователь 10 адресов, блок 11 синхронизации , блок 12 вычислени масштаба,информационный вход - выход 13, вход 14 запуска и выход 15 масштабного коэффициента..The device contains a dual-port memory unit 1, a shifter 2, an arithmetic unit 3, a permanent memory unit 4 (tabular coefficients), converters 5 and 6 of the reverse code into a forward one, a permanent memory unit 7, an OR 8 element, a register 9, shaper 10 addresses, synchronization unit 11, scale calculation unit 12, information input - output 13, start input 14 and output 15 of the scale factor ..
W. - комплексный весовой коэффиf5W. - complex weight coefficient f5
циент (фиг.З)tsent (fig.Z)
Блок синхронизации (фиг.5) содержит генератор 52 тактовых импульсов, распределитель 53 импульсов, элемент ИЛИ 54, элемент И 55, ждущий мультивибратор 56, элемент И 57, сдвиговый регистр 58, выходы 59, триггер 60, элемент И 61, элемент И 62,триггер 63, элемент И 64, счетчик 65, элементы И 66 и 67, вхбд 14, вькоды 68-72,The synchronization unit (FIG. 5) contains a clock pulse generator 52, a pulse distributor 53, an OR element 54, an AND element 55, a waiting multivibrator 56, an And element 57, a shift register 58, outputs 59, a trigger 60, an element 61, and an element 62 , trigger 63, element And 64, counter 65, elements And 66 and 67, vhbd 14, codes 68-72,
Рассмотрим работу устройства на примере вычислени коэффициентов Фурье дл массива длиной N 16 точек . Устройство работает в старт- стопном режиме. На каждый запускающий импульс производитс однократное вычисление коэффициентов Фурье и устройство останавливаетс до прихода следующего запускающего импульса.Consider the operation of the device on the example of calculating the Fourier coefficients for an array of length N 16 points. The device operates in start-stop mode. For each trigger pulse, a one-time calculation of the Fourier coefficients is performed and the device stops before the next trigger pulse arrives.
С приходом импульса на вход 14 устройства блок 11 вырабатывает на выходе 68 сигнал Исходное, которьй устанавливает в исходное состо ние все блоки устройства. Затем на выходе 59 начинают вырабатыватьс синхроимпульсы СИ1 - СИ16, которые поступают к блокам устройства, обеспечива Блок 1 состоит из ОЗУ комплексных 30 согласованный во времени режим рабо20With the arrival of a pulse at the device input 14, the block 11 generates a source signal at the output 68, which initializes all the blocks of the device. Then, at output 59, synchro pulses SI1 to SI16 begin to be generated, which are fed to the units of the device, providing Block 1 consists of a complex integrated 30 consistent time mode 20
2525
чисел, в чейках которых хран тс . действительные и мнимые составл ющие комплексных чисел. Объем пам ти составл ет 2N слов (N - длина .обрабатываемого массива).the numbers in which the cells are stored. real and imaginary components of complex numbers. The memory capacity is 2N words (N is the length of the array being processed).
Блок вычислени масштаба (фиг.2) содержит мультиплексор 16, сумматор 17, регистры 18 и 19, четьфе элемента И 20-23, реверсивные счетчики 24 и 25, элементы И 26-29, элементы ИЛИ 30 и 31, узел 32 посто нной пам ти , регистр 33, входы 34-38, выходы 39 и 40 и регистр 41,The scale calculation block (Fig. 2) contains a multiplexer 16, an adder 17, registers 18 and 19, an element chip of 20-23, reversible counters 24 and 25, elements of AND 26-29, elements of OR 30 and 31, fixed memory node 32 TI, register 33, inputs 34-38, outputs 39 and 40, and register 41,
Формирователь 10 адресов (фиг,4)Shaper 10 addresses (Fig, 4)
ты всего устройства.you are the whole device.
На фиг,3 представлена графическа схема используемого алгоритма БПФ, При выполнении базовой операции ал35 горитма БПФ с основанием два, необходимо считать.два операнда, один коэффициент и записать два операнда - результат базовой операции.Fig. 3 shows the graphical scheme of the used FFT algorithm. When performing the basic operation of the 35 Algorithm of the FFT with base two, it is necessary to count. Two operands, one coefficient and write two operands - the result of the basic operation.
На фиг,6 приведена временна ди40 аграмма выполнени базовой операции. Базова операци выполн етс за 16 синхроимпульсов. Вначале производитс считывание первого и второго операндов (СИ1 - СИ5), Адреса дл счизовые операции видаFig. 6 shows the time frame of the basic operation. The base operation is performed in 16 clocks. First, the first and second operands are read (CI1 to CI5), Addresses for data operations of the form
содержит реверсивные счетчики 42 и тывани поступают из формировател (с входной логикой), блок 44 элемен- адресов (выход 50), Затем над этими тов ИЛИ, элемент И 45, триггер 46, операндами выполн етс базова one- мультиплексор, 47, входы 48 и 49 и раци . Коэффициенты считываютс из выходы 50 и 51.блока 4 по адресу, вьщаваемому форАрифметический блок выполн ет ба- 50 мирователем 10 адресов (выход 51),contains reversible counters 42 and quenchings come from the driver (with input logic), block 44 element addresses (output 50), Then on these OR signals, element 45, trigger 46, operands, basic one-multiplexer is executed, 47, inputs 48 and 49 and radio. The coefficients are read from outputs 50 and 51. of block 4 at the address given to the block. The arithmetic unit performs 10 addresses by the supporter (output 51),
После выполнени базовой операции блоком 3 результаты операции записываютс по тем же адресам в блок 1, Одновременно.с записью операндов в 55 ОЗУ производитс оценка величины модул комплексных чисел. Арифметический блок работает с числами, представленными кодами с фиксированной зап той.After performing the basic operation by block 3, the results of the operation are recorded at the same addresses in block 1. Simultaneously with the recording of operands in 55 RAM, the magnitude of the modulus of the complex numbers is estimated. The arithmetic unit works with numbers represented by fixed-point codes.
,-и,-and
А; BUT;
4В.;4B .;
В,,, А, - В; ,B ,, A, - B; ,
где А- и В; - комплексные операнды, причем вначале вычисл етс операнд В ;4. , а затем А, ,where a- and b; - complex operands, with the operand B first being calculated; 4. , and then A,,
W. - комплексный весовой коэффиты всего устройства.W. - integrated weight coeffixes of the entire device.
На фиг,3 представлена графическа схема используемого алгоритма БПФ, При выполнении базовой операции ал35 горитма БПФ с основанием два, необходимо считать.два операнда, один коэффициент и записать два операнда - результат базовой операции.Fig. 3 shows the graphical scheme of the used FFT algorithm. When performing the basic operation of the 35 Algorithm of the FFT with base two, it is necessary to count. Two operands, one coefficient and write two operands - the result of the basic operation.
На фиг,6 приведена временна ди40 аграмма выполнени базовой операции. Базова операци выполн етс за 16 синхроимпульсов. Вначале производитс считывание первого и второго операндов (СИ1 - СИ5), Адреса дл счиFig. 6 shows the time frame of the basic operation. The base operation is performed in 16 clocks. First, the first and second operands are read (CI1 to CI5);
Дл исключени переполнени используетс алгоритм условного масштабировани , .при котором на каждой итерации производитс оценка величины модул комплексных операндов на выхо де арифметического блока. Причем, с целью повьшени точности вычислений, все операнды рабиваютс на две группы в соответствии с графической схемой алгоритма БПФ (фиг.З). К первой группе относ тс операнды, наход щиес в блоке ОЗУ по адресам 0000 до 0111, т.е. имеющие значение О в старшем разр де адреса. К второй гру пе относ тс операнды, наход щиес в блоке ОЗУ по адресам 1000 до 1111, т.е. имеющие 1 в старщем разр де. Дл каждой группы определ етс свой масщтабный коэффициент. Если хот бы один операнд группы имел модуль больше или равньй 0,5, то на следующей итерации производитс сдвиг всех входных операндов данной группы на один разр д вправо. Если все операнды группы имели модули меньше О ,.25, то производитс сдвиг всех входных операндов данной группы на один разр д влево. Если все операнды группы имели модули меньше 0,5, но имеетс хот бы один операнд группы, модуль которого больше или равен 0,25, то входные операнды данной группы поступают на вход арифметического блока без сдвига. При выполнении этих условий обеспечиваетс работа арифметического блока без переполнени .To eliminate overflow, a conditional scaling algorithm is used, at which at each iteration the magnitude of the modulus of the complex operands at the output of the arithmetic unit is estimated. Moreover, in order to increase the accuracy of the computations, all the operands are worked into two groups in accordance with the graphical scheme of the FFT algorithm (Fig. 3). The first group includes operands located in the RAM block at addresses 0000 to 0111, i.e. meaningful in high order address. The second group includes operands located in the RAM block at addresses 1000 to 1111, i.e. having 1 as head de. Each group has its own scale factor. If at least one operand of the group had a module greater than or equal to 0.5, then at the next iteration all the input operands of this group are shifted by one bit to the right. If all operands of the group had modules less than O, .25, then all input operands of this group are shifted one bit to the left. If all operands of the group had modules less than 0.5, but there is at least one group operand whose modulus is greater than or equal to 0.25, then the input operands of this group arrive at the input of the arithmetic unit without a shift. When these conditions are met, the arithmetic unit is operated without overflow.
Модуль комплексного числа определ етс выражениемThe modulus of a complex number is determined by the expression
|А, I -- (Re А;): + ()2,| A, I - (Re A;): + () 2,
где А,- - комплексное число;where A, - is a complex number;
RpA I - реальна часть числа;RpA I is the real part of the number;
j - мнима часть числа. j is the imaginary part of the number.
Из анализа зтого выражени видно , что при значении iRgA;)/ 0,5 модуль комплексного числа 0,5, независимо от значени ; йри значении 1 17/ 0,5 модуль комплексного числа 7, 0,5, независимо от значени RgA .From the analysis of this expression it can be seen that when the value of iRgA;) / 0.5 is the modulus of the complex number 0.5, regardless of the value; The value of 1 is 17 / 0.5 modulus of the complex number 7, 0.5, regardless of the value of RgA.
При других значени х RgA выполнение неравенства (А. ,5 зависит как от значений действительной , так и мнимой частей комплексного числа. С целью экономии оборудовани оценка величины модул комплексного числа производитс приближенноFor other values of RgA, the inequality (A., 5 depends on both the real and imaginary parts of the complex number. To save equipment, the magnitude of the modulus of the complex number is estimated approximately
по анализу К старших разр дов действительной и мнимой частей числа.by analyzing the higher bits of the real and imaginary parts of a number.
Дл определенности рассмотрим работу устройства при К 5.For definiteness, consider the operation of the device at K 5.
В исходном состо нии все регистры установлены в О. На управл ющий вход сдвигател 2 подан код, соответствующий сдвигу всех операндов на первой итерации на один разр д вправо . Операнды, участвующие в вычислени х в соответствующей последовательности , необходимой дл алгоритма БПФ, подаютс на вход сдвигател 2, сдвигаютс на нем на один разр д вправо. и поступают на первый вход арифметического блока 3. На выходе блока 3 производитс оценка величин модул операндов, вычисленных на текущей итерации.In the initial state, all the registers are set to O. To the control input of the shifter 2, a code is supplied that corresponds to the shift of all operands in the first iteration by one bit to the right. The operands involved in the calculations in the appropriate sequence required by the FFT algorithm are fed to the input of the shifter 2, shifted by one bit to the right. and arrive at the first input of the arithmetic unit 3. At the output of block 3, the values of the module of the operands calculated at the current iteration are estimated.
Вначале с помощью преобразователей 5 и 6 производитс преобразование их в пр мой код. (Это позвол ет сократить объем блока ПЗУ). Дл этого наFirst, using converters 5 and 6, they are converted into direct code. (This reduces the capacity of the ROM unit). For this on
управл ющие входы преобразователей 5 и 6 подключены знаковые разр ды соответственно действительной и мнимой частей, имеющие вес 0,5, которые завод тс непосредственно на вход ы элемента 8. Остальные четыре разр да преобразователей 5 и 6 кодов заведены на адресные цходы блока 7. По адресам , которые соответствуют кодам мантисс действительной и мнимой частей числа, у которых модуль больше или равен 0,5, записан код 1, а по остальным адресам записан код 0.The control inputs of converters 5 and 6 are connected to sign bits of the real and imaginary parts, respectively, having a weight of 0.5, which are brought directly to the inputs of element 8. The remaining four bits of the converters 5 and 6 codes are set to address blocks of block 7. By addresses that correspond to the mantis codes of the real and imaginary parts of the number, in which the module is greater than or equal to 0.5, code 1 is written, and code 0 is written for the remaining addresses.
Во второй разр д блока 7 по соответствующим адресам, при которых модуль комплексного числа меньше 0,25, О, а по остальным адII л IIIn the second bit of block 7, at the corresponding addresses, at which the modulus of the complex number is less than 0.25, O, and for the rest, adII l II
записан код , ресам записан кодrecorded code, resam recorded code
Г R
С выхода блока 7 второй разр д заведен на информационный вход регистра 9. Значение величины модул заноситс в регистр 9. После обработки операндов, относ щихс к первой группе , содержимое регистра 9 переписываетс в регистр 33 блока вычислени масштаба. После обработки операндов, относ щихс к второй группе, содержимое регистра 33 переписшваетс в регистр 41, а содержимое регистра 9 - в регистр 33. Блок вычислени . масштаба по содержанию регистров 33 и 41 вырабатывает сигналы управлени сдвигателем 2 поочередно дл операндов первой и второй групп.From the output of block 7, the second bit is applied to the information input of register 9. The value of the modulus value is entered in register 9. After processing the operands belonging to the first group, the contents of register 9 are written to register 33 of the scale calculator. After processing the operands belonging to the second group, the contents of register 33 are rewritten to register 41, and the contents of register 9 to register 33. Computation block. the scale of the contents of the registers 33 and 41 generates the control signals of the shifter 2 alternately for the operands of the first and second groups.
Кроме того, по значению кодов в регистре 33 производитс подсчет масштабного коэффициента дл первой группы на счетчике 24 и дл второй группы на счетчике 25. На последней итерации, когда производитс обработка операндов, относ щихс к разным группам, перед вьтолнением вычислений производитс выравнивание масштабов . Дл этого в блоке вычислени масштаба на последней итерации вырабатываютс коды управлени сдвигате- лем 2 дл каждой группы; обеспечивающие сдвиг операндов при считывании из блока 1 на соответствующее число разр дов. Одновременно на выходе 15 устанавливаетс значение кода, соответствующее масштабу вычисленного спектра.In addition, based on the codes in register 33, the scaling factor is calculated for the first group at counter 24 and for the second group at counter 25. At the last iteration, when processing operands belonging to different groups, the scales are aligned before performing the calculations. To do this, in the scale calculation unit, shift codes 2 for each group are generated at the last iteration; providing the shift of the operands when reading from block 1 by the corresponding number of bits. At the same time, at output 15, a code value is set corresponding to the scale of the calculated spectrum.
Блок 11 синхронизации (фиг.5) ра- 20 рации в итерационном .регистре 58The synchronization unit 11 (FIG. 5) of the ra- tion in the iteration register 58
ботает в старт-стопном режиме. Временна диаграмма работы блока приведена на фиг. 7. Предположим,, что в данный момент устройство закончило вычисление и находитс в состо нии ожидани . На первый вход элемента И 55 поступает сигнал 1, вырабатываемый итерационным сдвиговым регистром 58 (п + 1 разр д) при окончании вычислений. Этот же сигнал поступает на вход элемента 54 и блокирует работу распределител 53. С приходом на вход 14 запускающего импульса на выходе элемента И 55 возникает сигнал, который запускает жду- щий мультивибратор 56. На выходе его формируетс сигнал Исходное, который поступаетна вход элемента ИЛИ 54, а также к другим блокам устройства (выход 70).bots in start-stop mode. The timing diagram of the unit is shown in FIG. 7. Assume, that at the moment the device has completed the calculation and is in the waiting state. The first input element And 55 receives a signal 1, generated by the iterative shift register 58 (n + 1 bit) at the end of the calculations. The same signal arrives at the input of element 54 and blocks the operation of the distributor 53. With the arrival of a trigger pulse at input 14, the output of element 55 produces a signal that triggers the standby multivibrator 56. , as well as to other units of the device (exit 70).
По окончании сигнала Исходное запускаетс распределитель 53 импульсов , вырабатывающих 16 синхроимпульсов , смещенных во времени, которые поступают к блокам, обеспечива согласованный режим работы устройства. На счете 65 подсчитываетс число выполненных базовых операций. При счетчик содержит четьфе разр да.At the end of the signal, the Source starts up the distributor of 53 pulses, producing 16 clock pulses that are offset in time, which arrive at the blocks, ensuring a consistent operation mode of the device. On account 65, the number of basic operations performed is calculated. When the counter contains the discharge bit.
По мере выполнени базовых операций состо ние счетчика 65 принимает значение 0000, 0001, 0010, 0011,0100 и т.д. (фиг.8 и 10) При состо нии счетчика 65, равном 0100, на выходе элемента 62 возникает сигнал, по которому Триггер 63 устанавливаетс в состо ние 1 (СИЗ по СИ2), и на выходе 70 устанавливаетс высокий потенциал , который соответствует завер-- шению обработки операндов первой группы и используетс в блоке вычис- -лени масштаба (сигнал П01). При состо нии счетчика 65, равном 1000, на выходе элемента 61 возникает сигнал, устанавливаюп;ий триггер- 60 в состо ние 1 (СИЗ по СИ2), и на выходе устанавливаетс высокий уровень (сигнал П02). По этому сигналу тактом СИЮ производитс сдвиг содержимого итерационного регистра 58 и на его выходе 72 установитс код 01000, соответствующий выполнению второй итерации (фиг.9). Через элементы 66 и 67 счетчик 65 тактом СИЮ сбрасываетс в О. Далее процесс повтор етс .As the basic operations are performed, the state of the counter 65 becomes 0000, 0001, 0010, 0011, 10000, and so on. (FIGS. 8 and 10) When counter 65 is equal to 0100, a signal is generated at the output of element 62, according to which Trigger 63 is set to state 1 (PPI CP2), and high potential is output at output 70, which corresponds to - to the processing of operands of the first group and is used in the scale calculating unit (signal A01). When the counter 65 is equal to 1000, a signal is generated at the output of the element 61, the trigger is set to state 1 (PPI CP2), and a high level is set at the output (signal P02). By this signal, the UIS cycle is used to shift the contents of the iteration register 58 and at its output 72 a code 01000 is set corresponding to the execution of the second iteration (FIG. 9). Through elements 66 and 67, the counter 65 with the UIS clock is reset to O. Next, the process repeats.
После выполнени последней итеустанавливаетс код 00001. Высокий уровень с п того разр да поступает на элемент ИЛИ 54 и запрещает выработку синхроимпульсов. Устройство пе- реходит в режим ожидани .After the last execution, the code 00001 is set. The high level from the fifth bit goes to the element OR 54 and prohibits the generation of sync pulses. The device goes into standby mode.
Формирователь адресов (фиг.4) обеспечивает формирование адресов операндов и коэ4)фициентов в последовательности , необходимой дл выполнени алгоритма БПФ с основанием два в соответствии с используемым графом (фиг.З). Сигналом Исходное счетчики 43 и 42 и триггер 46 устанавливаютс в О. На вход 48 поступает четырехразр дный код с итерационного сдвигающего регистра 58, который управл ет пор дком счета счетчиков 42 и 43. Счетные импульсы поступаютThe address generator (FIG. 4) provides the formation of the addresses of the operands and coee4) of the candidates in the sequence necessary to perform the FFT algorithm with base two in accordance with the graph used (FIG. 3). The signal Source Counters 43 and 42 and trigger 46 are set to O. Input 48 receives a four-digit code from an iterative shift register 58, which controls the counting order of counters 42 and 43. Counting pulses arrive
на вход 49 с выхода элемента 64. На элементе 64 осуществл етс блокировка поступлени синхроимпульсов на врем действи сигнала П02. На выходе 50 образуютс адреса операндов.to the input 49 from the output of the element 64. On the element 64 blocking the arrival of clock pulses for the duration of the action of the signal P02. At the output 50, the addresses of the operands are formed.
Первый адрес считывани формируетс на счетчике 42 и через первый вход мультиплексора 47 поступает на выход 50. Второй адрес считывани формируетс на поразр дных элементах 44 иThe first read address is formed on the counter 42 and through the first input of the multiplexer 47 arrives at the output 50. The second read address is formed on the bits 44 and
поступает на выход 50 через второй , вход мультиплексора. Управление мультиплексором осуществл ет триггер 46, переключаемый по счетному входу с выхода элемента 45 синхроимпульсамиenters the output 50 through the second, the input of the multiplexer. The multiplexer is controlled by a trigger 46, which is switched on the counting input from the output of the element 45 by clock pulses.
СИЗ и СИ15 (фиг.6). При записи выполн етс запиЪь в блок 1 сначала второго операнда, а затем первого. Адреса дл считывани весовых коэффициен- тов формируютс на счетчике 43, причем за- счет входной логики счетные импульсы поступают на тот разр д счетчика, на которьй приходит 1 с итерационного сдвигового регистра.PPE and SI15 (Fig.6). When writing, recording is performed in block 1, first of the second operand, and then of the first. Addresses for reading weight coefficients are generated on a counter 43, and, due to the input logic, the counting pulses go to that counter's counter, which comes 1 from the iterative shift register.
Работа блока вычислени масштабаScaling unit operation
Сигналом Исходное все регистры .устанавливаютс в О, в счетчики 24 и 25 заноситс код,соответствующий значению - 1 (при код 011). Этот код соответствует масштабу результата, если на первой итерации будет вьшолнен сдвиг входного массива на один разр д в сторону мл.адших разр дов, а на остальных итераци х операнды будут передаватьс в арифметический блок без сдвигов .By the Initial signal, all registers are set to O, the code corresponding to the value - 1 is entered into the counters 24 and 25 (with the code 011). This code corresponds to the scale of the result, if at the first iteration the input array is shifted by one bit in the direction of the first and second bits, and in the remaining iterations, the operands will be transmitted to the arithmetic unit without shifts.
На первой итерации всегда осуществл етс сдвиг операндов на один разр д в сторону младших разр дов. Это обеспечиваетс тем, что при единичном значении первого разр да итерационного регистра 58 на выходе узла 32 устанавливаетс код 10001, не- зависимо от значени других входов узла 32. Код с выхода узла 32 поступает на управл ющий вход сдвигател 2, который и осуществл ет сдвиг операндов . Во врем выполнени первой итерации осуществл етс оценка величины модул комплексных чисел - результатов выполнени базовьпс операций . Результаты оценки фиксируютс в регистре 9 в моменты СИ14 и СИ16, соответствующие наличию на выходе арифметического блока первого и второго операндов.In the first iteration, the operands are always shifted by one bit towards the lower bits. This is ensured by the fact that for a single value of the first bit of the iteration register 58, the output of node 32 is set to code 10001, regardless of the value of the other inputs of node 32. The code from the output of node 32 goes to the control input of the shifter 2, which performs the shift operands. During the first iteration, an estimate is made of the magnitude of the modulus of the complex numbers — the results of performing the base operations. The evaluation results are recorded in register 9 at instants SI14 and SI16, corresponding to the presence of the first and second operands at the output of the arithmetic unit.
При возникновении сигнала П01, соответствующего завершению обработки операндов первой группы, высокий уровень через элемент 30 пост упает на вход элемента 27, на выходе которого формируетс сигнал, по которому производитс перепись содержимого регистра 9 в регистр 33 и обнуление регистра 9 (выход 39). При наличии в регистре 33 кода 11 (модуль числа больше или равен 0,5) на выходе элемента 21 формируетс сигнал, по ко- торому из счетчика 24 вычитаетс единица . При наличии в регистре 33 кода 00 (модуль числа меньше 0,25) на выходе элемента 20 формируетс сигнал, по которому к содержимому счетчика 2 прибавл етс единица. При наличии в регистре 33 кода 01 (модуль числа больше или равен 0,25, но меньше 0,5) содержимое счетчика остаетс When a signal appears P01, corresponding to the completion of processing the operands of the first group, a high level through the element 30 post falls to the input of the element 27, the output of which generates a signal that records the contents of the register 9 into the register 33 and clears the register 9 (output 39). If there is a code 11 in the 33 register (the modulus of the number is greater than or equal to 0.5), a signal is generated at the output of the element 21, according to which one is subtracted from the counter 24. If the code 33 in the register 33 (the modulus of the number is less than 0.25), the output of the element 20 generates a signal that adds one to the contents of the counter 2. If there is a code 01 in register 33 (the modulus of a number is greater than or equal to 0.25, but less than 0.5) the contents of the counter remain
без изменени , таким образом на,счечике 24 фиксируетс код, который показывает , на сколько разр дов необходимо сдвинуть операнды (в сторону младших разр дов), чтобы масштаб результата стал равным единице. Далее производ тс вычислени с операндами , относ щимис к второй группе.without changing, thus, on the slit 24, a code is fixed which indicates how many bits it is necessary to shift the operands (in the direction of the least significant bits) so that the result scale becomes equal to one. Further calculations are performed with operands belonging to the second group.
По завершении этих вычислений блоком 11 формируетс сигнал П02, по которому производитс перепись содержимого регистров 33 в 41, а регистра 9 - в регистр 33. По содержимому регистра 33 на элементах 22 и 23 фор-, мируйтс сигналы управлени дл счетчика 25 (аналогично сигналам дл счетчика 24). На врем действи сигнала П02 блокируетс вьфаботка стро- бирующих сигналов дл регистра 9 (элемент 29). По окончании сигнала П02 начинает выполн тьс втора итераци алгоритма БПФ, На вькоде узлаUpon completion of these calculations, block 11 generates a signal P02, which is used to overwrite the contents of registers 33 into 41, and register 9 - into register 33. According to the contents of register 33 on elements 22 and 23, format the control signals for counter 25 (similar to signals for counter 24). For the duration of the signal, P02 is blocked by the construction of the building signals for register 9 (element 29). At the end of the P02 signal, the second iteration of the FFT algorithm begins, On the node code
32установитс один из кодов, определ емый кодом оценки модул дл первой группы. Этот код поступает на управл ющий вход сдвигател 2.32, one of the codes defined by the module evaluation code for the first group is set. This code is fed to the control input of the shifter 2.
По завершении обработки операндов первой группы блоком 11 формируетс сигнал П01. По этому сигналу через элементы 30 и 27 производитс перепись содержимого, регистров 9 в 33,аUpon completion of processing the operands of the first group by block 11, a signal P01 is generated. This signal uses elements 30 and 27 to rewrite the contents, registers 9 to 33, and
33- в 41, На выходе узла 32 установитс код, по которому сдвигатель33- 41, At the output of the node 32, a code will be established by which the shifter
2 будет выполн ть сдвиги дл операндов второй группы. Далее, на последующих итераци х, характер работы . блока не мен етс .2 will perform shifts for the operands of the second group. Further, at subsequent iterations, the nature of the work. the block does not change.
На предпоследней итерации ( - - 1) по сигналу П02 (элементы 28 и 26) формируетс сигнал, по которому в регистр 19 с выхода сумматора 17 заноситс код разности масштабов первой и второй групп (разность кодов счетчика 24 и 25). Одновременно этим же сигналом в регистр 18 через мультиплексор 16 заноситс код того счетчика (масштаб той группы), код которого имеет меньшее значение. Управление мультиплексором осуществл етс , знаковым разр дом сумматора 17. При единичном з.начении знакового разр да сумматора в регистр 18 записываетс состо ние счетчика 24, -при нулевом значении - состо ние счетчика 25. Этот код будет соответствовать масштабу всего вычисленного спектра и через выход 15 передаетс на следующее устройство обработки.At the penultimate iteration (- - 1), the signal P02 (elements 28 and 26) generates a signal that sends the difference code of the first and second groups to the register 19 from the output of the adder 17 (the difference between the codes of the counter 24 and 25). At the same time, the same signal in register 18 through multiplexer 16 records the code of that counter (scale of that group), the code of which has a smaller value. The multiplexer is controlled by a significant digit of the adder 17. With a single value of the significant digit of the adder, the register 18 records the state of the counter 24; when the value is zero, the state of the counter 25. This code will correspond to the scale of the calculated spectrum and through the output 15 is transmitted to the next processing device.
.913.913
Код разности масштабов с выхода регистра 19 поступает на адресные входы (5-8 разр ды) узла 32. На последней итерации при подаче на вто- рой разр д адреса единицы значени четвертого и п того разр дов адреса не вли ют на выходной код узла 32. Рассмотрим возможные варианты. Пусть, масштабы первой и второй групп равны.. В этом случае в регистре 19 зафиксируетс код 1111. При считывании операндов первой группы . на выходе узЛа 32 установитс код 10001 соответствующий сдвигу операндов на один разр д в сторону младших разр дов (дл Исключени переполнени разр дной сетки на последней итерации). При считывании операндов второй группы на выходе узла 32 установитс код 10001, по которому на сдвигателе 2 операнды будут сдвинуты на один разр д в сторону младших разр дов.The scale difference code from register output 19 goes to the address inputs (5-8 bits) of node 32. At the last iteration, when the address is fed to the second bit, the unit of the fourth and fifth bits of the address does not affect the output code of the node 32 Consider the possible options. Let, the scales of the first and second groups are equal .. In this case, the register 19 fixes the code 1111. When reading the operands of the first group. at the output of node 32, the code 10001 is set corresponding to the shift of the operands by one bit in the direction of the lower bits (to prevent the grid from overflowing at the last iteration). When reading the operands of the second group, at the output of node 32, the code 10001 will be set, according to which on the shifter 2 the operands will be shifted one bit in the direction of the lower bits.
Таким образом, операнды двух групп перед вычислением будут сдвинуты на один разр д в сторону младших разр дов . В регистр 18 будет переписан код счетчика 24 первой группы, который будет прин т за масштаб всего спектра. Пусть код масштаба первой группы больше кода масштаба второй группы. Тогда код разности, сформированный на выходе сумматора 17, будет положительным (старший соответствует О). При считывании операндов первой группы н.а выходе узла 32 будет установлен один из кодов , определ емый значением кода разности масштабов групп. При:считывании операндов второй группы на выходе узла 32 установитс код 10001, соответствующий сдвигу операндов на сдвигателе на один разр д в сторону младших разр дов.В регистр 18 будет переписан код счетчика 25, который будет прин т за масштаб всего спектра .Thus, the operands of the two groups will be shifted by one bit towards the lower bits before being calculated. Register 18 will be rewritten counter code 24 of the first group, which will be taken for the scale of the whole spectrum. Let the scale code of the first group be greater than the scale code of the second group. Then the difference code formed at the output of the adder 17 will be positive (the highest corresponds to O). When reading the operands of the first group and leaving the node 32, one of the codes will be set, determined by the value of the code for the difference between the scales of the groups. When: reading the operands of the second group at the output of node 32, the code 10001 is set, corresponding to the shift of the operands on the shifter by one bit towards the lower bits. Counter 18 will be rewritten counter code 25, which will be taken out of the scale of the whole spectrum.
Пусть код масштаба первой группы меньше кода масштаба второй группы. Тогда код разности, сформированный на выходе сумматора 17, будет отрицательным (старший разр д соответствует значению 1). В этом случае при считывании операндов первой группы на выходе узла 32 установитс код 10001, соответствующий сдвигу операндов на сдвигателе на один разр д в сторону младших разр дов.Let the scale code of the first group be less than the scale code of the second group. Then the difference code generated at the output of the adder 17 will be negative (the most significant bit corresponds to the value 1). In this case, when reading the operands of the first group, at the output of the node 32, the code 10001 is set, which corresponds to the shift of the operands on the shifter by one bit in the direction of the lower bits.
599910599910
При счи тывании операндов второй группы на выходе узла 32 будет установлен один из кодов, определ емый значением кода разности масштабов 5 групп. В регистр 18 будет переписан код счетчика 24, которьп будет прин т за масштаб всего спектра.When reading the operands of the second group, the output of node 32 will be set to one of the codes determined by the value of the difference code of the 5 groups. Counter 18 will be rewritten counter code 24, which will be taken for the scale of the entire spectrum.
Claims (1)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| SU854002699A SU1315999A1 (en) | 1985-12-30 | 1985-12-30 | Device for calculating values of fourier coefficients |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| SU854002699A SU1315999A1 (en) | 1985-12-30 | 1985-12-30 | Device for calculating values of fourier coefficients |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| SU1315999A1 true SU1315999A1 (en) | 1987-06-07 |
Family
ID=21214558
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| SU854002699A SU1315999A1 (en) | 1985-12-30 | 1985-12-30 | Device for calculating values of fourier coefficients |
Country Status (1)
| Country | Link |
|---|---|
| SU (1) | SU1315999A1 (en) |
-
1985
- 1985-12-30 SU SU854002699A patent/SU1315999A1/en active
Non-Patent Citations (1)
| Title |
|---|
| Авторское свидетельство СССР № 648989, кл. G 06 F 15/332, 1976. Авторское свидетельство СССР № 1168967, кл. G 06 F 15/332, 1984. * |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| SU1315999A1 (en) | Device for calculating values of fourier coefficients | |
| SU940165A1 (en) | Device for functional conversion of ordered number file | |
| SU1023351A1 (en) | Device for forming time intervals | |
| SU1084790A1 (en) | Device for raising to power and extracting roots | |
| SU811275A1 (en) | Device for solving linear algebraic equations | |
| SU1509878A1 (en) | Device for computing polynominals | |
| SU1083187A1 (en) | Calculating device | |
| SU1132295A2 (en) | Computation node of digital network | |
| SU596952A1 (en) | Arrangement for solving differential simultaneous equations | |
| SU1265795A1 (en) | Device for executing walsh transform of signals with adamard ordering | |
| SU1163334A1 (en) | Device for calculating ratio of time intervals | |
| SU771619A1 (en) | Device for tolerance testing | |
| SU739527A1 (en) | Device for orderly sampling of parameter values | |
| SU1012238A1 (en) | Number comparison device | |
| SU1103226A1 (en) | Device for computing square root | |
| SU439805A1 (en) | Square root extractor | |
| SU1254476A1 (en) | Device for calculating value of square root | |
| SU518777A1 (en) | Device for calculating standard deviation | |
| SU739532A1 (en) | Device for computing difference between two n-bit numbers | |
| SU1381497A1 (en) | Device for extracting square root | |
| SU1282120A1 (en) | Device for calculating values of exponential functions | |
| SU1425709A1 (en) | Processor for fast fourier transform | |
| SU402874A1 (en) | DEVICE FOR PROCESSING OF STATISTICAL INFORMATION | |
| SU1615702A1 (en) | Device for numbering permutations | |
| SU898390A2 (en) | Tolerance control device |