Thought this would deserve a separate post on its own. 

What's going on is that I finally got my low pass digital filter working on the [STM32H753ZI][1] using the [PMODI2S2][2] peripheral and I noticed the output signal is extremely low ~340mVpp this is after the biquad filtering. If I take out the low pass filtering the output signal then raises to around ~600mVpp.

What's causing this phenomenon? The digital filter bode plot says the gain from very low frequencies up to the cut off is 0dB so I dont understand whats going on. The only thing I can think of is the biquad filter is causing an attenuation perhaps? 

Analog Filter: \$ LPF_{Analog}=\frac{3.94e07}{s^2+8889s+3.94e07}\$

![enter image description here][3]][3]

Digital Filter: \$ LPF_{Digital}=\frac{0.00102z^2 +0.002041z+0.00102}{z^2-1.908z+0.9116}\$, using tustin

[![enter image description here][4]][4]


Pictures:

Input signal(yellow) from wave gen and output signal(green) after the Biquad filter
[![enter image description here][5]][5]

Input signal(yellow) from wave gen and output signal(green) passthrough with the peripheral no digital processing
[![enter image description here][6]][6]

Bode plot from Oscilloscope with the biquad filter: 
[![enter image description here][7]][7]

CODE:

    #define ARM_MATH_CM7
    
    #include "main.h"
    
    #include "arm_math.h"
    
    
    void init_Clock(void);
    void init_I2S(void);
    void init_Debugging(void);
    void init_Interrupt(void);
    void init_SpeedTest(void);
    
    int32_t RxBuff[4];
    int32_t TxBuff[4];
    uint8_t TC_Callback = 0;
    uint8_t HC_Callback = 0;
    
    char uartBuff[8];
     float32_t iir_coeffs[5] = {0.00102f, 0.002041f, 0.00102f, 1.908f, -0.9116f}; //B0, B1, B2, A1, A2
    float32_t iir_mono_state[4];
    
    float32_t Rx_Buff_f[4];
    float32_t Rx_Buff_f_out[4];
    
    
    arm_biquad_casd_df1_inst_f32 monoChannel;
    
    
    void DMA1_Stream0_IRQHandler(void) {
    
        if (((DMA1 -> LISR) & (DMA_LISR_TCIF0)) != 0){
            DMA1 -> LIFCR |= DMA_LIFCR_CTCIF0;
            TC_Callback = 1;
        }
    
        else if (((DMA1 -> LISR) & (DMA_LISR_HTIF0)) != 0){
             DMA1 -> LIFCR |= DMA_LIFCR_CHTIF0;
             HC_Callback = 1;
    
        }
    }
    
    int main(void) {
    
        init_Clock();
        init_I2S();
        //init_Debugging();
        init_Interrupt();
        //init_SpeedTest();
        arm_biquad_cascade_df1_init_f32(&monoChannel, 1, iir_coeffs, iir_mono_state);
    
      while (1)
      {
    
          if (HC_Callback == 1){
    
             // GPIOA->BSRR |= GPIO_BSRR_BS3_HIGH;
    
              for (int i = 0; i < 2; i++){
                  Rx_Buff_f[i] = (float32_t)RxBuff[i];
              }
    
              arm_biquad_cascade_df1_f32(&monoChannel, Rx_Buff_f, Rx_Buff_f_out, 2);
    
              for (int i = 0; i < 2; i++){
                    TxBuff[i] = (int32_t)Rx_Buff_f_out[i];
                }
    
              HC_Callback = 0;
    
          } else  if (TC_Callback == 1){
    
    
            //  GPIOA->BSRR |= GPIO_BSRR_BR3_LOW;
    
    
              for (int i = 2; i < 4; i++){
                   Rx_Buff_f[i] = (float32_t)RxBuff[i];
                }
    
                      arm_biquad_cascade_df1_f32(&monoChannel, &Rx_Buff_f[2], &Rx_Buff_f_out[2], 2);
    
                      for (int i = 2; i < 4; i++){
                            TxBuff[i] =  (int32_t)Rx_Buff_f_out[i];
                        }
    
    
    
              TC_Callback = 0;
    
          }
    
    
    
      }
    
    }


  [1]: https://www.google.com/search?rlz=1C1CHBD_enCA841CA841&sxsrf=ALeKk0181J_yj10LYaGo5FVNDbOKMr78Qg%3A1602789035623&ei=q56IX_2-JZH5tAbGzr2YAw&q=stm32H753zi&oq=stm32H753zi&gs_lcp=CgZwc3ktYWIQAzIECCMQJzIECCMQJzIECCMQJzICCAAyBAgAEB4yBAgAEB4yBAgAEB46BAgAEEdQvxhYvxhg9xxoAHACeACAAWCIAWCSAQExmAEAoAEBqgEHZ3dzLXdpesgBCMABAQ&sclient=psy-ab&ved=0ahUKEwi9wPi4prfsAhWRPM0KHUZnDzMQ4dUDCA0&uact=5
  [2]: https://reference.digilentinc.com/reference/pmod/pmodi2s2/reference-manual
  [3]: https://i.sstatic.net/0JCTN.png
  [4]: https://i.sstatic.net/pK42P.png
  [5]: https://i.sstatic.net/l7nsc.png
  [6]: https://i.sstatic.net/lt0lW.png
  [7]: https://i.sstatic.net/TMi9X.png