Hallo, ich kaue an Folgendem Problem: Ich habe einen messaufbau mit Si-Photodiode mit TIA, der zyklisch ein zeitgemultiplextes optisches signal vermessen soll: Zwei LEDs mit je 2 Wellenlängen im Infrarotbereich, dann einmal Pause für eine Dunkelstrommessung. Das Photodiodensignal wird von einem ADS1299 Analogfrontend 24Bit AD Gewandelt mit 500Sps. Das Data Ready Signal des ADS1299 (active low) ist das Zeichen für den Mikrocontroller, auf die nächste Wellenlänge (oder aus) zu schalten. Verwendet werden soll nur jedes zweite sample, da das erste die "dwell time" der umgeschalteten photodiodensignale enthält. Das Problem: Messe ich nun mit dem Oszilloskop parallel am Signalausgang der Photodiode deren Signal (und das Data Ready Signal des ADS1299), bekomme ich stark abweichende Werte zum ADC Ergebnis. Die Messungen sind angehängt: Das Balkendiagramm zeit die ADC Werte in mV umgerechnet, das Oszibild zeigt in Blau das Photodiodensignal und in Gelb die DRDY peaks. Da es je zwei Messungen pro optischem State (/Wellenlänge) gibt, war in der ersten Messung zu erwarten, dass diese Messung "nachhängt", weil sie noch die Übergänge der Photodiodenlevels beinhalten. Die jeweils zweite Messung, die bei stabilem Level gemacht wird, unterscheidet sich jedoch immernoch stark vom Oszisignal. Beispiel: Dunkelstrom (Messungen Nr. 3, 13, 23): 44mV vs. 28mV. Maximaler Peak (Messungen Nr. 7,17,27): 393mV vs. 442mV. Klar ist, dass das Oszi ein viel stärkeres Eingangsrauschen (mV)hat - das aber hier nicht den ausschlag geben kann. Außerdem angemerkt werden muss: Das Photodiodensignal ist derzeit NICHT Anti-Alias-Gefiltert (im Design vergessen) - der ADS1299 hat einen integrierten Delta-Sigma Wandler, der Oversampled und damit auch Aliasing dämpft. Trotzdem fehlt der Filter und ist in der neuen Version dabei (fc = 3.2kHz). Kann das Problem hierher kommen? Letzte Anmerkung: Stelle ich alle LEDs aus und messe nur den Dunkelstromwert, ist der korrekt. An der Umrechnung etc. liegt es also nicht.
Alex V. L. schrieb: > Gewandelt mit 500Sps. Tatsächlich nur 500 Samples pro Sekunde? Oder fehlt da eventuell eine Vielfachen-Kennung? > Die Messungen sind angehängt: Das Balkendiagramm zeit die ADC Werte in > mV umgerechnet, das Oszibild zeigt in Blau das Photodiodensignal und in > Gelb die DRDY peaks. Also ich kann da nix Gelbes sehen. Aber egal: das Blaue würde ich für das Abbild einer Zeitkonstanten halten. Wenn du den Level an den Photodioden testweise mal die doppelte Zeit hältst, wird sich das vermutlich noch eindrucksvoller darstellen und dann auch erlauben, Tau zumindest näherungsweise abzuschätzen. Wo die Zeitkonstante herkommt, mußt du dann allein herausfinden, dazu reichen die gegebenen Informationen nicht. Ich würde mal direkt auf das Wandlerprinzip des AD-Wandlers tippen, jedenfalls, wenn wie oben vermutet, da ein kleines k fehlt... > Da es je zwei Messungen pro optischem State (/Wellenlänge) gibt, war in > der ersten Messung zu erwarten, dass diese Messung "nachhängt", weil sie > noch die Übergänge der Photodiodenlevels beinhalten. Die jeweils zweite > Messung, die bei stabilem Level gemacht wird, unterscheidet sich jedoch > immernoch stark vom Oszisignal. Und bei doppelter Zeit für die Pegel (oder "optischen States") wäre der jeweils dritte Wert wohl schon näher am tatsächlichen und der vierte noch näher, wobei die Annäherung immer langsamer erfolgt.
In solchen Fällen ist es zweckmässig niemals den Schaltplan oder ein Foto vom Aufbau zu zeigen. Ach so! Hast Du ja nicht. Dann bitte ich um Entschuldigung.
Filtere dein Oszisignal mal (in Gedanken oder auf dem Computer) mit einem 131Hz Tiefpass. Das ist nämlich die Analogbandbreite, die dein ADC bei 500S/s hat. Dann sehen die Kurven vielleicht gar nicht mehr so unterschiedlich aus.
Alex V. L. schrieb: > Ich habe einen messaufbau mit Si-Photodiode mit TIA, der zyklisch ein Ab in die Klinik: http://de.wikipedia.org/wiki/Transitorische_isch%C3%A4mische_Attacke
c-hater schrieb: > Tatsächlich nur 500 Samples pro Sekunde? Oder fehlt da eventuell eine > Vielfachen-Kennung? der ADS1299 sampled mit 1.024 MHz, ist ja ein Delta-Sigma Modulator drin. On Chip sind dann Decimation filter, die man einstellen kann, in meinem Fall so, dass der ADC auf 500SPS dezimiert. c-hater schrieb: > Also ich kann da nix Gelbes sehen. Die sehr feinen haarstriche alle ~2ms müsste man eigentlich grade noch sehen können! Klaus schrieb: > In solchen Fällen ist es zweckmässig niemals den Schaltplan oder ein > Foto vom Aufbau zu zeigen. Ist nicht geschehen weil ich vorenthalten oder leute doof lassen will, tatsächlich ist der eigentliche schaltplan 4 dinA4 seiten groß, und auch ein ausschnitt hilft nicht, weil er nur die Photodiode mit RC Tiefpass und den Eingang vom ADC zeigt... aber bitte, da. Achim S. schrieb: > Filtere dein Oszisignal mal (in Gedanken oder auf dem Computer) mit > einem 131Hz Tiefpass. Das ist nämlich die Analogbandbreite, die dein ADC > bei 500S/s hat Wie kommst du/man auf diesen Wert der Analogbandbreite? Grüße Alex
Alex V. L. schrieb: > Wie kommst du/man auf diesen Wert der Analogbandbreite? Aus Tabelle 1-4 im Datenblatt. "Analogbandbreite" war natürlich nicht wirklich eine gute Wortwahl von mir. Wenn du im Analogteil das Abtasttheorem einhältst (bezogen auf die Oversampling Rate des ADC), dann sind die 131Hz die Signalbandbreite, die nach den digitalen Filtern des ADCs übrig bleibt (bei 500S/s)
Achso, verstehe, danke! Was ich aber nicht verstehe ist, wieso das eine Auswirkung auf mein Signal hat, denn - zumindest jeden zweiten durchlauf - sample ich ja einen DC signalpegel!?
Alex V. L. schrieb: > Was ich aber nicht verstehe ist, wieso das eine Auswirkung auf mein > Signal hat, denn - zumindest jeden zweiten durchlauf - sample ich ja > einen DC signalpegel!? Dein Zeitmux springt alle 5ms auf einen neues Signal. Der ADC hat aber aufgrund seiner Bandbreite eine Zeitkonstante von 4,8ms. Innerhalb der 5ms, die die jeweilige Signalquelle konstant anliegt, ist er bei weitem noch nicht auf den neuen Wert eingeschwungen. Delta-Sigma ADCs sind nicht besonders toll für Zeitmultiplex geeignet: man schleppt die Vorgeschichte des Signals nach dem Umschalten noch lange mit.
Alex V. L. schrieb: > Die sehr feinen haarstriche alle ~2ms müsste man eigentlich grade noch > sehen können! Nein, kann man nicht. Hier rächt es sich wohl, wenn man unfähig ist, ein geeignetes Bildformat für den darzustellenden Inhalt zu wählen. Für haarfeine gelbe Striche auf weißem Grund ist JPEG jedenfalls ganz offensichtlich absolut ungeeignet. Das ist nur gut für Fotos mehr oder weniger "natürlicher" Umgebungen, nicht für CGI-Grafiken. So hast du wenigstens schonmal etwas gelernt. Und das durchaus Witzige ist: es handelt sich dabei um ein ganz ähnliches Problem wie das, weswegen du eigentlich geposted hast...
Achim S. schrieb: > Der ADC hat aber > aufgrund seiner Bandbreite eine Zeitkonstante von 4,8ms. Ups, sorry, verrechnet. Die 131Hz entspechen einer Zeitkonstante von 1,2ms. Innerhalb der 5ms Zeitscheiben schwingt der Ausgang des ADC also grade so halbwegs ein, aber die Verschmierung der Flanken siehst du in den ADC-Werten natürlich trotzdem noch.
c-hater schrieb: > Nein, kann man nicht. Hier rächt es sich wohl, wenn man unfähig ist, ein > geeignetes Bildformat für den darzustellenden Inhalt zu wählen. Vielleicht rächt sich auch, wenn man, weil das haten und unterstellen einem so viel spaß macht, nicht richtig liest: Die gelben striche sind im Bild des Oszis zusammen mit dem blauen verlauf des photodiodensignals. Das balkendiagramm (jpg) enthält kein gelb - stimmt. Das oszibild wiederum habe ich unkomprimiert hochgeladen (wurde dann durch die forensoftware zu png komprimiert). c-hater schrieb: > So hast du wenigstens schonmal etwas gelernt. Und das durchaus Witzige > ist: es handelt sich dabei um ein ganz ähnliches Problem wie das, > weswegen du eigentlich geposted hast... Da ich aber verstehe worauf du hinaus wolltest: Trotzdem schöner Vergleich! Achim S. schrieb: > Dein Zeitmux springt alle 5ms auf einen neues Signal. Der ADC hat aber > aufgrund seiner Bandbreite eine Zeitkonstante von 4,8ms. Innerhalb der > 5ms, die die jeweilige Signalquelle konstant anliegt, ist er bei weitem > noch nicht auf den neuen Wert eingeschwungen. > > Delta-Sigma ADCs sind nicht besonders toll für Zeitmultiplex geeignet: > man schleppt die Vorgeschichte des Signals nach dem Umschalten noch > lange mit. Danke Achim für die Erläuterung, jetzt macht alles Sinn! Da zeigen sich mal wieder die noch vorhandenen Lücken im Wissen. Tatsächlich habe ich diese Info (wie genau kommst du denn auf die Zeitkonstante von 4.8ms?) aus offensichtlich vorhandener Ignoranz nicht mit einbezogen beim Design. Handelt es sich hier um eine Konstante des Dezimierfilters - und damit eine Einstellbare Größe (mögliche sampleraten sind ja 250-16ksps) oder so etwas wie die analoge slew rate eines opams, die ich nur im datenblatt übersehen habe ...? Edit: Da du dich verrechnet hattest und immernoch Tabelle 1-4 verwendet hast ist die Antwort ja klar ersteres.
:
Bearbeitet durch User
Alex V. L. schrieb: > Handelt es sich hier um eine Konstante des Dezimierfilters - und damit > eine Einstellbare Größe (mögliche sampleraten sind ja 250-16ksps) Ja, sie kommt durch das Filter, und (wie schon im letzten Beitrag korrigiert) hätten die 4,8ms eigentlich 1,2ms sein müssen. Die Zeitkonstante skaliert also mit der 1/Samplerate. Weiter unten im Datenblatt des ADCs findest du noch eine deutlich ausführlichere Beschreibung der Filtercharakteristik (ich habe für meine Umrechnung von 131Hz auf 1,2ms einfach so getan, als wäre es ein RC-Filter erste Ordnung).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.