Sunday, May 23

ဒစ္ဂ်စ္တယ္ ဆက္သြယ္ေရးစနစ္ မိတ္ဆက္

ယေန႔ေခတ္ ဆက္သြယ္ေရးနဲ႔ သတင္းနည္းပညာ အခ်က္အလက္ အခန္းက႑မွာ Digital communication ဒစ္ဂ်စ္တယ္ ဆက္သြယ္ေရးစနစ္ ကုိ အသုံးမ်ားလာ ၾကပါတယ္။ ယေန႔ေခတ္ ဆုိေတာ့ အရင္ေခတ္က ဘာသုံးခဲ႔လုိ႔လ ဲဆုိတာ ေမးစရာ ျဖစ္လာပါတယ္။ အားလုံး သိၾကတဲ့အတုိင္း Analog - အင္နာေလာ့စနစ္ေပါ့။ ဘာျဖစ္လုိ႔ ဒစ္ဂ်စ္တယ္စနစ္ကုိ ေျပာင္းသုံး လာၾကသလဲ။ ဒစ္ဂ်စ္တယ္စနစ္ဟာ အင္နာေလာ့စနစ္ ထက္စာရင္ အဖက္ဖက္က အားသာေနလုိ႔ေပါ့ဗ်ာ။ ေဒတာေတြ ပုိ႔တဲ့ေနရာမွာေရာ၊ ဖမ္းတဲ့ေနရာမွာပါ တိက် ျမန္ဆန္ ေကာင္းမြန္လွပါတယ္။ ျပီးေတာ့ ဒစ္ဂ်စ္တယ္ ဆားကစ္ေတြဟာ အင္နာေလာ့ဆားကစ္ ထက္စာရင္ ပုံပ်က္ျခင္း(distortion) ၊ မလုိအပ္ေသာ အရာေတြ ၀င္ေရာက္ ေနွာက္ယွက္ျခင္း (interference) ေတြရဲ့ သက္ေရာက္မႈဟာ ေလ်ာ့နည္းပါတယ္။ ဒစ္ဂ်စ္တယ္ ဆားကစ္ေတြဟာ တည္ေဆာက္တာ လြယ္ကူတဲ့အျပင္ ေစ်းကလည္း ခ်ဳိေသးတယ္ခင္ဗ်။ တျခား အားသာခ်က္ကေတာ့ အမ်ားၾကီးက်န္ေသးတယ္။ ဒါေပမဲ့မေျပာေတာ့ပါဘူး။ ပထမဦးစြာ ေယဘုယ် ဒစ္ဂ်စ္တယ္ ဆက္သြယ္ေရးစနစ္အေၾကာင္းကုိ အၾကမ္းဖ်ဥ္း ေျပာျပလုိပါတယ္။

DCS မွာ ပထမဦးဆုံး ေပးလုိတဲ့ သတင္း အခ်က္အလက္ (imformation) ကုိ ဘုိင္နရီဂဏာန္းစနစ္ (bits) ကုိေျပာင္းလုိက္ပါတယ္။အဲဒီ process ကုိ formatting လုိ႔ေခၚပါတယ္။အဲဒီ process ကေနရလာတဲ့ bits ေတြကုိ အုပ္စုဖြဲ႔ျပီးတာ့ digital messages (သုိ႔) message symbols အျဖစ္သုိ႔ ေျပာင္းပါတယ္။ အခုနက ရလာတဲ့ message symbol m_i(i=1..M)တစ္ခုစီကုိ M member အေရအတြက္ရွိတဲ့ တိက်တဲ့ alphabet အစုတစ္ခုရဲ့ အစု၀င္အျဖစ္ သတ္မွတ္လုိ႔ရပါတယ္။[သေကၤတ m-i ကုိပုံမွာရွာျပီးၾကည့္ပါ။ ဘယ္လုိေရးရမွန္းမသိလုိ႔အဆင္ေျပသလုိေရးလုိက္တာပါ၊ ပုံမွာၾကည့္ရင္ ရွင္းသြားမွာပါ။ စာဖတ္သူကုိေတာင္းပန္ပါတယ္ဗ်ာ] ဥပမာအားျဖင့္ M က ၂ ျဖစ္ခဲ့မယ္ဆုိရင္ message symbol ဟာ ဘုိင္နရီျဖစ္မယ္။ (ဆုိလုိခ်င္တာက အဲဒီ message symbol ကုိ bit တစ္ခုနဲ႔ဘဲဖြဲ႔စည္းထားပါတယ္။ တကယ္လုိ႔ M ဟာ ၂ ထက္ၾကီးမယ္ဆုိရင္ေတာ့ symbol ေတြဟာ bit အေရအတြက္ ၂ နဲ႔အထက္ နဲ႔ဖြဲ႔စည္းထားတာေပါ့။ channel code (error correction code) ကုိအသုံးျပဳတဲ့ ဆက္သြယ္ေရးစနစ္မွာ ဆုိရင္ အခုနက message symbols ေတြရဲ့ sequence ကုိ channel symbols ေတြရဲ့ sequence အျဖစ္ ေျပာင္းရပါမယ္။ အခုအခ်ိန္အထိ ကၽြန္ေတာ္တုိ႔ရဲ့ ေဒတာေတြဟာ bits ပုံစံနဲ႔ဘဲ ရွိေနေသးတယ္။ ဒီပုံစံနဲ႔ transmission channel ေပၚကုိတင္လုိ႔မရပါဘူး။ အဲဒါေၾကာင့္ transmission channel ေပၚတင္လုိ႔ရေအာင္ modulation လုပ္ရပါမယ္။ pulse modulation ဆုိတာ ဘုိင္နရီအေနအထား ( voltage level 0 or 1) နဲ့ ရွိေနတဲ့ ေဒတာကုိ baseband waveform ျဖစ္ေအာင္ေျပာင္းေပးတာပါ။ baseband waveform ဆုိတာ spectrum တန္ဖုိး frequency 0 Hz နီးပါးကေန အနည္းငယ္ေသာMHz အထိရွိေသာ signal ကုိေခၚတာပါ။တကယ္လုိ႔ RF transmision မွာအသုံးျပဳတဲ့ စနစ္ဆုိရင္ေတာ့ bandpass modulation ထပ္လုပ္ရပါမယ္။ transmission medium (channel,etc) က pulse-like waveformေတြ ျဖတ္သန္းျခင္းကုိ ေထာက္ပံ့ျခင္းမျပဳတဲ့အခါမွာ bandpass modulation ကုိသုံးတယ္။ အဲဒီအခ်ိန္မွာmedium( channel ) ဟာ bandpass waveform ကုိလုိအပ္လာပါတယ္။ bandpass ရဲ့ frequency spectrum ဟာ baseband frequency spectrum ထက္မ်ားပါတယ္။ source coding ကေတာ့ အင္နာေလာ့ကေန ဒစ္ဂ်စ္တယ္ (A/D) ကုိ ေျပာင္းေပးျခင္းနဲ႔ မလုိအပ္တဲ့ သတင္းအခ်က္အလက္ေတြ ကုိ ဖယ္ရွားပစ္တာပါ။ Encrypt ကေတာ့ မသိေစခ်င္တဲ့သူေတြ မသိဖုိ႔အတြက္နဲ႔ သတင္းအမွားေတြကုိ ၀င္ေရာက္ မထည့္သြင္းနုိင္ေအာင္ ကာကြယ္ဖုိ႔အတြက္ပါ။ အဓိကကေတာ့ လုံျခဳံေရးအတြက္ပါ။ channel coding ကေတာ့ေပးထားတဲ့ ေဒတာ rate အတြင္းမွာ ျဖစ္နူိင္ေျခရွိေသာ အမွား (probability of error) ကုိ ေလ်ာ့ခ်ဖုိ႔ပါ။ multiplexing နဲ႔ multiple-access ကေတာ့ အျခားေသာ source ေတြကေန ေပၚေပါက္လာနုိင္တဲ့ signals ေတြကုိ ေပါင္းထည့္တာပါ။ အဲဒါမွသူတို႔ ဟာ communications resource (spectrum,time ) ရဲ့ အစိတ္ပုိင္းကို ရွယ္ယာေပးလုိ႔ရမွာပါ။ frequency spread ကေတာ့ သဘာ၀ အေနွာင့္အယွက္နဲ႔ တမင္တကာ ေနွာင့္ယွက္မႈေတြကုိ ကာကြယ္ေပးမယ့္ signal ကုိ ထုတ္ေပးတာပါ။ ဆက္သြယ္ေရး စနစ္ရဲ့ လုံျခဳမႈကုိ တုိးျမွင့္တာပါ။ တကယ္တမ္းက်ေတာ့ source coding , encrypt, channel coding, multiplexing and multiple-access ေတြကေတာ့ အရမ္းအေျခခံက်တဲ့အပုိင္းေတြ မဟုတ္ပါဘူး
Reciver အပုိင္းမွာေတာ့ transmitter အပုိင္းရဲ့ ေျပာင္းျပန္ေပါ့ေလ။ bandpass waveform ကေန demodulator နဲ႔ baseband waveform ရေအာင္ျပန္ေျပာင္းရတာေပါ့။detection ကေတာ့ ရလာတဲ့ baseband waveform ရဲ့ binary bit ေတြကုိ ျပန္လည္ ေဖာ္ထုတ္တာပါ။ အခုထိကၽြန္ေတာ္ေဖာ္ျပခဲ့တဲ့အပုိင္းကေတာ့ DCS စနစ္ရဲ့အၾကမ္းမ်ဥ္းအလုပ္လုပ္ပုံပါ။
တကယ္တမ္းက်ေတာ့ ကၽြန္ေတာ္တုိ႔ဟာ imformation signal ေတြကုိ ပုိ႔ခ်င္တဲ့ေနရာကုိ ဒီအတုိင္းပုိ႔လုိ႔ မရပါဘူး။ အဲဒီအတြက္ အသုံးျပဳမည့္ စနစ္ေတြနဲ႔ ကုိက္ညီေအာင္ signal ေတြကုိ လုိအပ္သလုိ ျပဳျပင္ရပါတယ္။ အဲဒါကုိ signal processing လုိ႔ေခၚပါတယ္။ signal processing မွာမွ analog signal processing နဲ႔ digital signal processing processing(DSP) ဆုိျပီးေတာ့ နွစ္မ်ဳိးရွိပါတယ္။ အခု ကၽြန္ေတာ္တုိ႔က DCS ကုိ အသုံးျပဳမွာ ျဖစ္တဲ့အတြက္ DSP အပုိင္းကုိဘဲ ေလ့လာ ၾကရေအာင္။


Formatting
Formatting ဟာ signal processing ရဲ့ ပထမဆုံးအဆင့္ပါဘဲ။ သူ႔ရဲ့ အဓိက ရည္ရြယ္ခ်က္ကေတာ့ ေပးပုိ႔လုိတဲ့ မူရင္း signalေတြကုိ ဒစ္ဂ်စ္တယ္ message သုိ႔ေျပာင္းရန္အတြက္ပါဘဲ။ မူရင္း signal မွာ digital imformation, texual imformation, analog imformation တုိ႔ပါ၀င္ပါတယ္။ formatting မွာ ပါ၀င္တဲ့ အပုိင္းေတြကေတာ့ character coding (formatting texual data), sampling, quantization, pulse code modulation (PCM) တုိ႔ျဖစ္ပါတယ္။
Digital imformation ကေတာ့ formatting လုပ္စရာမလုိပါဘူး။ texual imformation ကုိေတာ့ coder ကုိေတာ့အသုံးျပဳျပီးေတာ့ ဒစ္ဂ်စ္တယ္ဘုိင္နရီကုိ ေျပာင္းပါတယ္။analog imformation ကုိေတာ့ ပထမဦးစြာ sampling လုပ္တယ္။ ျပီးေတာ့ quantization လုပ္ပါတယ္။ ေနာက္ျပီးေတာ့ encode လုပ္ပါတယ္။ formatting လုပ္ျပီးလုိ႔ထြက္လာတဲ့ ရလဒ္ဟာ ဘုိင္နရီ ေတြရဲ့ sequence အေနနဲ႔ျဖစ္ပါတယ္။ ဒီရရွိလာတဲ့ ဘုိင္နရီဂဏာန္းေတြကုိ baseband channel (၀ါယာၾကဳိး၊ coaxial cable ) သုံးျပီးေတာ့ ပုိ႔ခ်င္တဲ့ေနရာကုိ ပုိ႔လုိ႔ရပါတယ္။ တကယ္တမ္း က်ေတာ့ baseband channel ေတြဟာ waveform ေတြကုိသာ လက္ခံ သယ္ေဆာင္ ေပးနုိင္တာပါ။ အဲဒါေၾကာင့္ ဒီဘုိင္နရီဂဏာန္းေတြကုိ waveform ျဖစ္ေအာင္ ေျပာင္းရပါတယ္။ Baseband channel နဲ႔အဆင္ေျပတဲ့ waveform ကေတာ့ pulses ေတြပါဘဲ။
ဘုိင္နရီဂဏာန္းကုိ pulse modulator ျဖင့္ pulse waveform သုိ႔ေျပာင္းပါတယ္။ အဆင့္သင့္ျဖစ္ျပီဆုိရင္ baseband channel ကေနတဆင့္ လုိခ်င္တဲ့ေနရာကုိ ပုိ႔ေတာ့ဗ်ာ။ baseband channel ကုိျဖတ္ျပီးေတာ့ receiver ကုိေရာက္လာတဲ့ pulse waveform ကုိ demodulate ျပန္လုပ္ရပါတယ္။ ျပီးေတာ့ အဲဒီ pulse waveform ကေန ျပီးေတာ့မူရင္း ဘုိင္နရီဂဏာန္းကုိ ရေအာင္ ျပန္လည္ ေဖာ္ထုတ္( detect) ပါတယ္။ အဲဒီကေနတဆင့္ formatting ရဲ့ ေျပာင္းျပန္ လုပ္ျခင္းအားျဖင့္ မူရင္း imformation signal ကုိျပန္လည္ရရွိပါတယ္။
Formatting texual Data (character coding)
ကၽြန္ေတာ္တုိ႔ ဆက္သြယ္ေရး ေလာကမွာ ဆက္သြယ္အသုံးျပဳေနတဲ့ ေဒတာေတြရဲ့ မူရင္းပုံစံေတြကေတာ့ texual ေဒတာ၊ အင္နာေလာ့ေဒတာ တုိ႔ျဖစ္ပါတယ္။ ကြန္ျပဳတာကေန ကြန္ျပဴတာ ကုိပုိ႔တဲ့ ေဒတာေတြကလြဲရင္ေပါ့ေလ။ texual data ဆုိတာကေတာ့ a,b,c… တို႔ပါ၀င္တဲ့ စကားစုပါ။ ဥပမာအားျဖင့္ hi, do, you, love, me ေတြေပါ့ေလ။ အဟဲ။ ကဲသူတုိ႔ကုိ ပထမဦးစြာ standard format တစ္ခုခုနဲ႔ ဘုိင္နရီဂဏာန္းရေအာင္ encode လုပ္ပါတယ္။ standard format ေတြကေတာ့ ASCII,EBCDIC,Baudot စသျဖင့္ေပါ့ေလ။ character coding လုပ္တဲ့ေနရာမွာ အသုံးမ်ားတဲ့ ASCII format ကုိေအာက္မွာေဖာ္ျပထားပါတယ္။

texual imformation တစ္ခုကုိဘယ္ကုိ formatting လုပ္တယ္ဆုိတာကုိ ေလ့လာၾကပါစုိ႔။
Texual messages(texual data) ဟာ အထက္မွာ ေဖာ္ျပခဲ့တဲ့အတုိင္းဘဲ alphanumeric characters ရဲ့ sequence ေတြပါဘဲ။ သူတုိ႔ကုိ ဒစ္ဂ်စ္တယ္နည္းအရ transmitted လုပ္မယ္ဆုိရင္ ပထမဦးစြာ character ကုိ sequence of bits သုိ႔ encoded လုပ္ရပါတယ္ ။ အဲဒီကရလဒ္ကုိ bit stream or baseband signal လုိ႔ေခၚပါတယ္ ။ finite symbol set တစ္ခုျဖစ္တဲ့ M = 2^k ကေန k –bits နဲ႔ အုပ္စုေတြကုိ ဖြဲ႔စည္းပါတယ္။ အဲဒီအုပ္စုေတြကေန symbols အသစ္ေတြရလာေအာင္ ေပါင္းစပ္ႏုိင္ပါတယ္။ ေအာက္က ဥပမာကုိ ၾကည့္ရင္ရွင္းသြားမွာပါ။ M symbol set size သုံးတဲ့ စနစ္ကုိ M- array system လုိ႔ေခၚပါတယ္ ။ ဒစ္ဂ်စ္တယ္ဆက္သြယ္ေရးစနစ္ရဲ့ ဒီဇုိင္းမွာ k နဲ႔ M ရဲ့ တန္ဖုိးဟာ အေရးၾကီးပါတယ္။ k=1 အတြက္ဆုိရင္ M=2 ျဖစ္တဲ့အတြက္ ဒီစနစ္ကုိ ဘုိင္နရီ လုိ႔သတ္မွတ္ပါတယ္။ အဲဒီ ဘုိင္နရီစနစ္မွာ waveform ႏွစ္ခုရွိပါတယ္။ ဒီအေျခအေနမွာ modulator ဟာ 1 ကုိေဖာ္ျပဖုိ႔အတြက္ waveforms 2 ခုရွိတဲ့အထဲက တစ္ခုခုကုိသုံးရပါမယ္။ေနာက္ waveform တစ္ခုက 0 ကုိ ေဖာ္ျပတာေပါ့။ k= 2 အတြက္ဆုိရင္ M=4 ျဖစ္တဲ့အတြက္ ဒီစနစ္ကုိ quateranry (သုိ႔) 4-ary လုိ႔ေခၚပါတယ္။ symbol time တစ္ခုမွာ modulator ဟာ waveforms ေလးခုထဲက symbol ကုိ ကုိယ္စားျပဳတဲ့ တစ္ခုကုိ အသုံးျပဳမွာပါ။ ကဲ bits ရဲ့ sequence ကုိ အုပ္စုဖြဲ႔ၾကည္႔ၾကရေအာင္။ ASCII code ျဖင့္ေျပာင္းလုိ႔ရလာတဲ့ texual message ရဲ့ bit sequence ေတြကုိ အုပ္စုတစ္ခု မွာ ဘယ္ နွစ္လုံးနဲ႔ ပုိင္းမယ္ဆိုတာကုိ M က ဆုံးျဖတ္ေပးတာပါ။ ဆုိလုိခ်င္တာက ကၽြန္ေတာ္တုိ႔က binary digits ကုိသုံးမွာလား။ ဒါမွမဟုတ္ 8-ary digits ကုိ သုံးမွာလား။ အဲဒီအေပၚမွာ မူတည္ျပီးေတာ့ k=logM(log ရဲ့ base က 2 ပါ) ကေနျပီးေတာ့ k တန္ဖုိးကုိ ရလာပါတယ္။ k တန္ဖုိးဟာ bit ဘယ္နွစ္လုံးနဲ႔ ုိအုပ္စုတစ္စုဖြဲ႔ရမယ္ဆုိတာကုိ ဆုံးျဖတ္တာပါ။



ဥပမာ --
Texual message ကုိ THINK ဆုိပါစုိ႔။ ဒစ္ဂ်စ္တယ္ ဂဏာန္းကုိ ေျပာင္းတဲ့ေနရာမွာ
6-bit ASCII character coding ကုိ သုံးမယ္ ။ (အေပၚမွာ ASCII table ကုိေဖာ္ျပထားပါတယ္။) T ဆုိတဲ့ စာလုံးတစ္လုံး က bit အေရအတြက္ 6 လုံးဆုိေတာ့ THINK က 5 လုံးဆုိေတာ့ 6*5=30 ေပါ့။ ဆုိလုိခ်င္တာက THINK ဆုိတဲ့ စကားလုံးကေန ဂဏာန္းအေရအတြက္30 လုံးရပါတယ္။ ဒီေနရာမွာ k နဲ႔ M တန္ဖုိးကုိ သတ္မွတ္ဖုိ႔လုိပါမယ္။ M ကုိ 8-ary digit သုံးတယ္ဆုိပါစုိ႔။ k=logM(log ရဲ့ base ကေတာ့ 2 ပါ) အရ k တန္ဖုိးဟာ 3 ျဖစ္သြားမယ္။အခုနက ရလာတဲ့ အလုံး 30 ကုိ k=3 နဲ႔လုိက္ပုိင္းေတာ့ 10 အုပ္စု ရလာမယ္။ အဲဒီ ၁၀ ခုဟာ transmitted လုပ္မည့္ 10 octal symbols ကို ကုိယ္စားျပဳပါတယ္။ transmitter မွာ ျဖစ္နုိင္ေျခရွိတဲ့ symbols ေတြကုိ ကုိယ္စားျပဳဖုိ႔ waveforms s_i(t) ( i=1,…..,8 ) 8 ခု ရဲ့ အစု (set) ရွိရမယ္။ symbol time တစ္ခုအတြင္းမွာ အဲဒီ ျဖစ္နုိင္ေျခရွိတဲ့ symbols ေတြထဲက symbol တစ္ခုကုိ transmit လုပ္မွာျဖစ္တယ္။ ပုံရဲ့ ေနာက္ဆုံးက မွာ THINK ဆုိတဲ့ message ကုိ လႊင့္ဖုိ႔အတြက္ 8-ary modulating systme ကုိသုံးတဲ့ waveforms ၁၀ ခုကုိေဖာ္ျပထားပါတယ္။
ေနာက္ ဥပမာ တစ္ခုက
Texual message က HOW ဆုိပါစုိ႔
6 bit ASCII code ကုိသုံးျပီးေတာ့ character ကေနျပီးေတာ့ bit sequence ကုိ ေျပာင္းပါတယ္ ။
4-ary digits ကုိသုံးၾကမယ္ဆုိပါစုိ႔။ ဒါဆုိရင္ k တန္ဖုိးဟာ k=logM(base ကေတာ့ 2)= 2 ျဖစ္ပါတယ္ ။ symbols ေပါင္း 9 ခုရပါတယ္။ အဲဒီ symbol 9 ခုဟာ transmitted လုပ္မဲ့ quateranry symbols ေတြျဖစ္ပါတယ္။ တယ္။ transmitter မွာ ျဖစ္နုိင္ေျခရွိတဲ့ symbols ေတြကုိ ကုိယ္စားျပဳဖုိ႔ waveforms s_i(t) ( i=1,…..,4 ) 8 ခု ရဲ့ အစု (set) ရွိရမယ္။ symbol time တစ္ခုအတြင္းမွာ အဲဒီ ျဖစ္နုိင္ေျခရွိတဲ့ symbols ေတြထဲက symbol တစ္ခုကုိ transmit လုပ္မွာျဖစ္တယ္။ ပုံရဲ့ ေနာက္ဆုံးက မွာ HOW ဆုိတဲ့ message ကုိ လႊင့္ဖုိ႔အတြက္ 4-ary modulating system ကုိသုံးတဲ့ waveforms 9 ခုကုိေဖာ္ျပထားပါတယ္။



ကဲ စာဖတ္ ပရိသတ္မ်ား LOVE ဆုိတဲ့ စကားလုံး ကုိ ပုိ႔ၾကည့္ၾကေပေတာ့ ဗ်ာ။

No comments: