Digital Signal Processing Reference
In-Depth Information
{ ulawcode ¼ (tmp&0x001f)>>1;
ulawcode ¼ ulawcode j 0 x20; }
if( (tmp&0x07c0) ¼¼ 0x0040) // Segment 3
{ ulawcode ¼ (tmp&0x003f)>>2;
ulawcode ¼ ulawcode j 0x30; }
if( (tmp&0x0780) ¼¼ 0x0080) // Segment 4
{ ulawcode ¼ (tmp&0x007f)>>3;
ulawcode
¼
ulawcode
j
0x40;}
if( (tmp&0x0700)
¼¼
0x0100) // Segment 5
{ ulawcode
¼
(tmp&0x00ff)>>4;
ulawcode
¼
ulawcode
j
0x50;}
if( (tmp&0x0600)
¼¼
0x0200) // Segment 6
{ ulawcode
(tmp&0x01ff)>>5;
ulawcode ¼ ulawcode j 0x60; }
if( (tmp&0x0400) ¼¼ 0x0400) // Segment 7
{ ulawcode ¼ (tmp&0x03ff)>>6;
ulawcode ¼ ulawcode
¼
j
0x70; }
if (lc> ¼ 0)
{
ulawcode ¼ ulawcode j 0x80;
}
/* u-law code (8 bit compressed PCM code) for transmission and storage */
/* Decoder: */
tmp ¼ ulawcode&0x7f;
tmp ¼ (tmp>>4);
if ( tmp ¼¼ 0x0) // Segment 0
{ dec ¼ ulawcode&0xf; }
if ( tmp ¼¼ 0x1) // Segment 1
{ dec ¼ ulawcode&0xf j 0x10; }
if ( tmp ¼¼ 0x2) // Segment 2
{ dec ¼ ((ulawcode&0xf)<<1)
j
0x20;
dec
¼
dec
j
0x01; }
if ( tmp
¼¼
0x3) // Segment 3
{ dec
¼
((ulawcode&0xf)<<2)
j
0x40;
dec
¼
dec
j
0 x02; }
if ( tmp
¼¼
0x4) // Segment 4
{ dec
¼
((ulawcode&0xf)<<3)
j
0x80;
dec ¼ dec j 0 x04; }
if ( tmp ¼¼ 0x5) // Segment 5
{ dec ¼ ((ulawcode&0xf)<<4)
j
0x0100;
dec ¼ dec j 0 x08; }
if ( tmp ¼¼ 0x6) // Segment 6
{ dec ¼ ((ulawcode&0xf)<<5)
j
0x0200;
dec ¼ dec j 0x10; }
if ( tmp ¼¼ 0x7) // Segment 7
{ dec ¼ ((ulawcode&0xf)<<6)
j
0x0400;
dec ¼ dec j 0x20; }
tmp ¼ ulawcode & 0x80;
 
 
 
 
 
 
 
 
 
 
Search WWH ::




Custom Search