有关 ADS1292R 数据转换的问题:
从芯片手册中可以看出、ADS1292R 采集的 ECG 数据和呼吸数据由24位表示。 如果我选择2.42V 的基准电压、则增益为3
ECG 信号通道 CH2信号输入和输出(ADC 值 ADC_Value24)关系:VIN*3 = ADC_Value24*2.42/(2^23-1)
实际上、从 Vin 中提取 ECG 信号 Vecg、有必要以某种方式从 Vin 中移除直流分量。
2. RES 信号通道 CH1信号输入和输出(ADC 值 ADC_value24)关系:VIN*3 = ADC_value24*2.42/(2^23-1)
实际上、Resp 信号 Vresp 从 Vin 中提取、并且需要以某种方式移除 Resp 信号的直流分量。
实际上、在处理数据的过程中、24位数(ADC_value24)被处理为16位数(ADC_value16)、那么输入和输出之间的关系不满足上述公式。
此处引入了系数 Xecg、Xresp、最后获取 Vecg、Vresp 和 ADC_value16之间的关系:
Vecg = Xecg*ADC_value16.
然后、只能通过向 CH2输入1mV 的标准信号来校准相关系数 Xecg。 如果是、则 ADS1292R 的一致性必须较高、以确保所有产品均可生产。
使用相同的 Xecg 时、如果 ADS1292R 的一致性不高、则需要使用系数 Xecg 单独校准每个产品、其效果是生产会变得更加麻烦。
问题:ADS1292R 表现出的输入和输出关系的一致性如何? 我们是否需要分别对每个产品使用1mV 输入信号校准?
2. Vresp = XRESP*ADC_value16.
关于呼吸阻抗、数据表中未给出 ADC_Value 和阻抗值之间的转换关系。 在实际应用中、我们关注呼吸波形的变化模式、我们可以关注特定的阻抗值。
因此、对于呼吸数据的 ADC_value16、我们直接使用它来计算使用它时的呼吸频率、并且可以在绘制波形时简单地使 ADC_value16标准化。 因此、在这里不要担心 XRESP。
问题:如果您想知道特定的阻抗值、您能不能知道特定 ADC_Value 与原始工厂阻抗值之间的转换关系?
固件的工程源代码可从 ADS1292R 评估套件中提供的安装软件中获取。 屏幕截图如下:
图中从第693行到第700行的代码如下:
ADS1x9X_ECG_Data_Buf[1]用于存储 ADS1292R 收集的24位呼吸值的 ADC_Value24;
ADS1x9X_ECG_Data_Buf[2]用于存储 ADS1292R 收集的24位 ECG 信号值的 ADC_Value24;
ECGRawData[0]用于存储转换后的 ADC_Value16、其呼吸值为16位;
ECGRawData[1]用于存储 ECG 值为16位的转换 ADC_Value16。
此代码的目的是将24位 ADC 值转换为16位 ADC 值。 问题是:
1.为什么呼吸阻抗的 ADC 值直接切断了24位高8位? 基础是什么?
2. ECG 信号的 ADC 值直接从24位的高四位和低四位中删除。 基础是什么?
在此处理后获得的 ECGRawData[0]和 ECGRawData[1]将执行高通、低通和陷波等后处理。
