"niet lineariteit" ADC

Beste,

in een meetsysteem bij mij op he werk maken we gebruik van een ADC om het signaal van een foto diode in te lezen.
de gebruikte adc is een AD7677 die op 16 bit 1 MSPS neemt.
het signaal wordt met het volgende circuit versterkt gefilterd en gebufferd.

http://www.uploadarchief.net/files/download/resized/diode%20versterking.png

op de diode word een laser geschenen waar een zaagtand (1KHz) op gemoduleerd is, deze wordt 10 duizend keer gemiddeld en van deze zaagtand wordt 1 flank genomen waar door de eerste en laatste ~15% een lijn wordt gefit. (a*x^2+b*x+c).
de ruwe meet data wordt door deze lijn gedeeld zodat hij naar 1 genormaliseerd word.
op deze normalisatie wordt een dip, een inzakking van het signaal gemeten, waarbij een inzakking van 0.1 promille gemeten moet kunnen worden.

Nu het probleem, de genormaliseerde waarde is niet recht, terwijl we zeker weten dat er geen inzakking kan zijn.
we spreken hier dan over een afwijking van zo'n 6 promille. (1.006 tot 0.9994)

Met een gekochte computer scoop is de afwijking sub-promille (waar het dus op ons doel begint te lijken).
deze scoop meet met een zelfde snelheid, resolutie en aantal middelingen.
deze meting word gedaan net voor de ADC, dus na de buffer opamp.

Wanneer ik de zaagtand langzamer maak (150Hz ipv 1KHz) ga ik met mijn eigen ADC naar een afwijking van ~2 promille. (zoals hieronder te zien)

http://www.uploadarchief.net/files/download/resized/normalisatie%20traag%20meetsignaal.png

Is er iemand die mij verder zou kunnen helpen?

Alvast bedankt.

Een rommelig bureau is het teken van een genie.

Waarom gebruik je een 2e graads polynoom om een enkele flank van de zaagtand te fitten? Ik begrijp dat je achteraf in je samples de zaagtand terug probeert te vinden (een soort triggering dus). Deze 10.000x middeld en dit er dan vanaf trekt. Hierdoor verdwijnt je zaagtand uit het signaal, correct? Hoe 'trigger' je? Als je aangenomen begin van de zaagtand iets in fase jittert t.o.v. je echte signaal gaat er e.e.a. mis denk ik.
Hoe dan ook zou de x^2 term zo goed mogelijk naar 0 moeten gaan in je fit, de flank is immers lineair.

Kun je de 'respons' van de AD niet eerst meten (eigenlijk bovenstaande curve) en de gemeten waarde hiermee corrigeren? Daarna de rest van het traject doen met de gecorrigeerde AD-waarde.

En, gewoon voor mijn intresse, wat voor experiment is dit?

40db (DC) gain met een TL082? 1 msps om een 1kHz signaal te meten?

Wat je nodig hebt is een goede stroom/spanningomzetter en een nauwkeurige ADC. Middelen doe je enkel om ruis weg te krijgen en dan is 10.000 maal echt onzinnig. Wat is precies je doel?

Er zijn diverse zaken in je ontwerp die fouten kunnen geven, een aantal zijn zo triviaal dat ik mij afvraag of je wel in staat bent dit experiment zonder hulp af te ronden. Ten eerste moet je geen TL082 gebruiken om een hoge DC gain te maken, deze opamps kunnen een offset voltage hebben van 15mV, doe dat maal 100 en je hebt aan de uitgang een offset van 1,5V. Dat is niet meer aan te passen aan de ingang van je ADC zonder een enorm deel van je dynamisch bereik op te offeren, het kan zijn dat dit zelfs leidt tot niet lineair gedrag als gevolg van verzadiging in de opamps danwel ADC.
Een ander gegeven is de toename van de harmonische vervorming als gevolg van de hoge gain, opamps met hoge gain geven veel vervorming als gevolg van een forse afname van de lusversterking.

Een ander punt van zorg is de lineairiteit van je sensor, weet je zeker dat deze niet tegen verzadiging aanzit? Een reverse biased fotodiode gedraagt zich slechts binnen een bepaalde bereik als een stroombron en dient dan ook nog eens laagohmig afgesloten te zijn. Dat laatste is zeker niet het geval, op het web zijn diverse application notes te vinden over een correcte interface voor een reverse biased fotodiode. Houd er ook rekening mee dat een DC gekoppelde transimpedantieversterker i.c.m. een fotodiode een DC offset zal vertonen als functie van temperatuur als gevolg van de lekstroom door de fotodiode. Het gebruik van een nullende versterker met een lange tijdsconstante is een prima oplossing in dat geval aangezien je band of interest op 1kHz en hoger ligt.

[Bericht gewijzigd door Blackfin op dinsdag 27 september 2011 16:20:32 (75%)

This is the world we know best, the world of madness

@ knifter

de A in de tweedegraads functie is zo goed als 0 maar hij wordt gebruikt om "trage" niet lineariteiten in de laser zelf op te heffen.

de triggering is "altijd goed" omdat de zaagtand door de zelfde uC word gegenereerd als gemeten. We weten dus precies wanneer een periode begint.

door een zaagtand op de laser te zetten scant hij een klein beetje in kleur, hiermee scannen we over een bepaalde kleur die door een bepaald gas geabsorbeerd word. hierdoor ontstaat een dip in het genormaliseerde signaal.

@ blackfin

In het schema staat de opamp nog verkeerd, in de meting wordt een op213 gebruikt. Zou jij nog een andere opamp aanbevelen en op welke spect zijn hier het belangrijkste?

het reverse bias schema van de diode komt uit zijn eigen datasheetdatasheet.
Je hebt gelijk over de afsluiting, die zal ik lager maken, hoewel de versterking hier ook weer van omhoog zal moeten.

het dipje dat we willen scannen is maar een "klein" stukje van de flank en we hebben per flank ongeveer 400 punten nodig om deze goed te kunnen fitten. we hopen de zaagtand uiteindelijk nog wat sneller te maken dan 1KHz, maar we zullen in deze orde grote blijven.

het aantal middelingen van 10.000 keer komt omdat de minimale inzakking die we willen meten maar 0.1 promille is. een klein beetje ruis is dus al funnest.

De laser die we gebruiken is tussen de 10 en de 20 mV, waarvan maar 0.1% op de photodiode terecht komt, vandaar de hoge versterking.

Ik merk dat ik mezelf in mijn begin post misschien niet helemaal duidelijk heb gemaakt, enige vragen m.b.t. het verduidelijken van mijn probleem beantwoord ik graag.

Een rommelig bureau is het teken van een genie.

Wat voor experiment ben je precies aan het doen? Ik heb vorig jaar een laser gebouwd die gelocked wordt aan het absorbtie spectrum van Lithium. Hier gebruikte ik de sweep alleen om de dip's zichtbaar te maken. Het eigenlijke locken gebeurde analoog. Ik had dus geen AD converters in het circuit. Tijdens het sweepen verdween de zaagtand doordat ik 2 signalen (sigma+ en sigma-) analoog van elkaar af trok. Het verschil was zeer klein signaal, maar geen zaagtand meer.
Misschien is het een idee om ook in jouw geval de zaagtand er eerst analoog vanaf te trekken. Het overgebleven signaal is dan goed met de scope te analyseren.

Varieer je met die sweep de diode-stroom? Is deze single mode? Is de amplitude over het sweep gebied constant (of gecompenseerd)? Zijn allemaal punten waar niet lineairiteiten kunnen ontstaan namelijk. En we weten nu niet wat je precies aan het meten bent in dit stadium? (zaagtand direct op AD, zaagtand naar diode en diode output al aan het meten?)

ps:http://www.science.uva.nl/onderwijs/thesis/centraal/files/f1616366670.…

Op 27 september 2011 16:40:41 schreef Niekski:

door een zaagtand op de laser te zetten scant hij een klein beetje in kleur, hiermee scannen we over een bepaalde kleur die door een bepaald gas geabsorbeerd word. hierdoor ontstaat een dip in het genormaliseerde signaal.

Aaah... je wilt de golflengte moduleren door de output te moduleren. Zoiets is ook temperatuursafhankelijk volgens mij, in ieder geval geld dat voor laserdioden.

@ blackfin

In het schema staat de opamp nog verkeerd, in de meting wordt een op213 gebruikt. Zou jij nog een andere opamp aanbevelen en op welke spect zijn hier het belangrijkste?

Welke opamp je gebruikt is afhankelijk van het circuit en de gewenste eigenschappen, daar kan ik dus niet zomaar een passend antwoord op geven. Een OP213 heeft in ieder geval een significant lagere Vos.

het reverse bias schema van de diode komt uit zijn eigen datasheetdatasheet.
Je hebt gelijk over de afsluiting, die zal ik lager maken, hoewel de versterking hier ook weer van omhoog zal moeten.

Het voorbeeld uit de datasheet is een principeschema, de weerstand is in feite een stroom naar spanningsomzetter. Het nadeel van zo'n simpele omzetter is dat je bandbreedte moet opofferen voor een hoge conversiefactor. Daarom gebruikt men voor dit soort toepassingen een photodiode amplifier. Zoek op het web eens naar design notes 308 en 399 van Linear Technology, daar staan goede aanknopingspunten in. Het idee is dat je eerst een goede omzetter van stroom naar spanning maakt om daarna pas je differentiele omzetting te doen voor aanpassing naar de ADC.
Overigens kan er via R12 nog ruis ingekoppeld worden, het -3dB punt ligt op zo'n 1500Hz.

het dipje dat we willen scannen is maar een "klein" stukje van de flank en we hebben per flank ongeveer 400 punten nodig om deze goed te kunnen fitten. we hopen de zaagtand uiteindelijk nog wat sneller te maken dan 1KHz, maar we zullen in deze orde grote blijven.

Feitelijk is de bandbreedte dus geen 1kHz maar een veelvoud daarvan? In dat geval kan ik je mededelen dat je huidige opzet faalt, de bandbreedte van je huidige opzet is maar hooguit een tiental kilo Hertz vanwege je junctioncapaciteit en de 50k omzettingsweerstand. Niet de paar honderd kHz die je meent te moeten samplen.

het aantal middelingen van 10.000 keer komt omdat de minimale inzakking die we willen meten maar 0.1 promille is. een klein beetje ruis is dus al funnest.

Ooh... hoeveel is je S/N ratio dan? Ik ken geen enkel systeem dat veel nauwkeurig geworden is door 10.000 keer te middelen.

De laser die we gebruiken is tussen de 10 en de 20 mV, waarvan maar 0.1% op de photodiode terecht komt, vandaar de hoge versterking.

Je bedoelt dat een variatie in laserspanning resulteert in een variatie in diodespanning? Hoe weet je zo zeker dat dit lineair is? Als je een laserdiode gebruikt is meestal het optisch vermogen proportioneel met de laserstroom, de laserspanning zegt eigenlijk niet zo heel erg veel. Wat voor een laser word er eigenlijk gebruikt?

Ik merk dat ik mezelf in mijn begin post misschien niet helemaal duidelijk heb gemaakt, enige vragen m.b.t. het verduidelijken van mijn probleem beantwoord ik graag.

Meestal komt dat omdat je een probleem hebt dat je eigenlijk niet goed begrijpt, dat maakt het ook moeilijk om je probleem goed te formuleren :)

This is the world we know best, the world of madness
rbeckers

Overleden

Op 27 september 2011 13:55:24 schreef Niekski:
...Met een gekochte computer scoop is de afwijking sub-promille (waar het dus op ons doel begint te lijken).
deze scoop meet met een zelfde snelheid, resolutie en aantal middelingen...

Wat voor scoop?
Een scoop heeft meestal een fout van 2-3% voor het Y-kanaal.

We moduleren de golflengte van de laser(diode) door de stroom (niet spanning) door de laser te vergroten, hij zal hierdoor iets in temperatuur toenemen en afnemen waardoor de golflengte sweeped.
de hele laser wordt met een temperatuur regeling gestabiliseerd, maar deze is traag tov de stroom sweep.

Ik ga zo kijken naar de design notes die je aanhaalt. Ik wil niet zo zeer die zaagtand van 1KHz terug zien, die deel ik immers toch weer weg, als een feature op die zaagtand.

de +8v boven r12 wordt nog gestabiliseerd met een lineaire regelaar.

Het aantal middelingen is iets waar ik later nog naar zal kijken, het zou mooi zijn als we met minder afkunnen.

de laser is single mode en met een zaagtand zal de amplitude over het hele scan gebied dus niet gelijk zijn, vandaar de normalisatie.

Bedankt voor de antwoorden alvast, ik ga weer even verder.

Een rommelig bureau is het teken van een genie.
rbeckers

Overleden

Waarom zo'n snelle ADC?
Je schema maakt een snelle ADC overbodig.

Op 28 september 2011 08:34:16 schreef Niekski:
We moduleren de golflengte van de laser(diode) door de stroom (niet spanning) door de laser te vergroten, hij zal hierdoor iets in temperatuur toenemen en afnemen waardoor de golflengte sweeped.
de hele laser wordt met een temperatuur regeling gestabiliseerd, maar deze is traag tov de stroom sweep.

Dat begrijp ik, maar waarom praat je dan eerst over spanning?

Op 27 september 2011 16:40:41 schreef Niekski:

De laser die we gebruiken is tussen de 10 en de 20 mV, waarvan maar 0.1% op de photodiode terecht komt, vandaar de hoge versterking.

Goed... je wilt dus de golflengte variëren door de optical output te moduleren. Vandaar de normalisatiemethode?

Ik ga zo kijken naar de design notes die je aanhaalt. Ik wil niet zo zeer die zaagtand van 1KHz terug zien, die deel ik immers toch weer weg, als een feature op die zaagtand.

de +8v boven r12 wordt nog gestabiliseerd met een lineaire regelaar.

Welke bandbreedte verwacht je nodig te hebben? Want daar moet je versterker op ontworpen zijn, de reverse bias op de foto diode heeft tot doel om de junction capaciteit te verlagen en dat is gunstig voor de bandbreedte, net als een lage ingangsimpedantie van je transimpedantieversterker.

Het aantal middelingen is iets waar ik later nog naar zal kijken, het zou mooi zijn als we met minder afkunnen.

de laser is single mode en met een zaagtand zal de amplitude over het hele scan gebied dus niet gelijk zijn, vandaar de normalisatie.

Bedankt voor de antwoorden alvast, ik ga weer even verder.

Je gaf aan dat je sneller hoopt te meten, maar door 10.000 keer te middelen word je meting niet bepaald sneller, middelen is een goede methode om ruis te verwijderen omdat je in feite je bandbreedte verlaagt.

Nog een suggestie, als je een laserdiode in APC mode gebruikt kun je het feedbacksignaal van de interne fotodiode gebruiken om in het analoge domein dit signaal van je meetsignaal af te trekken. Dat scheelt een hoop ellende met rekenen, calibreren en temperatuurscompensatie.

This is the world we know best, the world of madness

Heb altijd een stroom bedoeld, misschien dat "er een zaagtand opzetten" duidelijker had gekund.

Goed... je wilt dus de golflengte variëren door de optical output te moduleren. Vandaar de normalisatiemethode?

Ja.

Welke bandbreedte verwacht je nodig te hebben? Want daar moet je versterker op ontworpen zijn, de reverse bias op de foto diode heeft tot doel om de junction capaciteit te verlagen en dat is gunstig voor de bandbreedte, net als een lage ingangsimpedantie van je transimpedantieversterker.

&

Waarom zo'n snelle ADC?
Je schema maakt een snelle ADC overbodig.

ik verwacht een band breedte van zo'n 400KHz nodig te hebben, het is een driehoek (geen zaagtand mijn fout) waar ik op iedere flank 400 punten nodig heb om een feature daar op goed te kunnen fitten.

Een rommelig bureau is het teken van een genie.