ADC ریزولوشن کیلکولیٹر

کسی ADC کے بٹس اور ریفرنس وولٹیج درج کر کے اس کا اسٹیپ سائز، کوانٹائزیشن کی غلطی اور مثالی SNR معلوم کریں، وولٹس اور کوڈز کے درمیان تبدیل کریں، اور ہر متبادل قیمت کے مرحلے کو دیکھیں۔

کنورٹر اور رینج

1 سے 32 تک کا مکمل عدد — کنورٹر کی نامزد بٹ چوڑائی (bit width)۔
ان پٹ رینج

پیمائش کا مقام (اختیاری)

پیمائش کو چھوڑنے کے لیے خالی رکھیں۔

آپ کو کتنے بٹس کی ضرورت ہے؟ (اختیاری)

اسٹیپ سائز اور نوائز

LSB اسٹیپ سائز

فارمولے اور متبادل قیمتیں

LSB = FSR ÷ 2ᴺ · زیادہ سے زیادہ غلطی = ½ LSB · SNR = 6.02N + 1.76 dB

    آپ کا درج کردہ ہر نمبر اسی براؤزر میں رہتا ہے — کچھ بھی اپ لوڈ نہیں کیا جاتا۔

    عمومی سوالات

    کچھ ذرائع 2^N سے اور دوسرے 2^N − 1 سے کیوں تقسیم کرتے ہیں؟

    یہ ایک ہی کنورٹر کے دو مختلف ماڈل ہیں۔ ڈیٹا شیٹس اور کلاسک کوانٹائزیشن تھیوری LSB = FSR ÷ 2^N کی تعریف کرتی ہے، جس میں پہلا کوڈ ٹرانزیشن آدھے اسٹیپ پر ہوتا ہے — یہ وہی ماڈل ہے جو یہ صفحہ استعمال کرتا ہے۔ Vref ÷ (2^N − 1) کی شکل سب سے اوپر والے کوڈ کو بالکل Vref پر میپ کرنے سے آتی ہے، جو مائیکرو کنٹرولر کے ٹیوٹوریلز میں عام ہے۔ 12 بٹس پر ان دونوں میں تقریباً 0.02% کا فرق ہوتا ہے، جو کسی بھی حقیقی ریفرنس کی ٹولرنس سے بہت کم ہے؛ مختلف ذرائع سے نمبر چیک کرتے وقت بس ان دونوں کو آپس میں نہ ملائیں۔

    کیا 12-بٹ ریزولوشن کا مطلب 12-بٹ درستگی ہے؟

    جی نہیں۔ ریزولوشن صرف کوڈ کی چوڑائی ہے — یعنی رینج کو کتنے باریک حصوں میں تقسیم کیا گیا ہے۔ درستگی کنورٹر کے INL اور آفسیٹ/گین کی غلطیوں، ریفرنس کی ٹولرنس اور نوائز، اور اس کے ارد گرد موجود سرکٹ کی وجہ سے محدود ہوتی ہے۔ یہی وجہ ہے کہ ڈیٹا شیٹس میں ENOB درج ہوتا ہے: ایک 12-bit SAR عام طور پر 10–11 مؤثر بٹس فراہم کرتا ہے۔ یہاں دکھایا گیا 74 dB کا مثالی SNR وہ آخری حد ہے جس تک کوئی بھی حقیقی 12-bit کنورٹر نہیں پہنچ پاتا۔

    ایک ±Vref ان پٹ حساب کتاب کو کیسے تبدیل کرتا ہے؟

    اسپین دوگنا ہو کر 2 × Vref ہو جاتا ہے، اس لیے وہی کنورٹر دوگنے چوڑے اسٹیپس کو حل کرتا ہے: LSB = 2 × Vref ÷ 2^N۔ کوڈز منفی ریل سے مثبت ریل تک چلتے ہیں — کوڈ 0 کی قیمت −Vref ہوتی ہے، درمیانی کوڈ 2^(N−1) کی قیمت 0 V ہوتی ہے، اور سب سے اوپر والا کوڈ +Vref سے ایک اسٹیپ نیچے ہوتا ہے۔ اوپر بائی پولر رینج منتخب کریں اور صفر وولٹ بالکل درمیانی کوڈ پر آئے گا۔

    جب اسٹیپ کا سائز بہت موٹا ہو تو میں کیا کر سکتا ہوں؟

    جب سگنل میں تھوڑا سا نوائز ہو تو اوور سیمپلنگ اور ایوریجنگ سے ریزولوشن حاصل کی جا سکتی ہے: 4× زیادہ سیمپلز کی ایوریجنگ سے تقریباً ایک مؤثر بٹ حاصل ہوتا ہے، اور 16× سے دو، بشرطیکہ نوائز وائٹ اور غیر متعلقہ ہو — ایک بالکل صاف اور ساکت سگنل صرف اسی کوڈ کو دہراتا رہے گا۔ اس سے آگے بڑھنے کے لیے، زیادہ بٹس والے کنورٹر پر منتقل ہوں یا پروگرام ایبل گین اسٹیج شامل کریں تاکہ سگنل رینج کے زیادہ حصے کو پُر کر سکے۔

    اینالاگ سے ڈیجیٹل کنورٹر (ADC) کی کارکردگی اور اس کے کام کرنے کی صلاحیت کو سمجھنے کے لیے ریزولوشن، اسٹیپ سائز اور کوانٹائزیشن نوائز کے درمیان تعلق کو جاننا ضروری ہے۔ یہ آرٹیکل ان تمام ریاضیاتی اصولوں اور فارمولوں کی وضاحت کرتا ہے جو ایک مثالی کنورٹر کے رویے کو کنٹرول کرتے ہیں۔

    اینالاگ سے ڈیجیٹل کنورژن کے بنیادی اصول

    ایک مثالی کوانٹائزر کا ماڈل اس اصول پر کام کرتا ہے جہاں پہلا کوڈ ٹرانزیشن بالکل آدھے اسٹیپ (½ LSB) پر واقع ہوتا ہے۔ اس ماڈل میں Least Significant Bit (LSB) کی تعریف FSR ÷ 2^N کے طور پر کی جاتی ہے۔

    یہاں یہ بات ذہن میں رکھنا ضروری ہے کہ یہ تمام حسابات ایک مثالی کنورٹر کو ظاہر کرتے ہیں۔ ایک حقیقی ADC میں ہمیشہ آفسیٹ، گین، انٹیگرل نان لینیئرٹی (INL)، ڈفرینشل نان لینیئرٹی (DNL) اور ریفرنس وولٹیج کی غلطیاں شامل ہوتی ہیں۔ اس لیے مثالی SNR، ڈائنامک رینج اور ±½ LSB کی حدیں صرف نظریاتی حدیں ہیں، نہ کہ کسی حقیقی ہارڈویئر کی ناپی گئی کارکردگی۔ کسی بھی کنورٹر کی ریزولوشن (بٹس کی تعداد) اس کی درستگی (accuracy) سے ایک بالکل مختلف خصوصیت ہے۔

    ان پٹ رینج کی دو بنیادی ترتیبیں ہوتی ہیں جو حساب کتاب پر اثر انداز ہوتی ہیں:

    • یونی پولر رینج (Unipolar Range): اس کنفیگریشن میں فل اسکیل رینج (FSR) ریفرنس وولٹیج (Vᵣef) کے برابر ہوتی ہے۔ ان پٹ وولٹیج کی حد 0 سے لے کر Vᵣef تک ہوتی ہے۔
    • بائی پولر رینج (Bipolar Range): اس کنفیگریشن میں فل اسکیل رینج (FSR) دوگنی ہو کر 2 × Vᵣef ہو جاتی ہے۔ ان پٹ وولٹیج کی حد -Vᵣef سے لے کر +Vᵣef تک ہوتی ہے۔ یہاں کوڈ 0 منفی ریل یعنی -Vᵣef کو ظاہر کرتا ہے، بالکل درمیانی کوڈ 2^(N-1) صفر وولٹ (0 V) پر میپ ہوتا ہے، اور سب سے اوپر والا کوڈ مثبت ریل یعنی +Vᵣef سے ایک اسٹیپ نیچے ہوتا ہے۔

    ریاضیاتی فارمولے اور متبادل قیمتیں

    کنورٹر کے مختلف پیرامیٹرز کا حساب لگانے کے لیے درج ذیل فارمولے استعمال کیے جاتے ہیں:

    • LSB اسٹیپ سائز: LSB = FSR ÷ 2^N
    • زیادہ سے زیادہ کوانٹائزیشن کی غلطی (±½ LSB): ±LSB ÷ 2
    • کوانٹائزیشن نوائز (rms): LSB ÷ √(12)
    • مثالی SNR (فل اسکیل سائن ویو): SNR = 6.02 × N + 1.76 dB
    • ڈائنامک رینج: 6.02 × N dB
    • ریزولوشن سائزنگ: N ≥ log₂(FSR ÷ step) (اگلے مکمل عدد تک راؤنڈ اپ کیا جاتا ہے)

    جب ہم وولٹیج اور ڈیجیٹل کوڈز کے درمیان تبدیلی کرتے ہیں تو راؤنڈنگ کے درج ذیل فارمولے استعمال ہوتے ہیں:

    • یونی پولر کوڈ: code = round(Vᵢₙ ÷ LSB)
    • بائی پولر کوڈ: code = round((Vᵢₙ + Vᵣef) ÷ LSB)
    • یونی پولر وولٹیج: V = code × LSB
    • بائی پولر وولٹیج: V = code × LSB - Vᵣef
    • پیمائش کے مقام پر کوانٹائزیشن کی غلطی: code voltage - input voltage

    حساب کتاب کی عملی مثال

    اگر ہم 12 بٹس ریزولوشن، 3.3 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

    اگر اس کنفیگریشن میں 1.65 V کا ان پٹ وولٹیج دیا جائے تو یہ بالکل مڈ اسکیل پر ہوگا اور کوڈ 2,048 (بائنری 1000 0000 0000 اور ہیکسا ڈیسیمل 0x800) پر میپ ہوگا، جس میں کوانٹائزیشن کی غلطی بالکل صفر ہوگی۔

    غیر معمولی حالات اور حدود (Edge Cases)

    حساب کتاب کے دوران کچھ ایسی حالتیں آتی ہیں جہاں عام قوانین تبدیل ہو جاتے ہیں:

    • ہائی ریل کلپنگ (High Rail Clipping): اگر ان پٹ وولٹیج ہائی ریل سے اوپر چلا جائے تو آؤٹ پٹ سب سے اوپر والے کوڈ (2^N - 1) پر سیچوریٹ ہو جاتا ہے۔ ایسی صورت میں یہ انتباہ ظاہر ہوتا ہے:

      "ان پٹ ہائی ریل سے اوپر ہے: آؤٹ پٹ سب سے اوپر والے کوڈ پر سیچوریٹ ہو جاتا ہے، اور دکھائی گئی غلطی حقیقی بقایا غلطی ہے — اب ±½ LSB کی حد لاگو نہیں ہوتی۔"

    • لو ریل کلپنگ (Low Rail Clipping): اگر ان پٹ وولٹیج لو ریل سے نیچے چلا جائے تو آؤٹ پٹ کوڈ 0 پر سیچوریٹ ہو جاتا ہے۔ اس صورت میں یہ انتباہ ظاہر ہوتا ہے:

      "ان پٹ لو ریل سے نیچے ہے: آؤٹ پٹ کوڈ 0 پر سیچوریٹ ہو جاتا ہے، اور دکھائی گئی غلطی حقیقی بقایا غلطی ہے — اب ±½ LSB کی حد لاگو نہیں ہوتی۔"

    • مڈ اسکیل ان پٹ (Mid-Scale Input): اگر ان پٹ وولٹیج بالکل مڈ اسکیل پر ہو تو آدھا اسپین صفر کوانٹائزیشن غلطی کے ساتھ درمیانی کوڈ پر میپ ہوتا ہے۔

    ڈیٹا کی رازداری اور پروسیسنگ

    اس ٹول کے استعمال کے دوران آپ کی پرائیویسی کا مکمل خیال رکھا جاتا ہے۔ آپ کا درج کردہ ہر نمبر اسی براؤزر میں رہتا ہے — کچھ بھی اپ لوڈ نہیں کیا جاتا۔ تمام حسابات صارف کے اپنے آلے پر مقامی طور پر انجام دیے جاتے ہیں۔

    اہم موضوعات اور تکنیکی پہلو

    ریزولوشن اور درستگی کا فرق

    اکثر ڈیزائنرز 12-بٹ ریزولوشن کو 12-بٹ درستگی سمجھنے کی غلطی کرتے ہیں۔ ریزولوشن صرف یہ بتاتی ہے کہ ان پٹ رینج کو کتنے باریک حصوں میں تقسیم کیا گیا ہے، جبکہ درستگی کا انحصار بیرونی عوامل جیسے کہ ریفرنس وولٹیج کا شور، درجہ حرارت کا ڈرفٹ، اور اینالاگ فرنٹ اینڈ کے شور پر ہوتا ہے۔

    ایفیکٹیو نمبر آف بٹس (ENOB)

    حقیقی سگنل چین میں شور اور ہارمونک ڈسٹورشن کی وجہ سے ADC کی عملی ریزولوشن اس کی نامزد بٹس سے کم ہو جاتی ہے۔ ڈیٹا شیٹس میں دیا گیا ENOB یہ ظاہر کرتا ہے کہ شور کے لحاظ سے کنورٹر کتنے بٹس کی کارکردگی پیش کر رہا ہے۔

    اوور سیمپلنگ اور پروسیس گین

    اگر سگنل میں مناسب مقدار میں وائٹ نوائز موجود ہو تو نائکوسٹ ریٹ سے زیادہ تیزی سے سیمپلنگ کرنے اور پھر ان سیمپلز کی ایوریجنگ کرنے سے ریاضیاتی طور پر ریزولوشن کو بڑھایا جا سکتا ہے۔ ہر 4 گنا اوور سیمپلنگ سے ریزولوشن میں تقریباً 1 بٹ کا اضافہ ہوتا ہے۔


    اکثر پوچھے گئے سوالات (FAQ)

    کیا 12-بٹ ریزولوشن کا مطلب 12-بٹ درستگی ہے؟

    جی نہیں۔ ریزولوشن صرف کوڈ کی چوڑائی ہے — یعنی رینج کو کتنے باریک حصوں میں تقسیم کیا گیا ہے۔ درستگی کنورٹر کے INL اور آفسیٹ/گین کی غلطیوں، ریفرنس کی ٹولرنس اور نوائز، اور اس کے ارد گرد موجود سرکٹ کی وجہ سے محدود ہوتی ہے۔ یہی وجہ ہے کہ ڈیٹا شیٹس میں ENOB درج ہوتا ہے: ایک 12-bit SAR عام طور پر 10–11 مؤثر بٹس فراہم کرتا ہے۔ یہاں دکھایا گیا 74 dB کا مثالی SNR وہ آخری حد ہے جس تک کوئی بھی حقیقی 12-bit کنورٹر نہیں پہنچ پاتا۔

    ایک ±Vref ان پٹ حساب کتاب کو کیسے تبدیل کرتا ہے؟

    اسپین دوگنا ہو کر 2 × Vref ہو جاتا ہے، اس لیے وہی کنورٹر دوگنے چوڑے اسٹیپس کو حل کرتا ہے: LSB = 2 × Vref ÷ 2^N۔ کوڈز منفی ریل سے مثبت ریل تک چلتے ہیں — کوڈ 0 کی قیمت −Vref ہوتی ہے، درمیانی کوڈ 2^(N−1) کی قیمت 0 V ہوتی ہے، اور سب سے اوپر والا کوڈ +Vref سے ایک اسٹیپ نیچے ہوتا ہے۔ اوپر بائی پولر رینج منتخب کریں اور صفر وولٹ بالکل درمیانی کوڈ پر آئے گا۔

    کچھ ذرائع 2^N سے اور دوسرے 2^N − 1 سے کیوں تقسیم کرتے ہیں؟

    یہ ایک ہی کنورٹر کے دو مختلف ماڈل ہیں۔ ڈیٹا شیٹس اور کلاسک کوانٹائزیشن تھیوری LSB = FSR ÷ 2^N کی تعریف کرتی ہے، جس میں پہلا کوڈ ٹرانزیشن آدھے اسٹیپ پر ہوتا ہے — یہ وہی ماڈل ہے جو یہ صفحہ استعمال کرتا ہے۔ Vref ÷ (2^N − 1) کی شکل سب سے اوپر والے کوڈ کو بالکل Vref پر میپ کرنے سے آتی ہے، جو مائیکرو کنٹرولر کے ٹیوٹوریلز میں عام ہے۔ 12 بٹس پر ان دونوں میں تقریباً 0.02% کا فرق ہوتا ہے، جو کسی بھی حقیقی ریفرنس کی ٹولرنس سے بہت کم ہے؛ مختلف ذرائع سے نمبر چیک کرتے وقت بس ان دونوں کو آپس میں نہ ملائیں۔

    جب اسٹیپ کا سائز بہت موٹا ہو تو میں کیا کر سکتا ہوں؟

    جب سگنل میں تھوڑا سا نوائز ہو تو اوور سیمپلنگ اور ایوریجنگ سے ریزولوشن حاصل کی جا سکتی ہے: 4× زیادہ سیمپلز کی ایوریجنگ سے تقریباً ایک مؤثر بٹ حاصل ہوتا ہے، اور 16× سے دو, بشرطیکہ نوائز وائٹ اور غیر متعلقہ ہو — ایک بالکل صاف اور ساکت سگنل صرف اسی کوڈ کو دہراتا رہے گا۔ اس سے آگے بڑھنے کے لیے، زیادہ بٹس والے کنورٹر پر منتقل ہوں یا پروگرام ایبل گین اسٹیج شامل کریں تاکہ سگنل رینج کے زیادہ حصے کو پُر کر سکے۔