Hallo Zusammen, und ein gutes neues 2010. Mein Signal, den ich filtern möchte besteht aus rechnerischen Ergebnissen. Mein DSP berechnet 70 Ergebnisse pro Sekunde. Diese Ergebnisse mussten mit einer Frequenz um die 1,5Hz zwischen Maximum und Minimum schwangen, alle anderen Schwankungen möchte ich vollständig herausfiltern und das möglichst in REALTIME. Also, 70Hz Samplefrequenz, erste Eckfrequenz 0,75Hz, zweite Eckfrequenz 3,0Hz. Ein einigermaßen brauchbares FIR Bandpass, ist mit weniger als 200 Taps nicht zu realisieren. Bei 200 Taps kommt das gefilterte Ergebnis mit 100 Samples Verspätung, also ca. 1,5 Sekunden verspätet. Was kann ich machen, um das Ergebnis zu beschleunigen? Kann ich vielleicht mit einem leichten Filter (z.B. 51 Taps) bessere Ergebnisse erzielen, wenn ich den bereits gefilterten Ergebnissen nutze? Damit meine ich: Z.B. 51 Samples in einem Buffer aufheben und mit 51 Taps multiplizieren und akkumulieren, dann das mittlere original Sample (Sample 26) mit dem Ergebnis überschreiben. Schritt zwei: Wenn ein neues Sample kommt (zu Platz 51), wird das gefilterte überschriebene Sample (früher Platz 26) zu Platz 25 verschoben und das (noch) original Sample auf dem Platz 26 wird jetzt mit dem neuen Ergebnis überschreiben. u.s.w. Ich weiß nicht ob diese Konstruktion funktioniert, vielleicht habt Ihr Hinweise oder bessere Ideen. Danke Euch
:
Verschoben durch Admin
Das ist so ein Fall, in dem der Fragesteller einen Zwischenschritt präsentiert aber nicht klärt was er eigentlich tun will. Siehe http://www.mikrocontroller.net/articles/Netiquette und insbesondere http://www.tty1.net/smart-questions_de.html#goal Kannst Du uns bitte noch was über Deine Vorbildung in dem fraglichen Bereich schreiben? Dankeschön.
Mmmh schrieb: > Das ist so ein Fall, in dem der Fragesteller einen Zwischenschritt > präsentiert aber nicht klärt was er eigentlich tun will. > > Siehe http://www.mikrocontroller.net/articles/Netiquette > und insbesondere http://www.tty1.net/smart-questions_de.html#goal > > Kannst Du uns bitte noch was über Deine Vorbildung in dem fraglichen > Bereich schreiben? Dankeschön. Okay: Ich habe sehr viel geschrieben und meine Frage ist eigentlich ganz einfach: Wie kann ich 1,5Hz aus einem Signal mit 70Hz Samplefrequenz möglichst schnell herausfiltern? Meine Vorbildung in dem fraglichen Bereich? Meinst Du meine Qualifikation? Bitteschön. Ich bin ein Hobbybastler, eigentlich ein Dipl.-Ing. für Elektro- und Informationstechnik, das ist aber nicht mein Beruf geworden und deshalb habe ich einiges verlernt.
Mario schrieb: > Okay: Ich habe sehr viel geschrieben und meine Frage ist eigentlich ganz > einfach: > > Wie kann ich 1,5Hz aus einem Signal mit 70Hz Samplefrequenz möglichst > schnell herausfiltern? Das habe ich schon verstanden. Ich schrieb: >Das ist so ein Fall, in dem der Fragesteller einen Zwischenschritt >präsentiert aber nicht klärt was er eigentlich tun will. Hast Du die Hinweise in den Links gelesen? Dort ist erklärt was fehlt und warum.
Mario schrieb: > Meine Vorbildung in dem fraglichen Bereich? > Meinst Du meine Qualifikation? Nein. Im Rahmen welcher Qualifikation Du deine Vorbildung erworben hast, ist unwichtig. Das ist übrigens so: Wenn ich die Qualifikation wissen will, benutze ich das Wort "Qualifikation". In diesem Fall wollte ich die Vorbildung wissen und benutze deswegen das Wort "Vorbildung". Das ist also kein Zufall. Näheres regeln gängige Wörterbücher. Wenn man Grün meint, benutzt man "Grün", wenn man Rot meint "Rot" uswusf. Klingt ein bischen sehr hart so, nicht wahr? Ist aber nicht böse gemeint.
Hallo Mario, hast du es schon mal mit einem IIR-Filter probiert. Schau da mal den Group Delay im Durchlassbereich an. Das gibt dir dann einen Anhaltspunkt mit welcher Verögerung du mindestens rechnen musst.
@Helmut, Vielen Dank. Nein, einen IIR-Filter habe ich nicht probiert, ich habe auch nur ScopeFIR Software da, also keine Software für IIR-Filter. Wenn Ihr aber meint, dass IIR-Filter die Lösung wäre, dann werde ich eine Software für IIR besorgen und mich über die Implementierung vom IIR-Filter schlau machen.
Das Ganze ist eher einfach. Ein Filter mit 1.5Hz soll schneller als 1.5 sekunden sein. Das waeren in der Ordnung von 2 Schwingungen. Wie schnell ist denn ein einfacher Tiefpass ?
Was Helmut vielleicht damit sagen wollte: Mit IIR Filtern lassen sich minimalphasige Filter erzeugen. Weniger Phasenverschiebung als damit geht einfach nicht. Wenn also eine IIR Implementierung nicht reicht, geht es vermutlich nicht. Da Du wohl kein Band brauchst, sondern nur eine Frequenz wäre evtl ein IIR Resonanzfilter anzudenken.
Ein Resonanzfilter muss erst einschwingen, was Q perioden dauert. Ein Tiefpass ist da besser.
Okay, ich werde mich über die IIR-Filtern schlau machen und gegebenenfalls ausprobieren. Über IIR-Filtern gibt es im Internet sehr viele ausführliche Informationen. @Karl, Wo kann ich brauchbare Informationen über die IIR-Resonanzfilter finden. Google zeigt nur einige wenige Seiten mit dem Begriff IIR-Resonanzfilter. Haben die Dinger vielleicht auch einen anderen Namen? Auch wenn die Dinger wahrscheinlich für meine Anwendung ungeeignet sind, weil sie vermutlich lange nachschwingen und weil sie (wie Hacky meint) erst einschwingen müssen, was Q Perioden dauert, wäre ich an Informationen über derartige Filter sehr interessiert.
Mario schrieb: > Wo kann ich brauchbare Informationen über die IIR-Resonanzfilter finden. > Google zeigt nur einige wenige Seiten mit dem Begriff > IIR-Resonanzfilter. Haben die Dinger vielleicht auch einen anderen > Namen? Digital biquad filter
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.