Finite-time encoding