Digital inverse model control using Generalised holds with extensions to the adaptive case