Calculate the SNR of a PCM signal

Discussion in 'Homework Help' started by Rahulkishor, Mar 16, 2010.

  1. Rahulkishor

    Thread Starter New Member

    Mar 9, 2010
    I need help in calculating the SNR of a PCM signal-

    I came across a formule for calculating the SNR of PCM signal, considering the Quantization error as the source of noise- the formulae is:

    SNR= (3*P*(2^(2N))) / (Mmax^2)
    where P= modulating signal power
    N= number of bits used in encoding
    Mmax= the maximum amplitude of the quantized signal

    But in certain problems, all the informations required to get the SNR is not available. Please help me in solving this problem:
    Find the OUTPUT S/N of a PCM sampled at 8000 samples/second and using a 6 bits/word for transmission
  2. rogs

    Active Member

    Aug 28, 2009
    Theoretical SNR is 36dB for a 6 bit sample depth. Simply add or subtract 6dB for each bit difference .
    So 16 bit SNR =96dB. 8 bit signal SNR = 48dB, and so on.
    Note these are theoretical limits. In practice the effective amount of SNR will depend on how much distortion you can put up with. Small signal inputs will be less well resolved than large ones, without some 'help'.

    Which is why the effective SNR of low resolution sample depths, like the 8 bit used in telephony, can be greatly improved by the application of μ-law or A-law algorithms.
    Analogue compression/expansion techniques can also help make significant perceived improvements in SNR of PCM siganls. It all depends on your application.
  3. Rahulkishor

    Thread Starter New Member

    Mar 9, 2010
    hello rogs,
    Thanks for your reply,

    But to just confirm whether i have understood your explanations correctly, The constant of 6dB against each sample bits, is it obtained as follows:

    According to the formulae:
    SNR= (3*P*(2^(2N))) / (Mmax^2).

    Let us assume the modulating signal to be a sinusoidal AmSinWT
    Hence Power P= (Am^2)/2
    Mmax= Am
    Hence SNR= 1.5 * (2^2N).

    Converting into dB
    SNRdb= 10 log1.5 +10* 2Nlog2= 1.76+6.02*N

    Hence according to your explanation, if 1.76 is neglected
    SNRdb= 6*N (approx 6.02 to 6)
    But will this calculation be valid for any modulating signal??

    Thanks in advance.