Koding

Det finnes flere teknikker for å diskretisere analoge signaler. Vi skal her først ta for oss metoder som benytter absolutt kvantisering før vi tar for oss differensielle systemer. Ved absolutt kvantisering har systemene noen fundamentale fellestrekk hva gjelder kodingen, men den relative effektiviteten avviker sterkt m.h.p. nøyaktighet, signal/støy-forhold og krav til båndbredde. Kodingen ses ofte referert til som pulsparametermodulasjon, se figur 1.

adc51

Fig. 1. Eksempler på pulsparametermodulasjon.

Amplitudekontinuerlige-tidsdiskrete signaler kjennetegnes ved at et amplitudekontinuerlig signal bare kan innta vilkårlige verdier ved diskrete tidspunkter. Pulsamplitudemodulasjon (Pulse Amplitude Modulation, PAM) gir f.eks. signaler av denne typen.

Amplitudediskrete-tidskontinuerlige signaler kjennetegnes ved at amplituden bare kan innta diskrete verdier, men der tidspunktene som disse endringene skjer ved, er vilkårlige. Eksempler på modulasjonsformer som gir slike signaler er pulsbreddemodulasjon (Pulse Width Modulation, PWM) og pulsposisjonmodulasjon (Pulse Position Modulation, PPM). Amplituden til et kontinuerlig signal er da gitt av h.h.v. bredden og posisjonen til en puls i forhold til en referanseposisjon.

Amplitudediskrete-tidsdiskrete signaler kjennetegnes ved at amplituden bare endrer seg ved bestemte tidspunkter og kun kan innta et begrenset antall verdier. Denne typen signaler kalles vanligvis for digitale. Eksempler på modulasjonsformer som gir slike signaler er pulsnummermodulasjon (Pulse Number Modulation, PNM) og pulskodemodulasjon (Pulse Code Modulation, PCM).

A/D-Omforming

Her vil vi holde oss til den mest utbredte formen for digital representasjon, som er pulskodemodulasjon.

Pulskodemodulasjon

Etter samplingen foretas kvantiseringen, og signalet kodes til et binært data-ord, bestående av et visst antall biter, før det ferdige pulskodemodulerte digitale signalet foreligger. Denne kvantiseringen og kodingen foretas i Analog/Digital (A/D) -omformeren.

adc11

Fig. 2. Blokkdiagram for A/D-omforming.

Da kvantiseringen og kodingen tar en viss tid, brukes som oftest et samplings- og holdekretsløp. Dette fastholder verdien av det analoge signalet fra et samplingstidspunkt til det neste. Dette trappetrinnsignalet tilføres Analog/Digital (A/D) -omformeren.

Ut fra A/D-omformeren representeres de binære tall 0 og 1 ved to diskrete spenningsintervall. Det endelige digitale signalet kalles for PCM-signal. Antall kvantiseringsnivåer er gitt ved antall biter i den binære koden, og det endelige digitale signalet foreligger som oftest på parallellform. Før dette parallelle datasignalet transmitteres videre, blir det ofte omdannet til et serielt datasignal. Fordelen med dette er at antall fysiske trådpar begrenses, som er viktig særlig når antall biter er høyt. Prisen som må betales, er selvfølgelig at datahastigheten blir høyere.

 

Krav til A/D-Omformeren

Konverteringstiden for A/D-omformeren må selvfølgelig være mindre enn samplingsintervallet Ts. På grunn av innsvingningstiden og transportforsinkelsen i omformeren, kan det være vanskelig å oppnå nøyaktig omforming fra punktprøve til punktprøve, og omformingen av en punktprøve kan influere på den neste. Dynamiske feil blir mer alvorlig ettersom kravet til konverteringshastigheten øker.

Integrallineariteten til A/D-omformeren er avgjørende for nøyaktigheten i konverteringen, se figur 3. Avviket mellom den reelle bittransisjon og den ideelle verdien må være innenfor ± 1/2 LSB (verdien tilsvarende det minst signifikante bit). Integral-linearitetsfeil skyldes selve konstruksjonen og lar seg ikke trimme bort.

adc53

Fig. 3. Integral-linearitet for A/D-omformer

Differensiell linearitetsfeil er et mål på avstanden mellom transisjonsspenningene, d.v.s. breddene på inngangsspenningsbåndene. Differensiell linearitet er illustrert i figur 4. Ideelt skulle alle båndene til en A/D-overføringsfunksjon være 1 LSB bred . En maksimal differensiell linearitetesfeil på ± ½ LSB betyr at inngangsspenningen kanskje må øke eller minke med så lite som ½ LSB eller så mye som 1½ LSB før en transisjon på utgangen skjer. Denne form for linearitetsfeil lar seg trimme bort. Konverteringshastigheten kan påvirke både integral- og differensiell linearitet.

adc54

Fig. 4. Differensiell linearitet for A/D-omformer

Feil i absolutt nøyaktighet, se figur 5, er forskjellen mellom nivået der en digital transisjon skal skje og hvor den virkelig skjer. A/D-omformeren bør ha en feil på mindre enn ± ½ LSB. Feil i forsterkningen eller støy kan påvirke denne spesifikasjonen. Drift med temperaturen kan også introdusere unøyaktigheter. A/D-omformere kan utvise både offset- og forsterkningsfeil som også gir avvik i kodebredde, definert som det området for inngangssignaler der en gitt kode på utgangen fås. Den ideelle kodebredde er 1 LSB. Feilene kan minimaliseres ved trimming.

adc55

Fig. 5. Absolutt nøyaktighet for A/D-omformer

 

D/A-Omforming

D/A-omformingen er vist blokkskjematisk i figur 6. Vi vil her holde oss til den mest brukte metoden, pulskodedemodulasjon.

adc12

Fig. 6. Pulskodedemodulasjon

Pulskodedemodulasjon

Ved pulskodedemodulasjon benyttes en Digital/Analog (D/A)-omformer for å omforme det digitale signalet til et analogt. Denne omformeren omsetter de enkelte dataord på parallell eller seriell form til en strøm eller spenning som er proporsjonal med data-ordets verdi. I det ideelle tilfellet er utgangssignalet fra D/A-omformeren et PAM-signal, men da det tar en viss tid fra omformingen av et data-ord begynner til utgangssignalet har innstilt seg til riktig verdi (settling time), etterfølges D/A-omformeren ofte av et samplings- og holdekretsløp. Dette avtaster D/A-omformerens utgangssignal når det er stabilt og fastholder denne verdien til neste data-ord er blitt omformet og stabilt. Det resulterende trappetrinnsformede signalet har et amplitudespektrum som gjør at de høyeste frekvensene i det opprinnelige spektrum for det analoge signalet er blitt dempet noe. Dette kan f.eks. kompenseres ved at den etterfølgende lavpassfiltrering modifiseres slik at filterets amplitudekarakteristikk gis et løft nær det analoge signalets grensefrekvens, eventuelt ved at en digital filtrering modifiserer omformerens overføringsfunksjon.

I alle tilfeller må signalet fra samplings- og holde krets-løpet etterfølges av et lavpassfilter. Dette går ofte under navnet anti-imaging filter. Dette skyldes at spekteret ut fra dette kretsløpet inneholder frekvenskomponenter rundt multipler av samplingsfrekvensen som kan blande seg med komponenter i etterfølgende ledd og transponeres (speiles) til nyttesignalets frekvensbånd.

Lavpassfiltreringen er omtrent like vanskelig å realisere som på kodingssiden. Ideelle filtre lar seg ikke realisere, men kombinasjonen av digitale og analoge filtre kan gi gode resultater, forutsatt at samplingsfrekvensen ikke blir for høy.

Digitale filtre og analoge filtre av lavere orden kan også ses benyttet ved en teknikk kjent som oversampling, dvs. avtasting med en frekvens som ligger på ett multippel av den opprinnelige samplingsfrekvens fs (f.eks. 4 ganger fs ). Denne teknikken ses også benyttet på kodingssiden i forbindelse med en teknikk kjent som desimering, som også har som fordel at kravene til lavpassfilteret kan reduseres.

I tillegg skal bare kort nevnes at teknikker som tilsvarer Dither på kodingssiden i økende grad også tas i bruk ved D/A-omformingen for å redusere distorsjonen ved lave signalnivåer. Her skal vi imidlertid begrense oss til D/A-omformere av såkalt multibit type, kravene til D/A-omformingen er i alle tilfelle de samme.

Krav til D/A-omformeren

D/A-omformeren bestemmer hvor nøyaktig det digitaliserte signalet konverteres til det analoge signalet. Imidlertid er det ingen kvantiseringsfeil som følge av D/A-omformingen i motsetning til A/D-omformingen. D/A-omformeren er underlagt mange av de samme krav og utviser flere av de samme begrensninger som A/D-omformeren. Den ideelle overføringsfunksjonen er bedre approksimert av D/A-omformere enn av A/D-omformere, se figur 7.

adc57

Fig. 7. Overføringsfunksjon for en ideell og ikke-monotonisk D/A-omformer.

D/A-omformeren må være monotonisk, d.v.s. en økning i den digitale inngangsverdi må føre til en økning i den analoge spenningsverdi, og vice versa. Et eksempel på en D/A-omformer som ikke er monotonisk, er vist i figur 7.

En D/A-omformer må også ha god integrallinearitet, og differensiallineariteten må være bedre enn ± ½ LSB, m.a.o. må utgangen forandres med bare et spenningstrinn når inngangskoden forandres med ett bit. Den må også ha god absolutt nøyaktighet, liten avviksspenning og liten innsvingningstid (settling time). Innsvingningstiden er den medgåtte tid fra en ny inngangskode fås til den analoge utgangsspenningen faller innenfor en spesifisert toleranse (som oftest verdien tilsvarende ± ½ LSB), se figur 8.

adc58

Fig. 8. Innsvingningsforløp for D/A-omformer

Nøyaktigheten til D/A-omformeren må være meget høy. Hvert bit må gi en relativ feil på mindre enn et halvt kvantiseringstrinn. For en 16 bit omformer med ± 10 V dynamisk område, betyr dette at avstanden mellom to nærliggende digitale verdier skal være 3 mV, mens den relative feilen maksimalt kan være 0,0015 %. Unøyaktigheter ved D/A-omformerens nullgjennomgang leder til 'cross-over' forvrengning. I tillegg kommer at den relative feilen øker ved lave signalnivåer.

Det analoge signalet som er blitt gjendannet, er m.a.o. beheftet med en del feil p.g.a. kvantiseringen, den ikke-ideelle lavpassfiltrering, o.s.v. Disse feilene er bestemt av konstruksjonsparametre (antall biter og filterets orden/type m.m.), og i praksis dimensjoneres slik at konstruksjonsavhengige feil blir mindre enn feil som skyldes ikke-ideelle kretskomponenter (dårlig linearitet i A/D- og D/A-omformeren o.s.v.).

Differensielle PCM-systemer

I stedet for å kvantisere en punktprøve av gangen, kan forandringen i signalet fra foregående prøvetidspunkt kvantiseres. Grunnen til at dette kan være fordelaktig, er at mesteparten av effekten i f.eks. tale ligger ved frekvenser som er mye lavere enn grensefrekvensen (se figur 9).

adc33

Fig. 9. Effektspekter for tale

Forandringen mellom to påfølgende punktprøver vil derfor oftest være relativt liten. Figur 10 viser blokkskjema for en differensiell kvantiseringsenhet.

adc510

Fig. 10. Differensiell kvantiseringsenhet

Inngangssignalet blir her sammenlignet med det dekodede og integrerte utgangssignalet, og differansen blir punktprøvd, kvantisert og kodet. Dersom koden består av mer enn ett bit, kalles det differensiell PCM, og når bare ett bit brukes, kalles det deltamodulasjon.

Deltamodulasjon

Ved deltamodulasjon er det bare to muligheter for å få kodet differansen mellom inngangssignalet og det approksimerte signalet, enten å gå opp (positiv) eller å gå ned (negativ) i verdi. En deltamodulator kan således lages enkel og billig, f.eks. som vist i figur 11.

adc511

Fig. 11. Delta-modulator.

Utgangen av komparatoren er spenningen +U når det analoge inngangssignalet er større enn signalet fra generatoren og -U ellers. Spenningen ut fra komparatoren multipliseres med et unipolart pulstog, og en får som resultat et bipolart deltakodet pulstog som vist i figur 12.

adc512

Fig. 12. Signalene i et deltamodulasjonssystem

Det deltakodede pulstoget tilføres integratoren som bygger opp en approksimasjon til det analoge signalet ved å gå opp eller ned et enhetstrinn for hvert tidsintervall. Dette signalet er godt nok for komparatoren, men på mottakersiden blir det glattet ut i et lavpassfilter, se figur 13.

adc513

Fig. 13. Delta-demodulator

Ved overstyring i et PCM-system vil alle amplituder over en viss grense gis samme kode, slik at signalet blir klippet. Ved deltamodulasjon skjer overstyringen på en annen måte, idet det fås overstyring når det analoge signalet forandrer seg mer enn en trinnhøyde mellom to påfølgende punktprøvingstidspunkter, se figur 14.

adc514

Fig. 14. Helningsoverstyring i deltamodulator

Helningen avhenger både av amplituden og frekvensen til signalet. Ved lave frekvenser kan høyere amplituder tolereres uten å gi overstyring, som vist i figur 15a. Dette er forskjellig fra pulskodemodulasjon (PCM) hvor en frekvensuavhengig overstyringsgrense er gitt av høyeste kvantiseringstrinn, se figur 15b.

adc515

Fig. 15. Overstyringsgrenser i deltamodulasjon og pulskodemodulasjon (PCM)

Det er imidlertid verd å merke seg at deltamodulasjon passer godt for tale, idet talespekteret følger en lignende funksjon (se figur 9). Bemerk også at en båndbegrensning, slik den må gjøres ved pulskodemodulasjon, ikke er nødvendig

En annen type kvantiseringsfeil som oppstår ved deltamodulasjon, er kornstøy (granular noise). Kornstøy opptrer når den rekonstruerte funksjonen pendler rundt et relativt flatt område og trinnhøyden er stor i forhold til karakteristiske variasjoner i inngangssignalet. Liten trinnhøyde kreves for å redusere kornstøyen, mens stor trinnhøyde kreves for å unngå helningsoverstyring. Den optimale trinnhøyde må bestemmes slik at det f.eks. fås maksimalt signal/støy-forhold.

Det enkle deltamodulasjonssystemet som er vist i figur 11, kalles lineær deltamodulasjon fordi trinnhøyden er konstant, uavhengig av forandringen i inngangssignalet. Dette fører til at punktprøvingsfrekvensen må være høy for å få et akseptabelt signal/støy-forhold. Systemet kan forbedres ved å sørge for at integratoren har en respons som er bedre tilpasset det analoge inngangssignalet.

Adaptive modulasjonstyper

Ved adaptiv deltamodulasjon (ADM) varieres trinnhøyden i forhold til inngangssignalet, slik at faren for helningsoverstyring reduseres. Samtidig holdes kvantiseringsfeilen på et rimelig nivå. Et blokkdiagram for en adaptiv deltamodulator er vist i figur 16.

adc516

Fig. 16. Adaptiv deltamodulator

En serie av f.eks. bare positive differansebiter, indikerer en hurtig forandring fra approksimasjonen. Trinnhøyden vil da øke for å kunne følge forandringen. Jo større helning på inngangssignalet, dess større trinnhøyde velges. Alternerende positive og negative differansebiter indikerer god følging, og trinnhøyden kan da reduseres for enda større nøyaktighet, som vist i figur 17. Resultatet er høyere signal/støy-forhold uten økning av punktprøvingsfrekvensen eller bit-raten.

adc517

Fig. 17. Adaptiv deltamodulator med variabel trinnhøyde

I stedet for å variere trinnhøyden i forhold til inngangssignalet, kan signalets amplitude varieres foran en deltamodulator med konstant trinnhøyde, for å unngå helningsoverstyring. For å redusere kvantiseringsstøyterskelen, brukes et lineært prediktivt filter, der en algoritme bruker flere foregående punktprøver for bedre å kunne forutsi neste punktprøve. I tillegg brukes kompansjon, ofte utformet som digitalt styrte forsterkere, der bitstrømmen selv styrer forsterkningen (og dermed signalamplituden foran deltamodulatoren) for minimalisering av følgefeilen. Dette prinsippet kalles for kompandert prediktiv deltamodulasjon (CPDM).

Adaptiv delta pulskodemodulasjon (ADPCM) er en effektiv variant av pulskodemodulasjon (PCM). Modulasjonsformen har gode datakompresjonsegenskaper, men som for andre forbedringer som adaptiv og prediktiv deltamodulasjon, blir den selvsagt mer komplisert og kostbar, men er likevel attraktiv, f.eks. for enkanalanvendelser.

Som navnet tilsier, kombinerer ADPCM det adaptive differansesignalet fra adaptiv deltamodulasjon med binærkoden fra PCM. Med ADPCM erstattes korreksjonssignalet på et bit med et PCM-ord. Dette muliggjør flere kvantiseringsnivåer, hver med sin egen skaleringsfaktor. Dette resulterer i meget gode egenskaper, selv for relativt få biter.

Den største fordelen med ADPCM, er reduksjonen av bit-raten i forhold til PCM, uten nevneverdig tilsvarende reduksjon av andre egenskaper ved PCM. Reduksjonen i bit-raten skjer i henhold til statistiske egenskaper ved det analoge signalet.

Et talesignal som opprinnelig er punktprøvd ved 8 kHz og kodet til 8 bit PCM, vil ha en bitrate på 64 kbit/s. Ved ADPCM er det mulig å redusere bitraten til 16 kbit/s uten nevneverdig degradering av kvaliteten. Dette gjøres ved å komprimere den originale ordlengden på 8 biter til 2 biter pr. punktprøve i en bitratereduksjonsskoder. Koderen velger forskjellige delta PCM-moder basert på fluktuasjoner i frekvensfordelingen til talesignalet. I tillegg bruker koderen kompansjon for å øke det dynamiske området.

Når talesignalet holder seg nær sin maksimale frekvens, er kvaliteten på ADPCM sammenlignbar med lineær PCM for samme antall biter, men for praktisk forekommende talesignaler er kvantiseringsstøyen mindre og oppløsningen dermed bedre.

Adaptiv delta pulskodemodulasjon er som andre spesialiserte metoder alternativer til klassisk pulskodemodulasjon. De er imidlertid underlagt de samme prinsipper, gitt som punktprøving, kvantisering og koding. Imidlertid er implementeringene ganske forskjellig. Utviklingen ventes fortsatt å skyte fart, ikke minst sett på bakgrunn av de teknologiske nyvinninger innen digital signalbehandling.

Det er imidlertid viktig å skille mellom metoder for digitalisering av tale som tar sikte på en talekvalitet som kjennes fra telefonsamband og metoder som bare prøver å formidle meningen i talen. En viktig gruppe av kodere som prøver å beholde den semantiske klarhet, men ikke å gjengi telefonstemmen nøyaktig, kalles vokodere. Disse er lite utbredt, men benyttes der overføringskapasiteten er sterkt begrenset.

[Indeks] [Hjem]

Copyright©1996

Knut Harald Nygaard


Valid HTML 4.01!