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: