Berechnung des Tiefpassfilters

Ich entwerfe eine Schaltung, die ein analoges Signal (DC - Antwort von einer einer Wolframlampe ausgesetzten Fotodiode) an einen 12-Bit-ADC liest. Der ADC ist MCP3202, der mit einer Geschwindigkeit von 1 MHz läuft und 16 Eingangsbits verwendet, um eine Probe des Ergebnisses zu erhalten.

Gemäß meinen Berechnungen habe ich die Reaktionszeit des Tiefpassfilters wie folgt berechnet:

Chip Speed (Mhz)    1
Period(us : microSecond)    1
No of Process Cycles    16
Response time required (us) 16
Response time required (ns : NanoSeconds)   16000
Response time required (ms : MilliSeconds)  0.016
Response time required (Seconds)    0.000016 or 1.6E-5

Ich glaube, wenn meine RC-Schaltung langsamer als die obige Reaktionszeit ist, sehe ich eine verzögerte Reaktion, die ich vermeiden sollte. Daher wähle ich die folgenden Widerstands- und Kondensatorwerte für meinen RC-Tiefpassfilter.

R = 1 K
C = 5 nF

Die Grenzfrequenz errechnet sich zu:

 fc = 31830.9886184[Hz]

Die Reaktionszeit errechnet sich wie folgt:

1.1512925465E-5

Klingt das alles in Ordnung oder bin ich hier vom Weg abgekommen?

Antworten (1)

Sie haben das nicht durchdacht. Sie haben nicht genau angegeben, welche Art von Signal Sie erwarten oder wie genau Sie es kennen müssen. Aber nehmen wir an, es ist eine Schrittfunktion, und da Sie einen 12-Bit-A/D verwenden, müssen Sie dessen Amplitude auf 1 lsb kennen. Für einen vollen Eingangsschritt muss sich Ihr Filter also in 16 ms auf einen Teil in 4096 einstellen. Bei einem einfachen RC-Tiefpass ist die Reaktion auf einen Schritt eine inverse Exponentialfunktion mit einer Reaktion proportional zu e^-t/RC. Damit sich dies auf 1/4096 einpendelt, sind etwa 9 Zeitkonstanten erforderlich, also ist 1/RC = 16 us/9. Mit anderen Worten, Sie benötigen C bei etwa 560 pF und nicht bei 5 nF.

All dies setzt jedoch voraus, dass sich das Signal wie ein Schritt verhält UND dass Sie vom A / D eine perfekte Genauigkeit benötigen. Beachten Sie zum Beispiel, dass, wenn der Schritt 8 us vor einem A/D-Sample auftritt, Ihr Filter kein perfektes Sample für 16 us zulässt, aber dieses Sample erst 24 us nach dem Schritt auftritt (8 us bis zum ersten, ungenaues Sample, dann weitere 16 usec bis der richtige Wert vorliegt). Sie müssen also genau herausfinden, welche Genauigkeit Sie benötigen und wann Sie sie benötigen. Erst dann können Sie Ihren Filter gestalten.

Danke für die Antwort. Ich versuche, einen DC-Wert von einer Fotodiode zu erhalten, die einer Wolframlampe (12 V DC) ausgesetzt ist. Ich glaube nicht, dass es eine Sprungfunktion ist. Gibt das etwas mehr Details?
OK. Aber Glühlampen haben Reaktionszeiten im Bereich von 10 Millisekunden. Warum müssen Sie also in Mikrosekunden reagieren?
Ich erfasse derzeit 100 Samples von ADC und filtere dann etwas, um einen Wert zurückzugeben. Dies ist ohne Tiefpassfilter. Dies hat zu einer insgesamt langsamen Geschwindigkeit meiner Anwendung geführt, da die ADC-Rückgabefunktion selbst etwa 100 Millisekunden benötigt, um abgeschlossen zu werden, was für meine Anwendung nicht akzeptabel ist. Daher muss ich einen Tiefpassfilter einführen, damit ich eine minimale digitale Filterung durchführen und auch beschleunigen kann. Hoffe das ist klar. Kann ich einen Tiefpassfilter mit hoher Geschwindigkeit haben?
Einige weitere Details werden hier veröffentlicht (in Bezug auf das, was ich versuche zu tun) [link] electronic.stackexchange.com/questions/159589/…
Im obigen Kommentar meine ich, dass ich derzeit 100 Samples von ADC erfasse und dann eine digitale Filterung durchführe, um einen Wert zurückzugeben (sortiere und gebe den Durchschnitt der Top-10-Werte zurück).
"Kann ich einen Tiefpassfilter mit hoher Geschwindigkeit haben?" Entschuldigung, aber die Antwort ist nein. Ich denke, Sie müssen in eine bessere HV-Versorgung für den Bogenteil der Deuteriumlampe investieren. Was Sie tun könnten, ist, die Welligkeitsfrequenz der Antwort zu messen und dann nur so viele Abtastungen zu nehmen, wie einen vollständigen Welligkeitszyklus erzeugen. Angenommen, Ihr Problem ist die Netzwelligkeit, beträgt diese 100 Hz oder 10 ms.