ट्रान्स्मिशनच्या पद्धती (अच्युत गोडबोले)

achyut godbole
achyut godbole

अक्षरं, आकडे, चिन्हं (टेक्स्ट), आवाज, फोटो, आणि व्हिडिओ हे सगळं आपण डिजिटल स्वरूपात म्हणजे १ आणि ० च्या भाषेत साठवून ठेवू शकतो आणि पुन्हा तसंच्या तसं रीप्रोड्युस करू शकतो; डिस्कवर साठवलेलं ० आणि १ च्या स्वरूपातलं टेक्स्ट आपण पुन्हा वाचू शकतो; तसंच डिस्कवर साठवलेलं गाणं आपणच पुन्हा तसंच ऐकू शकतो वगैरे. याचं कारण डिजिटल सिग्नल प्रवास करत असताना जर तो सिग्नल थोडासा बदलला, तरी आपण तो पुन्हा रिजनरेट करू शकतो. आणि रिजनरेटर्स वापरून आपण डिजिटल तंत्रज्ञानात हा डिस्टॉर्शनचा प्रश्न सोडवू शकतो हे आपण जाणतोच. म्हणूनच सीडीवरचं किंवा कॉम्प्युटर/मोबाईलमधलं गाणं आपण कितीही वेळा ऐकलं तरीही बदलत नाही. पूर्वी टेप मात्र काही काळानंतर खराब व्हायच्या.

सिग्नल ट्रान्समिशनच्या अनेक पद्धती असतात. सिग्नल्सचे अॅनेलॉग आणि डिजिटल असे दोन प्रकार आणि ट्रान्समिशनचेही अॅनेलॉग आणि डिजिटल हे दोन प्रकार. यांच्यापासून चार प्रकार तयार होतात. पहिला प्रकार म्हणजे अॅनेलॉग सिग्नल्स अॅनेलॉग लाइन्सवरून पाठवणं. पूर्वीचे टेलिफोन्स याचंच उदाहरण आहे. यामध्ये अॅनेलॉग ध्वनीलहरींचं अॅनेलॉग विद्युतलहरींमध्ये रूपांतर व्हायचं. त्या अॅनेलॉग विद्युतलहरीच टेलिफोनच्या तारांमधून प्रवास करायच्या आणि दुसऱ्या टोकाला या अॅनेलॉग विद्युतलहरींचं पुन्हा अॅनेलॉग ध्वनीलहरींमध्ये रूपांतर व्हायचं आणि मग दुसऱ्या टोकाला पहिल्याचा आवाज ऐकू यायचा.

दुसरा प्रकार म्हणजे डिजिटल सिग्नल्स हे डिजिटल लाइनवरून ट्रान्समिट होऊ शकतात. यात ० आणि १ अशा बिट्सच्या स्वरूपातला डिजिटल सिग्नल म्हणजे काय हे आपल्याला माहीत आहेच; पण डिजिटल लाइन म्हणजे काय? डिजिटल सिग्नलची बँडविड्थ अनंत असते हे आपण जाणतोच; पण कुठल्याच मीडियाची बँडविड्थ अनंत नसते. त्यावर खूपच मर्यादा असतात. त्यामुळे जसा सिग्नल प्रवास करतो, तशा एका मर्यादेवरच्या फ्रिक्वेन्सीज गळत जातात. आणि त्यामुळे तो सिग्नल बदलतो म्हणजेच डिस्टॉर्ट होतो. आता जर तो सिग्नल फक्त किंचितसाच बदलला, तर यंत्रणेला साधारणपणे १ आणि ० हे बिट्स कुठले आहेत ते ओळखू येऊ शकतं. पण तो सिग्नल खूपच बदलला आणि १ आणि ० ओळखू येईनासे झाले, तर मात्र गडबड होऊ शकते. उदाहरणार्थ, आपला बँक बॅलन्स १००००५ रुपयांऐवजी फक्त ०००००५ रुपये म्हणजेच ५ रुपये एवढाच झाला तर काय होईल याची कल्पनाच केलेली बरी! असं होऊ नये म्हणून मग ठराविक अंतरावर ‘रिजनरेटिव्ह रिपीटर्स’ बसवतात. हा रिजनरेटिव्ह रिपीटर येणारा बदललेला सिग्नल वाचून पुन्हा ० आणि १ च्या स्वरूपातला सिग्नल मूळ सिग्नलसारखा करून पुढे पाठवतो. हा सिग्नल मग प्रवास करून पुढच्या रिजनरेटिव्ह रिपीटरकडे जाईपर्यंत पुन्हा बदलतो; पण तिथं तो बदललेला सिग्नल पुन्हा पूर्वीसारखा ० आणि १ च्या स्वरूपातला बनवला जातो आणि असं करत करत तो दुसऱ्या टोकाला जातो. अशा लाईनला ‘डिजिटल लाईन’ असं म्हणतात. यातून कॉम्प्युटरमधले डिजिटल सिग्नल्स दुसऱ्या टोकाला थेट पाठवता येऊ शकतात.
तिसरा प्रकार म्हणजे अॅनेलॉग सिग्नल्स डिजिटल लाईनवरून पाठवणं. तसं करायचं असेल, तर सुरवातीला अॅनेलॉग सिग्नल्स डिजिटल म्हणजे ० किंवा १ च्या स्वरूपात रूपातंरित करावे लागतात. यासाठी PCM किंवा ADPCM अशा पद्धती कशा वापरल्या जातात, हे मल्टिमीडियाविषयी बोलताना आपण बघितलंच आहे. एकदा अॅनेलॉग सिग्नल्सपासून डिजिटल सिग्नल्स मिळाले, की मग ते डिजिटल लाईनवरून अगोदर सांगितल्याप्रमाणं दुसरीकडे पाठवता येतात. त्या टोकाला या डिजिटल सिग्नलचं पुन्हा अॅनेलॉग सिग्नल्समध्ये रूपांतर करता येतंच.

चौथा प्रकार म्हणजे डिजिटल सिग्नल्स अॅनेलॉग लाईनवरून पाठवणं. कॉम्प्युटरमधून निघणारे ० आणि १ च्या स्वरूपातले डिजिटल सिग्नल्स कित्येकदा टेलिफोनच्या अॅनेलॉग लाईनवरून पाठवावे लागतात. यासाठी मात्र ‘मॉड्युलेटर-डीमॉड्यूलेटर (मोडेम)’ नावाचं एक उपकरण वापरावं लागतं. मोडेममधला मॉड्युलेटरचा भाग डिजिटल सिग्नलचं अॅनेलॉग सिग्नलमध्ये रूपांतर करतो आणि तो अॅनेलॉग लाईन्समधून प्रवास करून दुसऱ्या बाजूला जातो, तेव्हा दुसऱ्या बाजूचा मोडेममधल्या डीमॉड्युलेटर या अॅनेलॉग सिग्नलचं पुन्हा डिजिटल सिग्नलमध्ये रूपांतर करून त्या बाजूच्या कॉम्प्युटरकडे पाठवतो.

याशिवाय ट्रान्स्मिशनचे अनेक प्रकार आहेत. एक म्हणजे सिरिअल आणि दुसरा पॅरलल. पॅरलल प्रकार कॉम्प्युटरमध्ये वापरला जातो. कॉम्प्युटरमधला डेटा मेमरीतून डिस्कमध्ये किंवा डिस्कमधून मेमरीमध्ये किंवा मेमरीतून सीपीयूकडे नेण्यासाठी डेटा बस वापरतात. त्यात ८, १६ किंवा ३२ समांतर तारा वापरलेल्या असतात. त्यामुळे एकाच वेळी ८, १६ किंवा ३२ बिट्स म्हणजेच १, २ किंवा ४ बाइट्स एका ठिकाणाहून दुसरीकडे नेता येतात. या डेटा बसमध्ये जितक्या जास्त तारा तितका डेटा जलद प्रवास करतो; पण पॅरलल कम्युनिकेशन महाग असतं.
कॉम्प्युटरमध्ये पॅरलल कॉम्युनिकेशनची गरज असते. याचं कारण ते महाग असलं, तरी कॉम्प्युटरमध्ये त्याशिवाय कामच होणं अवघड असतं; पण बाहेरच्या जगात एवढा खर्च करण्याची गरज नसते. म्हणूनच जवळपास सगळं कम्युनिकेशन सिरिअल तऱ्हेनं होतं. यामध्ये जेव्हा कॉम्प्युटरला काही डेटा पाठवायचा असतो, तेव्हा त्यातले सगळे बिट्स सुटे करून एक एक करून पाठवले जातात. दुसऱ्या बाजूला ते गोळा करून त्याचे (टेक्स्ट असेल तर) बाइट्स किंवा चित्रं, आवाज किंवा चलत् चित्र-जे पाहिजे आहे ते-दुसऱ्या बाजूला बनवलं जातं.

याचप्रमाणं सिम्प्लेक्स, हाफ सिम्प्लेक्स किंवा डुप्लेक्स अशा तऱ्हेनं ट्रान्स्मिशन होऊ शकतं. सिम्प्लेक्स म्हणजे ब्रॉडकास्ट किंवा एकतर्फी कम्युनिकेशन. रेडिओ किंवा टेलिव्हिजन याची उदाहरणं आहेत. हाफ डुप्लेक्समध्ये दोन्ही बाजू एकमेकांशी बोलू शकतात; पण एका वेळी एकच कोणीतरी बोलू शकतं. वॉकी टॉकी हे याचं उदाहरण आहे. फुल डुप्लेक्समध्ये दोन्ही बाजू एकाच वेळी बोलू शकतात. टेलिफोनवरचं संभाषण हे याचं उदाहरण आहे.

सगळ्या मीडियामध्ये नेहमी एक प्रश्न असतो. तो म्हणजे जसा सिग्नल त्या मीडियामधून प्रवास करतो, तसा तो क्षीण होत जातो. हा प्रश्न सोडवणं सोपं असतं. त्याकरता अॅनेलॉग सिग्नल्ससाठी अॅम्प्लिफायर्स वापरता येतात; पण याशिवाय यात आणखीन एक मोठा प्रश्न असतो. तो म्हणजे सिग्नल प्रवास करताना फक्त क्षीण होत नाही, तर तो डिस्टॉर्टही होत जातो- म्हणजे मूळच्यापेक्षा बदलत जातो. अॅनेलॉग सिग्नल्स जर डिस्टॉर्ट झाले तर मोठी पंचाईत होते. याचं कारण मूळ सिग्नल कसा होता हे ओळखण्याचा कुठलाच मार्ग आपल्यापाशी नसतो. थोडक्यात सिग्नलचा तो जो लॉस असतो तो कायमस्वरूपी असतो. म्हणूनच तर जग हे डिजिटल तंत्रज्ञानाकडे वळलं. अक्षरं, आकडे, चिन्हं (टेक्स्ट), आवाज, फोटो, आणि व्हिडिओ हे सगळं आपण डिजिटल स्वरूपात म्हणजे १ आणि ० च्या भाषेत साठवून ठेवू शकतो आणि पुन्हा तसंच्या तसं रीप्रोड्युस करू शकतो; डिस्कवर साठवलेलं ० आणि १ च्या स्वरूपातलं टेक्स्ट आपण पुन्हा वाचू शकतो; तसंच डिस्कवर साठवलेलं गाणं आपणच पुन्हा तसंच ऐकू शकतो वगैरे. याचं कारण डिजिटल सिग्नल प्रवास करत असताना जर तो सिग्नल थोडासा बदलला, तरी आपण तो पुन्हा रिजनरेट करू शकतो. आणि रिजनरेटर्स वापरून आपण डिजिटल तंत्रज्ञानात हा डिस्टॉर्शनचा प्रश्न सोडवू शकतो हे आपण जाणतोच. म्हणूनच सीडीवरचं किंवा कॉम्प्युटर/मोबाईलमधलं गाणं आपण कितीही वेळा ऐकलं तरीही बदलत नाही. पूर्वी टेप मात्र काही काळानंतर खराब व्हायच्या.

कुठलाही संदेश एका ठिकाणाहून दुसरीकडे पाठवायचा झाला, तर त्यात आणखी एक प्रश्न असतो. तो म्हणजे एरर डिटेक्शन अँड करेक्शन. म्हणजे चूक ओळखणं आणि सुधारणं.
यातली सगळ्यांत सोपी पद्धत म्हणजे पॅरिटी बिट वापरणं. यामध्ये संदेशामध्ये किती १ बिट्स आहेत, त्यानुसार पॅरिटी बिट जोडला जातो आणि दुसऱ्या बाजूला तो तपासला जातो. मात्र, या पद्धतीवर खूपच मर्यादा आहेत. या कारणासाठी पॅरिटीबरोबरच आणखी वेगवेगळ्या पद्धती वापरतात. त्यामध्ये सगळ्यात जास्त वापरली जाणारी पद्धत म्हणजे ‘चेकसम’ची. ‘सायाक्लिक रिडन्डन्सी चेक (CRC)’ ही एक चेकसम काढण्याची प्रसिद्ध पद्धत आहे. संदेशातल्या बिट्सवर काहीतरी गुंतागुंतीची गणितं (अल्गॉरिदम) वापरून काही बिट्सचं ‘चेकसम’ बनवायचं. हे चेकसम म्हणजे काही बिट्सच असतात. ते बनवण्याचे अल्गॉरिदम्स असे असतात, की त्या संदेशातले बिट्स बदलले तर तो चेकसमही बदलतो; आणि त्या संदेशातले बिट्स बदलूनही तोच चेकसम येईल याची शक्यता जवळपास ० असते. आता तो संदेश आणि तो चेकसम हे दोन्हीही दुसऱ्या टोकाला जातात. त्या ठिकाणी पुन्हा त्या संदेशावर तोच अल्गॉरिदम वापरून चेकसम काढला जातो. यानंतर दुसऱ्या टोकाला हा गणित करून काढलेला चेकसम आणि संदेशाबरोबर आलेला चेकसम यांची तुलना केली जाते. ते सारखे आले, तर संदेश बरोबर आलाय असा निष्कर्ष काढला जातो. जर चेकसम तोच नसेल, तर त्यात काहीतरी चूक झाली आहे हे कळतं.

आता संदेशात काहीतरी चूक झाली आहे हे कळलं तर करायचं काय? मग त्यात कुठं चूक झाली आहे हे ओळखून ती दुरुस्त करता येईल का यावर विचार झाला. त्यासाठी ‘हॅमिंग कोड’सारख्या काही पद्धतीही निघाल्या; पण त्यात खूपच मर्यादा असतात. यापेक्षा सगळ्यात सोपी पद्धत म्हणजे ACK/NAK ची. म्हणजे जर संदेश अचूक पोचला असेल, तर रिसीव्हर ‘अॅक्नॉलेजमेंटचा (ACK)’ संदेश ट्रान्समिटरला पाठवतो. मात्र, जर त्या संदेशात चूक असेल, तर ‘नो अॅक्नॉलेजमेंट (NAK)’चा संदेश पाठवता येतो. ट्रान्स्मिटरला रिसिव्हरकडून जर NAK चा संदेश मिळाला, तर ट्रान्समिटर तो संदेश रिसिव्हरकडे पुन्हा पाठवतो. रिसिव्हरला तो संदेश अचूकपणे मिळेपर्यंत हे पिंगपॉँग असंच चालू राहतं.

पण यात एक प्रश्न असतो. तो म्हणजे जर संदेश खूप मोठा असेल, (उदाहरणार्थ, ईमेल किंवा फाईल, एखादा व्हिडिओ इत्यादी) तर एवढा मोठा संदेश दर वेळी तपासणं आणि त्यात काही चूक असेल, तर तो पुन्हा पाठवणं यासाठी खूपच वेळ जातो आणि ट्रान्स्मिशनची लाईन अडून बसते. यासाठी मग फ्रेम्स किंवा पॅकेटस्‌ची कल्पना निघाली. यासाठी प्रत्येक संदेशाची सारख्या आकाराची अनेक पॅकेट्स बनवली जातात. यानंतर प्रत्येक पॅकेटमधल्या बिट्सवर CRCचा अल्गॉरिदम वापरून चेकसमचे बिट्स काढले जातात. आता प्रत्येक पॅकेटबरोबर एक हेडरपण पाठवलं जातं. त्या हेडरमध्ये पाठवणाऱ्याचा (ट्रान्समिट) पत्ता, ज्याला संदेश पाठवायचाय त्याचा (रिसिव्हरचा) पत्ता, त्या पॅकेटचा नंबर आणि चेकसम अशी माहिती असते. दुसऱ्या टोकाला प्रत्येक पॅकेटचं हेडर वाचून त्या पॅकेटची अचूकता तपासली जाते. आता फक्त ज्या पॅकेटमध्ये काही चूक आढळेल तेवढ्यांसाठीच NAK आणि बाकीच्यांसाठी ACK संदेश ट्रान्स्मिटरला पाठवावा लागेल. यामुळे मग चूक असलेली तेवढीच पॅकेट्स ट्रान्स्मिटरला पुन्हा पाठवावी लागतात. यामुळे वेळही वाचतो आणि ट्रान्स्मिशनच्या लाईनचा वापरही सुधारतो. सगळी पॅकेट्स रिसिव्हरकडे अचूकपणे पोचली, की मग पॅकेट नंबरप्रमाणे ती पॅकेट्स एकापुढं एक अशी ठेवून त्यातले हेडर्स काढून टाकून मूळ संदेश मिळवता येतो. मग ती ईमेल असेल, तर वाचता येते किंवा जर तो व्हिडिओ असेल, तर तो रिसिव्हरच्या कॉम्प्युटर स्क्रीनवर बघता येतो. व्हॉट्सअपवरचे व्हिडिओज आपण जेव्हा दुसरीकडे पाठवतो, तेव्हा अशाच गोष्टी आपल्या नकळत घडत असतात याचा आपल्याला पत्ताही नसतो!

ब्रेक घ्या, डोकं चालवा, कोडे सोडवा!

Read latest Marathi news, Watch Live Streaming on Esakal and Maharashtra News. Breaking news from India, Pune, Mumbai. Get the Politics, Entertainment, Sports, Lifestyle, Jobs, and Education updates. And Live taja batmya on Esakal Mobile App. Download the Esakal Marathi news Channel app for Android and IOS.

Related Stories

No stories found.
Marathi News Esakal
www.esakal.com