Source: https://eeweb.engineering.nyu.edu/iselesni/EL713/zoom/allpass.pdf