COMMUNICATION CODES
IntroductionData-வை அனுப்புவதற்கும் மற்றும் பெறுவதற்கும் வேறுபட்ட பலவகையான சாதனங்கள் computer-ல் பயன்படுத்தப்படுகின்றன. அவையாவன; keyboard-கள், video terminal-கள், printer-கள், paper tape punche-கள் மற்றும் readerகள், மற்றும் magnetic storage deviceகள் என்பதாகும். இவைகள் data-வை codeகளாக கையாளுகின்றன. அனைத்து data-களும் ஒரே மாதிரியான code-ஐ கொண்டிருப்பதில்லை. Digital data அமைப்பில் சில வகையான codeகள் பொதுவாக பயன்படுத்தப்படுகின்றன. சிலவகையான code-கள் பலதரப்பட்ட application-களில் செயல்புரிகின்ற தன்மையைப் பெற்றிருக்கும்.Baudot code, Binary code, ASCII code, EBCDIC code, Hollerith code என்பன அதிகமாகப் பயன்படுத்தப்படுகின்ற சில பொதுவான codeகளாகும். நவீன computer-கள் பலதரப்பட்ட code-களில் எளிதாக செயலாற்றி computer-க்குரிய code ஆக மாற்றுகின்ற தன்மையைப் பெற்றிருக்கும்.
ASCII CODE
ASCII என்பது American Standard Code for Information Interchange என்பதன் சுருக்கம் ஆகும். இது ஏழு bitகளைக் கொண்ட ஒரு code ஆகும். இதன் ஏழு bitகளும்-ஒரு குறிப்பிட்ட binary வரிசையில் இருக்கும்., Code செய்யப்பட்ட மதிப்புகள் number, letter அல்லது character போன்றவற்றில் எந்த வகையைச் சார்ந்தது என்பதை இதில் உள்ள MSB மூன்று bitகள் தெரிவிக்கும். இது மொத்தமாக 128 characterகளைக் கொண்டிருக்கும். இதில் 26 4.02 characterகள் English-ன் பெரிய எழுத்துக்களையும், மற்றும் வேறு 26 characterகள் English-ன் சிறிய எழுத்துக்களையும் கொண்டிருக்கும். 10 characterகள் எண்களின் மதிப்புகளைக் கொண்டிருக்கும். மீதமுள்ள characterகள் நமக்கு தேவையான functionகள், punctuation markகள், special characterகள் போன்றவற்றினைக் கொண்டிருக்கும்.
எழுத்தானது '100 0001' என்கிற code-ன் மூலம் குறிப்பிடப்படுகின்றது. இதே போன்று B என்கிற எழுத்தைக் குறிப்பதற்கு '100 0010' என்கிற code பயன்படுத்தப்படுகின்றது. இரண்டு எழுத்துக்களை குறிப்பிடுகின்ற codeகளிலும் முதல் மூன்று bitகள் ஒரே மாதிரி இருக்கும். ஆனால் மீதமுள்ள 4 bitகளின் நிலைகள் அதன் 4.03 மதிப்பினைப் பொறுத்து இருக்கும். அதாவது இது 0000 முதல் 1111 வரை மாறுபடுகின்றது. இதே போன்று code-ல் உள்ள முதல் மூன்று bitகளும் ஒரு தரமான மாற்றத்தை 000 முதல் 111 வரைக் கொண்டிருக்கும். எண் 2 ஆனது 011 0010 எனவும், எழுத்து B ஆனது 100 0010 எனவும் குறிப்பிடப்படும்.இப்பொழுது முதலில் உள்ள மூன்று bitகளில் மாற்றம் உருவாகி உள்ளது. இதன் விவரம் அட்டவணையில் கொடுக்கப்பட்டுள்ளது.
Advantages- Error detection முறையைப் பயன்படுத்தினால் bitகளின் எண்ணிக்கை 8 ஆக அதிகரிக்கும். அதாவது parity bit ஆனது 8வது bit ஆக சேர்க்கப்படுகின்றது.
- இதனை computer-ல் எளிதாகப் பயன்படுத்தலாம். நவீன computerகள் அதனுள்ளே நடைபெறுகின்ற செயலுக்கு hexadecimal code-ஐப் பயன்படுத்துகிறது.
இந்த code ஆனது பொதுவாக IBM mainframe computer-களிலும் மற்றும் peripheral கருவிகளிலும் பயன்படுகிறது. இந்த code-ம் BCD code-ஐப் போன்றே இருக்கும். இந்த code-ல் உள்ள அனைத்து எண்களின் மற்றும் எழுத்துக்களின் இரண்டாவது hexa character மதிப்புகளும் 0 முதல் 9 வரையிலான BCD எண்களுக்குரிய வரிசையைக் கொண்டிருக்கும். எனவே இது binary coded decimal என அதன் பெயரை தன்னகத்தேக் கொண்டுள்ளது. இது மொத்தமாக 256 வெவ்வேறு நிலைகளைக் கொண்டிருக்கும், சில எழுத்துக்களுக்கும் மற்றும் எண்களுக்கும் உரிய EBCDIC code ஆனது கீழே உள்ள அட்டவணையில் கொடுக்கப்பட்டுள்ளது.
F8 F9 இந்த code-ல் A என்கிற எழுத்தானது 1100 0001 எனவும் மற்றும் B என்கிற எழுத்தானது 1100 0010 எனவும் குறிப்பிடப்படுகின்றது. இவ்விரண்டு எழுத்துக்களையும் குறிக்கின்ற 4.05 codeகளின் முதல் இரண்டு bitகள் (MSB) 11 என ஒரே மாதிரியாக உள்ளது. அதேபோன்று 'a' என்கிற எழுத்தானது 1000 0001 எனவும் மற்றும் 'b' என்கிற ழுத்தானது 1000 0010 எனவும் குறிப்பிடப்படுகின்றது. இவ்விரண்டு எழுத்துக்களையும் குறிக்கின்ற code-களின் முதல் இரண்டு bit-கள் (MSK) 10 என ஒரே மாதிரியாக உள்ளது.
அதாவது இந்த code-ல் முதல் இரண்டு bitகள் 10 என இருந்தால் அது alphabet-ன் சிறிய எழுத்துக்களையும், 11 என இருந்தால் பெரிய எழுத்துக்களையும் குறிப்பிடுகின்றது. இந்த code-ல் '0' என்கிற எண்ணானது 1111 0000 எனவும் மற்றும் 9 என்கிற எண்ணானது 1111 1001 எனவும் குறிப்பிடப்படுகிறது. அதாவது எண்களையும் மற்றும் எழுத்துக்களையும் குறிப்பிடுகின்ற code-6 LSB 4 4 bit-களின் மதிப்புகள் 0000 முதல் 1001 வரை கொண்ட BCD எண்ணாக வரிசையாக மாறுதல் அடைகின்றது.
Advantages- இது ASCIIஐ code-ஐப் போன்றது. இதனை computer-ல் நேரடியாகப் பயன்படுத்தலாம்.
- இது அதிக எண்ணிக்கைகளைக் கொண்ட codeகளைக் பெற்றிருக்கும்.
இதில் உள்ள அனைத்து (8) bitகளும்,data-வைக் குறிப்பிடுவதால், parity bit-ஐ இதில் சேர்க்க முடியாது. எனவே இதில் error உருவானால் அதனை கண்டுபிடிக்க இயலாது.
Baudot code
Baudot code ஆனது 5 bit-களைக் கொண்ட ஒரு code ஆகும்.இது telemetry மற்றும் paper tape அமைப்புகளில் பயன்படுகிறது. இது 5 bitகளை மட்டுமே கொண்டிருப்பதால் இதன் மூலம் மொத்தமாக 32 (25= 32) வித்தியாசமான codeகளை மட்டுமே இதில் ஏற்படுத்திக் கொள்ள முடியும்.இதனை மட்டும் வைத்துக் கொண்டு alphabet (26), numeral (10) மற்றும் அனைத்து characterகளையும்குறிப்பிட இயலாது. எனவே இதனுடைய எண்ணிக்கையை அதிகமாக்குவதற்கு shift codeகள் இதனுடன் சேர்த்து பயன்படுத்தப்படுகின்றது. Upper அல்லது lower case எழுத்துக்களை குறிப்பிடுவதற்கு இரண்டு வகையான shift codeகள் பயன்படுத்தப்படுகின்றது.
இதன் மூலம் code-களின் எண்ணிக்கை 32-ல் இருந்து 64 ஆக அதிகரிக்கின்றது. இந்த 64 code-களில் 6 codeகள் function codeகளாகவும், மீதமுள்ள 58 codeகள் எழுத்து மற்றும் வடிவங்களை குறிப்பிடுவதற்கும் பயன்படுகிறது) Elg4.1-ல் paper tape-ல், பயின்படுத்தப்படுகின்ற Baudot eode ஆனது விவரிக்கப்பட்டுள்ளது. Code-களின் எண்ணிக்கையை அதிகரிப்பதற்கு letter shift மற்றும் figure shift என்கிற குறியீடுகள் பயன்படுத்தப்படுகிறது. Letter shift வந்தால் அதைத் தொடர்ந்து வருபவை letterகளாகும். Figure shift வந்தால் அதைத் தொடர்ந்து வருகின்ற அனைத்தும் figureகளாகும்.
Line A ஆனது weather symbol -ஐயும் Line B ஆனது fractionகளையும், மற்றும் Line C ஆனது communication-ஐயும் குறிப்பிடுகின்றது. Drawbacks i) இதில் அதிக எண்ணிக்கையில் ஒன்றிணைக்கப்பட்ட codeகளை ஏற்படுத்த இயலாது. ii) அனைத்து 5 bitகளும் data-வை code செய்வதற்குப் பயன்படுகிறது. எனவே error-களை சரிசெய்வதற்கு parity முறையை இதில் பயன்படுத்த முடியாது. Uses 4 19 read செய்வதற்குப் பயன்படுகிறது.
இந்த code ஆனது வரிசையாக இருக்காது. iv) இதனை error detection மற்றும் correction செயலுக்கு பயன்படுத்த இயலாது. Error control ஒரு data communication circuit ஆனது குறுகலாக சில அடி தூரம் இருக்கலாம் அல்லது நீளமாக பல ஆயிரம் மைல்கள் இருக்கலாம். Transmission medium ஆனது எளிமையாக உள்ள இணை wire-களாக இருக்கலாம், அல்லது சிக்கலாக உள்ள microwave, satellite fiber optic communication அமைப்பாக இருக்கலாம்.
Signal ஆனது channel வழியாக transmit செய்யப்படுகின்ற போது error உருவாக வாய்ப்புள்ளது. Transmission error-கள் பொதுவாக மின்னல் போன்ற இயற்கையான source-ல் இருந்தும் மற்றும் motor-கள், generator-கள், power line-கள் மற்றும் fluorescent light-கள் என்கிற, மனிதனால் உருவாக்கப்படுகின்ற electrical interference மூலமும் ஏற்படலாம். இத்தகைய error-கள் error control coding-ஐ பயன்படுத்துவதன் மூலம் சரி செய்யப்படுகின்றது Error control coding -ஆனது error detection மற்றும் correction செயலுக்காக channel encoder மற்றும் channel decoder ஆகியவற்றினை பயன்படுத்துகின்றது.
Channel encoder ஆனது input message signal-உடன் கூடுதலாக bit-களை (redundancy) add செய்கின்றது. இவ்வாறு encode செய்யப்பட்ட signal ஆனது பின்பு channel வழியாக transmit செய்யப்படுகிறது. Channel decoder ஆனது redundant bit-களை அடையாளம் கண்டு, input message signal-லில் ஏதாவது error-கள் இருந்தால் அவற்றினை கண்டுபிடித்து சரி செய்கின்றது. கூடுதலாக சேர்க்கப்படுகின்ற redundant bit-களால், ஒட்டு மொத்த data அளவு அதிகரிக்கின்றது.
Types of Error ControlError control coding செயலுக்காக இரண்டு முக்கியமான 5முறைகள் பயன்படுத்தப்படுகின்றது. அவையாவன, Forward acting error correction im Error detection with transmission. Forward acting error correction இம்முறையில், சரியான coding முறைகள் receiver-ல் (decoder-ல்) பயன்படுத்தப்பட்டு error-கள் கண்டுபிடிக்கப்படுகிறது மற்றும் சரி செய்யப்படுகிறது. Receiver-ல் check bit-களை அல்லது redundant bit-களைப் பயன்படுத்தி error-கள் கண்டுபிடிக்கப்படுகிறது மற்றும் சரி செய்யப்படுகிறது. Receiver ஆனது error-ஐ detect மற்றும் correct செய்கின்ற தன்மையானது transmit செய்யப்படுகின்ற தகவலில் உள்ள redundant bit-களின் எண்ணிக்கையைப் பொறுத்து இருக்கும். Forward acting error correction முறையானது வேகமானது, ஆனால் இதில் error-கள் அதிகமாக உருவாக வாய்ப்புள்ளது. இதில் சில error-களை சரி செய்ய முடியாது.
Error detection with retransmission இம்முறையில் decoder ஆனது, வருகின்ற input-ன் வரிசையை check செய்கின்றது. ஏதாவது error ஆனது கண்டுபிடிக்கப்பட்டால், தகவலின் அந்தப்பகுதியை நீக்குகின்றது மற்றும் மீண்டும் transmit செய்யுமாறு transmitter-ஐ வேண்டுகின்றது. Transmitter ஆனது error கண்டுபிடிக்கப்பட்ட அந்தப் பகுதியை மீண்டும் transmit செய்கின்றது. இதில் decoder ஆனது error-களை சரி செய்ய இயலாது. இது error-களை கண்டுபிடிக்கச் செய்யும் மற்றும் transmitter-ஐ மீண்டும் transmit செய்யுமாறு வேண்டி கேட்டுக் கொள்ளும்.
Error detection codes
Error detection என்கிற முறையில் data transmission ஆனது கண்காணிக்கப்படுகிறது. மற்றும் error-கள் எப்பொழுது ஏற்பட்டுள்ளது என்பது கண்டுபிடிக்கப்படுகிறது. Error detection முறையில் error-கள் சரி செய்யப்படுவதில்லை மற்றும் எந்த bit-ல் error ஏற்பட்டுள்ளது எனவும் அடையாளம் காட்டப்படுவதில்லை. இம்முறையில் error ஆனது எப்பொழுது ஏற்பட்டுள்ளது என்பது அடையாளம் காணப்படுகிறது. Error detection முறையில் error-கள் ஏற்படுவது தடுக்கப்படுவதில்லை ஆனால் கண்டுபிடிக்க முடியாத error-கள் ஏற்படுவது தடுக்கப்படுகிறது. அதாவது அனைத்து error-களுமே கண்டுபிடிக்கப்படும். Redundancy checking என்பது மிகவும் பொதுவான error detection முறையாகும்.
Linear block codes
ஒரு code-க்கான ஏதாவது இரண்டு code vector-களின் sum ஆனது மீண்டும் ஒரு code vector-ஆக இருந்தால் அது linear என அழைக்கப்படும். அதாவது code-க்கான code word-கள் அதற்குரிய bit-களின் modulo-2 addition-ஐப் பொறுத்து closure property-ன் படி செயல்படும். எனவே channel encoder-ன் output-ல் உள்ள மொத்த bit-களின் எண்ணிக்கையானது 'n' என இருக்கும்.
இத்தகைய code-கள் (n, k) block code-கள் என அழைக்கப்படுகிறது. Systematic codes Systematic block code-ல், message bit ஆனது code word-ன் தொடக்கத்தில் அமையப்பெற்றிருக்கும். Message bit ஆனது முதலில் இருக்கும். அதன் பின்பு block-ல் check bit-கள் transmit செய்யப்படுகிறது. இவ்வகை code ஆனது systematic code என அழைக்கப்படுகிறது. Linear code எந்த இரண்டு code vector-களின் கூட்டுத்தொகையானது (sum) மற்றொரு code vector-ஆக இருந்தால் அந்த code ஆனது linear எனப்படும்.
இதன் மூலம் எந்த code vector-ம், மற்ற code vector-களின் linear combination என தெரிவிக்கப்படுகிறது. ஒரு குறிப்பட்ட code vector ஆனது m, m2, M3 .....mk என்கிற message bit-களையும் மற்றும் C, C2, C3Cq என்கிற check bit-களையும் கொண்டுள்ளதாக வைத்துக் கொள்வோம். இதன் code vector ஆனது கீழ்காணும் போன்று எழுதப்படுகிறது. x = (m,, m2, m3 .....mkC, C2,C3 Cq) இதில் q =n-kஎன இருக்கும். அதாவது q என்பது encoder-யினால் add செய்யப்பட்ட redundant bit-களின் எண்ணிக்கையைக் குறிக்கும்.
இதற்கு சாதாரண characterஉடன் error-ஐக் கண்டுபிடிக்க உதவுகின்ற ஒரு parity bit ஆனது சேர்ந்து அனுப்பப்படுகிறது. இது character உடன், சில logical முறையைப் பயன்படுத்தி ஏற்படுத்தப்பட்டு, code-ன் கடைசியில் சேர்க்கப்படுகிறது. 4.13 இதில் இரண்டு வகைகள் உ ள்ளன. ( அவையாவன; odd parity மற்றும் even parity. Even parity என்பது, புதியதாக சேர்க்கப்படுகின்ற parity bit உடன் சேர்த்து அந்த character-ல் இருக்கக்கூடிய மொத்த '1'களின் எண்ணிக்கையை இரட்டை படை (Even number) எண்களாக இருக்கச் செய்வதாகும். உதாரணமாக, ஒரு word ஆனது 0111 என இருந்தால்,
இதில் உள்ள '1'களின் எண்ணிக்கையானது மூன்று (odd) ஆகும். எனவே இதனை even parity ஆக மாற்றுவதற்கு இதனுடன் சேர்க்கப்படுகின்ற parity bit ஆனது '1'-என இருக்க வேண்டும். எனவே தற்போது இந்த word ஆனது 01111 ஆக மாறி, மொத்தமுள்ள '1'களின் எண்ணிக்கையை 4 (even) ஆக மாற்றுகிறது. இந்த புதிய word ஆனது computer-ல் store மற்றும் move ஆகின்றது. இது computer-ல் பலதரப்பட்ட இடங்களில் பரிசோதிக்கப்படுகிறது. அப்பொழுது இந்த word ஆனது odd parity ஆக ஒருவேளை மாறியிருந்தால் அதில் error உருவாகி உள்ளது என தெரியவரும். இதன் மூலம் அதில் உருவாகி உள்ள error-ஐ எளிதாக கண்டுபிடித்துவிடலாம். அதனை சரிசெய்து மீண்டும் transmit செய்து 2 கொள்ளலாம்.
இதே போன்று odd parity என்பது புதியதாக சேர்க்கப்படுகின்ற parity bit உடன் சேர்த்து அந்த character-ல் இருக்கக் கூடிய மொத்த ‘1-களின் எண்ணிக்கையை ஒற்றைப்படை (odd number) எண்களாக இருக்கச் செய்வதாகும்.) (Parity bit-ஐ ஒவ்வொரு character அமைப்புடனும் சேர்த்தால் அது vertical parity எனப்படும். (Parity bit-ஐ character code-ன் row உடன் சேர்த்தால் அது horizontal parity எனப்படும், Horizontal மற்றும் vertical parity களின் தன்மைகள் கொடுக்கப்பட்டுள்ளது.Code bit ஆனது blockஐப் பொறுத்தமட்டில் ஒரு குறிப்பிட்ட நீளம் கொண்டதாக இருக்கும். இந்த இரண்டு parity முறைகளையும் ஒரே நேரத்தில் பயன்படுத்தி எந்த bit-ல் error உருவாகி உள்ளது என்பதை எளிதாக கண்டுபிடித்து விடலாம். Even parity ஆனது horizontal parity மற்றும் vertical parity என்கிற இரண்டிலும் இருக்கும்.
Row மற்றும் Column ஆகிய இரண்டும் சந்திக்கும் இடத்தில் உள்ள bit-ல் error கண்டுபிடிக்கப்பட்டுள்ளது. இந்த bit-ஐ மாற்றி அதில் அதற்கு எதிரான bit-ஐ வைத்தால் அது சரியான horizontal மற்றும் vertical parity ஆக மாறிவிடும். இம்மாதிரியான parity அமைப்பிற்கு geometric code என்று பெயர்.
Redundant codes
Aiman பெரும்பாலான error-detection அமைப்புகளில் சில வகை redundancy முறைகள் பயன்படுத்தப்பட்டு receive செய்யப்படுகின்ற data-ல் இருக்கின்ற error-கள் கண்டுபிடிக்கப்படுகிறது. அதாவது error-களை கண்டுபிடிப்பதற்காகவே கூடுதலாக data ஆனது, அடிப்படை data உடன் சேர்த்து transmit செய்யப்படுகிறது. Redundancy ஆனது தகவலை இரண்டு தடவை transmit செய்கின்ற தன்மையை ஏற்படுத்துகிறது. மேலும் அத்தகைய இரண்டு தகவலையும் ஒப்பிட்டு அதில் error எதுவும் உருவாகி உள்ளதா என்பதை கண்டுபிடிக்கின்றது.
அதாவது இரண்டு தகவல்களுக்கும் இடையில் ஏதாவது வித்தியாசம் இருந்தால் அதில் error இருப்பதாக எடுத்துக் கொள்ளப்பட்டு, தகவலை மீண்டும் transmit செய்வதற்கு ஏற்பாடு செய்கின்றது. இரண்டு தகவல்களும் ஒரே மாதிரியாக இருந்தால் தகவலில் error எதுவும் இல்லை என எடுத்துக் கொள்ளப்பட்டு தொடர்ச்சியான செயல்கள் நடைபெறுகின்றது. தகவலை மீண்டும் transmit செய்ய வைக்கின்ற retransmission முறையை, மிகவும் சிறந்த முறை என எடுத்துக் கொள்ள முடியாது. ஏனெனில் இரண்டாவது transmission ஆனது 100 சதவீத redundant தன்மையைப் பெற்றிருக்காது.அனைத்து முறைகளிலும் தகவலில் உள்ள redundant bit-கள் சேர்ந்து உண்மையான தகவலின் அர்த்தத்தை மாற்றுகின்றது, ஆனால் அதைப்பற்றி அறிய வேண்டிய அவசியமில்லை.
Cyclic redundancy check(CRC) 89 Cycle redundancy check (CRC) ஆனது அதிக நம்பிக்கைக் கொண்ட ஒரு error detection முறையாகும். இது transmit செய்யப்பட வேண்டிய data-ன் மீது ஒரு mathematical முறையைப் பயன்படுத்தி செயல்படுகின்றது. இது transmit செய்கின்ற data-ல் உள்ள 99.9 சதவீத error-களை கண்டுபிடிக்கின்ற திறமை கொண்டது. பொதுவாக ஒரு block-ல் உள்ள data ஆனது அதிக நீளம் கொண்ட binary எண்ணாக இருக்கும். இது ஏற்கனவே வரையறுக்கப்பட்ட ஒரு குறிப்பிட்ட நிலையான மதிப்பினால் வகுக்கப்படுகிறது. வகுத்தலின் போது முதலில் கிடைக்கப்பெறுகின்ற ஈவானது (quotient) களைப்படுகிறது, மற்றும் அதன் மீதியானது பாதுகாக்கப்படுகிறது.
இதில் கிடைக்கப்பெறுகின்ற மீதியானது CRC character என அழைக்கப்படும். எந்த data-வை check செய்ய வேண்டுமோ அந்த data ஆனது register-களுக்கு serial ஆக கொடுக்கப்படுகின்றது. கொடுக்கப்படுகின்ற data ஆனது ஒரு நேரத்தில் ஒரு bit அளவு shift செய்யப்படும். இவ்வாறு shift செய்யப்படுகின்ற signal ஆனது வகுத்தலின் போது கிடைக்கப்பெறுகின்ற மீதியாகவோ அல்லது ஒரு குறிப்பிட்ட CRC மதிப்பாகவோ இருக்கும்.இதில் உள்ள shift register ஆனது 16 flip-flop-களைக் கொண்டிருந்தாலும், CRC ஆனது வரிசையாக 8 bit-களைக் கொண்ட இரண்டு வரிசையான byte-களாக transmit செய்யப்படுகிறது. Data-வை receive செய்யப்படுகின்ற முனையில், CRC ஆனது ஒரு computer மூலம் compute செய்யப்படுகிறது, மேலும் அந்த CRC ஆனது receive செய்யப்பட்ட CRC உடன் ஒப்பிடப்படுகிறது. இரண்டு CRC-களும் ஒரே மாதிரியாக இருந்தால் தகவலானது சரியாக receive செய்யப்படும்.
மாறாக இரண்டு CRC-களும் வித்தியாசம் கொண்டதாக இருந்தால் அதில் error உள்ளது என்பது அறியப்பட்டு, CH 4.17 தகவலானது திரும்பவும் transmit செய்வதற்காக வேண்டப்படுகிறது அல்லது வேறு ஏதாவது முறையின் மூலம் error-கள் சரிசெய்யப்படுகிறது.
ERROR CORRECTION CODES
Error correction (Error-ஐ சரி செய்தல்) என்பது data transmission-னில் ஒரு முக்கியமான சிறப்பாகும். Error correction முறைகளில் சாதாரணமாக ஒரு வினாடிக்குரிய bit-களின் எண்ணிக்கை அதிகரிக்கப்பட்டு பின்பு transmit செய்யப்படுகிறது. இத்தகைய தன்மையினால் transmission செய்வதற்கான செலவு அதிகரிக்கின்றது. Error-ஐ சரிசெய்வதற்காக receiver முனைகளில் பயன்படுத்தப்படுகின்ற வழிமுறைகள் அதிக சிக்கல் கொண்டதாக இருக்கும்.எனவே data-வை பயன்படுத்துகின்றவர்கள் transmit செய்யப்பட்ட data-ன் முக்கியத்துவத்தை கருத்தில் கொண்டு, அந்த data-க்கு உகந்த detection மற்றும் correction முறைகளை பயன்படுத்த வேண்டும். சில வகையான error correction முறைகள் கீழே கொடுக்கப்பட்டுள்ளது.
Retransmission Error உருவாகிய தகவலை மீண்டும் transmit செய்ய வைத்தல், என்பது error correction செயலின் மிக முக்கியமான முறையாகும். இதனை automatic ஆக நடைபெறுகின்றவாறும் செயல்படுத்திக் கொள்ளலாம். இவ்வாறு தானாகவே செயல்படுகின்ற முறையானது automatic request for - repeat (ARQ) என்று அழைக்கப்படுகிறது. மேலும் இதனை positive acknowledgement/ negative acknowledgement (ACK/NAK) எனவும் அழைக்கலாம். ஒவ்வொரு block-ன் parity-ம் பொதுவாக receive செய்யப்படுகின்ற இடத்தில் பரிசோதிக்கப்படுகிறது.அப்பொழுது error எதுவும் இல்லை என்பது கண்டுபிடிக்கப்பட்டால் positive acknowledgement (ACK) signal ஆனது அனுப்பப்படுகிறது. அதன்பின்பு அடுத்த block ஆனது transmit செய்யப்படுகிறது. ஒருவேளை error ஆனது கண்டுபிடிக்கப்பட்டால் negative acknowledgement (NAK) signal ஆனது அனுப்பப்படுகிறது. இந்நிலையில் திரும்பவும் அந்த block ஆனது retransmit செய்யப்படுகிறது. இவ்வாறு திருப்பி அனுப்பப்படுகின்ற blockயிலும் மீண்டும் parity ஆனது பரிசோதிக்கப்பட்டு, error இல்லாதிருந்தால் மட்டுமே அடுத்த block-ஐ transmit செய்ய அனுமதிக்கின்றது.
இல்லையெனில் error உருவாகின்ற போது அந்த data-வை திரும்பத் திரும்ப transmit செய்ய வேண்டி இருக்கும். இதற்கு பலவகையான முறைகள் உள்ளன. Error-ஐ கண்டுபிடித்தப் பின்பு அதனை திரும்ப transmit செய்யச் சொல்லாமல், receiver முனையில் வைத்து அதனை ன. Eror-g 1 4.19 சரிசெய்கின்ற முறைக்கு forward error correction code என்று பெயர். இதற்காக, transmit செய்யப்பட இருக்கின்ற data-ல் தேவையான அளவு bit-களை சேர்த்துக் கொள்ள வேண்டும். (Matrix Matrix sum என்பது ஒரு வகை forward error correcting code ஆகும். மூன்று levelகளைக் கொண்ட matrix sum அமைப்பின் தன்மையானது fig.4.6-ல் கொடுக்கப்பட்டுள்ளது. படத்தில் உள்ள matrix-யினுடைய row-க்களின் கூட்டுத்தொகையானது columnகளின் கூட்டுத்தொகைக்கு சமமாக உள்ளது.
இந்த தன்மையானது error-ஐக் கண்டுபிடித்து அதனை சரிசெய்ய மிகவும் உதவுகிறது. Transmit செய்யப்படுகின்ற signal ஆனது, data-வையும் அதனுடன் சேர்த்து ஒவ்வொரு column மற்றும் மற்றும் மொத்த VIrai row-க்களின் கூட்டுத்தொகையையும், எண்ணிக்கைகளையும் கொண்டதாக இருக்கும் Signal ஆனது receive செய்யப்பட்டவுடன் matrix ஆனது திரும்பவும் ஏற்படுத்தப்பட்டு அதனுடைய column மற்றும் rowக்களின் கூட்டுத்தொகையானது கண்டுபிடிக்கப்பட்டு, அதன் உண்மையான கூட்டுத்தொகை உடன் ஒத்துப்போகின்றதா என்பது பரிசோதிக்கப்படுகின்றது (பரிசோதிக்கும் போது கூட்டுத்தொகையானது ஒத்துப்போனால் error இல்லாத transmission என்று பொருள்படும்.
ஒத்துப்போகாவிட்டால் error உள்ளது என்று அர்த்தம். matrix-ல் உள்ள row மற்றும் column-களில் உருவாகி உள்ள முரண்பாடுகள் அதில் error உள்ளது என்பதைக் காட்டுகின்றது. இதன் மூலம் error கண்டுபிடிக்கப்பட்டு, அது சரி செய்யப்பட்டு பின்பு store செய்யப்படுகிறது. மூன்று அடுக்குகளைக் கொண்ட matrix sum code ஆனது சுமார் 90 சதவீதம் error-களை சரி செய்யும் தன்மை கொண்டது. இதை விட பெரிய அளவு கொண்ட matrix ஆனது இதை விடவும் அதிக சதவீதம் error-களை சரிசெய்யும் தன்மை கொண்டதாகும். பேரிய அளவு matrixகளில் errorகளை கண்டுபிடிக்கத் தேவையான bitகள் அதிக எண்ணிக்கையில் இருக்கும்.
எனவே transmission efficiency 4.20 ஆனது மூன்று level கொண்ட matrix-ல் 56 சதவீதமும் மற்றும் ஒன்பது level கொண்ட matrix-ல் 81 சதவீதமும் இருக்கும்.) 4.83. Hamming code (இது ஒரு விநோதமான error detection code ஆகும். இதில் data word உடன் அதிக எண்ணிக்கையில் parity check bitகள் சேர்க்கப்படுகின்றது. உதாரணமாக, ஒரு data word-ஐ 1101 என எடுத்துக் கொண்டால், இதில் மூன்று parity bitகள் சேர்க்கப்படுகின்றது. இதன் வடிவம் கீழே கொடுக்கப்பட்டுள்ளது. இதில் முதல் parity bit ஆன P,-ஐ உருவாக்குவதற்கு 3,5 மற்றும் 7 என்கிற bit இடங்களில் உள்ள எண்களுடன் சேர்த்து நாம் P,-ல் சேர்க்கப்படுகின்ற bit ஆனது அதனை even parity எண்ணாக மாற்ற வேண்டும். Bitகள் 3,5 மற்றும் 7 என்கிற நிலைகளில் 1,1,1 என உள்ளது. எனவே P, ஆனது ‘1' என இருந்தால் அது even parity ஆக மாறிவிடும். 2 P, bit ஆனது எண்ணின் 3, 6 மற்றும் 7 என்கிற இடங்களில் உள்ள எண்களுடன் சேர்ந்து ஒட்டுமொத்தமாக even parity-ஐ ஏற்படுத்த வேண்டும். Bitகள் 3,6 மற்றும் 7 என்கிற நிலைகளில் 1,0,1 என உள்ளது.
அதாவது இதில் தவறு உள்ள location-களில் '1 எனவும், மற்றும் சரியாக உள்ள location-னில் ‘0' எனவும் இட வேண்டும். நாம் சோதித்த எண்ணில் P, P, P, = 110 என கிடைக்கப் பெறுகிறது. இந்த binary எண்ணிற்கு சமமான decimal எண் '6' ஆகும். எனவே இதன் மூலம் '6' ஆவது location-னில் error உருவாகி உள்ளது என்பதை கண்டுபிடித்து அதனை மாற்றி சரி செய்துக் கொள்ளலாம். = 000 என இருக்கும். Error எதுவும் இல்லாமல் இருந்தால் P, P, P, Saiman 3 4.22 Hamming code ஆனது error-ஐ single bit-ல், அதாவது ஒரே ஒரு bit-ல் இருந்தால் மட்டுமே கண்டுபிடிக்கும் தன்மை கொண்டது.
பல bit-களில் உள்ள error-களை இம்முறையில் கண்டுபிடிக்க இயலாது. FUNDAMENTALS OF CONVOLUTION CODING 1( குறிப்பிட்ட 3 convolution coding ஒரு எண்ணிக்கைகளைக் கொண்ட input bit-களை சேர்ப்பதன் மூலம் நடைபெறுகின்றது. Input bit-கள் ஒரு குறிப்பிட்ட நீளம் கொண்ட shift register-ல் store செய்யப்படுகிறது.) பின்பு அவைகள் mod-2 adder-களைக் கொண்டு சேர்க்கப்படுகிறது. இதன் செயலானது binary convolution போன்றே இருக்கும். எனவே இது convolution coding என அழைக்கப்படுகிறது. Message bit ஆனது 'm' என்கிற இடத்திற்கு shift ஆகின்ற போது V, மற்றும் V2-களுக்கான புதிய மதிப்புகள் m, m,, மற்றும் m2 ஆகியவற்றினைப் பொறுத்து உருவாகின்றது. m மற்றும் ma என்பன முந்தைய இரண்டு message bit-களையும் store 4.23 செய்கின்றது. தற்போதைய bit ஆனது 'm'-ல் இருக்கும்.
அதாவது இந்த convolutional encoder ஆனது இரண்டு bit-களைக் கொண்டிருக்கும். Message bit-களின் எண்ணிக்கை, k = 1 ஒரு message bit-க்கு encode செய்யப்படுகின்ற output bit-களின் எண்ணிக்கை, n = 2 எனவே இந்த encoder-க்கான code rate, 1 k -- - 2 இந்த encoder-ல் ஒரு குறிப்பிட்ட message bit ஆனது அதில் உள்ள shift register-யினுள் சென்ற பின்பு மூன்று shift-களுக்கு அந்த shift register-யிலேயே தங்கி இருக்கும். அதாவது முதல் shift இரண்டாவது shift → மூன்றாவது shift 4.24 message bit ஆனது m என்கிற இடத்திற்கு வந்து சேரும். message bit ஆனது m, என்கிற இடத்திற்கு shift ஆகும். message bit ஆனது m2 என்கிற இடத்திற்கு shift ஆகும். நான்காவது shift - ன் போது message bit ஆனது அழிந்துவிடும். இதன் மூலம் V, மற்றும் V2 என்பன m, m, மற்றும் m, ஆகியவைகள் சேர்ந்தது எனத் தெரிகின்றது.
Conclusionஒரு தனி message bit ஆனது முதல் shift-ன் போது 'm'-யிலேயே இருக்கும், இரண்டாவது shift-ன் போது "m,”-ல் இருக்கும் மற்றும் மூன்றாவது shift-ன் போது "m,"-ல் இருக்கும். இதன் மூலம் V, மற்றும் V2 என்கிற output-கள் கிடைப்பதற்கு தொடர்ச்சியாக மூன்று shift-கள் தேவைப்படுகின்றது. ஒரு தனி message bit ஆனது encoder-ன் output-ஐ வந்தடைவதற்கு (influence செய்வதற்கு) தேவைப்படுகின்ற shift-களின் எண்ணிக்கையானது ஒரு convolution code-க்கான "constraint length" எனப்படும். இது message bit-களின் மூலம் தெரிவிக்கப்படுகின்றது. இந்த code-க்கான அளவானது (n, k) என இருக்கும். இதில் k = encoder-யினால் ஒரு நேரத்தில் எடுக்கப்படுகின்ற message bit-களின் எண்ணிக்கை n message bit-களுக்காக encode செய்யப்படுகின்ற output bit-களின் எண்ணிக்கை.









Post a Comment