大佬们有没有缩短“根号”运算的办法
我在中断里使用了根号运算,一看中断时间80us,注释掉后就几us。Va_1=Va-2.4617985;
x_pn=x_n;
y_pn=y_n;
x_n=Va_1*Va_1;
y_n = IIR_B*x_n + IIR_B*x_pn- IIR_A*y_pn;
a=1.4142*sqrt(y_n)*0.906+2.4617985;
STC8051U, 2024/7/1供货
TFPU32@108MHz, 以
【硬件三角函数/反三角函数运算器,硬件浮点运算器】为主的
【新型 控制器,处理器】
T: 硬件三角函数/反三角函数运算器
F: 硬件浮点运算器
追风剑-II@STC8051USB实验箱讨论稿,8位/32位8051兼容,三角函数/浮点, USB - 老梁亲测 STC33-ARM 内部平台系列讲座 国芯技术交流网站 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)
{:5_286:}正常,软件浮点运算消耗的时间确实很长 如果不需要高精度的话,可以百度下有没有快速开方运算的办法 本帖最后由 xiangzichen 于 2024-5-20 11:55 编辑
试试卡马克大神的神级代码,快速迭代开平方.
float SquareRootFloat(float number) {
long i;
float x, y;
const float f = 1.5F;
x = number * 0.5F;
y= number;
i= * ( long * ) &y;
i= 0x5f3759df - ( i >> 1 ); //注意这一行
y= * ( float * ) &i;
y= y * ( f - ( x * y * y ) );
y= y * ( f - ( x * y * y ) ); //提高精度就来一次.
return number * y;
}
xiangzichen 发表于 2024-5-20 11:36
试试卡马克大神的神级代码,快速迭代开平方.
传世经典:0x5f3759df xiangzichen 发表于 2024-5-20 11:36
试试卡马克大神的神级代码,快速迭代开平方.
好的,我试试,谢谢大佬 雷神之锤0x5f3759df xiangzichen 发表于 2024-5-20 11:36
试试卡马克大神的神级代码,快速迭代开平方.
{:4_250:}
页:
[1]