Scientific journal
Modern problems of science and education
ISSN 2070-7428
"Перечень" ВАК
ИФ РИНЦ = 1,006

IMPLEMENTATION OF DIGITAL INTEGRATOR WITH DELTA CONVERSION

Karimov A.I. 1 Butusov D.N. 1 Platonov S.M. 2 Lavrov S.V. 3 Mandra A.G. 4
1 Saint-Petersburg State Electrotechnical University
2 Novgorod State University
3 Federal State Budget Educational Institution of Higher Professional Education "Voronezh State University of Engineering Technologies"
4 Samara State Technical University
The article describes the use of the delta – transformation in the transition from a continuous description of models of dynamical systems to their discrete form as an example of realization of the digital integrator. The definition of the delta – the operator is given and the methods of work with him are described. On a basis the delta – transformations are received models 16-bit and 32-bit digital integrators. Means of model-based design environment NI LabVIEW evaluated the accuracy of the digital integrator, obtained by the delta – transformations in the integrator, obtained by the z-transform. The graphic results of design of work of the above-described integrators are resulted in the environment of LABVIEW. Conclusions about the accuracy characteristics of models of dynamic systems described by delta – operator are make. Demonstrated the advantage of using delta - transformation to z - transformation of the digital integrator with limited word length.
error.
z - transformation
delta - transformation
digital integrator
modeling

Введение

В настоящее время для задач автоматического управления и обработки сигналов широко применяются цифровые модели непрерывных систем. Основным элементом таких систем является цифровой интегратор: традиционно для его реализации используется математический аппарат, известный как z-преобразование [3]. Применение z‑преобразования обнаруживает серьезный недостаток: при высокой частоте дискретизации корни и полюса системы в z-области стремятся к единице. Это существенно затрудняет работу с такими функциями на устройствах, не поддерживающих операции с плавающей точкой на аппаратном уровне. К ним относятся, прежде всего, 8- и 16‑битные микроконтроллеры. В настоящее время их доля на мировом рынке составляет около 70 %, и это соотношение сохранится в течение ближайших лет [4]. Стоит отметить, что операции с плавающей точкой не поддерживают аппаратно и многие 32-битные устройства, в частности, поостренные на базе процессорных ядер Cortex M0 и Cortex M3. В свете этого представляется актуальной задача поиска эффективного способа описания цифровых систем при ограниченной разрядной сетке.

Альтернативой z-преобразованию, свободной от его недостатков, является т.н. дельта-преобразование (delta transform). Оно достаточно детально описано в работах Мидлтона и Гудвина (Middleton and Goodwin, 1980-е гг.), но по сей день остается малоизвестным способом перехода от непрерывных систем к дискретным.

Определение дельта-преобразования

В основе дельта-преобразования лежит известная операция численного дифференцирования первого порядка:

(1)

Символом в данном случае обозначен период дискретизации. В качестве переменной вместо введем , которая имеет следующий смысл:

, (2)

где – значение сигнала в -й момент времени.

Как известно [3], суть z-преобразования состоит в переходе от операции дифференцирования к операции сдвига во времени. Переменная при этом обозначает сдвиг во времени на 1 шаг вперед: . (3)

Исходя из (2) и (3), нетрудно выяснить связь между переменными и :

(4)

Напомним, что связь между переменными и такова: (5)

Из формулы (4) найдем связь между оператором сдвига и переменной :

(6)

Одним из наиболее употребительных способов перехода из преобразования Лапласа в z-преобразование является так называемое билинейное преобразование, или подстановка Тастина (приближенное), основанное на замене: (7)

Обратное преобразование Тастина основано на обратной замене: (8)

Дискретизированная таким образом система сохраняет устойчивость, если исходная система была устойчива, что делает преобразование Тастина наиболее популярным способом перехода к дискретной системе. При переходе от z-преобразования к дельта-преобразованию также можно использовать преобразование Тастина. При этом связь между переменной и такова: (9)

Фундаментальное отличие дельта-системы от z-системы заключается в том, что при уменьшении периода дискретизации дельта-система стремится к непрерывной системе, в то время как в z-системе этого не происходит. Рассмотрим поведение корней характеристического полинома при стремлении :

, (10)

тогда как, если принять, что : (11)

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

Моделирование цифрового интегратора

Так как интегратор является базовым элементом практически любой системы управления [2], то исследование свойств цифрового интегратора на основе дельта-преобразования представляет несомненный интерес.

Для исследования эффекта квантования по уровню коэффициентов передаточных функций нами была разработана модель двухточечного интегратора. Стоит отметить, что использование большего числа точек интегрирования увеличивает задержку в системе, что нежелательно. Рассмотрим в сравнении две модели интегратора: на основе z-преобразования и дельта-преобразования.

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

, (12)

где – период дискретизации. Отсюда следует итерационная формула:

(13)

Перепишем это выражение с использованием оператора сдвига :

(14)

Интегратор на основе дельта-преобразования может быть выведен из формулы (4). В самом деле:

(15)

Подставим эту замену в формулу (14):

(16)

Обозначим: (17)

Из (2) и (17) следует: (18)

На основе (16) и (18) легко записать итоговую систему равенств для интегратора на основе дельта-преобразования, построенного по методу трапеций:

(19)

Обратим внимание: хотя при выводе выражения (11) предполагалось, что , но на практике мы можем выбирать значение , отличное от . С помощью подбора можно добиться повышения точности вычислений (фактически, играет роль масштабирующего коэффициента) [5]. Подбор – нетривиальная задача оптимизации.

В среде LabVIEW было проведено моделирование цифровых интеграторов, построенных на основе z-преобразования и дельта-преобразования. В качестве входного сигнала была взята синусоида с периодом и амплитудой 1, период дискретизации в системе был принят равным . Параметр (подобран экспериментально). Было создано две модели: для длины слова 16 бит и 32 бита.

Моделирование 16-битного интегратора

Рисунок 1. Реакция на синусоидальное воздействие 16-битного интегратора

Из рисунка 1 видно, что при 16-битной длине слова z-интегратор накапливает ошибку значительно быстрее, чем дельта-интегратор. Более детально это можно видеть на графике ошибки.

Рисунок 2. Ошибка 16-битного интегратора в различных реализациях

Данные линии визуально кажутся прямыми, хотя известно, что для синусоидального сигнала ошибка интегратора по методу трапеций должна повторять гармонику. При увеличении масштаба становится видно, что в данном случае это правило не нарушается (рис. 3). Внешний вид погрешности обусловлен наличием инструментальной составляющей.

Рисунок 3. Ошибка 16-битного интегратора на основе дельта-преобразования (возрастающая синусоида)

Пилообразный шум возникает из-за ошибки округления [1]. Из приведенных графиков видно, что за 4 секунды работы накопленная ошибка 16-битного z-интегратора более чем на порядок превосходит ошибку дельта-интегратора.

Моделирование 32-битного интегратора

Ниже представлен график ошибки 32-битного интегратора для двух реализаций интегратора.

Рисунок 4. Ошибка 32-битного интегратора

На этом графике разница между ошибками z-интегратора и дельта-интегратора неразличима. Однако, сравнивая с ошибкой 16-битного интегратора (рисунок 2), видно: она меньше всего лишь на порядок для дельта-преобразования. Очевидно, что, увеличивая разрядность контроллера до 32-х бит, было бы целесообразно получить и значительно лучшую точность. Изменим условия эксперимента. Примем период дискретизации , а параметр

Рисунок 5. Ошибка 32-битного интегратора в различных реализациях
при периоде дискретизации

На графике (рисунок 5) видно, что накопленная ошибка z-интегратора растет значительно быстрее, чем ошибка дельта-интегратора.

Из сравнения графиков на рисунках 2 и 5 можно вывести следующую грубую оценку:

- при длине слова 16 бит накопленная ошибка z-интегратора достигает 0,025 (7,5 %) за 4 секунды. За это же время ошибка дельта-интегратора не превышает 0,002 (0,6 %);

- при длине слова 32 бит накопленная ошибка достигает (0,01 %) за 4 секунды. За это же время ошибка дельта-интегратора не превышает (0,001 %).

Заключение

Показано преимущество использования дельта-преобразования перед z-преобразованием при реализации цифрового интегратора в случае представления чисел с фиксированной точкой при ограниченной длине машинного слова, что позволяет увеличить точность численного интегрирования. Это правило верно как для 16-битного, так и для 32-битного представления чисел с фиксированной точкой, свойственного подавляющему большинству современных микроконтроллеров и цифровых сигнальных процессоров. По этой причине представляется оправданным отдавать предпочтение дельта-преобразованию при реализации цифровых систем.

Работа выполнена при поддержке Министерства образования и науки РФ в рамках Федеральной целевой программы «Научные и научно-педагогические кадры инновационной России на 2009–2013 годы» (Государственный контракт № 14.B37.21.2021 от 11 ноября 2012 г.).

Рецензенты:

Куприянов Михаил Степанович, д.т.н., профессор кафедры вычислительной техники. Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В. И. Ульянова (Ленина)», г. Санкт-Петербург.

Фахми Шакиб Субхиевич, д.т.н., доцент кафедры систем автоматизированного проектирования. Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В. И. Ульянова (Ленина)», г. Санкт-Петербург.