Gast
#47303
Hallo, weiß eine von euch wie man einen Tiefpaß in C-Sprache programmiert? Danke für die Antworten Kenny
|
Anzeige
|
Beschleunigungssensor
Gast
#47303
Hallo, weiß eine von euch wie man einen Tiefpaß in C-Sprache programmiert? Danke für die Antworten Kenny
Gast
#47304
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
Gast
#47305
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 Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|