Forum: Mikrocontroller und Digitale Elektronik Exponential moving average + 4:1 Averaging


von Alex V. (bastel_alex) Benutzerseite


Lesenswert?

Ziel: 4:1 Decimation.

Macht es Sinn nach einem Exponential moving average (für den LowPass 
Effekt) à la http://www.ibrtses.com/embedded/exponential.html
noch immer 4 der ergebnis-samples zu averagen und auszugeben (besseres 
SNR) oder nur jedes 4. sample ausgeben und den Rest verwerfen?

Doppelt gemoppelt  Gut  Schlecht?

von Pandur S. (jetztnicht)


Lesenswert?

Wenn ich Punkte weglasse, verlier ich Informationen, denn die 
Zwischenpunkte werden als konstant, identisch dem Vorgaenger angesehen.

Nochmals zu tiefpassen, ist dasselbe wie die Bandbreite nochmals zu 
verkeinern.

Kann man machen. Die Frage ist, was man haben will. Der Ansatz sollte 
auch umgekehrt sein. Welche Bandbreite des Signales brauche ich 
ueberhaupt. Wenn man Signal wegmacht, anstelle des Rauschens ist auch 
nicht gut.

von Alex V. (bastel_alex) Benutzerseite


Lesenswert?

Zahlen/Fakten:

- 2ksps sind da.
- 500/250sps sollens werden.
- Nutzsignal liegt unter 100Hz
- SNR des Nutzsignals soll möglichst gut bei rauskommen, ENOBs 
verbessert / LSB Rauschen verringert werden

Mit deinem Ansatz des exponential averagings (EA) (ich habe mich jetzt 
seit deinem tip eine weile damit beschäftigt) bleibt mir immernoch die 
frage offen, ob ich nicht statt LowPass(/EA)+Downsampling nicht 
LowPass(/EA)+ 4/8:1 Averaging (in diesem sinne =Downsampling) machen 
kann.

Mein Ansatz bisher für das EA:

bei output:=input*N+output*(1-N);

N=1/4 zu nehmen (right shift 2).

Wenn ich das richtig verstanden habe, bekomme ich mit N=1/4 eine 
äquivalente Tiefpass Cutoff-Frequenz von 106Hz, das wäre genehm.
Danach habe ich aber ja nun einen 106Hz LP gefilterten 2ksps 
datenenstrom, bei dem ich mich eben frage, ob nur jeden 4./8. datenpunkt 
nehmen nicht noch verschwendung ist (SNR technisch)..

von derguteweka (Gast)


Lesenswert?

Moin,

Ob und welches TP-Filter du vor einer Dezimation brauchst, haengt davon 
ab, wieviel Frequenzanteile in deinem Signal stecken, die durch die 
Dezimation (also durch das einfache Weglassen von samples) in's Spektrum 
deines gewünschten Signals reinfluppen.
Wenn du eine 4:1 Dezimation machst, dann wird das Spektrum deines 
Signals praktisch in vier gleich grosse Teilspektren "zerschnitten" und 
die werden "uebereinander" gelegt.
Bei deinen 2kSamples/sec waere also das Originalspektrum von 0..1000Hz. 
Durch die Dezimation landet alles aus den Bereichen 
250-500,500-750,750-1000 im Bereich 0-250Hz. D.h. in diesen oberen 
Bereichen sollte "nix mehr los" sein, damit du im unteren Bereich nur 
dein Nutzsignal hast.
Das musst du mit einem Tiefpass sicherstellen. Wie der jetzt genau 
aufgebaut ist, ist voellig wurscht ("exponential averaging" ist ein ganz 
schoen langer Name fuer ein ganz schoen kurzes, popeliges Filter).
Er muss "bloss" in den Bereichen 250..1000Hz ausreichend Sperrdaempfung 
besitzen, um dort evtl. vorhandene Stoerungen zu unterdruecken. Wenn du 
da fast keine Stoerungen hast, dann tuts auch so ein Simpelfilter.

Gruss
WK

von Alex V. (bastel_alex) Benutzerseite


Lesenswert?

derguteweka schrieb:
> Er muss "bloss" in den Bereichen 250..1000Hz ausreichend Sperrdaempfung
> besitzen, um dort evtl. vorhandene Stoerungen zu unterdruecken. Wenn du
> da fast keine Stoerungen hast, dann tuts auch so ein Simpelfilter.

Hi WK,

Das Nutzsignal geht bis maximal 100Hz, störanteile vielleicht bis 500Hz 
aber sonst dürfte da nicht mehr viel im Spektrum herumdümpeln außer 
Rauschen.
Deshalb aber ja erstmal der "popelige" EA-LP 1. Ordnung mit fc=106Hz.

Die Frage, die mich aber ja die ganze Zeit umtreibt (und vielleicht bin 
ich da einfach einer fixen Idee oder Unverständnis erlegen) ist die, ob 
ich die zusätzlichen samples nicht weiter zur (höherfrequenten) 
Rauschunterdrückung nutzen kann. Dass man mit oversampling und 
decimation prinzipiell die Auflösung eines ADC hochdrehen kann ist mir 
klar, muss aber gar nicht mehr unbedingt sein. Nur: kann ich aus dem 
dort genutzten Prinzip nicht noch etwas mehr für mein Signal 
rausfischen?!

von derguteweka (Gast)


Lesenswert?

Moin,

Hm, so ausm Bauch raus wuerd' ich bei 4fach Oversampling mal keine 
Wunder erwarten. Keine Wunder = nicht mehr als 1bit. Und abgesehen von 
Wundern: genau dann brauchst du einen gscheiten Tiefpass; denn deine 
100Hz Nutzsignal und ein 350Hz "Stoersignal" kannst du vor der 
Dezimation durch einen Tiefpass prima trennen, danach liegen beide genau 
uebereinander. Also sollte dein Tiefpass 100Hz durchlassen und bei 350Hz 
schon laengst eine bessere Sperrdaempfung haben als du 
Quantisierungrauschen hast...

Gruss
WK

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.