Source: https://oa.upm.es/187/1/Tesis_manuel_sillero.pdf