Экспоненты как математические функции...
То avalanch :
Извините за брюзжание, но цитата, по любой логике, сверху вставляется.
…возникает закономерный вопрос относительно конкретной математической реализации экспоненциальной функции в передатчиках…
Один из возможных вариантов реализации (см. прицеп).
Сайт не существует, однако автора, я думаю, можно розыскать 😉 .
Либо я совсем дурак и забыл всё напрочь, либо… никакая это не экспонента, а только лишь так называется для красивости…
Сайт не существует, однако автора, я думаю, можно розыскать 😉 .
Спасибо за “прицеп”!
Тут, конечно, не теория, а сплошная суровая практика, но весьма и весьма подробно и грамотно.
Думаю, многим будет интересно почитать, а кому-то даже и практически полезно.
А я пока продолжу “играться в численные методы” 😃 , хоть и получаются пока… нифига неи экспоненты…
Либо я совсем дурак и забыл всё напрочь, либо… никакая это не экспонента, а только лишь так называется для красивости…
Инженерные науки несколько отличаются от точных естественных (ну, типа арифметики) на допустимую величину отклонения от точного результата 😉 .
Если замена точной необходимой кривой ломанной линией не приводит, в результате, к погрешности больше допустимой, то зачем усложнять жизнь (применять более ресурсоёмкие алгоритмы, повышенное быстродействие…)?
ИМХО, ежели чего с прямым углом не путаю 😁 .
PS
Забыл “демонстрашки” прицепить.
Ловите.
Вот-вот!
Вот и получается у меня, что требуемая экспоненциальность очень неплохо аппроксимируется обыкновенной степенной функцией
Y=(Xa)/b
на интервале от 0 до 1 по оси Х,
при этом a меняется от 1 до ~5 (больше, в принципе, не нужно), что соответствует 0% и 100% экспоненты в передатчике,
а b меняется от 1 до 100 или более, что обратно пропорционально соответствует 100% и 1% расходов в передатчике.
При росте а более 5 кривая постепенно превращается почти в прямой угол.
При росте b больше 100 расходы стремятся к 0%, а при b меньших 1 , но больших 0 мы получаем расходы больше 100%.
Но это всего лишь аппроксимация…
Хотя простое изящество функции намекает на некое правдоподобие решения 😃
Однако, это всё равно фигня - и нифига не экспонента.
Степенная функция при больших значениях показателя становится более пологой около 0 и более крутой около 1.
И вообще, на дисплее передатчика можно увидеть, что большое значение экспоненты при больших расходах и малое при малых около 0 почти ложатся друг на друга - а это даёт пищу для размышлений о некой универсальной настройке… 😃
Короче, очень нужен ответ на вопрос, заданный в первом посте!
И всякие физики-математики на своих форумах на него никак не ответят, потому что интересует не только чистая математика (хотя и она тоже не помешает), но и конкретная реализация в конкретных передатчиках.
Однако, это всё равно фигня - и нифига не экспонента.
И вообще, на дисплее передатчика можно увидеть, что большое значение экспоненты при больших расходах и малое при малых около 0 почти ложатся друг на друга - а это даёт пищу для размышлений о некой универсальной настройке… 😃Короче, очень нужен ответ на вопрос, заданный в первом посте!
А что вы хотели? Каждый разработчик аппаратуры делает экспоненту на свое усмотрение… И не будьте так наивны, не ищите в этом какой-то стандарт и закономерность. они просто похожи, не более. Футаба от хайтека, например, отличается примерно на 10%…
Расходы сюда приплетать- имхо бред, вы еще саб триммера вспомните или EPA например .
Это все разные функции и комбинация их отдается на усмотрение пользователя. Это как у машины сказать- а знаете на 3000 на 4й передаче и на 2300 на 5-й скорость одинаковая- это наводит на мысль о некоторой универсальной… 😃
Я тут пару лет назад исследовал это: rcopen.com/blogs/5271/694 😒
Вот и получается у меня, что требуемая экспоненциальность очень неплохо аппроксимируется обыкновенной степенной функцией
Y=(Xa)/b
Все на порядок проще. Есть забитая в таблицу производителем некая экспонента. Есть линейная передаточная функция. “Экспонента 20%” - это их смесь в пропорции 20/80.
Я тут пару лет назад исследовал это: rcopen.com/blogs/5271/694 😒
Очень смущает, что при EXP=0 исходный график все равно нелинеен. Навряд ли Eclipse не умеет работать с линейной передаточной функцией. Картинка больше напоминает объяснение покупателю смысла слова “экспонента”, чем реальное семейство кривых.
Очень смущает, что при EXP=0 исходный график все равно нелинеен. Навряд ли Eclipse не умеет работать с линейной передаточной функцией. Картинка больше напоминает объяснение покупателю смысла слова “экспонента”, чем реальное семейство кривых.
И тем не менее, наши с Prikupets формулы совпадают.
Правда, у меня она попроще выглядит и работает соответственно на отрезке [0;1]
(ax-1)/(a-1)
при этом a - это степень “экспоненциальности”…
--------------------
более подробно распишу чуть позже
Побеседовал в выходные на эту тему с сыном (он когда-то учился на физ-мате)… Насколько мы смогли друг-друга понять (моделизмом сын, увы, не интересуется), скорее всего, понятие “экспонента” применительно к RC-передатчику - чисто условное… , из-за похожести кривой зависимости угла поворота сервы от угла отклонения стика именно на график экспоненты…
Но поскольку меня в этом разрезе интересовала чисто практика (я писал выше - надо просчитать таблицу 256х256 значений при разной кривизне), то пришлось “напрячь” сына, чтобы он решил эту задачу в Экселе… Так вот…, именно с экспонентой у него с наскока не получилось (подзабыл уже, видать)… Тогда он применил какую-то степенную функцию (звучало слово “гипербола”) и, в общем-то, сделал то, что мне нужно… Кому интересно - Экселевский файл прикрепляю… Там надо менять число, выделенное цветом… Единственное условие - число не должно быть меньше 255… Наглядно видно, как меняется характерискика, скажем так, “управляющего воздействия”… А два левых вертикальных столбца чисел - это и есть нужная мне таблица… Проценты же, применительно к “экпоненте” для RC, скорее всего, тоже условны…
И тем не менее, наши с Prikupets формулы совпадают.
Правда, у меня она попроще выглядит и работает соответственно на отрезке [0;1](ax-1)/(a-1)
при этом a - это степень “экспоненциальности”…
Я практически это и имел в виду. В таблицу зашивается проходящая через точки (0,0) и (1,1) экспоненциальная кривая EXP(X) = (exp(kX)-1)/(exp(k)-1) (аналог вашей формулы, a = exp(k)). На ходу значения считаются как Y = N*EXP(X) + (1-N)*X, где N - процент экспоненты. Разница в том, что собственно степенные выражения в пульте не считаются. Вместо этого табличная “сильная” экспонента смешивается с линейной зависимостью в заданном процентном соотношении.
Во всяком случае в инструкции Spectrum’а это описано прямым текстом.
Тогда он применил какую-то степенную функцию (звучало слово “гипербола”)…
Про степенные функции я писал чуть выше - они дают приличное искажение.
Попробуйте дать сыну на обсчёт последнюю, выложенную мной формулу - пусть поиграетсая с ней (это - именно экспонента).
А чтобы играться было легче, рекомендую классную, бесплатную для русскоязычных пользователей, программу Advanced Grapher, скачать её можно тут или тут. Программа очень проста и удобна.
Для меня это все не настолько серьезно, чтобы бороться с “искажениями”…
Если удастся сочинить программу для микроконтроллера, как задумано, то “подрихтуем” на живой модели…
К примеру, кривые “шаг-газ” у вертолетов делают по пяти точкам и… ничего - точности хватает…
К примеру, кривые “шаг-газ” у вертолетов делают по пяти точкам и… ничего - точности хватает…
Мне кажется, Вы слишком вольно трактуете эти 5-7 точек, по которым строится кривая. 😃
Опять же, отталкиваться, думаю, правильнее от наиболее точной функции. Погрешности, конечно, и сами набегут, но закладывать ошибку в самом начале, ссылаясь на неизбежные погрешности…
Хотя, всё зависит от конечной цели…
Можно подвести промежуточные итоги.
В прикреплённом экселевском файле - одна из наиболее вероятных реализаций действительно экспоненциальной функции.
Теперь можно будет заняться тем, ради чего всё затевалось… 😃
Собственно, на графике всё отражено:
Меняя пары значений расходы-экспонента на графике и точно также в передатчике мы можем подобрать для смежных кривых (кривых, используемых для управления одним и тем же параметром в разных полётных режимах) практически полное совпадение значений на некотором удалении от 0 (40% для пары синий-рыжий и 44% для пары зелёный-фиолетовый, то есть, почти до половины хода ручки!), что гарантирует абсолютно идентичную реакцию управляющих плоскостей на движения ручек в окрестности 0 в различных полётных режимах, которым соответствуют данные кривые.
Думаю, что те, кто летал на изделиях от Seba, отрегулированных в соответствии с его рекомендациями не мог не заметить этой особенности настройки.
А вот для чего это может быть нужно…
Меняя пары значений расходы-экспонента на графике и точно также в передатчике мы можем подобрать для смежных кривых (кривых, используемых для управления одним и тем же параметром в разных полётных режимах) практически полное совпадение значений на некотором удалении от 0 (40% для пары синий-рыжий и 44% для пары зелёный-фиолетовый, то есть, почти до половины хода ручки!), что гарантирует абсолютно идентичную реакцию управляющих плоскостей на движения ручек в окрестности 0 в различных полётных режимах, которым соответствуют данные кривые.
Как тут у вас все интересно…
Любому двоечнику понятно, что при некоторых комбинациях расходов экспанент эти кривые пересекутся.
Ну допустим у вас совпало математически, а на практике? а если взять разные аппы с одинковыми настройками?
Думаю, что те, кто летал на изделиях от Seba, отрегулированных в соответствии с его рекомендациями не мог не заметить этой особенности настройки.
УАУ…
А вот для чего это может быть нужно…
Это для большего дыму, или вам реально нужно подыскать применение математическому аппарату?
забавно. а “экспоненциальное”, нелинейное действие разноплечих качалок расположенных не перпендикулярно тяге, тоже в расчете лежит?
Как-то круто всё завернуто и не совсем понятно смысла умничать. может проще по живому полетать?
Меняя пары значений расходы-экспонента на графике и точно также в передатчике мы можем подобрать для смежных кривых (кривых, используемых для управления одним и тем же параметром в разных полётных режимах) практически полное совпадение значений на некотором удалении от 0 (40% для пары синий-рыжий и 44% для пары зелёный-фиолетовый, то есть, почти до половины хода ручки!), что гарантирует абсолютно идентичную реакцию управляющих плоскостей на движения ручек в окрестности 0 в различных полётных режимах, которым соответствуют данные кривые.
Поздравляю. Вы заново изобрели метод линейной аппроксимации. Но это ничего, вещь хорошая 😃 😁