NRF25 using Butterworth bandpass filter for ECG by SAADC

HI everyone, i have a problem when implementing Butterworth bandpass filter in SAADC module to cancel out the noise of our ECG module.

I used " nrf_saadc_value_t m_buffer_pool[2][SAMPLE_BUFFER_LEN] " and " nrfx_saadc_buffer_convert(m_buffer_pool[0], SAMPLE_BUFFER_LEN) "

As far as i had known, the VOLTAGE signal of the analog input will be transfered to the memory of MCU and converted to an appropriate level of BITS, then these value will be stored in registers in terms of BITS. I used a software filter based on the code on this Github link: github.com/.../filter-c

My question is: How can the Butterworth filter cancel out the noises and only select the band of desirable frequency for my project. Does it work only on frequency generated by the electrical voltage Or it can also filter the BITS value in the memory?

Thanks in advance.

Parents
  • Hi,


    I think you will have to contact the author for the filter you are using. 

    But since the filter seems to be only a software filter then there is some computation here that will change the digital values, and not the analog values. So the filter that you are pointing to is not a physical filter that effects the voltage level or frequency of the incoming signal before it is translated to digital values and stored in the memory. 

    Regards,
    Jonathan

Reply
  • Hi,


    I think you will have to contact the author for the filter you are using. 

    But since the filter seems to be only a software filter then there is some computation here that will change the digital values, and not the analog values. So the filter that you are pointing to is not a physical filter that effects the voltage level or frequency of the incoming signal before it is translated to digital values and stored in the memory. 

    Regards,
    Jonathan

Children
Related