Och jag hittade genast denna... (har sett en liknande "application note" från Atmel så jag känner till principen):
AN-804Öka bitdjupet på AD-omvandlare med hjälp av tillsatt brus, ganska smart tanke och kanske värdefullt om man bara har t.ex en 10-bitars omvandlare.
It is in fact possible to reduce the distortion and also to
improve the resolution below an LSB (least significant bit)
by adding noise (dither) to the signal of interest For ideal
converters the optimum dither is white noise at a voltage
level of about LSB rms The addition of dither effectively
Artikeln handlar ju om att införa en kontrollerad mängd brus med amplituden 1/3LSB. Det förekommer ju dock alltid brus från komponenter som jag misstänker har ganska jämn medelamplitud inom spektrumet som ADC:en i en uC hinner mäta. Innebär det att upplösningen alltid kan utökas utöver ADC:ens bitar genom medelvärdesbildning om bruset är större än 1/3 LSB?
Det är sådan man skall plöja igenom när man ligger hemma och är jätteförkyld men inte orka sova längre - den tiden som spederar på appnötter betalar sig många år senare eftersom man då känner igen behovet/problemet/lösningen och har en viss aning var man skall leta...
Bearing: jo, i Atmel's application note är dom inte lika sofistikerade utan tycker att det räcker med det allmänna bakgrundsbruset - om det inte är för lågt. (tror jag, ett tag sen jag läste det nu)
Normally a signal contains some noise, this noise very often has the characteristic of
Gaussian noise, more commonly known as White noise or Thermal noise, recognized
by the wide frequency spectrum and that the total energy is equally divided over the
entire frequency range. In these cases the method of Oversampling and decimation
will work, if the amplitude of the noise is sufficient to toggle the LSB of the ADC
conversion.
In other cases it might be necessary to add artificial noise signal to the input signal,
this method is referred to as Dithering. The waveform of this noise should be
Gaussian noise, but a periodical waveform will also work. What frequency this noise
signal should have depends on the sampling frequency. A rule of thumb is:
When adding m samples, the noise signals period should not exceed the period of m
samples. The amplitude of the noise should be at least 1 LSB.
When adding artificial noise to a signal, it is important to remember that noise has
mean value of zero; insufficient oversampling therefore may cause an offset, as
shown in Figure 3-3.
Själv har jag räknat ut att om man vill mäta DC (eller mycket låga frekvenser) kan man lägga på en triangelvåg med amplitud minst 1 LSB så kan man med många samplingar få ner noggrannheten till kanske 1/16 LSB (teoretiskt 1/n LSB då n=antal samples). För att det ska lyckas kanske man måste börja med att filtrera ingången från AC.
Jag har använt mig av Atmels note för att "öka upplösningen" en gång och det funkade rätt bra, dock inte så att man kan ersätta en ad med fler bitar rakt av(inte meningen heller men det känns nästan så i deras appnote). men om man ligger på gränsen på vad man klarar med befinliga bitar funkar det bra för att få något bättre upplösning.
Den säger iallafall att man ibland klarar sig med bakgrundsbruset, men ibland måste det skapas extra.
björn: kul att höra att det fungerar. Jag har exakt det problemet just nu och tänker använda mig av metoden. Har redan skrivit och simulerat programmet, men har inte kommit igång med provning i hårdvaran än.
ronny: tack för de nötterna... bra att ha med sig.
Applikationsnoten skriven av självaste Bob Pease och relativt nyligen dessutom!
Första gången jag hörde talas om en "Howland Current Pump" var i tidningen Electronics World + Wireless World (december 1993).
I artikeln "Add on a Spectrum Analyser" användes en sån krets i svepgeneratorn till kapacitansdioderna i en analog TV-tunermodul.
Projektet gick ut på att bygga en tillsats till ett vanligt oscilloskop, kopplat i XY-läge, för att få en enklare typ av spektrummonitor.
Vet att det var så länge sedan (1993) för jag har fortfarande kvar artikeln i min "Spektrumanalysatorpärm" med byggprojekt inom det området.
Kanske dags att äntligen bygga något av alla kretskort med tunermoduler (från äldre TV- och videoapparater) som jag har sparat för framtida bruk...