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

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

 

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

Известен способ округления кодов функции (Орнатский П.П. - Автоматические измерения и приборы. - Учебник для ВУЗов. - 4-е изд. перераб. и доп. - Киев: Вища школа. Головное изд-во. 1980. - 560 с. - 30502.2402000000. стр.221), являющийся аналогом предлагаемого способа. Способ заключается в том, что если точное значение кодов функции в заданной точке имеет большее число двоичных разрядов, чем необходимо, например m двоичных разрядов, то округление кода осуществляется путем отбрасывания всех двоичных разрядов, номера которых больше m. Если в коде всего m двоичных разрядов, то это означает, что в коде существует всего 2m:0, 1, 2…(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πi/n); i=t, 2, 3…n}

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

ΔH=2m-AH.

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

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

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

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

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

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

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



 

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

Изобретение относится к области обработки сигналов для повышения их соответствия входным для устройства сигналам. .

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

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

Изобретение относится к области вычислительной техники и может быть использовано в системах управления, обработки многомерных сигналов. .

Изобретение относится к области вычислительной техники и может быть использовано в системах управления и обработки сигналов. .

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

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

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

Изобретение относится к вычислительной технике

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

Изобретение относится к предварительной обработке цифровых изображений

Изобретение относится к области вычислительной техники

Изобретение относится к средствам обработки информации для прогнозирования стационарных и нестационарных случайных процессов

Изобретение относится к средствам моделирования линейных свойств электрического компонента

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

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

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