The objective of this project is to demonstrate some of the principles of a digital communication system. Implement at least two digital compression techniques from Chapter 6 using audio files as input. (Book- Modern Digital & Analog Communication systems B.P. Lathi Zhi Ding -4th edition. 3rd edition has same concept. this book can be easily found online for free)(Ch-6 topics in book, PCM, Digital Multiplexing, DPCM, ADPCM, Delta Modulation etc)You should play with various parameters to experimentally determine which compression scheme gives you the maximum compression at acceptable quality level. Before you start please make sure you add comments as much as possible and explain.
1. Read the sample PCM audio file into MATLAB.
1. Sample audio files in PCM can be found at:
(in this website use test 2 or test 3 files. when you click those test- 2 or 3 link it will open new window and play animal sound files for 10 second each. Test 2 is Mono file- 48000 Hz & Test 3 is Stereo file- 11025HZ)
2. When you download them they will be stored as a .wav file.
3. Plot the histogram of the audio. Comment on the shape of the histogram. Is CLT in play here?
4. Instruction for reading wave into matlab is available online on matlab website
Task 2 Apply PCM with 16 quantization levels. In other words, change the number of levels from whatever it is in the sample audio file to 4 bits/pixel.
1. Plot the histogram of the quantized signal
2. Calculate the SNR at the output of the quantizer.
3. Listen to the original audio and newly quantized audio. Can you tell any difference?
Consider trying other quantization levels to see if you can derive any general conclusions.
4. Explain your results in the report.
Task 3: Apply DPCM (including both transmitter and receiver side) to the original file from Task 1, with a 4bit quantizer for the difference signal and a 1st order linear predictor. Explain how you selected the coefficients a and b of the predictor. Include the derivation of a and b in the report. Assuming the transmission between transmitter and receiver is ideal (i.e. no channel noise is added).
1. What is the transmitted signal? Plot the histogram of the transmitted signal with correct label.
2. Calculate the SNR of the DPCM system.
3. Calculate the SNR improvement/degradation over PCM.
4. Replace the 1st order predictor with a 3rd order predictor (refer to class notes). Repeat step 3.1 3.4 above.
5. Compare and then explain the results of the two predictors in the report.
Task 4. Based on the structure of the DPCM system (using the 1st order predictor) in part 3, add a bit-encoder on the transmitter side and bit-decoder on the receiver side. Now the transmitted signal s(n), n = [ 0 ,1, 2, 3, …] becomes a bit pattern sequence of 1’s and 0’s. Use on off line code and raised cosine for pulses.
4.1. Plot the first 20 pulses of s(n)
4.2 As a bonus, repeat with bipolar code. (You may have to write your own Matlab code and integrate with Matlab)
5. (You can do this part at the end). Now, using BFSK (Binary Frequency Shift Keying) to modulate the pulses. Add the BFSK modulator at the transmitter side and demodulator at the receiver side. The modulated signal is summed with additive white Gaussian channel noise during the transmission. For BFSK modulation, let 1MHz be the frequency of ‘0’ in s(n) and the frequency of ‘1’ is selected according to the minimum spacing criteria ( df = 1 / (2 * pi * Tb ). The data rate is 1Kbps. Test for the case of channel SNR = -20dB, -10dB, -0dB, 5dB, 10dB, 20dB and 30dB.
5.1 Plot the first 20 pulses of the BFSK signal with noise for each SNR case.
5.2 Determine the bit errors for each case. Plot the number of bit errors vs channel SNR. Explain your result.
5.3 Reconstruct the audio on the receiver side for each SNR case. Show and explain your result.
Repeat all of these steps for a video sequence of your choice. No more than 10 secs of video
should be used. You can try inter-frame compression as well.