first test of done filter

Dependencies:   biquadFilter mbed HIDScope

Committer:
s1604554
Date:
Tue Oct 18 12:12:15 2016 +0000
Revision:
0:eb47e42019a4
Child:
1:e7cf79380e24
Filter done for 20hz and 50hz

Who changed what in which revision?

UserRevisionLine numberNew contents of line
s1604554 0:eb47e42019a4 1 #include "mbed.h"
s1604554 0:eb47e42019a4 2 #include "BiQuad.h"
s1604554 0:eb47e42019a4 3 #include "stdlib.h"
s1604554 0:eb47e42019a4 4 #include <iostream>
s1604554 0:eb47e42019a4 5 #include <cmath>
s1604554 0:eb47e42019a4 6 #include <string>
s1604554 0:eb47e42019a4 7
s1604554 0:eb47e42019a4 8 int main()
s1604554 0:eb47e42019a4 9 {
s1604554 0:eb47e42019a4 10
s1604554 0:eb47e42019a4 11 BiQuadChain bqc;
s1604554 0:eb47e42019a4 12 BiQuad bq1( 9.84534e-01, -1.59301e+00, 9.84534e-01, -1.59301e+00, 9.69067e-01 );
s1604554 0:eb47e42019a4 13 BiQuad bq2( 9.75180e-01, -9.75170e-01, 0.00000e+00, -9.75178e-01, 0.00000e+00 );
s1604554 0:eb47e42019a4 14 BiQuad bq3( 1.00000e+00, -2.00001e+00, 1.00001e+00, -1.97456e+00, 9.75182e-01 );
s1604554 0:eb47e42019a4 15
s1604554 0:eb47e42019a4 16 bqc.add( &bq1 ).add( &bq2 ).add( &bq3 );
s1604554 0:eb47e42019a4 17 bqc.add( &bq1 );
s1604554 0:eb47e42019a4 18
s1604554 0:eb47e42019a4 19 //high pass and notch
s1604554 0:eb47e42019a4 20
s1604554 0:eb47e42019a4 21
s1604554 0:eb47e42019a4 22
s1604554 0:eb47e42019a4 23 //testing the MA filter
s1604554 0:eb47e42019a4 24 double M [10] = {0.351351, 0.8513684, 0.163153, -0.2653, -0.65235, 1.234, -1.0002, 0.069785, 0.9431, -0.65234};
s1604554 0:eb47e42019a4 25 int N = 4;
s1604554 0:eb47e42019a4 26 double x = 2;
s1604554 0:eb47e42019a4 27
s1604554 0:eb47e42019a4 28
s1604554 0:eb47e42019a4 29 double average;
s1604554 0:eb47e42019a4 30
s1604554 0:eb47e42019a4 31 for (int i = N;i<=10;i++)
s1604554 0:eb47e42019a4 32 {
s1604554 0:eb47e42019a4 33 average = sqrt((pow(abs(M[i-3]),x)+pow(abs(M[i-2]),x)+pow(abs(M[i-1]),x)+pow(abs(M[i]),x)/static_cast<double>(N)));
s1604554 0:eb47e42019a4 34 std::cout << average<< "\n\r" ;
s1604554 0:eb47e42019a4 35 }
s1604554 0:eb47e42019a4 36 //Full wave rectifier, moving average, and RMS
s1604554 0:eb47e42019a4 37
s1604554 0:eb47e42019a4 38 return 0;
s1604554 0:eb47e42019a4 39 }
s1604554 0:eb47e42019a4 40
s1604554 0:eb47e42019a4 41