uC ADC avg vs over sampling

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
gripner
Inlägg: 1169
Blev medlem: 4 december 2007, 14:47:39
Ort: Lidingö

uC ADC avg vs over sampling

Inlägg av gripner »

Såg en tråd på forumet om over sampling, få ut några extra bitar ur din adc. Tråden hade länk till annan tråd där de visade hur man fick n antal fler bitar ur en i detta fall arduino (med 10bit adc)

Så som jag förstår det så kan man tex over sampla en 16bit adc med 4 bitar genom att man kör
oversamplingsbitar^4 / oversamplingsbitar^2

Kod: Markera allt

   float w = 0.0;
   for(int i = 0; i < 1024; i++) {          // 1024 = 4 bitars oversampling        oversamplingsbitar^4 = 1024
      w += analogRead(pin_w);
      delay(1);  
    }
    
   w /= 32;                                      //      oversamplingsbitar^2      = 32
vid en viss spänning på adc får man nu ett värde på tex 484xxx , xxx fluktuerar mellan typ 100-600 men ligger mestadels runt 300-400
Detta är ju pga div störningar.


Om man skippar over sampling och kör en avg

Kod: Markera allt

    float w = 0.0;
    for(int i = 0; i < 1024; i++) {
      w += analogRead(pin_w);
      delay(1);  
    }
    
    w /= 1024;

    weight = w;
Nu får man ett mindre värde tex. 509x där x fluktuerar mellan 5 och 6

Slutkläm, ser inte riktigt vad over sampling ger för fördelar. Men det kan säkert någon som är mer insatt än mig svara på (hoppas jag i vart fall)
limpan4all
Inlägg: 8448
Blev medlem: 15 april 2006, 18:57:29
Ort: Typ Nyköping

Re: uC ADC avg vs over sampling

Inlägg av limpan4all »

Skall försöka att förklara...
Jo, det funkar faktiskt.
Men om ditt brus ligger på 9 bitar (500 enheter) så kommer du inte att tillföra något alls, du har för mycket brus.
I mitt fall så har jag med en bra 16 bitar omvandlare och med bra analog design ligger jag på 1,5 bitars brus (6 enheter eller ca 180uV vid +-2V fullt sving) vid 8 kanalers sampling i 50k sampel/s/kanal (A/D´n jobbar internt med 400ks/s).
Då jag inte behöver så mycket sampels till alla typer av beräkningar som vi vill göra så kan man skaffa fram mera noggrannhet istället.
25ks/s ger 17 bitar, 3,125ks/s ger 18 bitar vilket räcker för oss. Ja det är medelvärdesbildning över de senaste 16 samplen som ger den ökade noggrannheten.
Man får flera bitar på bekostnad av bandbredd helt enkelt. Hädiskt skulle man kunna säga att man tar information ur frekvensplanet för att få information i amplitudplanet istället.
Det underlättar även antialisingfiltrets design då det kan göras lite mindre brant (vikningsdistorsionsproblemet blir mindre).
Signal brusförhållandet förbättras också.
Men 4 bitar ger en 256-faldig översampling och då blir A/D´n dyr oftast så det lönar sig inte gentemot att handla rätt från början om man inte har en massa ledig CPU kraft och ström att tillgå.
Men i ditt fall så måste du fixa till analogsidan först...
superx
Inlägg: 1127
Blev medlem: 19 juni 2012, 23:28:16
Ort: Linköping

Re: uC ADC avg vs over sampling

Inlägg av superx »

Jag skulle knappast kalla detta för översampling. Lågpassfiltrering är det iaf. oavsett vad man kallar det och medelvärdesbildning är ett sätt att åstadkomma detta, men det finns flera.

Lågpassfiltreringen hjälper till att ta bort brus, och om det man mäter på har ett "sant" värde som döljs av ett vitt (typ slumpmässigt och ickeperiodiskt) brus funkar dessa metoder. För att bli av med en viss mängd brus behövs ett givet antal mätdata in i filtret. Då kan man lika gärna ta dessa så snabbt som A/D-omvandlaren tillåter och sedan göra beräkningen. Om man kallar detta för översampling eller inte är väl en smaksak. Fler bitar i A/D-omvandlingen hade inte hjälpt i detta fall, eftersom det ändå är det externa bruset som begränsar.

Om man inte är begränsad av brus hjälper det inte ett dugg att ta många samples och räkna på dessa. A/D-omvandlaren kommer ju ändå bara returnera samma värde varje gång.
limpan4all
Inlägg: 8448
Blev medlem: 15 april 2006, 18:57:29
Ort: Typ Nyköping

Re: uC ADC avg vs over sampling

Inlägg av limpan4all »

OM man inte har brus redan så ADDERAR man brus innan A/D omvandling...
gripner
Inlägg: 1169
Blev medlem: 4 december 2007, 14:47:39
Ort: Lidingö

Re: uC ADC avg vs over sampling

Inlägg av gripner »

När har man någonsin inte brus? Känns lite som man alltid har det :)
limpan4all
Inlägg: 8448
Blev medlem: 15 april 2006, 18:57:29
Ort: Typ Nyköping

Re: uC ADC avg vs over sampling

Inlägg av limpan4all »

På typ en åttabitars omvandlare så har man inte brus nog t.ex.
Skriv svar