Viktige poenger
- Analog-til-digital-konvertere (ADC) spiller en vesentlig rolle i å transformere kontinuerlige, analoge signaler, som de som finnes i lyd- og lysbølger, til numeriske data som kan behandles digitalt.
- Samplingsfrekvensen, som angir hvor ofte en ADC tar målinger i sekundet, er kritisk for nøyaktigheten av signalrepresentasjonen. Høyere samplingsfrekvenser gir en mer detaljert og korrekt digitalisering.
- Bithastigheten til en ADC bestemmer presisjonen til konverteringen. En høyere bithastighet tillater flere trinn i verdirepresentasjonen, noe som resulterer i jevnere og mer nøyaktige digitale verdier. Det finnes ulike typer ADC-er med forskjellige kompromisser mellom hastighet, nøyaktighet og energiforbruk.
ADC-er er uvurderlige for å omgjøre virkelige hendelser til data som kan analyseres og brukes i digitale prosjekter. Men hvordan lykkes en ADC med å transformere et analogt signal til en digital representasjon?
Hva brukes ADC-er til?
ADC-er er allestedsnærværende. De finnes i mobiltelefoner, der de konverterer tale til digital kode. De er i biler, der de måler hjulenes rotasjon. De er også sentrale i oscilloskoper, som fanger opp og visualiserer signaler. Spesielt viktig er deres bruk i lyd- og videoproduksjon, der transformasjonen av lys og lyd til digitale formater er grunnleggende.
Hva er samplingsfrekvens, og hvordan påvirker den en ADC?
En av de mest kritiske spesifikasjonene for en ADC er samplingsfrekvensen, altså antall målinger som tas hvert sekund.
Et avansert oscilloskop kan registrere opptil ti milliarder målinger per sekund, mens en mer enkel ADC, som MCP3008, kan ta opptil to hundre tusen målinger. I lydsammenheng er 44 100 målinger per sekund (44,1 kHz) en standard samplingsfrekvens.
Jo flere prøver som tas, desto mer nøyaktig gjengis signalet. Hvor viktig dette er, avhenger av bruken. For eksempel vil en faderbank med potensiometre i et lys- eller lydbord sannsynligvis ikke kreve målinger millioner av ganger per sekund, ettersom menneskelige bevegelser er mye tregere. Her er det viktigere at resultatet er jevnt og reagerer raskt.
Hva er bithastighet, og hvordan påvirker den kvaliteten på en ADC?
Kvaliteten på en måling er også viktig. Dette bestemmes hovedsakelig av bithastigheten, som angir hvor mange forskjellige nivåer som kan brukes til å representere spenningen digitalt. Jo flere biter, jo flere mulige verdier kan registreres for hver måling, noe som gir jevnere og mer presise resultater.
Vi har tidligere dekket binærkode. Hvor mange biter som er nødvendig, avhenger av hva som skal oppnås. I noen tilfeller kan protokollen som brukes sette begrensninger. MIDI 1.0 er for eksempel begrenset til syv- eller fjorten-biters verdier. Andre ganger kan menneskelig oppfatning være den begrensende faktoren. Hvis økt nøyaktighet ikke gir en merkbar forbedring i resultatet, kan det være unødvendig.
Hvordan forbedrer multipleksing ADC-kvaliteten?
Populære ADC-brikker som ADS1115 og MCP3008 har flere innganger. Internt har de bare en enkelt ADC. Dette er mulig med multipleksere, digitale brytere som styrer hvilken kanal som leses av ADC-en. ADC-en kan da skanne gjennom hver kanal, en etter en. Med åtte kanaler og en samplingsfrekvens på 200 000, kan man få 25 000 prøver per kanal.
Hvilke forskjellige typer ADC finnes det?
ADC-er bruker forskjellige metoder, avhengig av pris og behov.
En Flash ADC fungerer ved hjelp av en kompleks spenningsdeler. Motstander deler referansespenningen opp i trinn, som sammenlignes med inngangsspenningen med komparatorer. Flash ADC-er er svært raske, men er begrenset i bitdybde på grunn av det høye antallet komparatorer som kreves. De er også energikrevende.
En subranging ADC prøver å balansere disse ulempene ved å dele opp jobben i to deler: en for å gjøre en grov måling av spenningen, og en for å gjøre en nøyaktig måling. Dette reduserer antall nødvendige komparatorer. Noen subranging ADC-er deler arbeidet inn i tre trinn, med feilkorreksjon.
SAR (Successive Approximation Register) ADC-er utfører målinger ved hjelp av en binær søkemetode. Med åtte biter starter SAR med midtverdien, 10000000. Hvis inngangsspenningen er høyere, beholdes den første biten som 1. Hvis ikke, endres den til 0. Prosessen gjentas for neste bit. Verdien nærmer seg dermed gradvis den faktiske verdien:
Slik begrenses søkeområdet kontinuerlig, og mulighetene halveres for hvert steg. I dette tilfellet finnes verdien et sted mellom 0 og 255, og etter noen iterasjoner finner ADC-en at verdien er rundt 77.
Sigma-delta-omformere er mer komplekse og brukes i lyd- og signalmålinger med høy nøyaktighet. De oversampler et signal og finjusterer resultatet gjennom avansert filtrering og matematikk. Denne prosessen reduserer samplingsfrekvensen, mens presisjonen økes. Disse ADC-ene er ideelle der støy og presisjon er viktigere enn hastighet.
Integrerende ADC-er er enda tregere enn sigma-delta-omformere. De bruker en kondensator, og ladehastigheten indikerer inngangsspenningen. Samplingsfrekvensen synkroniseres ofte med strømfrekvensen for å minimere støy.
Hva er Nyquist-Shannon-teorien?
For å representere et analogt signal digitalt trengs minst to punkter per syklus: en på toppen og en på bunnen. Samplingsfrekvensen må derfor være minst dobbelt så høy som den høyeste frekvensen som skal måles.
Dette kalles Nyquist-frekvensen, etter den svensk-amerikanske fysikeren Harry Nyquist. Teorien kalles Nyquist-Shannon-teorien, etter Nyquist og Claude Shannon (en matematiker og kryptograf). Edmund Whittaker hadde imidlertid samme ide først.
Det er et problem med denne teorien. Det er umulig å vite nøyaktig når toppen og bunnen av en bølgeform kommer. Hva skjer hvis prøvene tas midt i bølgeformen? Et skifte i inngangssignalet kan føre til at resultatet blir flatt:
Det kan også oppstå falske bølgeformer:
Disse falske signalene kalles aliasing.
Problemet med aliasing
En kjenner kanskje til illusjonen der et vognhjul i en film ser ut til å snurre bakover. Hjulene på en bil eller rotorbladene på et helikopter ser ut til å bevege seg bakover. I noen tilfeller ser det ut som om bladene står helt stille.
I eldre videospill kan parallelle linjer vise merkelige forvrengninger. Gjerder og stripete gensere ser rare ut. Merkelig plystring kan også oppstå ved dårlige digitale lydforbindelser. Dette er en type forvrengning der støyfrekvensene forvrenger signalet. Dette er spesielt tydelig ved lyd med mange overtoner, som et trommesett.
Å forstå årsaken til ett av disse problemene hjelper med å forstå alle. Når det gjelder vognhjulet, betyr den faste bildefrekvensen at vi ikke kan fange opp bevegelsen på korrekt måte. Hvis noe roterer 350° per bilde, ser det ut som om det beveger seg bakover 10°. Det er ikke nok informasjon til å representere hva som skjer. Prøvene vi tar, er feil i forhold til det som måles.
Dette er ikke et problem som bare oppstår ved analog-til-digital-konvertering. I mange tilfeller konverteres en type digitalt signal til en annen.
Hvordan kan dette løses? En løsning er å bruke et spesielt filter som håndterer disse forvrengningene. Mange ADC-er har slike filtre. En annen løsning er å ta mange flere målinger enn nødvendig. Jo flere målinger, jo mer nøyaktig bildet av bølgen blir:
Ta målinger med høyere kvalitet for best resultat
Hvis dette virker interessant, er dette bare en introduksjon til emnet. ADC-er er komplekse enheter.
For sluttbrukere eller for en gjennomsnittlig Arduino-entusiast er de også enkle å bruke. Spenninger går inn, og tall kommer ut. Uansett hva du prøver å måle – fuktighetsnivået i jorden, svingningene i stemmen eller lyspartikler – er det sannsynligvis en ADC som kan gjøre jobben.