TMS320C54X的dsplib中ldiv16函数,有时候计算结果是正确的,有时候相差挺大,一般会相差2倍的关系,分析所给的数据不存在溢出问题,例如被除数为65536000,除数为1000,实际计算结果为0.504,理论计算结果为1.并且这个DSP库没有该函数的说明。
Shine:
你好,
根据short ldiv16(LDATA *x, DATA *y, DATA *r, DATA *exp, ushort nx), 请检查一下x是否是Q.31格式, y, r是否是Q.15格式.
yuan tong:
回复 Shine:
你好,谢谢你的回复,已经确定x是Q31,y是Q15,r是Q15格式,exp是short类型,我发现如果y小于100的时候算的结果比较精确,我试过125,250,500,1000,2000都发现结果似乎是理论计算的0.5倍,而分析所给的测试程序中的数据,结果是不会出现该问题的。