№
5 практикалық тапсырмалар.
Тақырып: Бөгетке
тұрақты кодтауды үйрену
Мақсаты: Бөгетке тұрақты кодтауды үйрету.
ТЕОРИЯЛЫҚ МӘЛІМЕТТЕР
Бөгетке тұрақтылық – байланыс сызығында бар болатын бөгеттердің
шарты бойынша ақпараттарды және бұрмалауларды аппараттықтардың
даңғыл жолдарының ішінде қабылдауын жүйелі түрде
жүзеге асыру қабілеттілігі бар. Бөгетке тұрақтылық
жіберілетін ақпараттардың сенімділігін және нақтылығын
қамсыздандырады (деректердің). Біз негізінен екілік кодтарды анықтап
қараймыз. Екіліктегі (кодтар) деректер есептеуіш терминалдар арасында, ұшу
аппараттармен, серіктермен және т.б. арқылы беріледі.
Кодтық қиыстырудағы
қатесі бөгеттердің әсері астында басқа
элементтердің біреулерін ауыстыруы арқылы байқалады, сол
себепті екі элементті бұрмалауы кезінде 2-еселі қате көрінеді.
Мысалы, егер 0110111 кодтық қиыстыруы
0110111 арқылы қабылданса, онда орыны екі есе қате болады.
Бөгетке тұрақты
кодтау теориясы Шеннон арқылы жүргізілген және теорема түрінде
қалыптасқан зерттеулердің нәтижелерінде негізделеді:
1. Аздың немесе каналға
өткізу қабілеттілігі бойынша кез келген хабарламаның қайнар
өнімділігі арқылы хабарламаның барлық тапсыруды қамсыздандыруға
рұқсат ететін жасалынушы қайнарымен және сонша қате
үйлесімділігінің аз ықтималдылығы туралы кодтау тәсілі
бар болады.
2. Егер хабарламаның қайнар
өнімділігі көбінесе өткізу каналына қабілетті болса,
сонша қатені үйлесімді аз ықтималдылығымен хабарламаны
жіберуге мүмкіндік туғызуды жүргізу арқылы кодтау тәсілі
бар болмайды.
Теоремадан мынаны аламыз, каналға бөгеттерді хабарлау дәлдігіне
шек қоюларды таңылмайды. Тек қана қайсыда тапсыру сонша
үйлесімді биік анықтығы мүмкіндігіне қол жеткен
жылдамдығына ғана тапсыруға шек қойылады. Теорема ақпараттарды
идеалды жіберуін қамтамасыз етушілердің кодтарын құру
жолдары туралы сұрақты қозғамайды, бірақ сондай
кодтау принциптілік мүмкіншілігінде негізделген нақтылы кодтардың
өңдеуін жүргізуге рұқсат етеді.
Қате сонша үйлесімді
аз ықтималдылығына жететін тек белгілердің кодталған жүйеліктерінің
ұзақтық шексіз артуы жанында хабарламаны жіберу ақырғы
жылдамдық келгеніне шейін өткізу каналына қабілетті болады.
Олай болса, бөгеттердің бар болуын қатесіз тапсыру тек
теориялық жағынан ғана мүмкін.
Ақпараттардың ықтималдылықпен
өте аз қате арқылы жіберілуімен қамтамасыз етілуі және
белгілерді төтенше ұзын жүйеліктерімен кодтау кезінде
тиімділігінің биік болуы мүмкін. Практикада анықтық дәрежесі
және тиімділігі екі фактормен шектеледі:
1) кодтау аппаратуралық
мөлшері және құны арқылы декодтау;
2) уақытпен тапсырылған
хабарлау тоқтаулары.
Бөгетке
тұрақты кодтардың әртүрлілігі.
Табылу мүмкіншілігін және қателерді дұрыстауды қамтамасыздандыратын
кодтарды бөгетке тұрақты
деп атайды.
Бұл кодтар төмендегілер
үшін қолданылады:
1) қателердің дұрысталуы
– түзететін кодтар;
2) қателердің
табылуы.
Түзететін кодтар артық
кіріспесінде негізі салынған.
Анықтайтын
кодтар дегеніміз, қатені
мүмкіндігінше табатын кодтар, бірақ оны түзеу емес.
Қателердің қарапайым табылу тәсілі
дегеніміз екі негізгі биттердің жүйеліліктері модулі бойынша сомаға
тең болатын берілген тағыда бір биттердің бит-бит екенін мағынасы
бойынша жұптылыққа (тақтылыққа) тексеру жүйелігіне
қосу болып табылады. Тақтыққа тексеру жиірек ұйымдастырылады.
Жеті
биттік кодындағы ASCII символдық кодының k1 жұптылығын тексергеннен кейін
сегізінші биты қосылады.
S1 S2 S3 S4
S5 S6 S7 K1
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
Бірбитті
тексергенде кез келген жеке қатені айқындауға рұқсат
етеді, екі қатені айқындауға болмайды, ал жалпы жағдайда
кез келген қателердің тақ саны айқындалады.
Кодты қиыстырудың
артық салуы ұзындықтарының арту есебі бойынша ақпаратты
жіберудегі жылдамдықтарының төмендеуіне ертіп әкеледі.
Егер
жылдамдық каналды идеалды қолданса, онда
.
Егер кодты
қиыстыру n ұзындығымен k ақпараттықты
және m бақылау
разрядтарын құраса, онда
.
ASCII коды
үшін n = 8 және k
= 7
,
о.д.
кіріспенің байланыс канал өткізу қабілеттіліктерінің
артық бір разрядын 12,5%-ға азаюына ертіп әкеледі.
Барлық
шуылдар көбіне (найзағайлар, жарылу және т.б.) ұзын
пакеттердің қателерін және
жұп және тақ сандардың ықтималдылық
араларында қателерді бірдей туғызады, демек бірбитті тексеру де
тиімді емес.
Жұптылықты
тік және көлбеу арқылы тексеру. Берілген биттердің
жүйелілігі екі өлшем массиві арқылы қайта құрылады
және әрбір жолдар және дәл осылай әрбір бағандар
үшін биттердің жұптылығы есептеледі.
Егер олар
бірдей жолдар мен бағандарда орналаспаған жағдайда бірнеше қатені
анықтауға болады.
Көбіне
барлығы берілген ASCII кодын жіберген кезінде қолданылады; әрбір
символды массив жолымен есептеуге болады. Бұндай тексерулер қатенің
фактілерін ғана анықтай алмайды, бірақ та оның орнын
анықтай алады, демек оны дұрыстауға принципиалды мүмкіншілік
бар, бірақ бұл практикада қолданылмайды.
1 0
1 1 0 1 1 1
0 1 0 0 0 1 0 0
1 0 1 0 0 1 0 1
1 1 0 0 1 0 1 0
0 0 0 1 0 1 0 0
1 0 0 0 1 0 0
Кейде қателерді
тапқаннан кейін де хабарламаларды жіберуді қайталауға болады,
кейде қатені тапқаннан кейін екінші және тіпті хабарламаны
жібергенде үшінші әрекет арқылы да іске кіріседі. Бұндай
жағдайлар, дуплексті каналдарда ғана актуалды, мұндағы,
қатені табатын кодтарды (Feedback or Backward Error Control) қолдану
жеткілікті, дәл осылай қате
туралы сигнал беру туралы қайнар көзі арқылы қайтадан
жіберуге шақырады. Бұл ақпараттық желілерде қолданылатын
негізгі әдістерге жатады.
Жұптылыққа
тексеру аппараттықта да, бағдарламалық деңгей жағынан
да ЭЕМ-а кең қолданылады.
Мысалы, магниттік лента оқиғасы арқылы есептеген кезінде
жұптылық шарты орындалмаса, онда есептеу қайтадан жүргізіледі,
о.д. егер магниттенудің аз жоғалтуы болса, екінші әрекеттен
кейін есептеу дұрыс жүргізілуі мүмкін.
1
мысал: Әліпбидің қайнар символдары w = 3 салмақты кодты векторлар бойынша
жетінші разрядты екілік коды арқылы кодталады (бірліктер санындағы
кодтық қиыстырулар). Қажетті қуаттылық кодын және
оның артықтығын анықтау.
Шешімі: Жетінші разрядты кодтың
қуаттылығы N = 27 = 128 тең.
Кодтау үшін
тек қана үш салмақты кодтық векторлар қолданылса,
онда мұндай жетінші разрядты кодтың векторлары саны мынаған
тең
Кодтың
артықтылығы мынаған тең R = 1 – log2K/ log2N = 0,265.
Бөгетке тұрақты
кодтардың басым көпшіліктерінде олардың бөгетке тұрақтылықтары
алгебралық құрылыммен қамтамасыз етіледі. Сол себепті
оларды алгебралық кодтар деп
атайды.
Алгебралық кодтар екі классқа
бөлінеді:
1) блоктық;
2) үздіксіз.
n символынан тұратын хабарламаның әрбір әрібін блоктық кодтардың оқиғасы
бойынша кодтау процедурасы арқылы салыстыруға болады (немесе осы әріпке
сәйкес келетін k символының жүйеліліктері). Түрлендірулер
тек қана k символында көрсетілген операцияларда қатысуда қабылдайды
және шығарылатын жүйелілік жіберілетін хабарламалардың
басқа символдарына тәуелді болмайды.
Егер хабарламаның барлық
әріптері үшін n тұрақты болып қалған жағдайда
блоктық кодты біркелкі деп атайды.
Бөлінетін және бөлінбейтін
блоктық кодтар деп айрықшалайды. Шығарылатын жүйеліліктерді
бөлінетін кодтар арқылы кодтау кезінде рөлдері есеп бойынша
шек қойылған символдардан түзіледі. Бұндай ақпараттық
символдарға, кодер каналының кірісіне түсетін жүйелік
символдармен сәйкес келушілер және қателерді табу және
дұрыстау үшін қызмет ететіндер және кодер каналының
негізгі жүйелілігіне енгізілетін артық (тексерілетін) символдар
кіреді.
Бөлінбейтін кодтарды кодтау
кезінде кіріс жүйеліліктеріндегі символдарды ақпараттық және
тексерілетін етіп бөлу мүмкін емес.
Үздіксіздер (ағаш сияқтылармен)
деп сондай кодтарды атайды, оны тәуелсіз блоктарға бөлмейтін
ақпараттық символдардың кодталған жүйелілігіне
артық символдардың кіріспесі арқылы жүзеге асуы үздіксіз
болады. Үздіксіз кодтарда бөлінетін және бөлінбейтіндер
бола алады.