例程中
value = (_iq)ADC_readResult(obj->adcHandle,ADC_ResultNumber_1);
value = _IQ12mpy(value,current_sf) – obj->adcBias.I.value[0];
ad结果强制 转换 IQ24, 为什么 乘个 系数要用 IQ12 ?
Green Deng:这里使用的是标幺化的处理,数据格式是Q24的结构,所以一个12位的ADC,其实就是一个Q12的数据,再通过IQ12mpy处理成Q24,这就变成了标幺值,然后再乘以硬件系数值。
例程中
value = (_iq)ADC_readResult(obj->adcHandle,ADC_ResultNumber_1);
value = _IQ12mpy(value,current_sf) – obj->adcBias.I.value[0];
ad结果强制 转换 IQ24, 为什么 乘个 系数要用 IQ12 ?
user1303469:
回复 Green Deng:
我问的是 为什么是IQmpy12,这里面是怎么算的?
例程中
value = (_iq)ADC_readResult(obj->adcHandle,ADC_ResultNumber_1);
value = _IQ12mpy(value,current_sf) – obj->adcBias.I.value[0];
ad结果强制 转换 IQ24, 为什么 乘个 系数要用 IQ12 ?
naughty boy:
回复 user1303469:
在controlSUITE软件中有关于IQ的详细介绍C:\ti\controlSUITE\libs\math\IQmath\v160\doc