SU1388855A1 - Sine-cosine converter - Google Patents
Sine-cosine converter Download PDFInfo
- Publication number
- SU1388855A1 SU1388855A1 SU864088106A SU4088106A SU1388855A1 SU 1388855 A1 SU1388855 A1 SU 1388855A1 SU 864088106 A SU864088106 A SU 864088106A SU 4088106 A SU4088106 A SU 4088106A SU 1388855 A1 SU1388855 A1 SU 1388855A1
- Authority
- SU
- USSR - Soviet Union
- Prior art keywords
- input
- output
- register
- argument
- converter
- Prior art date
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Изобретение относитс к вычислительной технике и может быть использовано в цифроаналоговых вычислительных устройствах, работающих с датчиками, в которых углы выдаютс в цифровом коде с преобразователей угол-код любого типа, например фотоThe invention relates to computing and can be used in digital-analog computing devices that work with sensors, in which the angles are issued in digital code from angle-to-type converters of any type, for example, photo
Description
ПОBY
соwith
СХ)CX)
0000
00 СП СП00 JV JV
электрических преобразователей. Цель изобретени - повышение точности пре образовани за счет уменьшени дискретности изменени аргумента и функции без увеличени : объема пам ти . В синусно-косинусный преобразователь , содержащий линейный преобразователь I углового перемещени в код, регистр 2 аргумента, блок 3 вычислени знака, сумматор 4 по модулю два, преобразователь 5 пр мого кода в обратный, сумматор 6 дополнительно го кода, регистр 7 нул , блок 8 пам ти , регистр 10 функции, элемент ИЛИ 12, блок 13 синхронизации, дополнительно введен вьгаислйтельный блок 9, выполненный на основе микропроцес- сора. Значение функции sinx или cosxelectrical converters. The purpose of the invention is to improve the accuracy of conversion by reducing the discreteness of the change in the argument and function without increasing: the amount of memory. A sine-cosine transducer containing a linear transducer I of angular displacement into code, register 2 arguments, block 3 for calculating the sign, adder 4 modulo two, transducer 5 for direct code to inverse, adder 6 for additional code, register 7 zero, block 8 memory, function register 10, element OR 12, synchronization unit 13, additionally introduced 9, made on the basis of a microprocessor. The value of the sinx or cosx function
1one
Изобр етение относитс к вычислительной технике и может быть использовано в цифроаналоговых управл ющих вычислительных устройствах, работающих с датчиками,, в которых углы выдаютс в цифровом коде с преобразователей угол-код любого типа, например фотоэлектрических преобразователей .The invention relates to computing technology and can be used in digital-analog control computing devices that work with sensors, in which angles are output in digital code from angle-to-type converters of any type, such as photoelectric converters.
.Цель изобретени - повышение точности вычислений за счет уменьшени дискретности изменени аргумента и функции без увеличени объема пам ти . ,The purpose of the invention is to improve the accuracy of the calculations by reducing the discreteness of the change in the argument and function without increasing the amount of memory. ,
На фиг. 1 представлена структурна схема предлагаемого преобразовател ; на фиг. 2 - схема преобразовател кода; на фиг. 3 - схема блока вычислени знака,,FIG. 1 shows the structural scheme of the proposed converter; in fig. 2 shows a code converter circuit; in fig. 3 is a diagram of a symbol calculation unit,
Синусно-косинусный преобразователь (фиг. 1) содержит линейный преобразователь 1 углового перемещени в код, регистр 2 аргумента, блок 3 вычислени знака, cyi iMaTop 4 по модулю два, преобразователь 5 пр мого кода в обратный, преобразователь 6 пр мого кода - в обратный регистр 7 нул , блок 8 пам ти, вычислительный блок 9, регистр 10 функции, кнопку il Пуск, элемент ШШ 12, блок 13 синхронизации.The sine-cosine transducer (Fig. 1) contains a linear transducer 1 of the angular displacement into the code, a register of 2 arguments, a block 3 for calculating the sign, cyi iMaTop 4 modulo two, a forward transducer 5 for converting code, a forward transducer for converting 6 register 7 zero, memory block 8, computing unit 9, function register 10, il start button, SHSh 12 element, synchronization block 13.
8885588855
считанное-из блока пам ти по значению п-разр дного кода угла, уточн етс на микропроцессоре с учетом уменьщени дискретности входного угла до m разр дов. В результате анализа (п+2)-го и (п+3)-го разр дов регистра пр мого кода, определ ющих номер квадранта, в котором находитс угол X, а также типа функции, в блоке знака определ етс знак функции , а на сумматоре по модулю два - вид кода, пр мой или дополнительный, передаваемый на вход/ блока пам ти, в котором записано значение функции sinx в первом квадранте, а на преобразователе кода и сумматоре дополнительного кода формируетс требуемый код угла. 3 ил.read from the memory block by the value of the n-bit angle code, refined on the microprocessor, taking into account the reduction of the discreteness of the input angle to m bits. As a result of the analysis of the (n + 2) -th and (n + 3) -th bits of the direct code register, which determine the number of the quadrant in which the angle X is located, as well as the type of function, the sign of the function is determined in the block of the sign, and on the modulo two adder - the type of code, direct or additional, transmitted to the input / memory block, in which the value of the sinx function is written in the first quadrant, and the required angle code is formed on the code converter and the adder of the additional code. 3 il.
Преобразователь 5 -(фиг. 2) содержит п сумматоров 4 по модулю два. Первые входы сумматоров 14 по Модулю соединены с соответствующими разр дами входа преобразовател 5, а вторые их входы соединены с управл ющим входом преобразовател 5, выходы п сумматоров 14 по модулю-два соединены с соответствующими разр дами вы хода преобразовател 5.Converter 5 - (Fig. 2) contains n adders 4 modulo two. The first inputs of modulators 14 are connected to the corresponding bits of the input of the converter 5, and their second inputs are connected to the control input of the converter 5, the outputs n and summers 14 modulo-two are connected to the corresponding bits of the output of the converter 5.
Блок 3 (фиг. 3) содержит сумматор 15 МО модулю два, элемент ИЛИ- НЕ 16, элемент И .17, элемент ИЛИ 18. Преобразование кода угла, полученного на линейном преобразователе, в код синуса (косинуса) этого угла может выполн тьс с помощью посто нных запоминающих устройств (ПЗУ), в которых записана таблица двоичныхBlock 3 (Fig. 3) contains the adder 15 MO module two, the element OR - NOT 16, the element I .17, the element OR 18. The conversion of the code of the angle obtained on the linear transducer into the sine (cosine) code of this angle can be performed with using permanent storage devices (ROMs) in which a binary table is written
кодов значений функции sinx в пределах квадранта при изменении угла аргумента (0-90°) (1-2 ), где п - число , разр дов адреса ПЗУ, разр дов кода , подаваемого в ПЗУ угла.codes of the sinx function values within the quadrant when the angle of the argument varies (0-90 °) (1-2), where n is the number of address bits of the ROM, bits of the code supplied to the ROM of the angle.
Поскольку микросхемы блоков пам ти выпускаютс с числом разр дов кодов функции sinx на несколько разр дов превышающим число разр дов кодов аргумента, то по вл етс возможность уменьшить дискретность изменени аргумента в 2 раз, где m - разр дность кода sinx в блоке 8 пам ти, примен известные тригонометрически соотношени .Since memory chips are produced with the number of bits of the sinx function codes by several bits exceeding the number of bits of the argument codes, it is possible to reduce the resolution increment of the argument change by 2 times, where m is the sinx code width in memory block 8, using known trigonometric relationships.
Код угла можно представить в ви- де нескольких полей: N, х, их, где номер квадранта, определ емый значени ми старших (пН-2)-го и (т+1) разр дов регистра аргумента, значению этих разр дов 00, 01, 10, 11 соответствуют первый, второй, третий , четвертый квадранты; х„-п - разр дный код угла х (значение угла X, определ емое старшими разр дами регистра аргумента с т-го по (тп-п+ +1)-й; Дх-- приращение угла х, определ емое младшими разр дами регистра аргумента с 1-го по (т-п)-й.The angle code can be represented as several fields: N, x, their, where the number of the quadrant, defined by the values of the most (pN-2) -th and (m + 1) bits of the register of the argument, the value of these bits 00, 01, 10, 11 correspond to the first, second, third, fourth quadrants; x „-p is the digit code of the angle x (the value of the angle X, determined by the high-order bits of the argument register from r-th to (mn + 1) th; Dx - increment of the angle x, determined by the lower-order bits register of arguments from 1st to (tn) th.
Вычисление, например, функции sinx производитс в ычислительными блоками выполненных на основе микропроцессора по формулеFor example, the sinx function is computed in computational blocks based on the microprocessor using the formula
sinx sin(x +ux) sinx -i-cosx-sinx sin (x + ux) sinx -i-cosx-
mnrj 1mnrj 1
1,5.лх,(1) 1,5.лх, (1)
где га-разр дный код угла х,, - коэффициент 1,5 определ ет перевод угла их, представленного в ви- де правильной двоичной дроби от угла 90°, в радианы.where the ha-bit code of the angle x ,, - the coefficient 1.5 determines the conversion of their angle, represented as a correct binary fraction from an angle of 90 °, into radians.
При этом в первом квадранте код функции sinx получают при подаче в ПЗУ пр мого кода угла, а код функции COSX - при подаче в ПЗУ дополнительного кода угла. В других квад- рантах коды функций sinx и cosx, в. том числе и их знаки получают по известньм в тригонометрии соотношени м , св зывающим эти функции с функци ми sinx и COSX угла х, расположенного в первом квадранте: /sinx sinx (I) в первом и третьем квадрантах , где sinxn (I) - синус п-раз- р дного кода угла в первом квадранте jsinXnl -cosx „ (I) во втором и четвертом квадрантах, где cosx (I косинус п-разр дного кода угла в первом квадранте. При Xj, 90 -х, С08х„ (I) sinxj(l), где Хд„ - дополнительный код угла х.In the first quadrant, the sinx function code is obtained when the forward angle code is fed into the ROM, and the COSX function code is received when the additional angle code is fed into the ROM. In other quadrants, the codes of the functions sinx and cosx, c. including, their signs are obtained by limestone in trigonometry relations, connecting these functions with the sinx and COSX functions of the angle x located in the first quadrant: / sinx sinx (I) in the first and third quadrants, where sinxn (I) is the sine n-bit code of the angle in the first quadrant jsinXnl -cosx „(I) in the second and fourth quadrants, where cosx (I is the cosine of the n-bit code of the angle in the first quadrant. When Xj, 90th, С08х„ (I ) sinxj (l), where Hd „is the additional code of the angle x.
Аналогично дл функции со8х„ можно показать, что fcosx l usinx (i) во втором и четвертом квадрантах, jcosxnl sinxgn(I) в первом и.третьем квадрантах. Следовательно, при необходимости прочесть значение cosx, необходимо получить значение функции sinx n (I) во втором и четвертом квадрантах при значенииSimilarly for the function co8x, it can be shown that fcosx l usinx (i) in the second and fourth quadrants, jcosxnl sinxgn (I) in the first and third quadrants. Therefore, if necessary, read the value of cosx, it is necessary to obtain the value of the function sinx n (I) in the second and fourth quadrants with the value
(т+1)-го разр да регистра аргумента(t + 1) th digit register of argument
равного единице и значение sinx-(I), если (га+1) разр д регистра аргумента равен нулю (первый и третий квадранты ) . Сумматор 4 по модулю два формирует единицу на выходе, если угол находитс в первом или третьем квадранте и нуль в противном случае. При получении функции sinx сумматор 4 по модулю два формирует единицу соответственно во втором и четвертом квадрантах.equal to one and the value of sinx- (I), if (ha + 1) the bit of the register of the argument is zero (the first and third quadrants). The adder 4 modulo two forms a unit at the output if the angle is in the first or third quadrant and zero otherwise. When receiving the function sinx, the adder 4 modulo two forms a unit in the second and fourth quadrants, respectively.
Через преобразователь 5 на вход преобразовател 6 пр мого кода в дополнительный передаетс не измененный код регистра аргумента, если состо ние управл ющего входа преобразовател 5 нулевое, таким образом, на входе блока 8 пам ти формируетс пр мой код угла, в противном случае код инвертируетс преобразователем 5 и к его младшему разр ду прибавл етс единица на преобразователь 6 пр мого кода в дополнительный в результате на преобразователь 5 поступает дополнительный код угла.Through the converter 5 to the input of the converter 6 of the direct code to the additional code, the unchanged code of the argument register is transmitted if the state of the control input of the converter 5 is zero, thus, the direct angle code is formed at the input of the memory block 8, otherwise the code is inverted by the converter 5 and a unit is added to its low-order bit to the forward code converter 6 as an additional one; as a result, an additional angle code is fed to the converter 5.
Управление передачей пр мого или дополнительного кода угла на вход преобразовател 5 производитс сумматором 4 по модулю два.The transmission control of the direct or additional angle code to the input of the converter 5 is performed by the adder 4 modulo two.
По результату анализа номера квадранта , в котором находитс угол, и вида воспроизводимой функциональной зависимости на выходе блока 3 формируетс знак функции. 1According to the result of the analysis of the quadrant number in which the angle is located, and the type of reproducible functional dependence, a function sign is formed at the output of block 3. one
Определение знака производитс сThe definition of the mark is made with
учетом того, что функци синус отрицательна в третьем и четвертом квадрантах , когда l, где fm+lj-ro разр да регистра аргумента, функци косинус отрицательна во втором и третьем квадрантах, когда ra+ZJiJ + , где itH-2 - значение (т-ь2)-го разр да регистра аргумента. Выход блока 3 (ЗН) равен единице в том случае, если функци отрицательна и определ етс формулойConsidering that the sine function is negative in the third and fourth quadrants, when l, where fm + lj-ro is the register of the argument register, the cosine function is negative in the second and third quadrants, when ra + ZJiJ +, where itH-2 is the value (t -2) th digit register of the argument. The output of block 3 (3N) is equal to one if the function is negative and is determined by the formula
,& (Д V ЗРХ(пН-1) ±) Ст+2) 3Px; m+i v3P8;-(Im+l ( ) , где ЗР - значение входа задани режима работы преобразовател ., & (D V ZRH (pN-1) ±) St + 2) 3Px; m + i v3P8 ;-( Im + l (), where ЗР is the value of the input for setting the operation mode of the converter.
В регистр аргумента запоминаетс значение угла перед началом вычислений и остаетс неизменным до его окончани . Аналогично по окончании вычислений значение функции автоматически записываетс в регистр функции , таким образом, достигаетс асиикронна работа преобразовател и устройства - потребител вычисленных функций.The argument register stores the value of the angle before starting the calculation and remains unchanged until it ends. Similarly, at the end of the calculations, the value of the function is automatically written to the function register, thus achieving the normal operation of the converter and the device — the consumer of the calculated functions.
Кнопкой Пуск осуществл етс начальный запуск преобразовател , а блок синхронизации в совокупности с элементом ИЛИ осуществл ют перезапуск преобразовател на новое вычисление .The Start button initializes the converter, and the synchronization unit, in conjunction with the OR element, restarts the converter to a new calculation.
Синусно-косинусный преобразователь работает следующим образом.Sine-cosine converter works as follows.
После включени питани нажатием кнопки I1 Пуск блок 9 переводитс в начальное состо ние сигналами блока 13 синхронизации, а по сигналу синхронизации от элемента ИЛИ 12 в регистр 2 аргумента записываетс (т+2)-разр дный код угла X, полученный на линейном преобразователе, Единичное состо ние зхода задани режима работы преобразовател определ ет воспроизведение функции cosx а нулевое - sinx. Управл ющие воздействи на этот вход поступают от внешнего вычислительного устройства, работающего с преобразователем. Рассмотрим пример вьмислени sinx.After turning on the power by pressing the I1 Start button, the block 9 is transferred to the initial state by the signals of the synchronization unit 13, and by the synchronization signal from the OR element 12, the argument register 2 records the (t + 2) -discharge code of the angle X obtained on the linear converter, Single The state of the drive for setting the operating mode of the converter determines the reproduction of the cosx function and the zero state, sinx. Control inputs to this input come from an external computing device operating with the converter. Consider the example of the epix sinx.
Вычислени по формуле 1 производ т блоком 9 под управлением микропрограммы за дев ть тактов.Calculations using formula 1 are performed by block 9 under the control of the microprogram for nine cycles.
Б первом такте блока 9 формирует™ с константа, содержаща в m-n млад- .ших разр дах единицы,, дл выделени лх. На первом и втором выходах блока 9 формируетс значение «гдиницы, вторые выходы регистра 2 аргумента и выходы блока 8 пам ти этими единицами перевод тс в состо ние высокого сопротивлени и, следовательно, информаци на схемы обмена блока 9 из вне не поступает.In the first cycle of block 9, a c is formed with a constant, containing in m-n, the youngest bits of the unit, to select lx. The first and second outputs of block 9 form the value of the unit, the second outputs of the register 2 of the argument and the outputs of the unit 8 of memory by these units are transferred to a high resistance state and, therefore, the information on the exchange circuits of the unit 9 is not received from outside.
Во втором такте блок 9 формирует на первом выходе единицу, поддерживающую выходы блока 8 пам ти в состо нии высокого сопротивлени , а на втором выходе - нуль, разрешаюпщй передачу на схемы обмена блок 9 разр дов второго выхода регистра 2 аргумента . В блоке 9 происходит выделение и запоминание 1чпадших m-n разр дов кода угла дх.In the second cycle, unit 9 forms a unit at the first output, which supports the outputs of memory unit 8 in a high resistance state, and at the second output, zero, allowing transmission of a block of 9 bits to the second output of the register 2 argument to the exchange circuits. In block 9, the selection and memorization of the 1-hit m-n bits of the angle code dx occurs.
В третьем такте в блоке 9 их сдвигаетс влево на один раз,р д, т. определ етс 0„5 их.In the third cycle in block 9, they are shifted to the left one time, p d, t., 0 5 5 of them are determined.
В четвертом такте в блоке 9 суммируетс значени х и 0,5 лх, в результате получаетс один из сомножителей 1,5 U.X, В п том такте наIn the fourth cycle in block 9, the values and 0.5 lx are summed; as a result, one of the factors 1.5 U.X is obtained;
5five
00
5five
00
5five
00
5five
00
5five
первом выходе блока 9 формируетс значение нул , на втором и третьем выходах - единица. Вторые выходы регистра 2 аргумента перевод тс в состо ние высокого сопротивлени , а выходы блока 8 пам ти открываютс дл передачи данных. На сумматоре 4 по модулю два определ етс вид кода угла X, передаваемого на входы блока 8 пам ти, таким образом, чтобы на выходе блока 8 пам ти формировалось значение функции cosx, которое передаетс в блок 9.the first output of block 9 forms the value zero, on the second and third outputs - one. The second outputs of register 2 of the argument are transferred to a high resistance state, and the outputs of memory block 8 are opened for data transmission. Adder 4 modulo two determines the type of code of the angle X transmitted to the inputs of memory block 8, so that the output of memory block 8 forms the value of the cosx function, which is transmitted to block 9.
В шестом такте блока 9 определ етс поправка к функции sin х путем умножени cos х на 1,5- их.In the sixth cycle of block 9, the correction to the function sin x is determined by multiplying cos x by 1.5 times.
В седьмом такте на третьем входе блока 9 формируетс значение нул , из блока 8 пам ти считываетс значение Ugin X н передаетс в блок 9.In the seventh clock cycle, at the third input of block 9, a value of zero is generated, from memory block 8 a value of Ugin X is read out and transferred to block 9.
В восьмом такте в блоке 9 производитс суммирование функции sin х с его поправкой, эта сумма вл етс In the eighth cycle in block 9, the function sin x is summed with its correction; this sum is
искомой функцией sin х .the desired function sin x.
mm
В дев том такте код искомой функции выдаетс на выходы схемы обмена блока 9, а на его четвертом выходе формируетс единица, стробирующа прием кода функции в регистр 10 функции и через элемент ИЛИ 12 прием в регистр 2 аргумента кода нового угла X, блок 9 переводитс в начальное состо ние, вычислени повтор ютс дл нового угла х. Знак функции считьюаетс с блока 3.In the ninth cycle, the code of the desired function is output to the outputs of the exchange circuit of block 9, and at its fourth output a unit is generated strobe the reception of the function code in the function register 10 and, through the OR 12 element, reception in register 2 of the code argument of the new angle X, block 9 is translated into the initial state, the calculations are repeated for the new angle x. The function sign is derived from block 3.
Выработка функции cos х осуществл етс аналогично. На входе задани режима работы формируетс единица . В соответствии с этим из блока 8 пам ти по управлению от сумматора 4 по модулю два считываетс значение sin х и определ етс поправка к косинусу , затем считываетс сое х и определ етс значение cos с учетом поправку.The generation of the cos x function is similar. At the input of the job mode, a unit is formed. Accordingly, from block 8 of the memory on control from adder 4, modulo two, the value of sin x is read and a correction to the cosine is determined, then the co x is read and the value of cos is determined taking into account the correction.
Если R (R - разр дность кода угла X, выдаваемого линейным преобразователем 1) меньше т, niR«:m, то на входы младших m-R разр дов аргумента 2 необходимо ПОДКЛЮЧИТЬ зна- чение логического нул , например ОВ.If R (R is the code width of the angle X outputted by the linear transducer 1) is less than m, niR «: m, then the inputs of the lower m-R bits of the argument 2 should be CONNECTED to the logical zero value, for example, OV.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU864088106A SU1388855A1 (en) | 1986-05-12 | 1986-05-12 | Sine-cosine converter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU864088106A SU1388855A1 (en) | 1986-05-12 | 1986-05-12 | Sine-cosine converter |
Publications (1)
Publication Number | Publication Date |
---|---|
SU1388855A1 true SU1388855A1 (en) | 1988-04-15 |
Family
ID=21245456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU864088106A SU1388855A1 (en) | 1986-05-12 | 1986-05-12 | Sine-cosine converter |
Country Status (1)
Country | Link |
---|---|
SU (1) | SU1388855A1 (en) |
-
1986
- 1986-05-12 SU SU864088106A patent/SU1388855A1/en active
Non-Patent Citations (1)
Title |
---|
Авторское свидетельство СССР , кл. G 06 F 7/548, 1981. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0398910B1 (en) | High resolution phase to sine amplitude conversion | |
GB2247330A (en) | Absolute value arithmetic circuit | |
SU1388855A1 (en) | Sine-cosine converter | |
US3716843A (en) | Modular signal processor | |
SU972487A1 (en) | Harmonic oscillation digital generator | |
SU1043615A1 (en) | Sine function digital generator | |
SU1330628A1 (en) | Sine=cosine converter | |
SU798941A1 (en) | Two-scale shaft angular position-to-code converter | |
SU1123043A1 (en) | Encoder of a.c.signals with balanced modulation | |
SU1283804A1 (en) | Sine-cosine function generator | |
SU1200419A1 (en) | Shaft position-to-digital converter | |
JP2501228B2 (en) | Encoder interpolation circuit | |
SU1339555A1 (en) | Sine=cosine converter | |
SU1267624A1 (en) | Binary code-to-modular code converter | |
SU1566486A1 (en) | Converter of codes with irrational positive base to codes with irrational negative base | |
SU1198753A1 (en) | Shaft-turn-angle-to-digital converter | |
SU390546A1 (en) | ALL-UNION I | |
SU1734213A1 (en) | Device for detecting error | |
SU942101A1 (en) | Shaft angular position-to-code converter | |
RU2022471C1 (en) | Residue system information error detecting device | |
SU1034175A1 (en) | Code/frequency converter | |
SU1487016A1 (en) | Device for shaping rademacher signals | |
RU2240650C1 (en) | Shaft angle-of-turn to code converter | |
SU1173557A1 (en) | Shaft angle encoder | |
SU788140A1 (en) | Shaft angular position-to-code converter |