Обработка управляющих сигналов в кодере RC-аппаратуры

Описание ломаной «экспоненты», состоящей из пяти отрезков, отличается от описания трех-отрезковой ломаной двумя дополнительными строками, и двумя дополнительными вспомогательными константами. Не следует забывать, что все эти параметры вычисляются в ходе настройки модели, а при расчетах в реальном времени используются их численные значения, хранящиеся в памяти микроконтроллера.

Зададим границы участков УС(x-у) для пяти-кусочной «экспоненты», и диапазон значений Х:

0 < УС(a-b) < 0,25 < УС(b-c) < 0,5 < УС(c-d) < 0,75< УС(d-e) < 0,875 < УС(e-f) < 1; (19)

0 <= Х < 0,35.

Значения К(х-у) при этом должны быть:

К(a-b) = 1 — 2 * Х; (20)
К(b-c) = К(a-b) + 3 * Х / 4 = 1 — (5 * X) / 4; (21)
К(c-d) = 1;
К(d-e) = 1 + (К(b-c) — К(a-b))*2 = 1 + 3 * X / 2; (22)
К(e-f) = 8 * (1 — ВС(е)) = 1 + 5 * X. (23)

Рассчитаем вспомогательные константы:

ВС(b) = К(a-b) / 4 = 4 — (2 * X) / 4; (24)
ВС(c) = К(b-c) / 4 + ВС(b) = (8 — 13 * X) / 16; (25)
ВС(d) = 0,25 + ВС(c) = (12 — 13 * X) / 16; (26)
ВС(e) = К(d-e) / 8 + ВС(d) = (7 — 5 * X) / 8. (27)

Итоговые формулы для расчета пяти-отрезковой ПЭ:

ВС(a-b) = К(a-b) * УС(a-b); (28 )
ВС(b-c) = К(b-c) * (УС(b-c) — 0,25) + ВС(b); (29)
ВС(c-d) = УС(c-d)-0,5 + ВС(c); (30)
ВС(d-e) = К(d-e) * (УС(d-e)-0,75) + ВС(d); (31)
ВС(e-f) = К(e-f) * (УС(e-f)-0,875) + ВС(e); (32)

Проделаем то же самое для пяти отрезков ОЭ:

Зададим границы участков УС для пяти-кусочной «экспоненты», и диапазон значений Х:

0 < УС(a-b’) < 0,125 < УС(b’-c’) < 0,25 < УС(c’-d’) < 0,5 < УС(d’-e’) < 0,75 < УС(e’-f) < 1; (19′)

-0,35 < Х < 0.

Значения К'(х’-у’) при этом должны быть:

-К'(a-b’) = 1 — 4 * Х; (20′)
-К'(b’-c’) = К(a-b’) + 2 * Х = 1 — 2 * X; (21′)
-К'(c’-d’) = 1;
-К'(d’-e’) = 1 — (К'(a-b’) — К'(b’-c’))/2 = 1 + X; (22′)
-К'(e’-f) = 4 * (1 — ВС(е’)) = 1 + 2 * X. (23′)

Рассчитаем вспомогательные константы:

ВС(b’) = К'(a-b’) / 8 = (1 — 4 * X) / 8; (24′)
ВС(c’) = К'(b’-c’) / 8 + ВС(b’) = (1 — 3 * X) / 4; (25′)
ВС(d’) = 0,25 + ВС(c’) = (2 — 3 * X) / 4; (26′)
ВС(e’) = К'(d’-e’) / 4 + ВС(d’) = (3 — 2 * X) / 4. (27′)

Откуда итоговые формулы для расчета пяти-отрезковой ОЭ:

ВС(a-b’) = К'(a-b’) * УС(a-b’); (28′)
ВС(b’-c’) = К»(b-c’) * (УС(b’-c’) — 0,125) + ВС(b’); (29′)
ВС(c’-d’) = УС(c’-d’)-0,25 + ВС(c’); (30′)
ВС(d’-e’) = К'(d’-e’) * (УС(d’-e’)-0,5) + ВС(d’); (31′)
ВС(e’-f) = К'(e’-f) * (УС(e’-f)-0,75) + ВС(e’); (32′)

Как я уже писал выше, точность линейной аппроксимации может быть повышена путем разбиения рабочего диапазона функции на большее количество линейных отрезков, но советую не забывать о принципе разумной достаточности, и не делать количество отрезков больше пяти, так как это уже не дает объективного увеличения точности управления моделью. Кроме того, в любом случае рекомендую количество отрезков выбирать нечетным.
В приложении находится математическая модель построения пяти-отрезковой экспоненты, построенной по приведенным здесь формулам, выполненная в Excel’e.

Страницы: 1 2 3 4 5 6 7