Errors occur on every sample except where the sample size exactly coincides the mid-point of the decision level.
If smaller steps are taken the quantization error will be less. However, increasing the steps will complicate the coding operation and increase bandwidth requirements.
Quantizing noise depends on step size and not on signal amplitude
The quantizing intervals are of equal size.
Quantization noise: the difference between the input signal and the quantized output signal
S/N= 6n+1.76 dB
n=8, S/N=49.76 dB
In other words, every added binary digit increases the ratio by 6dBs
Consider sample 2, the actual amplitude of the signal is +1.7V.
This is assigned level 2 (same for any voltage between 1 & 2), which is transmitted as line code 101.
At the receiving end 101 is converted to a pulse of +1.5V (the middle value of the decision level at the encoder)
This produces an error of 0.2V between original input and output signals.
With linear quantization, the signal to noise ratio is large for high levels but small for low level signals.
Therefore, non-linear quantization is used.
The quantizing intervals are not of equal size.
Small quantizing intervals are allocated to small signal values (samples) and large quantization intervals to large samples so that the signal-to-quantization distortion ratio is nearly independent of the signal level.
S/N ratios for weak signals are much better but are slightly less for the stronger signals.
Commanding: a process in which compression is followed by expansion.
Two separate laws are used
A-Law adopted by ITU-T for 30 channel PCM.
µ-law used mainly in USA,Canada and Japan.
Fairly sure S/N for linear quantisation (assuming a uniform probability of occupancy - that is that every level quantised has an equal chance of being occupied by the input signal, not a reality unless the input is a triangle wave of maximum amplitude) is 3M^2 where M is number of levels, expressing in dB as 10LOG(3M^2) = 20LOG(3M) or use the fact that M = 2^n where n is number of bits. Hence dB calc becomes 10LOG(3(2^n)^2) = 10LOG(3) + 10LOG(2)*n = 4.77 + 6n