Source: http://tera.yonsei.ac.kr/class/2004_2/project/GPS_team3.pdf