Quaternion valued adaptive signal processing