Meine Aufgabe lautet es die Bitanzahl des ADCs vom Oszi zu bestimmen.
Dafür habe ich ein Sinussignal am Eingang mit Upp anliegen und das
Display zur Verfügung.
Da ich gerade kein Oszi zur Hand habe, erläutere ich einmal meie Idee:
Ich muss zunächst einmal das ULSB messen. Das mache ich indem ich die y
Achse des Oszis so lange raufdrehe bis ich die rechteckigen Übergänge
sehe. Dann messe ich wie dick so ein rechteckiger Übergang ist. Das ist
dann mein ULSB.
Um jetzt die Bitanzahl zu berechnen, kann ich folgendes tun: ich weiß ja
dass
Wenn ich also ULSB herausfinde, dann kann ich umrechnen auf n:
Jetzt weiß ich aber nur nicht ob die Stufen dann bei meinem Oszi
weginterpoliert werden oder nicht.
Aber stimmt die VOrgangsweise auch so?
so ganz falsch klingt es nicht, vorausgesetzt du hast die folgenden 2
Punkte bedacht:
1) Upp hat nichts mit deinem Eingangssignal zu tun, sondern es gibt den
gesamten Messbereich des Oszis an (in einer bestimmten Einstellung der
y-Empfindlichkeit). Das Eingangssignal kann größer oder kleiner sein,
Upp ist der Messbereich des Oszis.
2) wenn du an der y-Einstellung drehst, dann muss die Messung
eingefroren sein. Wenn du daran drehst, während die Messung läuft, dann
wird im Allgemeinen eine analoge Signalverstärkung (oder Abschwächung)
umgeschalten. Während die Messung läuft kannst du an der Y-Einstellung
drehen so viel du willst, du wirst nie Stufen sehen. Aber wenn eine
Messung mit einem bestimmten Messbereich aufgenommen wurde und du
"zoomst" danach die y-Achse, dann werden irgendwann die Stufen des ADC
sichtbar. Bei vielen Scopes kannst du im Nachhinein in die Messung
hineinzoomen. Wenn dein Scope das nicht zulässt, dann wirst du die
Stufen nicht sehen.
Wenn das Oszi mehrere Messkurven mittelt oder überabtastet (und das dann
mittelt), dann kommt durch die Mittelwertbildung eine höhere Auflösung
raus, als der ADC eigentlich hat.
Du kannst das Ergebnis am Ende kontrollieren: entweder kommt n=8 heraus,
oder du hast dich verrechnet, oder du hast ein ziemlich spezielles Oszi,
bei dem die höhere Auflösung auch stolz vorne aufgedruckt ist (wie die
HDO-Serie von Lecroy).
Markopolo schrieb:> Meine Aufgabe lautet es die Bitanzahl des ADCs vom Oszi zu bestimmen.
Mit deiner Methode kannst du eher die "Bitanzahl eines DACs mit einem
Oszi" bestimmen. Für deine Aufgabe würde ich eher ins Datenblatt des
Oszilloskops schauen...
Ich würde einfach ins Handbuch schauen.
Bei hoch auflösenden ADCs sind evtl. keine Treppen mehr zu sehen, oder
du bekommst nur die Auflösung des Bildschirms.
Na, dann im Anhang mal ein Beispiel, dass die Methode von Markopolo
funktionieren kann.
Am Einang des Oszis lag kein Signal an (also verrauschte 0V), gemessen
wurde mit 10V/DIV. Damit liegt der gesamte Messbereich bei 100V. Die
Messung wurde angehalten und dann die y-Einstellung verstellt, bis man
die einzelnen Bits erkennt. Zwischen den beiden horizontalen Cursorn
liegen 4 U_LSB, d.h. U_LSB=1,59V/4=0,3975mV. Bezogen auf den gesamten
Messbereich von 100V ergibt das einen Faktor von 252. Das ist nahe genug
an 256, dass man die 8 Bit Auflösung erkennt.
Wie oben schon gesagt sind 8 Bit bei Digitaloszis die Regel für den ADC.
Die meisten können mit Rechentricks auf höhere scheinbare Auflösungen
kommen. Aber ich kenn nur die HDO-Serie von Lecroy die tatsächlich
höherauflösende ADCs verwendet.
Bei USB-Oszis und ähnlichem ist die Sache oft anders: die kommen oft mit
höherer Auflösung, haben dafür aber meist weniger Dynamik bei der
y-Einstellung und andere Nachteile.
Oh mann ist ja geil!! Dein bild ist aber irgendwie komisch. Weiß nicht
genau was du da gemessen hast. Könntest du mal 3 4 bilder machen? Ganz
groß (sodass man alles noch sieht) und ganz reingezoomt?
Wenn du keine Zeit hast, auch kp ;)
Das könnte funktionieren, du musst nur darauf achten zuerst zu messen,
das Ozsi dann zu stoppen und dann erst den Vertical hochzudrehen. Drehst
du den Vertical zuerst hoch, schaltet das Oszi die Eingangsstufe um und
du siehst wieder keine Stufen. Die Stufen siehst du immer nur dann wenn
du erst misst und dann die gespeicherte Messkurve skalierst.
Raus kommen müsste übrigens für jedes normale Oszi 8 bit.
Sven B. schrieb:> Das könnte funktionieren, du musst nur darauf achten zuerst zu> messen,> das Ozsi dann zu stoppen und dann erst den Vertical hochzudrehen. Drehst> du den Vertical zuerst hoch, schaltet das Oszi die Eingangsstufe um und> du siehst wieder keine Stufen. Die Stufen siehst du immer nur dann wenn> du erst misst und dann die gespeicherte Messkurve skalierst.>> Raus kommen müsste übrigens für jedes normale Oszi 8 bit.
Das hat doch Achim S. schon (nur ein paar Zeilen höher um 17:08) ganz
genauso erklärt. Und daß es funktioniert (und nicht nur "könnte
funktionieren") hat er um 19:07 gepostet, sogar mit Bild.
Nicht gesehen? ;-)
Wenn Du die Messkurve exportieren kannst, kannst Du auch einen Sägezahn
drauf geben und Y-Achse so skalieren, dass der komplett drauf ist,
danach die X-Achse so skalieren, dass Du eine recht langsame Steigung
hast. Du kannst diese Kurve dann speichern und siehst in den Werten
Deine Stufen. Dazu ist wichtig, dass die Kurve flach verläuft.
Wenn Du Dir nicht sicher bist, wie gut Dein Funktionsgenerator ist
(manche haben nur 8 Bit) so setze einfach einen Tiefpassfilter dahinter.
Die genaue Form der Kuirve ist egal, wichtig ist nur, dass Du eine
flache Steigung aufnimmst.
?!? schrieb:> Das hat doch Achim S. schon (nur ein paar Zeilen höher um 17:08) ganz> genauso erklärt. Und daß es funktioniert (und nicht nur "könnte> funktionieren") hat er um 19:07 gepostet, sogar mit Bild.> Nicht gesehen? ;-)
Doch, gesehen, ich wollte nur nochmal auf die Reihenfolge hinweisen,
weil ich das nicht so klar erwähnt gesehen hatte. :)
Bei dem "könnte funktionieren" bleib' ich aber, vom Erkennen der Stufen
bis zum korrekten Berechnen der Bitzahl ist ja noch ein Stück. Man weiß
ja zum Beispiel nicht, ob das Oszi zum Beispiel im 100mV/div-Modus die
256 Messpunkte genau auf 1V verteilt, oder vielleicht auf mehr, und
solche Dinge.
Markopolo schrieb:> Könntest du mal 3 4 bilder machen? Ganz> groß (sodass man alles noch sieht) und ganz reingezoomt?
ne, dafür fehlen mir leider gerade tatsächlich die Zeit und das Oszi.
In Worten beschrieben: bei "ganz groß" siehst du nur, dass der
Messbereich 10V/Div waren (also 100V insgesamt) und die Messkurve sieht
aus wie ein waagerechter Strich (0V).
Reingezoomt siehst du dann, dass der waagerechte Strich doch eine
gewisse Breite hat. Meistens ist der Zahlenwert der Kurve genau 0V (der
dunkle Balken in der Mitte), öfters mal springt er ein U_LSB nach oben
(der etwas hellere Balken darüber), selten springt er 1 U_LSB nach
unten, ganz selten (ca 20 mal bei insgesamt 2000 Messpunkten)springt er
2 U_LSB nach oben.
Je nach Darstellung deines Oszis kann die Optik der Kurve auch etwas
anders sein, der Informationsgehalt sollte sich aber ähneln.
Jetzt beim stehenden Bild die Volts/Div runterdrehen.
Hast du die Die Anzahl der Mittelwerte runtergestellt? Die Menüs Acquire
und Display solltest du mal durchgehen
Markopolo schrieb:> Ich hab jetzt also einen Sinus. Wie muss ich jetzt reinzoomen, damit ich> diese Stufen sehe? Ich schafs nämlich in keinster weise..
Im Display Menu von "Interpol" auf "Dots" umschalten.
Joschua C. schrieb:> Hast du die Die Anzahl der Mittelwerte runtergestellt? Die Menüs Acquire> und Display solltest du mal durchgehen
Ja, das mindeste ist 4 Averages.
Micki µ schrieb:> Im Display Menu von "Interpol" auf "Dots" umschalten.
Hab ich gemacht. Wenn ich jetzt aber reinzoome, dann gehen die Prunkt
auseinander. Hab zwei Punkte mal mit Paint verbunden. Jedoch scheint das
irgendwie nicht zu funktionieren
Irgendwas ist da faul. Die Werte sehen nicht diskret aus.
Ich würd sagen, die Abtastrate ist zu gering. Bei einer Sinusflanke sind
Punkte auf y-Höhen, die auf anderen Flanken nicht sichtbar sind. Es
sollten zwischen den sichtbaren Punkten also noch mehrere sein, die aber
einfach zeitlich übersprungen werden.
Also: Die ms/div noch weiter runterdrehen. Das erhöht die Abtastfrequenz
und auch die Punkte dazwischen werden sichtbar.
Markopolo schrieb:> Ja, das mindeste ist 4 Averages.
An dem dritten Softbutton kannst du die Zahl der Averages einstellen
(aus min. 4). An dem Softbutton darüber kannst du wahrscheinlich das
Averagen ganz ausschalten. Mach das, sonst passiert folgendes:
Achim S. schrieb:> Wenn das Oszi mehrere Messkurven mittelt oder überabtastet (und das dann> mittelt), dann kommt durch die Mittelwertbildung eine höhere Auflösung> raus, als der ADC eigentlich hat.Markopolo schrieb:> Jedoch scheint das> irgendwie nicht zu funktionieren
Versuch mal klarer zu beschreiben, was nicht funktioniert, vielleicht
kommst du (oder wir) der Erklärung dann näher.
Joschua hat es schon beschrieben: deine Originalmessung (5V/Div, nicht
gezoomt) scheint viel zu wenige Messpunkte zu haben. Dein Oszi kann im
Prinzip mit 2GS/s abtasten, die Messung wurde aber eher mit 4S/2ms =
2kS/s aufgenommen. Wie kommt das? Hast du irgendwo absichtlich die
Abtastrate runtergesetzt? Oder hast du die Messung mit einer viel
langsameren Zeiteinstellung aufgenommen und danach die Zeitachse
reingezoomt?
Die einzelnen Abtastpunkte müssen dicht genug sitzen, damit du eine
Chance hast, ein Quantisierungsintervall zu erkennen. Wenn der Sinus von
einem Abtastpunkt zum nächsten schon 100mV angestiegen ist, dann liegen
die beiden Punkte um 100mV auseinander (nicht um 1 U_LSB).
Die Spannungsänderung des Sinus zwischen zwei Abtastpunkten muss also
kleiner sein als 1 U_LSB, damit du das U_LSB erkennen kannst. Oder mit
anderen Worten: die Abtastrate muss für diesen Sinus viel höher sein,
als sie in deiner Messung zu sein scheint.