Lecture 13: Pulse Code Modulation, Study notes of Law

Lecture 13: Pulse Code Modulation. John M Pauly. November 2, 2021 ... Using PCM, multiple connections could be time division multiplexed.

Typology: Study notes

2021/2022

Uploaded on 09/27/2022

jennyfer
jennyfer 🇬🇧

5

(5)

236 documents

1 / 24

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Lecture 13: Pulse Code Modulation
John M Pauly
November 2, 2021
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18

Partial preview of the text

Download Lecture 13: Pulse Code Modulation and more Study notes Law in PDF only on Docsity!

Lecture 13: Pulse Code Modulation

John M Pauly

November 2, 2021

Pulse Code Modulation (PCM)

I (^) PCM in the Bell System

I (^) Multiplexing PCM

I (^) Asynchronous PCM

I (^) Extensions to PCM

I (^) Differential PCM (DPCM) I (^) Adaptive DPCM (ADPCM) I (^) Delta-Sigma Modulation (DM)

I (^) Vocoders

Based on lecture notes from John Gill

Telephone Exchange Using Strowger Switches

Electromechanical Crossbar Switch

T-1 Carrier System (cont.)

The 8-bit compressed voice values are sent consecutively, msb first.

The samples of all 24 inputs comprise a frame.

Most serial communications transmits data lsb first (“little endian”).

T-1 Frame

A framing bit is prepended to each frame, hence 193 bits/frame. Framing bits alternate and allow for frame synchronization.

The “final” version of T-1 uses robbed-bit signaling. In every sixth frame, the lsb of each sample is used for control purposes.

Early T-1 used every lsb for signaling, hence only 128 quantization levels. In the same way, information can be hidden in the lsb of CD audio or images.

Multiplexing PCM

A major motivation for PCM is the ability to multiplex many low bit rate channels on a single hit bit rate channel. There are many ways to do this: I (^) Bit interleaving

I (^) Word interleaving

These each have advantages and disadvantages. A major issue is synchronization. There are several different approaches I (^) Synchronous : hard to do in practice

I (^) Asynchronous : potentially wasteful of capacity

I (^) Plesiochronous : a practical balance

Multiplexing PCM

Differential PCM

PCM uses a lot of bits per second. This is mostly because audio has a large dynamic range, and is weighted towards lower frequencies.

The result is that samples are highly correlated, and the previous sample is a good prediction of the next. We can improve PCM by transmitting samples of (^) dtd m(t), and then reconstructing the m(t) at the other end by integration

0 3kHz

Differentiated Audio Spectrum

This is differential PCM.

Differential PCM

In general, we want to use previous samples to predict the signal. I (^) m[k] is the sampled unquantized signal we want to transmit, and mq[k]

is the quantized signal

I (^) mˆ[k] is the prediction of m[k] based on previous samples mq[k]

I (^) d[k] = m[k] − mˆ[k], the unquantized difference between m[k] and the

prediction

I (^) dq[k] is the actual quantized difference that will be transmitted.

A predictor will take previous samples of the signal, and compute the next expected sample

Differential PCM

A simple encoder would quantize first, compute the prediction, and then compute the difference signal to transmit

Quantizer

Predictor

AAAB63icbVBNS8NAEJ3Ur1q/qh69LBbBU0mKqMeCF48V7AekoWy2m3bp7ibsboQS+he8eFDEq3/Im//GTZqDtj4YeLw3w8y8MOFMG9f9diobm1vbO9Xd2t7+weFR/fikp+NUEdolMY/VIMSaciZp1zDD6SBRFIuQ0344u8v9/hNVmsXy0cwTGgg8kSxiBJtcEv4sGNUbbtMtgNaJV5IGlOiM6l/DcUxSQaUhHGvte25iggwrwwini9ow1TTBZIYn1LdUYkF1kBW3LtCFVcYoipUtaVCh/p7IsNB6LkLbKbCZ6lUvF//z/NREt0HGZJIaKslyUZRyZGKUP47GTFFi+NwSTBSztyIyxQoTY+Op2RC81ZfXSa/V9K6b3sNVo90q46jCGZzDJXhwA224hw50gcAUnuEV3hzhvDjvzseyteKUM6fwB87nD/z5jig= m[k]

AAAB7XicbVBNS8NAEJ3Ur1q/qh69LBbBU0mKqMeCF48V7AekoWw2m3btZjfuboQS+h+8eFDEq//Hm//GbZuDtj4YeLw3w8y8MOVMG9f9dkpr6xubW+Xtys7u3v5B9fCoo2WmCG0TyaXqhVhTzgRtG2Y47aWK4iTktBuOb2Z+94kqzaS4N5OUBgkeChYzgo2VOtHg0R8Hg2rNrbtzoFXiFaQGBVqD6lc/kiRLqDCEY619z01NkGNlGOF0WulnmqaYjPGQ+pYKnFAd5PNrp+jMKhGKpbIlDJqrvydynGg9SULbmWAz0sveTPzP8zMTXwc5E2lmqCCLRXHGkZFo9jqKmKLE8IklmChmb0VkhBUmxgZUsSF4yy+vkk6j7l3WvbuLWrNRxFGGEziFc/DgCppwCy1oA4EHeIZXeHOk8+K8Ox+L1pJTzBzDHzifP3gFjwM= dq [k]

AAAB83icbVBNS8NAEJ34WetX1aOXxSJ4KkkR9Vjw4rGC/YAklM122y7dTeLuRCihf8OLB0W8+me8+W/ctjlo64OBx3szzMyLUikMuu63s7a+sbm1Xdop7+7tHxxWjo7bJsk04y2WyER3I2q4FDFvoUDJu6nmVEWSd6Lx7czvPHFtRBI/4CTloaLDWAwEo2ilIBhRzNW09+iPw16l6tbcOcgq8QpShQLNXuUr6CcsUzxGJqkxvuemGOZUo2CST8tBZnhK2ZgOuW9pTBU3YT6/eUrOrdIng0TbipHM1d8TOVXGTFRkOxXFkVn2ZuJ/np/h4CbMRZxmyGO2WDTIJMGEzAIgfaE5QzmxhDIt7K2EjaimDG1MZRuCt/zyKmnXa95Vzbu/rDbqRRwlOIUzuAAPrqEBd9CEFjBI4Rle4c3JnBfn3flYtK45xcwJ/IHz+QNc35HZ m ˆq [k]

AAAB7XicbVDLSgNBEOyNrxhfUY9eBoPgKewGUY8BLx4jmAdsljA7mU3GzGOdmRVCyD948aCIV//Hm3/jJNmDJhY0FFXddHfFKWfG+v63V1hb39jcKm6Xdnb39g/Kh0ctozJNaJMornQnxoZyJmnTMstpJ9UUi5jTdjy6mfntJ6oNU/LejlMaCTyQLGEEWye1RO8xHEW9csWv+nOgVRLkpAI5Gr3yV7evSCaotIRjY8LAT200wdoywum01M0MTTEZ4QENHZVYUBNN5tdO0ZlT+ihR2pW0aK7+nphgYcxYxK5TYDs0y95M/M8LM5tcRxMm08xSSRaLkowjq9DsddRnmhLLx45gopm7FZEh1phYF1DJhRAsv7xKWrVqcFkN7i4q9VoeRxFO4BTOIYArqMMtNKAJBB7gGV7hzVPei/fufSxaC14+cwx/4H3+AIXWjww= mq [k]

Predictor

I (^) The problem with this is that quantization errors can build up

I (^) This can lead to larger errors.

I (^) We can do much better!

Differential PCM

However, we can do better with this encoder

  • (^) Quantizer

Predictor

  • (^) + +

Decoder Encoder

AAAB7XicbVDLSgNBEOyNrxhfUY9eBoPgKewGUY8BLx4jmAdsljA7mU3GzGOdmRVCyD948aCIV//Hm3/jJNmDJhY0FFXddHfFKWfG+v63V1hb39jcKm6Xdnb39g/Kh0ctozJNaJMornQnxoZyJmnTMstpJ9UUi5jTdjy6mfntJ6oNU/LejlMaCTyQLGEEWye1RO8xHEW9csWv+nOgVRLkpAI5Gr3yV7evSCaotIRjY8LAT200wdoywum01M0MTTEZ4QENHZVYUBNN5tdO0ZlT+ihR2pW0aK7+nphgYcxYxK5TYDs0y95M/M8LM5tcRxMm08xSSRaLkowjq9DsddRnmhLLx45gopm7FZEh1phYF1DJhRAsv7xKWrVqcFkN7i4q9VoeRxFO4BTOIYArqMMtNKAJBB7gGV7hzVPei/fufSxaC14+cwx/4H3+AIXWjww= mq [k]

AAAB63icbVBNS8NAEJ3Ur1q/qh69LBbBU0mKqMeCF48V7AekoWy2m3bp7ibsboQS+he8eFDEq3/Im//GTZqDtj4YeLw3w8y8MOFMG9f9diobm1vbO9Xd2t7+weFR/fikp+NUEdolMY/VIMSaciZp1zDD6SBRFIuQ0344u8v9/hNVmsXy0cwTGgg8kSxiBJtcEv4sGNUbbtMtgNaJV5IGlOiM6l/DcUxSQaUhHGvte25iggwrwwini9ow1TTBZIYn1LdUYkF1kBW3LtCFVcYoipUtaVCh/p7IsNB6LkLbKbCZ6lUvF//z/NREt0HGZJIaKslyUZRyZGKUP47GTFFi+NwSTBSztyIyxQoTY+Op2RC81ZfXSa/V9K6b3sNVo90q46jCGZzDJXhwA224hw50gcAUnuEV3hzhvDjvzseyteKUM6fwB87nD/z5jig= m[k]

AAAB63icbVBNS8NAEJ3Ur1q/qh69LBbBU0mKqMeCF48V7AekoWw2m3bp7ibsboQS+he8eFDEq3/Im//GTZuDtj4YeLw3w8y8MOVMG9f9diobm1vbO9Xd2t7+weFR/fikp5NMEdolCU/UIMSaciZp1zDD6SBVFIuQ0344vSv8/hNVmiXy0cxSGgg8lixmBJtCivxpMKo33Ka7AFonXkkaUKIzqn8No4RkgkpDONba99zUBDlWhhFO57VhpmmKyRSPqW+pxILqIF/cOkcXVolQnChb0qCF+nsix0LrmQhtp8Bmole9QvzP8zMT3wY5k2lmqCTLRXHGkUlQ8TiKmKLE8JklmChmb0VkghUmxsZTsyF4qy+vk16r6V03vYerRrtVxlGFMziHS/DgBtpwDx3oAoEJPMMrvDnCeXHenY9la8UpZ07hD5zPH+86jh8= d[k] <latexit^ sha1_base64="U6P7OMGWLS7HVxin2mSblHvYpEw=">AAAB7XicbVBNS8NAEJ3Ur1q/qh69LBbBU0mKqMeCF48V7AekoWw2m3btZjfuboQS+h+8eFDEq//Hm//GbZuDtj4YeLw3w8y8MOVMG9f9dkpr6xubW+Xtys7u3v5B9fCoo2WmCG0TyaXqhVhTzgRtG2Y47aWK4iTktBuOb2Z+94kqzaS4N5OUBgkeChYzgo2VOtHg0R8Hg2rNrbtzoFXiFaQGBVqD6lc/kiRLqDCEY619z01NkGNlGOF0WulnmqaYjPGQ+pYKnFAd5PNrp+jMKhGKpbIlDJqrvydynGg9SULbmWAz0sveTPzP8zMTXwc5E2lmqCCLRXHGkZFo9jqKmKLE8IklmChmb0VkhBUmxgZUsSF4yy+vkk6j7l3WvbuLWrNRxFGGEziFc/DgCppwCy1oA4EHeIZXeHOk8+K8Ox+L1pJTzBzDHzifP3gFjwM= dq [k]

AAAB83icbVBNS8NAEJ34WetX1aOXxSJ4KkkR9Vjw4rGC/YAklM122y7dTeLuRCihf8OLB0W8+me8+W/ctjlo64OBx3szzMyLUikMuu63s7a+sbm1Xdop7+7tHxxWjo7bJsk04y2WyER3I2q4FDFvoUDJu6nmVEWSd6Lx7czvPHFtRBI/4CTloaLDWAwEo2ilIBhRzNW09+iPw16l6tbcOcgq8QpShQLNXuUr6CcsUzxGJqkxvuemGOZUo2CST8tBZnhK2ZgOuW9pTBU3YT6/eUrOrdIng0TbipHM1d8TOVXGTFRkOxXFkVn2ZuJ/np/h4CbMRZxmyGO2WDTIJMGEzAIgfaE5QzmxhDIt7K2EjaimDG1MZRuCt/zyKmnXa95Vzbu/rDbqRRwlOIUzuAAPrqEBd9CEFjBI4Rle4c3JnBfn3flYtK45xcwJ/IHz+QNc35HZ m ˆq [k]

I (^) This uses the actual decoder to compute the prediction

I (^) It computes the difference between the unquantized signal and the

quantized prediction.

Adaptive Differential PCM (ADPCM)

I (^) The DPCM signal will be much lower amplitude if it is a good model

I (^) The number of quantization levels L is fixed

I (^) ADPCM adaptively adjusts the channel gain, so that the quantization levels best represent the signal.

The combination of DPCM and ADPCM can reduce the number of bits required by a factor of two,

This can be used to reduce the bandwidth required by a factor of two, or improve the SNR for a fixed bandwidth.

Delta Modulation

DPCM is much simpler if we just use the previous sample for the predictor. The predictor is just a delay.

Delay

Decoder

AAAB7XicbVDLSgNBEOyNrxhfUY9eBoPgKewGUY8BLx4jmAdsljA7mU3GzGOdmRVCyD948aCIV//Hm3/jJNmDJhY0FFXddHfFKWfG+v63V1hb39jcKm6Xdnb39g/Kh0ctozJNaJMornQnxoZyJmnTMstpJ9UUi5jTdjy6mfntJ6oNU/LejlMaCTyQLGEEWye1RO8xHEW9csWv+nOgVRLkpAI5Gr3yV7evSCaotIRjY8LAT200wdoywum01M0MTTEZ4QENHZVYUBNN5tdO0ZlT+ihR2pW0aK7+nphgYcxYxK5TYDs0y95M/M8LM5tcRxMm08xSSRaLkowjq9DsddRnmhLLx45gopm7FZEh1phYF1DJhRAsv7xKWrVqcFkN7i4q9VoeRxFO4BTOIYArqMMtNKAJBB7gGV7hzVPei/fufSxaC14+cwx/4H3+AIXWjww= m q [k]

AAAB7XicbVBNS8NAEJ3Ur1q/qh69LBbBU0mKqMeCF48V7AekoWw2m3btZjfuboQS+h+8eFDEq//Hm//GbZuDtj4YeLw3w8y8MOVMG9f9dkpr6xubW+Xtys7u3v5B9fCoo2WmCG0TyaXqhVhTzgRtG2Y47aWK4iTktBuOb2Z+94kqzaS4N5OUBgkeChYzgo2VOtHg0R8Hg2rNrbtzoFXiFaQGBVqD6lc/kiRLqDCEY619z01NkGNlGOF0WulnmqaYjPGQ+pYKnFAd5PNrp+jMKhGKpbIlDJqrvydynGg9SULbmWAz0sveTPzP8zMTXwc5E2lmqCCLRXHGkZFo9jqKmKLE8IklmChmb0VkhBUmxgZUsSF4yy+vkk6j7l3WvbuLWrNRxFGGEziFc/DgCppwCy1oA4EHeIZXeHOk8+K8Ox+L1pJTzBzDHzifP3gFjwM= d q [k]

AAAB73icbVBNSwMxEJ2tX7V+VT16CRbBi2W3FPVY8OKxgv2A7VKyabYNTbLbJCuUpX/CiwdFvPp3vPlvTNs9aOuDgcd7M8zMCxPOtHHdb6ewsbm1vVPcLe3tHxwelY9P2jpOFaEtEvNYdUOsKWeStgwznHYTRbEIOe2E47u533miSrNYPpppQgOBh5JFjGBjpa7oT/zxlRf0yxW36i6A1omXkwrkaPbLX71BTFJBpSEca+17bmKCDCvDCKezUi/VNMFkjIfUt1RiQXWQLe6doQurDFAUK1vSoIX6eyLDQuupCG2nwGakV725+J/npya6DTImk9RQSZaLopQjE6P582jAFCWGTy3BRDF7KyIjrDAxNqKSDcFbfXmdtGtV77rqPdQrjVoeRxHO4BwuwYMbaMA9NKEFBDg8wyu8ORPnxXl3PpatBSefOYU/cD5/AGLMj34= m q [k^ ^ 1]

  • (^) Quantizer

Delay

  • (^) + +

Decoder Encoder

AAAB7XicbVDLSgNBEOyNrxhfUY9eBoPgKewGUY8BLx4jmAdsljA7mU3GzGOdmRVCyD948aCIV//Hm3/jJNmDJhY0FFXddHfFKWfG+v63V1hb39jcKm6Xdnb39g/Kh0ctozJNaJMornQnxoZyJmnTMstpJ9UUi5jTdjy6mfntJ6oNU/LejlMaCTyQLGEEWye1RO8xHEW9csWv+nOgVRLkpAI5Gr3yV7evSCaotIRjY8LAT200wdoywum01M0MTTEZ4QENHZVYUBNN5tdO0ZlT+ihR2pW0aK7+nphgYcxYxK5TYDs0y95M/M8LM5tcRxMm08xSSRaLkowjq9DsddRnmhLLx45gopm7FZEh1phYF1DJhRAsv7xKWrVqcFkN7i4q9VoeRxFO4BTOIYArqMMtNKAJBB7gGV7hzVPei/fufSxaC14+cwx/4H3+AIXWjww= m q [k]

AAAB63icbVBNS8NAEJ3Ur1q/qh69LBbBU0mKqMeCF48V7AekoWy2m3bp7ibsboQS+he8eFDEq3/Im//GTZqDtj4YeLw3w8y8MOFMG9f9diobm1vbO9Xd2t7+weFR/fikp+NUEdolMY/VIMSaciZp1zDD6SBRFIuQ0344u8v9/hNVmsXy0cwTGgg8kSxiBJtcEv4sGNUbbtMtgNaJV5IGlOiM6l/DcUxSQaUhHGvte25iggwrwwini9ow1TTBZIYn1LdUYkF1kBW3LtCFVcYoipUtaVCh/p7IsNB6LkLbKbCZ6lUvF//z/NREt0HGZJIaKslyUZRyZGKUP47GTFFi+NwSTBSztyIyxQoTY+Op2RC81ZfXSa/V9K6b3sNVo90q46jCGZzDJXhwA224hw50gcAUnuEV3hzhvDjvzseyteKUM6fwB87nD/z5jig= m[k]^ <latexit^ sha1_base64="42gXfy6wP0BckHyvAUkhX/w8mgw=">AAAB63icbVBNS8NAEJ3Ur1q/qh69LBbBU0mKqMeCF48V7AekoWw2m3bp7ibsboQS+he8eFDEq3/Im//GTZuDtj4YeLw3w8y8MOVMG9f9diobm1vbO9Xd2t7+weFR/fikp5NMEdolCU/UIMSaciZp1zDD6SBVFIuQ0344vSv8/hNVmiXy0cxSGgg8lixmBJtCivxpMKo33Ka7AFonXkkaUKIzqn8No4RkgkpDONba99zUBDlWhhFO57VhpmmKyRSPqW+pxILqIF/cOkcXVolQnChb0qCF+nsix0LrmQhtp8Bmole9QvzP8zMT3wY5k2lmqCTLRXHGkUlQ8TiKmKLE8JklmChmb0VkghUmxsZTsyF4qy+vk16r6V03vYerRrtVxlGFMziHS/DgBtpwDx3oAoEJPMMrvDnCeXHenY9la8UpZ07hD5zPH+86jh8= d[k] AAAB7XicbVBNS8NAEJ3Ur1q/qh69LBbBU0mKqMeCF48V7AekoWw2m3btZjfuboQS+h+8eFDEq//Hm//GbZuDtj4YeLw3w8y8MOVMG9f9dkpr6xubW+Xtys7u3v5B9fCoo2WmCG0TyaXqhVhTzgRtG2Y47aWK4iTktBuOb2Z+94kqzaS4N5OUBgkeChYzgo2VOtHg0R8Hg2rNrbtzoFXiFaQGBVqD6lc/kiRLqDCEY619z01NkGNlGOF0WulnmqaYjPGQ+pYKnFAd5PNrp+jMKhGKpbIlDJqrvydynGg9SULbmWAz0sveTPzP8zMTXwc5E2lmqCCLRXHGkZFo9jqKmKLE8IklmChmb0VkhBUmxgZUsSF4yy+vkk6j7l3WvbuLWrNRxFGGEziFc/DgCppwCy1oA4EHeIZXeHOk8+K8Ox+L1pJTzBzDHzifP3gFjwM= d q [k]

AAAB73icbVBNSwMxEJ2tX7V+VT16CRbBi2W3FPVY8OKxgv2A7VKyabYNTbLbJCuUpX/CiwdFvPp3vPlvTNs9aOuDgcd7M8zMCxPOtHHdb6ewsbm1vVPcLe3tHxwelY9P2jpOFaEtEvNYdUOsKWeStgwznHYTRbEIOe2E47u533miSrNYPpppQgOBh5JFjGBjpa7oT/zxlRf0yxW36i6A1omXkwrkaPbLX71BTFJBpSEca+17bmKCDCvDCKezUi/VNMFkjIfUt1RiQXWQLe6doQurDFAUK1vSoIX6eyLDQuupCG2nwGakV725+J/npya6DTImk9RQSZaLopQjE6P582jAFCWGTy3BRDF7KyIjrDAxNqKSDcFbfXmdtGtV77rqPdQrjVoeRxHO4BwuwYMbaMA9NKEFBDg8wyu8ORPnxXl3PpatBSefOYU/cD5/AGLMj34= m q [k^ ^ 1]

We can make up for the simple predictor by increasing the sampling rate. This increases the similarity between adjacent samples, and reduces the number of bits we need for dq[k].