www.mikrocontroller.net

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


Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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:
Ergebnis = Mittelwert >> 6;                       // /64
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?

Autor: Ras Funk (rasfunk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Ras Funk (rasfunk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kurz googlen:

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

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

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Ras Funk (rasfunk)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Jürgen Schuhmacher (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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. :-)

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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."

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ras Funk (rasfunk)
Datum:

Bewertung
0 lesenswert
nicht 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)."

Autor: Ras Funk (rasfunk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay, yalu hat doch Recht. Asche auf mein Haupt, wieder was gelernt.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.