Цифровой генератор функций Советский патент 1982 года по МПК G06F1/02 

Описание патента на изобретение SU980083A1

(5) ЦИФРОВОЙ ГЕНЕРАТОР ФУНКЦИЙ

Похожие патенты SU980083A1

название год авторы номер документа
Устройство для извлечения квадратного корня 1980
  • Филатов Евгений Иванович
SU1099318A1
Число-импульсный функциональный преобразователь 1979
  • Шевяков Александр Григорьевич
SU860071A1
Число-импульсный функциональный преобразователь 1980
  • Шевяков Александр Григорьевич
SU924715A2
Генератор функций 1984
  • Шевяков Александр Григорьевич
SU1275411A1
Генератор функций 1984
  • Шевяков Александр Григорьевич
SU1241219A1
Функциональный преобразователь нескольких переменных 1986
  • Гришков Олег Вячеславович
  • Машенков Валерий Михайлович
  • Мурсаев Александр Хафизович
  • Ро Юрий Игоревич
  • Шишов Олег Викторович
SU1387022A1
Устройство для вычисления функций двух аргументов 1986
  • Барметов Юрий Павлович
  • Боев Сергей Алексеевич
  • Евтеев Юрий Иванович
SU1413626A1
Вычислительное устройство 1982
  • Грачев Сергей Анатольевич
  • Эзенкин Анатолий Александрович
SU1040493A1
Устройство для линеаризации характеристик частотных датчиков 1987
  • Граур Сергей Иванович
  • Журавлев Андрей Иванович
  • Никитин Виталий Викторович
SU1478333A1
Цифровой генератор функций 1982
  • Венедиктов Анатолий Захарович
  • Соломаха Валентин Николаевич
  • Шевяков Александр Григорьевич
SU1019423A1

Иллюстрации к изобретению SU 980 083 A1

Реферат патента 1982 года Цифровой генератор функций

Формула изобретения SU 980 083 A1

Изобретение относится к цифровой вычислительной технике и может быть использовано в цифровых, цифроаналрговых, вычислительных и информационно-измерительных устройствах и систе мах, а также в устройствах автоматики для формирования разнообразных функциональных зависимостей, в том числе степенных, логарифмических, тригонометрических и пр. Известно устройство с кусочно-линейным воспроизведением функций. Независимо от места формирования управляющих сигналов аргумент представ ляется в виде число-импульсного кода, а изменение крутизны воспроизводимой функции осуществляется за счет изменения коэффициента деления управ ляемого делителя частоты, формирующе го приращения выходной функции Г 1 Т. Однако при этом набор коэффициентов деления невелик, а абсолютная ве личина значений крутизны не может быть больше единицы. Данные обстоятел .ства существенно ограничивают точностные характеристики устройства. Наиболее близким к предлагаемому по технической сущности является устройство, содержащее счетчик-регистр аргумента, накапливающий сумматор, блок памяти и делитель частоты, при этом адресная часть блока памяти соединена с выходом делителя частоты, вход которого соединен со входом устройства, входом счетчика-регистра аргумента и тактирующим входом управления выдачей кодов блока памяти, информационные выходы которого соединены с информационными входами накапливающего сумматора. Известное устройство осуществляет кусочно-линейную аппроксимацию воспроизводимой функции, причем узлы аппроксимации задаются с постоянным шйгом по аргументу. Аргумент, представляемый в виде число-импульсного кода, подается одновременно на счетчик-регистр и вход делителя частоты с постоянным коэффициентом деления. Блок памяти , при поступлении каждого импульса входного кода подает на сумматор постоянные числа, соответствующие коэффициенту наклона на данном участке аппроксимации. Переход на следующий отрезок ломаной осуществляется по сиг .налу с выхода делителя частоты, при этом изменяется адрес в блоке памяти и на его выходах устанавливаетсяново значение коэффициента наклона 2. Недостатком известного устройства является низкая точность, обусловленная следующими причинами. Во-первых, из-за того, что интервалы между узлами кусочно-линейной аппроксимации- сохраняются постоянными независимо от кривизны воспроизводимой функции, методическая погрешность формирования функции на некоторых участках может быть значительной. В принципе можно выбрать интервал аппроксимации по условию обеспечения требуемой методической погрешности на самом неудобном участке воспроизводимой функции с .максимальной криг визной. Но в таком случае, особенно при малых значениях требуемой методической погрешности, резко возрастает общее число участков аппроксимации а следовательно, и объем блока памяти коэффициентов наклона. Во-вторых, для устройства характер но и высокое значение инструментальI V п НОИ погрешности вычислении. Дело в том, что коэффициенты наклона, задава емые в виде некоторых -постоянных чисел, характеризующих приращения функции на данном участке аппроксимации, записываются в блок памяти с некоторо погрешностью из-за ограниченности раз рядной сетки его выходных слов. Так как за время вычислений общее число суммирований в накапливающем сумматоре может быть весьма значительным, а данная инструментальная составляющая погрешности непрерывно накапливается результирующая погрешность вычислений может стать недопустимо большой. Ее уменьшения можно добиться толька за счетувеличения разрядности выходных слов блока пайяти и сумматора, что также приводит к резкому возрастанию аппаратурных затрат. Цель изобретения - повышение точности воспроизведения функций. Поставленная цель достигается тем, что в цифровом генераторе функий, содержащем счетчик, блок памяти сумматор, информационный вход котоого соединен с выходом блока памяти, актовый вход сумматора подключен ко ходу генератора, выход переполнения умматора соединен с установочным ходом сумматора и счетным входом четчика, выход которого соединен с ходом старших разрядов адреса блока амяти, вход младших разрядов адреса оторого соединен с выходом старших азрядов сумматора.. На чертеже представлена блок-схеа генератора. Цифровой генератор функций, содерит счетчик 1, блок 2 памяти, суммаор 3. и вход k генерат.ора. Алгрритм работы ге.нератора рассмотим на г1 римере формирования функции у Y X . Целочисленные значения аргумента X С и X г, при которых имеют место целочисленные значения функции у i (1 1,2, 3...), различаются на величину e-r--i 4iH)%Q., что дает ряд чисел.1, 7, 19, 37, 61, 91, 127,... Если при очередных цело- . численных значениях х k, заключенных в интервале между значениями и г (г k« ), задав ть функции У приращения равные (2 Is., 3J + 1 ), .. ,.. з.г..... ТО будет формироваться кусочно-линейное приближение функции.. Уравнение отрезков ломаной на i-ых интервалах аппроксимации может быть записано в виде ЛлЧ1-0. к-г ..) i-UH) е-г о-О-ь) . откуда K-ti-t)1-(1-1) i SCi-D -t-BH-)+ Методическая погрешность кусочно-линейной аппроксимации вида (2) равна --v,- - :dSife;T n.--i))H-1)Ч(i-f)-f Координаты ее максимальных значений внутри интервалов аппроксимации ,л могут быть найдены, если первую производную, равную (5) г(1Ч)%з(1-1)м ъ приравнять нулю. Отсюда (i-i)S(i-i)4 дупах При подстановке (6) в С) получается 0--l)aUi-if4(i--i)4 f )Н(-1)4.: 3Методическая погрешность аппрокси мации имеет отрицательный знак, а абсолютная величина ее максимальных значений уменьшается с ростом i. В практике вычисления или формирования функций наиболее типична:ситуация, при которой приведенную погрешность результата необходимо иметь равной или близкой к приведенной погрешности задания аргумента. Число значающих разрядов.функции принимают при этом равным числу значащих разрядов аргумента. В частности,при изменении корня третьей степени из аргумента, имеющего диапазон х X TTJOX необходимо иметь m 31og,j V maxJ- Разрядов для представления целой части (здесь 3,- ближайшее бол шее или равное целое число), и р nразрядов для представления дробной части результата. При п 8, 12, 16 значения тир равны соответственно m 3, А, 6; р 5, 8, 10. Как показывают, расчеты по формуле (7), модули максимальной методической погрешности на всех интервалах кусочно-линейной аппроксимации вида (2) при выборе вышеуказанных разрядностей аргумента и функции значительно превышают погрешность дискретности равную 2 Л Методическая погрешность может быть существенно уменьшена, если использовать увеличенное количество узлов аппроксимации. Для практической реализации наиболее удобно увеличение числа узлов, кратное двум, а именно в 2, , 8 и т.д. раз. В частности, при удвоенном и учетверенном числе узлов аппроксимации коэффициент наклона изменяется не только на границах i-ых интервалов с.целочисленными значениями х г| и х , но и в ближайших внутренних точках х , при которых становятся справедливыми неравенства у /| + 0,5 (для удвоенного числа узлов), либо + 0,25 у7/1 + 0,5;у7/« + 0,75 (для учетверенного числа узлов). В качестве примера в нижеследующей таблице приведены границы поддиапазонов аргумента и значения коэффициентов наклона для первых семи интервалов целочисленных 3начений функции у -/х при удвоенном и учетверенном количестве узлов аппроксимации.

,980083

Как показывают расчеты, при удвоенном числе узлов аппроксимации максимальная методическая погрешность для случая восьмиразрядных кодов ар8 Продолжение таблицы

гумента и функции становится по модулю меньше погрешности дискретности, начиная со второго поддиапазона первого интервала (со значения аргумеидиапазона аргумента ее влиянием на точность устройства можно пренебреч Для случая двенадцати- и шестнадцатиразрядных кодов аргумента и функции значение максимальной методической погрешности на всех интервалах аппроксимации с удвоенным числом узлов не уходит за пределы разрядной сетки и необходим переход к большему числу узлов. В частности, при учетверенном числе узлов модуль максимальной методической погрешности становится меньше погрешности дискретности для двенадцатиразрядных входных и выходных кодов, начиная со второго поддиапазона третьего интервала (со значения аргумента равного 43), т. е. на63/64диапазона аргумента, а для шестнадцатиразрядных входных и выходных кодов - начиная с пятнадцатого интервала (со значения аргумента равного 337$), т. е. Haf9/20диапазона аргумента. Если в последнем случае необходимо обеспечить методическую погрешность аппроксимации пренебрежимо малой на большем участке значений аргумента, то необходимо осуществлять дальнейшее увеличение числа узлов.

При практической реализации выше,изложенного способа кусочно-линейной аппроксимации приращения функции, задающие коэффициенты наклона на каждом участке, могут быть записаны в блок памяти, управляемый по адресным входам кодом целой-части результата, совместно по старшими разрядами дробной части, формируемым в накапливающем сумматоре приращений функции, выход переполнения которого соединен со счетным входом счетчика. Для удвоенного числа узлов аппроксимации используется выход только старшего разряда сумматора, сигнализирующий о переходе кода результата через значение i + 0,5, а для учетверенного числа узлов старшего и предыдущего по старшенству разрядов сумматора, сигнализирующие о переходе кода результата через значения + 0,25; i + 0,5;

i +-0,75.

Разрядности выходных слов блока

памяти и накапливающего сумматора приращений определяются допустимой инструментальной погрешностью вычислений. Если для представления дробной части результата использовать

равенства приведенной погрешности задания аргумента и функции, то инструментальная составляющая погрешности не должна превышать единицы младшего разряда, а именно 2 . Число разрядов V сумматора, обеспечивающее данное значение инструментальной погрешности, определяется

из следующих соображений. Как известно, при многократном суммировании равноточных чисел абсолютная погрешность возрастает в q раз, где q число суммирований. Если после сформирования очередного переполнения сумматора, т. е. попучения приращения целой части, в сумматоре каждый раз устанавливать определенное, неизменяемое в процессе вычислений

значение начального кода, то накопленная на интервале аппроксимации инструментальная погрешность будет периодически устраняться. При этом условии максимальное число суммирований с накоплением погрешности в заданном диапазоне аргумента будет иметь место на последнем полном интервале кусочно-линейного приближения функции с. целочисленными узлами.

В частности, при п 8, 12, 16 рачно соответственно 91, 721, k68}, а сумматор должен иметь не менее W . 3 1о9а дополнительных разрядов. Для указанных значений п w

7, 10, 13, а общее число разрядов сумматора V w+p будет равно 12, 18, 23 соответственно.

Чтобы обеспечить при работе устройства правильность переходов на очередные поддиапазоны кусочно линейного приближения в расчетных-узлах аппроксимации, необходимо со)людать определенную процедуру определения двоичных кодов коэффициентов наклона, подлежащих записи в блок памяти, а также задавать необходимое значение начального кода сумматора. По результатам моделирования различных вариантов определения кодов коэффициентов наклона выбран следующий алгоритм: на первых половинах интервалов аппроксимации между целочисленными узлами коды коэффициентов наклона следует брать по правилу симметричного округления с учетом значения старшего отбрасываемого разряда, а на вторых половинах интервалов - с добавлением единицы младшего 1198 разряда к кодам коэффициентов наклона, определенным по способу обычного усечения неучитываемых разрядов, Что же касается начального кода, устанавливаемого в сумматоре после сформирования очередного приращения целой масти, то он выбирается из следующих соображений. Так как за счет округления коды коэффициентов наклона на первых половинах интервалов в самом неблагоприятном случае могут задавать ся с отрицательной погрешностью, близкой по модулю к половине погрешности дискретности, а именно то после самого большого числа суммирований, имеющего место на первой половине старшего .полного интервала, и равного приблизительно 0,5 упоХ абсолютная погрешность недобора к середине интервала может достигать значения t 0,5 qniQic х X Если значение у, соответствующее узлу аппроксимации в середине J-ro интервала очень близко к i +0,5, то вследствие накопившейся погрешности недобора переход на новый поддиапазон аппроксимации может осуществляться не в расчетной точке х ky,, а в следующе X , что приведет к потере одно го шага аргумента и появлению дополнительной погрешности. Чтобы этого, н происходило, в качестве начального йода сумматора следует брать число, равное 2( 2 В частности |при при V 18 и W 10 S 10; при V - 23 и W 13 S.r 15. Так как максимальный коэффициент наклона, подаваемый на сумматор на первом интервале аппроксимации, равен единице, то число разрядов t выходных слов блока памяти должно быть равно разрядности накап ливающего сумматора; при этом в ячейке с нуле вым адресом должен быть записан- код, содержащий во всех разрядах единичные значения. Но число t может быть уменьшено, если допустить некоторое увеличение погрешности аппроксимации на начальных интервалах. В частности если в исходном состоянии во всех разрядах сумматора установить не нулевь1е, а единичные значения. То пере ход на второй интервал аппроксимации при поступлении первого входного (импульса осуществится при любом не равном нулю содержимом ячейки с нуле 12 вым адресом. Начиная со второго интервала, максимальный коэффициент наклона, подаваемый на сумматор при с( одинарном или удвоенном числе узлов, не превышает 0,25, т. е. имеет в двоичном представлении старшую значащую цифру только во втором разряде после занятой. При учетверенном числе узлов он несколько превышает 0,25, но с помощью изменения коэффициента узлов аппроксимации на первых поддиапазонах второго интервала все коэффициенты наклона можно сделать меньшими 0,25 (рекомендуемые коррекции отражены в таблице в. круглых скобках). Если учесть данные соображения, то число значащих разрядов выходных слов блока памяти достаточно иметь равным t V2, т.е. 10, 16 и 21 соответственно. Устройство согласно предлагаемому изобретению работает следующим образом, В исходном положении все разряды счетчика 1 устанавливаются в нулевое, а сумматора 3 - в единичное состояние. На выходах блока 2 памяти присутствует любой не равный нулю код. Аргумент подается в- число-импульсном коде на вход k устройства. После поступления первого импульса на тактирующий вход суммирования накапливающий сумматор 3 переполняется и сигнал переполнения поступает на счетчик 1. В счетчике устанавливается код второго интервала аппроксимации, а на выходах блока памяти - код, соответствующий коэффициенту наклона на первом поддиапазоне второго интервала. Сигнал переполнения поступает также на вход установки начального кода сумматора, По мере поступления последующих импульсов входного кода к начальному содержимому сумматора добавляются коды приращений функции на втором интервале аппроксимации, пока не сформируется второе переполнение. В тех промежуточных точках, при которых в сумматоре формируются значения старших разрядов дробной части результата, соответствующие выбранным точ- . кам перехода на очерёдные внутриинтервальные поддиапазоны аппроксимации, коэффициенты наклона изменяются в соответствии с: расчетными. Второй сигнал переполнения сумматора 3 устанавливает в счетчике 1 код третьего интервала аппроксимации, а в самом, сумматоре - значение начального кода. На выходах блока памяти устанавливается. значение кода коэффициента наклона на первом поддиапазон третьего интервала. В дальнейшем работа устройства осуществляется ана логично; при этом в т-разрядном счет чике 1 будет формироваться код целой части, а в р ста.рших разрядах накапливающего сумматора 3 - достоверные значащие цифры кода дробной части результата вычислений. Цифровой генератор функций может быть использован не только для формирования функции у УЗГ, но и других монотонных функций, прежде всего степенных и логарифмических. Более того, если счетчик и накапливающий сумматор выполнить реверсивными, при чем управление реверсом осуществлять по условию достижения кодом в счетчике каких-либо заранее заданных значений, то предлагаемое устройство может формировать и немонотонные (в том числе периодические, например тригонометрические) функции. При это каждый раз исходя из .диапазона аргумента и требуемой приведенной погреш ности воспроизведения функции необходимо предварительно расчетным путем определить интервалы аппроксимации, количество поддиапазонов, коэффициенты наклона на всех участках аппроксимации, числа разрядов операционных устройств.и т.д. При формировании некоторых функций особенно в случаях, когда требования К погрешности устройства не слишком If РЮ PTNOHlUI/ f ТIA г f t -tf .г гч1Л111 trf.t жесткие, разбиение интервалов аппроксимации на поддиапазоны может не по-, требоваться. В таком случае устройство упрощается, так как при этом исклю чаются связи старших разрядов накапливащего сумматора с адресными входами блока памяти и уменьшаются число и разрядность запоминаемых в блоке памяти коэффициентов наклона. Важным практическим достоинством предлагаемого генератора является то, что все его блоки могут быть полностью реализованы на микросхемах высокого уровня интеграции. Формула изобретения Цифровой генератор функций, содержащий счетчик, блок памяти и сумматор, информационный вход которого соединен с выходом блока памяти, отличающийся тем, что, с целью повышения точности воспроизведения функций, тактовый вход сумматора подключен к входу генератора, выход переполнения сумматора соединён с установочным входом сумматора, и счетным входом счетчика, выход которого соединен с входом старших разрядов адреса блока памяти, вход младших разрядов адреса которого соединен с выходом старших разрядов сумматора. Источники информации, принятые во внимание при экспертизе 1.Авторское свидетельство СССР W , кл. G 06 F 1/02, 1976. 2.Клебанский Р.В., Симаев С.Ш. и Барбакадзе Б.Ш. Разработка дискретных функциональных преобразователей на -.---....--..... - - . X . микроэлектронной базе.Материалы III Всесоюзного симпозиума Проблемы создания преобразователей формы информации, Наукова думка, 1976, с. 157160 (прототип).

SU 980 083 A1

Авторы

Филатов Евгений Иванович

Даты

1982-12-07Публикация

1980-11-06Подача