mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP FIR Tiefpass


Autor: André B. (whitespring)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich hoffe Ihr könnt mir weiter helfen, bin dankbar für jeden Beitrag der 
mich weiter bringt. Die meisten Beiträge zum Tiefpass haben meinem 
Verständis beigetragen aber mir nicht wirklich geholfen, desshalb:

Stand:
Es wird ein Sensor alle 100ms ausgelesen, die Werte bewegen sich im 
Bereich von +- 60. Unter schied zwischen FIR und IIR ist mir bekannt, 
wegen der Stabilität für einen FIR entschieden. Da die Störung in den 
Werten nicht besonders groß ist wird wohl 1te oder 2te Ordnung 
ausreichen. soweit bin ich in der Theorie gekommen.

Aufgabe:
Diese Werte sollen nun geglättet werden mittels eines tiefpasses. Der 
müsste für eine wissenschaftliche Arbeit hergeleitet werden.

Problem:
Wie kann ich die Koeffizienten unter berücksichtigung der Abtastrate 
bestimmen?

z.B. y(t)= a0 * Xn + a1 * Xn-1 + a2 * Xn-2

Summe von a0 bis a2 muss 1 ergeben, es ist keine verstärkung vorgesehen, 
oder sollte ich das doch ?

Dank im vorraus.

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nee. Mach'n exponentiellen Average, aka Tiefpass.

Speicher X, input I, output O

X:=X - X/64
X:=X + I
O:=X/64

Wobei 64 ausgetauscht werden kann mit 32, 64, 128, 256, 512, .. und 
ausgefuehrt wird als shift right 5, 6, 7, 8, 9, ..

siehe auch
http://www.ibrtses.com/embedded/exponential.html

Autor: Einwanderheber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das geht auch mit einem abtastenden System und einem Ringpuffer:

1. den gleich herausfallenden Pufferwert "ALT" lesen
2. Pufferpointer weiterdrehen
3. Neuen Wert "NEU" in Puffer schreiben
4. Neuen Wert zudem auf einen Gesamtstand AKKU aufaddieren
5. Wenn Startzähler Z<64 dann Z ein hochzählen
6. Wenn Z>=64 dann Wert ALT vom AKKU abziehen.
7. ENDWERT = AKKU /64

Der Akku läuft auf diese Weise bis auf das 64fache des 
Zahlendurchschnitts hoch und hält ab dann immer die Summe der letzten 64 
Werte.

Autor: Harald D (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könntest Du bitte die Funktion dieses Filters erklären?

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.