Например TDA7294

Форум РадиоКот • Просмотр темы - FPU Cortex M4
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 12:58:39

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 37 ]    , 2
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: FPU Cortex M4
СообщениеДобавлено: Пт июн 26, 2015 20:12:58 
Электрический кот
Аватар пользователя

Зарегистрирован: Вт май 05, 2009 10:43:42
Сообщений: 1087
Откуда: Россия
Рейтинг сообщения: 0
Макетная установка - автомобильный аккумулятор, нагрузка - два электрода в пластмассовом ведре с соленой водой. Как раз у той установки, куда это будет лепиться - выход 15 В 400 А. Автомобильный аккумулятор не сильно слабее.

bad2cat писал(а):
Я так понимаю, там главные потери - динамические на переключателях?

Да, они самые. Там на выходе 10 запараллеленых транзистора IRF4905, шоттки на 600 А, индуктивноость на кольцах из распыленного железа марки 52. Полная гальваническая развязка, силовые цепи связаны по оптике. ОС - изолированный датчик тока на эффекте холла ACS series от Allegro
Потери:
- нагрев проводников
- не бесконечн короткие участки линейной работы полевых транзисторов на время возрастания напряжения на затвоорах
-Активное сопротивление переходов транзисторов.
-Потери в диодах шоттки
-потери в индуктивности

Все вместе до 50-60 Вт

_________________
Боевой ватник.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FPU Cortex M4
СообщениеДобавлено: Пт июн 26, 2015 23:30:40 
Собутыльник Кота
Аватар пользователя

Карма: 28
Рейтинг сообщений: 756
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Сообщений: 2893
Откуда: приходит весна?
Рейтинг сообщения: 0
FPGAlover писал(а):
Cat писал(а):
радиусом скажем метр, и длиной пару метров при разрешении 0,01 мм

Да уж, для такой точности, таблица будет ~600К значений
Таблицу можно интерполировать не линейной функцией, а допустим, квадратичной, или более высоким полиномом. Точность растёт очень быстро. Я как-то извращался с полиномиальной аппроксимацией одной ужасной функции. Думаю, для синуса можно что-то аналогичное придумать и быстро считаемое в рамках арифметики с фиксированной точкой (синус в отличие от той функции в математическом смысле очень хорошая функция, и это скажется). Точность можно сделать хоть 10^-10 при желании. Не думаю что размер таблицы вылезет за сотню чисел в сумме по всем коэффициентам всех полиномов.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FPU Cortex M4
СообщениеДобавлено: Сб июн 27, 2015 01:52:10 
Электрический кот
Аватар пользователя

Зарегистрирован: Вт май 05, 2009 10:43:42
Сообщений: 1087
Откуда: Россия
Рейтинг сообщения: 0
Таблица уже неактуальна, допилил модуль - софт считает синус - 9 значащих разрядов с плавающей точкой за 45 тактов. А так как у меня один катет и гипотенуза известны, то через основное тригонометрическое тождество вообще за 30 тактов. Проблема снята. На 168 МГц выше крыши.

П.С. B@R5uk, я к сожалению в высшей математике никогда не был особо силен, и то, что вы кинули по ссылке,- для меня инопланетные разговоры на инопланетном языке о вещах иной цивилизации. :oops: .

Расчеты с фиксирванной точкой для меня неактуальны - АЛУ чипа за 1 такт щелкает операции с плавающей точкой.

_________________
Боевой ватник.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: FPU Cortex M4
СообщениеДобавлено: Пн июн 29, 2015 09:23:49 
Прорезались зубы

Зарегистрирован: Пн окт 21, 2013 07:33:45
Сообщений: 210
Рейтинг сообщения: 0
B@R5uk писал(а):
Таблицу можно интерполировать не линейной функцией, а допустим, квадратичной, или более высоким полиномом.

Конечно можно, но боремся то за быстродействие.

_________________
Шоб я польку танцевал..


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: FPU Cortex M4
СообщениеДобавлено: Вт июн 30, 2015 13:58:23 
Электрический кот
Аватар пользователя

Зарегистрирован: Вт май 05, 2009 10:43:42
Сообщений: 1087
Откуда: Россия
Рейтинг сообщения: 0
Проведя тесты в железе, пришел к тому, что пойду по пути организации "гибридной" логики работы устройства. Что можно(по максимуму) - считать целочисленной арифметикой, что необходимо- с плавающей точкой, поскольку расчетов очень много, ошибка экспоненты накапливается.

_________________
Боевой ватник.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: FPU Cortex M4
СообщениеДобавлено: Ср июл 22, 2015 15:43:03 
Вымогатель припоя
Аватар пользователя

Карма: 7
Рейтинг сообщений: 56
Зарегистрирован: Вт авг 28, 2012 22:21:33
Сообщений: 535
Рейтинг сообщения: 0
B@R5uk писал(а):
Таблицу можно интерполировать не линейной функцией, а допустим, квадратичной, или более высоким полиномом.

Обычно используют не просто полином, а разложение в ряд Тейлора в окрестности текущей точки таблицы. Так получается наилучшее соотношение точности и скорости.

Cat писал(а):
софт считает синус - 9 значащих разрядов с плавающей точкой

Эм... У числа с плавающей точкой одинарной точности мантисса имеет всего ~7 десятичных знаков. Откуда 9 взялось?

FPGAlover писал(а):
Конечно можно, но боремся то за быстродействие.

Это и так один из самых быстрых и точных методов. Можно быстрее, но точность будет страдать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FPU Cortex M4
СообщениеДобавлено: Чт июл 13, 2017 11:46:14 
Потрогал лапой паяльник

Карма: 3
Рейтинг сообщений: -44
Зарегистрирован: Пт июн 12, 2015 09:21:56
Сообщений: 355
Откуда: Челяба-сити
Рейтинг сообщения: 0
Обычно используют не просто полином, а разложение в ряд Тейлора в окрестности текущей точки таблицы. Так получается наилучшее соотношение точности и скорости

линейная быстрее и при заданной ТС точности (10^-5) - уж точно не хуже.

Cat писал(а):
радиусом скажем метр, и длиной пару метров при разрешении 0,01 мм

Да уж, для такой точности, таблица будет ~600К значений
кхм...
Вот тут viewtopic.php?p=3143767#p3143767 Я привёл аргументы, почему таблицы достаточно 3,6 кбайт или даже 360 байт.

Кратенько:
Так вот максимальное отклонение для такой таблицы (шаг 0,1 градуса) всего 0,38 ppm в точке 90 градусов (или 0 градусов для косинуса). А минимальное значение 0,00033 ppm в точке 0 градусов. Сравнение производится в середине интервала между табличными значениями, разумеется.
А для таблицы с шагом 1 градус размер таблицы будет 360 байт, а наихудшее отклонение от идеального синуса (в точке 90 градусов) - 38 ppm. Внизу в файликах - оба случая для трёх точек аппроксимации.

Стоит ли городить сложные и медлительные аппроксимации по рядам Тейлора? Вряд ли.


Вложения:
snag-2017-07-010-a.JPG [60.1 KiB]
Скачиваний: 582
snag-2017-07-009-a.JPG [106.85 KiB]
Скачиваний: 567
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FPU Cortex M4
СообщениеДобавлено: Вс авг 06, 2017 15:08:57 
Опытный кот
Аватар пользователя

Карма: 13
Рейтинг сообщений: 163
Зарегистрирован: Сб дек 22, 2012 08:17:42
Сообщений: 744
Откуда: Караганда, Казахстан
Рейтинг сообщения: 0
Я тут попробовал интерполяцию высоких порядков. Конкретно - конечные разности и первую интерполяционную формулу Ньютона. Исходная таблица синусов - 7 (семь!) значений - для 0, 15, 30, 45, 60, 75 и 90 градусов. Расчет по формуле Ньютона - 11 умножений, 6 делений и штук 20 сложений-вычитаний "точных" (double) чисел, ну, плюс склолько-то манипуляций с индексами и циклами. Ну, еще, для вычисления конечных разностей нужно 21 вычитание, но это можно сделать заранее, подготовив матрицу 7*7, у которой нулевой столбец будет содержать таблицу синусов, а столбцы 1-6 - конечные разности соответствующего порядка.

Так вот, погрешность в диапазоне (0..14) градусов не превышает 0.0035%, причем, что странно, чем меньше угол, тем больше погрешность.

Да, ни разу не вникал в представление плавучки на АРМ, но подозреваю, что у нее есть что-то общее с Системой-360. Так вот, лет 40 назад у нас в политехе происходил массовый переход с ЭВМ "Минск-32" на ЕС ЭВМ, которая клон Системы-360. Там Фортран-4, и там Фортран-4, скопировали, собрали, часть задач пошла молча, а часть начала врать! Выяснилось: у Минск-32 мантисса плавающего числа 28 бит, а у Системы-360 - 23. И эти лишние 5 битов мантиссы оказались весьма критичными, многие численные методы при таком снижении точности вычислений отказались работать. После замены обычной точности на двойную все заработало.

Повторюсь, понятия не имею о плавучке АРМ, но любой четырёхбайтовой плавучке для многих численных методов не хватает точности. Имейте это в виду.

Да, я упражнялся на писюке, на визуальном Си. Могу выложить исходник.

_________________
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FPU Cortex M4
СообщениеДобавлено: Вс авг 06, 2017 20:09:12 
Потрогал лапой паяльник

Карма: 3
Рейтинг сообщений: -44
Зарегистрирован: Пт июн 12, 2015 09:21:56
Сообщений: 355
Откуда: Челяба-сити
Рейтинг сообщения: 0
интерполяционную формулу Ньютона. Исходная таблица синусов - 7 (семь!) значений - для 0, 15, 30, 45, 60, 75 и 90 градусов.
прекрасно!
Расчет по формуле Ньютона - 11 умножений, 6 делений и штук 20 сложений-вычитаний "точных" (double) чисел, ну, плюс склолько-то манипуляций с индексами и циклами.
Ужасно!
Для простейшей линейной интерполяции между значениями таблицы - 1 сложение, 1 вычитание , 1 умножение, 1 деление, + операции с индексами - 1 деление + 2 выборки из памяти
Либо сделать 2 таблицы - 1-я с синусами, 2-я с разницей синусов из первой табл. Тогда на 1 вычитание и 1 деление меньше. Но объём общей таблицы в 2 раза больше.

погрешность в диапазоне (0..14) градусов не превышает 0.0035%, причем, что странно, чем меньше угол, тем больше погрешность.
т.е. 35 ppm (частей на миллион).
Это многовато для библио-функции, но лишку для любого прикладного Фурье или анализатора спектра. Там достаточно суммарного, т.е. по всем операциям 0,5%, или, если считать за экран FHD т.е. 1000 линий, должно быть не более размаха в 0,5 пиксела, или 0,25 х10E-3 или 250 ppm, а учитывая, что обычно график на экране занимает не более пол-экрана, то и все 500 ppm точности.

Кстати, для диапазона 0-15 градусов, размер таблицы для линейной интерполяции может быть очень мал. для точности 0,025 ppm (т.е. 0,25 x10E-9 или 9 фактических дес.знаков) это 1200 байт (это позволяет делать длительные расчёты, накопительные). или
для точности 0,1 ppm - для одно-двукратного расчёта, размер таблицы можно снизить до 600 байт.

посчитал ваш случай - 36,8 ppm, 0-14 градусов, теже 7 значений таблицы :)) 28 байт.

И эти лишние 5 битов мантиссы оказались весьма критичными,
ну это 1,5 десятичных знака добавка.
1. на картинке - первая строка, второй столбец - кол-во дес.знаков.... первый столбец - разрядность мантиссы.
там было 8, ну я для вашего случая подставил 5.)

2\a. Вторая картинка - вычисление погрешности табличного синуса при линейной интерполяции на 15 градусах. Полная таблица 0-90 займёт 7200 байт. До 15 градусов в 6 раз меньше - 1200 байт
2\b. Ошибка перемножения БПФ
это попытка подсчитать общую ошибку БПФ 1024 точек, используя таблицу синусов с аппроксимацией. Вычисленная дельта (ошибка) берётся 22 раза - 10 бабочек (умножение и сложение) + нормализация и окно. Итого 22 операции. Формула такая - корень кв. из 22 квадратов дельты.


Вложения:
snag-2017-08-094-a.JPG [62.97 KiB]
Скачиваний: 435
snag-2017-08-093-a.JPG [71.35 KiB]
Скачиваний: 558
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FPU Cortex M4
СообщениеДобавлено: Пн авг 07, 2017 04:18:05 
Опытный кот
Аватар пользователя

Карма: 13
Рейтинг сообщений: 163
Зарегистрирован: Сб дек 22, 2012 08:17:42
Сообщений: 744
Откуда: Караганда, Казахстан
Рейтинг сообщения: 0
Вы чуточку не въехали. Во-первых, это просто демонстрация возможностей интерполяции высоких порядков, а не предложение "делай так". Во-вторых, для диапазона 15-30 градусов нужно рассчитать свою таблицу конечных разностей, для 15-30-45-60-75-90-105(==75) градусов. И, поскольку в первой интерполяционной формуле Ньютона для диапазона из первого шага (у нас шаг 15 градусов) используются только дельта Y0, их можно просчитать заранее, в виде таблицы:
Код:
x0=0     Y0, dY0, d2Y0...d6Y0   // посчитанное для x0=0
x0=15    Y0, dY0, d2Y0...d6Y0   // посчитанное для x0=15
x0=30    ......
И т.д., до 75 (или 90) градусов.

И вообще, эта формула Ньютона при N=1 дает простую линейную интерполяцию, при N=2 - квадратичную, и т.д. Практически, я бы подобрал величину шага и N, т.е. порядок интерполяции, ориентируясь на скорость и память, применительно к конкретному случаю.

_________________
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FPU Cortex M4
СообщениеДобавлено: Чт авг 17, 2017 15:53:04 
Сверлит текстолит когтями

Карма: -10
Рейтинг сообщений: 93
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1150
Рейтинг сообщения: 0
Таблица уже неактуальна, допилил модуль - софт считает синус - 9 значащих разрядов с плавающей точкой за 45 тактов

45 - многовато как-то. У меня на фиксированной точке синус полиномом считается за 27 тактов (на ядре M4). Правда точность немного ниже - погрешность чуть меньше 1e-6.
При желании можно ещё примерно в 2 раза быстрее - если сразу массив значений считать.

И "9 значащих разрядов с плавающей точкой" - не верю. У float размер мантиссы меньше чем 9 разрядов - не может в принципе она обеспечить такой точности.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FPU Cortex M4
СообщениеДобавлено: Пн май 31, 2021 19:56:11 
Потрогал лапой паяльник

Карма: 3
Рейтинг сообщений: -44
Зарегистрирован: Пт июн 12, 2015 09:21:56
Сообщений: 355
Откуда: Челяба-сити
Рейтинг сообщения: 0
[uquote="Cat",url="/forum/viewtopic.php?p=2419929#p2419929"]И "9 значащих разрядов с плавающей точкой" - не верю. У float размер мантиссы меньше чем 9 разрядов - не может в принципе она обеспечить такой точности.

lg(2^31bit)=9,3 разрядов (+1 бит это знак числа).
если конечно самому арифметику делать на фикс точке.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FPU Cortex M4
СообщениеДобавлено: Пн май 31, 2021 20:08:59 
Держит паяльник хвостом
Аватар пользователя

Карма: 20
Рейтинг сообщений: 241
Зарегистрирован: Пн сен 18, 2006 11:16:05
Сообщений: 990
Откуда: Тула
Рейтинг сообщения: -1
Таблица синусов не влезет ни в какую память, когда надо отрисовать дугу радиусом скажем метр, и длиной пару метров при разрешении 0,01 мм.

Вообще есть метода называется trigonometric identity. Позволяет заменить таблицу фаз с 2^N на две длиной 2^(N/2). Тоесть для 32битной таблицы синуса нужно две таблицы по 65к точек. При этом получаются не интерполированые а истинные значения синуса и косинуса. Для вычисления одной точки нужно два умножения и сложение. Супер шустро потому что на кортексе-м4 это одна команда для 16биток. Пример есть в книжке Digital waveform generation ( https://www.amazon.com/Digital-Waveform ... 1107020972 ).
Также описано в старой редакции Титце Шенка Полупроводниковая схемотехника (Москва: Издательство «Мир»: Редакция литературы по новой технике, 1982), страницы 341 и 342 (книжка с зеленой обложкой)
Вложение:
titze.jpg [9.51 KiB]
Скачиваний: 153

_________________
Информация по RLC mini находится >тут<


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FPU Cortex M4
СообщениеДобавлено: Вт июн 08, 2021 19:43:45 
Держит паяльник хвостом
Аватар пользователя

Карма: 20
Рейтинг сообщений: 241
Зарегистрирован: Пн сен 18, 2006 11:16:05
Сообщений: 990
Откуда: Тула
Рейтинг сообщения: 1
Таблица синусов не влезет ни в какую память, когда надо отрисовать дугу радиусом скажем метр, и длиной пару метров при разрешении 0,01 мм.

Еще Рабинер Гоулд, Теория и применение цифровой обработки сигналов 1978
Вложение:
Комментарий к файлу: книжка
rabiner.png [216.14 KiB]
Скачиваний: 139

_________________
Информация по RLC mini находится >тут<


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FPU Cortex M4
СообщениеДобавлено: Пн июн 28, 2021 13:48:14 
Потрогал лапой паяльник

Карма: 3
Рейтинг сообщений: -44
Зарегистрирован: Пт июн 12, 2015 09:21:56
Сообщений: 355
Откуда: Челяба-сити
Рейтинг сообщения: 0
Вообще есть метода называется trigonometric identity. Позволяет заменить таблицу фаз с 2^N на две длиной 2^(N/2). Тоесть для 32битной таблицы синуса нужно две таблицы по 65к точек..
Не нужно, почитайте комменты, Когда вы, программисты, научитесь читать ?))
я даже таблички приводил, что нужно всего 900 ячеек (3600 байт), чтобы удовлетворило 32 бита (10 в -9, меньше 1ppm).
И опять, очередной программист, делает "открытие".
в этом и отличие радиоинженера- электронщика, от особо одарённых, от программистов. они ничего не проверяют

Добавлено after 12 minutes 48 seconds:
вот ссылочка на тему, кот 5 лет.
https://radiokot.ru/forum/viewtopic.php ... 7#p3143767


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FPU Cortex M4
СообщениеДобавлено: Пт июл 02, 2021 18:41:07 
Держит паяльник хвостом
Аватар пользователя

Карма: 20
Рейтинг сообщений: 241
Зарегистрирован: Пн сен 18, 2006 11:16:05
Сообщений: 990
Откуда: Тула
Рейтинг сообщения: 0
Не нужно, почитайте комменты, Когда вы, программисты, научитесь читать ?))
я даже таблички приводил, что нужно всего 900 ячеек (3600 байт), чтобы удовлетворило 32 бита (10 в -9, меньше 1ppm).

С чего такая агрессия? человеку нужно было точное решение, варианты с разложением в ряд тейлора и с тригонометрическим оба позволяют выбрать нужную точность апроксимации. Решение линейной интерполяцией это разложение в ряд тейлора с первыми двумя членами. Я бы не стал такое знание выдавать за собственное изобретение, кроме неграмотности ничего не показывает. И да, таблица в 3600 нужной точности не обеспечит, это все тюлька. А большее количество членов ряда автору топика слишком долго вычислять, он поэтому и написал.

И опять, очередной программист, делает "открытие".
в этом и отличие радиоинженера- электронщика, от особо одарённых, от программистов. они ничего не проверяют
Да уж куда нам убогим до целого инженера-электронщика...

_________________
Информация по RLC mini находится >тут<


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: FPU Cortex M4
СообщениеДобавлено: Пт июл 02, 2021 21:35:20 
Потрогал лапой паяльник

Карма: 3
Рейтинг сообщений: -44
Зарегистрирован: Пт июн 12, 2015 09:21:56
Сообщений: 355
Откуда: Челяба-сити
Рейтинг сообщения: -2
ха-ха, переизбыток лишних знаний у человека затмевает разум. в 100й раз, типичный случай )
опять, "читать не буду, ваши знания - тюлька".
програмист зашит программой биоробота "идиота" с синдромом Даннинга Крюгера: "вы все дураки, только я молодец, откуда у вас агрессия, надо нежно со мной, я люблю Эпл и вообще запад".
ну это вообще комплексом любовь к западу идёт и предательство своих, может у этой модели и нет этого.
но ещё ни разу я не ошибался )
посмотрим дальше.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 37 ]    , 2

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y