એનાલોગ-ટુ-ડિજિટલ કન્વર્ટર (ADC) ની ક્ષમતા અને મર્યાદાઓને સમજવા માટે તેની સ્ટેપ સાઇઝ, ક્વોન્ટાઇઝેશન નોઇઝ અને સૈદ્ધાંતિક સિગ્નલ-ટુ-નોઇઝ રેશિયો (SNR) ની સચોટ ગણતરી કરવી અનિવાર્ય છે. આ સંદર્ભ લેખ ADC Resolution Calculator ના ઉપયોગ અને તેની પાછળ રહેલા ગણિતને સમજાવે છે.
આ સાધન કેવી રીતે કાર્ય કરે છે
આ કેલ્ક્યુલેટર સિંગલ ઇન્ટરફેસ દ્વારા યુનિપોલર અને બાયપોલર બંને પ્રકારની ઇનપુટ રેન્જ માટે ગણતરીઓ કરે છે. વપરાશકર્તા દ્વારા આપવામાં આવેલા બીટ રિઝોલ્યુશન અને રેફરન્સ વોલ્ટેજના આધારે તે LSB સ્ટેપ સાઇઝ, ક્વોન્ટાઇઝેશન લેવલ્સ, મહત્તમ ક્વોન્ટાઇઝેશન ભૂલ અને આદર્શ SNR ની ગણતરી કરે છે. આ ઉપરાંત, તે વોલ્ટેજ અને ડિજિટલ કોડ વચ્ચે પરસ્પર રૂપાંતરણ કરવાની સુવિધા આપે છે અને ચોક્કસ વોલ્ટેજ ફેરફારને ઓળખવા માટે જરૂરી લઘુત્તમ બીટ્સની સંખ્યા પણ શોધી આપે છે. દરેક ગણતરી માટે કિંમતો મૂકવાની પ્રક્રિયા (substitution) વિગતવાર દર્શાવવામાં આવે છે.
ઇનપુટ અને આઉટપુટ પેરામીટર્સ
કેલ્ક્યુલેટરમાં નીચે મુજબના ઇનપુટ્સ દાખલ કરી શકાય છે:
- રિઝોલ્યુશન N (બીટ્સ): ૧ થી ૩૨ વચ્ચેની પૂર્ણાંક સંખ્યા — કન્વર્ટરની નોમિનલ બીટ પહોળાઈ.
- રેફરન્સ વોલ્ટેજ: શૂન્ય કરતાં મોટો પોઝિટિવ આંકડો.
- રેફરન્સ યુનિટ: રેફરન્સ વોલ્ટેજ માટેનું માપન યુનિટ.
- ઇનપુટ રેન્જ: "યુનિપોલર · 0 થી Vref" અથવા "બાયપોલર · −Vref થી +Vref" ની પસંદગી.
- દર્શાવેલ દશાંશ: પરિણામોમાં જોવા મળતા દશાંશ ચિહ્ન પછીના અંકોની સંખ્યા.
- કન્વર્ટ કરો (વૈકલ્પિક): "વોલ્ટેજ → કોડ" અથવા "કોડ → વોલ્ટેજ" મોડની પસંદગી.
- ઇનપુટ વોલ્ટેજ (વૈકલ્પિક): ડિજિટલ કોડમાં રૂપાંતરિત કરવા માટેનું વોલ્ટેજ મૂલ્ય.
- કોડ (કાઉન્ટ્સ) (વૈકલ્પિક): વોલ્ટેજમાં રૂપાંતરિત કરવા માટે ૦ થી ટોચના કોડ વચ્ચેની પૂર્ણાંક સંખ્યા.
- વોલ્ટેજ યુનિટ: ઇનપુટ અથવા કોડ વોલ્ટેજ માટેનું યુનિટ.
- ઉકેલવા માટેનો સૌથી નાનો ફેરફાર (વૈકલ્પિક): જરૂરી બીટ રિઝોલ્યુશન શોધવા માટેનો ટાર્ગેટ વોલ્ટેજ સ્ટેપ.
- સ્ટેપ યુનિટ: ટાર્ગેટ સ્ટેપ માટેનું માપન યુનિટ.
ઇન્ટરફેસમાં આપેલા "ઉદાહરણ લોડ કરો" બટન દ્વારા નમૂનાના મૂલ્યો આપમેળે ભરી શકાય છે અને "સાફ કરો" બટનથી તમામ ઇનપુટ્સ રીસેટ કરી શકાય છે.
ગણતરી પૂર્ણ થયા બાદ નીચે મુજબના પરિણામો સંબંધિત લેબલ્સ હેઠળ દર્શાવવામાં આવે છે:
સ્ટેપ સાઇઝ અને નોઇઝ
- LSB સ્ટેપ સાઇઝ: લઘુત્તમ મહત્વના બીટ (Least Significant Bit) ની સ્ટેપ સાઇઝ, જે ફુલ સ્કેલના ટકાવારી અને ppm (parts per million) મૂલ્ય સાથે દર્શાવાય છે.
- ક્વોન્ટાઇઝેશન લેવલ્સ: કન્વર્ટરના કુલ ડિસ્ક્રીટ લેવલ્સ (2^N).
- ટોચનો કોડ: મહત્તમ ડિજિટલ આઉટપુટ કોડ (2^N - 1).
- ફુલ-સ્કેલ રેન્જ: કન્વર્ટરનો કુલ વોલ્ટેજ સ્પાન.
- મહત્તમ ક્વોન્ટાઇઝેશન ભૂલ (±½ LSB): સૈદ્ધાંતિક મહત્તમ ક્વોન્ટાઇઝેશન ભૂલ.
- ક્વોન્ટાઇઝેશન નોઇઝ (rms): રૂટ-મીન-સ્ક્વેર ક્વોન્ટાઇઝેશન નોઇઝ વોલ્ટેજ.
- આદર્શ SNR (ફુલ-સ્કેલ સાઇન): ડેસિબલ (dB) માં સૈદ્ધાંતિક મહત્તમ સિગ્નલ-ટુ-નોઇઝ રેશિયો.
- ડાયનેમિક રેન્જ: ડેસિબલમાં સૈદ્ધાંતિક ડાયનેમિક રેન્જ.
માપન બિંદુ પર
- આઉટપુટ કોડ: વોલ્ટેજ-ટુ-કોડ કન્વર્ઝનથી મળતો ડિજિટલ કોડ.
- બાયનરી: આઉટપુટ કોડનું દ્વિઅંકી સ્વરૂપ.
- હેક્સાડેસિમલ: આઉટપુટ કોડનું ષડ્અંકી સ્વરૂપ.
- કોડ વોલ્ટેજ: આપેલા ડિજિટલ કોડને અનુરૂપ ચોક્કસ વોલ્ટેજ.
- ક્વોન્ટાઇઝેશન ભૂલ: વાસ્તવિક ઇનપુટ વોલ્ટેજ અને કોડ વોલ્ટેજ વચ્ચેનો તફાવત.
- આ કોડ માટે ઇનપુટ વિન્ડો: ઇનપુટ વોલ્ટેજની એ રેન્જ જે આ ચોક્કસ ડિજિટલ કોડ પર મેપ થાય છે.
સાઇઝિંગ સ્ટેટસ
જ્યારે "ઉકેલવા માટેનો સૌથી નાનો ફેરફાર" દાખલ કરવામાં આવે છે, ત્યારે સાધન જણાવે છે કે તે સ્ટેપને ઉકેલવા માટે કેટલા બીટ્સની જરૂર છે અને હાલનું કન્વર્ટર તેને કવર કરે છે કે નહીં. જો કવર ન કરતું હોય, તો હાલનું કન્વર્ટર ખરેખર કેટલા સ્ટેપને ઉકેલી શકે છે તે દર્શાવવામાં આવે છે.
ગાણિતિક સૂત્રો અને કિંમતો મૂકવાની પ્રક્રિયા
કેલ્ક્યુલેટર નીચે દર્શાવેલા સૂત્રોનો ઉપયોગ કરે છે અને તેમાં વપરાશકર્તાના મૂલ્યો મૂકીને ગણતરી દર્શાવે છે:
- LSB સ્ટેપ સાઇઝ: LSB = FSR ÷ 2^N
- મહત્તમ ક્વોન્ટાઇઝેશન ભૂલ: ±LSB ÷ 2
- ક્વોન્ટાઇઝેશન નોઇઝ (rms): LSB ÷ √12
- આદર્શ SNR (ફુલ-સ્કેલ સાઇન): SNR = 6.02 × N + 1.76 dB
- ડાયનેમિક રેન્જ: 6.02 × N dB
- યુનિપોલર કોડ: code = round(Vin ÷ LSB)
- બાયપોલર કોડ: code = round((Vin + Vref) ÷ LSB)
- યુનિપોલર વોલ્ટેજ: V = code × LSB
- બાયપોલર વોલ્ટેજ: V = code × LSB − Vref
- માપન બિંદુ પર ક્વોન્ટાઇઝેશન ભૂલ: કોડ વોલ્ટેજ − ઇનપુટ વોલ્ટેજ
- રિઝોલ્યુશન સાઇઝિંગ: N ≥ log₂(FSR ÷ step), જેને પછીના પૂર્ણાંક બીટમાં રાઉન્ડ અપ કરવામાં આવે છે.
ગણતરીનું ઉદાહરણ
જો આપણે ૧૨ બીટ્સ રિઝોલ્યુશન, ૩.૩ V રેફરન્સ વોલ્ટેજ અને યુનિપોલર રેન્જ પસંદ કરીએ, તો નીચે મુજબના પરિણામો મળે છે:
- ક્વોન્ટાઇઝેશન લેવલ્સ = 2¹² = 4,096
- ટોચનો કોડ = 4,095
- LSB = 3.3 V ÷ 4,096 ≈ 805.6641 µV
- મહત્તમ ક્વોન્ટાઇઝેશન ભૂલ = ±402.832 µV
- ક્વોન્ટાઇઝેશન નોઇઝ ≈ 232.5752 µV rms
- આદર્શ SNR ≈ 74.01 dB
- ડાયનેમિક રેન્જ ≈ 72.25 dB
જો આ સ્થિતિમાં ૧.૬૫ V ઇનપુટ વોલ્ટેજ (જે બરાબર મિડ-સ્કેલ છે) આપવામાં આવે, તો તે કોડ ૨,૦૪૮ (બાયનરી: 1000 0000 0000, હેક્સાડેસિમલ: 0x800) પર મેપ થાય છે અને ક્વોન્ટાઇઝેશન ભૂલ શૂન્ય રહે છે.
નિયમો અને ખાસ કિસ્સાઓ
- ક્વોન્ટાઇઝેશન મોડેલ: આ સાધન એક આદર્શ ક્વોન્ટાઇઝર ધારે છે જ્યાં પ્રથમ કોડ ટ્રાન્ઝિશન અડધા સ્ટેપ (1 / 2 LSB) પર થાય છે, અને LSB ને FSR ÷ 2^N તરીકે વ્યાખ્યાયિત કરવામાં આવે છે.
- મર્યાદાઓ: આ ગણતરીઓ આદર્શ કન્વર્ટર માટે છે. વાસ્તવિક ADC માં ઓફસેટ, ગેઇન, INL/DNL અને રેફરન્સ ભૂલો ઉમેરાય છે. આથી આદર્શ SNR, ડાયનેમિક રેન્જ અને ±½ LSB ની મર્યાદા એ માત્ર સૈદ્ધાંતિક મહત્તમ મર્યાદાઓ છે, વાસ્તવિક માપન નથી. કન્વર્ટરનું રિઝોલ્યુશન (બીટ્સ) અને તેની ચોકસાઈ (accuracy) બંને અલગ બાબતો છે.
- યુનિપોલર રેન્જ: ફુલ-સ્કેલ રેન્જ (FSR) એ Vᵣef બરાબર હોય છે અને ઇનપુટ રેન્જ 0 થી Vᵣef સુધીની હોય છે.
- બાયપોલર રેન્જ: ફુલ-સ્કેલ રેન્જ (FSR) એ 2 × Vᵣef બરાબર હોય છે અને ઇનપુટ રેન્જ -Vᵣef થી +Vᵣef સુધીની હોય છે. કોડ 0 એ -Vᵣef પર, મિડ-સ્કેલ કોડ 2^(N-1) એ 0 V પર અને ટોચનો કોડ +Vᵣef થી એક સ્ટેપ નીચે મેપ થાય છે.
- હાઇ રેલ ક્લિપિંગ: જો ઇનપુટ વોલ્ટેજ હાઇ રેલ કરતાં વધી જાય, તો આઉટપુટ ટોચના કોડ પર સેચ્યુરેટ થાય છે. આ સ્થિતિમાં કેલ્ક્યુલેટર આ ચેતવણી દર્શાવે છે: "ઇનપુટ હાઇ રેલની ઉપર છે: આઉટપુટ ટોચના કોડ પર સેચ્યુરેટ થાય છે, અને દર્શાવેલ ભૂલ એ સાચી બચેલી ભૂલ છે — ±½ LSB ની મર્યાદા હવે લાગુ પડતી નથી."
- લો રેલ ક્લિપિંગ: જો ઇનપુટ વોલ્ટેજ લો રેલથી નીચે જાય, તો આઉટપુટ કોડ 0 પર સેચ્યુરેટ થાય છે. આ સ્થિતિમાં કેલ્ક્યુલેટર આ ચેતવણી દર્શાવે છે: "ઇનપુટ લો રેલની નીચે છે: આઉટપુટ કોડ ૦ પર સેચ્યુરેટ થાય છે, અને દર્શાવેલ ભૂલ એ સાચી બચેલી ભૂલ છે — ±½ LSB ની મર્યાદા હવે લાગુ પડતી નથી."
- મિડ-સ્કેલ ઇનપુટ: જો ઇનપુટ બરાબર મિડ-સ્કેલ પર હોય, તો સાધન નોંધે છે કે અડધો સ્પાન શૂન્ય ક્વોન્ટાઇઝેશન ભૂલ સાથે મિડ-સ્કેલ કોડ પર મેપ થાય છે.
ડેટા પ્રોસેસિંગ અને પ્રાઇવસી
આ કેલ્ક્યુલેટરમાં સુરક્ષા અને ગોપનીયતાનું સંપૂર્ણ ધ્યાન રાખવામાં આવ્યું છે. તમે દાખલ કરેલી દરેક સંખ્યા આ બ્રાઉઝરમાં જ રહે છે — કંઈપણ અપલોડ થતું નથી. તમામ ગણતરીઓ સ્થાનિક રીતે વપરાશકર્તાના ઉપકરણ પર જ પ્રોસેસ થાય છે.
આ સાધન કોના માટે ઉપયોગી છે?
- ADC ની પસંદગી કરનારા ડિઝાઇનર્સ: સેન્સરમાંથી મળતા ચોક્કસ લઘુત્તમ વોલ્ટેજ ફેરફારને ઓળખવા માટે કેટલા બીટના રિઝોલ્યુશનની જરૂર પડશે તે નક્કી કરવા માટે.
- સિગ્નલ ચેઇન ડીબગ કરનારા એન્જિનિયર્સ: માઇક્રોકન્ટ્રોલરના રજિસ્ટરમાંથી મળતા રો ડિજિટલ કોડ્સને વાસ્તવિક વોલ્ટેજ મૂલ્યોમાં રૂપાંતરિત કરીને સેન્સર રીડિંગ્સ ચકાસવા માટે.
- સિસ્ટમ નોઇઝ બજેટિંગ કરનારા પ્રોફેશનલ્સ: વાસ્તવિક સિસ્ટમ નોઇઝ સાથે સરખામણી કરવા માટે ADC ના સૈદ્ધાંતિક મહત્તમ SNR અને ક્વોન્ટાઇઝેશન નોઇઝ ફ્લોરની ગણતરી કરવા માટે.
- ફર્મવેર ડેવલપર્સ: એનાલોગ ઇનપુટ્સ અને ડિજિટલ કોડ્સ વચ્ચેનું મેપિંગ કરવા અને સોફ્ટવેર સ્કેલિંગ અલ્ગોરિધમ્સને ગણિત સાથે સરખાવીને વેરિફાય કરવા માટે.
વારંવાર પૂછાતા પ્રશ્નો (FAQ)
પ્રશ્ન: શું ૧૨-બીટ રિઝોલ્યુશન એટલે ૧૨-બીટ ચોકસાઈ?
ઉત્તર: ના. રિઝોલ્યુશન એ માત્ર કોડની પહોળાઈ છે — રેન્જને કેટલા બારીક ભાગોમાં વહેંચવામાં આવી છે તે દર્શાવે છે. ચોકસાઈ કન્વર્ટરની INL અને ઓફસેટ/ગેઇન ભૂલો, રેફરન્સની ટોલરન્સ અને નોઇઝ, તેમજ તેની આસપાસની સર્કિટ દ્વારા મર્યાદિત હોય છે. આથી જ ડેટાશીટ્સ ENOB દર્શાવે છે: ૧૨-બીટ SAR સામાન્ય રીતે ૧૦–૧૧ ઇફેક્ટિવ બીટ્સ આપે છે. અહીં દર્શાવેલ ૭૪ dB આદર્શ SNR એ સૈદ્ધાંતિક મહત્તમ મર્યાદા છે જે કોઈ વાસ્તવિક ૧૨-બીટ કન્વર્ટર મેળવી શકતું નથી.
પ્રશ્ન: ±Vref ઇનપુટ ગણતરીને કેવી રીતે બદલે છે?
ઉત્તર: સ્પાન બમણો થઈને 2 × Vref થાય છે, તેથી તે જ કન્વર્ટર બમણા પહોળા સ્ટેપ્સ ઉકેલે છે: LSB = 2 × Vref ÷ 2^N. કોડ્સ નેગેટિવ રેલથી પોઝિટિવ રેલ સુધી ચાલે છે — કોડ ૦ એ −Vref છે, મધ્ય કોડ 2^(N−1) એ ૦ V છે, અને ટોચનો કોડ +Vref થી એક સ્ટેપ નીચે હોય છે. ઉપર બાયપોલર રેન્જ પસંદ કરો અને શૂન્ય વોલ્ટ બરાબર મધ્ય કોડ પર આવશે.
પ્રશ્ન: શા માટે કેટલાક સ્ત્રોતો 2^N વડે ભાગે છે અને અન્ય 2^N − 1 વડે?
ઉત્તર: તે એક જ કન્વર્ટરના બે અલગ-અલગ મોડેલ છે. ડેટાશીટ્સ અને ક્લાસિક ક્વોન્ટાઇઝેશન થિયરી LSB = FSR ÷ 2^N તરીકે વ્યાખ્યાયિત કરે છે, જેમાં પ્રથમ કોડ ટ્રાન્ઝિશન અડધા સ્ટેપ પર થાય છે — આ પેજ તે જ મોડેલનો ઉપયોગ કરે છે. Vref ÷ (2^N − 1) ફોર્મ ટોચના કોડને બરાબર Vref પર મેપ કરવાથી આવે છે, જે માઇક્રોકન્ટ્રોલર ટ્યુટોરિયલ્સમાં સામાન્ય છે. ૧૨ બીટ્સ પર બંને વચ્ચે આશરે ૦.૦૨% નો તફાવત હોય છે, જે કોઈપણ વાસ્તવિક રેફરન્સની ટોલરન્સ કરતાં ઘણો ઓછો છે; વિવિધ સ્ત્રોતોમાંથી કિંમતો તપાસતી વખતે આ બંનેને મિક્સ ન કરો.
પ્રશ્ન: જ્યારે સ્ટેપ સાઇઝ ખૂબ મોટી હોય ત્યારે હું શું કરી શકું?
ઉત્તર: જ્યારે સિગ્નલમાં થોડો નોઇઝ હોય ત્યારે ઓવરસેમ્પલિંગ અને એવરેજિંગ કરવાથી રિઝોલ્યુશન વધે છે: ૪× ગણા સેમ્પલ્સનું એવરેજિંગ કરવાથી આશરે એક ઇફેક્ટિવ બીટ મળે છે, ૧૬× થી બે મળે છે, જો નોઇઝ વ્હાઇટ અને અનકોરિલેટેડ હોય — સંપૂર્ણપણે ક્લીન અને સ્થિર સિગ્નલ માત્ર એ જ કોડનું પુનરાવર્તન કરે છે. તેનાથી આગળ વધવા માટે, વધુ બીટ્સવાળા કન્વર્ટર પર સ્વિચ કરો અથવા પ્રોગ્રામેબલ-ગેઇન સ્ટેજ ઉમેરો જેથી સિગ્નલ રેન્જનો વધુ ભાગ કવર કરી શકે.