Verfasst am: 12.06.2008, 12:27
Titel: Butterworth Hochpass implementieren ohne Erfolg
Hallo Matlab-Gemeinde,
ich bin ziemlicher Matlab-Anfänger aber konnte bisher alle Probleme mit Hilfe der Sufu und der Matlab Hilfe lösen.
Jetzt habe ich jedoch ein Problem mit Filterung (Hochpass).
Ich schreibe in einer Schleife Daten von -256 bis +256 in eine Variable (a_sens)(Später in eine Matrix).
Mittels FDAtool habe ich mir die Koeefizienten "gebastelt":
Highpass, Butterworth, 1.Ordnung, fs=40Hz, fc=2Hz
a = [1 -1 0]
b = [1 -0.77567951104961319 0]
Danach
a_sens_figure2 = filter(b,a,a_sens);
wobei a_sens_figure2 die neuen (gefilterten Daten) sein sollen und a_sens die Eingangswerte.
Nur irgendwie passiert nichts, jedenfalls sehe ich in den Graphen keinen Unterscheid, und ich habe keine Ahnung woran es liegt!
mir fällt noch auf, dass ich vielleicht das Code-Bsp. nicht genügend genau beschrieben hab. Glaube mich zu erinnern, dass die "5" die Filterordnung benennt (MATLAB-Hilfe zu Rate ziehen...). Daher könnten natürlich auch die anderen Koeff. stammen... Aber das hast du sicher schon gewusst. Zur Sicherheit könntest du das nochmals kontrollieren.
_________________
Wenn ich bei der Arbeit mit Computern eins gelernt habe dann das ich einem Computer nur soweit traue wie ich ihn werfen kann.
mir fällt noch auf, dass ich vielleicht das Code-Bsp. nicht genügend genau beschrieben hab. Glaube mich zu erinnern, dass die "5" die Filterordnung benennt (MATLAB-Hilfe zu Rate ziehen...). Daher könnten natürlich auch die anderen Koeff. stammen... Aber das hast du sicher schon gewusst. Zur Sicherheit könntest du das nochmals kontrollieren.
%%%%%%%%%%% Figure 2 ENDE end figure(1) subplot(3,2,1),plot(pl_st:count1,accel(:,1)) subplot(3,2,2),plot(pl_st:count1,accel_figure2(:,1)) drawnow
count1=count1+1;
end
OK.
Ich glaub' jetzt hab' ich das Problem:
Der Filter-Befehl mag meine Schleife nicht. Wenn ich alles in einen Vektor schreibe funktioniert's.
Jetzt würde mich mal interessieren wieviele Werte ich brauche damit der Filter sauber arbeitet....
Das geht auch nicht.
Dann habe ich jedes Mal das Einschwingen am Anfang, da der Filter bei jedem Durchgang der Schleife neu anläuft.
Kann mir irgend jemand sagen wie ich obiges Programm ändern muß, damit der Filter in einer Schleife funktioniert?
Habe in der Hilfe etwas über Fixed-Point Filter Syntaxes, Adaptive Filter Syntaxes und Multirate Filter Syntaxes gefunden aber da steig ich absolut nicht durch.
Grüße
Robert
_________________
Wenn Windows die Lösung meines Problems ist, möchte ich mein Problem zurück.
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.