www.mikrocontroller.net

Forum: PC-Programmierung Oszilloskop Tiefpassfiler


Autor: Jimbo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

ich bin gerade dabei nen Programm zu schreiben mit dem ich über den USB 
Port Messdaten empfange über nen Interface und das dann als Oszilloskop 
visualisiere. Das klappt auch schon alles. Nur bei der Darstellung 
meiner Messdaten muss ich noch etwas tun und zwar nen Digitalen Tiefpass 
programmieren. Hat einer von euch damit schon erfahrung? Ich möchte das 
ganze im C++ Code schreiben, leider fehlt mir dazu noch der Ansatz.
Danke im Voraus.

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Such mal im Netz nach IIR-Filtern. Damit lassen sich softwaremäßig
u.a. Filter mit den Eigenschaften von analogen Filtern realisieren.
Der Programmieraufwand ist gering, für die Bestimmung der Parameter
aus den gewünschten Eigenschaften (Ordnung, Grenzfrequenz usw.) ist
aber etwas Theorie erforderlich.

  http://de.wikipedia.org/wiki/IIR-Filter

Wenn es dir hauptsächlich nur um die optische Glättung der Kurve geht,
um störendes Messrauschen zu entfernen, findest du vielleicht hier
etwas passendes:

  http://de.wikipedia.org/wiki/Gl%C3%A4ttung

Autor: HildeK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das einfachste Filter ist (x1 + x2)/2.
Etwas besser ist (x1)/4 + (x2)/2 + (x3)/4 und das Ergebnis gibt das 
gefilterte x2. Du musst halt warten, bis du x3 auch empfangen hast, um 
x2 zu bestimmen.
Alternativ:
Wenn das Scope-Signal periodisch ist, kannst du n ganze Zeilen 
zwischenspeichern und n-fach mitteln.

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die von HildeK vorgeschlagenen Lösungen sind in diesem Fall vollkommen 
nutzlos. Sowohl der Durchlassbereich als auch die Sperrdämpfung sind 
eine Katastrophe.

Entweder einen vernünftigen IIR, was mit doubles auch einigermaßen 
impementierbar ist, dafür aber alle nachteile eines analogen Filters mit 
sich bringt, oder FIR, was meist mehr Rechenaufwand bedeutet, dafür aber 
z.B. konstante Gruppenlaufzeit bieten kann.

Ein analoges Anti-Aliasing Filter brauchst du aber eigentlich sowieso.

Autor: Jimbo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

danke schonmal für euere Postings ... Werde mir mal den IIR Filter zur 
Gemüte ziehen. Hoffe ich steige da durch und komme mit der 
Programmierung voran. :-)

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.