SU868753A1 - Digital device for computing sine-cosine functions - Google Patents

Digital device for computing sine-cosine functions Download PDF

Info

Publication number
SU868753A1
SU868753A1 SU802861377A SU2861377A SU868753A1 SU 868753 A1 SU868753 A1 SU 868753A1 SU 802861377 A SU802861377 A SU 802861377A SU 2861377 A SU2861377 A SU 2861377A SU 868753 A1 SU868753 A1 SU 868753A1
Authority
SU
USSR - Soviet Union
Prior art keywords
register
angle
input
output
vector
Prior art date
Application number
SU802861377A
Other languages
Russian (ru)
Inventor
Юрий Константинович Абашин
Юрий Владимирович Крюков
Original Assignee
Предприятие П/Я Р-6510
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 Предприятие П/Я Р-6510 filed Critical Предприятие П/Я Р-6510
Priority to SU802861377A priority Critical patent/SU868753A1/en
Application granted granted Critical
Publication of SU868753A1 publication Critical patent/SU868753A1/en

Links

Landscapes

  • Complex Calculations (AREA)

Description

(54) ЦИФРОВОЕ УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ СИНУСНО-КОСИНУСНЫХ ФУНКЦИЙ(54) DIGITAL DEVICE FOR CALCULATING SINUS-COSINUS FUNCTIONS

Claims (3)

Изобретение относитс  к вычислител ной технике и предназначено дл  использовани  преимущественно в синхронных вычислительных устройствах. Известно быстродействующее устрой ство дл  вычислени  синусно-косинусных функций, реализующее итерационный алгоритм Во дера и содержащее регистр кода угла,регистр синусов, регистр косинусов, два регистра сдви га и три сумматора-вычислител  1. Недостатками указанного устройства  вл ютс  малое быстродействие ввиду необходимости выполнени  количества итераций, численно равного количеству двоичных разр дов, задающих угол Ч , а также недостаточна  точность а счет накоплени  ошибки округлени  (усечени ) при выполнении указанного количества итераций. Наиболее близким по технической сущности к изобретению  вл етс  цифровое устройство дл  вычислени  синусно-косинусных функций, реализующее итерационный алгоритм Волдера и содержащее регистр кода угла, регистр синусов, регистр косинусов, дв ;регистра сдвига, три сумматора-вычис лител , формирователь опорного сигнала и элемент ИЛИ, причем выход регистра кода угла соединен с первым и третьим входами первого сумматоравычитател , выход которого подключен к первому входу регистра кода угла, и третьими входами второго и третьего суммато Уов-вычитателей, первый вход второго С5№1матора-вычитател  подключен к первому выходу регистра синусов, второй выход которого через первый регистр сдвига соединен со Вторым входом третьего сумматора-вычитател , первый вход которого подключен к первому выходу регистра косинусов , второй выход которого через второй регистр сдвига .соединен со вторым входом второго сумматора-вычитател , выход которого подключен ко входу регистра синусов, а выход третьего сумматора-вычитател  соединен с первым входом регистра косинусов , выход формировател  опорного сигнала через элемент ИЛИ соединен со вторым входом регистра кода угла, а первый выход регистра синусов подключен ко второму входу регистра косинусов 2. Недостатком известного устройства  вл етс  низкое быстродействие. Цель изобретени  - повышение, быстродействи . Поставленна  цель достигаетс  тем что в цифровое устройство дл  вычислени  синусно-косинусных функций, со держаще регистр кода угла, регистр синусов, регистр косинусов, два сдви ( Гател  и три сумматора-вычитател , причем выход регистра кода угла сое .цинен с первым входом первого сумматора-вычитател  , выход которого подключен к первому входу регистра кода угла, первый вход второго сумматоравычитател  подключен к первому выходу регистра синусов, второй выход которого через первый сдвигатель соединен с первым входом третьего сум матора, вычитател , второй вход которого подключен к первому-выходу регистра косинусов,второй выход которо го через второй сдвигатель соединен со вторым входом второго сумматора-вы читател , выход которого подключен к первому входу регистра синусов, а выход третьего сумматора-вычитател  соединен с первым входом регистра косинусов, дополнительно введены блок пам ти, регистр сдвига и триггер , при этом второй вход регистра кода угла и вход блока пам ти объединены и  вл ютс  входом устройства, первый и второй выходы блока пам ти подключены ко вторым входам регистров синусов и косинусов соответствен но, выход регистра сдвига соединен со вторым входом первого сумматоравычитател , выход которого подключен через триггер к третьим входам первого , второго и третьего сумматороввычитателей . При таком построении быстродействие «предлагаемого устройства по сравнению с известным увеличиваетс  более чем в два раза, так как выполн етс  одна операци  поворот вектора и; кроме того, не выполн ютс  первые m итераций, так как начальное положение вектора задаетс  заранее блоком пам ти. При этом точность вычислени  значений синусно-косинусных функций в предлагаемом устройстве не хуже, -чем в известном. На чертеже приведена блок-схема Предлагаемого устройства. Устройство содержит регистр 1 код угла, регистр 2 синусов, регистр 3 косинусов, сумматоры-вычитатели 4, 5 и -б, сдвигатели 7 и 8, регистр 9 сдвига, триггер 10 и блок 11 пам ти. Блок 11 может быть выполнен в виде посто нного запоминающего устройства или комбинационной схемы на основе программной-логической матрицы. Алгоритм работы устройства заключаетс  в следующем, В основе вычислени  синусно-косинусных функций лежит известный итерационный алгоритм Волдера, а имено поворот вектора на плоскости на аданный угол и г и ;::;. ..,.V ( .где i 1,2,3,..; п - номер выполн емой итерации; п - число выполн емых 1 тераций; e (tf-4,..)i utf.r arctqf , Х - абсциссавектора после L итерации; у. - ордината вектора после итерации; 1. - угол вектора после i итерации ; йЧ.- угол поворота вектора в i итерации. Допустим, что значение заданного угла W представлено п разр дным кодом . Начальное положение вектора с координатами у определ етс  на основе анализа старших m разр дов заданного угла if . Остальные (n-m) разр дов угла (f при определении исходного положени  вектора принимаютс  равными нулю.- Тогда исходный вектор представлен углом (( , а общее количество возможных первоначальных положений вектора определ етс  величиной 2 . .Таким образом, первые m итераций не выполн ютс . Модуль вектора выбираетс  равным такой ве- личине, чтобы при выполнении оставшихс  (п-т) итераций он увеличилс  до единичного значени . Начальные координаты вектора Хд и Уд определ ютс  с помощью блока 11, представл ющего собой посто нное запоминающее устройство емкостью 2 слов или комбинационную схему на основе программно-логической матрицы. Первые m разр дов угла М , таким образом ,  вл ютс  соответственно адресом посто нного запоминающего уст ройства или входом-программно-логической матрицы. Значени  начальных координат вектора Xjj и YQ вычисл ютс  заранее следующими выражени ми к - 0-цТ V -111 , -2(1-1). Wll...a--) K..), где к - коэффициент удлинени  вектора в i итерации при повороте вектора на угол и 7 . ГЬосле выполнени  (п-Ш) итераций вектор занимает положение, характеризующеес  углом Ч и единичным значением модул . При этом координаты принимают значени вектора х и у CosM и sin Ч соответственно. Обычно примен емый при осуществл нии алгоритма Волдера блок пам ти, хран щий итерационные углы поворота вектора d Ч при наличии блока 11, ра ботающего при величинах m больше не которого значени  при заданной разр дности угла V , может быть замене на сдвиговый регистр, так как при этом условии вьаполн етс  соотношени А так как t( uM i1 --|:с{лЧ- , то , . т.е. последующий итерационный угол йЧ. получаетс  из предыдущего ит 14рационного угла поворота л Ч- путем . логического сдвига. Устройство работает следующим об разом. Значение угла Ч поступает на вход устройства. При этом значении разр  дов с 1-ого по m  вл ютс  входом блока 11, а значени  разр дов с т+1 до п запоминаютс  в регистре 1 угл В регистре 9 сдвига .записываетс  значение первого итерационного угла поворота вектора uMf Значени  начальных координат вектора Хд и Ур, вырабатываемые блоком 11, запоми наютс  в регистрах 3 и 2 косинуса и синуса соответсвённо. Затем осущест вл етс  поворот вектора на угол -f-4vn f заданный (n-m) младшими ра р дами угла Ч. При этом первый поворот вектора производитс  на положительный угол ,,arct,y г, €„. + -Таким образом, триггер 10 знака первоначально всегда устанавливаетс  fi нулевое состо ние. Далее начинаетс  выполнение перво по счету итерации. Сдвинута  сдвигателем 7 информаци  регистра 2 складываетс  на сумматоре-вычитателе 6 с информацией регистра 3, сдвинута  сдвигателем 8 информаци  регистра 3 вычитаетс  на сумматоре-вычитателе 5 из информации регистра The invention relates to computing technology and is intended for use primarily in synchronous computing devices. A high-speed device for calculating sine-cosine functions is known, which implements a Woder iterative algorithm and contains an angle code register, a sine register, a cosine register, two shift registers, and three calculators 1. The disadvantages of this device are low speed due to the need iterations, numerically equal to the number of binary bits that specify the angle H, as well as insufficient accuracy due to the accumulation of rounding error (truncation) when performing the specified number ARISING iterations. The closest in technical essence to the invention is a digital device for calculating sine-cosine functions, which implements the Volder iterative algorithm and contains the angle code register, the sine register, cosine register, dv; shift register, three adder-calculator, shaper of the reference signal and the element OR, and the output of the angle code register is connected to the first and third inputs of the first totalizer, the output of which is connected to the first input of the angle code register, and the third inputs of the second and third summers OV-subtracters, the first input of the second C5№1 matcher-subtractor is connected to the first output of the sine register, the second output of which is connected to the Second input of the third adder-subtractor, the first input of which is connected to the first output of the cosine register, the second output of which is through the second The shift register is connected to the second input of the second adder-subtractor, the output of which is connected to the input of the sine register, and the output of the third adder-subtractor is connected to the first input of the cosine register, the output is formed l reference signal through an OR gate coupled to the second input of the angle code register and the first register of the sine output is connected to the second input register cosine 2. A disadvantage of the known device is a low speed. The purpose of the invention is to increase speed. The goal is achieved by the fact that a digital device for calculating sine-cosine functions contains an angle code register, a sine register, a cosine register, two shifts (Gaitel and three subtractors, and the output of the angle code register is connected to the first input of the first adder -calculator, the output of which is connected to the first input of the angle code register, the first input of the second totalizer is connected to the first output of the sine register, the second output of which is connected to the first input of the third sum of the matrix through the first shifter, the subtractor, the second input of which is connected to the first output of the cosine register, the second output of which is connected to the second input of the second adder-reader, the output of which is connected to the first input of the sine register through the second shifter, and the output of the third adder-reader is connected to the first input of the register cosines, a memory block, a shift register and a trigger are additionally entered, while the second input of the angle code register and the memory block input are combined and are the device input, the first and second memory block outputs are connected to volts To the first inputs of the sine and cosine registers, respectively, the output of the shift register is connected to the second input of the first adder, the output of which is connected via a trigger to the third inputs of the first, second and third adders. With such a construction, the speed of the proposed device is more than doubled compared to the known one, since one operation of the vector and; in addition, the first m iterations are not executed, since the initial position of the vector is predetermined by the memory block. At the same time, the accuracy of calculating the values of sine-cosine functions in the proposed device is not worse than that in the known. The drawing shows a block diagram of the Proposed device. The device contains a register 1 angle code, a register of 2 sines, a register of 3 cosines, adders-subtractors 4, 5 and -b, shifters 7 and 8, shift register 9, trigger 10 and memory block 11. Block 11 can be made in the form of a persistent storage device or combinational circuit based on the program-logic matrix. The algorithm of the device operation is as follows. The calculation of the sine-cosine functions is based on the well-known iterative algorithm of Wolder, and the rotation of the vector on the plane by the angle and r and; ::;. ..,. V (. Where i 1,2,3, ..; n is the number of iterations being performed; n is the number of 1 actions performed; e (tf-4, ..) i utf.r arctqf, X - x is the vector ordinate after the iteration, 1. is the vector angle after i iteration, rn is the angle of rotation of the vector in i iteration. Assume that the value of the given angle W is represented by a bit code. The initial position of the vector with coordinates y is determined on the basis of an analysis of the higher m bits of a given angle if. The remaining (nm) angle bits (f are taken to be equal to zero when determining the initial position of the vector.) The vector is represented by an angle ((, and the total number of possible initial positions of the vector is determined by the value of 2.). Thus, the first m iterations are not performed. The vector modulus is chosen to be equal to such that during the remaining (n-m) iterations it increases The initial coordinates of the vector XD and Od are determined using block 11, which is a 2-word permanent memory device or a combinational circuit based on a program-logic matrix. The first m bits of the angle M, thus, are respectively the address of the permanent storage device or the input of the program-logic matrix. The values of the initial coordinates of the vector Xjj and YQ are calculated in advance by the following expressions k-0-cT V -111, -2 (1-1). Wll ... a--) K ..), where k is the coefficient of elongation of the vector in i iteration when the vector is rotated by an angle and 7. When the (iterating) iterations are performed, the vector takes a position characterized by the angle H and the unit value of a unit. The coordinates take the values of the vector x and y CosM and sin H, respectively. Usually used in the implementation of the Volder algorithm, the memory block that stores the iteration angles of rotation of the vector d × in the presence of block 11, operating at values of m more than a value at a given angle of angle V, can be replaced by a shift register, since under this condition, the ratios A are fulfilled, since t (uM i1 - |: s {LCH-, then. i.e., the subsequent iteration angle Ч Ch. is obtained from the previous it et 14 rational angle of rotation l H through the logical shift. Device works as follows: the value of the angle H is fed to the input devices. With this value of bits from 1st to m are the input of block 11, and the values of bits from m + 1 to n are stored in the 1 angle register. In shift register 9, the value of the first iteration angle of rotation of the vector uMf is written. The vectors Xd and Ur, produced by block 11, are stored in registers 3 and 2 of cosine and sine, respectively. Then, the vector is rotated by the angle -f-4vn f given by (nm) in small rows of the H angle. produced at a positive angle ,, arct, y g, €. + -So, the 10-character trigger initially always sets fi to zero. Next, the first iteration of the iteration begins. Shifted by shifter 7, register 2 information is added to adder-subtractor 6 with register 3 information, shifted by shifter 8, information of register 3 is subtracted on adder-subtractor 5 from register information 2. Полученные результаты записываютс  вновь в регистры 2 и 3. Значение регистра 1 корректируетс  сумматором-вычитателем 4 на величину аЧг , котора  находитс  в регистре 9 сдвига. После зтого содержимое регистра 9 сдвига сдвиг аетс  на один разр д вправо, а в триггер 10, управл ющий режимами работы сумматоров-вычитателей 4, 5 и 6, записываетс  значение, соответствугощее знаку результата вычислени , произведенного сумматором-внчитателем 4. На этом выполнение первой итерации заканчиваетс . Остальные итераиии выполн ютс  аналогично первой. Триггер 10 знака при этом посто нно следитза режимами работы (суммирование или вычитание ) сумматоров-вычитателей 4, 5 и 6. После выполнени  последней итерации искомые значени  синуса угла Ч и косинуса угла Ч будут содержатьс  в регистрах 2 и 2. The results obtained are recorded again in registers 2 and 3. The value of register 1 is corrected by adder-subtractor 4 by the value of acg, which is in shift register 9. After this, the contents of shift register 9 are shifted by one bit to the right, and trigger 10, which controls the operation modes of adders-subtractors 4, 5 and 6, records the value corresponding to the sign of the result of the computation produced by adder-recipient 4. At this, the first the iteration ends. The remaining iterations are performed similarly to the first. The trigger 10 characters is constantly monitored by the operation modes (summation or subtraction) of adders 4, 5 and 6. After the last iteration, the desired sine values of the angle H and the cosine of angle H will be contained in registers 2 and 3. .Быстродействие предлагаемого устройства по сравнению с известным увеличиваетс  более чем в два раза. Вопервых , выполн етс  одна операци  поворот вектора , в то врем  как в известном устройстве выполн ютс  две таких операции. Во-вторых, предварительна  установка вектора в исходное положение, определ емое старшими m разр дами значени  угла V, позвол ет дополнительно сЪкратить количество итераций при вьтолнении одной операции поворот вектора с п до (п-га), при этом разр дность сдвигателей 7 и 8 регистра 1 угла V и сумматора-вычитател  4 уменьшаетс  на т. разр дов. Таким образом, быстродействие предлагаемого устройства по сравнению с известным увеличиваетс  в раз. . n-mБыстродействие предлагаемого устройства выше в -- раз по сравнеf - VD ним с известным за счет меньшего количества итераций при выполнении одной операции поворот вектора . Формула изобретени  Цифровое устройство дл  вычислени  синусно-косинусных функций, содержащее регистр кода угла, регистр синусов , регистр косинусов, два сдвигател  и три сумматора-вычитател , причем выход регистра кода угла соединен с первым входом первого сумматора-вычитател , выход которого подключен к первому входу регистра кода угла, первый вход второго сумматора-вычитател  подключен к первому выходу регистра синусов, второй выход которого через первый сдвигатель соединен с первым входом третьего сумматоравычитател , второй вход которого подключен к первому выходу регистра косинусов , второй выход которого через второй сдвигатель соединен со вторым входом второго сумматора-вычитател , выход которого подключен к первому, входу регистра синусов, а выход тре3. The performance of the proposed device is more than doubled compared to the known one. First, one operation is performed by rotating the vector, while in a known device two such operations are performed. Secondly, presetting the vector to the initial position, determined by the higher m bits of the angle V, makes it possible to additionally reduce the number of iterations when performing a single operation, rotating the vector from n to (p-ha), while the width of the shifters 7 and 8 register 1 of angle V and adder-subtractor 4 is reduced by m. bits. Thus, the speed of the proposed device in comparison with the known increases in times. . The n-m performance of the proposed device is higher by a factor of - times compared to the VD with the known one due to the smaller number of iterations when performing a single rotation of the vector. A digital device for calculating sine-cosine functions, comprising an angle code register, a sine register, a cosine register, two shifters and three adders, with the output of the angle code register connected to the first input of the first adder, whose output is connected to the first input the angle code register, the first input of the second adder-subtractor is connected to the first output of the sine register, the second output of which is connected to the first input of the third totalizer, the second input through the first shifter Which one is connected to the first output of the register of cosines, the second output of which through the second shifter is connected to the second input of the second adder-subtractor, the output of which is connected to the first, input of the register of sines, and the output of the three
SU802861377A 1980-01-02 1980-01-02 Digital device for computing sine-cosine functions SU868753A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU802861377A SU868753A1 (en) 1980-01-02 1980-01-02 Digital device for computing sine-cosine functions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU802861377A SU868753A1 (en) 1980-01-02 1980-01-02 Digital device for computing sine-cosine functions

Publications (1)

Publication Number Publication Date
SU868753A1 true SU868753A1 (en) 1981-09-30

Family

ID=20868707

Family Applications (1)

Application Number Title Priority Date Filing Date
SU802861377A SU868753A1 (en) 1980-01-02 1980-01-02 Digital device for computing sine-cosine functions

Country Status (1)

Country Link
SU (1) SU868753A1 (en)

Similar Documents

Publication Publication Date Title
US6243732B1 (en) Data processor and data processing system
US6138135A (en) Propagating NaNs during high precision calculations using lesser precision hardware
CN107305484B (en) Nonlinear function operation device and method
JP2835153B2 (en) High radix divider
Vassiliadis et al. A general proof for overlapped multiple-bit scanning multiplications
US4956799A (en) Trigonometric function arithmetic processor using pseudo-division
JP2822399B2 (en) Logarithmic function arithmetic unit
SU868753A1 (en) Digital device for computing sine-cosine functions
JP2508784B2 (en) Exponential function calculator
Pineiro et al. High-radix logarithm with selection by rounding
JPH0346024A (en) Floating point computing element
US4951238A (en) Processor for executing arithmetic operations on input data and constant data with a small error
US6615228B1 (en) Selection based rounding system and method for floating point operations
JPH09128213A (en) Block floating processing system/method
SU763892A1 (en) Arithmetical device
JP2708013B2 (en) Memory control circuit for N-point FFT processor
Osorio et al. New arithmetic coder/decoder architectures based on pipelining
Hormigo et al. Arithmetic unit for the computation of interval elementary functions
JP2605792B2 (en) Arithmetic processing unit
SU888131A1 (en) Processor for computing elementary functions
SU1104510A1 (en) Digital device for calculating sine-cosine dependences
JP2705162B2 (en) Arithmetic processing unit
SU1539771A1 (en) Device for computing a function
SU1119006A1 (en) Device for dividing numbers
SU570047A1 (en) Device for reproducing of function