реклама на сайте
подробности

 
 
> Оптимизация параметров константной функции
NikolyaN
сообщение Dec 3 2013, 07:34
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-08-09
Пользователь №: 52 074



Здравствуйте уважаемые коллеги!

Возникла не совсем стандартная оптимизационная задача.
Нужно подобрать параметры некоей функции (линеаризирующей температурную характеристику датчика). F(t) -> Const
То есть есть сигнал с датчика, измеренный при нескольких температурах. Есть таблица характеристик термокомпенсирующих элементов. И нужно подобрать параметры дополнительных элементов.
Простейший вариант который пришел в голову и был реализован, вычисляется значение функции в какой-то температурной точке (Tconst). Затем берется сумма квадратов разностей между функцией и функцией в определенной температурной точке Sum((F(t) - F(Tconst)) Pow 2), и методом наименьших квадратов вычисляются параметры. Но результат сильно зависит от того, какая точка была взята за константную, при этом для разных датчиков получается сильно по-разному. Получается, что заранее выбранная константа это неправильно.
То есть собственно задача: оптимизировать параметры чтобы выходное значение функции было максимально приближено к константе при том, что сама константа неопределена и может быть любой.
Может есть какой готовый метод оптимизации, или может кто подскажет как это правильно математически выразить для МНК.
Не знаю насколько прозрачно объяснил. Надеюсь кто в теме - поймет.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
RHnd
сообщение Dec 3 2013, 23:30
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Я правильно понимаю, что d(t) - набор измеренных значений сигнала d для разных значений t: t1, t2,..., tn? И аналогично для x1 и x2? И вы ищете такие k1, k2, k3, чтобы функция F(t)=d(t)*(x1(t)*k1 + x2(t)*k2 + k3) имела одно и то же значение для всех t? Скажем, C. Тогда у вас линейная регрессия с 4 неизвестными параметрами: Y=X*Q, Y=0(t), X=[d(t)*x1(t), d(t)*x2(t), d(t), -1], Q'=[k1, k2, k3, C]. Решается в лоб через МНК. Надеюсь, у вас много этих t и сигналы достаточно "частотно богаты".
Go to the top of the page
 
+Quote Post
NikolyaN
сообщение Dec 5 2013, 08:10
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-08-09
Пользователь №: 52 074



Цитата(RHnd @ Dec 4 2013, 03:30) *
Я правильно понимаю, что d(t) - набор измеренных значений сигнала d для разных значений t: t1, t2,..., tn? И аналогично для x1 и x2? И вы ищете такие k1, k2, k3, чтобы функция F(t)=d(t)*(x1(t)*k1 + x2(t)*k2 + k3) имела одно и то же значение для всех t? Скажем, C.

Да, это вы абсолютно точно поняли. И главная проблема здесь в том что в качестве С я не могу задать какую-то конкретную величину.
Цитата(RHnd @ Dec 4 2013, 03:30) *
Тогда у вас линейная регрессия с 4 неизвестными параметрами: Y=X*Q, Y=0(t), X=[d(t)*x1(t), d(t)*x2(t), d(t), -1], Q'=[k1, k2, k3, C]. Решается в лоб через МНК.

Правильно ли я понял, что то к чему должна стремиться целевая функция, Вы предлагаете тоже использовать в качестве параметра оптимизации?
Как говорится, все гениальное просто. Теперь удивляюсь почему самому не пришло такое на ум. Спасибо за подсказку, сейчас буду пробовать.
У меня была идея считать кореляцию, между различными температурными точками, но как потом все это привязать к МНК для получения параметров у меня в голове так и не сложилось.
Цитата(RHnd @ Dec 4 2013, 03:30) *
Надеюсь, у вас много этих t и сигналы достаточно "частотно богаты".

Если под "сигналы достаточно частотно богаты" Вы имели в виду присутствие в них белого шума, то он там присутствует, местами даже больше чем хотелось бы http://electronix.ru/forum/style_images/1/...icons/icon1.gif
В качестве эксперимента t можно менять и сигналы снимать хоть через градус, но в последствии при реальном производстве, температурных точек должно быть 4, в крайнем случае 5. Сейчас мне важно понять что данной цепочкой действительно можно скомпенсировать характеристику датчика.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 23:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01345 секунд с 7
ELECTRONIX ©2004-2016