a biquad working
Dependencies: HIDScope mbed QEI
Diff: main.cpp
- Revision:
- 1:ee877d784c40
- Parent:
- 0:fc207e186e8b
- Child:
- 2:241b572207fb
--- a/main.cpp Tue Oct 27 09:57:27 2015 +0000 +++ b/main.cpp Tue Oct 27 10:13:02 2015 +0000 @@ -30,8 +30,12 @@ double filter_signal_hid = 0; //double input_right = 0; -double v1=0; -double v2=0; +double low_v11=0; +double low_v21=0; +double low_v12=0; +double low_v22=0; +double low_v13=0; +double low_v23=0; //double v1_right=0; //double v2_right=0; @@ -55,22 +59,26 @@ /* lowpass filter consists of three cascaded biquads below the coefficients for those three biquads */ -//first high pass biquad -const double lowp1_a1 = -1.75927361117; -const double lowp1_a2 = 0.78528639300; +//first low pass biquad +const double lowp1_a1 = -1.05207469728; +const double lowp1_a2 = 0.28586907478; const double lowp1_b0 = 1.00000000000; const double lowp1_b1 = 2.00000000000; const double lowp1_b2 = 1.00000000000; -/* -//second high pass biquad +//second low pass biquad const double lowp2_a1 = -1.16338171052; const double lowp2_a2 = 0.42191097989; const double lowp2_b0 = 1.00000000000; const double lowp2_b1 = 2.00000000000; const double lowp2_b2 = 1.00000000000; -*/ +//third low pass biquad +const double lowp3_a1 = -1.42439823874; +const double lowp3_a2 = 0.74093118112; +const double lowp3_b0 = 1.00000000000; +const double lowp3_b1 = 2.00000000000; +const double lowp3_b2 = 1.00000000000; @@ -107,7 +115,9 @@ input = analog_emg_left.read(); //input = input-0.45; //FIRST SUBTRACT MEAN THEN FILTER //input_right = analog_emg_right.read(); - double filter_signal = biquad(input, v1, v2, lowp1_a1, lowp1_a2, lowp1_b0, lowp1_b1, lowp1_b2); + double y7 = biquad(input, low_v11, low_v21, lowp1_a1, lowp1_a2, lowp1_b0, lowp1_b1, lowp1_b2); + double y8 = biquad(y7, low_v12, low_v22, lowp2_a1, lowp2_a2, lowp2_b0, lowp2_b1, lowp2_b2); + double filter_signal = biquad(y8, low_v13, low_v23, lowp3_a1, lowp3_a2, lowp3_b0, lowp3_b1, lowp3_b2); //filter_right = filter(input_right, v1_right, v2_right); return(filter_signal);