Ich muss die Temperatur und den Kraftstoffstand von zwei analogen Sensoren ablesen. Beide sind analoge Signale und ich muss Rauschen aus dieser Messung entfernen. Und dafür möchte ich den Digitalfilter verwenden. Meine MCU läuft mit 32 MHz, außerdem lese ich alle 5 ms den ADC für beide Sensoren.
Jetzt möchte ich das Rauschen meiner Probe reduzieren, indem ich einen externen analogen Filter und einen digitalen Softwarefilter (IIR & FIR) verwende.
Dieser Link besagt, dass wir die Nyquist-Kriterien für die Probenahme befolgen sollten, um ein Alising-Problem zu vermeiden. https://en.wikipedia.org/wiki/Analog-to-digital_converter
Um nun einen digitalen IIR-Filter zu entwerfen, verwenden Sie diesen Link, um die Verwendung der Grenzfrequenz anzugeben. https://stratifylabs.co/embedded%20design%20tips/2013/10/04/Tips-An-Easy-to-Use-Digital-Filter/
Wenn ich recht habe, dann sind Nyquist-Kriterien, Aliasing und die Einstellung der Abtastfrequenz wichtig für die Aufzeichnung analoger Signale, bei denen wir wissen, dass die menschliche Stimme < 20.000 Hz beträgt.
Aber wie man diese Kriterien (Analog- oder Digitalfilter-Grenzfrequenz und Abtastrate und Nyquist-Kriterien) für Sensorsignale wie Temperatur und Kraftstoff einstellt, wo wir einfach die analogen Signale erhalten und uns nicht bewusst ist, welche Frequenz für diese Signale ist.
Bitte vorschlagen.
Sie haben eine Abtastrate von 200 Hz (1/5 ms). Sie haben jedoch nicht die erforderliche Reaktionszeit für die Ausgabe des Filters angegeben. Um die Antwort darauf zu finden, sollten Sie sich fragen, wie langsam die Reaktion sein kann, bevor Sie ein Problem bekommen. Dh. Wenn dies der Kraftstoffstand und die Temperatur eines Autos sind, dann ist eine Minute eine gute Reaktionszeit. Aber wenn dies eine interne Messung einer Brennstoffkammer für ein Mini-Turbinentriebwerk ist, dann könnte Ihnen sogar eine zweite Verzögerung Probleme bereiten. Eine Bestimmung ist mir nicht möglich. (Ok, die Turbine ist ein weit hergeholtes und fast nutzloses Beispiel, mir fielen keine besseren Beispiele ein, bei denen eine Verzögerungszeit im Bereich von einer Sekunde Probleme verursachen könnte).
Filtern Sie das analoge Signal mit einem Tiefpassfilter mit einer Grenzfrequenz (-3-dB-Frequenz) kleiner als die Nyquist-Frequenz. Gleiches gilt für die Grenzfrequenz im Digitalfilter. Ich würde die Grenzfrequenz der analogen Filterung so nah wie möglich an der Nyquist-Frequenz halten. Auf diese Weise können Sie die Filtereigenschaften nach Belieben ändern, indem Sie nur den digitalen Filter ändern.
Das andere Entwurfskriterium für das analoge Filter ist die Abtasttiefe (in Bits) des ADC. Die Dämpfung der Signale oberhalb der Nyquist-Frequenz sollte größer sein als das S/N-Verhältnis des ADC. Dh. 8-Bit-ADC, ungefähr 7-Bit-S/N -> mehr als 42 dB Dämpfung bei der Nyquist-Frequenz, um Aliasing zu vermeiden.
200 Hz Abtastrate -> Nyquist-Frequenz = 100 Hz. Grenzfrequenz des analogen Tiefpasses < 100 Hz. Angenommen 8 Bit wie in meinem obigen Beispiel: Dämpfung bei 100 Hz >42 dB
Empfohlener Analogfilter: Filter 2. Ordnung (40 dB/Dekade). Filterfrequenz < 8,8 Hz.
Und für den digitalen Filter können Sie so viel filtern, wie Sie möchten, solange Sie die erforderliche Reaktionszeit im Auge behalten.
Sie können sie 2 bis 20 Mal pro Sekunde abtasten und dann einen gleitenden Durchschnitt über eine Sekunde berechnen. Ihre Reaktionszeit wird etwa eine Sekunde betragen und es sollte kein Rauschen geben, wenn Ihre Elektronik auch nur annähernd vernünftig ist.
Wenn Sie keine interessante Mikroturbine haben und den genauen Kraftstoffverbrauch messen möchten, benötigen Sie wahrscheinlich keine sehr schnelle Reaktion von Ihren Filtern oder ADC, wenn Ihre Sensoren nur bei 1 bis 10 Hz reagieren.
BEARBEITEN:
Wenn Sie nicht zufälliges elektrisches Rauschen haben oder glauben, dass dies viel größer als das Fünffache der Auflösung ist, die Sie tatsächlich benötigen (nicht was berechnet werden kann), können Sie durch Hinzufügen einer analogen Filterung profitieren. Die Grenzfrequenz sollte etwa die Hälfte Ihrer Abtastfrequenz betragen.
Allerdings wäre jede Tiefpassfilterung über Ihrer gewünschten Antwortfrequenz von Vorteil, obwohl der digitale Mittelungsfilter bereits ein Tiefpassfilter ist, der viele zufällige Rauschquellen eliminieren kann. Wenn Sie Rauschen in der Nähe eines Vielfachen der Abtastfrequenz haben, kann das Alias-Rauschen ein Schwebungssignal im Ausgang verursachen, das eigentlich nicht vorhanden ist. Ein analoges Front-End-Filter würde dieses Risiko minimieren.
Arsenal
Vicente Cunha
Benutzer6363
Sean Houlihane
Benutzer6363
Arsenal
Sean Houlihane
jmaturner