ebook img

BSTJ 60: 7. September 1981: Digital Signal Processor: Adaptive Differential Pulse-Code-Modulation Coding. (Boddie, J.R.; Johnston, J.D.; McGonegal, C.A.; Upton, J.W.; Berkley, D.A.; Crochiere, R.E.; Flanagan, J.L.) PDF

7.1 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview BSTJ 60: 7. September 1981: Digital Signal Processor: Adaptive Differential Pulse-Code-Modulation Coding. (Boddie, J.R.; Johnston, J.D.; McGonegal, C.A.; Upton, J.W.; Berkley, D.A.; Crochiere, R.E.; Flanagan, J.L.)

Cup han Tghne Tgp Caan Digital Signal Processor: Adaptive Differential Pulse-Code-Modulation Coding By J. RL BODDIE, J.D. JOHNSTON, C. A. McGONEGAL, J. W. UPTON, D. A. BERKLEY, RE. GROCHIERE, and J. L. FLANAGAN (Morusenpt rected June 26, 1960) An adaptive differant! pulse code modulation technique for en coding and decoding hax Born implemented wsing the Bell Labora Lorian digital nigaal proceamur integrated vireut. The encoderde- ‘oder operates in realtime and ean accommodate ar 4 bit (8 Rll) ‘enconting, Tn this poner, we discuss details of the tnsplementaton, the asic algorithm, and the features utilized in the digital signal proc |. wrRopUCTION Adaptive differential puse-code-modiuletion (aurea) encoding hos ‘been shown tobe a simple and ffecive method for digitally encoding speech at bitrates inthe runge of approximately 24 to 48 kbye!* Ata rile of 24 Rh/'s anrw can provide a god quality reproduction of Speech that i acceptable for applications auch as computer contelled digital voice response systema" Ae a rate of 42 Kya, it can provide essentially 4 telephone handwidch “tranaparent. quality” (a quality ‘that is indistinguishable from the orignal uncoded source) fora single tandem encoding, Adplive differenti) plse-oode modulation Was ‘been studied for nse in sme types of Iransmion systems and for message storage anv retrieval systema in which a reduction by a factor fat two in bitrate aver tha of conventional 6 kh law compandesd rt in desired ‘Various forms of hardware have been sugxested for che implemen: lation of aprent enders. Some designs are hased primarily on analog Ihardoare! where parameters are pairwise tuned between transmit ters and recrivers ‘Thi eaulls in problems with repeatbilty and Stability in Une analog design, Bates’ and Adelman, Ching, nnd Goss! Subvetqurily presented ewo diferent methods of designing alaligital Aappes voders. The Bates approach uses a'r. logic design with a HOM based look-up lable forthe edaptivescep-size and an up/down counting seliee mith digital adder nel subcraters to avoid the use of «digi taultplier, The hardhwaee requtes a twelee-bie linear rea input and bans total “package count” of appresimately 80 standard TTL. logic packages, It was eonsinutes] on own wie-wrapped Augat cards (one fneader and one decer per hoard) The harwave by Adelman eta trae 4 ROM based design that accepted a standard 4k law com panded ent signal ‘Recently, an 1s) digital signal processor (ost) hus been developed bby Hell Laboratories "The DSP sea pregrammable proceso? capable ff parforming the entre aDpcs gorithm for sultple channels in & Single tar device. The abiity of the processor Lo conver! between ‘ouveutional 265 oompanded ew and to's complemenrbinsry code formats alloms the auPCM lgurith t vee ether formal. The conti tration of che apecat algorithm chal implemented vn the BSP i ‘decribed in Section TI. Seeron THT diarsien details of how the algo fichm ie configured "0 ue DSP Iealnees. Sections TW and ¥ describe the hardware configuncion and rare! performance, reepertively. 1 THE ADPEM ALGORITHM 2.1 Overat coniguaton Figure | ilusteates the basic configuration of the DeP implementa tom of uve, The input analog signal (0) ie mpd and a/ converted to en Sit law companded Pest Coral L@ prevluce the ‘sampled dasa signal sin), where mis the discrete time index, These ‘perntions are done externally ty we nee, The s(n) is omer in the DsP from law Fora co 8 20 bic Linear Pea Fore for incr proceasing. ‘The abrow enessling is performed enti sithin the wransmiter use, The output ion 3 chit endewinl, Za, whieh ean be obtained ‘through the normal output chanel of the Hs. Ta the receiver, a A] | a] Spee | Le 1543 THE BELL SYSTEM TECHNICAL JOURNAL, SEPTEMBER 196) second nar is use to decode in el tw an bit yl fort This Signal is then converted to an analog signal with an exinml D/A. converter. "The elock and framing signale are carried between Lan miter and receiver on separate Lines. The transmission protocol fora fiven application depends on the cata channel in which tv aster ie lrmplemented 2.2 Block aagram of ADPCM Figure 2 shows the block diagram of the abvem algorithm that as implemented on the ASP. The rameter fe shown i Fi. 2a and the reir ison in ig 2, We asserne hat s(n) in Fig. 2 in 920i linear tev format, beeaase of direet 20-bit inpul to The Dar oF beens of a Hci le Ln 20-ilinenr Peat eonversion thal bs been performed within che sy. "Tae aye elgorizhm can be persitioned inca chree hari pars see Fig. 21: the adaptive uss quancizr, the diferencial predictor loop, and the adaptive guin (tep-size) contol for che quantizer. We discuss these operations in the sbove order since cis Is the order in which ‘hey mre compe, 2.3 Adaptive quanizer A predicted value, (a) frst subtencte from the input signal st) to form the aifenenoe signal ein) = (n) ~ pin a ‘The value of pn) ie obcained from the predictor and ie based on computations performed atthe previous semple time, ~ 1 ‘The differenoe signal e(n) is then quantized by the adaptive quan Lue to proto the abpeM codeword Zn). This adaptive quantization Is achieved ly fr sealing et to the range af «3-4 Fe le ‘Ste quantize? (see Fig. 2a. The slo! signal i denoted 23 en) @ whoro Vin} is an adaptive seale factor that is also determined from Ant alle atthe previous sine Game a = 1 The eambination of eallng by Pn) fallow hy the fae lepine quantize in vn oa quantizer with an adaptively varying ctep-sie (which e inversely proportional co Pin Figure shows the characiorstis fora bit (love! fixed step-size quantizer, ‘Tho input signal s(n} Ceonsisting of an ineyer plus 8 fraction part) ie converced to one of elgbe quancizeion levels in the range ~7/2 to +7/2 corresponding respectively to integer coleworts Toni inthe range —co+3."The output quantized signal ia denoted s su) and is telaced co the code word Tin) by the relation 1550. THE RELL SYSTEN TECHNICAL JOURNAL, SEPTENBER 108 A similar quannercharseterinic ia urd ae he 4c (18 level) desig The unsealed, decoded diferonce signal can be obtained from é."] by rescaling ie by Aim), whore Ai) isinveroclyeclaced to Vin) and is directly proportional fo the “stops” of the equivalent adepcive ‘auanczer Thus, 40) = atm -Asind « ig 3 Quanner character for he .8¢ rw quan ‘ADPCM CODING 1661 is the adaptively quantized repreventaion of thesdiferenee signal ef). "This completes the adaprive quantization par ofthe algorithm. 24 Fiatorder predictor ‘The sum of pln) and éin) also forms the edaptvely quantized representation ofthe input signal (eee Fig. 22) 40a) = pin) + éimy o However, the prodicter value p(n + {) and the quantizer cca factors Bin + 1) and Ain + 1) rool tw The updated for the next sample ime nel "The new predictor value i cnnpaced at 8 tunes din}: Le PIny Y= Bain, where fis the predictor “leak” factor! A value of 2 Used for speech encoding. The value of pn + 1) is then stored for vse st the next sample cme + 2 25 Aaaptnve stopiz0 conto! ‘The computation ofthe naw value of fn + 1) and Vin + 1) fo che ‘next tcwe supe mF 1 i none involved. The algorithm used here is ‘based on the robust step-ize adaptation approseh. The details and sudvantages of this form of che algorithm are dioeuated in considerable etal in Ref, (0 W, The method i a8 follows The sep-size referred ‘to above is th elective pacing inthe quantizer levela observed inthe rinecnled quantized signal a(n). Since thie epacing is proportional to ‘im, we wll refer Lo Ain} in the following disussion as the step-ine Tithe rout adaptation algriton, che neve step-size Siw + 1) is chosen at Bon +1) = caine, © "That init inthe old stepsize A(n) mised to tho power 7 (0 < y= 1, ypieally y = 058) and sealed by a factor MC) which is afunetion of the code word In). If che code word is one of the uppor mageitude leeds ofthe quantizer [eg fn) = 4, 8,9, oF 3in Fig. 3}, a value of 1M.) greater than one is used to increase the stepsize of the quantizer for the nextaample tim K'the codeword ie one ofthe lower magnitde levels (eg, Ln) = ~2,—1, 0, Tit Fig. 3], w value of M(-) Toss than one fs used to reduee the quantizer stepsie for the next sample time. Tn this way, the algorithm continually attempts to adapt the step-size szuch that the dynamic range of the adaptive quantizer is matched (o ‘he range of ce signal etn ‘A more direct approach for implementing chia algorithm is obtainod by expressing eg (7) in logarithmic form. Let 1852 THE BELL SYSTEM TECHNICAL JOURNAL, SEPTEMBER 1981 in) = logt din, ® and rmiTin)) = logit), ° hero the base of Uke logarithm is determined by the choice of Parameters in the coder, as discussed ler. Then, eq, 7) becomes din +1) = y-d00) + mitinn, 10) and it has the form af fir-order difference equation, This isthe ‘equation that is implemented by the upper right-hand part of the block diagram in Fig 23 ‘The driving finetion m{Fln)) is » fetion ofthe code word Jin), and i is determined in the adaptation logic lgortham which perforin the funetion Sifu 4 05] = 25, forte quota nd Se Reape or aa forthe -bit quantizer “The ontput ofthe step-sive eduptation lo i the signal dn), which a, (8) shows as the logarichm of the desired siep-size "Thus to obtain Ain} (and Pn}) we use implement the reac en} = expidn (29) and 1 ve in) expl—dtnh, 2) where, epsin, the hate ofthe logarithms and exponentials in eg. (8 to 112) are determined by the ehoice of parameters i the coder, a discusced ler: "Tho exponentials in eqs. (124) and (12b) are computed by using lookup tables that are stored in the program ox as idiated in Pig 24. The integer value of din) i caken Ant vunatesined to the Tange 2 [dn] < 32 for a lookup table siz of 66, Table offer vals are then added to this value to produce Une appropriate wow allress locations, The tables ere set up 80 chat value of dim) ~ 0 points to tho conte of oth tables (9132) snl AII2D, Note tht the bracketed values V[.] and 8 [-J in the table of Fig, 2a zefer to the contents of Table loeations addressed by [:] and not uo sample times (hich are "alered oly Une parenthesis notation Oo} ane Ain) "The above algorithm nes Ot diferent steps valucs oF S(t) and ADEM CODNG 1559 Vin) The table values are chosen to span the desired dynamic range of the inpur signal, f signals of larger or smaller amplitude than this fre encountered, the slap-size snrates at the upper or lower table ‘ales, respectively: ‘The table addiecs loeations are stored for use st the next sample ima + 120 accem values re and Vin + 1) as they are newed, "This completes the operation af the ADPCM encode, 26 Parameter selection for he stop-sie tables ‘The paramecers of the step-ize table wore chosen such that the 1atio of the maxitmim to init mep-sizes in the lable 258, ke, yey 1] — 258 — 2 and sven ‘This gives a step-siae adaptation range of 48 dB (# bite) that is appropriate for speech roaling, Since there are 88 logaeithmically Spaced stpvsne values in wach cable this vorrspords to a 0.7-€B8 ‘resolution Le step-izes increase bya rtio of L080 in the cable, AT alt -c.0902" Sal = SIA -.09020-*" "The maximum stepsize ia chosen thot che maximum range of fa) tapprunitalcly 17 bits) azalee (a Che waximam quantizer range {90rd its), This prevent overloading un Uve high end ofthe dynamic ange, Thus fora bit quantizer 00 ow = A068 258 2 0 fam = 901) = 2% ora bit quanciaer, values of af-] sould he mereasee by two ard valius of F[-] should be deermased by txo for best dynamic range performance "The manner in which thes table values are sealed! and stored in the ‘gr will be explained more Tully i Section 3 12.7 Decoder or ADPCM Figure 2b showsa simile block iggem forthe abpem decoder. The ingnt ence word Jtn) is converted tothe decoded difference signal 1) by adding 0 (nce Pie 8) and eesling the resll by Bin) The decoded fnnput signal din} f Bie oitaned by accumulating valle én) inthe predictor loop in the sane inenner ae in the encoder. ‘The new step 1594 THE BELL SYSTEM TECHNICAL JOURNAL, SEPTEMBER 1981 size ie then computed ian exactly duplicaLe manner to that in the encoder. Thus, the aurea decoder duplicales a subset of Une encorler bel ingram. 1M, PROGRAMMING TECHNIQUES UTILIZED IN THE OSP FOR THE ‘ADPCM ALGORITHM ‘The apron algorithm, as it is configured above, is designed ao that it can be convenienely implamented am the nar. We have already ‘alluded to ways in which the nse a uned in plement the algorithm. In this section, we poine out some additional aspects of the program snd discuss how same of the unique feature of the DSP are Used, ‘Diacussione in thie section wee the 4-bic lgorithon as an example 2.1 Memory uteaton ‘The eneuder program and the stepsie tables for Af-] and V[-] are stared in wont oevupying approximately 170 words of memory. Five Bax lications ave wud for storing the flowing values 20a} OS 2m), pla en) nel the newer version of en}, Aceas to che stp sie Lables ina by setting Une RX register in Ue Dak to the eonter tides of the desized rable. The cable adres for the appropriate step-size is then obtained by secting the x register co the integer Value [nt] iaized tothe venge ~22 to 31) and then incrementing RX by ‘the value x using the rsk command. The Wx regieer then contains the os address for the eppropriece stepsize VJ. ‘The ase instructions ‘that implemen this technique are az follows: “nate pine to i fled” “aot rx pointer to C122) “sat to int (in) pp=nik's “pointer co eppropriato M-}" [Nove sha dhs wchniqi only works for (le wines up wo 956, since the sx register is limited to & bis, 3.2 Quantization ‘The commutation ofthe quantizer input, ein, is accomplished in a seightloreard manner on the nar by wsing 9 subtraction and a rmulipliation. The conversion from etn! to & hit integer Tin) (according tothe quantizer characteristic in Fig 3) i dane by truncat- ing the fretional part of etn) “Assuming e( has boon corapuced and stored inthe wvosister and 1x is pointing tothe appropriate sap size, the following Ost instruc tions compute F'n) ADPCM CODING 1855 a=p ponies spite ei) = Ben ea pHa pani mmpute gn) + 0" pea, truncate to fren Foy ‘The truncation s echieved by using the cturaulatar control statement a =p & 4, whieh performa sbit-hy-bit AND operation betersen the 7 tnd a repsters in the PsP. in) ie siored in the & register and Lie (inary) number HLL «++ TELO ++» is staced in he P segs by Oh inatruntion p = —TI"e fe = 2". The operation seems onthe fretines Dart of (etn) + 113) and Ienwee the fnleger par until Ts esl integer Pl) ithe vane tle range “R= Pn) 27 {foe-it quantization} ta form the desited codewnrd f(a). This ie dome ‘sing the sonlional a operation a shown in dhe allowing inmiruee tions po 8s anpha | paite a0) doa th “tein <a 8 acpta uapta if n> OF dow (i if oom > 9) Pood = a=pta u=pta eit Tin” "This yields the 4-bit value Fin) in tho accumulator 3.3 Internat seating of data At the output of the quantiver a value of 5 ig alded 10 Ten) (xe Fig. 2 to produoe én), which is then mtipled hy Ai. Ta seve pls this, dt) anurt be tranalerned from the roger Uo the. rglster and the inp ofthe multiplier. Since chi transfer fom the A rw register truncate the feactional pare af the sve in the & gir, ib Fst sealed hy far of 2 laid Ue Lean af Te fractional part. Thi arate factor of tro in eatried through the romp Calon af St) fn She Block dagratn of Pig. 2 3.4 Scaling of stapsize table volves ‘The values scored in the step-ita tables in ROM. axe more conven tently handled if they are acaled to be ess that? in munya. The intereul sr arithmeticiseoch that I6-bitvaluee fom Rost areassumed to have 1 fractional itn. Thier appropriate forthe inverse ecp-sze tabla YL-Jin which aumbere(e(n) ina 17-bit range are wale town fa dbit range ela). This able takes on values: 1555 THE BELL SYSIEM TECHNICAL JOURNAL, SEPTEMBER 1951

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.