Restorative Up-Sampling Discussion

Our Restorative Up-Sampling algorithm (RUP) is embodied in the MATLAB file {rup.m}, which also makes use of the sub-routines {forksub.m} and {spoon.m}. This algorithm may be called 'alchemical' in that it aims to restore the 'gold' of lost high-frequency components in a severely under-sampled signal, while, at the same time, purifying the signal of the 'dross' of aliasing noise. Restoraative Up-sampling may have applications in data compression and "unnpacking," just to name one that occurs off-hand. It lays out the (N-point) time-domain data with an (N-1) mirror inverse of the same time data, as if the time-data were embodied in a simple frequency-domain rendering, for which the inverse DFT is purely real.

Again, the algorithm takes an inverse DFT of this [(2N-1)-point] representation and uses {forksub.m} to forecast it out to a [(2*{2N-1}-1)-point] rendering before taking a DFT to undo the inverse DFT operation which preceded the forecasting. Then, the first [(2N-1)-points] are harvested to yield our doubled sampling frequency signal with high-frequency components restored and previous aliasing undone.

Our work could also be called 'alchemical' in the sense that it aims to accomplish what had previously been regarded by science as theoretically impossible. The up-sampling routine assumes a time-delimited signal, with every value past the last point in the signal 'proper' being equated to zero. If this is not the case, variants of up-sampling as well as non-bandlimited forecasting may be had by recursive use of Fourier forecasting {fork.m} combined with restorative up-sampling {rup.m} used with signal length trimming operations.

For bare-bones results, we use File "C" (below) as an input file to RUP. It consists of a severely under-sampled (16x) recording of U2's Bono singing "I can't believe the news today..." from the track "Sunday Bloody Sunday," and downloaded, again, from Wikipedia. This recording is so badly under-sampled that Bono's voice and accompanying instrumentals are barely audible. We pass this input file through {rup.m}, our restorative up-sampling algorithm with four sampling frequency doublings set to get back to the original sampling frequency of 22050Hz. If the algorithm and its subroutines are successful, the output File "D" (again, below) should contain a faithful and restored rendering of the original to the listening ear.