Anabios (02.03.2011 15:11, просмотров: 51) ответил POV на На корень из числа точек делишь?
Я расчет делаю с учетом гравитации дествующей на датчик. Камень дохлый приходиться изголяться.
Функция накопления данных
void AccumulatVibro(signed int InVal)
{
signed long mathtemp=0;
SumX+=InVal; // SumX - signed long
mathtemp=InVal;
mathtemp*=mathtemp;
SumXX+=mathtemp; // SumXX - signed long
}
Функция расчета СКЗ
if(CountX>1023)
{
SumX/=CountX;
SumX*=SumX;
SumXX/=CountX;
SumXX-=SumX;
Result=SQRT(SumXX);
SetPWMDutyCicle(Result);
CountX=0;
SumX=0;
SumXX=0;
}