Access IC Lab
Download
Report
Transcript Access IC Lab
Graduate Institute of Electronics Engineering, NTU
Adaptive Differential Pulse Code
Modulation
Instructor: Chia-Tsun Wu.
11/18/2004
ACCESS IC LAB
ACCESS IC LAB
Graduate Institute of Electronics Engineering, NTU
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
P3
ACCESS IC LAB
Graduate Institute of Electronics Engineering, NTU
ADPCM encoding algorithm
P4
ACCESS IC LAB
Graduate Institute of Electronics Engineering, NTU
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) = (10002 * B3) + (1002 * B2) + (102 * B1) + B0
P5
ACCESS IC LAB
Graduate Institute of Electronics Engineering, NTU
ADPCM decoding algorithm
P6
ACCESS IC LAB
Graduate Institute of Electronics Engineering, NTU
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
P8
ACCESS IC LAB
Graduate Institute of Electronics Engineering, NTU
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
Please refer to reference [2]
P10
ACCESS IC LAB
Graduate Institute of Electronics Engineering, NTU
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
Source
ADPCM encode
P12
ACCESS IC LAB
Graduate Institute of Electronics Engineering, NTU
Distortions cont’
P13
ACCESS IC LAB
Graduate Institute of Electronics Engineering, NTU
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
http://resource.intel.com/telecom/support/app
notes/adpcm.pdf
http://strawberry.resnet.mtu.edu/pub/Microchi
p/Dsk1/10/appnote/category/pic16/
P15