logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Obliczanie efektywnej rozdzielczości przetwornika ADC

ghost666 06 Lis 2012 16:20 15459 0
  • David Fry, pracownik firmy Maxim, opisuje w krótki sposób jak obliczyć efektywną ilość bitów naszego przetwornika analogowo-cyfrowego, zastosowaną w systemie. Zmniejszenie się liczby użytecznych bitów wynika głównie z faktu nie wykorzystania całego dostępnego zakresu dynamiki.

    W systemach analogowych normalną praktyką jest zostawianie sobie pewnego zapasu dynamiki ponad normalną amplitudę pracy sygnału. Pozwala to na kompensowanie i zabezpieczenia przed negatywnymi efektami zjawisk takich jak dryft elementów, błąd wzmocnienia czy inne rzeczy wynikające z pewnej, niezerowej tolerancji zastosowanych elementów lub nieskalibrowanej aparatury. Gdy znajdziemy się na interfejsie pomiędzy światem analogowym a cyfrowym, na przykład przy korzystaniu z konwertera analogowo-cyfrowego pamiętać musimy iż w świecie cyfrowym także musimy zostawić sobie pewien zapas dynamiki dla sygnału który digitalizujemy.

    Rozważmy system oparty o przemysłowy zakres napięcia od 0 do 10 V, często spotykany w sensorach automatyki itp. Jeśli założymy iż przetwornik ADC działać będzie w takim właśnie zakresie (np. poprzez ustalenie napięcia odniesienia na 10 V) to ograniczyć musimy wszelkie sygnały analogowe w systemie także do 10 V inaczej ryzykujemy utratę danych. W systemach automatyki przemysłowej zakłada się taki zapas na poziomie od 5% do nawet 20% amplitudy maksymalnej.

    Innym przykładem są systemy analogowej transmisji wideo, gdzie amplituda sygnału wynosi zazwyczaj 1 Vp-p, ale zawiera jedynie 700 mV użytecznego sygnału, gdyż kolejne 300 mV to jedynie sygnały synchronizacji. Wyobraźmy sobie zatem że że używamy w takim systemie przetwornika ADC o rozdzielczości 12 bitów, jednakże wykorzystujemy jedynie 70% kego zakresu, czyli spośród 4096 dostępnych kodów korzystamy z 2867. Jeśli do tego dodamy chociażby 5% zapas dynamiki to ilość używanych kodów zmniejsza się jeszcze dalej. Jak przekłada się to na efektywną liczbę bitów?

    Załóżmy prosty system automatyki przemysłowej z zakresem 0 V - 10 V i zapasem 20% dynamiki (czyli efektywnie 0 V - 12 V). Jeśli wykorzystamy 16 bitowy przetwornik DAC do wygenerowania tego sygnału jaka będzie jego efektywna rozdzielczość? Wiemy że przetwornik R-bitowy posiada 2^R stanów, więc niech N będzie liczbą stanów:

    N=2^R

    Jeśli chcemy rozwiązać takie równanie aby wyliczyć R to wtedy:

    R = log(N)/log(2)

    W systemie opisanym powyżej używamy 10/12 dostępnych kodów, czyli 54613 spośród wszystkich dostępnych. Podstawiając to liczbę jako N obliczamy iż R = 15,7. Okazuje się że zapewniając 20% zapasu dynamiki w naszym układzie tracimi 0,3 bita. Pamiętać należy, myśląc tylko o licznie bitów, że ta strata jest niezależna od rozdzielczości układu konwertera, a wynika jedynie z stosunku wszystkich kodów do wykorzystanych. Utracona liczba bitów - oznaczmy ją Δr - zależeć będzie od tego stosunku, oznaczonego r w następujący sposób:

    Δr = Log(r)/Log(2)

    Jeżeli zatem nasz system wideo wykorzystuje jedynie 700 mV z sygnału o amplitudzie 1 V używamy 0,7 dostępnych kodów, czyli tracimy aż 0,51 bita. Taka utrata oznacza, np. w systemie 12 bitowej digitalizacji sygnału, iż efektywna liczba bitów wyniesie 11,49.

    Pamiętać zatem musimy iż z jednej strony musimy zapewnić limit dynamiki naszym układom, tak aby sekcja cyfrowa mogła w odpowiedni sposób radzić sobie z wszystkimi niedoskonałościami sekcji analogowej, ale z drugiej strony ten zapas dynamiki powoduje zmniejszenie rozdzielczości i w efekcie poprawę parametrów pracy systemu. Rolą projektanta jest pogodzenie obu tych rzeczy. Dobrą strono jest fakt że nawet spory zapas dynamiki zmniejsza rozdzielczość jedynie odrobinę. Wykorzystanie np. tylko 50% dostępnych kodów zmniejsza efektywną liczbę bitów o jeden.
    Źródła:
    http://www.maximintegrated.com/app-notes/index.mvp/id/5353

    Fajne? Ranking DIY
    O autorze
    ghost666
    Tłumacz Redaktor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    https://twitter.com/Moonstreet_Labs
    ghost666 napisał 11960 postów o ocenie 10197, pomógł 157 razy. Mieszka w mieście Warszawa. Jest z nami od 2003 roku.
REKLAMA