डेटा अधिग्रहण और प्रतिचयन: चरण-दर-चरण हल सहित अभ्यास प्रश्न

आरेखों, संकेतों और पूर्ण हल के साथ मुफ़्त डेटा अधिग्रहण और प्रतिचयन अभ्यास प्रश्न। हर बार नए मान, तीन स्तरों पर: नाइक्विस्ट, LSB और डेटा दरें, ऐलियासिंग, बिट और UART फ़्रेम, हार्मोनिक, SQNR और प्रणाली अभिकल्पन।

मुफ़्त अभ्यास प्रश्नआसान
SD0​D1​D2​D3​D4​D5​D6​D7​Tb​ = ?115200 Bd

एक UART लिंक 115200 बॉड पर चलता है। एक बिट की अवधि Tb µs में ज्ञात कीजिए।

baud = 115200 Bd
µs
अगला प्रश्न →

आप क्या अभ्यास करेंगे

  1. आसाननाइक्विस्ट, LSB और डेटा दरें
  2. मध्यमऐलियासिंग, बिट और UART फ़्रेम
  3. कठिनहार्मोनिक, SQNR और प्रणाली अभिकल्पन

डेटा अधिग्रहण और प्रतिचयन के प्रश्न कैसे हल करें

  1. लिख लें कि क्या दिया है: प्रतिदर्श दर, संकेत आवृत्तियाँ, बिट संख्या, निवेश परिसर, बॉड दर।
  2. प्रतिचयन के प्रश्नों में हर आवृत्ति की तुलना fs/2 से करें; इससे ऊँची आवृत्ति fa = |f − k·fs| पर दिखती है, जहाँ fs का निकटतम गुणज लिया जाता है।
  3. वियोजन के प्रश्नों में 1 LSB = VFSR/2ᴺ ज्ञात करें, या सबसे छोटा N ज्ञात करें जिसके लिए 2ᴺ ≥ विस्तार/वियोजन हो।
  4. डेटा दर और UART लिंक के लिए वह सब गिनें जो भेजा जाता है: चैनल, प्रति सेकंड प्रतिदर्श, प्रति प्रतिदर्श बिट या पूरे बाइट, और हर फ़्रेम के स्टार्ट, पैरिटी और स्टॉप बिट।

सामान्य गलतियाँ

  • यह सोचना कि fs/2 से ऊँची आवृत्ति गायब हो जाती है: वह बैंड के भीतर ऐलियास के रूप में दिखती है।
  • परिसर को 2ᴺ के बजाय N से भाग देना।
  • बिटों की संख्या को ऊपर के बजाय नीचे पूर्णांकित करना।
  • स्टार्ट और स्टॉप बिट भूल जाना: 8N1 हर बाइट के लिए 10 बिट भेजता है।

मुख्य सूत्र

नाइक्विस्ट मानदंड
fs > 2·fmax, fN = fs/2
ऐलियास आवृत्ति
fa = |f − k·fs|, k = round(f/fs)
चरण आकार
1 LSB = VFSR/2ᴺ
क्वांटीकरण त्रुटि (निकटतम पूर्णांकन)
±½ LSB
ADC कोड का छाँटना (ट्रंकेशन)
D = ⌊Vin/LSB⌋
वियोजन r के लिए बिट
2ᴺ ≥ span/r
आदर्श SQNR, पूर्ण-स्केल ज्यावक्र
SQNR = 6.02·N + 1.76 dB
डेटा दर
चैनल × fs × N bit/s
मल्टीप्लेक्स्ड ADC
fs = 1/(n·(tc + tset))
UART
Tb = 1/बॉड; 8N1 = प्रति बाइट 10 बिट; बाइट/s = बॉड/प्रति फ़्रेम बिट
बॉड दर विभाजक
baud = fclk/(16·D)

डेटा अधिग्रहण और प्रतिचयन शुरू से सीखें

इससे पहले: संख्या पद्धतियाँ

1डेटा अधिग्रहण क्या है

कंप्यूटर सीधे वोल्टता नहीं पढ़ सकता। डेटा अधिग्रहण प्रणाली किसी भौतिक राशि को संख्याओं में बदलती है: सेंसर एक छोटी वोल्टता बनाता है, प्रवर्धक उसे बड़ा करता है, और ऐनालॉग-से-डिजिटल कन्वर्टर (ADC) उसे नियमित क्षणों पर मापकर एक द्विआधारी संख्या देता है।

TG∿01N, fs​0101

दो चुनाव तय करते हैं कि संख्याएँ कितनी अच्छी होंगी। प्रतिदर्श दर fs बताती है कि ADC कितनी बार मापता है, और बिटों की संख्या N बताती है कि वह अपने वोल्टता परिसर को कितना बारीकी से बाँटता है। साथ मिलकर ये यह भी तय करते हैं कि आपको कितना डेटा सहेजना या भेजना होगा।

स्व-जाँच एक ADC 2 kHz पर प्रतिदर्श लेता है। 0.5 s में वह कितने प्रतिदर्श लेगा?
  1. 1000
  2. 2000
  3. 250
  4. 4000

उत्तर: 1000. प्रतिदर्श = fs·t = 2000·0.5 = 1000। 0.5 के बजाय 2 से गुणा करने पर 4000 मिलता है, और समय को छोड़ देने पर 2000।

2प्रतिचयन और ऐलियासिंग

ज्यावक्र को पकड़ने के लिए आपको प्रति आवर्त दो से अधिक प्रतिदर्श चाहिए। इसलिए प्रतिदर्श दर संकेत की उच्चतम आवृत्ति के दुगुने से अधिक होनी चाहिए। प्रतिदर्श दर का आधा नाइक्विस्ट आवृत्ति कहलाता है:

fs > 2·fmax fN = fs/2

fs/2 से ऊँची आवृत्ति गायब नहीं होती। उसके प्रतिदर्श ठीक वैसे ही दिखते हैं जैसे किसी निचली आवृत्ति के, यानी ऐलियास के। चित्र में 7 Hz का ज्यावक्र (ठोस रेखा) 10 Hz पर प्रतिदर्शित है, और बिंदु 3 Hz के ज्यावक्र (बिंदीदार रेखा) पर भी उतने ही सटीक बैठते हैं।

tf = 7 Hzfs​ = 10 Hz
fa = |f − k·fs|, k = f/fs के निकटतम पूर्ण संख्या

प्रतिचयन के बाद कोई भी ऐलियास को असली संकेत से अलग नहीं कर सकता। इसीलिए ADC से पहले एक ऐनालॉग ऐंटी-ऐलियासिंग फ़िल्टर fs/2 से ऊपर की हर चीज़ हटा देता है।

स्व-जाँच 7 kHz के स्वर को बिना फ़िल्टर के 10 kHz पर प्रतिदर्शित किया जाता है। वह किस आवृत्ति पर दिखेगा?
  1. 17 kHz
  2. 3 kHz
  3. 5 kHz
  4. 7 kHz

उत्तर: 3 kHz. 7 kHz, fs/2 = 5 kHz से ऊपर है, इसलिए वह मुड़कर लौटता है: |7 − 1·10| = 3 kHz। वह 7 kHz पर नहीं रह सकता, 17 kHz घटाने के बजाय जोड़ने से मिलता है, और 5 kHz केवल वलन आवृत्ति है।

3वियोजन और क्वांटीकरण

N-बिट ADC के 2ᴺ निर्गत कोड होते हैं, 0 से 2ᴺ − 1 तक। वह अपने पूर्ण-स्केल परिसर VFSR को 2ᴺ समान चरणों में बाँटता है। एक चरण को 1 LSB (न्यूनतम सार्थक बिट) कहते हैं:

1 LSB = VFSR/2ᴺ

छाँटने वाला (ट्रंकेटिंग) ADC कोड ⌊Vin/LSB⌋ देता है, यानी नीचे का पूर्ण अंक। निकटतम पूर्णांकन करने वाला ADC वास्तविक मान से कभी ½ LSB से अधिक दूर नहीं होता: यही उसकी क्वांटीकरण त्रुटि है।

किसी विस्तार में आकार r के चरणों को पहचानने के लिए आपको सबसे छोटा N चाहिए जिसके लिए 2ᴺ ≥ विस्तार/r हो। हर अतिरिक्त बिट LSB को आधा करता है और आदर्श संकेत-से-क्वांटीकरण-रव अनुपात में लगभग 6 dB जोड़ता है:

SQNR = 6.02·N + 1.76 dB
स्व-जाँच एक 10-बिट ADC का परिसर 0 से 5.12 V है। 1 LSB कितना है?
  1. 10 mV
  2. 2.5 mV
  3. 5 mV
  4. 512 mV

उत्तर: 5 mV. 210 = 1024, इसलिए 1 LSB = 5.12/1024 = 0.005 V = 5 mV। N = 10 से भाग देने पर 512 mV मिलता है, 2⁹ लेने पर 10 mV, और 2.5 mV निकटतम पूर्णांकन करने वाले ADC की सबसे बड़ी त्रुटि है, यानी आधा LSB।

4डेटा दरें और सीरियल लिंक

हर चैनल प्रति सेकंड N बिट के fs प्रतिदर्श देता है। कच्ची डेटा दर चैनल × fs × N होती है। मेमोरी में एक प्रतिदर्श पूरे बाइट लेता है, इसलिए 12-बिट प्रतिदर्श 2 बाइट लेता है।

UART हर बाइट को एक फ़्रेम के रूप में भेजता है: एक स्टार्ट बिट, 8 डेटा बिट, एक वैकल्पिक पैरिटी बिट और एक या दो स्टॉप बिट। प्रचलित 8N1 प्रारूप में यह प्रति बाइट 10 बिट होते हैं। बॉड दर प्रति सेकंड बिट गिनती है, इसलिए एक बिट 1/बॉड तक चलता है।

बाइट प्रति सेकंड = baud/(बिट प्रति फ़्रेम)

मल्टीप्लेक्सर एक ही ADC को कई चैनलों की बारी-बारी से सेवा करने देता है। यदि एक रूपांतरण (स्थिरीकरण सहित) में समय t लगे, तो n चैनलों में से हर एक का प्रतिचयन 1/(n·t) पर होता है।

5एक हल किया गया उदाहरण

अधिकतर प्रश्नों के लिए यह क्रम उपयोग करें:

  1. प्रतिदर्श दर को संकेत की उच्चतम आवृत्ति से जाँचें।
  2. परिसर और बिटों की संख्या से चरण आकार ज्ञात करें।
  3. डेटा गिनें: चैनल, प्रति सेकंड प्रतिदर्श, प्रति प्रतिदर्श बाइट।
  4. उसकी तुलना लिंक या मेमोरी की क्षमता से करें, और स्टार्ट, पैरिटी और स्टॉप बिट भी गिनें।
हल किया गया उदाहरण

एक लॉगर 0 से 4.096 V पर 12-बिट ADC से 4 तापमान चैनल मापता है। संकेतों में 20 Hz तक की आवृत्तियाँ हैं, और हर चैनल 100 Hz पर प्रतिदर्शित होता है। हर प्रतिदर्श 2 बाइट के रूप में 9600 बॉड, 8N1 पर UART से भेजा जाता है। क्या प्रतिदर्श दर पर्याप्त है, 1 LSB कितना है, और क्या लिंक साथ दे सकता है?

1

नाइक्विस्ट जाँच

2·fmax = 2·20 = 40 Hz < 100 Hz

प्रतिदर्श दर पर्याप्त है।

2

चरण आकार

1 LSB = 4.096/212 = 4.096/4096 = 0.001 V = 1 mV
3

भेजा जाने वाला डेटा

4 चैनल · 100 नमूने/s · 2 बाइट = 800 बाइट/s
4

लिंक की क्षमता

8N1 प्रति बाइट 10 बिट भेजता है।

9600/10 = 960 bytes/s ≥ 800 bytes/s
5

उत्तर जाँचें

लाइन पर यह 800·10 = 8000 bit/s है, जो 9600 बॉड से कम है। लिंक 83 % व्यस्त है।

उत्तर

हाँ: 100 Hz, 20 Hz के दुगुने से अधिक है, 1 LSB = 1 mV, और लिंक को अपने 960 bytes/s में से 800 चाहिए।

6सामान्य गलतियाँ

  • यह सोचना कि fs/2 से ऊँची आवृत्ति बस खो जाती है: वह बैंड के भीतर ऐलियास के रूप में दिखती है।
  • परिसर को 2ᴺ के बजाय N से भाग देना।
  • बिटों की संख्या को नीचे पूर्णांकित करना: 2ᴺ कम से कम विस्तार/वियोजन के बराबर होना चाहिए।
  • UART पर प्रति बाइट 8 बिट गिनना: 8N1 में 10 चाहिए।
  • यह भूल जाना कि 10-बिट या 12-बिट प्रतिदर्श 2 पूरे बाइट में सहेजा जाता है।
स्व-जाँच 9600 बॉड का UART 8N1 प्रारूप में प्रति सेकंड कितने बाइट भेज सकता है?
  1. 1067
  2. 1200
  3. 9600
  4. 960

उत्तर: 960. हर बाइट को 10 बिट चाहिए (स्टार्ट, 8 डेटा, स्टॉप): 9600/10 = 960। 8 से भाग देने पर स्टार्ट और स्टॉप बिट छूट जाते हैं, और 9 से भाग देने पर उनमें से एक छूट जाता है।

7परीक्षा प्रश्न कैसे दिखते हैं

  • आसान: नाइक्विस्ट, LSB और डेटा दरें। आप न्यूनतम प्रतिदर्श दर, नाइक्विस्ट आवृत्ति, LSB का आकार या क्वांटीकरण त्रुटि, UART का बिट समय या कच्ची डेटा दर ज्ञात करते हैं।
  • मध्यम: ऐलियासिंग, बिट और UART फ़्रेम। आप ऐलियास आवृत्ति, किसी वियोजन के लिए बिटों की संख्या, किसी वोल्टता का निर्गत कोड, किसी रिकॉर्डिंग की मेमोरी, UART प्रारूप की बाइट दर या आदर्श SQNR ज्ञात करते हैं।
  • कठिन: हार्मोनिक, SQNR और प्रणाली अभिकल्पन। आप ज्ञात करते हैं कि हार्मोनिक कहाँ ऐलियास होता है, किसी आवश्यक SQNR के लिए बिट, UART से स्ट्रीम होने वाला ADC कौन-सी उच्चतम आवृत्ति पकड़ सकता है, मल्टीप्लेक्स्ड ADC की दर, किसी विभाजक की बॉड दर त्रुटि या सेंसर श्रृंखला का तापमान वियोजन।

ऐप में इसे चरण-दर-चरण सीखेंऐप में इसे चरण-दर-चरण सीखें

हल किए गए उदाहरण

उदाहरण 1आसान
SD0​D1​D2​D3​D4​D5​D6​D7​Tb​ = ?2400 Bd

एक UART लिंक 2400 बॉड पर चलता है। एक बिट की अवधि Tb µs में ज्ञात कीजिए।

baud = 2400 Bd

ज्ञात करें: Tb (µs)

संकेत दिखाएँ
  1. बॉड दर प्रति सेकंड भेजे गए बिटों की संख्या है।
  2. Tb = 1/baud.
  3. 1 s = 10⁶ µs.
उत्तर और चरण-दर-चरण हल दिखाएँ

UART: अतुल्यकालिक सीरियल लिंक हर बाइट को एक फ़्रेम के रूप में भेजता है: एक स्टार्ट बिट (निम्न), डेटा बिट, एक वैकल्पिक पैरिटी बिट और एक या दो स्टॉप बिट (उच्च)। बॉड दर प्रति सेकंड बिटों की संख्या है, इसलिए एक बिट Tb = 1/बॉड चलता है और n बिट का फ़्रेम n/बॉड चलता है। प्रचलित 8N1 प्रारूप में प्रति बाइट 10 बिट होते हैं। बॉड जनरेटर क्लॉक को विभाजित करता है: बॉड = fclk/(16·D), जहाँ D पूर्ण संख्या है, इसलिए वास्तविक बॉड दर लक्ष्य से थोड़ी भिन्न होती है; लगभग 2 % से कम त्रुटि आमतौर पर स्वीकार्य है।

बिट समय

Tb = 1/2400 s = 416.7 µs

उत्तर

Tb = 416.7 µs
उदाहरण 2मध्यम
Vin​N = 85 V2ᴺ − 101 LSB2.125 V?

0 से 5 V निवेश परिसर वाला 8-बिट ADC छाँटता है: उसका निर्गत कोड ⌊Vin/LSB⌋ है, जहाँ 1 LSB = VFSR/2ᴺ। 2.125 V के निवेश के लिए दशमलव निर्गत कोड D ज्ञात कीजिए।

N = 8VFSR = 5 VVin = 2.125 V

ज्ञात करें: D

संकेत दिखाएँ
  1. पहले एक LSB का आकार ज्ञात करें।
  2. 1 LSB = 5/256 = 19.53 mV.
  3. निवेश को LSB से भाग दें और पूर्ण भाग रखें।
उत्तर और चरण-दर-चरण हल दिखाएँ

ADC वियोजन: N-बिट कन्वर्टर अपने पूर्ण-स्केल परिसर VFSR को 0 से 2ᴺ − 1 तक 2ᴺ कोड में बाँटता है। एक चरण 1 LSB = VFSR/2ᴺ है: वह सबसे छोटा परिवर्तन जो कन्वर्टर दिखा सकता है। छाँटने वाला ADC कोड ⌊Vin/LSB⌋ देता है; निकटतम पूर्णांकन करने वाला ADC वास्तविक मान से कभी ½ LSB से अधिक दूर नहीं होता, यही उसकी क्वांटीकरण त्रुटि है। हर अतिरिक्त बिट LSB को आधा करता है और पूर्ण-स्केल ज्यावक्र के लिए आदर्श संकेत-से-क्वांटीकरण-रव अनुपात SQNR = 6.02·N + 1.76 dB में लगभग 6 dB जोड़ता है। किसी विस्तार पर वियोजन r पाने के लिए सबसे छोटा N चुनें जिसके लिए 2ᴺ ≥ विस्तार/r हो।

चरण आकार

1 LSB = 5/28 = 19.53 mV

कोड

Vin/LSB = 2125/19.53 = 108.8
कोड = ⌊108.8⌋ = 108

उत्तर

D = 108

द्विआधारी में यह 01101100 है।

उदाहरण 3कठिन
f0fs​/2fs​1.92 kHz7f₁?

1.92 kHz वर्ग तरंग को ऐंटी-ऐलियासिंग फ़िल्टर के बिना 8 kHz पर प्रतिदर्शित किया जाता है। वर्ग तरंग में विषम हार्मोनिक 3f₁, 5f₁, 7f₁, … होते हैं। उसका हार्मोनिक 7f₁ प्रतिदर्शित डेटा में किस आवृत्ति fa पर दिखता है? उत्तर Hz में दीजिए।

f₁ = 1.92 kHzfs = 8 kHzहार्मोनिक: 7f₁

ज्ञात करें: fa (Hz)

संकेत दिखाएँ
  1. हार्मोनिक 7·1.92 kHz = 13.44 kHz पर है, जो fs/2 = 4 kHz से ऊपर है।
  2. वह fs के निकटतम गुणज के साथ fa = |f − k·fs| पर दिखता है।
  3. 13440/8000 = 1.68.
उत्तर और चरण-दर-चरण हल दिखाएँ

प्रतिचयन: ADC संकेत को प्रति सेकंड fs बार मापता है। नाइक्विस्ट–शैनन प्रमेय के अनुसार आवृत्ति f तभी सही पकड़ी जाती है जब f < fs/2 हो, जो नाइक्विस्ट (वलन) आवृत्ति है, इसलिए प्रतिदर्श दर संकेत की उच्चतम आवृत्ति के दुगुने से अधिक होनी चाहिए। ऊँची आवृत्ति खोती नहीं: वह fa = |f − k·fs| पर ऐलियास के रूप में दिखती है, जहाँ पूर्ण संख्या k परिणाम को 0 और fs/2 के बीच लाती है। प्रतिदर्श दोनों में अंतर नहीं कर सकते, इसलिए ऐनालॉग ऐंटी-ऐलियासिंग फ़िल्टर को ADC से पहले fs/2 से ऊपर की हर चीज़ हटा देनी चाहिए।

हार्मोनिक आवृत्ति

7f₁ = 7·1.92 kHz = 13.44 kHz

प्रतिदर्श दर का निकटतम गुणज

m = round(1.68) = 2

ऐलियास आवृत्ति

fa = |13440 − 2·8000| = 2560 Hz

उत्तर

fa = 2560 Hz

ऐलियास संकेत बैंड के भीतर आता है, जहाँ कोई डिजिटल फ़िल्टर उसे हटा नहीं सकता। केवल ADC से पहले का ऐनालॉग फ़िल्टर काम आता है।

प्रश्न और उत्तर

डेटा अधिग्रहण और प्रतिचयन क्या है?

कंप्यूटर सीधे वोल्टता नहीं पढ़ सकता। डेटा अधिग्रहण प्रणाली किसी भौतिक राशि को संख्याओं में बदलती है: सेंसर एक छोटी वोल्टता बनाता है, प्रवर्धक उसे बड़ा करता है, और ऐनालॉग-से-डिजिटल कन्वर्टर (ADC) उसे नियमित क्षणों पर मापकर एक द्विआधारी संख्या देता है।

दो चुनाव तय करते हैं कि संख्याएँ कितनी अच्छी होंगी। प्रतिदर्श दर fs बताती है कि ADC कितनी बार मापता है, और बिटों की संख्या N बताती है कि वह अपने वोल्टता परिसर को कितना बारीकी से बाँटता है। साथ मिलकर ये यह भी तय करते हैं कि आपको कितना डेटा सहेजना या भेजना होगा।

डेटा अधिग्रहण और प्रतिचयन के प्रश्न चरण-दर-चरण कैसे हल करें?
  1. लिख लें कि क्या दिया है: प्रतिदर्श दर, संकेत आवृत्तियाँ, बिट संख्या, निवेश परिसर, बॉड दर।
  2. प्रतिचयन के प्रश्नों में हर आवृत्ति की तुलना fs/2 से करें; इससे ऊँची आवृत्ति fa = |f − k·fs| पर दिखती है, जहाँ fs का निकटतम गुणज लिया जाता है।
  3. वियोजन के प्रश्नों में 1 LSB = VFSR/2ᴺ ज्ञात करें, या सबसे छोटा N ज्ञात करें जिसके लिए 2ᴺ ≥ विस्तार/वियोजन हो।
  4. डेटा दर और UART लिंक के लिए वह सब गिनें जो भेजा जाता है: चैनल, प्रति सेकंड प्रतिदर्श, प्रति प्रतिदर्श बिट या पूरे बाइट, और हर फ़्रेम के स्टार्ट, पैरिटी और स्टॉप बिट।
डेटा अधिग्रहण और प्रतिचयन में आम गलतियाँ क्या हैं?
  • यह सोचना कि fs/2 से ऊँची आवृत्ति गायब हो जाती है: वह बैंड के भीतर ऐलियास के रूप में दिखती है।
  • परिसर को 2ᴺ के बजाय N से भाग देना।
  • बिटों की संख्या को ऊपर के बजाय नीचे पूर्णांकित करना।
  • स्टार्ट और स्टॉप बिट भूल जाना: 8N1 हर बाइट के लिए 10 बिट भेजता है।
डेटा अधिग्रहण और प्रतिचयन के अभ्यास में क्या शामिल है?
  • आसान: नाइक्विस्ट, LSB और डेटा दरें
  • मध्यम: ऐलियासिंग, बिट और UART फ़्रेम
  • कठिन: हार्मोनिक, SQNR और प्रणाली अभिकल्पन

हर प्रश्न में नए मान होते हैं, इसलिए आप उत्तर नहीं बल्कि विधि सीखते हैं। अटक गए? पहले एक छोटा संकेत खोलें, और पूरी व्याख्या तभी जब ज़रूरत हो।

अभ्यास कैसे काम करता है

  • हर प्रश्न में नए मान होते हैं, इसलिए आप उत्तर नहीं बल्कि विधि सीखते हैं।
  • अटक गए? पहले एक छोटा संकेत खोलें, और पूरी व्याख्या तभी जब ज़रूरत हो।
  • आपकी प्रगति, गलतियाँ और सहेजे गए प्रश्न रखे जाते हैं, ताकि आप परीक्षा से पहले दोहरा सकें।

इससे पहले और बाद के विषय

पहले सीखें

इस विषय वाले कोर्स

इलेक्ट्रिकल में और विषय

प्रिंट करने योग्य वर्कशीट