首页 理论教育 CMAC电感计算公式详解

CMAC电感计算公式详解

时间:2023-06-15 理论教育 版权反馈
【摘要】:在CMAC模型中,电感本身以浮点数的形式存储于其中,而且电流、位置角和电感的数量级相差很大,不宜用二进制刻度的形式来表示,所以在此用浮点数的形式来计算CMAC中的电感值。FPGA本身硬件上的并行处理可以消除CMAC电感计算中的串行取值所带来的延时,从而进一步减少运算的延时。从MATLAB代码中可以看出,CMAC计算电感主要是运用了一些常用的浮点加法、减法、乘法、除法运算,而除法运算可以看作是乘以倒数的乘法运算。

CMAC电感计算公式详解

在CMAC模型中,电感本身以浮点数的形式存储于其中,而且电流、位置角和电感的数量级相差很大,不宜用二进制刻度的形式来表示,所以在此用浮点数的形式来计算CMAC中的电感值。虽然DSP2812具有专门的硬件乘法器,但是该乘法器主要是针对整数的乘法运算。而对于浮点数的乘法运算,DSP2812会耗费巨大的运算时间,这对控制周期是100μs的控制系统会产生巨大的负荷。FPGA的乘法运算是硬件直接实现的,而且用户可以通过编写HDL语言来配置自己的浮点乘法器模块。FPGA本身硬件上的并行处理可以消除CMAC电感计算中的串行取值所带来的延时,从而进一步减少运算的延时。

CMAC模型数据拟合的MATLAB代码如下所示。

其中memory为电感的CMAC的存储空间。(www.xing528.com)

从MATLAB代码中可以看出,CMAC计算电感主要是运用了一些常用的浮点加法、减法、乘法、除法运算,而除法运算可以看作是乘以倒数的乘法运算。由于FPGA硬件是并行执行的,较难实现顺序执行的“for”运算,并且13层的“for”顺序运算的执行所需时间较长,所以结合FPGA并行执行的特点,根据“面积换时间”原理,将“for”循环展开,变成13个并行执行的模块,如此一来执行的时间变成了原来的十三分之一。

由于绝大多数FPGA都是用定点数据进行运算,它对精度高、数值范围较大的运算无能为力,而浮点数比定点数的表示范围宽、有效精度高,更符合科学计算和工程计算,因此需要设计一种高速的浮点运算单元

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈