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

 
 
> Табличное предстваление нелинейной функции - проблема точности
syoma
сообщение Jan 22 2014, 11:41
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Народ - примитивный вопрос - вроде как в универе учил, а забыл как делается.

В общем есть такая функция:
y = (pi-0.5*((2.6829)*u.^(1/3)+0.1984*u+0.2602*u.^(5/3)))*(180/pi)
Для значений аргумента u от 0 до 1 она дает угол y от 180° до 90°. График данной функции представлен на рисунке.
Прикрепленное изображение

Так как вычислят нужно в ПЛИС и быстро - хотим сделать таблицу значений. Но проблема в том, что точность результата должна быть в пределах 0,1°, а как видно из графика в начале функции маленькие значения аргумента вызывают значительное изменение результата. В реале это 1/(2^29) для начальных значений. Ессно лепить таблицу с таким количеством записей нерентабельно и ессно при больших значениях аргумента точность будет избыточной. С другой стороны можно было бы сделать обратную таблицу с 900 записями и 29 битами входного параметра. Но тогда нужно сравнивать аргумент с каждым значением, а это в худшем случае 900 итераций. А хотелось бы одну.

Я думаю есть более простые алгоритмы вычисления. Подскажите.


Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sifadin
сообщение Feb 4 2014, 15:55
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 443
Регистрация: 11-02-09
Пользователь №: 44 698



Цитата(syoma @ Jan 22 2014, 15:41) *
y = (pi-0.5*((2.6829)*u.^(1/3)+0.1984*u+0.2602*u.^(5/3)))*(180/pi)

Вот если бы как-то просто вычислить u.(1/3), то все выражение можно было бы свести к виду

у = С1 - С2* t * ( (t.^2 + A).^2 + B )
где t = u.^1/3
Такую структуру можно было бы реализовать на плис
Только надо как-то умудриться взять степень 1/3

может логарифм/ антилогарифм вроде бы как-то можно легко реализовать log2 двоичного кода
может в квартусе есть уже готовый такой модуль - с плавающими, вещественными числами
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 20:10
Рейтинг@Mail.ru


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