Forum: Digitale Signalverarbeitung / DSP / Machine Learning Rauschen einer Strommessung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Martin (martin912)


Lesenswert?

Hallo

Ich präge einen sinusförmigen Strom bei unterschiedlichen Frequenzen in 
eine Spule ein (ca. 200 mA, 1 kHz bis 100 kHz) (mit einem linear 
Leistungsverstärker). Was die Spule macht ist mir jetzt erstmal egal. Um 
den Strom zu messen verwende ich einen Shunt Widerstand mit 0.58... Ohm 
(sehr genau vermessen). Zum aufzeichnen der Spannung verwende ich eine 
DAQ Box. Der kleinste Messspannungsbereich beträgt +-1 V und hat eine 
Auflösung von 16 Bit. Das bedeutet U_LSB ist ungefähr 30 µV.
Die Standardabweichung des Quantisierungsrauschens berechnet sich bei 
sinusförmiger Größe als U_LSB/sqrt(12) ungefähr 8,66 µA.

Das Rauschen der Strommessung ermittle ich folgendermaßen:
1.) Aufnahme von ausreichen Perioden der Shuntspannung
2.) Berechnen der Grundwellenamplitude aus fft des Signals
3.) Umrechnung in eine Stromamplitude

das ganze wird jetzt z.B. N = 10 mal wiederholt und dann aus den 
Amplituden die Standardabweichung berechnet.

So erhalte ich eine Standardabweichung des Stroms von ungefähr 10 µA 
z.B. bei 40 kHz Erregerfrequenz. Die Standardabweichung bleibt über alle 
Frequenzen ungefähr gleich.

Die 10 µA kann ich am Shuntwiderstand in eine Standardabweichung der 
Shuntspannung umrechnen. Somit ergibt das ungefähr 5.8 µV. Das liegt 
jetzt unter dem berechneten Quantisierungsrauschstandardabweichung der 
DAQ Box.

Nun meine Frage. Darf ich das so überhaupt vergleichen bzw. berechnen? 
Bzw. Wie kann ich das vergleichen? Wie kann ich das Rauschen der 
Strommessung quantifizieren?

Dieses Rauschen müsste ja grundsätzlich unabhängig von der Höhe des 
Stroms sein. Andere Rauschkomponenten wie thermisches Rauschen oder 
Schrotrauschen sind um Größenordnungen kleiner.

Ich würde gerne einen allgemeinen Ausdruck haben für das zu erwartende 
Stromrauschen.

Danke schon mal im Voraus!

von Simon D. (jamen)


Lesenswert?

Hallo Martin,

findet die Auswertung später im Frequenz- oder im Zeitbereich statt? Je 
nachdem ist die Vorgehensweise etwas anders.

Der Frequenzbereich hat hier deutliche Vorteile, weil der größte Teil 
der Rauschleistung durch die extrem gute Filterwirkung der DFT 
verschwindet.

Viele Grüße,
Simon

von Martin (martin912)


Lesenswert?

Hallo Simon

Danke für die Antwort.
Ich berechne mittels fft das Spektrum und hol mir da dann die Fourier 
Koeffizienten heraus. In meinem Fall nur den Gundwellenkoeffizienten.

Ja wahrscheinlich filtert mir die dft das Rauschen weg.

Ist es da dann trotzdem möglich, dass ich einen allgemeinen Ausdruck 
angebe der mir beschreibt wie das quantisierungsrauschen auf meine 
Strommessung wirkt unter der Voraussetzung dass es keine anderen 
rauscharten gibt?

Mit freundlichen Grüßen
Martin

von Simon D. (jamen)


Lesenswert?

Ja, das kannst du. Die Annahme ist, dass sich die Wurzelrauschleistung 
deines Spannungsmesskanals, also 8.66 µVrms, gleichmäßig auf den 
Frequenzbereich 0 bis fs/2 verteilt. Du rechnest also mit einer 
spektralen Amplitudendichte (Stichwort Leistungsdichtespektrum) von

Jetzt brauchst du als nächstes die Equivalent-Noise-Bandwidth ENBW eines 
Bins deiner gefensterten DFT. Die hängt von deinen Parametern ab. 
Anschließend kannst du entsprechend
 mit dem Strommesswiderstand Rs die Wurzelrauschleistung deines 
Strommesskanals bestimmen. Das alles stimmt natürlich nur unter der 
Annahme, dass das Quantisierungsrauschen deines ADC dominiert. 
Erfahrungsgemäß ist das bei einem ADC mit 16 b, und einer vermutlich 
umfangreichen Signalkonditionierung, an der Grenze, wo diese Annahme 
noch zutreffen könnte. Tendenziell stimmt das aber schon nicht mehr. 
Hier werden andere Quellen ebenfalls einen relevanten Anteil haben.

Die beste Möglichkeit, es genau herauszufinden, ist das 
Leistungsdichtespektrum des Grundrauschens zu messen. Dafür lässt du den 
Strommesskanal offen und nimmst für eine lange Zeit Messwerte auf. Bei 
deinem Frequenzbereich sollte 1 s Aufnahmedauer ausreichend sein. 
Anschließend berechnest du mit der Welch-Methode ein modifiziertes 
Periodogramm deiner Messwerte. Das kannst du mit deiner Annahme 
vergleichen. Wenn hier ähnliche Werte herauskommen, dominiert in der Tat 
der ADC das Rauschspektrum.

Diese Artikelreihe

https://www.allaboutcircuits.com/industry-articles/resolving-the-signal-introduction-to-noise-in-delta-sigma-adcs/

könnte für dich hilfreich sein. Da kann man schon einiges verstehen. 
Ansonsten wirst du dich ein bisschen durchs Internet suchen müssen. Ich 
kann auch das Buch Rauschen in der Sensorik

https://link.springer.com/book/10.1007/978-3-658-29214-0

empfehlen. Da lernt man noch ein paar Kniffe für die Charakterisierung 
von Messkanälen.

: Bearbeitet durch User
von Martin (martin912)


Lesenswert?

Vielen Dank!

Ich werde mal das Buch lesen und dann versuchen weiterzuarbeiten. Mein 
Ziel ist es das Verhalten der gesamten Strecke allgemein anzugeben.

mit freundlichen Grüßen
Martin

von Simon D. (jamen)


Lesenswert?

Was genau meinst du damit, dass du das Verhalten der Strecke "allgemein" 
angeben möchtest?

Wenn man das Rauschen eines Messkanals ermittelt, dann macht man das 
normalerweise empirisch, indem man das Rauschleistungsdichtespektrum der 
Schaltung misst. Daraus kann man die Charakteristika bestimmen, die für 
eine Auswertung im Zeit- oder Frequenzbereich relevant wären. Wenn deine 
Auswertung nur in einem ganz schmalen Frequenzband stattfindet, wie ich 
das bei dir heraushöre, vereinfacht sich die Angabe zu einer einzelnen 
Rauschleistung. Wenn du deine ENBW und deine Rauschleistungsdichte im 
betreffenden Frequenzband kennst, kannst du die recht einfach aus dem 
Rauschleistungsdichtespektrum berechnen und dann auch ein 
eingangsbezogenes Rauschen deines Messkanals in Arms angeben.

Wenn man die Beiträge einzelner Schaltungsteile ermitteln möchte, muss 
man das Rauschleistungsdichtespektrum an verschiedenen Stellen in der 
Schaltung messen und sich daraus Rauschmodelle der verschiedenen 
Komponenten bauen, indem man durch Ausgleichsrechnung die Parameter für 
1/f-Rauschen sowie weißes Rauschen bestimmt und entsprechende Filter im 
Modell berücksichtigt.  Jetzt kann man anfangen die Modellparameter zu 
variieren, um den Einfluss eines anderen Operationsverstärkers oder 
eines anderen Filters auszuprobieren. Mit einem einfachen Modell aus 
1/f-Rauschen, weißem Rauschen und Tiefpassfilter zur Bandbegrenzung kann 
man durchaus auch händisch damit rechnen, muss man heute aber nicht 
mehr.

Anhand von Datenblattwerten alleine, lässt sich das Rauschverhalten 
meist nur schätzen, weil die Angaben in den Datenblättern nicht sinnvoll 
lesbar sind oder der passende Frequenzbereich fehlt.

von Martin (martin912)


Lesenswert?

Grundsätzlich bestrome ich eine Spule. Über den Shuntwiderstand mache 
ich eine Strommessung und an der Spule eine Spannungsmessung (RL-Glied). 
Daraus möchte ich dann die Impedanz berechnen. Das funktioniert auch.

Ich möchte nun das Rauschverhalten der Signalgenerierung bzw. 
Signalauswertung ermitteln. Die Signalgenerierung findet in einer DAQ 
Box statt. Dieses Ausgangssignal wird dann von einem Low-Noise 
Tiefpassfilter geglättet. Dann wird das Signal mit einem 
Linearverstärker verstärkt und die Strecke (Shuntwiderstand und Spule) 
bestromt. Die beiden Messspannungen werden dann wieder tiefpassgefiltert 
und von der DAQ Box aufgezeichnet. Um den Soll Strom zu erreichen ist 
ein iterativer Regler überlagert. -> Auch dieser Regler erzeugt sowas 
wie ein Quantisierungsrauschen da die Zielgröße (Strom) soweit 
ausgeregelt wird bis er innerhalb einer gewissen Grenze liegt.

Dieses Rauschverhalten der Schaltung möchte ich allgemein angeben. z.B. 
in Abhängigkeit der Bits der DAQ Box, der Temperatur, der eingestellten 
Regelgenauigkeit des Stromreglers usw.
Der Wiederstand der Spule bewegt sich im Bereich von 2 Ohm. Also tritt 
dort bei Raumtemperatur auch kein wirklich merkbares thermisches 
Rauschen auf.

Warum mache ich das Ganze? Wenn ich das Rauschverhalten der Auswertung 
kenne, kann ich eine Spule bestmöglich bauen.
Meiner Einschätzung nach kann ich thermisches Rauschen und 
Schrotrauschen vernachlässigen, da es weit unter U_LSB der DAQ Box 
liegt.

Ja ich werte immer nur schmal bei einer Frequenz aus. Als 
Fensterfunktion verwende ich ein Hanning Window bei der fft.

: Bearbeitet durch User
von Simon D. (jamen)


Lesenswert?

Alles klar, verstehe.

Um die Signalgenerierung musst du dir keine Sorgen machen. Wenn die 
rauscht oder der Regler Sprünge macht, verschwendest du zwar 
Anregungsleistung auf Frequenzbereiche, die dich eigentlich gar nicht 
interessieren, aber es macht deine Impedanzmessung nicht schlechter, 
weil das Rauschen trotzdem durch dein DUT geht und damit auch eine echte 
Signalleistung in deinem Spannungs- und Strommesskanal bewirkt. Diese 
Signalleistung überlagert sich   mit deinem eigentlichen Anregungssignal 
und erhöht es ein wenig. Meistens hat das keinen nennenswerten Effekt, 
weil die Leistung einfach so klein ist. Wenn es einen nennenswerten 
Effekt hätte, wäre der aber zu deinem Nutzen.

Du musst dann lediglich bei deiner Auswertung darauf achten, dass du das 
richtige Schätzverfahren für den Frequenzgang verwendest. Du erfüllst 
dann nämlich nicht mehr zwingend die Bedingung für das einfache Z = U/I 
(Maximum-Likelihood-Schätzer), wenn ein relevanter Signalanteil nicht 
periodisch ist bzw. nicht mit deinem eigentlichen Anregungssignal 
synchronisiert ist und sich von Fenster zu Fenster verändert. In deinem 
Fall könntest du mit dem H1- oder H2-Schätzer starten, der ist 
demgegenüber robuster aber hat einen Bias in Abhängigkeit vom Rauschen 
deiner Spannungs- oder Strommessung. Wenn du eine gute Synchronisation 
deiner Messung mit dem Anregungssignal hast, dass deine DFT-Fenster also 
immer dieselbe Phasenlage zum Anregungssignal haben, kannst du auch den 
ML-Schätzer verwenden. Der ist einfacher zu berechnen und hat das 
Problem mit der Bias nicht. Informationen findest du in diesem Buch, das 
ist wirklich sehr gut.

https://ieeexplore.ieee.org/book/6198969

Allgemein haben die beiden Hauptautoren viele Artikel zum Thema 
veröffentlicht, da findet man ganz viel. Es gibt auch noch dieses 
Tutorial, das für den direkten Einstieg vermutlich etwas besser ist als 
das gesamte Buch.

https://ieeexplore.ieee.org/document/8412623

Den Frequenzgangschätzer kannst du mit Matlab oder Octave rechnen. Die 
entsprechende Funktionen sind tfestimate oder etfe.

https://de.mathworks.com/help/signal/ref/tfestimate.html
https://de.mathworks.com/help/ident/ref/etfe.html

Mithilfe der Funktion pwelch kannst du das Leistungsdichtespektrum des 
Grundrauschens deiner Messkanäle und deines Anregungskanals bestimmen. 
Daraus kannst du dann die Größen berechnen, die du für die Abschätzung 
deiner Schätzgüte brauchst. So findest du dann heraus welchen Einfluss 
deine Messkanäle auf das Ergebnis haben.

Ich wünsche dir viel Erfolg dabei, klingt nach einem coolen Projekt.

von Andrew T. (marsufant)


Lesenswert?

Martin schrieb:
> (ca. 200 mA, 1 kHz bis 100 kHz)... (mit einem linear
>  Shunt Widerstand mit 0.58... Ohm
> (sehr genau vermessen).
> ...ZDer kleinste Messspannungsbereich beträgt +-1 V und hat eine
> Auflösung von 16 Bit.


200mA an 0,58 R ergeben ungefähr 1.1V rms / 1.6V pk.
Damit werden von den 16Bit Auflösung nur noch ca. 13 Bit genutzt.
Genauigkeit (nicht auflösung) geschätzt auf 11..12 Bit.

ergo:
Einsatz eines Vorverstärker (rauscharm) ist hier zu empfehlen.

von Simon R. (Gast)


Lesenswert?

Andrew T. schrieb:
> Einsatz eines Vorverstärker (rauscharm) ist hier zu empfehlen.
Mach uns mal ein Angebot.
Ich bin gerade an dem Thema dran.
Habe mich bei Audio umgesehen.
Aber da werden angeblich keine (mehr) eingesetzt:
Beitrag "Re: RMEs RIAA Entzerrung im DSP"

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.