We are using all 1x decoding on our drive, with AndyMark 250-count encoders, and chain slack is a larger cause of innacuracy then the encoders themselves.
For a 250-count encoder, you will get 250 pulses (rising edge of one phase) per rotation. This is A LOT. For 2x, you will get 500 pulses (rising and falling edge of one phase) per rotation. This is still A LOT. With both of these, the B-phase will only be used to determine direction (but you still have direction). For 4x, you will get 1000 pulses (rising and falling edge of both phases). This is a serious ton of pulses.
Our drive is 1:1 from the encoder to 6" wheels (that's what happens with SuperShifter and live-axle drives), so we get about 1.4 degrees of accuracy, which translates into about 1/8" of movement. Far more than we actually need.
On PID:
You can scale the input to whatever you like. IT dosen't matter. As long as the setpoint and sensor are of the same units, the output scale does not matter (it will when you tune it, but it will only change the magnitude of the gains).
Also - If you need 4 encoders with rate, you will have to use FPGA counters (1x or 2x) because there are not 4 working rate encoders. jhersh posted a fix for LabVIEW here, which just disables all of the non-working encoders.
http://www.chiefdelphi.com/forums/sh...4&postcount=54