TI 中 acos()函数 存在 bug

在使用 TMS320F28335 DSP 进行程序开发时,发现系统自带的 acos() 函数存在错误,可能导致直流信号出现尖峰。问题出现在当输入值为 -1 时,预期结果应为 π,但实际上得到的是 0。为解决此问题,可以通过检查特定条件并在满足时将结果修正为 π。在修复后的程序中,计算角度值时,如果横坐标为 a,纵坐标为 b,通过判断条件修复 Bug,运行结果恢复正常。
摘要由CSDN通过智能技术生成

编写 DSP 程序时(TMS320F28335),如果直接调用系统自带的 acos 函数,有时会出现莫名其妙的错误 (如同步坐标系中的电流在稳态情况下本来是直流,但可能出现尖峰)。这是因为 acos() 函数存在 Bug 。理论上 acos(1)=π ,但 DSP 的计算结果可能是 0.

由于只有这一个点有错误,所以可以很容易将该 Bug 排除。

示意图
图 1:不同角度下的正弦和余弦值

图 1 给出了不同角度下的正弦和余弦值。显然,发生 Bug 的区域位于图中蓝色区域内。如果计算正确的话,下列几个式子无法同时成立。

ar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值