Graduate Institute of Electronics Engineering, NTU Adaptive Differential Pulse Code Adaptive Differential Pulse Code Modulation Modulation Instructor: Chia-Tsun Wu. 11/18/2004 ACCESS IC LAB
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Outline Outline File format for voice data files ADPCM encoding algorithm ADPCM decoding algorithm Step size determination Initial and reset conditions ADPCM CODEC C example code LAB P2
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU File format for voice data files File format for voice data files P3
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU ADPCM encoding algorithm ADPCM encoding algorithm P4
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU ADPCM encoding algorithm ADPCM encoding algorithm let B3 = B2 = B1 = B0 = 0 if (d(n) < 0) then B3 = 1 d(n) = ABS(d(n)) if (d(n) >= ss(n)) then B2 = 1 and d(n) = d(n) - ss(n) if (d(n) >= ss(n) / 2) then B1 = 1 and d(n) = d(n) - ss(n) / 2 if (d(n) >= ss(n) / 4) then B0 = 1 L(n) = (1000 2 * B3) + (100 2 * B2) + (10 2 * B1) + B0 P5
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU ADPCM decoding algorithm ADPCM decoding algorithm P6
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU ADPCM decoding algorithm ADPCM decoding algorithm d(n) = (ss(n)*B2) + (ss(n)/2*B1) + (ss(n)/4*BO) + (ss(n)/8) if (B3 = 1) then d(n) = d(n) * (-1) X(n) = X(n-1) + d(n) P7
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Step size determination Step size determination P8
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Initial and reset conditions Initial and reset conditions Step size ss(n) = 16 Estimated waveform value X = 0 (half scale) No DC offset input P9
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU ADPCM CODEC C example code ADPCM CODEC C example code Please refer to reference [2] P10
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Two examples Two examples Example 1: Speech: 8 bits resolutions, 22.5K sample rate ADPCM encode to 2 bits per sample Example 2: Music: 8 bits resolutions, 22.5K sample rate ADPCM encode to 2 bits per sample P11
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Distortions Distortions Source ADPCM encode P12
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Distortions cont Distortions cont P13
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU LAB LAB Lab 1: Write a 16 to 4 or 12 to 4 ADPCM CODEC Sample rate: 8KHz for speech Resolutions: 16 or 12 bits Encode to 4 bits Lab 2: Write a 16 to 4 or 12 to 4 ADPCM CODEC Sample rate: 44.1K for music Resolutions: 16 bits Encode to 4 bits Lab 3: Write a 8 to 2 ADPCM CODEC Sample rate: 8KHz for speech Resolutions: 8 bits Encode to 2 bits Bonus: try to explain and optimal your algorithm to reduce distortions or noise. (need more analysis) P14
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Reference Reference http://resource.intel.com/telecom/support/app notes/ adpcm .pdf http://strawberry.resnet.mtu.edu/pub/Microchi p/Dsk1/10/appnote/category/pic16/ P15
Recommend
More recommend