differential encoders