Форум: "Прочее";
Текущий архив: 2013.07.28;
Скачать: [xml.tar.bz2];
ВнизНужен алгоритм. Найти похожие ветки
← →
Германн © (2013-03-03 02:05) [0]Я уже много лет помогаю моему старому товарищу поддерживать разработанный им прибор (газоанализатор). Обычно всегда есть ситуации, когда датчик предназначенный для измерения одного газа чувствует и некоторые другие газы. Это легко обходится вычислением при калибровке прибора т.н. "перекрестных коэффициентов".
Но вот сейчас впервые возникла ситуация когда есть два датчика для двух газов, которые имеют чувствительность к обоим газам.
Понимаю что в общем случае такая задача нерешаема. Но в данном случае есть то обстоятельство, что чувствительность датчика1 к газу2 "существенно" меньше, чем чувствительность датчика2 к газу1.
Степень "существенности" я пока не знаю точно.
Вот и вопрос. Получить перекрестные коэффициенты - нет проблем. А вот знает ли кто алгоритм как эти перекрестные коэффициенты можно использовать в при измерении?
← →
Smile (2013-03-03 08:45) [1]Несколько параллельных замеров различных концентраций газа родным и не родным датчиками.
А дальше простор для определения перекрестных коэффициентов.
← →
MBo © (2013-03-03 12:54) [2]>Понимаю что в общем случае такая задача нерешаема.
Если чувствительность датчиков к газам разная, то такая задача как раз проще, чем для одного датчика - например, для (простого случая) линейной чувствительности - система из двух линейных уравнений с двумя неизвстными.
Думаю, проблема всё же сложнее, чем пока описано.
← →
Smile (2013-03-03 13:23) [3]А мне не совсем понятна фраза (оборот): "алгоритм как эти перекрестные коэффициенты можно использовать в при измерении?"
← →
Pavia © (2013-03-03 13:25) [4]В общем случае задачка не решается.
1. Надо построить график.
Типо такого
http://www.bestreferat.ru/images/paper/40/95/4399540.jpeg
По оси x значения от первого датчика.
По оси y значения от второго датчика. Точкой или звездочкой или цветом обозначаешь газ 1 и газ 2.
2. По графику будет видно. Куда дальше действовать, линейное разделение нелинейное. На картинке выше показано идеальное разделение. На практике такого может и не быть и граница между классами будет размыта.
Далее можно минимизировать ошибку разбиения на классы с учётом мощности классов. Это вам надо в сторону расстояния Махаланобиса смотреть. Или хотя бы в сторону собственных чисел матрицы.
Допустим вы сделали измерения двумя датчиками.
х1,х2 умножаем на матрицу (не помню надо смотреть как называется)
Получаем новую пару с более лучшем разделением на 2 газа чем есть сейчас.
PS. Не стоит надеется на то что результат вас устроит скорее всего он будет чуть лучше чем есть сейчас.
← →
Pavia © (2013-03-03 13:27) [5]
> А мне не совсем понятна фраза (оборот):
Тут речь идёт о косвенных измерениях.
← →
Германн © (2013-03-03 15:31) [6]
> MBo © (03.03.13 12:54) [2]
>
> >Понимаю что в общем случае такая задача нерешаема.
> Если чувствительность датчиков к газам разная, то такая
> задача как раз проще, чем для одного датчика - например,
> для (простого случая) линейной чувствительности - система
> из двух линейных уравнений с двумя неизвстными.
> Думаю, проблема всё же сложнее, чем пока описано.
Вот ведь зашоренность мышления!
О решении системы уравнений я даже и не подумал (((
Буду думать в этом направлении. Спасибо, Борис.
P.S.
А проблема действительно сложнее.
Во-первых датчик газа 2 чувствует не только газ 1, но и газы 3 и 4.
Во-вторых у меня пока в руках только целочисленная арифметика. Ввести арифметику с плавающей точкой боюсь не смогу. Не влезет в память.
← →
alexdn © (2013-03-03 16:05) [7]> Германн © (03.03.13 15:31) [6]
Я бы ещё посмотрел металлоискатели, они тоже на несколько металлов работают, ну так, на всякий случай..
← →
Jeer © (2013-03-04 09:44) [8]См. планирование многофакторного эксперимента.
← →
robt (2013-03-04 13:41) [9]Удалено модератором
← →
Smile (2013-03-04 14:02) [10]Smile (03.03.13 08:45) [1]
Несколько параллельных замеров различных концентраций газа родным и не родным датчиками.
А дальше простор для определения перекрестных коэффициентов
Это разовая операция, строится математическая модель для "перекрестных коэффициентов", и только потом прошивается "модель" непосредственно в датчики
Успеха и понимания в решении поставленной (описаноой, как мне представляется) задачи
← →
Sha © (2013-03-04 14:33) [11]> Германн
Возможны варианты.
Чувствительность к своему газу:
1 константа,
2 зависит от концентрации измеряемого газа,
3 зависит от концентрации других газов.
Какой из них у тебя? Вид функции?
← →
Inovet © (2013-03-04 14:36) [12]> [11] Sha © (04.03.13 14:33)
> 3 зависит от концентрации других газов.
Это более правдоподобно.
← →
Inovet © (2013-03-04 14:37) [13]> [12] Inovet © (04.03.13 14:36)
> 3 зависит от концентрации других газов.
зависит И от концентрации других газов.
← →
Sha © (2013-03-04 14:45) [14]ну, если f1(x1)=a*f2(b*x2), то все еще не так плохо
← →
Jeer © (2013-03-04 15:45) [15]Обычно правдоподобным является сведение к варианту:
y = a*x1 + b*x2 + c*x1*x2;
ну а там - хто ж его знает, как на самом деле:)
← →
Inovet © (2013-03-04 16:03) [16]> [15] Jeer © (04.03.13 15:45)
> y = a*x1 + b*x2 + c*x1*x2;
Квадраты не надо?
← →
Jeer © (2013-03-04 16:58) [17]Это минимальная взаимозависимость.
← →
Германн © (2013-03-05 01:46) [18]Прошу прощения, что потревожил.
Ситуация самая простая. Достаточно решить систему из двух линейных уравнений первой степени.
Сложность только в ограниченности возможностей того гибридного компилятора, который я вынужден (исторически) использовать и ограниченного количества доступной мне программной памяти.
Из-за этого мне просто и не вспоминались "алгоритмы" из начальной школы (((
Сейчас придумываю алгоритм вычисления "решения системы двух уравнений" для целочисленной арифметики с допустимой точностью.
← →
MBo © (2013-03-05 05:49) [19]Парциальные чувствительности дачиков к газам - считаются постоянными, или их определение требует регулярной перекалибровки?
Я к тому, что в первом случае InvDet вычисляется заранее как M/2^k и всё в целых числах считается
a*x+b*y=c
d*x+e*y=f
Det=a*e - d*b
InvDet=1/Det
InvDet=M/2^k //находится хорошее приближение
y= M *(a*f - d*c) shr k //сдвиг с учётом знака, конечно
x= M * (c*e - f*b) shr k
← →
Германн © (2013-03-06 01:31) [20]
> MBo © (05.03.13 05:49) [19]
Спасибо, Борис за подсказку в MBo © (03.03.13 12:54) [2]
Далее уже мои "особые" проблемы, беспокоить которыми никого не хочу ибо в их решении мне никто,кроме меня самого, помочь не сможет.
P.S. Прошу модераторов закрыть обсуждение в этой ветке.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.07.28;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.003 c