DSPRelated.com
Forums

Practical limits of extracting a known signal level from noise

Started by Charles Oram May 31, 2006
Hi,
What are the practical limits (in terms of signal to noise ratio) of 
filtering a known (say 1kHz) signal from noise and other signals using 
digital signal processing when you want to measure the amplitude of that 
signal accurately?
I'm working on a system that has to measure very small resistances (of the 
order of 1mOhm, for measuring battery resistance) to a good accuracy (better 
than 1%). The system injects a sine wave current using a FET and then 
measures the resulting sinewave voltage across the resistance using an 
instrumentation amplifier and an ADC (12 bit, may need to go to 16-bit). It 
then uses synchronous averaging to average out one cycle of the sine wave 
(averages 1000 cycles), calculates the RMS of that cycle and uses that to 
calculate the resistance (based on the known level of the injected current 
sinewave). The filtering needs to be very good because in our application 
the resistance we are measuring may have a large ripple current flowing 
through it (UPS's often use the batteries as capacitors, so they put quite 
large currents through the battery).  This works pretty well and the 
synchronous averaging does a very good job of filtering the signal (is an 
exceptional bandpass filter), but I am struggling to get the accuracy I 
need. The current needs to be fairly low to stop the FET overheating, so I'm 
using around 1 to 4 amps (peak), meaning that I am trying to extract a 1 to 
4 mV (p-p) sinewave from within a 45mV p-p signal (with a predominant 
frequency of 300Hz, with some components of 50Hz , 100Hz and 600Hz). For a 
10mOhm resistance the measurement signal is 10mV and the noise/ripple signal 
is around 140mV. The accuracy is typically not better than 2%.
This doesn't seem too hard for DSP if you just wanted to detect the signal 
(e.g. for digital communication), but I need to accuractely detect levels, 
so I'm looking for a reality check to make sure that I haven't already 
reached the limits of what's possible.
TIA
Charles 


On Thu, 1 Jun 2006 09:47:35 +1200, in comp.arch.embedded "Charles
Oram" <charles at oram dot co dot nz> wrote:

>Hi, >What are the practical limits (in terms of signal to noise ratio) of >filtering a known (say 1kHz) signal from noise and other signals using >digital signal processing when you want to measure the amplitude of that >signal accurately? >I'm working on a system that has to measure very small resistances (of the >order of 1mOhm, for measuring battery resistance) to a good accuracy (better >than 1%). The system injects a sine wave current using a FET and then >measures the resulting sinewave voltage across the resistance using an >instrumentation amplifier and an ADC (12 bit, may need to go to 16-bit). It >then uses synchronous averaging to average out one cycle of the sine wave >(averages 1000 cycles), calculates the RMS of that cycle and uses that to >calculate the resistance (based on the known level of the injected current >sinewave). The filtering needs to be very good because in our application >the resistance we are measuring may have a large ripple current flowing >through it (UPS's often use the batteries as capacitors, so they put quite >large currents through the battery). This works pretty well and the >synchronous averaging does a very good job of filtering the signal (is an >exceptional bandpass filter), but I am struggling to get the accuracy I >need. The current needs to be fairly low to stop the FET overheating, so I'm >using around 1 to 4 amps (peak), meaning that I am trying to extract a 1 to >4 mV (p-p) sinewave from within a 45mV p-p signal (with a predominant >frequency of 300Hz, with some components of 50Hz , 100Hz and 600Hz). For a >10mOhm resistance the measurement signal is 10mV and the noise/ripple signal >is around 140mV. The accuracy is typically not better than 2%. >This doesn't seem too hard for DSP if you just wanted to detect the signal >(e.g. for digital communication), but I need to accuractely detect levels, >so I'm looking for a reality check to make sure that I haven't already >reached the limits of what's possible. >TIA >Charles >
I saw a collegue doing this in the 70's, checking the 48V batteries for a strowger system. I think the drain was about 100A or so. He use a 50 watt audio power amp with a series R to measure the Z fom 10Hz to 1K. Quite predictable. These days I'd suggest using an ordinary soundcard on a laptop, with a suitable interface and poweramp, they are almost all 24bit resolution these days, and record it as a WAV file, then do some post processing ( I'm an audio guy). If it's real time, dont ask me. But the S/N is bandwidth related, the wider the window, the more shit gets in, so you have to define that.Say 1Hz bandwidth, I guess 120dB or so resolution would'nt be too dificult martin
Charles Oram wrote:

> Hi, > What are the practical limits (in terms of signal to noise ratio) of > filtering a known (say 1kHz) signal from noise and other signals using > digital signal processing when you want to measure the amplitude of that > signal accurately? > I'm working on a system that has to measure very small resistances (of the > order of 1mOhm, for measuring battery resistance) to a good accuracy (better > than 1%). The system injects a sine wave current using a FET and then > measures the resulting sinewave voltage across the resistance using an > instrumentation amplifier and an ADC (12 bit, may need to go to 16-bit). It > then uses synchronous averaging to average out one cycle of the sine wave > (averages 1000 cycles),
Do you mean you're synchronously averaging over one cycle, or that you're averaging over one cycle with 1000 samples?
> calculates the RMS of that cycle and uses that to > calculate the resistance (based on the known level of the injected current > sinewave). The filtering needs to be very good because in our application > the resistance we are measuring may have a large ripple current flowing > through it (UPS's often use the batteries as capacitors, so they put quite > large currents through the battery). This works pretty well and the > synchronous averaging does a very good job of filtering the signal (is an > exceptional bandpass filter), but I am struggling to get the accuracy I > need. The current needs to be fairly low to stop the FET overheating, so I'm > using around 1 to 4 amps (peak), meaning that I am trying to extract a 1 to > 4 mV (p-p) sinewave from within a 45mV p-p signal (with a predominant > frequency of 300Hz, with some components of 50Hz , 100Hz and 600Hz). For a > 10mOhm resistance the measurement signal is 10mV and the noise/ripple signal > is around 140mV. The accuracy is typically not better than 2%. > This doesn't seem too hard for DSP if you just wanted to detect the signal > (e.g. for digital communication), but I need to accuractely detect levels, > so I'm looking for a reality check to make sure that I haven't already > reached the limits of what's possible. > TIA > Charles >
Are you getting systemic problems due to nonlinearities in your measurement system, or are you getting noise due to, well, noise? 1% of 4mV is 40uV, which means you're getting down to the lower limit of your ADC -- are you sure you're within it's limitations? Certainly the quantization noise shouldn't be an issue if you're not synchronous with your 45mV noise. If it's just noise then just averaging for more cycles indicated. If it's systemic then you can do all the extra filtering in the world and you'll never get there from here. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Posting from Google? See http://cfaj.freeshell.org/google/ "Applied Control Theory for Embedded Systems" came out in April. See details at http://www.wescottdesign.com/actfes/actfes.html
"Tim Wescott" <tim@seemywebsite.com> wrote in message 
news:fPSdnZ99fJOzsuPZRVn-jA@web-ster.com...
> Charles Oram wrote: > >> Hi, >> What are the practical limits (in terms of signal to noise ratio) of >> filtering a known (say 1kHz) signal from noise and other signals using >> digital signal processing when you want to measure the amplitude of that >> signal accurately? >> I'm working on a system that has to measure very small resistances (of >> the order of 1mOhm, for measuring battery resistance) to a good accuracy >> (better than 1%). The system injects a sine wave current using a FET and >> then measures the resulting sinewave voltage across the resistance using >> an instrumentation amplifier and an ADC (12 bit, may need to go to >> 16-bit). It then uses synchronous averaging to average out one cycle of >> the sine wave (averages 1000 cycles), > > Do you mean you're synchronously averaging over one cycle, or that you're > averaging over one cycle with 1000 samples?
I'm synchronously averaging for 1s at 36ksps, synchronised with the 1kHz signal. For a 1kHz signal I am sampling at 36ksps, so I have 36 accumulators that I cycle through each 1ms, adding the ADC counts to the accumulators and then (at the end) dividing by the number of 1kHz cycles in 1s (1000).
> >> calculates the RMS of that cycle and uses that to calculate the >> resistance (based on the known level of the injected current sinewave). >> The filtering needs to be very good because in our application the >> resistance we are measuring may have a large ripple current flowing >> through it (UPS's often use the batteries as capacitors, so they put >> quite large currents through the battery). This works pretty well and >> the synchronous averaging does a very good job of filtering the signal >> (is an exceptional bandpass filter), but I am struggling to get the >> accuracy I need. The current needs to be fairly low to stop the FET >> overheating, so I'm using around 1 to 4 amps (peak), meaning that I am >> trying to extract a 1 to 4 mV (p-p) sinewave from within a 45mV p-p >> signal (with a predominant frequency of 300Hz, with some components of >> 50Hz , 100Hz and 600Hz). For a 10mOhm resistance the measurement signal >> is 10mV and the noise/ripple signal is around 140mV. The accuracy is >> typically not better than 2%. >> This doesn't seem too hard for DSP if you just wanted to detect the >> signal (e.g. for digital communication), but I need to accuractely detect >> levels, so I'm looking for a reality check to make sure that I haven't >> already reached the limits of what's possible. >> TIA >> Charles > Are you getting systemic problems due to nonlinearities in your > measurement system, or are you getting noise due to, well, noise? 1% of > 4mV is 40uV, which means you're getting down to the lower limit of your > ADC -- are you sure you're within it's limitations? Certainly the > quantization noise shouldn't be an issue if you're not synchronous with > your 45mV noise.
I forgot to mention an important detail - the instrumentation amplifier has a gain of 8 and the ADC has an adjustable gain that is set to 4, so after those gains we have a 1.44V signal with 128mV superimposed on it. The ADC has a Vref of 2.4V, so 1% of 128mV is only 2 AD counts, not much...
> > If it's just noise then just averaging for more cycles indicated. If it's > systemic then you can do all the extra filtering in the world and you'll > never get there from here.
I have found that I can achieve the required accuracy with 50Hz or 150Hz sinewave ripple, but if I got to 300Hz sinewave, or to the complex waveform described I can't achieve it. So it may just be that the sycnchronous averaging needs a lot more samples to completely reject those higher frequencies. I'll give that a try, thanks Tim. - Charles
"martin griffith" <mart_in_medina@yahoo.esXXX> wrote in message 
news:ie5s72d71ssb6hkhl6pl1qo1f24gjjhq1g@4ax.com...
> On Thu, 1 Jun 2006 09:47:35 +1200, in comp.arch.embedded "Charles > Oram" <charles at oram dot co dot nz> wrote: > >>Hi, >>What are the practical limits (in terms of signal to noise ratio) of >>filtering a known (say 1kHz) signal from noise and other signals using >>digital signal processing when you want to measure the amplitude of that >>signal accurately? >>I'm working on a system that has to measure very small resistances (of the >>order of 1mOhm, for measuring battery resistance) to a good accuracy >>(better >>than 1%). The system injects a sine wave current using a FET and then >>measures the resulting sinewave voltage across the resistance using an >>instrumentation amplifier and an ADC (12 bit, may need to go to 16-bit). >>It >>then uses synchronous averaging to average out one cycle of the sine wave >>(averages 1000 cycles), calculates the RMS of that cycle and uses that to >>calculate the resistance (based on the known level of the injected current >>sinewave). The filtering needs to be very good because in our application >>the resistance we are measuring may have a large ripple current flowing >>through it (UPS's often use the batteries as capacitors, so they put quite >>large currents through the battery). This works pretty well and the >>synchronous averaging does a very good job of filtering the signal (is an >>exceptional bandpass filter), but I am struggling to get the accuracy I >>need. The current needs to be fairly low to stop the FET overheating, so >>I'm >>using around 1 to 4 amps (peak), meaning that I am trying to extract a 1 >>to >>4 mV (p-p) sinewave from within a 45mV p-p signal (with a predominant >>frequency of 300Hz, with some components of 50Hz , 100Hz and 600Hz). For a >>10mOhm resistance the measurement signal is 10mV and the noise/ripple >>signal >>is around 140mV. The accuracy is typically not better than 2%. >>This doesn't seem too hard for DSP if you just wanted to detect the signal >>(e.g. for digital communication), but I need to accuractely detect levels, >>so I'm looking for a reality check to make sure that I haven't already >>reached the limits of what's possible. >>TIA >>Charles >> > I saw a collegue doing this in the 70's, checking the 48V batteries > for a strowger system. I think the drain was about 100A or so. He use > a 50 watt audio power amp with a series R to measure the Z fom 10Hz > to 1K. Quite predictable. >
Using a larger current makes everything much easier, unfortunately it is not an option for my application as the FET would be too expensive and the heat dissipation becomes a major problem.
> These days I'd suggest using an ordinary soundcard on a laptop, with a > suitable interface and poweramp, they are almost all 24bit resolution > these days, and record it as a WAV file, then do some post processing > ( I'm an audio guy). If it's real time, dont ask me. >
This is for a product, not a one-off set of measurements, so unfortunately that's not an option.
> But the S/N is bandwidth related, the wider the window, the more shit > gets in, so you have to define that.Say 1Hz bandwidth, I guess 120dB > or so resolution would'nt be too dificult
That's what I'm hoping. - Charles
In article <447e45e1@news.maxnet.co.nz>, Charles Oram wrote:

> "Tim Wescott" <tim@seemywebsite.com> wrote in message > news:fPSdnZ99fJOzsuPZRVn-jA@web-ster.com... > > Charles Oram wrote: > > > >> Hi, > >> What are the practical limits (in terms of signal to noise ratio) of > >> filtering a known (say 1kHz) signal from noise and other signals using > >> digital signal processing when you want to measure the amplitude of that > >> signal accurately? > >> I'm working on a system that has to measure very small resistances (of > >> the order of 1mOhm, for measuring battery resistance) to a good accuracy > >> (better than 1%). The system injects a sine wave current using a FET and > >> then measures the resulting sinewave voltage across the resistance using > >> an instrumentation amplifier and an ADC (12 bit, may need to go to > >> 16-bit). It then uses synchronous averaging to average out one cycle of > >> the sine wave (averages 1000 cycles), > > > > Do you mean you're synchronously averaging over one cycle, or that you're > > averaging over one cycle with 1000 samples? > > I'm synchronously averaging for 1s at 36ksps, synchronised with the 1kHz > signal. > For a 1kHz signal I am sampling at 36ksps, so I have 36 accumulators that I > cycle through each 1ms, adding the ADC counts to the accumulators and then > (at the end) dividing by the number of 1kHz cycles in 1s (1000). > > > > >> calculates the RMS of that cycle and uses that to calculate the > >> resistance (based on the known level of the injected current sinewave). > >> The filtering needs to be very good because in our application the > >> resistance we are measuring may have a large ripple current flowing > >> through it (UPS's often use the batteries as capacitors, so they put > >> quite large currents through the battery). This works pretty well and > >> the synchronous averaging does a very good job of filtering the signal > >> (is an exceptional bandpass filter), but I am struggling to get the > >> accuracy I need. The current needs to be fairly low to stop the FET > >> overheating, so I'm using around 1 to 4 amps (peak), meaning that I am > >> trying to extract a 1 to 4 mV (p-p) sinewave from within a 45mV p-p > >> signal (with a predominant frequency of 300Hz, with some components of > >> 50Hz , 100Hz and 600Hz). For a 10mOhm resistance the measurement signal > >> is 10mV and the noise/ripple signal is around 140mV. The accuracy is > >> typically not better than 2%. > >> This doesn't seem too hard for DSP if you just wanted to detect the > >> signal (e.g. for digital communication), but I need to accuractely detect > >> levels, so I'm looking for a reality check to make sure that I haven't > >> already reached the limits of what's possible. > >> TIA > >> Charles > > Are you getting systemic problems due to nonlinearities in your > > measurement system, or are you getting noise due to, well, noise? 1% of > > 4mV is 40uV, which means you're getting down to the lower limit of your > > ADC -- are you sure you're within it's limitations? Certainly the > > quantization noise shouldn't be an issue if you're not synchronous with > > your 45mV noise. > > I forgot to mention an important detail - the instrumentation amplifier has > a gain of 8 and the ADC has an adjustable gain that is set to 4, so after > those gains we have a 1.44V signal with 128mV superimposed on it. > The ADC has a Vref of 2.4V, so 1% of 128mV is only 2 AD counts, not much... > > > > > If it's just noise then just averaging for more cycles indicated. If it's > > systemic then you can do all the extra filtering in the world and you'll > > never get there from here. > > I have found that I can achieve the required accuracy with 50Hz or 150Hz > sinewave ripple, but if I got to 300Hz sinewave, or to the complex waveform > described I can't achieve it. So it may just be that the sycnchronous > averaging needs a lot more samples to completely reject those higher > frequencies. I'll give that a try, thanks Tim.
You sample at a frequency for an interval (of many samples). Make sure that your sampling frequency divides evenly into the ripple and fundamental frequencies of the power system and of the kHz probe frequency. Sample for an interval that has an integral number of all relevant cycles. Invert the kHz probe frequency signal (i.e. phase shift it by 180 degrees) and sample for a second interval. Then subtract the two results. This cancels everything out but the probe signal response. (Which may still be complicated if there is inductance or non-linearity.) -- David M. Palmer dmpalmer@email.com (formerly @clark.net, @ematic.com)
Charles Oram wrote:

> Hi, > What are the practical limits (in terms of signal to noise ratio) of > filtering a known (say 1kHz) signal from noise and other signals using > digital signal processing when you want to measure the amplitude of that > signal accurately? > I'm working on a system that has to measure very small resistances (of the > order of 1mOhm, for measuring battery resistance) to a good accuracy (better > than 1%). The system injects a sine wave current using a FET and then > measures the resulting sinewave voltage across the resistance using an > instrumentation amplifier and an ADC (12 bit, may need to go to 16-bit). It > then uses synchronous averaging to average out one cycle of the sine wave > (averages 1000 cycles), calculates the RMS of that cycle and uses that to > calculate the resistance (based on the known level of the injected current > sinewave). The filtering needs to be very good because in our application > the resistance we are measuring may have a large ripple current flowing > through it (UPS's often use the batteries as capacitors, so they put quite > large currents through the battery). This works pretty well and the > synchronous averaging does a very good job of filtering the signal (is an > exceptional bandpass filter), but I am struggling to get the accuracy I > need. The current needs to be fairly low to stop the FET overheating, so I'm > using around 1 to 4 amps (peak), meaning that I am trying to extract a 1 to > 4 mV (p-p) sinewave from within a 45mV p-p signal (with a predominant > frequency of 300Hz, with some components of 50Hz , 100Hz and 600Hz). For a > 10mOhm resistance the measurement signal is 10mV and the noise/ripple signal > is around 140mV. The accuracy is typically not better than 2%. > This doesn't seem too hard for DSP if you just wanted to detect the signal > (e.g. for digital communication), but I need to accuractely detect levels, > so I'm looking for a reality check to make sure that I haven't already > reached the limits of what's possible.
Gain doesn't help with the signal to noise. Having a small bandwidth does. As to your problem, synchroneous rectification does the job, and with a sensible selection of parameters, you can recover signals that are 100dB below the noise. Look up the term "lock-in amplifier" Rene -- Ing.Buero R.Tschaggelar - http://www.ibrtses.com & commercial newsgroups - http://www.talkto.net
On Thu, 1 Jun 2006 09:47:35 +1200, "Charles Oram" <charles at oram dot
co dot nz> wrote:

>Hi, >What are the practical limits (in terms of signal to noise ratio) of >filtering a known (say 1kHz) signal from noise and other signals using >digital signal processing when you want to measure the amplitude of that >signal accurately?
Have you considered a higher frequency, so that you could use passive low pass filters to attenuate the 50/100/300/600 Hz noise and thus cause less problems to the amplifier and ADC linearity requirements ?
>I'm working on a system that has to measure very small resistances (of the >order of 1mOhm, for measuring battery resistance) to a good accuracy (better >than 1%). The system injects a sine wave current using a FET and then >measures the resulting sinewave voltage across the resistance using an >instrumentation amplifier and an ADC (12 bit, may need to go to 16-bit).
>The current needs to be fairly low to stop the FET overheating, so I'm >using around 1 to 4 amps (peak), meaning that I am trying to extract a 1 to >4 mV (p-p) sinewave from within a 45mV p-p signal (with a predominant >frequency of 300Hz, with some components of 50Hz , 100Hz and 600Hz).
Are you using FETs to directly drive the load or are you using some kind of step down transformer to generate the required current ? Since the measurement _power_ required is only less than 100 mW, small FETs and a step down transformer should be able to deliver the 1-4 A current. With a larger amplifier, a much larger secondary current could be delivered, 100 A into 1 mOhm is still only 10 W. The amplifier must also be able to combat the ripple voltage transformed up by the step down transformer. It might be a good idea to put a shunt resistor or a current transformer into the secondary and connect the derived voltage into the amplifier feedback loop to get away with the transformer nonlinearity. Paul
"Rene Tschaggelar" <none@none.net> wrote in message 
news:447eb261_4@news.bluewin.ch...
> Charles Oram wrote: > >> Hi, >> What are the practical limits (in terms of signal to noise ratio) of >> filtering a known (say 1kHz) signal from noise and other signals using >> digital signal processing when you want to measure the amplitude of that >> signal accurately? >> I'm working on a system that has to measure very small resistances (of >> the order of 1mOhm, for measuring battery resistance) to a good accuracy >> (better than 1%). The system injects a sine wave current using a FET and >> then measures the resulting sinewave voltage across the resistance using >> an instrumentation amplifier and an ADC (12 bit, may need to go to >> 16-bit). It then uses synchronous averaging to average out one cycle of >> the sine wave (averages 1000 cycles), calculates the RMS of that cycle >> and uses that to calculate the resistance (based on the known level of >> the injected current sinewave). The filtering needs to be very good >> because in our application the resistance we are measuring may have a >> large ripple current flowing through it (UPS's often use the batteries as >> capacitors, so they put quite large currents through the battery). This >> works pretty well and the synchronous averaging does a very good job of >> filtering the signal (is an exceptional bandpass filter), but I am >> struggling to get the accuracy I need. The current needs to be fairly low >> to stop the FET overheating, so I'm using around 1 to 4 amps (peak), >> meaning that I am trying to extract a 1 to 4 mV (p-p) sinewave from >> within a 45mV p-p signal (with a predominant frequency of 300Hz, with >> some components of 50Hz , 100Hz and 600Hz). For a 10mOhm resistance the >> measurement signal is 10mV and the noise/ripple signal is around 140mV. >> The accuracy is typically not better than 2%. >> This doesn't seem too hard for DSP if you just wanted to detect the >> signal (e.g. for digital communication), but I need to accuractely detect >> levels, so I'm looking for a reality check to make sure that I haven't >> already reached the limits of what's possible. > > Gain doesn't help with the signal to noise. Having > a small bandwidth does. > As to your problem, synchroneous rectification does > the job, and with a sensible selection of parameters, > you can recover signals that are 100dB below > the noise. Look up the term "lock-in amplifier"
Having you mention that makes me more confident that we are on the right track! We actually started off implementing a lock-in amplifier in hardware and at the same time started looking for ways to do the same thing in software. Unfortunately the hardware implementation doesn't work as well as we would expect and we haven't worked out why yet. - Charles
"Paul Keinanen" <keinanen@sci.fi> wrote in message 
news:ph9t72td1eblg2g0m2hhojstv78bn9me1g@4ax.com...
> On Thu, 1 Jun 2006 09:47:35 +1200, "Charles Oram" <charles at oram dot > co dot nz> wrote: > >>Hi, >>What are the practical limits (in terms of signal to noise ratio) of >>filtering a known (say 1kHz) signal from noise and other signals using >>digital signal processing when you want to measure the amplitude of that >>signal accurately? > > Have you considered a higher frequency, so that you could use passive > low pass filters to attenuate the 50/100/300/600 Hz noise and thus > cause less problems to the amplifier and ADC linearity requirements ?
Yes, going to a higher frequency does give better performance, but it also means that you start measuring more of the reactive components of the battery and we are more interested in the resistance.
> >>I'm working on a system that has to measure very small resistances (of the >>order of 1mOhm, for measuring battery resistance) to a good accuracy >>(better >>than 1%). The system injects a sine wave current using a FET and then >>measures the resulting sinewave voltage across the resistance using an >>instrumentation amplifier and an ADC (12 bit, may need to go to 16-bit). > >>The current needs to be fairly low to stop the FET overheating, so I'm >>using around 1 to 4 amps (peak), meaning that I am trying to extract a 1 >>to >>4 mV (p-p) sinewave from within a 45mV p-p signal (with a predominant >>frequency of 300Hz, with some components of 50Hz , 100Hz and 600Hz). > > Are you using FETs to directly drive the load or are you using some > kind of step down transformer to generate the required current ?
The FET is directly drawing current from the battery being measured and there is a 0.1 Ohm shunt resistor in series with the FET with an op-amp to give a current control feedback loop.
> > Since the measurement _power_ required is only less than 100 mW, small > FETs and a step down transformer should be able to deliver the 1-4 A > current. With a larger amplifier, a much larger secondary current > could be delivered, 100 A into 1 mOhm is still only 10 W.
The majority of the power is not dissipated in the battery, but is dissipated in the FET and the shunt resistor. With a 12V battery and 100A that's I x V = 1200W = smoke and fetch your soldering iron to replace the FET :) One option we are going to try is putting in a bigger shunt resistor so that we can use larger currents and dissipate more of the power in the shunt resistor.
> > The amplifier must also be able to combat the ripple voltage > transformed up by the step down transformer. > > It might be a good idea to put a shunt resistor or a current > transformer into the secondary and connect the derived voltage into > the amplifier feedback loop to get away with the transformer > nonlinearity.
We don't have a transformer, but do have the feedback as you suggest. Thanks. - Charles