1. In the field of signal analysis and synthesis, a software program comprising instructions, stored on computer-readable media, wherein said instructions, when executed by a computer, perform the necessary steps for generating a complimentary, discrete Fourier transformation of said signal, said steps further comprising: performing an analysis processing step on a discrete signal x(n) so as to produce M intermediate outputs being incrementally delayed relative to each other by a prescribed amount; performing a first synthesis processing step on said M intermediate outputs; in parallel with said first synthesis processing step, applying gain to each of said M intermediate outputs so as to produce M amplified intermediate outputs, and performing a second synthesis processing step thereon so as to produce an output y m (n); negating the output of said first synthesis processing step; summing said negated output of said first synthesis processing step with a delayed version of said signal x(n) so as to form a residue; performing a complimentary analysis processing step on said residue output so as to produce M complimentary intermediate outputs; and applying gain to each of said M complimentary intermediate outputs so as to produce M amplified complimentary intermediate outputs and performing a complimentary synthesis processing step thereon, so as to produce a complimentary output y c (n); and delaying said output y m (n) by an integer delay so as to align y m (n) with said complimentary output y c (n); and summing y m (n) and y c (n) so as to reconstruct said signal x(n).