Hallo, weiß eine von euch wie man einen Tiefpaß in C-Sprache programmiert? Danke für die Antworten Kenny
Hi ein Tiefpass ist ein Integrator. Du mußt dein Eingangssignal also integrieren. Schau dir als mal die verschiedenen numerischen Integrationsverfahren an. Die Einfachste ist sicher die Rechteck-Methode. Besser und nicht viel komplexer ist die Trapezmethode. Wenns noch genauer werden soll solltest du dich mal nach der Simpsonregel umschauen. Matthias
Hallo Kenny, wenn Du nur einen Integrator verwendest, dann filterst Du zwar die hohen Frequenzen weg. Das Ausgangssignal des Integrators geht aber für sehr niedrige Frequenzen in irgend eine Begrenzung, oder es kommt zum Überlauf bei der Berechnung. Dies ist sehr tückisch, da dies erst nach langer Zeit und auch nicht immer geschehen muß! Um dies beim Integrator zu verhindern, sollte man zuerst den Gleichanteil des Signals herausfiltern. Dennoch werden die niederfrequenten Anteile abhängig von ihrer Frequenz verstärkt, was sicher nicht gewünscht ist. Besser ist es hier, anstatt des Integrators ein gedämpftes zeitverzögerndes Glied zu verwenden. Für niedrige Frequenzen wird dabei die Verstärkung auf ein Produkt von (konstanter) Eingangsgröße und konstantem Faktor begrenzt. Solche Glieder werden als PT1, PT2 .. PTn bezeichnet. Die Dämpfung ober- halb der Eckfrequenz beträgt annähernd n*20dB/Dekade. Gleichzeitig kommt es zu einer Phasenverschiebung von 90*n Grad. Ach, noch eine Anmerkung zu Deinem Beitrag: Der Titel (Beschleunigungssensor) und die Frage (Tiefpaß in C) sind nicht übereinstimmend gewählt. Somit wird nicht jeder der sich mit Deinem Problem auskennt, auch darauf aufmerksam gemacht. Michael
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.