Diese Klasse implementiert einen Tiefpaßfilter.
Diese Klasse implementiert einen Tiefpaßfilter. Der Tiefpaßfilter 2. Ordnung dient der Rauschunterdrückung.Tiefpaßfilter
Der Tiefpaßfilter ist einem aktiven Filter 2. Ordnung nachempfunden.
+------------------------+ | --- | | | | | C2 ----- C1 ----- | ----- ----- R1 | R2 | |\ | e o-----/\/\/\/---+---/\/\/\/---+---|+\ | o | >---+------o a | +---|-/ | o | | |/ | | --- +----------+ ---Der Filter genügt der DGL:a'' = - K a' + L ( e - a )mitK = 1 / ( C1 ( R1 || R2 ) ) L = 1 / ( R1 R2 C1 C2 )Für eine sinvolle Filtercharakteristik werden die Bauteile wie folgt gewählt:R1 = R2 = R C1 = C * 2/d C2 = C * d/2Daraus ergibt sich für die Parameter der DGLK = d / RC = d * omega L = 1 / (RC)^2 = omega^2Die Grenzfrequenz des Filters istf = omega / 2pi = 1 / ( 2pi * RC )Die Dämpfung d bestimmt die Filtercharakteristik.d = 0 Hier setzt Oszillation ein! d = 1 Tschebyscheff: steile Flanke, Welligkeit d = sqrt( 2 ) Butterworth: flacher Amplitudenverlauf d = sqrt( 3 ) Bessel: optimales Laufzeitverhalten, nicht so steile FalnkeEs wird ein Tschebyscheff-Filter implementiert. Die Frequenz kann mit setLFreq() gesetzt werden und ist auf 10 Hz voreingestellt.
Tiefpaßfilter
Die DGL a'' = - K a' + L ( e - a ) wird in zwei Komponenten umgeschrieben:
a' = A A' = - K A + L ( e - a )und in Differenzengleichungen überführt. TS ist die Zeitschrittweite EKG_TimeStep.
Delta a = TS * A Delta A = - TS K A + TS L ( e - a )
Alphabetic index Hierarchy of classes