Skip to main content

Need for non-uniform quantization; one algorithm

Short answer

Non-uniform quantization needed because speech has wide dynamic range and peaked PDF; uniform steps give poor SQNR for weak signals. Companding algorithm: compressor → uniform quantizer → expander. µ-law: normalize x=m/mp, compress y=sgn(x)ln(1+μ|x|)/ln(1+μ) with μ=255, uniformly quantize y, transmit, expand at receiver via inverse. Small steps near zero, large steps at high amplitude yield nearly constant SQNR (~38 dB over 40 dB range) with 8 bits.

Why is non uniform quantization required, explain any one algorithms for implementing non-uniform quantization.

Why non-uniform quantization is needed

  • In uniform quantization the noise power Δ2/12\Delta^2/12 is the same for every level, so SQNR is proportional to signal power. Weak signals get poor SQNR.
  • Speech has a wide dynamic range (about 40 dB) and small amplitudes are far more probable than large ones.
  • To give soft talkers acceptable SQNR with uniform steps would need about 12–13 bits per sample.
  • Non-uniform quantization uses small steps for small amplitudes and large steps for large amplitudes, making SQNR nearly constant over the range. 8 bits then give toll-quality speech (64 kbps).

Algorithm: companding with the µ-law

Non-uniform quantization is realised by companding: compressor → uniform quantizer → (channel) → expander.

m(t)->[Compressor]->[Uniform quantizer+encoder]->channel
                                                    |
out<-[Expander]<-[Decoder]<-------------------------+
  1. Normalise the input: x=m/mpx = m/m_p, so ∣x∣≤1|x| \le 1.
  2. Compress using the µ-law:
y=sgn(x) ln⁡(1+μ∣x∣)ln⁡(1+μ),μ=255y = \text{sgn}(x)\,\frac{\ln(1 + \mu|x|)}{\ln(1 + \mu)}, \qquad \mu = 255

For small xx, y≈μx/ln⁡(1+μ)y \approx \mu x/\ln(1 + \mu) (large gain); for large xx the curve is logarithmic (small gain). 3. Uniformly quantize yy into L=2nL = 2^n levels and encode into nn bits (8 bits in telephony). 4. At the receiver decode and expand with the inverse law:

∣x∣=(1+μ)∣y∣−1μ|x| = \frac{(1 + \mu)^{|y|} - 1}{\mu}
  1. The combined effect: equal steps in yy correspond to small steps in xx near zero and large steps near ±1\pm 1.

For μ≫1\mu \gg 1, SQNR ≈3L2[ln⁡(1+μ)]2\approx \dfrac{3L^2}{[\ln(1 + \mu)]^2}, almost independent of signal level; with μ=255\mu = 255, n=8n = 8 it is about 38 dB over a 40 dB input range.

In practice the curve is approximated digitally by 15 linear segments (µ-law, T1 systems) or 13 segments for the A-law (A=87.6A = 87.6, E1 systems).

✓ Answer checked by Claude Opus 5.5 (high effort)

All Communication Systems chapter 4 questions →