Professional Documents
Culture Documents
Pulse Code Modulation: EE 442 - Spring Semester
Pulse Code Modulation: EE 442 - Spring Semester
Analog signal
https://studylib.net/doc/18316971/lecture-11--pulse-code-modulation
Pulse Code Modulation 1
Advantages of Digital Over Analog For Communications
PCM signal
transmitted
to channel
Transmitter
Distorted PCM Regenerated
signal from PCM signal sent
imperfect channel along channel
Transmission Path
Final
channel
output
Receiver
https://www.elprocus.com/pulse-code-modulation-and-demodulation/
amplitude
•
amplitude
•• • •
0100101101011001
time • time 1110101010101000
time
• 0100011000100011
• •
• • 0101001111010101
• •
•• • 1110110111010001
•
Sample Quantize Encode
Analog Digital
Signal Captured Quantized Signal
Sampled Data Sampled
Sampling Values Quantizing Data Encoding
selects the chooses the assigns binary
data points amplitude numbers to
we use to Discrete values used Now have those Now have the
Analog signal create the time values: to encode discrete amplitude digital
is continuous digital data few amplitudes Values in values data which
in time & from analog both time & is the final
amplitude signal amplitude result
Four-bit coding
(16 discrete levels)
https://en.wikipedia.org/wiki/Pulse-code_modulation
2m p
==
L
After Lathi & Ding, 4th ed., 2009; page 6. L = 16 levels → 4 bits
−m p
Maximum value = |mp|
Pulse Code Modulation 6
Four-Bit Binary Pulse Code (Example)
To communicate
sampled values, we
send a sequence of bits
that represents the
quantized value.
For 16 quantization levels,
4 bits are required.
PCM can use a
binary
representation of
value.
The PSTN uses PCM
We start with a sampled signal {call it m(t)} and now we want to quantize it.
Divide the range (-mp, +mp) into L uniformly spaced intervals. The number
intervals is L and the separation between quantized levels is
2 mp
=
L
The kth sample point of m(t) is designated as m(kTS) and is assigned a value
equal to the midpoint between two adjacent levels. Define:
The signal (or message) power S0 is proportional to the mean square of m(t),
mp2
S0 = 2 = m2 (t ) ; and if m(t ) is sinusoidal, S0 =
2
Note: denotes a time average.
Pulse Code Modulation 10
Quantization IV
We want a measure of the quality of received signal (that is, the ratio of
the strength of the received signal power S0 relative to the strength of the
noise power Nq due to quantization).
3L2
2
m (t ) 1
It is usually expressed in decibels, Note:
mp2 2
S0 3L2
SQNRdB = 10 log 10 10 log 10
Nq 2
Conclusion:
To reduce the quantization error relative to the message signal level, use
smaller quantization steps .
Compression Restoration
(m) m(t)
m(t) m(t)
http://www.slideshare.net/91pratham/unit-ipcmvsh
Pulse Code Modulation 13
Companding Laws
Output (y/ymax)
Input (m/mp) Input (m/mp)
A m m 1
y= for 0 1 m m
1 + log e A mp mp A y= log e 1 + for 0 1
log e (1 + ) m mp
A Am 1 m p
y= 1 + log e for 1
1 + log e A mp A mp
A = 87.6
http://www.en.voipforo.com/codec/codecs-g711-alaw.php
Pulse Code Modulation 15
Flattening of the S/N Ratio Using the -Law
S0
Nq
(8 bits)
BT = nB Hz
Given message signal m(t) with range from –mp to +mp. For n levels the
quantization step is given by
2 mp
=
L
()
2
mp2
The mean square error (MSE) is found from Nq = q2 = =
3L2 12
The means signal power is S0 = 2 = m2 (t )
Solution:
The Nyquist rate is RN = 2 x 3000 Hz = 6000 Hz (samples/second), but the actual
rate is 33⅓ % higher, so the sample rate is 6000 Hz + (⅓ x 6000) = 8000 Hz.
Solution (continued):
Having chosen n = 8 to guarantee < 0.5% error, to find the bandwidth required
we start with
If 24 such signals are multiplexed onto a single line (known as a T1 Line in the
Bell telephone system), then
¶
A maximum of 2B independent elements of information per second can be
transmitted, error-free, over a noiseless channel of bandwidth B Hz.
Pulse Code Modulation 20
Exponential Increase of the Output SNR (S/N Ratio)
We start with the SNR (signal-to-noise ratio) equation from slide 11 above:
S0 m 2 (t )
= 3 L2 denotes time average
Nq mp2
The number of levels L can be expressed as L2 = 22n where n = log2(L) and is
the number of bits to generate L levels. The SNR can now be expressed as
S0 m 2 (t ) 2 n
mp2 ( )
= 3 2
Nq
Using the expression for bandwidth, BT = nB, then we arrive at
S0 m 2 (t ) 2 B /B
= 3 (2) T
Nq mp2
Taking the logarithm gives
S0 S0 m 2 (t )
= 10 log 10 = 10 log 10 3 + 10 2 n log 10 ( 2 ) ( + 6n ) dB
Nq Nq mp2
dB
S0 m 2 (t ) 3P 3
= 3 (2)2 n = 2ave (2)2 n = (2)2 n
Nq mp2 mmax 2
L n SNR
S0 32 5 31.8 dB
10 log 10 ( 1.76 + 6n ) dB
Nq 64 6 37.8 dB
128 7 43.8 dB
256 8 49.8 dB
The first version, the Transmission System 1 (T1), was introduced in 1962 in
the Bell System, and could transmit up to 24 telephone calls simultaneously
over a single transmission line consisting of copper wire.
193 bit frame – 122 sec/frame
https://sun.iwu.edu/~jhaefner/CS390/Lecture9/lec9.htm
Pulse Code Modulation 23
T1 Carrier – Time Division Multiplexing
Using for the quantization noise Nq = [2/12], and taking Pave = 2 W, the
SNR is given by
SO Pave 2 24
=
= 12 = = 98, 304
N q N q 2 (1.5625 10 −2 )2
SNRdB = 10 log 10 ( 98, 304 ) = 49.93 dB
The lowest integer number of bits n that will give at least 31.5 levels is n = 5
because 25 = 32 levels. So the answer is 5 bits.
PCM is not really efficient because it generates so many bits taking up a lot
of bandwidth. Can we improve on this? YES.
At the receiver knowing d[k] and the previous value of m[k-1] allows us to
construct the value of m[k].
How do we benefit from doing this?
Suppose mest[k] is the estimate of the kth sample, then the difference d[k]
is defined by
d[k] = m[k] – mest[k]
Receiver Concept:
At the receiver we determine the estimate mest[k] from previous sample
values, and then generate m[k] by adding the received d[k] values to the
estimate mest[k]. Thus, the reconstruction of the samples is done
iteratively.
m[ k ] a1m[ k − 1] + a2 m[ k − 2] + . . . + aN m[ k − N ] = mq [ k ]
Note that the input consists of the weighted previous samples m[k-1],
m[k-2], etc. We say that input m[k] gives output mest[k].
mest [ k ] = a1m[ k − 1] + a2 m[ k − 2] + . . . + aN m[ k − N ]
Input
m[k] Delay Delay Delay Delay ... Delay
TS TS TS TS TS
a1 a2 a3 aN
Output mest[k]
+
mest[k]
+
After Lathi and Ding, mq[k]
4th edition, 2009; page 344. Predictor
The predictor output mest[k] is fed back to the input so the predictor input
mq[k] is given by
mq [ k ] = mq [ k ] + dq [ k ] = m[ k ] − d[ k ] + dq [ k ] = m[ k ] + q[ k ]
Input Output
dq[k] + mq[k]
+
mest[k]
Predictor
The receiver’s output (which is the predictor’s input) is also the same,
mq[k] = m[k] + q[k].
Hence, we are able to receive the desired signal m[k] plus the quantization
noise, q[k]. It is important to note that from the difference signal d[k] is
much smaller that the noise associated with m[k].
time
1100000101111101000011100010101 .....
Reference: ?
http://www.venusclubs.co.nz/02/provide-your-clients-with-answers-before-they-ask-their-questions/
Pulse
amplitude
modulation
Pulse
duration (width)
modulation
Pulse
position
modulation
Pulse
frequency
modulation
Pulse
code
modulation
https://www.quora.com/What-is-the-difference-between-pulse-
amplitude-modulation-PAM-and-pulse-code-modulation-PCM
https://electronicspost.com/comparison-between-pcm-dm-adm-and-dpcm/
https://en.wikipedia.org/wiki/Quantization_(signal_processing)
PWM
PFM
http://randomflux.info/1bit/viewtopic.php?id=21