Numeriskt styrd oscillator
En numeriskt styrd oscillator ( NCO ) är en digital signalgenerator som skapar en synkron (dvs klockad), tidsdiskret representation av en vågform , vanligtvis sinusformad . NCO:er används ofta i samband med en digital-till-analog-omvandlare (DAC) vid utgången för att skapa en direkt digital synthesizer (DDS).
Numeriskt styrda oscillatorer erbjuder flera fördelar jämfört med andra typer av oscillatorer när det gäller smidighet, noggrannhet, stabilitet och tillförlitlighet. NCO:er används i många kommunikationssystem inklusive digitala upp/ned-omvandlare som används i 3G trådlösa och mjukvaruradiosystem, digitala faslåsta slingor , radarsystem, drivrutiner för optiska eller akustiska sändningar och flernivå- FSK / PSK -modulatorer/demodulatorer.
Drift
En underofficer består i allmänhet av två delar:
- En fasackumulator (PA), som adderar till värdet som hålls vid dess utgång ett frekvenskontrollvärde vid varje klocksampel.
- En fas-till-amplitudomvandlare (PAC), som använder fasackumulatorns utgångsord (fasord) vanligtvis som ett index i en vågformsuppslagstabell ( LUT) för att tillhandahålla ett motsvarande amplitudsampling. Ibland interpolation med uppslagstabellen för att ge bättre noggrannhet och minska fasfelsbrus. Andra metoder för att konvertera fas till amplitud, inklusive matematiska algoritmer såsom effektserier kan användas, särskilt i en mjukvaru-NCO.
När den klockas skapar fasackumulatorn (PA) en modulo -2N sågtandsvågform som sedan omvandlas av fas-till-amplitudomvandlaren (PAC) till en samplade sinusoid , där N är antalet bitar som bärs i fasackumulatorn. N ställer in NCO-frekvensupplösningen och är normalt mycket större än antalet bitar som definierar minnesutrymmet för PAC- uppslagstabellen . Om PAC-kapaciteten är 2 M måste PA-utgångsordet trunkeras till M bitar såsom visas i figur 1. De trunkerade bitarna kan emellertid användas för interpolation. Trunkeringen av fasutgångsordet påverkar inte frekvensnoggrannheten utan ger ett tidsvarierande periodiskt fasfel som är en primär källa till falska produkter. En annan falsk produktgenereringsmekanism är ändliga ordlängdseffekter av PAC-utgångsordet (amplitud).
Frekvensnoggrannheten i förhållande till klockfrekvensen begränsas endast av precisionen hos den aritmetik som används för att beräkna fasen. NCO:er är fas- och frekvensagila och kan trivialt modifieras för att producera en fasmodulerad eller frekvensmodulerad utsignal genom summering vid lämplig nod, eller tillhandahålla kvadraturutgångar som visas i figuren.
Fasackumulator
En binär fasackumulator består av en N-bits binär adderare och ett register konfigurerat enligt figur 1. Varje klockcykel producerar en ny N-bits utsignal som består av den tidigare utsignalen som erhålls från registret summerad med frekvenskontrollordet (FCW). som är konstant för en given utfrekvens. Den resulterande utgångsvågformen är en trappa med stegstorlek heltalsvärdet för FCW. I vissa konfigurationer tas fasutsignalen från registrets utgång som introducerar en enklockscykellatens men tillåter adderaren att arbeta med en högre klockfrekvens.
Adderaren är designad att svämma över när summan av det absoluta värdet av dess operander överstiger dess kapacitet (2 N −1). Överflödesbiten kasseras så utgående ordbredd är alltid lika med dess inmatade ordbredd. Resten , kallad residual, lagras i registret och cykeln upprepas, med start denna gång från (se figur 2) . Eftersom en fasackumulator är en ändlig tillståndsmaskin måste så småningom restvärdet vid något prov K återgå till initialvärdet . Intervallet K hänvisas till som den stora repetitionsfrekvensen (GRR) som ges av
där GCD är den största gemensamma divisorfunktionen . GRR representerar den sanna periodiciteten för en given som för en NCO med hög upplösning kan vara mycket lång. Vanligtvis är vi mer intresserade av driftfrekvensen som bestäms av den genomsnittliga bräddhastigheten, given av
- (1)
Frekvensupplösningen , definierad som den minsta möjliga inkrementella förändringen i frekvensen, ges av
- (2)
Ekvation (1) visar att fasackumulatorn kan ses som en programmerbar icke-heltalsfrekvensdelare med dividerat förhållande .
Fas-till-amplitud-omvandlare
Fasamplitudomvandlaren skapar sampeldomänvågformen från det trunkerade fasutgångsordet som tas emot från PA. PAC:n kan vara ett enkelt läsminne innehållande 2 M sammanhängande sampel av den önskade utgångsvågformen som typiskt är en sinusform. Men ofta används olika knep för att minska mängden minne som krävs. Detta inkluderar olika trigonometriska expansioner, trigonometriska approximationer och metoder som drar fördel av kvadratursymmetrin som uppvisas av sinusoider. Alternativt kan PAC bestå av direktminne som kan fyllas efter önskemål för att skapa en godtycklig vågformsgenerator .
Falska produkter
Falska produkter är resultatet av harmonisk eller icke-harmonisk distorsion vid skapandet av utsignalvågformen på grund av icke-linjära numeriska effekter i signalbehandlingskedjan. Endast numeriska fel täcks här. För andra distorsionsmekanismer som skapats i digital-till-analog-omvandlaren, se motsvarande avsnitt i artikeln direkt-digital synthesizer .
Fas trunkering sporrar
Antalet fasackumulatorbitar för en NCO (N) är vanligtvis mellan 16 och 64. Om PA-utgångsordet användes direkt för att indexera PAC-uppslagstabellen skulle en ohållbart hög lagringskapacitet i ROM krävas. Som sådant måste PA-utgångsordet trunkeras för att spänna över ett rimligt minnesutrymme. Trunkering av fasordet orsakar fasmodulering av den utgående sinusformen, vilket introducerar icke-harmonisk distorsion i proportion till antalet trunkerade bitar. Antalet falska produkter som skapas av denna förvrängning ges av:
- (3)
där W är antalet bitar trunkerade.
Vid beräkningen av det falska fria dynamiska intervallet är vi intresserade av den falska produkten med den största amplituden i förhållande till bärvågsutgångsnivån som ges av:
där P är storleken på fas-till-amplitudomvandlarens uppslagstabell i bitar, dvs. M i figur 1. För W >4,
En annan relaterad falsk genereringsmetod är den lätta moduleringen på grund av GRR som beskrivs ovan. Amplituden för dessa sporrar är låg för stort N och deras frekvens är i allmänhet för låg för att kunna detekteras men de kan orsaka problem för vissa applikationer.
Ett sätt att minska trunkeringen i adressuppslagningen är att ha flera mindre uppslagstabeller parallellt och använda de övre bitarna för att indexera in i tabellerna och de nedre bitarna för att väga dem för linjär eller kvadratisk interpolation. Dvs använd en 24-bitars fasackumulator för att slå upp i två 16-bitars LUTS. Adress till de trunkerade 16 MSB:erna, och det plus 1. Interpolera linjärt med de 8 LSB:erna som vikter. (Man skulle istället kunna använda 3 LUT istället och kvadratiskt interpolera). Detta kan resultera i minskad distorsion för samma mängd minne till bekostnad av vissa multiplikatorer.
Amplitud trunkering sporrar
En annan källa till falska produkter är amplitudkvantiseringen av den samplade vågformen som finns i PAC-uppslagningstabellen/-tabellerna. Om antalet DAC-bitar är P, är AM-spurnivån ungefär lika med -6,02 P - 1,76 dBc .
Dämpningstekniker
Fastrunkeringsporrar kan reduceras avsevärt genom införandet av vitt gaussiskt brus före trunkering. Det så kallade vibreringsbruset summeras till de lägre W+1-bitarna i PA-utgångsordet för att linjärisera trunkeringsoperationen. Ofta kan förbättringen uppnås utan straff eftersom DAC-ljudgolvet tenderar att dominera systemets prestanda. Amplitudavkortningssporrar kan inte mildras på detta sätt. Införande av brus i de statiska värdena som hålls i PAC-ROM-minnena skulle inte eliminera cyklikaliteten hos trunkeringsfeltermerna och skulle således inte uppnå den önskade effekten.
Se även
- Digital-till-analog-omvandlare (DAC)
- Digitalt styrd oscillator (DCO)
- Direkt digital syntes (DDS)