Jared Baxter / Mbed 2 deprecated Impedance_Fast_Circuitry_print_V_I

Dependencies:   mbed-dsp mbed

Fork of Impedance_Fast_Circuitry by Jared Baxter

Revision:
68:e5031c18fefb
Parent:
67:ec0c58490ce6
Child:
69:014d4bbd4e03
diff -r ec0c58490ce6 -r e5031c18fefb main.cpp
--- a/main.cpp	Fri Feb 26 22:53:32 2016 +0000
+++ b/main.cpp	Fri May 05 21:41:36 2017 +0000
@@ -32,7 +32,7 @@
 #define BUFFER_LENGTH 64
 uint16_t numTaps = TOTAL_TAPS;
 float State[STATE_LENGTH]= {0};
-float Coeffs[TOTAL_TAPS] = {0.25, 0, 0, 0, 0, 0, 0, 0};
+float Coeffs[TOTAL_TAPS] = {1, -1, 0, 0, 0, 0, 0, 0};
 arm_fir_instance_f32 S = {numTaps, State, Coeffs};
 
 float filter_input_array[BUFFER_LENGTH] = {0};
@@ -102,26 +102,29 @@
                     {
                         //static_output_array0[i] = static_input_array0[i] >> 4;                        
                         //filter_input_array[i] = (float) (((int) static_input_array0[i]) - 0x8000);
-                        filter_input_array[i] = (float) static_input_array0[i];
+                        filter_input_array[i] = (float) (((int)static_input_array0[i]) - 0x8000);
                     }
                     
                     //filter_input_array[0] = (float) static_input_array0[0];
                     
-                    //arm_fir_f32(&S, filter_input_array, filter_output_array, len);
+                    arm_fir_f32(&S, filter_input_array, filter_output_array, len);
+                    
                     
+                    // Scale for output
+                    /*
                     for(int i = 0; i < len; i++) 
                     {
                         //static_output_array0[i] = static_input_array0[i] >> 4;                        
                         //filter_output_array[i] = 0.25 * filter_input_array[i];
-                        filter_output_array[i] = 0.0625 * filter_input_array[i];
+                        filter_output_array[i] = 0.0625 * filter_output_array[i];
                     }
-                    
+                    */
                     
                     for(int i = 0; i < len; i++) 
                     {
                         //static_output_array0[i] = static_input_array0[i] >> 4;                        
                         //static_output_array0[i] = (uint16_t) (( (int) filter_output_array[i] ) + 0x800);
-                        static_output_array0[i] = (uint16_t) filter_output_array[i];
+                        static_output_array0[i] = (uint16_t) (filter_output_array[i] + 0x8000) >> 4;
                         //static_output_array0[i] = (uint16_t) filter_input_array[i];
                         //static_output_array0[i] = static_input_array0[i] >> 4;
                     }