I am struggling trying to think out a solution to design a transimpedance amplifier (TIA) which can convert 100 nA to 10 mA. This is 5 decades. I want to be able to amplify these to 1.5V minimum. (3V max).

I want to do most of the amplification in the TIA due to lower total noise.

If I have a fixed value resistor in the TIA feedback loop it can maximum be 300 Ohm for achieving 3V amplitude for 10 mA. This means that to be able to amplify 100 nA to 3V I would need to have a gain of 100 000 which is too large and would give too much additional noise in cascaded amplification stages.

If I reduce my range to 1 uA to 1 mA (not wanted..) which is 3 decades. Now I can have a fixed resistor at 3000 Ohm. And need to have a gain of 1000 which is more doable.

My first solution was to use a digital potentiometer in the TIA feedback loop. This would solve most of my problems, but creates some new ones. The gain vs frequency vs. code plot shown in some data sheets AD5260/AD5262 (page 11 and 12) shows poor performance for frequencies above 100 kHz and I need 500 kHz minimum. So I could use this digital potentiometer and have a stable variable resistor with values as low as 200-800 Ohm (50k or 200k version of the digital potentiometer) and as high as 200 kOhm, but I would need to calibrate my system for this. Additional gain stages are needed in addition to this as well, but noise performance would be a lot better.


I also looked at the logarithmic transimpedance amplifiers (which can convert many more decades), but I want to investigate the possibility to use a linear transimpedance amplifier first.

Multiple feedback loops with different resistor values and analog switches have been considered and if shown is necessary can be accepted. This would eliminate question/problem 1 and 2 below, but introduce analog switch noise.


  1. Will the digital potentiometer add any additional noise?

  2. Will I be able to use a fixed capacitor in the feedback loop to prevent oscillation/ ringing when the resistor has such wide range?

  3. Is there a better/other way to achieve this?

  • \$\begingroup\$ I don't understand your requirements. You say you want 100 nA to 10 mA to map to a range of 1.5 to 3 V at the output. But then you say you want a linear amplifier. You will need to choose either something like a log amplifier, or maybe a variable-gain amplifier and have to keep track of the gain setting to be able to reconstruct the input signal. A linear amplifier can't meet the stated requirements. \$\endgroup\$
    – The Photon
    Nov 19, 2013 at 19:37
  • \$\begingroup\$ @ThePhoton: Thanks for answering, but this question is outdated some. I still havn't made the decision, but I think I will have to solve this by using two feedback loops and cascaded two PGAs. \$\endgroup\$ Nov 19, 2013 at 19:56

2 Answers 2


I'm just concentrating on the non-linear control side.

Is there a better/other way to achieve this?

I think using a wideband analogue multiplier is probably a better choice: -

enter image description here

The picture on the left shows how I envisage it working. You'll need to supply a control voltage (such as from a DAC) and this can be low-pass filtered to remove clock signals from the DAC's output causing noise in the multiplier's output.

If you have a 12 bit DAC you get 12bit control resolution - this is probably better than a digitial pot. I think there could be a reasonable chance of using the multiplier in the feedback loop of the TIA too. This means you could probably still keep the 300 ohm resistor but attenuate the op-amp voltage feeding it via the multiplier. If you attenuate it by (say) 1000 then your feedback resistor starts to behave like a 300k ohm. This neds some thinking to see how it would perform but maybe if you have a simulator this would help.

Another idea is to use a multiplying DAC like the LTC1590. Multiplying DACs do what they say on the tin. You can apply an ac signal to the reference input and get that ac signal out but attenuated by the digital word presented to the device from your MCU. The LTC is a dual DAC so this is probably overkill but, there are plenty of DACs around that will do the job. Search for "multiplying DAC". Here's a picture: -

enter image description here

You'll have to pick a device that doesn't have clock-feedthrough (or at least when you have a steady control number you stop the clock).

  • \$\begingroup\$ So what the AD835 does when in series with a 300 Ohm resistor is that it attenuates the voltage across it? Does this IC introduce relative much noise and/or other limitations? And compared to the multiplying DAC? \$\endgroup\$ Oct 20, 2013 at 20:16
  • \$\begingroup\$ If the multiplying DAC is put in series with the TIA and the TIA already amplify the signal to saturation there is not way to recover the signal by attenuation. Is it possible to implement this multiplying DAC in the feedback loop as well? \$\endgroup\$ Oct 20, 2013 at 20:18
  • \$\begingroup\$ @user1840438 I believe that both solutions would work best in the feedback loop of the TIA but, as you rightly point-out there could be a noise issue with either solution and this would need a good study of the data sheets; the 835 to understand what the output noise is when it produces big attenuation and ditto the DAC. Both have to have a high bandwidth too to prevent the op-amp going unstable. I have a feeling that using both could be advantageous too; the 835 in the feedback and then the DAC after the TIA; a composite solution. \$\endgroup\$
    – Andy aka
    Oct 20, 2013 at 20:53

I suggest range switching the feedback resistors in the TIA. If you can use relays it would be easiest, but it's possible to use analog switches.

If you're doing a PD amplifier, there are lots of interesting stability and speed issues that will result, one solution I've seen is to bootstrap relays so you can use very high value resistors. To get 3V from 100nA means a 30M resistor, so any kind of capacitive coupling will swamp that.

If range switching is not acceptable, it comes down to the dynamic range you require.. five decades of dynamic range is not impossible, but if you really want 1% accuracy of a 100nA input and to be able to handle 1mA, that's 7 decades of dynamic range, which is probably not feasible.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.