Source: http://www.iro.umontreal.ca/~kropf/ift-6052/notes/gsm.pdf