Hi I am working on a backward adaptive non-uniform quantizer for use in wireless transmissions. More precisely my quantizer currently consists of an adaptive compader (currently atan-based) and a simple uniform quantizer. This works very well. Trouble is: I am going to transmit data over a noisy wireless channel. As of now the errors are bringing the adaptive expander on the decoder side out of step with the adaptive compressor on the encoder side. Any idea how to make an error robust adaptive quantizer? Suggestions regarding the improvement of my design are as welcome as suggestions of completely different approaches. My current design in pseudo c-code: // compander in = atan(y * in); tx = quantizer(in); // adaption if (tx > thresh_hi) y--; if (tx < thresh_lo) y++; ///// TRANSMISSION rx = tx + transmission_errors; out = dequantize(rx); // expander out = tan(out) / y2; // adaption if (rx > thresh_hi) y2--; if (rx < thresh_lo) y2++;
adaptive quantization and transmission errors
Started by ●November 26, 2009
Reply by ●November 26, 20092009-11-26
dudelmann wrote:> Hi > > I am working on a backward adaptive non-uniform quantizer for use in > wireless transmissions. More precisely my quantizer currently consists of > an adaptive compader (currently atan-based) and a simple uniform quantizer. > This works very well. > > Trouble is: > > I am going to transmit data over a noisy wireless channel. As of now the > errors are bringing the adaptive expander on the decoder side out of step > with the adaptive compressor on the encoder side. > > Any idea how to make an error robust adaptive quantizer?You have to introduce "leakage" into adaptation. I.e. use lowpass filter function instead of integrator function. So the error influence will fade out with time.> // adaption > if (tx > thresh_hi) > y--; > if (tx < thresh_lo) > y++;y -= alpha * y; Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com