Source: https://ccrma.stanford.edu/~dattorro/EDM.pdf