Forum: Digitale Signalverarbeitung / DSP / Machine Learning ADC-Wandler-Rauschen aus DC-Signal herausrechnen


von Anja (Gast)


Lesenswert?

Hallo zusammen,

Ich verwende einen 24-Bit ADC (LTC2400 mit 24 Bit und 4 Sub-LSB-Bits) um 
Alterungsmessungen an 5V Referenzspannungsquellen durchzuführen.

Ich möchte eine rauschfreie Auflösung unter ca 1uV peak-peak erzielen.

Leider ist das ADC-Rauschen ca 0.3ppm effektiv (=10-15uVpp bei 
0.1-10Hz).
Derzeit behelfe ich mir indem ich den Mittelwert aus 10 Minuten (ca 3000 
Einzelmessungen) bilde um das Rauschen entsprechend zu reduzieren.

Da das Rauschen (Standardabweichung) bekannt ist müßte es doch 
theoretisch gehen mit weit weniger Meßwerten (Ziel wäre so ca 64) den 
wahrscheinlichen  Mittelwert zu berechen. Zumindest wenn in den 64 
Meßwerten = Stichprobe auch entsprechend selten vorkommende Randwerte 
enthalten sind.

Gibt es zu dem Thema entsprechende (leicht verständliche) Literatur / 
Diplomarbeit oder noch besser ein praktisches Beispiel mit C-Code?

Gruß Anja

von möp (Gast)


Lesenswert?

Hallo Anja,

über die t-Verteilung, auch Student-Verteilung, lassen sich
deine Mittelwerte abschätzen.

Gruß

von Anja (Gast)


Lesenswert?

Hallo möp,

Danke, so ein Stichwort habe ich gebraucht. Laut Wiki ist es der Ansatz 
nach dem ich gesucht habe. Ich tue mich aber noch schwer mit den ganzen 
Formeln. Vielleicht finde ich ja noch ein Beispiel im Web das das ganze 
noch etwas verdeutlicht.

Gruß Anja

von Salewski, Stefan (Gast)


Lesenswert?

>Ich verwende einen 24-Bit ADC

Ich hatte Deinen Beitrag schon vor einigen Tagen gesehen und wollte 
gerade mal nachsehen, ob es etwas neues gibt...

Ich kann leider nichts beitragen außer meinen Vorurteilen.

-Wer Wandler mit vielen Bit verwendet, will damit oft nur seine 
messtechnische Unbedarftheit kompensieren.

-Für Alterungsmessung würde ich mir weniger Sorgen um Rauschen, als um 
Drift der Messapparatur machen.

-Kennt man das Rauschsignal wirklich oder wird es durch unbekannte 
Störquellen überlagert?

Wobei die eigentliche Frage wäre, wo man solche Themen am besten 
diskutieren kann -- hier wohl eher nicht.

von abc123 (Gast)


Lesenswert?

Salewski, Stefan schrieb:
>hier wohl eher nicht.

Und schon gar nicht mit Leuten wie dir...

von Salewski, Stefan (Gast)


Lesenswert?

>Und schon gar nicht mit Leuten wie dir...

Ich wollte auch gar nicht mit diskutieren, nur mal nachschauen ob sich 
jemand mit Wissen hierher verirrt hat. Und ich schrieb ja in aller Demut 
'Ich kann leider nichts beitragen außer meinen Vorurteilen.'

von Salewski, Stefan (Gast)


Lesenswert?

Ein Ansatzpunkt wäre womöglich

http://en.wikipedia.org/wiki/Kalman_filter

von Anja (Gast)


Lesenswert?

Salewski, Stefan schrieb:
> Ein Ansatzpunkt wäre womöglich
>
> http://en.wikipedia.org/wiki/Kalman_filter

Habe ich mal überflogen. Allerdings scheint das nur gut zu funktionieren 
wenn man ein Modell für sein System hat.
Wie man das bildet wenn man nur weiß daß der Wert innerhalb der Meßzeit 
eigentlich stabil sein sollte bis auf das Rauschen der 
Vergleichs-Referenz von 1,2uVpp ist mir noch nicht klar.

Hast Du für diesen Fall ein Beispiel?

Gruß Anja

von möp (Gast)


Lesenswert?

Anja schrieb:
> Salewski, Stefan schrieb:
>> Ein Ansatzpunkt wäre womöglich
>>
>> http://en.wikipedia.org/wiki/Kalman_filter
>
> Habe ich mal überflogen. Allerdings scheint das nur gut zu funktionieren
> wenn man ein Modell für sein System hat.
> Wie man das bildet wenn man nur weiß daß der Wert innerhalb der Meßzeit
> eigentlich stabil sein sollte bis auf das Rauschen der
> Vergleichs-Referenz von 1,2uVpp ist mir noch nicht klar.
>
> Hast Du für diesen Fall ein Beispiel?
>
> Gruß Anja

Ich wage zu behaupten, dass Alterungsprozesse zu komplex sind um 
sinnvoll mit einem Kalmanfiler zu arbeiten. Das hängt aber sehr von 
deiner Referenzspannungsquelle ab. Ich habe mich eine Zeit lang mit 
Alterungsverhalten von Batterien beschäftigt. Li-Ionen Batterien waren 
zum Beispiel deutlich besser beschreibbar als Bleiakkus. Dei dynamischen 
Belastungen verstärkte sich die Diskrepanz zunehmend.

Statistische Methoden sind hier sicherlich die bessere Wahl.

Gruß

von Luky (Gast)


Lesenswert?

Von LT gibts hierzu die hervorragende Appnote 86 von Jim Williams
"A Standards Lab Grade 20-Bit DAC with 0.1ppm/°C Drift"
http://www.nxp.com/documents/application_note/AN11113.pdf
Da stehen ein paar beachtenswerte Punkte drinnen.
Und ja, ohne ein paar Versuche wirds leider nicht gehen...

von Anja (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

möp schrieb:
> Statistische Methoden sind hier sicherlich die bessere Wahl.

sehe ich genau so. Allerdings ist mir noch nicht so ganz klar wie die 
t-Verteilung im praktischen Fall anzuwenden ist. Die brute force Methode 
wäre aus der Standardabweichung und den Meßwerten für die Spannungswerte 
um den Mittelwert die Wahrscheinlichkeitsdichte aufzusummieren. Oder 
multiplizieren?

Luky schrieb:
> Von LT gibts hierzu die hervorragende Appnote 86
Kenne ich: meine LTC2400 habe ich ähnlich der AN86 linearisiert.
Allerdings weiß ich nicht was die ANs mit dem Thema Rauschen zu tun 
haben.

Ich habe mal 2 Meßdateien angehängt (jeweils 10 Minuten)

1. Offset-Messung in Millivolt mit kurzgeschlossenem Eingang
   Mittelwert:            0.000342334 mV
   Standardabweichung:    0.001675056 mV

2. Messung LTZ1000-Referenz #2 mit Spannungsteiler 2:1
   Mittelwert:         3592.483633    mV
   Standardabweichung     0.001737654 mV

Die Frage ist: kann man mit beliebigen 64 aufeinanderfolgenden Meßwerten 
durch statistische Auswertung auf den entsprechenden Mittelwert kommen? 
Und mit welchem Fehler? mit 95% bzw. 99% Wahrscheinlichkeit.

Gruß Anja

von Luky (Gast)


Lesenswert?

Meiner Meinung nach sieht das Signal nicht wie gleichverteiltes 
Gaussches Rauschen aus. Da liegt eher eine Störung drauf. Mach mal eine 
FFT (mit "richtigem" Fenster) über möglichst viele Messdaten.
Wenn es reines Gaussches Rauschen ist, nimmt man am besten den 
arithmetischen Mittelwert. Ist die Störung periodisch, sollte man diese 
entweder beseitigen oder über eine volle Anzahl von Perioden mitteln.
Irgendwelche statistischen Tricks kenne ich da leider nicht, lasse sie 
mir aber auch gerne erklären...

von Daniel (Gast)


Lesenswert?

Kalman ist hier blödsin, schau mal unter "Moving Average Filter" in der 
einschlägigen Literatur nach!

von Anja (Gast)


Lesenswert?

Daniel schrieb:
> "Moving Average Filter"

Hallo,

ein Moving Avergage Filter über ca 10 Sekunden (ca 64 Meßwerte) hätte 
nur etwa eine Rauschunterdrückung von Faktor 8 zur Folge. Bei 10-15 uVpp 
ist mir das immer noch zu viel Restrauschen.

Und ich bilde mir ein daß wenn die Streuung bekannt ist, durch 
geschickte Bewertung der Meßwerte bzw. der Streuung von 64 Messwerten 
mehr herauszuholen ist.

Gruß Anja

von branadic (Gast)


Lesenswert?

Hallo Anja,

vielleicht hilft dir ja diese Seite etwas weiter:

http://homepage.ruhr-uni-bochum.de/stephen.berman/Statistik/Parameterschaetzung.html

Ich finde das recht gut beschrieben und nachvollziehbar.

branadic

von Wolfgang (Gast)


Lesenswert?

Wenn du mit der Rauschamplitude von 15 µVpp auf 1 µVpp herunterkommen 
möchtest, also einen Faktor 15, mußt du wohl 15² unkorrelierte Samples 
von deinem Signal nehmen und die mitteln.

von Anja (Gast)


Lesenswert?

branadic schrieb:
> vielleicht hilft dir ja diese Seite etwas weiter:
>
> http://homepage.ruhr-uni-bochum.de/stephen.berman/...
>
> Ich finde das recht gut beschrieben und nachvollziehbar.

Danke für den Link. Endlich mal ein konkretes Beispiel. Werde das mal 
bei Gelegenheit an Hand konkreter Zahlenwerte auf meine Daten anwenden.

Gruß Anja

von Daniel (Gast)


Lesenswert?

Nur mal so ein Gedanke...
Wenn du die Verteilung kennst, kannst du dir die Rauschleistung im 
betrachteten Zeitraum / in der Anzahl an verwendeten Samples ausrechnen 
und von deiner gemessenen Signalleistung abziehen.

von Hauke R. (lafkaschar) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hier ist dein geschätzes Spektrum auf grund deines doch relativ kleinen 
Datensatzes.

Mit  mehr Daten wär auch eine genauere Aussage möglich. (y-Achse ist 
log)

von Anja (Gast)


Lesenswert?

Hauke Radtki schrieb:
> Hier ist dein geschätzes Spektrum auf grund deines doch relativ kleinen
> Datensatzes.
>
> Mit  mehr Daten wär auch eine genauere Aussage möglich. (y-Achse ist
> log)

Hallo,

ist das jetzt der ganze Datensatz mit ca 3000 Werten also 10 Minuten 
Gesamtdauer oder nur eine Stichprobe mit 64 Werten?
Mit der Skalierung komme ich auch nicht zurecht. Heißt das jetzt 10E-03 
oder -103 dB.
Also sind das jetzt Peaks von 10-2 = 0.01 mV bei knapp 0.1 der 
Abtastfrequenz von 6Hz oder -102dB Millivolt?

branadic schrieb:
> vielleicht hilft dir ja diese Seite etwas weiter:
>
> http://homepage.ruhr-uni-bochum.de/stephen.berman/...

Den Link habe ich mir auch angeschaut.
Auf meine Werte bezogen mit ca 0.0016 mV = 1.6uV Standardabweichung für 
eine 64er Stichprobe komme ich auf einen
Standardfehler von ca 0.2uV für den Mittelwert
und damit bei einem Konfidenzintervall von 95% auf etwa
+/- 0.4uV Abweichung
bzw. bei 99% Konfidenzintervall dann auf
+/- 0.6uV Abweichung für den Mittelwert.

Das zeigt mir daß für 1uV Maximalfehler eine Stichprobengröße von 64 für 
den Mittelwert nicht ganz falsch ist.
Bzw. für +/-0.5uV bei 99% Konfidenzintervall sollte dann auf eine 144er 
Stichprobengröße gegangen werden.

Anyway: ich suche aber immer noch nach einer Methode um ggf. wenigstens 
anhand der Verteilung der Einzelmesswerte sagen zu können auf welcher 
Seite des Mittelwertes (drüber oder drunter) der Gesamtmittelwert liegt.

In einem anderen Statistik-Büchlein habe ich gelesen daß bei schiefen 
Verteilungen der Medianwert anstelle des Mittelwertes verwendet wird. 
Mal schauen ob mich das weiter bringt ....

Gruß Anja

von Hauke R. (lafkaschar) Benutzerseite


Angehängte Dateien:

Lesenswert?

Die x-Achse ist die normierte Frequenz(wie du schon vermutet hast)
Bei der y-Achse ist mir nen Fehler unterlaufen, hatte da noch nen Faktor 
2 drin der da nicht hingehört. Jetzt müsste es eigentlich in db auf 1mV 
sein (1mV ^= 0dB).

Aufgrund deiner geringen Samplefrequenz könntest du natürlich auch 
aliasing haben.

Mit mehr Daten könne man vermutlich eher noch versteckte periodizitäten 
entdecken so sie dann da sind.

Falls du etwas spielen willst: Octave (kostenlos) ist da sehr praktisch. 
Mit pwelch kannst du das Spektrum eines verrauschten Signals zu 
schätzen. (Das Problem ist, dass die Varianz deines Ergebnisses nimmt 
bei der FFT mit Zufallsprozess als Eingangssignal nicht mit zunehmendem 
N abnimmt).

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Mach doch mal ne richtig lange Meßreihe und dann schau in der FFT nach 
regelmäßigen Störern.
Aliasing, also unabsichtliches Runtermischen von irgendwelchen 
HF-Trägern wurde ja schon genannt. Vielleicht kannst du ja ordentliche 
LP-Filter realisieren.


Dann fällt mir noch der Binary Sampler von Mike Monett ein. Es paßt 
irgendwie zu deiner Fragestellung.
Ich habe das Funktionsprinzip aber bislang auch nicht verstanden. Seine 
Seite enthält einfach zu wenig Info, oder ich bin zu blöde. Man kann ihm 
aber mailen.

Bislang benutzte ich Moving Average Filter. Besonders effizient geht es 
mit logarithmischer Teilung der alten Meßwerte in einen long rein. Dann 
muß man nicht endlos viele alte Werte zwischenspeichern. Benutze ich für 
ein Powermeter bei Netzfrequenz.

Hier:
Beitrag "Re: Sampling Osci Input Stage"

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
Noch kein Account? Hier anmelden.