https://9lib.org/document/zx5nd54q-discrete-fourier-transform-data-sequence-need-circularly-defined.html