способ округления кодов функции

Классы МПК:G06F17/17 вычисление функций приближенными методами, например интерполяцией или экстраполяцией, сглаживанием, методом наименьших квадратов
Автор(ы):,
Патентообладатель(и):Государственное образовательное учреждение высшего профессионального образования Новосибирский государственный технический университет (RU)
Приоритеты:
подача заявки:
2009-05-27
публикация патента:

Изобретение относится к области измерительной техники и может быть использовано для точного генерирования напряжения с помощью цифроаналоговых преобразователей. Техническим результатом является уменьшение абсолютной погрешности амплитуды воспроизводимого синусоидального сигнала. Способ заключается в следующем: округляют до ближайшего уровня и запоминают полученные коды, вычисляют и запоминают код критерия оптимальности, а затем, начиная с некоторого начального номера L кода функции, изменяют направление округления этого кода и вычисляют код критерия оптимальности, если код критерия оптимальности уменьшается, то измененное значение кода запоминают и вычисляют и запоминают новое значение кода критерия оптимальности, в противном случае запоминают исходный L-тый код функции и исходный код критерия оптимальности, и производят переход к следующему номеру кода функции L+1, в котором проверяют на уменьшение кода критерия оптимальности аналогичным образом, что и при изменении L-того кода функции, и далее процесс продолжают до тех пор, пока не будет уменьшения кода критерия оптимальности в последовательности из n кодов функции, отсчитанных от значения кода, в котором последний раз произошло уменьшение кода критерия оптимальности.

Формула изобретения

Способ округления кодов функции, заданных в n дискретных точках, заключающийся в округлении до ближайшего уровня и запоминании полученных кодов, отличающийся тем, что вычисляют и запоминают код критерия оптимальности, а затем, начиная с некоторого начального номера L кода функции, изменяют направление округления этого кода и вычисляют код критерия оптимальности, если код критерия оптимальности уменьшается, то измененное значение кода запоминают и вычисляют и запоминают новое значение кода критерия оптимальности, в противном случае запоминают исходный L-й код функции и исходный код критерия оптимальности, и производят переход к следующему номеру кода функции L+1, в котором проверяют на уменьшение кода критерия оптимальности аналогичным образом, что и при изменении L-го кода функции, и далее процесс продолжают до тех пор, пока не будет уменьшения кода критерия оптимальности в последовательности из n кодов функции, отсчитанных от значения кода, в котором последний раз произошло уменьшение кода критерия оптимальности.

Описание изобретения к патенту

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

Известен способ округления кодов функции (Орнатский П.П. - Автоматические измерения и приборы. - Учебник для ВУЗов. - 4-е изд. перераб. и доп. - Киев: Вища школа. Головное изд-во. 1980. - 560 с. - 30502.2402000000. стр.221), являющийся аналогом предлагаемого способа. Способ заключается в том, что если точное значение кодов функции в заданной точке имеет большее число двоичных разрядов, чем необходимо, например m двоичных разрядов, то округление кода осуществляется путем отбрасывания всех двоичных разрядов, номера которых больше m. Если в коде всего m двоичных разрядов, то это означает, что в коде существует всего 2m:0, 1, 2способ округления кодов функции, патент № 2420799 (2m-1) различных уровней. Таким образом, в рассматриваемом способе округление кода функции в заданной точке осуществляется по недостатку, то есть до ближайшего снизу уровня, под которым находится истинное значение кода функции.

Также известен способ, приведенный в указанном выше литературном источнике (стр.222), в котором осуществляется округление с избытком, то есть до ближайшего сверху уровня, под которым находится истинное значение кода функции.

Однако указанные способы округления характеризуются методическими погрешностями: в первом способе она по максимуму равна плюс расстоянию между уровнями, во втором способе - минус расстоянию между уровнями.

Кроме того, известен способ, являющийся прототипом (Орнатский П.П. - Автоматические измерения и приборы. - Учебник для ВУЗов. - 4-е изд. перераб. и доп. - Киев: Вища школа. Головное изд-во. 1980. - 560 с. - 30502.2402000000. стр.223-224) округления кодов, задаваемых в n точках функции, заключающийся в том, что округление в каждой из n точек осуществляется до ближайшего уровня, между которыми находится истинное значение кода функции. В этом случае погрешность округления лежит в диапазоне от -1/2 до +1/2 расстояния между уровнями. В дальнейшем для генерирования функции с помощью цифроаналоговых преобразователей округленные значения кодов запоминаются.

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

Однако указанный способ округления при заданном числе двоичных разрядов m и числе дискрет n на периоде функции не дает наиболее точное воспроизведение синусоидального сигнала (первой гармоники), не минимизирует значение К-той гармоники в спектре генерируемого сигнала, не воспроизводит наиболее точно среднеквадратическое значение генерируемого сигнала и т.д. Назовем критерием оптимальности получение наименьшего значения погрешности воспроизведения первой гармоники, наименьшего значения К-той гармоники и наименьшего значения погрешности воспроизведения среднеквадратического значения сигнала.

Задачей предлагаемого изобретения является создания способа округления кода функции, который оптимизирует выбранный критерий оптимальности, то есть при заданных числе двоичных разрядов m и числе дискрет n на периоде функции минимизирует погрешность воспроизведения синусоидального сигнала (первая гармоника), либо минимизирует значение К-той гармоники в спектре воспроизводимого сигнала, либо воспроизводит с наибольшей точностью среднеквадратическое значение генерируемого сигнала.

Поставленная задача достигается тем, что в известном способе, при котором округление кодов функции, заданных в n дискретных точках, производят до ближайшего уровня, и запоминают полученные коды, кроме того, вычисляют и запоминают критерий оптимальности, а затем, начиная с некоторого начального номера L дискретного значения функции, изменяют направление округления кода и вычисляют критерий оптимальности, если критерий оптимальности улучшается, то округленное значение сохраняют и соответствующий код запоминают, и вычисляют и запоминают новое значение критерия оптимальности, в противном случае запоминают предыдущее значение кода и критерий оптимальности, и производят переход к следующему номеру дискретного значения функции L+1, в котором проверяют на улучшение (ухудшение) критерия оптимальности аналогичным образом, и далее процесс продолжают до тех пор, пока не будет улучшения критерия оптимальности в последовательности n дискретных точках, отсчитанных от дискретного значения, в котором последний раз произошло улучшение критерия оптимальности.

Способ осуществляется следующим образом, если в качестве критерия оптимальности берут минимизацию значения погрешности воспроизведения синусоидального сигнала, коды которого заданы в n дискретных точках его периода. Если амплитуда синусоидального сигнала равна 2m, то тогда имеется следующий набор кодов:

N(i)={2m*sin(2способ округления кодов функции, патент № 2420799 i/n); i=t, 2, 3способ округления кодов функции, патент № 2420799 n}

На первом этапе производят округление до ближайшего уровня n кодов последовательности N(i), и полученные коды запоминают. Затем вычисляют с помощью преобразования Фурье значения амплитуды первой гармоники спектра АH последовательности N(i), и запоминают ее значение. Далее, находят абсолютную погрешность способ округления кодов функции, патент № 2420799 H между амплитудами первой гармоники спектра AH и идеального синусоидального сигнала 2m , и также запоминают ее значение:

способ округления кодов функции, патент № 2420799 H=2m-AH.

Абсолютная погрешность способ округления кодов функции, патент № 2420799 H и значение амплитуды АH характеризуют последовательность N(i), прошедшую округление кодов функции до ближайшего уровня (исходное состояние способа).

Далее выбирают некоторый код функции в последовательности N(i), например, при i=1, то есть N(1). Изменяют направление округления в коде N(1) на противоположное N(1)1. Затем выполняют преобразование Фурье новой последовательности N(i)1 , и определяют амплитуду первой гармоники А1, а затем вычисляют погрешность способ округления кодов функции, патент № 2420799 1. Если |способ округления кодов функции, патент № 2420799 H|>|способ округления кодов функции, патент № 2420799 1|, то округленный код N(1)1 сохраняют, а также запоминают значение А1. Если |способ округления кодов функции, патент № 2420799 1|>|способ округления кодов функции, патент № 2420799 H|, то код N(1) и А1 запоминают, и используют на следующем этапе округления. В дальнейшем будем обозначать запоминаемые параметры после j-того цикла округления через N(j), способ округления кодов функции, патент № 2420799 j и Аj, независимо от того, изменились ли эти параметры по сравнению с предыдущим j-1 циклом округления.

Далее переходят к следующему коду функции: N(2), меняют направление округления, получают код N(2)1 и определяют А2 и способ округления кодов функции, патент № 2420799 2 точно так же, как это было сделано для кода N(1)1. Если |способ округления кодов функции, патент № 2420799 1|>|способ округления кодов функции, патент № 2420799 2|, то код N(2)1, способ округления кодов функции, патент № 2420799 2 и А2 запоминают. Если же |способ округления кодов функции, патент № 2420799 1|<|способ округления кодов функции, патент № 2420799 2|, то запоминают значение кода N(2), способ округления кодов функции, патент № 2420799 1 и А1.

Этот процесс протекает для N(i) с последовательным перебором кодов. Если следующий код N(j) (j<n), то опять определяют Аj и способ округления кодов функции, патент № 2420799 j точно так же, как в предыдущих случаях. Если |способ округления кодов функции, патент № 2420799 j-1|>|способ округления кодов функции, патент № 2420799 j|, то округленный код N(j)1, а также способ округления кодов функции, патент № 2420799 j и Аj запоминают. Если |способ округления кодов функции, патент № 2420799 j-1|<|способ округления кодов функции, патент № 2420799 j|, то запоминают код N(j), способ округления кодов функции, патент № 2420799 j-1 и Aj-1 и переходят к следующему коду функции из последовательности N(i).

Если последний раз улучшение критерия оптимальности (в данном случае, уменьшение модуля абсолютной погрешности амплитуды синусоидального сигнала последовательности кодов N(i)) произошло в L-той (L<n) точке последовательности кодов функции N(i), а в последующих n точках уменьшения абсолютной погрешности не произошло, то процесс округления заканчивается.

Таким образом, после осуществления предложенного способа округления кодов функции по критерию оптимальности, минимизирующего модуль погрешности воспроизведения первой гармоники последовательности кодов N(i), как показывает моделирование, уменьшается на порядок, по сравнению с округлением кода до ближайшего уровня, значение абсолютной погрешности при числе двоичных разрядов m=(5способ округления кодов функции, патент № 2420799 12) и числе точек на периоде n=(20способ округления кодов функции, патент № 2420799 100). Аналогичные результаты получены при подавлении 2-й или 3-й гармоник в спектре последовательности N(i). Еще лучшие результаты получены по критерию оптимальности, связанному с точным генерированием среднеквадратического значения синусоидального сигнала. При тех же условиях по m и n выигрыш по точности достигает 50 раз по сравнению с округлением кодов в прототипе.

Класс G06F17/17 вычисление функций приближенными методами, например интерполяцией или экстраполяцией, сглаживанием, методом наименьших квадратов

устройство идентификации лагранжевых динамических систем на основе итерационной регуляризации -  патент 2528133 (10.09.2014)
способ и система коррекции на основе квантовой теории для повышения точности радиационного термометра -  патент 2523775 (20.07.2014)
адаптивное цифровое прогнозирующее и дифференцирующее устройство -  патент 2517322 (27.05.2014)
адаптивное цифровое прогнозирующее и дифференцирующее устройство -  патент 2517317 (27.05.2014)
адаптивное цифровое прогнозирующее устройство -  патент 2517316 (27.05.2014)
устройство адаптивной фильтрации видеосигналов -  патент 2515489 (10.05.2014)
цифровое прогнозирующее и дифференцирующее устройство -  патент 2515215 (10.05.2014)
цифровой интерполятор -  патент 2513679 (20.04.2014)
способ определения навигационных параметров носителя и устройство гибридизации, связанное с банком фильтров калмана -  патент 2510529 (27.03.2014)
способ подсчета эритроцитов на изображениях мазков крови (варианты) -  патент 2488821 (27.07.2013)
Наверх