A software sampling frequency adaptive algorithm for reducing spectral leakage