Easyelectronics.ru

Электроника для всех
Текущее время: 23 сен 2019, 20:54

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



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Ищу извлечение корня быстрее, чем arm_sqrt_q15 (ARM без FPU)
СообщениеДобавлено: 09 сен 2015, 09:21 
Старожил

Зарегистрирован: 21 мар 2012, 14:33
Сообщения: 542
Интересует как наиболее быстро извлечь корень на ARM, а именно на stm32f103. Без FPU, в целых числах.
Искал, пробовал алгоритмы. Например, такой:
Код:
uint16_t int_sqrt32(uint32_t x)
{
    uint16_t res=0;
    uint16_t add= 0x8000;   
    int i;
    for(i=0;i<16;i++)
    {
        uint16_t temp=res | add;
        uint32_t g2=temp*temp;     
        if (x>=g2)
        {
            res=temp;           
        }
        add>>=1;
    }
    return res;
}

Но скорость не такая уж и быстрая. Получается медленнее, чем комплексный БПФ от тех же 1024 точек. Хочется найти что-нибудь побыстрее, чем arm_sqrt_q15. На более древнем 16-битном процессоре извлечение корня в ассемблере из 18 бит-ного числа (два дополнительных бита) работает шустрее. Может кто-то уже что-нибудь использует подходящее, извлечение корня не такая уж и редкая вещь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу извлечение корня быстрее, чем arm_sqrt_q15 (ARM без FPU)
СообщениеДобавлено: 09 сен 2015, 09:45 
Заглядывает иногда

Зарегистрирован: 03 июл 2012, 19:16
Сообщения: 138
https://ru.wikipedia.org/wiki/%D0%98%D1 ... 0%BD%D0%B0


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу извлечение корня быстрее, чем arm_sqrt_q15 (ARM без FPU)
СообщениеДобавлено: 09 сен 2015, 11:30 
Старожил

Зарегистрирован: 30 апр 2010, 22:56
Сообщения: 1578
Откуда: Киев
viewtopic.php?f=56&t=22099
мы там корни извлекали и мерялись тактами


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу извлечение корня быстрее, чем arm_sqrt_q15 (ARM без FPU)
СообщениеДобавлено: 09 сен 2015, 12:01 
Старожил
Аватара пользователя

Зарегистрирован: 14 апр 2014, 11:06
Сообщения: 1539
Откуда: Курск
Таблица - самый быстрый способ


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу извлечение корня быстрее, чем arm_sqrt_q15 (ARM без FPU)
СообщениеДобавлено: 09 сен 2015, 13:13 
Старожил

Зарегистрирован: 21 мар 2012, 14:33
Сообщения: 542
Спасибо за ответы, посмотрю.
Вот,кстати, как это быстро сделано на древнем процессоре Analog Devices (не ARM):
Show длинный исходник

работает достаточно быстро, есть укороченная реализация с одним полиномом ещё быстрее


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

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


Кто сейчас на конференции

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


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

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

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB