Source: http://mitras.ece.illinois.edu/ECE584/Archives/2012/Projects/PalReport.pdf