gpt4 book ai didi

algorithm - 如何使用定点算法在正弦查找表 (LUT) 中查找偏移量

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:22:20 27 4
gpt4 key购买 nike

我正在生成一个 LUT,将 0-2PI 分成 512 个片段,然后找到这些值的正弦并将它们存储为 Q1.31 值。

例子:

LUT[0] = 0

LUT[1] = sin((1/512) * 2*PI) * (2^31)
..
..

LUT[511] = sin((511/512) * 2*PI) * (2^31)

我的输入也是 Q1.31 格式的值。

我的问题是如何使用 LUT,即当我获得一个随机值作为输入来计算正弦值时,在表中查找偏移值的算法是什么

例子:

int sample_input = 0.125 * (2^31) //0.125radians in Q31 format = 268435456

最佳答案

请注意,0.125radians * (2^31) 方法不适用于大于 1 弧度的角度。可能,你想归一化角度(0.125radians/2Pi) * (2^31)
无论如何,您需要将 2^31 范围映射到 2^9 - 所以只需除以 2^22。示例:

Angle = 0.125 radians.
0.125 /(2*Pi) * 2^31 = 42 722 829
42 722 829 / 2^22 = 10
Result = Lut[10] = 262 874 923

关于algorithm - 如何使用定点算法在正弦查找表 (LUT) 中查找偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28406507/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com