Signal and data processing