- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在生成一个 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/
当我在定点 Z3Py 中启用解释生成选项时,我收到包含以下消息的核心转储。 Error setting 'DL_GENERATE_EXPLANATIONS', reason: unknown opti
我正在开发一些代码,可以从 HW 获取浮点或定点数据。目前我们将其作为 float 。 底层API都是定点的。所以我们必须将数据作为定点传回。我们使用的算法是 Cholesky。我想知道为什么我们必须
我有一个关于在 MATLAB 中为 Texas Instruments TMS320C64xx DSP 编写算法的问题: 我在 MATLAB 中草率地实现了我的过滤器。我的目标是使用 MATLAB E
我需要将 float 转换为Q31定点,Q31表示1个符号位,0位表示整数部分,31位表示小数部分。这意味着 Q31 只能表示 [-1,0.9999] 范围内的数字。 根据定义,从浮点转换为定点时,会
我正在使用第 3 方定点 antilog() 函数来计算分贝 out_mag = 10^( in_db/20 ) 的幅度。 antilog() 采用 Q6.25 格式作为输入,并在输出时提供 Q16.
我想将一个定点数(Q31/int32 表示具有 31 个小数位的小数)除以另一个 Q31/int32。我想计算z = y/x,知道abs(x)>abs(y)。因此,z<1,因此可以表示为另一个Q31/
我是一名优秀的程序员,十分优秀!