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

 
 
> Формат с плавающей точкой, подскажите как заменить
Алексей Савченко
сообщение Sep 1 2008, 06:51
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 20-08-08
Из: г.Чернигов, Украина
Пользователь №: 39 704



Проблема состоит в том, что у меня контроллев F2013, соответственно у него 2к памяти. Для преобразования напряжения с АЦП в температуру используется полиномы 6й и 9й степени.
Что бы не потерять точность необходимо использовать формат с плавающей точкой, но при его использовании и совершении операций над ним библиотеки умножения занимают минимум 700 байт. Вообщем это слишком жирно.
Пробовал сделать свой формат, тоже плавающий, но умножать на 2в степени. После того как перемножал два int, получал long, потом сдвигал вправо до int и увеличивал степень. Но при этом точность падала. В некоторых случаях стала неудовлетворительной.
Предложите, чем можно заменить, как обойти.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
xemul
сообщение Sep 1 2008, 10:47
Сообщение #2



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(Алексей Савченко @ Sep 1 2008, 10:51) *
Проблема состоит в том, что у меня контроллев F2013, соответственно у него 2к памяти. Для преобразования напряжения с АЦП в температуру используется полиномы 6й и 9й степени.
Что бы не потерять точность необходимо использовать формат с плавающей точкой, но при его использовании и совершении операций над ним библиотеки умножения занимают минимум 700 байт. Вообщем это слишком жирно.
Пробовал сделать свой формат, тоже плавающий, но умножать на 2в степени. После того как перемножал два int, получал long, потом сдвигал вправо до int и увеличивал степень. Но при этом точность падала. В некоторых случаях стала неудовлетворительной.
Предложите, чем можно заменить, как обойти.

Какую же точность по температуре и в каком диапазоне Вы пытаетесь получить на выходе, что приходится пускаться в такие тяжкие? Неужели характеристика датчика (какого?) и преобразователя до такой степени нелинейна, что не позволяет обойтись какой-либо кусочной аппроксимацией с 1-байтовой коррекцией? имхо, целочисленной 2-байтовой арифметики с промежуточными результатами в 3-байтовом виде вполне достаточно.
Ну и методическая ошибка - утаптывать задачу в приглянувшийся контроллер, а не подобрать контроллер под задачу.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Алексей Савченко   Формат с плавающей точкой   Sep 1 2008, 06:51
- - gotty   А что вы дальше с температурой делаете? если посыл...   Sep 1 2008, 06:57
- - Алексей Савченко   Действительно, посылаю на ПК через RS485. Но дело ...   Sep 1 2008, 07:17
- - MrYuran   Цитата(Алексей Савченко @ Sep 1 2008, 10...   Sep 1 2008, 07:26
- - Алексей Савченко   Вообщем то жалко и даж очень. Тут еще должно быть ...   Sep 1 2008, 07:39
|- - Dog Pawlowa   Цитата(Алексей Савченко @ Sep 1 2008, 10...   Sep 1 2008, 09:09
|- - rezident   Цитата(Dog Pawlowa @ Sep 1 2008, 15:09) 1...   Sep 1 2008, 11:37
|- - Алексей Савченко   Цитата(Dog Pawlowa @ Sep 1 2008, 12:09) 1...   Sep 6 2008, 08:15
|- - xemul   Цитата(Алексей Савченко @ Sep 6 2008, 12...   Sep 6 2008, 18:17
|- - rezident   Цитата(xemul @ Sep 7 2008, 00:17) В сомне...   Sep 6 2008, 18:40
|- - xemul   Цитата(rezident @ Sep 6 2008, 22:40) ГОСТ...   Sep 6 2008, 21:23
|- - Алексей Савченко   Цитата(xemul @ Sep 7 2008, 00:23) Всю таб...   Sep 7 2008, 07:58
|- - xemul   Цитата(Алексей Савченко @ Sep 7 2008, 11...   Sep 7 2008, 08:41
|- - Алексей Савченко   Цитата(xemul @ Sep 7 2008, 11:41) но не д...   Sep 7 2008, 09:13
|- - xemul   Цитата(Алексей Савченко @ Sep 7 2008, 13...   Sep 7 2008, 12:09
|- - Tanya   Вопрос Автору. Как Вы понимаете пресловутые 0.25%?...   Sep 7 2008, 12:50
|- - Алексей Савченко   Цитата(Tanya @ Sep 7 2008, 15:50) Вопрос ...   Sep 8 2008, 15:30
|- - Tanya   Цитата(Алексей Савченко @ Sep 8 2008, 19...   Sep 8 2008, 16:12
|- - Алексей Савченко   Цитата(xemul @ Sep 1 2008, 13:47) Какую ж...   Sep 1 2008, 11:06
|- - xemul   Цитата(Алексей Савченко @ Sep 1 2008, 15...   Sep 1 2008, 13:24
|- - rezident   Цитата(xemul @ Sep 1 2008, 19:24) В MSP н...   Sep 1 2008, 13:31
- - SergeyBorshch   Если не нужна точность (в пределах +- 1градус) и н...   Sep 1 2008, 11:11
- - Алексей Савченко   Приглянулась мне мысль насчет кусочно линейной апр...   Sep 1 2008, 13:52
|- - MrYuran   Цитата(Алексей Савченко @ Sep 1 2008, 17...   Sep 2 2008, 12:24
- - SergeyBorshch   А вы на чем пишете? Судя по всему на С. Попробуйт...   Sep 2 2008, 12:14
- - rezident   Цитата(SergeyBorshch @ Sep 2 2008, 18:14)...   Sep 3 2008, 00:01


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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 10:54
Рейтинг@Mail.ru


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