Subversion Repositories svnkaklik

Rev

Rev 510 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 510 Rev 511
Line 27... Line 27...
27
{
27
{
28
  u16 i;
28
  u16 i;
29
  double err=0;
29
  double err=0;
30
 
30
 
31
	for(i=0; i<size; i++) err += square(buf[i]-average);		// sum quadratic errors	
31
	for(i=0; i<size; i++) err += square(buf[i]-average);		// sum quadratic errors	
32
	err = sqrt((1/size)*err);
32
	err = sqrt((1/(double)size)*err);
33
	return err;
33
	return err;
34
}
34
}
35
 
35
 
36
int main(void)
36
int main(void)
37
{
37
{
Line 84... Line 84...
84
			fibuf[i] = atan2((double)x-511,(double)y-511);		// record computed angles to buffer for post processing
84
			fibuf[i] = atan2((double)x-511,(double)y-511);		// record computed angles to buffer for post processing
85
		}
85
		}
86
		for(i=0; i<BUFLEN; i++) fi += fibuf[i];		// sum recorded angles
86
		for(i=0; i<BUFLEN; i++) fi += fibuf[i];		// sum recorded angles
87
		fi = (fi/BUFLEN)+PI;		// average recorded angles and expand product to whole circle
87
		fi = (fi/BUFLEN)+PI;		// average recorded angles and expand product to whole circle
88
		
88
		
89
		err=quadraticerror(fi,fibuf,BUFLEN);
89
		err=quadraticerror((fi-PI),fibuf,BUFLEN);
90
		radtodeg(fi,&fi_deg,&fi_min,&fi_sec);
90
		radtodeg(fi,&fi_deg,&fi_min,&fi_sec);		//translate radians to degrees
91
		radtodeg(err,&err_deg,&err_min,&err_sec);
91
		radtodeg(err,&err_deg,&err_min,&err_sec);
92
		
92
		
93
		rprintf("fi:%d.%d.%d  +- %d.%d.%d \r\n", fi_deg, fi_min, fi_sec, err_deg, err_min, err_sec);
93
		rprintf("fi:%d.%d.%d  +- %d.%d.%d \r\n", fi_deg, fi_min, fi_sec, err_deg, err_min, err_sec);
94
		delay_ms(20);
94
		delay_ms(20);
95
	}
95
	}