Forum: Analoge Elektronik und Schaltungstechnik Anti-Aliasing-Filter und die THD


von Gustl B. (-gb-)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich baue gerade mal wieder an einer Hardware mit ADC, dem AD7380. Als 
ADC-Treiber habe ich einen ADA4940-2 eingeplant.

Weil der ADA4940 aktuell nicht lieferbar ist habe ich einen ADA4932-2 
bestückt (daher auch das Signal bei -8 dB, beim ADA4940 kann das höher 
werden mit gleicher positiver Versorgung). Das wird noch umbestückt, 
aber darum soll es gar nicht gehen.

Zwischen ADA4932 und ADC habe ich einen Anti-Aliasing-Filter aufgebaut 
und zwar einfach zwei RC-Tiefpässe in Reihe. Die tun auch was sie 
sollen.

Bei ersten Messungen habe ich mich gewundert, dass ich relativ laute 
Obertäne sehe, nur so um die 60 dB kleiner als das Signal selbst. Dann 
habe ich den Anti-Aliasing-Filter entfernt (nur die Cs) und siehe da, 
die Obertöne sind deutlich schwächer. Ich bekomme jetzt etwas über 80 dB 
zwischen Signal und Obertöne.

Meine Fragen sind jetzt:

Wie baut man typischerweise Anti-Aliasing-Filter auf? In den 
Datenblättern von ADCs ist oft nur ein einfacher RC-Tiefpass gezeigt. 
Baut man da Filter höherer Ordnung auf?

Welche Bauteile verwendet man? Cs haben ja eine spannungsabhängige 
Kapazität, da gibt es C0G NP0 Typen. Aber solche hatte ich verbaut. 
Woher kommt diese "Verzerrung" bei passiven Bauteilen?

Sollte man auch einen Anti-Aliasing-Filter vor den ADC setzen wenn das 
zu digitalisierende Signal keine Frequenzen > f_sample/s enthält (ausser 
Rauschen)?

Vielen Dank!

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Gustl B. schrieb:
> Wie baut man typischerweise Anti-Aliasing-Filter auf? In den
> Datenblättern von ADCs ist oft nur ein einfacher RC-Tiefpass gezeigt.
> Baut man da Filter höherer Ordnung auf?

Jenachdem wieviel Platz du im Spektrum hast zwischen den hoechsten in 
deinem Signal vorkommenden Frequenzen und der halben Abtastfrequenz.
Wenn du z.b. mit einem Sigmadelta ADC arbeitest, dann tastet der ja 
vieeel hoeher ab, als dein eigentliches Nutzsignal Frequenzen hat, da 
reicht dann oft im Analogteil ein popeliges RC Filter. (Dafuer brauchts 
dann halt im Digitalen, nach der Abtastung ein steilflankiges 
(digitales) Filter).
Wenn du eher wenig Platz zwischen deinen hoechsten Nutzfrequenzanteilen 
und der halben Abtastfrequenz des ADCs hast, wirst du ein steileres 
Filter brauchen koennen...
Da du eh' grad' nur einen Sinus in deinen ADC einspeist, brauchst du 
garkein Aliasfilter, der Sinus hat ja keine Oberwellen, d.h. entweder er 
ist frequenzmaessig kleiner als die halbe Abtastfrequenz, dann ist alles 
in Butter, oder wenn eben nicht, dann kriegst du halt ein Aliassignal 
aus deinem ADC (ohne Filter) bzw. kein Signal mehr(wenn das Filter gut 
is)...

Je nach Frequenz und Impedanzverhaeltnissen kannst du dein Filter z.b. 
als Aktivfilter mit OpAmps, R +C aufbauen oder als passives LC Filter.
Swiched-Capacitor Filter wuerd' ich nicht empfehlen, weil die ja auch so 
eine Art Abtastung machen.


Gruss
WK

von Gustl B. (-gb-)


Lesenswert?

Ja, ich habe Platz, muss nicht steilflankig sein. Das ist ein SAR-ADC. 
Mit 4 MSample/s. Mir reicht der Bereich bis 200 kHz, danach darf es 
deutlich gedämpft werden.

Dergute W. schrieb:
> Da du eh' grad' nur einen Sinus in deinen ADC einspeist

Ist mir klar, den Sinus nehme ich um die Harmonischen zu sehen. Später 
will ich damit keinen Sinus messen sondern wie schon öfter kurze 
Impulse.

Dergute W. schrieb:
> Je nach Frequenz und Impedanzverhaeltnissen kannst du dein Filter z.b.
> als Aktivfilter mit OpAmps, R +C aufbauen oder als passives LC Filter.

Was man kann weiß ich grob. Die Frage ist eher was Sinn macht und wo 
Verzerrungen herkommen. Ich hatte ja rein passiv RC vor dem ADC und das 
hat schon Obertöne hervorgehoben. Welcher Filtertyp ist empfehlenswert 
wenn ich möglicht keine Verzerrung haben möchte? Was für Bauteile sollte 
man nutzen und welche meisen?

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Gustl B. schrieb:
> Ich hatte ja rein passiv RC vor dem ADC und das
> hat schon Obertöne hervorgehoben.
Ja, interessant. Entweder da war das C tatsaechlich arg nichtlinear - 
oder, was ich fuer wahrscheinlicher halte, der Ausgang, der das 
RC-Filter speist, kommt nicht so dolle mit der dann kapazitiv gefaerbten 
Last zurecht, die das RC-Filter dann evtl. an seinem Eingang bildet.
Wo kommt denn das Signal her, welche Werte haben dein R und C und wo 
gehts dann hin? Schaltbildauszug waere toefte.


> Welcher Filtertyp ist empfehlenswert
Traditionell ein Bessel, wenns dir auf die Kurvenform ankommt. Aber der 
hat halt auch den schlechtesten (flachsten) Verlauf in der 
Sperrdaempfung.

> wenn ich möglicht keine Verzerrung haben möchte? Was für Bauteile sollte
> man nutzen und welche meisen?
LC-Filter rauschen natuerlich weniger und brauchen keine sauber 
Betriebsspannung und keine Superduper-OpAmps.
Cs mit irgendwelchen eigenartigen Dielektrika oder Spulen die in die 
Saettigung gehen sind potentiell problematisch. Ist halt auch ein 
Pegelproblem: Eine Lautsprecherweiche ist anders als ein Eingangsfilter 
am SAT-Tuner.

Gruss
WK

von Gustl B. (-gb-)


Lesenswert?

Dergute W. schrieb:
> Wo kommt denn das Signal her, welche Werte haben dein R und C und wo
> gehts dann hin?

Wie geschrieben, das kommt aktuell aus einem ADA4932-2. Das ist ein 
Diff-Amp. 
https://www.analog.com/media/en/technical-documentation/data-sheets/ADA4932-1_4932-2.pdf

Und geht in einen SAR ADC AD7380. 
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7380-7381.pdf

Bei meinem RC-Filter hatte ich 50 Ohm und 10 nF. Und das eben zwei mal 
hintereinander. Damit liegt laut 
http://sim.okawa-denshi.jp/en/CRCRtool.php die f_c bei 318 kHz und 
f_sample/2 ist um mehr als 30 dB gedämpft.

Dergute W. schrieb:
> Traditionell ein Bessel, wenns dir auf die Kurvenform ankommt. Aber der
> hat halt auch den schlechtesten (flachsten) Verlauf in der
> Sperrdaempfung.

Gegen etwas mit L hatte ich mich entschieden weil ich damit schlicht 
keine Erfahrung habe^^ aber ich kann das gerne mal ausprobieren.

Was ich noch nicht ganz verstanden habe ist das Thema Aus- und 
Eingangsimpedanz. Dieser Diff Amp hat laut Datenblatt eine 
Ausgangsimpedanz < 1 Ohm. Das bedeutet wenn ich einen Filter für 50 Ohm 
rechnen lasse, dann muss ich da am Anfang einen 50 Ohm Widerstand in 
Serie schalten?
Und die Eingangsimpedanz vom ADC, dazu steht gar nichts im Datenblatt. 
Wenn ich also einen Filter rechnen lasse für 50 Ohm Eingangsimpedanz, 
dann müsste ich vor dem ADC noch mit 50 Ohm terminieren?
Und dann ist das ja differentiell. Sprich die Werte der Induktivitäten 
halbieren sich dafür kommen die in beide Pfade symmetrisch hinein.

Also grob so:
1
+ out --- RS -+---- L2/2 -+---- L4/2 -+-------+-- in +
2
             _|_         _|_         _|_     _|_
3
             ___ C1      ___ C3      ___ C5  |_| RL
4
              |           |           |       |
5
- out --- RS -+---- L2/2 -+---- L4/2 -+-------+-- in -

Benamsung wie hier: https://rf-tools.com/lc-filter/ Das wäre 5. Ordnung 
Tiefpass.

Dergute W. schrieb:
> LC-Filter rauschen natuerlich weniger und brauchen keine sauber
> Betriebsspannung und keine Superduper-OpAmps.
> Cs mit irgendwelchen eigenartigen Dielektrika oder Spulen die in die
> Saettigung gehen sind potentiell problematisch.

Genau, da habe ich mich lieber auf RC beschränkt und dachte das wäre 
schön einfach. Aber ich bin auch bereit da mehr auszuprobieren, weiß nur 
nicht so recht auf was ich achten sollte.

von Olaf (Gast)


Lesenswert?

> Bei meinem RC-Filter hatte ich 50 Ohm und 10 nF. Und das eben zwei mal
> hintereinander. Damit liegt laut

DAs wundert mich jetzt auch etwas. Ueblicher weise liegen die 
Eckfrequenzen bei Filtern zweiter Ordnung etwas nebeneinander weil die 
sich gegenseitig beeinflussen.

> rechnen lasse, dann muss ich da am Anfang einen 50 Ohm Widerstand in
> Serie schalten?

Klar, sonst hast du ja einen ganz anderen Filter.

> Gegen etwas mit L hatte ich mich entschieden weil ich damit schlicht
> keine Erfahrung habe^^ aber ich kann das gerne mal ausprobieren.

Das ist vermutlich auch eher bloed. Zum einen werden die Ls bei deinem 
Frequenzsbereich langsam groesser, und zum anderen, du willst einen 
Filter fuer einen 16Bit ADC. Also im schlimmsten Falle 96dB. Wie 
verhinderst du das die Ls deines Filters gegeneinander Signale 
austauschen?
Dein Frequenzbereich ist doch super fuer einen aktiven RC Filter.

Werd dir erstmal klar wieviel Stopband unterdrueckung du brauchst. Dann 
weiss du welche Filterordnung du brauchst und musst vielleicht erstmal 
kotzen. :-D
Ueberleg dir dabei auch was du fuer Signalfrequenzen im Nutzband hast, 
vielleicht wird es dann weniger schlimm.

BTW: Der Grund warum man im Audiobereich so schnell auf Oversampling 
gegangen ist duerfte wohl die nicht beherrschbarkeit sehr hoher Ordnung 
sein.

> Und die Eingangsimpedanz vom ADC, dazu steht gar nichts im Datenblatt.

Das wuerd mich jetzt aber wundern. Gerade sowas ist bei vielen ADCs ja 
ein Thema und deshalb willst du doch gerade deinen schicken OP 
verwenden.

Mich wuerde ja mal interessieren womit du eigentlich den 100khz Sinus
mit >96dB Rauschabstand erzeugst. Den Funktionsgenerator haette ich auch 
gerne. :)

Noch ein Tip. Rechne dir deinen Filter aus. Dann sollte dir dein 
Filterprogram ja bereits ein paar Daten anzeigen. Dann simulierst du das 
in LT-Spice und vergleichst mal. Wenn beides gut aussieht dann aufbauen.

Olaf

von Gustl B. (-gb-)


Lesenswert?

Olaf schrieb:
> Werd dir erstmal klar wieviel Stopband unterdrueckung du brauchst.

Gustl B. schrieb:
> Sollte man auch einen Anti-Aliasing-Filter vor den ADC setzen wenn das
> zu digitalisierende Signal keine Frequenzen > f_sample/s enthält (ausser
> Rauschen)?

Eigentlich brauche ich keine Unterdrückung. Mein Signal das ich messen 
will ist nicht periodisch, aber ich möchte das möglichst unverfälscht 
messen.

Olaf schrieb:
>> Und die Eingangsimpedanz vom ADC, dazu steht gar nichts im Datenblatt.
>
> Das wuerd mich jetzt aber wundern.

Datenblatt hatte ich verlinkt.

Olaf schrieb:
> Mich wuerde ja mal interessieren womit du eigentlich den 100khz Sinus
> mit >96dB Rauschabstand erzeugst. Den Funktionsgenerator haette ich auch
> gerne. :)

Ich auch. Klar habe ich keine perfekte Quelle. Also das Bildchen oben 
zeigt wie es ohne Filter aussieht. Gut möglich, dass das was man an 
Obertönen sehen kann aus dem Generator kommt. Nur mit Filter waren die 
Oberhöne höher. Ich werde noch einen Bandpass bauen für die 100 kHz, 
dann weiß ich mehr ... oder auch nicht, denn der Bandpass kann ja auch 
Harmonische verstärken wenn man ihn nicht richtig baut.

von Jobst M. (jobstens-de)


Lesenswert?

Keramikkondensatoren sind eigentlich alle Spannungsabhängig und fügen 
Dir somit Oberwellen ein. Für sowas nimmt man z.B. Folienkondensatoren.

Gruß
Jobst

von Cartman (Gast)


Angehängte Dateien:

Lesenswert?

Besorg dir mal RFSim99. Dann musst hier nicht so viel fragen.
Im Anhang mal ein Beratungsmuster.

Keramikkondensatoren gehen schon, nur die Spannungsfestigkeit
muss entsprechend hoch sein. Und zwar nicht wegen der hohen
Spannungen...

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Gustl B. schrieb:
> Eigentlich brauche ich keine Unterdrückung. Mein Signal das ich messen
> will ist nicht periodisch, aber ich möchte das möglichst unverfälscht
> messen.

In deinem Fall waer's sicher auch OK, das Filter komplett wegzulassen. 
Wenn ich's richtig im Kopp hab', dann ist ja die Kurvenform deiner 
Signale eh schon immer bekannt, es kommt eher auf die Flaeche/Hoehe oder 
sowas an.
Da kann man prinzipiell das Abtasttheorem verletzen, man "weiss ja was 
man tut". Ggf. kann man's danach wieder rausrechnen.
Aber wenn die Impulse schon so gaussfoermig vorverzerrt sind, sind sie 
eh bandbegrenzt.

Ansonsten beim LC-Filter: Wenns beidseitig mit Z abgeschlossen sein soll 
(z.b. Z=50 Ohm), dann kann man das so machen, wie von dir angedeutet. 
Dabei verlierst du aber 6dB Pegel (also die Haelfte).
 In dem konkreten Fall seh' ich aber um's Filter rum nicht die 
Notwendigkeit eines Abschlusses mit Z. Daher wuerd' ich das Filter so 
designen, dass es einen eher niederohmigen Eingang und eher hochohmigen 
Ausgang hat. Zusaetzlich am Eingang des Filters nicht mit C nach Masse 
anfangen, sondern mit Serien L (damit wird das Filter im sperrberich 
hochohmig, das wird der OpAmp wohl besser vertragen als ein C nach 
Masse). Analog dazu am Ausgang des Filters mit C nach Masse aufhoeren 
und nicht mit Serien L (Mutmasslich wird das letzte C groesser sein, als 
die internen Kapazitaeten des ADCs, damit kann da beim Messen "noch 
Ladung nachgeschoben werden").

Ja, und eben bei den Cs drauf achten, dass das Dielektrikum keine Faxen 
macht. OK, und die Ls jetzt nicht gerade direkt parallel nebeneinander 
legen. Oder eh alles weglassen :-)

Gruss
WK

von Gustl B. (-gb-)


Lesenswert?

Cartman schrieb:
> Besorg dir mal RFSim99. Dann musst hier nicht so viel fragen.
> Im Anhang mal ein Beratungsmuster.

Ich habe Multisim und Spice. Aber welche meiner Fragen würde mir das 
beantworten?

Dergute W. schrieb:
> In deinem Fall waer's sicher auch OK, das Filter komplett wegzulassen.
> Wenn ich's richtig im Kopp hab', dann ist ja die Kurvenform deiner
> Signale eh schon immer bekannt, es kommt eher auf die Flaeche/Hoehe oder
> sowas an.

Das ist der Grund meiner Fragerei. Es geht drum die Spannung möglichst 
genau zu messen. Und Verzerrungen machen das leider nicht besser.

Dergute W. schrieb:
> Ansonsten beim LC-Filter:

Danke, das macht Sinn. Im nächsten Layout werde ich mal verschiedene 
Bestückungen vorsehen und ausprobieren.

Dergute W. schrieb:
> Ja, und eben bei den Cs drauf achten, dass das Dielektrikum keine Faxen
> macht. OK, und die Ls jetzt nicht gerade direkt parallel nebeneinander
> legen. Oder eh alles weglassen :-)

Tja, das ist eben das Problem wenn ich einen Filter verbaue, mehr 
Bauteile und schon kommen mehr Störungen dazu. Das Layout betrachte ich 
auch als Bauteil^^ aber weil das bei mir differentiell ist das Signal 
glaube ich, dass man auch den Filter schön symmetrisch aufbauen kann. 
Hier 
https://kaizerpowerelectronics.dk/wp-content/gallery/2019_06_03_-_nokia_siemens_flexi_fxeb/GS6A6853-text.jpg 
kann man das an mehreren Stellen sehen.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Gustl B. schrieb:
> Im nächsten Layout werde ich mal verschiedene
> Bestückungen vorsehen und ausprobieren.

Und nicht an den GND-Durchkontaktierungen sparen. Die sind wichtig.

Gruss
WK

von Cartman (Gast)


Lesenswert?

> Aber welche meiner Fragen würde mir das
> beantworten?

Z.B. die, ob ein Filter auch am Eingang "seine" Impedanz sehen will.
Multisim hab ich hier auch, aber um mal an Filtern zu "drehen"
eignet sich RFSim99 einfach besser.
Man beachte z.B. den 91 Ohm Widerstand bei meinem RLC-Filter hinter
der 50 Ohm-Quelle...

Deine Besorgnis gegen Induktivitaeten ist im uebrigen voellig
unbegruendet. So ein kleines Spuelchen erhoeht ohne viel
Aufwand den Filterfaktor um eine Ordnung.

von Gustl B. (-gb-)


Angehängte Dateien:

Lesenswert?

Das stimmt. Eigentlich habe ich auch schon Hardware gebaut, die "gut 
genug" ist. Der Grund für den Neubau ist a) Spieltrieb und b) möchte ich 
mich an einen Standard halten.

Das kommt am Ende an ein FPGA Board und ich möchte nicht für jede 
Iteration am ADC und Frontend gleich ein neues FPGA Board bauen, das 
kostet. Also muss das steckbar werden. Das hier ist jetzt der erste 
Teil, der langsamere aber genauere ADC. Im zweiten Teil kommt dann der 
schnelle ADC, da fange ich gerade an.

Bei dem langsamen ADC hier habe ich mich wieder für die galvanische 
Trennung entschieden. Und dieses Mal für PMOD als Anschluss. Ich brauche 
also einen isolierten DCDC von 3.3 V nach 5 V und für den Diff-Amp noch 
eine Ladungspumpe für die negative Versorgung. Und das alles musste 
schön gefiltert werden. Das war mein Primärziel. Und siehe da, das habe 
ich auch erreicht. Wenn ich den Eingang extern kurzschließe, also an der 
SMA Buchse vor dem Diff-Amp, dann bekomme ich bei 32 kSamples es 
Histogramm wie im Anhang.
Der Nächste Schritt ist das jetzt bei echten Messungen zu testen und mit 
dem zu vergleichen was ich schon früher gebaut hatte und dann eben 
vielleicht noch einen Filter einzubauen der zwar das Signal möglichst 
wenig verfälscht, mir aber auch das Aliasing unterdrückt.

Cartman schrieb:
> eignet sich RFSim99 einfach besser.

Ok, werde ich mir angucken. Aktuell verwende ich gerne 
https://rf-tools.com/lc-filter/

Cartman schrieb:
> Deine Besorgnis gegen Induktivitaeten ist im uebrigen voellig
> unbegruendet.

Danke, dann werde ich in Zukunft auch Ls verwenden.

: Bearbeitet durch User
von udok (Gast)


Lesenswert?

Der Filter ist viel zu hochohmig.
Üblich sind max 30 Ohm.

Daher das hohe THD mit der nichtlinearen ADC Kapazität.

Spule ist hier eher nicht gut, dann schon eher ein aktiver Bessel >= 3 
Ordnung.

NP0 Keramik ist besser als Folie, ausser Polypropylen, das es aber nicht 
als SMD gibt.

Schönes Weihnachtsfest,
Udo

von Gustl B. (-gb-)


Lesenswert?

udok schrieb:
> Der Filter ist viel zu hochohmig.
> Üblich sind max 30 Ohm.

Danke! Gerade ausprobiert, mit 50 Ohm statt 25 Ohm werden die 
Harminischen deutlich schlimmer. Dann werde ich also mit dem R kleiner 
werden. Bei RC müsste das C dann aber größer werden.

udok schrieb:
> Spule ist hier eher nicht gut

Warum?

udok schrieb:
> NP0 Keramik ist besser als Folie, ausser Polypropylen, das es aber nicht
> als SMD gibt.

Danke!

Frohe Weihnachten!

von Cartman (Gast)


Lesenswert?

udok schrieb:
> Spule ist hier eher nicht gut

Man darf natuerlich keine Siebdrosseln nehmen.
Die sind auf "Verlust" optimiert.
Datenblatt studieren und Anwendungsfaelle beachten.
Bei mehreren Induktivitaeten:
Magnetische Achsen um 90 Grad versetzen.

Hat man passende Ferrite, kann man Spulen auch messgeschneidert
selber wickeln.

von Cartman (Gast)


Lesenswert?

Ach ja

Frohe Weihnachten!
auch von mir.

von Gustl B. (-gb-)


Lesenswert?

udok schrieb:
> Der Filter ist viel zu hochohmig.
> Üblich sind max 30 Ohm.

Dazu habe ich noch eine Frage zum Filterdesign:

Wenn ich z. B. 20 Ohm anstrebe, muss ich dann bei einem Filterdesigner 
wie hier https://rf-tools.com/lc-filter/ Input und Output Impedanz dann 
auch auf die 20 Ohm stellen? Das wäre gut, denn dann werden die Ls 
kleiner, die Cs dafür größer.

Und wo ich schon dabei bin:

Gibt es Software für differentielle Filter und aktive differentielle 
Filter?

Wobei ... darf man das Signal aus einem Diff-Amp als echte 
differentielle Quelle betrachten? Hier 
https://www.analog.com/en/technical-articles/understanding-and-designing-differential-filters-for-communications-systems.html 
wird in Figure 13 - 15 gezeigt wie man single-ended Filter nach 
differentiell umbaut. Aber da ist links eben eine echte Quelle 
gezeichnet. Die gibt am einen Ende Strom aus und nimmt am anderen Ende 
Strom auf. Nicht so der Diff-Amp. Der gibt zwar ein differentielles 
Signal aus, aber das sind quasi zwei getrennte Quellen die nur 
komplementäre Pegel ausgeben. Keiner der Diff-Amp Ausgänge nimmt Strom 
auf.

Und weiter:
Gibt es Bauteile wie den LT6604 
https://www.analog.com/media/en/technical-documentation/data-sheets/660425fa.pdf 
auch mit niedrigerer f_c?

von udok (Gast)


Lesenswert?

Gustl B. schrieb:
> udok schrieb:
>> Spule ist hier eher nicht gut
>
> Warum?

Die Frequenz ist zu niedrig => die Spule ist gross, hat einen hohen 
ohmschen
Wickelwiderstand, und strahlt ab, fängt Störungen ein, und die
nichtlinearen Ferrite hauen das THD zusammen.

Du brauchst eine niedrige Treiberimpedanz, am besten wird daher
ein passender Opamp Filter (Bessel 3ter Ordnung) funktionieren,
oder wenn es billiger sein darf, ein einfacher RC-Filter mit R möglichst 
klein.

von Olaf (Gast)


Lesenswert?

> Du brauchst eine niedrige Treiberimpedanz, am besten wird daher
> ein passender Opamp Filter (Bessel 3ter Ordnung) funktionieren,

Ich glaub das will er nicht hoeren. :)
Aber ich denke man lernt am besten wenn man es mal probiert.
Vielleicht gibt es ja noch irgendwo einen Schaltregler auf dem
Board den wird man dann vermutlich bei 96dB auch schoen
in der Spule wiederfinden.

Olaf

von udok (Gast)


Angehängte Dateien:

Lesenswert?

Gustl B. schrieb:
> Dazu habe ich noch eine Frage zum Filterdesign:
>
> Wenn ich z. B. 20 Ohm anstrebe, muss ich dann bei einem Filterdesigner
> wie hier https://rf-tools.com/lc-filter/ Input und Output Impedanz dann
> auch auf die 20 Ohm stellen? Das wäre gut, denn dann werden die Ls
> kleiner, die Cs dafür größer.

Ausgangsimpedanz ist die Eingangsimpedanz deines ADC!
Also eher irdendwas um die 30-100 pF parallel zu ein paar Megaohm.
Nimm einfach 1 KOhm, die Filter sind nicht sensitiv auf den Wert,
sofern er viel höher als die charakteristische Filter-Impedanz ist.

> Und wo ich schon dabei bin:
>
> Gibt es Software für differentielle Filter und aktive differentielle
> Filter?

Filter Solutions kann das.
Ist aber auch einfach händisch machbar, wie in deiner AppNote gezeigt.

>
> Wobei ... darf man das Signal aus einem Diff-Amp als echte
> differentielle Quelle betrachten?
In erster Näherung ja, sofern der Strom im Limit bleibt, und die 
Open-Loop-Gain der Schaltung bei der Frequenz ausreichend hoch ist.

Wenn du es genauer wissen willst, schau ins Datenblatt.  Da gibt es bei
den besseren Opamps die Open-Loop Ausgangsimpedanz über die Frequenz.

Ist aber nicht kritisch, sofern die charakteristische Filterimpedanz >> 
als
die Opamp-Ausgangsimpedanz ist.

Hier
> 
https://www.analog.com/en/technical-articles/understanding-and-designing-differential-filters-for-communications-systems.html
> wird in Figure 13 - 15 gezeigt wie man single-ended Filter nach
> differentiell umbaut. Aber da ist links eben eine echte Quelle
> gezeichnet. Die gibt am einen Ende Strom aus und nimmt am anderen Ende
> Strom auf. Nicht so der Diff-Amp. Der gibt zwar ein differentielles
> Signal aus, aber das sind quasi zwei getrennte Quellen die nur
> komplementäre Pegel ausgeben. Keiner der Diff-Amp Ausgänge nimmt Strom
> auf.
>
> Und weiter:
> Gibt es Bauteile wie den LT6604
> https://www.analog.com/media/en/technical-documentation/data-sheets/660425fa.pdf
> auch mit niedrigerer f_c?

Weiss ich nicht.  Du kannst aber einen Differenzverstärker aus zwei 
Opamps dafür verwenden.  Oder ein einfacher Filter, und nachher ein 
Inverter.

Oder du nimmst einen Single-Ended ADC (mit pseudodifferenziellem 
Eingang),
der ist viel einfacher zu verwenden.

Ich habe dir zwei Filter angehängt.  Ein Bessel 3'ter Ordnung mit -1 dB 
@ 100kHz, und ein passives Filter, das von Opamps angesteuert wird, über 
50
Ohm Serienimpedanz.
Niedriger würde ich da nicht gehen, sonst geben die Opamps auf, oder 
schwingen.
Du siehst dass das passive Filter mindestens 47 uH braucht, was für gute
Spulen viel ist.
Anbei siehst du auch das Impulsverhalten des aktiven Filters.

Vielleicht erzählst du, was das werden soll?  Wenn es nur um die 
Detektion von Zeitsignalen geht, ist ein Filter vielleicht gar nicht 
notwendig.

von udok (Gast)


Lesenswert?

Bevor ich es vergesse:
Ein kleines R-C (10 Ohm - 20*X) mit X = ADC Eingangskapazität
brauchst du immer vor dem ADC Eingang, da der ADC Spikes durch
das Umschalten der internen Sample-Hold Kapazität produziert.

von udok (Gast)


Lesenswert?

Olaf schrieb:
> Vielleicht gibt es ja noch irgendwo einen Schaltregler auf dem
> Board den wird man dann vermutlich bei 96dB auch schoen
> in der Spule wiederfinden.

Kann gut sein.

von Gustl B. (-gb-)


Lesenswert?

udok schrieb:
> Opamp Filter (Bessel 3ter Ordnung)

Wie der für single-ended aussieht weiß ich und wie der für differentiell 
mit zwei OPVs aussieht ebenfalls, aber wie sieht der mit einem Diff-amp 
aus?

Olaf schrieb:
> Ich glaub das will er nicht hoeren. :)
> Aber ich denke man lernt am besten wenn man es mal probiert.

(-: Aber um das Lernen geht es mir hier ja auch. Eine funktionierende 
Lösung habe ich bereits die gut genug ist.

Olaf schrieb:
> Vielleicht gibt es ja noch irgendwo einen Schaltregler auf dem
> Board den wird man dann vermutlich bei 96dB auch schoen
> in der Spule wiederfinden.

Schaltregler ja, aber wenn ich den Eingang kurzschließe, extern an der 
SMA Buchse, dann sehe ich davon genau nichts. Und darum ging es mir 
primär. Das ist galvanisch getrennt, hat also einen DCDC und noch eine 
Ladungspumpe die gefiltert werden mussten.

udok schrieb:
> Ausgangsimpedanz ist die Eingangsimpedanz deines ADC!
> Also eher irdendwas um die 30-100 pF parallel zu ein paar Megaohm.
> Nimm einfach 1 KOhm, die Filter sind nicht sensitiv auf den Wert,
> sofern er viel höher als die charakteristische Filter-Impedanz ist.

Danke!

udok schrieb:
> Du kannst aber einen Differenzverstärker aus zwei
> Opamps dafür verwenden.  Oder ein einfacher Filter, und nachher ein
> Inverter.

Ja, aber es gibt doch diese schönen Diff-Amps, dann kann ich die auch 
verwenden.

udok schrieb:
> Oder du nimmst einen Single-Ended ADC (mit pseudodifferenziellem
> Eingang),
> der ist viel einfacher zu verwenden.

Einfacher ja, aber auch störanfälliger.

udok schrieb:
> Ich habe dir zwei Filter angehängt.

Vielen Dank!

udok schrieb:
> Ein Bessel 3'ter Ordnung mit -1 dB
> @ 100kHz,

Der Aktive mit OPV. Wenn ich den aufbaue entweder mit Diff-Amp oder zwei 
OPVs, sollte ich den dann direkt an den Eingang setzen, oder erst hinter 
den ersten Diff-Amp?

Also:

-> Diff-Amp -> aktives Filter -> ADC
oder
-> Diff-Amp_mit_Filter -> ADC?

udok schrieb:
> und ein passives Filter, das von Opamps angesteuert wird

Das würde ich dann hinter den Diff-Amp am Eingang setzen und dahinter 
direkt in den ADC gehen, richtig?

udok schrieb:
> Ein kleines R-C (10 Ohm - 20*X) mit X = ADC Eingangskapazität
> brauchst du immer vor dem ADC Eingang, da der ADC Spikes durch
> das Umschalten der internen Sample-Hold Kapazität produziert.

Genau. Würde ich das dann hinter das passive Filter vor den ADC setzen 
oder lieber da nochmals einen ADC dazwischen?

udok schrieb:
> Vielleicht erzählst du, was das werden soll?  Wenn es nur um die
> Detektion von Zeitsignalen geht, ist ein Filter vielleicht gar nicht
> notwendig.

Gibt es einen Unterschied zwischen Zeit- und Frequenzsignalen? Mir ist 
schon klar, dass man jedes Signal immer in eine Summe aus Signalen 
unterschiedlicher Frequenzen zerlegen kann, aber wann ist das sinnvoll?
Meine Signale kommen aus einem Germaniumdetektor, oder aus dessen 
Vorverstärker. Das sind Spannungsstufen, die langsam exponentiell 
abfallen. Zwischen solchen Impulsen ist Stille, also DC. Normalerweise 
wird das extern, analog mit einem Pulse-shaping-amplifer zu einem 
kurzen, gaußförmigem Impuls geformt. Der macht auch Pileup-reject weil 
von den langen, exponentiell abfallenden Impulsen auch mal mehrere 
überlagern können bei hoher Zählrate.
Jedenfalls mache ich das digital und bin damit ähnlich gut wie das was 
man dazu kaufen kann.

Ich baue das jetzt nur neu aus Spieltrieb, weil mein bisher verwendeter 
ADC nicht so irre gut war was Rauschen angeht, und weil ich zukünftig 
die Signale mehrerer Quellen verheiraten möchte. Daher baue ich das 
jetzt auch kompakt und modular.
Bisher hatte ich nur ein einfaches RC-Filter.

von Gustl B. (-gb-)


Lesenswert?

Hm, ich lass das mit dem Filter jetzt erstmal für die ersten 
Testmessungen.

Jetzt habe ich etwas herumbestückt und Cs vor dem ADC nach Masse 
verschlimmern das DC-Histogramm deutlich. Ich befürchte, dass dadurch 
Störungen von dem DCDC und der Ladungspumpe einkoppeln.

Was aktuell gut aussieht ist je Signalpfad

Diff-Amp -> 25 Ohm -> 1 nF nach Masse -> 25 Ohm -> ADC

Wenn ich die letzten 25 Ohm vor dem ADC durch 0 Ohm ersetze wird das 
Histogramm deutlich breiter und auch wenn ich zwischen die 25 Ohm und 
den ADC noch einen 220 pF oder 1 nF (habe ich als C0G da) nach Masse 
setze. So wirklich kann ich mir das nicht erklären ausser eben durch 
Einkoppelungen von Masse her (?). Die Tage werde ich mal Testmessungen 
machen und dann gucken ob ich einen Filter brauche. Wenn nicht wäre ich 
soweit zufrieden.

von udok (Gast)


Lesenswert?

Gustl B. schrieb:
> Jetzt habe ich etwas herumbestückt und Cs vor dem ADC nach Masse
> verschlimmern das DC-Histogramm deutlich. Ich befürchte, dass dadurch
> Störungen von dem DCDC und der Ladungspumpe einkoppeln.

Die Cs dürfen nicht an Masse, sondern sind zwischen + und - vom ADC.

von Gustl B. (-gb-)


Lesenswert?

Warum? Hier 
https://www.analog.com/media/en/technical-documentation/data-sheets/ada4940-1_4940-2.pdf 
Seite 27 gehen die nach Masse.
Und hier 
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7380-7381.pdf 
Seite 17 gehen die sowohl nach Masse als auch von + nach -.

Du würdest also bei einem RC-RC Tiefpass beide Cs nur von + nach - 
setzen?

Oder meinst du den hier erwähnten C:

udok schrieb:
> Ein kleines R-C (10 Ohm - 20*X) mit X = ADC Eingangskapazität
> brauchst du immer vor dem ADC Eingang

: Bearbeitet durch User
von udok (Gast)


Lesenswert?

Gustl B. schrieb:
> Gibt es einen Unterschied zwischen Zeit- und Frequenzsignalen? Mir ist
> schon klar, dass man jedes Signal immer in eine Summe aus Signalen
> unterschiedlicher Frequenzen zerlegen kann, aber wann ist das sinnvoll?

Die Zerlegung ist dann sinnvoll, wenn du das Zeitsignal wieder exakt 
rekonstruieren willst.
Diese Diskussion wurde immer wieder im Zusammenhang mit digital Oscis
geführt.  Soll man das Frequenzband relativ hart abschneiden,
oder nur einen sanften Gauss Filter 1 Ordnung verwenden (wie es die
analogen Oscis machen)?

Im ersten Fall sieht man ein falsches Signal, und im zweiten Fall auch.

Im zweiten Fall ist aber die Zeitstruktur (im Rahmen der Bandbreite) 
intakt,
da die Phasenbeziehungen zwischen den Harmonischen sich nicht ändert.

Und da ein Osci mehr Wert auf das Zeitverhalten legt (ist ja kein 
Speki),
ist es m.M. nach sinnvoller den zweiten Ansatz zu verfolgen.
Gerade weil man keine Überschwinger sehen will, die eigentlich gar nicht 
da sind, und nur durch die Bandbreitenbegrenzung entstehen.

> Meine Signale kommen aus einem Germaniumdetektor, oder aus dessen
> Vorverstärker. Das sind Spannungsstufen, die langsam exponentiell
> abfallen. Zwischen solchen Impulsen ist Stille, also DC.

Da kommst du wahrscheinlich mit einem einfachen R-C Filter aus,
wenn du genug übersamplest, um den Peak genau genug zu detektieren.
Das lässt sich ja auch super interpolieren.

>Normalerweise wird das extern, analog mit einem Pulse-shaping-amplifer zu einem
> kurzen, gaußförmigem Impuls geformt. Der macht auch Pileup-reject weil
> von den langen, exponentiell abfallenden Impulsen auch mal mehrere
> überlagern können bei hoher Zählrate.
> Jedenfalls mache ich das digital und bin damit ähnlich gut wie das was
> man dazu kaufen kann.

Ja, das geht sicher digital.  Aber ein ziemlicher Aufwand,
der die ganze Sache nicht günstiger macht, zumindest wenn man nicht
noch irgendwo einen ordentlichen Zusatznutzen hat.

Die 16 Bit kommen mir reichlich überzogen vor. Ich schätze dass die
Genauigkeit der Detektoren deutlich unter 1% ist, damit reichen doch
8 oder 12 Bit aus?

Ich täte da einen Cortex M4 oder M7 nehmen, mit schnellen eingebauten
ADCs.  Die ADC lassen sich sehr einfach ansteuern.

Die Daten könnte man auch gleich 1:1 an den PC schicken,
da kann man dann archivieren und verschiedene Signalverarbeitungen damit 
machen (Ist super für Diplomarbeiten).
Die AD Karten dafür gibt relativ günstig von vielen Herstellern.

Auf jeden Fall gutes Gelingen!
Udo

von udok (Gast)


Lesenswert?

Gustl B. schrieb:
>> Oder du nimmst einen Single-Ended ADC (mit pseudodifferenziellem
>> Eingang),
>> der ist viel einfacher zu verwenden.
>
> Einfacher ja, aber auch störanfälliger.

Die Störungen werden bei pseudodifferenziell genauso weggefiltert, wenn 
sie
am + und - ADC Eingang gleichermassen anliegen, so wie auch bei echten 
differenziellen Eingängen.

Du verlierst nur 6 dB vom Signal, also 89 dB statt 95 dB
SNR bei 16 Bit.  Damit kann man meist gut leben, sonst würde
man doch gleich einen 18 Bit ADC einbauen.

Den Aufwand mit differenziellen Eingängen macht man meist nur
wenn man echte 16 Bit oder sogar mehr braucht.
Du musst ja den ganzen Signalpfad differenziell (=doppel) ausführen,
da die Störungen an allen möglichen Stellen einkoppeln.

Daher ist es auch schlecht einen Massebezug mit einem C nach Masse zu 
schaffen, die zerstören die Symmetrie.
Oder wenn du das machst, um Common Mode Störungen wegzufiltern,
dann brauchst du Symmetrie zwischen + und -, wass mit käuflichen
5% Kondensatoren schwer machbar ist.  Daher wandeln die C nach Masse
Common-Mode Störungen in ein differentielles Signal um, das du nie
mehr rausfiltern kannst.  Ist natürlich alles auch eine Frage, wie
stark Common Mode Störungen sind, und in welchem Frequenzbereich.
Der R-C sollte ja eigentlich ausserhalb des Nutzfrequenzbereichs 
filtern.
Und natürlich sollte die Masse bei 16 Bit supersauber sein, weil jedes 
Gezappel auf der Masse über die unterschiedliche C's nach + und - 
unterschiedlich koppelt.

von udok (Gast)


Lesenswert?

Gustl B. schrieb:
> Und hier
> 
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7380-7381.pdf
> Seite 17 gehen die sowohl nach Masse als auch von + nach -.
>
> Du würdest also bei einem RC-RC Tiefpass beide Cs nur von + nach -
> setzen?
>
> Oder meinst du den hier erwähnten C:
>
> udok schrieb:
>> Ein kleines R-C (10 Ohm - 20*X) mit X = ADC Eingangskapazität
>> brauchst du immer vor dem ADC Eingang

Ich würde hier keinen RC-RC verwenden.  Wenn dann nur den einfachen RC
vor dem ADC Eingang (10 Ohm - 20*X).
Wenn deine Masse sauber ist, dann kannst du auch noch mit C von +/- nach
Masse experimentieren.

von Gustl B. (-gb-)


Lesenswert?

udok schrieb:
> Die Zerlegung ist dann sinnvoll, []

Danke für die Erklärungen.

udok schrieb:
> Da kommst du wahrscheinlich mit einem einfachen R-C Filter aus,
> wenn du genug übersamplest, um den Peak genau genug zu detektieren.
> Das lässt sich ja auch super interpolieren.

Genau, so ist das bisher auch.

udok schrieb:
> Ja, das geht sicher digital.  Aber ein ziemlicher Aufwand,
> der die ganze Sache nicht günstiger macht, zumindest wenn man nicht
> noch irgendwo einen ordentlichen Zusatznutzen hat.

Nun, digital ist man eben flexibel. Bei Analog muss man dann doch 
mehrere Platinen layouten und fertigen lassen. Analoge Bauteile haben 
auch Toleranzen, sind temperaturabhängig, ...

udok schrieb:
> Die 16 Bit kommen mir reichlich überzogen vor. Ich schätze dass die
> Genauigkeit der Detektoren deutlich unter 1% ist, damit reichen doch
> 8 oder 12 Bit aus?

Leider nein. Rauschfreie 12 Bits würden reichen, aber die bekomme ich 
natürlich nicht bei einem 12 Bit ADC. Wenn ich jetzt 13 rauschfreie Bits 
bekomme dann bin ich glücklich.

udok schrieb:
> Ich täte da einen Cortex M4 oder M7 nehmen, mit schnellen eingebauten
> ADCs.  Die ADC lassen sich sehr einfach ansteuern.

Stimmt, aber dieser langsame ADC ist nur ein Teil des Systems.
Der misst die Impulse aus einem Germanium-Detektor und das recht genau. 
Also hohe Energieauflösung. Zeitgleich wird die Probe aber auch noch von 
einem Photomultiplier angeguckt. Da ist die Energieauflösung der 
Zerfälle nicht so kritisch denn die Lichtblitze schwanken auch deutlich 
in der Intensität. Aber bei dem ist die zeitliche Auflösung sehr 
wichtig. Das werde ich mit einem 1 GSample/s ADC abtasten (funktioniert 
bereits wunderbar). Wenn man das jetzt gleichzeitig bei einer Probe 
macht, dann kann man schön filtern wenn man genaue Zeitstempel hat. Man 
kann also gucken welche Zerfälle in einem bestimmten Zeitintervall 
auftreten und so dann aus sehr vielen Zerfällen mit Hitergrundstrahlung 
uns so Dreck die paar Zerfälle herausfiltern die tatsächlich aus der 
Probe und von den zu messenden Isotopen stammen.

udok schrieb:
> Die Daten könnte man auch gleich 1:1 an den PC schicken,
> da kann man dann archivieren und verschiedene Signalverarbeitungen damit
> machen (Ist super für Diplomarbeiten).
> Die AD Karten dafür gibt relativ günstig von vielen Herstellern.

Könnte man machen, ja. Ist bei dem langsamen ADC gut möglich, bei dem 
schnellen ADC dann schwierig mit hoher Zählrate. Aufhaben von den 
Samples kostet viel Platz. Also wenn man von jedem Impuls beispielsweise 
256 Sample aufheben möchte bei 16 Bit, die Messung dauert 1 Woche und 
durchschnittlich hat man 10 Impulse (das ist eher am unteren Ende) je 
Sekunde, dann sind das schon ... 3 Gbyte. Das dann bei mehreren ADCs je 
Detektor und mehreren Detektoren bis auf Probenwechsel das ganze Jahr 
messen.
Wir haben also nur die Ergebnisse auf. Ein Impuls wird digital 
gefiltert, die Energie wird bestimmt, und die wird mit Zeitstempel 
weggeschrieben.

udok schrieb:
> Den Aufwand mit differenziellen Eingängen macht man meist nur
> wenn man echte 16 Bit oder sogar mehr braucht.

Hm, das sieht man aber auch bei vielen ADCs mit weniger Bits Auflösung.

udok schrieb:
> Du musst ja den ganzen Signalpfad differenziell (=doppel) ausführen,
> da die Störungen an allen möglichen Stellen einkoppeln.

Richtig! Aber wenn man das nicht macht, also nur einmal Signalpfad, wie 
erreicht man dann, dass

udok schrieb:
> [...] sie [die Störungen]
> am + und - ADC Eingang gleichermassen anliegen, so wie auch bei echten
> differenziellen Eingängen.

?

udok schrieb:
> Daher ist es auch schlecht einen Massebezug mit einem C nach Masse zu
> schaffen, die zerstören die Symmetrie.

OK, dann lass ich den weg.

udok schrieb:
> Und natürlich sollte die Masse bei 16 Bit supersauber sein, weil jedes
> Gezappel auf der Masse über die unterschiedliche C's nach + und -
> unterschiedlich koppelt.

(-: schwierig wenn das galvanisch getrennt sein soll^^ aber es scheint 
schon recht gut zu funktionieren.


udok schrieb:
> Ich würde hier keinen RC-RC verwenden.  Wenn dann nur den einfachen RC
> vor dem ADC Eingang (10 Ohm - 20*X).
> Wenn deine Masse sauber ist, dann kannst du auch noch mit C von +/- nach
> Masse experimentieren.

Da werde ich noch einige Bestückungen ausprobieren. Von + oder - nach 
Masse macht aktuell aber eher Probleme.

udok schrieb:
> Auf jeden Fall gutes Gelingen!

Vielen Dank!

: Bearbeitet durch User
von Mark S. (voltwide)


Lesenswert?

Cartman schrieb:
> Deine Besorgnis gegen Induktivitaeten ist im uebrigen voellig
> unbegruendet. So ein kleines Spuelchen erhoeht ohne viel
> Aufwand den Filterfaktor um eine Ordnung.

Eine kühne Aussage, die so allgemein nicht gilt. Vor allem, wenn man 
genauer hinguckt, also mit 16-24bit.

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.