打印
[STM32F0]

请教M0的数学库为什么计算不正确

[复制链接]
1413|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
signed short temp0=25;
signed short temp1=2;
signed short temp2=2;

int main(void)
{
       
        arm_sqrt_q15(temp0,&temp1);
                arm_sqrt_q15(64,&temp2);
       
        while(1)
        {
       

        }

}
沙发
itelectron|  楼主 | 2016-4-17 13:08 | 只看该作者

使用特权

评论回复
板凳
itelectron|  楼主 | 2016-4-17 13:09 | 只看该作者
1为什么25开根号出来是0X389
2为什么64开根号出来是0X5A8

使用特权

评论回复
地板
jar1866| | 2016-4-18 10:43 | 只看该作者
请先看以下文档,
http://wenku.baidu.com/link?url=-ffGFV-jMoLjXWXHtfswm52tn1EuBSpbOtFTOHcjbo8EjxSHAvqzgzxVqZSbrtaDPUxyJB7_l81FFOrMMNrP6pvhojRGpy63_700jH3f_aO
以下为解释:
arm_sqrt_q15(64)=sqrt(64/32678)
算出的结果也是q15定点形式,应在上面结果乘以32678
result = sqrt(64/32678)*32678 = 8*128*sqrt(2) = 0x5A8

使用特权

评论回复
5
itelectron|  楼主 | 2016-4-20 20:49 | 只看该作者
本帖最后由 itelectron 于 2016-4-20 21:07 编辑

谢谢  那么提供的 数学库算出的 来 的结果  在转换 回去 那不是 更费时间 么?
那这个ARM数学库又有什么意义呢?


使用特权

评论回复
6
itelectron|  楼主 | 2016-4-20 21:12 | 只看该作者
  /**
   * @brief  Q15 square root function.
   * @param[in]   in     input value.  The range of the input value is [0 +1) or 0x0000 to 0x7FFF.
   * @param[out]  *pOut  square root of input value.
   * @return The function returns ARM_MATH_SUCCESS if input value is positive value or ARM_MATH_ARGUMENT_ERROR if
   * <code>in</code> is negative value and returns zero output for negative values.
   */
  arm_status arm_sqrt_q15(
  q15_t in,
  q15_t * pOut);

  /**
   * @} end of SQRT group
   */



而且这个函数 输入范围 是  signed short   64*32768  已经超出范围了

使用特权

评论回复
7
itelectron|  楼主 | 2016-4-20 21:15 | 只看该作者
也就是每次计算 后要除 181  就能得到 想要的结果!
   arm_sqrt_q15(64,&temp2);
         temp2/=181;

使用特权

评论回复
8
energyplants| | 2016-4-20 22:44 | 只看该作者
M0支持浮点数吗?

使用特权

评论回复
9
myxiaonia| | 2016-4-21 08:08 | 只看该作者
q格式表示的定点小数,自有其优点,要知道不支持浮点数的mcu是用软件模拟浮点数的,很麻烦性能也不好

使用特权

评论回复
10
color_sky| | 2016-4-21 12:57 | 只看该作者
我有一个开源的colorsky开源机器人项目。

使用特权

评论回复
11
capturesthe| | 2016-4-21 22:27 | 只看该作者

内存那么小还能进行浮点数运算,是不是该用F4啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

274

主题

2762

帖子

8

粉丝