Я не могу понять математику за вычислением экспоненты числа за пределами диапазона [-1, 1) (на самом деле я не уверен, что такое хороший диапазон для вычисления exp с использованием CORDIC, в некотором месте я читаю [-pi/4, pi/4], а в других случаях я прочитал [-1, 1)) с использованием алгоритма CORDIC. Может ли кто-нибудь привести пример?Как вычислить экспоненциальные значения с помощью CORDIC для чисел вне [-1, 1]?
я прочитал следующее заявление на http://zone.ni.com/reference/en-XX/help/371599G-01/lvfpga/ht_exponential/:
«х должно быть в диапазоне [-1, 1) Для вычисления ехр (х), когда х находится вне этого диапазона, найти целое число д и действительное число. r, где r находится в диапазоне [0, ln (2)), такое, что x = q × ln (2) + r. Тогда вы можете вычислить 2^q × exp (r), что эквивалентно exp (x). Поскольку r находится в допустимом диапазоне [-1, 1), вы можете использовать эту функцию для вычисления exp (r). "
Но для меня не имеет большого значения, как я могу найти q и r?
Второй подход я нашел в http://www.xilinx.com/support/documentation/application_notes/xapp552-cordic-floating-point-operations.pdf, который говорит нам использовать для уравнений после деления числа на целое число и дробной части:
cosh(int + frac) = cosh(int) * cosh(frac) + sinh(int) * sinh(frac)
sinh(int + frac) = cosh(int) * sinh(frac) + cosh(frac) * sinh(int)
сп (INT) и зп (Int) взяты из таблицы поиска. Но этот подход более интенсивно вычисляется, поэтому я предпочитаю предыдущий.
Это может быть лучше подходят на [сайте Математика Stack Обмен] (https: // математика .stackexchange.com /) –
Да, но я не могу найти такие теги, как Verilog, HDL и CORDIC, что затрудняет доступ к нужным людям. – user3575732