Цитата(AlexOr @ Oct 27 2008, 16:10)

Есть замкнутая система автоматического регулирования. Исполнительный механизм нелинеен соответственно и система в целом тоже.
ЦЕЛЬ: получить на выходе системы чистую синусоиду в длительном режиме. (есно заданным отклонением)
При подаче синусоиды в качестве задающего воздействия на выходе системы получаем что-то близкое к синусу, но отклонения от синусоидальности слишком велики.
Настройка регуляторов системы не меняет картину, настроено вполне оптимально.
Возникает идея внесения предискажений q(t) в задающую синусоиду. Притом предискажения текущего периода синусоиды корректировать по отклонению от синусоиды предыдущего периода. Таким образом с течением времени можно ожидать снижения искажений вплоть до нулевых.
ВОПРОС общий:
Как наиболее просто вычислить предискажения ?
ВОПРОС частный:
Как зная переходную функцию некоторого звена h(t) и зная сигнал на его выходе y(t) получить сигнал на его входе x(t) ?
h(t) и y(t) заданны временными рядами и вычислительные ресурсы сильно ограничены.
Характеристики:
Синус 4 Гц,
400 выборок на период,
Контроллер 8 бит 10 МГц,
Длительность переходной функции: не более 150 отчетов.
Йа не особо в Ваших вопросах копенгаген, но попытаюсь...
1) Непонятна основная цель, толи синусоиду получить(поставьте фильтр на выходе и не мучайтесь), толи поиграться с предугадыванием будущего. Насчет вычислений предыскажений - а чем Вы их собрались вносить? Регулируемой линейной системой по максимуму целевой функции? Так я ее параметры напед Вам скажу - это ФНЧ с частотой среза чуть больше частоты данной синусоиды.
2)
.....................N
.....................__
.................... \
....y(t*n) = > x(t*(n-k))*h(t*n);
.................... /__
....................k=0
- знакомая формула? Вывести уравнение (не помню как называеЦЦо, кажется разностное) сможете?
Если Вам надо по одному отсчету - это Ваш путь.
Но, думаю, намного легче все сделать в частотной области. Свертка функций во временнОй области это произведение их в частотной. Т.е. по-сути, зная АЧХ системы(
линейной) мы можем сказать, что будет с заданной функцией прошедшей систему - выходной_спектр = АЧХ_системы*спектр_сигнала. И наоборот, спектр_сигнала = Выходной_спектр/АЧХ_системы. Но этот метод
блочный//-------------------------------------------------------------------------------------------------------------------------
P.S.: ...ага, еще раз прочел и понял, Вы хотите получить синус после нелинейной(!? да) системы предварительно его исказив? Ну если знаете передаточную характеристику системы и она не меняется во времени - то вперед. Это и впрямь будет нечто типа адаптивного фильтра, толко один раз расчитываемого (можно в каком-то пакете), где целевая функция - это минимум составляющих на гармониках и тоже, блин,
нелинейного ... Ну я пару месяцев назад пытался соорудить нечто похожее, но очень громоздко это все и я позабросил.
P.P.S.: так h(t) у Вас тоже нелинейна?

(тогда вышеприведенный совет - несправедлив!)
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...