Part Number: ADS1292R
Questions about ADS1292R data conversion:
As can be seen from the chip manual, the ECG data and respiratory data collected by the ADS1292R are represented by 24 bits. If I choose a reference voltage of 2.42V, the gain is 3
1. ECG signal channel CH2 signal input and output (ADC value adc_value24) relationship: Vin*3 = adc_value24*2.42/(2^23-1)
Actually extracting the ECG signal Vecg from Vin, it is necessary to remove the DC component from it in some way.
2. Res signal channel CH1 signal input and output (ADC value adc_value24) relationship: Vin*3 = adc_value24*2.42/(2^23-1)
Actually, the Resp signal Vresp is extracted from Vin, and the DC component of the Resp signal needs to be removed in some way.
In fact, in the process of processing data, the number of 24bits (adc_value24) is processed into a number of 16bits (adc_value16), then the relationship between input and output does not satisfy the above formula.
Here a coefficient Xecg, Xresp is introduced, and finally the relationship between Vecg, Vresp and adc_value16 is obtained:
1. Vecg = Xecg*adc_value16
Then the coefficient Xecg in the relation can only be calibrated by inputting a standard signal of 1mv to CH2. If so, the consistency of the ADS1292R must be high to ensure that all products can be made.
With the same Xecg, if the consistency of the ADS1292R is not high, each product needs to be separately calibrated with the coefficient Xecg, the effect is that production will become a bit more troublesome.
Question: How is the consistency of the input and output relationships exhibited by the ADS1292R? Do we need to use 1mv input signal calibration for each product separately?
2. Vresp = Xresp*adc_value16
Regarding respiratory impedance, the conversion relationship between adc_value and impedance value is not given in the data sheet. In practical application, we are concerned with the change pattern of the respiratory waveform, and we can care about the specific impedance value.
Therefore, for the adc_value16 of the respiratory data, we use it directly to calculate the respiration rate when using it, and can simply normalize the adc_value16 when drawing the waveform. So don't worry about Xresp here.
Question: If you want to know the specific impedance value, can you know the conversion relationship between the specific adc_value and the impedance value from the original factory?
The engineering source code of the firmware can be obtained from the installation software provided in the evaluation kit of ADS1292R. The screenshots are as follows:
The code from line 693 to line 700 in the figure is as follows:
ADS1x9x_ECG_Data_buf[1] is used to store the adc_value24 of the 24-bits of the respiratory value collected by the ADS1292R;
ADS1x9x_ECG_Data_buf[2] is used to store the adc_value24 of the ECG signal value collected by the ADS1292R for 24bits;
ECGRawData[0] is used to store the converted adc_value16 with a breathing value of 16bits;
ECGRawData[1] is used to store the converted adc_value16 with an ECG value of 16 bits.
The purpose of this code is to convert the 24-bit ADC value to a 16-bit ADC value. The problem is:
1. Why is the ADC value of respiratory impedance directly cut off the high eight bits of 24bits? What is the basis?
2. The ADC value of the ECG signal is directly removed from the upper four bits and lower four bits of 24bits. What is the basis?
The ECGRawData[0] and ECGRawData[1] obtained after this processing will perform post-processing such as high-pass, low-pass, and notch.
