DIGITAL COMMUNICATIONS – Midterm exam Spring 2009

Before the start of exam On Web address: http://my.fit.edu/~kostanic/Digital communication you will find *.mat files for ten speech signal waveforms. Please, download the file with the number equal to the last digit of your student number. The speech signals are sampled with the sampling frequency of 8kHz and quantized with a very large number of levels. You can hear them by using Matlab’s command: sound. To learn more about sound command, at Matlab prompt type: help sound.

Exam A simple system for processing of the speech signal is presented in Fig. 1.

quantization Statistical compressed Sampling mu-compander encoded q-levels encoding voice

Provided in *.mat file

Figure 1. Example of a speech signal processing system

Part 1: Companding. Write Matlab code that performs following tasks. 1. Reads the *.mat file with the speech signal 2. Normalizes the speech waveform so that its magnitude is always between –1 and 1 3. Compresses the waveform using the mu-compression with mu = 255 4. Generates following plots a. Time domain plot of the original signal b. Normalized histogram of amplitude values for original signal c. Time domain plot of the companded signal d. Normalized histogram of amplitude values for companded signal

Part 2: Qualtization. Write Matlab code that performs following tasks 1. Quantizes companded waveform into q = 16 and q = 32 different levels on interval (-1,1) 2. Calculates Signal to Quantization Noise Ratio (SQNR) for q = 16 and q = 32 3. Generates following plots a. Plot of companded and quantized waveform for q = 16 b. Normalized histogram of amplitude values for companded quantized signal for q = 16. For histogram generation, use 16 bins. c. Plot of companded and quantized waveform for q = 32 d. Normalized histogram of amplitude values for companded quantized signal for q = 32. For histogram generation, use 32 bins.

Part 3. Statistical encoding 1. Calculate the entropy of the source (for both q = 16 and q = 32) – you may use Matlab 2. Develop Huffman encoder for q = 16 – you may use Matlab 3. Determine the average word length and redundancy for the encoder 4. Determine the total number of bits required to encode the waveform 5. Compare the number of bits obtained after Huffman encoder to the number of bits needed for standard PCM with a given number of levels (q = 16). Calculate the compression ratio which is defined as

Number of bits for standard PCM - Number of bits after Huffman encoding CR  100 Number of bits for standard PCM

Part 4: Report Generate a brief report summarizing the work that you have done for this exam.

1 2