Source: https://perso.univ-lemans.fr/~mtahon/doc/cpda_signal.pdf