The purpose of this project is to gain an understanding of Pulse-Code Modulation (PCM) compression (linear-to-logarithmic) and PCM expansion (logarithmic-to-linear). Write the following three MATLAB functions for this project.
1. a μ-law compressor function to implement
y = ln( 1 + μ|s|)/(ln(1 + μ)) sgn(s); |s| ≤ 1 |y| ≤ 1,
that accepts a zero-mean normalized (|s| ≤ 1) signal and produces a compressed zero-mean signal with p as a free parameter that can be specified.
2. a quantifier function that accepts a zero-mean input and produces an integer output after b-bit quantization that can be specified, and
3. a μ-law expander to implement
|s| = (1 + μ)|y| -1/μ; |y| ≤ 1, |s| ≤ 1 (2)
that accepts an integer input and produces a zero-mean output for a specified p parameter.
For simulation purposes generate a large number of samples (10,000 or more) of the following sequences;
(a) a saw tooth sequence,
(b) an exponential pulse train sequence,
(c) a sinusoidal sequence, and
(d) a random sequence with small variance. Care must be taken to generate non-periodic se¬quences by choosing their normalized frequencies as irrational numbers (i.e., sample values should not repeat). For example, a sinusoidal sequence can be generated using s(n) = 0.5 sin(n/33), 0 ≤ n ≤ 10,0000 (3)
From our discussions in Chapter 2 this sequence is non-periodic, yet it has a period envelope. Other sequences can also be generated in a similar fashion. Process these signals through the above μ-law compressor, quantizer, and expander functions as show in Figure 1, and compute the signal-to-quantization noise ratio (SQNR) in dB as
SQNR = 10 log10 [Σn=11s2(n)]/Σn=1N (s(n) - sq(n))2
For different b-bit quantizers, systematically determine the value of μ, that maximizes the SQNR. Also plot the input and output waveforms and comment on the results.
![641_Block diagram of a Pulse-Code Modulation System.jpg](https://secure.tutorsglobe.com/CMSImages/641_Block%20diagram%20of%20a%20Pulse-Code%20Modulation%20System.jpg)
Figure 1: Block diagram of a Pulse-Code Modulation System.
References
[1] V. K. Ingle and J. G. Proakis, Digital Signal Processing Using MATLAB, Brooks/Cole Publishing Company, Pacific Grove, 2000.
{2] B. P. Lathi, Modern Digital and Analog Communication Systems, Oxforrd University Press, New York, 1998.
[3] J. G. Proakis and D. G. Manolakis, Digital Signal Processing: Principles, Algorithms, and Appli-cations, Fourthe Edition, Pearson Prentice Hall, New Jersey, 2007.