Forum: Digitale Signalverarbeitung / DSP / Machine Learning Was ist das für ein Filter


von Manuel (Gast)


Lesenswert?

Hallo,

gerade muss ich für meine Projektarbeit unter anderem 10 Bit 
AD-Wandlerwerte erfassen. Nachdem das Signal nicht besonders toll war 
habe ich zunächst Mittelwerte gebildet, bis ich den Tipp bekam, es mit 
folgendem Algorithmus zu versuchen, sei ein digitales Filter, 
funktioniere sehr gut:

zuerst werden für "Mittelwert" zum Beispiel 64 "Adwert"e aufaddiert, 
dass initialisiert das Filter. Dann bei jedem AD-Wandlerinterrupt:
1
Ergebnis = Mittelwert >> 6;                       // /64
2
Mittelwert = Mittelwert - Ergebniss + Adwert;

Ergebnis ist dann der Wert zum weiterverarbeiten. Nun, es funktioniert 
tatsächlich, irgendwie leuchtet es mir auch ein. Leider konnte der 
Tippgeber nichts zum Namen, Übertragungsverhalten oder Grenzfrequenz 
sagen. Ich könnte mir vorstellen, das die Grenzfrequenz mit der 
Abtastrate und der 64 zusammenhängt... Ich hatte in meinen Vorlesungen 
leider noch nichts von digitaler Signalverarbeitung. Könnt Ihr mir bitte 
etwas weiterhelfen?

von Ras F. (rasfunk)


Lesenswert?

Moving Average Filter,

http://de.wikipedia.org/wiki/Gleitender_Mittelwert

Edit: englische Seite ist möglicherweise besser:

http://en.wikipedia.org/wiki/Moving_average

von Manuel (Gast)


Lesenswert?

Dankeschön, jetzt weis ich auf jeden Fall, das es in etwa so 
funktioniert wie gedacht und das es tatsächlich ein Tiefpass ist. Gibts 
noch eine Möglichkeit mit einer "einsetzen-und-gut" Formel die 3dB 
Gernzfrequenz zu bestimmen und etwas über die Steilheit raus zu 
bekommen?

von Ras F. (rasfunk)


Lesenswert?

Kurz googlen:

http://www.dspguide.com/ch15/3.htm

3dB sind erreicht wenn die Transferfunktion gleich
 ist. Am besten numerisch bestimmen?

von yalu (Gast)


Lesenswert?

Ein IIR-Filter der Form

verhält sich wie ein analoges Filter 1. Ordnung mit der Verstärkung

und der Grenzfrequenz

wobei fa die Abtastfrequenz ist.

In deinem Fall ist a=63/64 und b=1.

(Hoffentlich habe ich mich nicht verrechnet)

von Ras F. (rasfunk)


Lesenswert?

yalu schrieb:
> Ein IIR-Filter der Form

Moving Average ist kein IIR-Filter, die Impulsantwort ist ziemlich 
endlich.

> (Hoffentlich habe ich mich nicht verrechnet)

Ich habe mich auf jeden Fall verrechnet/verschrieben, es muss im obigen 
Post natürlich
 heißen!

von J. S. (engineer) Benutzerseite


Lesenswert?

Also ich finde es schon lustig, dass einer ein Filter einsetzt und nicht 
erkennt, dass es eins ist und wie es funktioniert, obwohl man die Lösung 
ja schon hat! (?)

Das normale Problem ist doch eher, zu wissen, was man will und dann nach 
der Lösung suchen, weil das doch etwas anspruchsvollere Fall ist- in 
etwa so wie "Motor erfinden" und "Motor verstehen".

Solche Mittelwertbildner habe ich mir mit 12 ausgedacht, weil ich sie 
fürs Programmieren weicher Grafiken auf dem C64 gebraucht hab. Mir war 
irgendwie sofort klar, was ich brauche und wie ich es programmieren 
muss. Erst 5 Jahre später hat man mir dann im Studium erklärt, dass die 
FIR-Filter heissen und ich wusste, dass ich ein Anti-Aliasing-Filter 
gebaut hatte. :-)

von yalu (Gast)


Lesenswert?

Ras Funk schrieb:

> yalu schrieb:
>> Ein IIR-Filter der Form
>
> Moving Average ist kein IIR-Filter, die Impulsantwort ist ziemlich
> endlich.

Das, was im Wikipedia-Artikel als "einfacher gleitender Mittelwert" und
"gewichteter gleitender Mittelwert" bezeichnet wird, ist FIR. In diesem
Thread geht es aber um den "exponentiell geglätteten Mittelwert", und
der ist IIR. Siehe auch letzter Abschnitt im Artikel:

  "Der einfache gleitenden Mittelwert entspricht einem FIR-Filter mit N
  Gliedern, ... Der exponentiell geglättete Mittelwert entspricht einem
  IIR-Filter 1. Ordnung."

von Manuel (Gast)


Lesenswert?

Guten Morgen,

vielen dank für die hilfreichen Kommentare.

@yalu:
ich werd mich, wenn die Arbeit abgegeben ist, nochmal hinsetzten und 
zusehen, das ich auch auf die Grenzfrequenz komm.

@IIR:
Die Impulsantwort wird doch nie mehr, hätte man die Quantisierung nicht, 
Null, die nähert sich höchstens asymthotisch an Null an... Das Ganze ist 
doch ziemlich spannend g

von Ras F. (rasfunk)


Lesenswert?

yalu schrieb:
> Das, was im Wikipedia-Artikel als "einfacher gleitender Mittelwert" und
> "gewichteter gleitender Mittelwert" bezeichnet wird, ist FIR. In diesem
> Thread geht es aber um den "exponentiell geglätteten Mittelwert", und
> der ist IIR.

Nein?! Das ist ein ganz normaler FIR-Filter, nix exponentiell geglättet.

Zum Nachlesen auch gerne hier:

http://www.dspguide.com/ch15/5.htm

"Notice that this equation use two sources of data to calculate each 
point in the output: points from the input and previously calculated 
points from the output. This is called a recursive equation, meaning 
that the result of one calculation is used in future calculations. (The 
term "recursive" also has other meanings, especially in computer 
science). Chapter 19 discusses a variety of recursive filters in more 
detail. Be aware that the moving average recursive filter is very 
different from typical recursive filters. In particular, most recursive 
filters have an infinitely long impulse response (IIR), composed of 
sinusoids and exponentials. The impulse response of the moving average 
is a rectangular pulse (finite impulse response, or FIR)."

von Ras F. (rasfunk)


Lesenswert?

Okay, yalu hat doch Recht. Asche auf mein Haupt, wieder was gelernt.

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.