Post Go back to editing

AAF suffer with reduced CMRR because of Passives Tolerances


I am working on differential Multi-channel high precision DAS. I have chosen the following architectures.

Spec: CMRR -  >=50dB @ 0 to 1Khz

         Gain Error - 0.02%

Architecture 1:

AAF --> MUX --> IA --> Post amplifiers --> ADC

But, the demand in CMRR forced me to drop this architecture. Since the signal line is differential, a small variation in passives used for filtering reduce the CMRR by a huge margin. In particular getting precised value capacitor with less tolerance demands more money. I used 2nd order butter-worth filter. But this architecture doesn't give any head ache on Gain error. Except AAF all other components are common for each channel, so the gain error caused by these components can be software calibrated.

This architecture fails to satisfy CMRR spec.

Architecture 2:

IA (diff to single ended) --> filter --> BUFF --> MUX --> BUFF --> Single to differential --> ADC

This architecture gives leverage in choosing passives for filter since the signal is converted into single ended. But, gain of IA is controlled by passive resistors. Even the resistors are present inside the IC & laser trimmed, the maximum gain error is around 0.01%. But those IC's having gain error of 0.01% are costly. According to my specs the maximum allowed gain error is 0.02%.

This architecture fails to satisfy Gain error spec.

Components used : MUX ADG1207, IA - AD8421, Single to differential - AD8513, ADC - AD7663

Is that arrived conclusion about each architecture correct. Please suggest some ways to get out of this situation.



  • Hi Jebas,

    I agree with your CMRR analysis concerning the two architectures. 

    0.02% accuracy is going to be nearly impossible to get without some sort of calibration.   Get some sort of calibrator (Fluke has several), and have each unit that comes off your production line measure the voltage from the calibrator.   Then figure out how much gain error there is in the signal chain and store that error coefficients in your FPGA or microcontroller.   Each time your board makes a measurement, use that error coefficient to correct the error.  By doing this, you will no longer have to worry about the absolute gain error, just the components' drift (which comes primarily from temperature changes). Neither the calibrator, nor the time to do this will be cheap, but this is the only way I know how to get the type of accuracy you are looking for.