Analog-digitalkonverterare
Från HamWiki
Analog-digitalkonverterare, eller ADC, är en krets gjord för att göra om en analog signal, vanligtvis spänning, till ett digitalt binärt värde. Denna del används för att ta upp signaler in i ett samplat system.
Innehåll |
Konstruktion
En ADC kan konstrueras på flertalet sätt. Olika tekniker har olika egenskaper, i form av kiselyta, effektåtgång, störningar, samplingstid, througput.
Generellt för i princip alla är att det sitter en Sample-n-hold-krets på ingången som gör att samma värde går in i ADC-logiken under hela samplingsprocessen.
Direktkonverterande ADC
En direktkonverterande ADC som skall kunna sampla N nivåer har N − 1 spänningsreferenser, och N − 1 komparatorer. Alla komparatorer som representerar en nivå under insignalen skickar ut en logisk etta, medans de över skickar ut en logisk nolla. Avkodningslogik efteråt räknar antal ettor/nollor, vilket ger en binär representation av värdet.
Denna metod kan göras relativt snabb, då alla konverteringar sker samma klockcykel. Nackdelen är dock arean; för att göra en 8-bitars ADC krävs 255 komparatorer. För att göra en 12-bitars ADC krävs 4095 komparatorer.
Delta-kodad / räknare
En binär upp-ner-räknares utgång kopplas till en [digital-analogkonverterare], för att generera en referensspänning. Denna spänning jämförs med inspänningen i en komparator. Komparatorutgången skickas sedan tillbaka in i räknarens upp/ner-ingång, vilket gör att vid varje klockcykel kommer räknaren att räkna ett steg närmare invärdet.
Denna ADC är i sin konstruktion väldigt enkel, men har som svaghet att den inte klarar skarpa flanker på insignalen. Sig/fall-hastigheten får inte överstiga ett delta (spänningsskillnaden mellan två intillliggande möjliga mätvärden) varje klockcykel.
Successiv_approximation
Denna metod kombinerar en DAC, en komparator och styrlogik för att testa en bit varje klockcykel. Denna metod försöker varje klockcykel stänga in värdet mellan ett Vmin till ett Vmax, genom att jämföra invärdet mot mittpunkten, och på detta sätt halvera intervallet.
När konverteringen startar är Vmin satt till 0, Vmax satt till 1 (relativa värden mot mätintervallet). Vid varje klockcykel jämförs invärdet med
. Är invärdet större än gränsvärdet sätts nästa bit till 1, Vmin uppdateras till gränsvärdet, och konverteringen fortsätter en cykel till, tills alla bitar är klara. Om invärdet är mindre än gränsvärdet sätts nästa bit till 0, och konverteringen fortsätter på samma sätt.
Störningskällor
Flertalet olika störningskällor förekommer i ADC:er, som uppträder på olika sätt.
Aliasing / Spegelfrekvenser
Detta stycke är en kladd. Behöver fyllas, och gärna skrivas om helt. Kanske förenkla stycket i ord, och i efterhand motivera med foriertransform istället?
När en signal samplas görs signalen om från att vara tidskontinuelig till tidsdiskret. Detta leder till att endast amplituden vid samplingstillfället tillvaratas, medans signalen mellan samplingarna går förlorade.
Vid samplande av en signal en cosinussignal vid frekvens f i samplingsfrekvensen fsamp resulterar detta till tidsdiskreta funktionen:
där n är ett heltal.
Eftersom sin är periodisk i 2π innebär det att denna kan skrivas om till:
där k är ett godtykligt heltal (både positivt och negativt). Detta uttryck kan sedan skrivas om:
Detta innebär att flera olika signaler kan skapa samma sekvens av samples.
T.ex. med fsamp = 20kHz och f = 23kHz Ger:
Sätt k = − 1 och man ser tydligt att signalen blir samma som för f = 3kHz
Eftersom cos är symetrisk, dvs. kriteriet cos(x) = cos( − x) innebär detta att spegelfrekvenser även kan hittas enl:
Detta innebär att även en spegelbild på nedre sidan av fsamp kan hittas. P.g.a. dessa spegelbilder går det endast att återskapa en signal komplett ifall alla dess frekvenskomponenter ligger inom samma spegelbild. Enl. Nyqvist-Shannons samplingstheorem kan endast en signal vars högsta frekvenskomponent f = fsamp / 2 återges korrekt.
P.g.a. dessa spegelfrekvenser krävs ett filter innan samplingen sker för att klippa bort övertoner och oönskade signaler som annars kan störa signalen, om dessa kan tänkas förekomma i ursprungssignalen.
Nyqvist-theoremet kan byggas ut så att endast signaler där samtliga frekvenskomponenter ligger inom intervallet (nfsamp) / 2 < f < ((n + 1)fsamp) / 2 återges korrekt, vilket utnyttjar dessa spegelfrekvenser för att med lägre samplingshastighet, lägre klockfrekvenser och mindre databehandling kunna återge ett frekvensintervall istället. Detta kallas bandpasssampling, eller undersampling, och är en vanlig teknik inom SDR. Detta kan dock ge problem med samplingsfönsterstorlekar, vilket kan läsas om nedan.
Kvantiseringsfel
(finns det bättre översättning av Quantization error?), ENOB - Effective number of bits'

