Лекция 1 Ақпарат теориясы ақпараттық жүйелерді сипаттаудың сапалы және сандық әдістері негізі ретінде. Ақпаратты өлшеу


Лекция 10 Байланыс пен каналдың салыстырмалы сипаттамалары



бет17/17
Дата07.02.2022
өлшемі1,34 Mb.
#24957
түріЛекция
1   ...   9   10   11   12   13   14   15   16   17
Байланысты:
6-Лекция

Лекция 10

Байланыс пен каналдың салыстырмалы сипаттамалары.

1.LZ77, сөздіктің ұзындығы – 8 байт(символдар). Сығылған хабардың коды - <0,0, «К»> <0,0, «Р»> <0,0, «А»> <0,0, «С»> <0,0, «Н»> <5,1, «Я»> <0,0, « »> <0,0, «К»> <0,4,«К»> <0,0, «А»>.




Бастапқы код

Баспа

Сөздік

<0,0, «К»>

«К»

«. . . . . . . К»

<0,0, «Р»>

«Р»

«. . . . . . КР»

<0,0, «А»>

«А»

«. . . . . КРА»

<0,0, «С»>

«С»

«. . . . КРАС»

<0,0, «Н»>

«Н»

«. . . КРАСН»

<5,1, «Я»>

«АЯ»

«. КРАСНАЯ»

<0,0, « »>

« »

«КРАСНАЯ »

<0,4, «К»>

«КРАСК »

«АЯ КРАСК»

<0,0, «А»>.

«А»

«Я КРАСКА»

2. LZSS, сөздіктің ұзындығы – 8 байт(символ). Сығылғын хабардың кодтары -

0«К» 0«Р» 0«А» 0«С» 0«Н» 1<5,1> 0«Я» 0« » 1<0,4> 1<4,1> 1<0,1>.


Бастапқы код

Баспа

Сөздік

0«К»

«К»

«. . . . . . . К»

0«Р»

«Р»

«. . . . . . КР»

0«А»

«А»

«. . . . . КРА»

0«С»

«С»

«. . . . КРАС»

0«Н»

«Н»

«. . . КРАСН»

1<5,1>

«А»

«. . КРАСНА»

0«Я»

«Я»

«. КРАСНАЯ»

0« »

« »

«КРАСНАЯ »

1<0,4>

«КРАС »

«НАЯ КРАС»

1<4,1>

«К»

«АЯ КРАСК»

1<0,1>

«А»

«Я КРАСКА»

3. LZ78, сөздіктің ұзындығы – 16 жол. Сығылғын хабардың кодтары -



<0 ,«К»> <0 ,«Р»> <0 ,«А»> <0 ,«С»> <0 ,«Н»> <0 ,«Я»> <0 ,« »> <1 ,«Р»> <3 ,«С»> <1 ,«А»>.


Бастапқы код

w үшін код

Сөздіктің орны




« »

0

<0 ,«К»>

«К»

1

<0 ,«Р»>

«Р»

2

<0 ,«А»>

«А»

3

<0 ,«С»>

«С»

4

<0 ,«Н»>

«Н»

5

<З ,«Я»>

«АЯ»

6

<0 ,« »>

« »

7

<1 ,«Р»>

«КР »

8

<3 ,«С»>

«АС»

9

<1 ,«А»>

«КА»

10

4. LZW,сөздіктің ұзындығы – 8 байт(символ). Сығылғын хабардың кодтары -

0«К» 0«Р» 0«А» 0«С» 0«Н» 0«А» 0«Я» 0« » <256> <258> 0«К» 0«А».

Сығылған ақпаратты қалпына келтіру кезінде келесі ережені есте сақтаған жөн. Ағымдағы кодтан кейінгі келетін алғашқы символдан есептелген соң сөздік толады. Бұл ереже wКwК түріндегі хабарды кері кодтау кезінде шексіз циклдың болмауын қамтамасыз етеді, мұндағы w – жол, ал К – символ. Мұндай хабарға мысал ретінде жұптары бұрын кездеспеген үш бірдей символдың тізбегін қарастыруға болады.



Кодталатын код

Баспа

Сөздік

Сөздіктің орны







ASCII+

0-255

0 «К»

«К»

«КР»

256

0 «Р»

«Р»

«РА»

257

0 «А»

«А»

«АС»

258

0 «С»

«С»

«СН»

259

0 «Н»

«Н»

«НА»

260

0 «А»

«А»

«АЯ»

261

0 «Я»

«Я»

«Я »

262

0 « »

« »

« К»

263

<256>

«КР »

«КРА»

264

<258>

«АС»

«АСК»

265

0 «К»

«К»

«КА»

266

0 «А»

«А»









Архиватор-программаларлың ерекшеліктері
Егер LZ түріндегі алгоритм кодын Хаффмен алгоритмы немесе арифметикалық алгоритм бойынша кодтаса, алынған екіқадамдық(конвейерлік) алгоритм GZIP, ARJ, PKZIP программаларының көмегімен сығылатын нәтижелерді алуға болады.

Сығудың басым бөлігі қосөтпелі алгоритмдердің көмегімен алынады, мұндай алгоритмдер бастапқы берілгендерді екі рет сығады,бірақ олар дараөтпелі алгоритмдерге қарағанда екі есе баяу жұмыс жасайды.

Архиватор-программалардың басым бөлігі әр файлды жеке-жеке сығады, дегенмен кейбіреулері жалпы ағындағы файлдарды бірден сығады, бірақ мұндай жағдайда алынған архивпен жасалатын жұмыстар күрделеніп, сығу дәрежесі жоғарылайды, мысалға, архивтегі файлды жаңа түріне алмастыру үшін ағымдағы архивтің барлығын керікодтау қажет. Жалпы ағындағы файлды бірден сыға алатын программаларға мысал ретінде RAR программасын қарастыруға болады. Unix оперциялық жүйесінің архиваторлары(gzip, bzip2,…) айтарлықтай барлық жағдайда жалпы ағындағы файлдарды бірден сығады.

1992 жылы Web Technologies фирмасы DataFiles/16 жаңа сығу программасы туралы жариялады, ол программаның көмегімен 1024 байтқа дейінгі кез-келген ақпарат көлемін сығуға болады. Бұл туралы Byte журналында жарияланған болатын.

Әрине ешбір алгоритм қандай да бір болмасын ақпарат түрін тығыздай алмайды. Бұған дәлел ретінде келесідей экспериментті ойша жүргізейік. Компьютердің винчестерінде ұзындығы 100 байтқа тең екі түрлі файлдар сақталған болсын.(мұндай файлдардың жалпы саны 2800). Осы файлдардың әрқайсысын кем дегенде 1 байтқа кішірейтетін берілгендерді сығу программасы бар делік. Мұндай жағдайда ұзындығы 100 байттан кіші болатын файлдардың жалпы саны 1+28+216+...+2792=(2800-1)/255<2800 кем болады, сондықтан екі әртүрлі файлды бірдей файлға жинау мүмкін емес. Қорыта айтқанда, барлық ақпаратты сыға алатын программалар жоқ деп айтуымызға болады.

Архиватор-программасының көмегімен қолдану алдында архивтелген файлдарды қайта қалпына келтіретін форматтағы файлдар әдеттегідей файл атының кеңейтілуімен анықталады.




Кеңейтілуі

Программалар

Кодтау түрі

Z

compress

LZW

arc

arc,pkarc

LZW,Хаффмен

zip

zip,unzip,pkzip







pkunzip

LZW,LZ77,Хаффмен, Шеннон-Фэно

gz

gzip

LZ77, Хаффмен

bz2

bzip2

Берроуза-Уиллер, Хаффмен

arj

arj

LZ77, Хаффмен

ice,lzg

lha,lharc

LZSS, Хаффмен

pak

pak

LZW

Графикалық ақпаратты сақтауға арналған файлдардың барлық форматы ақпаратты сығуды қолданады. Графикалық форматтағы файлдар файл атының кеңейтілуімен анықталады.

Келесі кестеде графикалық файлдардың кейбір кеңейтілулері мен оларға қолданылатын ақпаратты сығу әдістері келтірілген.


Кеңейтілуі

Кодтау әдісі

gif

LZW

jpeg,jpg

Сығу кезінде ақпараттың жойылуы,Хаффмен немесе арифметикалық алгоритмдер

bmp,pcx

RLE

tiff,tif

CCITT/3 факстерге арналған, LZW және басқалары

RLE көмегімен сығу (Run Lenth Encoding – айнымалы ұзындықты кодтау) – қарапайым сығу әдісі, көпшілік жағдайда онша тиімді емес, бірақ графикалық ақпараттар үшін жақсы нәтижелер береді. Ол келесі байтты неше рет қайталау керектігін анықтайтын арнайы код-маркерді бөліп алуға негізделген.

Сығу және оны қайта қалпына келтіру қазіргі уақытта ақпаратты тасымал- даушыларды тығыздауға арналған драйвер-программалар үшін қолданылады. Мұндай программаларға MS-DOS және Microsoft Windows-қа арналған DriverSpace программасы жатады.

Сығу кезіндегі ақпараттың жойылуы

Жоғарыда қарастырылған ақпаратты сығу алгоритмдері бастапқы берілгендерді қайта қалпына келтіруге мүмкіндік беретін еді. Бірақ кейбір жағдайларда сығу дәрежесін жоғарылату үшін бастапқы берілген ақпараттың кей бөлігін алып тастауға болады, яғни мұндай сығулар ақпараттың жойылуына әкеліп соқтырады. Әрине, сығудың бұл түрін банктың қаржылық деректер қорына қолдануға болмайды. Бірақ сапалық бағалау үшін(әдетте бұл аналогтық ақпарат) қолданылатын ақпаратты сығу кезінде ақпаратты жою арқылы сығу өте тиімді болып табылады.

Ақпаратты жою арқылы сығу 3 түрлі ақпарат түрлеріне қолданылады: толықтүсті графика(224≈16 млн түс) , дыбыс және видеоақпарат.

Ақпаратты жою арқылы сығу 2 этапта жүргізіледі. Бірінші этапта бастапқы ақпаратты(жойылатын) 2-этаптың алгоритмімен(сығу кезінде ақпарат жойылмайды) тиімді түрде сығуға болады.

Графикалық ақпаратты сығу кезінде ақпарат жойылуының мәні мынады. Суреттегі әрбір нүкте 3 атрибут арқылы сипатталады: түс, оның қанықтығы және суреттің ашықтығы. Бірақ адамның көзі бұл 3 атрибутты бірдей етіп көре алмайды. Көз суреттің ашықтығы туралы ақпаратты толығымен түсініп, әлдеқайда төмен дәрежеде оның түсі мен қанықтығын қабылдайды, бұл соңғы екі атрибут туралы ақпаратты суреттің сапасын төмендетпей жоюға мүмкіндік береді. Көрудің бұл қасиеті ақ-қара суретті түрлі түске бояйтын түрлі-түсті теледидарда қоднылады.

Графикалық ақпаратты жою арқылы сығудың 90-жылдардың соңына қарай жалпы стндарты орнатылды – JPEG форматы(Joint Photographic Experts Group – өңдеушілердің аттарының бірігуінен пайда болған). Сапаның жойылу дәрежесін енгізу арқылы сығу дәрежесін реттеуге болады.

Видеоақпаратты сығу фильмнің бір кадрынан екішісіне көшу кезінде экран бетінде әдетте ешнәрсенің өзгермеуіне негізделген. Осылайша сығылған ақпарат кейбір базалық кадрлардың жазбасы мен олардағы өзгерістердің ретімен анықталады. Осыдай жолмен сығылған ақпаратты басқа әдістермен ары қарай да сығуға болады. Видеоберілгендерді сығудың бірдей стандарты болмағанымен MPEG(Motion Picture Experts Group) стандарты кең көлемде қолданылады, олардың алғашқысы 1988 жылы жарияланды. MPEG – CD-ROM мен DVD-ROM-ға бейнелік және дыбыстық ақпараттарды жазу кезінде қолданылатын жалғыз формат десе де болады. Видеоақпаратты 100 және одан көр есе өте тығыз сығуға болады, бұл мысал үшін бір видеокассетаға бірнеше көркем фильмдерді жазуға мүмкіндік береді. Интеллектуалдық меншіктің құқықтарынан туындайтын қиындықтарға байланысты ақпаратты осындай жолмен сығу өте сирек қолданылады.

Дыбыстық ақпаратты сығудың бірнеше стандарты бар. Оладың ішіндегі кең таралғаны – видеоберілгендерсіз қолданылатын MPEG. LPC стандарты(Linear Predictive Coding) сөздерді сғуүшін қолданылады. LPC алгоритмы адамның сөйлеген сөзін үлгілеуге тырысады.


Лекция 11

Кодтау теориясының жалпы түсініктері. Шеннонның кодтау туралы фундаменталды теоремалары

Ақпараттық канал дегеніміз – ақпарат алмасуы кезінде ақпараттың қайнар көзінен(каналдың бастапқы құрылғысы) оны қабылдауға дейінгі(каналдың соңғы құрылғысы) қолданылатын байланыс жолдарын қосатын құрылғылардың жиынтығы.



Байланыс жолдары канал құрылғыларының арасындағы ақпараттық сигналдың өтуін қамтамасыз етеді. Әдетте ақпарат электрлік тоқтың, жарықтың(оптоталшық), радиодиапозонның электромагниттік толқындарының(кеңістікте) көмегімен және де өте сирек жағдайларда дбыстың(тығыз ортада: атмосфера, ауа және т.с.с.) көмегімен беріледі.

Канал құрылығысы дегеніміз – қабылданған сигналды өткізетін репитерлер. Жоғары жылдамдықпен кодтау/кері кодтау кезінде канал құрылғыларына кодерлерді/ декодерлерді жатқызуға болады, әдетте кодер мен декодерді ақпаратты жібергіш және қабылдағыш ретінде қарастырады.

Каналдың техникалық сипаттамалары оған жататын құрылғының жұмыс жасау принципіне, сигнал түріне, қасиеттеріне және физикалық ортасына байланысты анықталады.

Канал тиімділігі ақпаратты өткізу жылдамдығы мен құрылғы жұмысының тиімділігемен, сигнал кідірісімен анықталады.

Сигнал кідірісі – сигналды жіберу мен оны қабылдауға кететін уақыт аралығы.

Математикалық түрде канал мүмкін болатын хабардың жиынтығымен, келген х сигналы үшін жіберілетін у сигналын қабылдаудың шартты ықтималдықтарының Р(у/х) жиынымен анықталады.Шартты ықтималдықтар жіберу кезіндегі сигналды тежейтін «шуылдардың» статистикалық қасиеттерін бейнелейді. у=х үшін Р(у/х) =1 және у≠х үшін Р(у/х) =0 болған жағдайдағы канал «шуылсыз» деп аталады. Кіретін және шығатын сигналдың құрылымына сәйкес каналдар дискреттік және шексіз болып екіге бөлінеді. Дискреттік каналдарда кіретін және шығатын сигналдар бір немесе екі алфавиттің символдарының тізбегі ретінде келтіріледі. Шексіз каналдарда кіретін және шығатын сигналдар шексіз уақыт-параметрінен табылатын функция ретінде беріледі. Сонымен қатар аралас және гибриттік каналдар да кездеседі, мұндай жағдайда оның шексіз және дискреттік компоненттерін жеке-жеке қарастырады. Әрмен қарай дискреттік каналдар қарастырылады.



Каналдың ақпаратты өткізу мүмкіндігі санмен сипатталады - өткізу мүмкінді -гі(белгілеуі – С).

Канал шуылсыз болған жағдайда каналдың өткізу мүмкіндігі мынадай түрде болады: , мұндағы - Т уақытында берілетін барлық мүмкін сигналдарыдң саны.

Мысал. Шуылсыз каналдың алфавиті екі символдан тұрсын – 0 және 1, әрқайсысының ұзақтығы τ. Т уақытында n=T/ τ сигналдары өте алады. n ұзындығымен берілетін хабардың жалпы саны 2n. Бұл жағдайда бод.

8-суретте схемада мысалдағы сипаттамалармен анықталатын канал арқылы ақпараттың өті процессі келтірілген.



Мұнда кодтау үшін сигналдың мынадай деңгейлері қолданылады: 0 үшін төменгі және 1 үшін жоғарғы . Бұл әдістің кемшілігі не бірыңғай нольдерді, не бірыңғай бірлерді өткізу кезінде байқалады. Сонымен қатар, көпшілік жағдайда ақпаратты магниттік тасымалдаушылар сигналдың тұрақты деңгейін ұзақ уақыт ұстап тұра алмайды.


0 0


8-сурет
Ақпараттың алмасуы үшін әдетте басқа әдіс қолданылады, бұл әдіс бойынша 0 мен 1 бейнелеу үшін екі түрлі жиілік қолданылады – олар жиіліктік модуляция деп аталады(ЖМ немесе FM).
1

9-сурет


Осылайша, мұндай кодтау арқылы 1 сигналының ұзақтығы τ болса, 0 үшін 2 τ болады.

Осы каналдың көлемін есептейік. Яғни есептеу қажет. болсын, сонда n ұзындықты кесіндіні 2 және 1 ұзындықты қанша кесіндіге бөлуге болатынын анықтау қажет., мұндағы алғащқы қосынды – n ұзындықты кесіндіні 1 ұзындықты кесіндіге қанша әдіспен бөлуге болатынын анықтайды, ал екінші қосынды – n(n-2) ұзындықты кесіндіні 1 ұзындықты кесіндіге қанша әдіспен бөлуге болатынын анықтайды, ал үшінші қосынды - n(n-4) ұзындықты кесіндіні 1 ұзындықты кесіндіге қанша әдіспен бөлуге болатынын анықтайды.Нәтижесінде, болады. Кез-келген үшін екендігі белгілі болса:



Яғни , мұндағы n>1. Егер болса, - 1,1,2,3,5,8,13,21,34,..., сандарының тізбегі, яғни Фибонначи сандары. ХІХ ғасырдан бастап Фибонначи тізбегінің n-мүшесін есептеу үшін мынадай формула қолданылады:



Осылайша, бод.

Практикада жиіліктік модуляцияны қолданған кезде нольдер екі есе тығыз кодталады. Бұл кодтау сигнал деңгейінде емес, полярлық деңгей ескерілгенде жүзеге асады. Егер ν жиілігі 1-ге сәйкес келсе, онда 2 ν жиілігімен сигналдың деңгейі тексеріледі. Егер ол ауысса, онда ол 1 сигналы, кері жағдайда – 0 болады. Практикада ν жиілігі – синхронизация жиілігі, яғни берілгендерден тәуелсіз сигналдың полярлығы ауысатын импульс жиілігі. 0 полярлықтың ауысу импульсын өңдей алмайды, ал 1 өңдейді (10-суретке қараңыз).


t


S D S D S D S D S D S D S D S D S D

10-сурет

Алғашқы магниттік дискілер мен ленталарға ақпаратты жазу үшін FM әдісі қолданылады. «3.5» пен «5.25» дискілеріне ақпарат MFM(Modified FM) әдісімен жазыалды - FM әдісінің мдификациясы, ол жазбаның тығыздығын екі есе арттырады. Осының нәтижесінде синхронизация жиілігі екі есе үлкейеді. Синхронизация импульсы 1 мен 0 алдында берілмейтіндіктен MFM әдісі FM әдісінің барлық физикалық каналдарын қолданады(11-суретті қараңыз).


t


S D S D S D S D S D S D S D S D S D


11-сурет

RLL – Run Limited Lenth жазбаларды жалпылай көшіру синхронизация импульсын қолданбайды, көпшілік жағдайда «винчестерлерде» пайдаланылады және оның бірнеше түрлері бар. Олардың бірі байттарды 5-биттік топтарға алмастыруға негізделген. Ол топтар ақпарат алмасуы кезінде нольдер қатарынан екі рет қана кездесетіндей етіп іріктеледі. Бұл кодтың өздігінен синхронизациялануына мүмкіндік берді. RLL-дің өзге де түрлері бар, оларда әртүрлі ұзындықты биттердің реті алмастырылады. MFM және FM әдістерімен кодтауды RLL-дің дербес жағдайлары ретінде қарастырылады.


t


1 1 0 1 0 1 1 0 1 1



12-сурет
Осы канал арқылы қандай да бір кодтың көмегімен жазылған хабарды мүмкін болатын каналдың сигналына түрлендіру қажет, ал ақпарат қабылданған кезде ол кері кодталады. Кодтауды ақпарат алмасуына кететін уақыт неғұрлым аз болатындай етіп жасаған дұрыс. Жоғарғы жылдамдықты ақпарат алмасуын қамтамасыз ететін бастапқы алфавитке жаңа алфавит меншіктеледі.

Ақпарат алмасу теориясының негізгі факты немесе кодтаудың негізгі теоремасы жіберушінің энтропиясы мен канал көлемі белгілі болған жағдайда каналдағы ақпарат алмасуының ең максималды жылдамдығын есептеуге мүмкіндік береді.

Шеннон теоремасы. Бастапқы берілген ақпарат Х дискретті кездейсоқ шамасы болсын. Шуылы бар канал қарастырылсын, яғни әрбір берілетін ақпарат үшін ақпарат алмасу кезіндегі оның тежелу ықтималдығы ε белгілі болсын. Сонда Х-тен тәуелді болатын u жылдамдығы болады, сондықтан Х мәні жылдамдығымен және ε ықтималдығымен беріледі, мұндағы .

Сонымен қатар, шуылмен кодтаудың кері теоремасын Фэн дәлелдеген. үшін байланыс каналы бойынша кодтаудың және кері кодтаудың кез-келген әдісі үшін хабардың әрбір символын жылдамдығымен және ε қателік ықтималдығымен алмастыру кезінде ε кіші болады( өскен сайын ε да өседі ).

Шуылдан қорғайтын кодтау
Шуылдан қорғайтын қарапайым кодтау – модемдерде кеңінен қолданылады. Бұл кодтаудың негізгі мәні – алдын-ала таңдалған жұп немесе тақ кодтың мәні үшін байттағы бірліктер санын толықтыратындай әрбір байтқа тоғызыншы битті қосу.Осы кодты пайдалану арқылы көптеген қателіктерді байқауға болады.

Қателерді түзейтін ең қарапайым код - әрбір битті 3 рет қайталау. Егер 3 биттің біреуінің алмасуы кезінде қате кететін болса, ол түзеледі, бірақ ол кемшілік екі немесе үш рет қайталанатын болса, алынған ақпарат дұрыс емес болып табылады. Қателерді түзететін кодтар көбінесе қателерді анықтайтын кодтармен бірге қолданылады. Тиімділікті жоғарылату мақсатымен үшреттік қайталау кезінде ол үш битті қатарынан орналастырмай бір-бірінен бекітілген ара-қашықтықта орналастырады. Үшреттік қайталануды қолдану кезінде ақпарат алмасуының жылдамдығы айтарлықтай төмендейді.

Қос симметриялық канал 13-суретте келтірілген, мұндағы p – бит алмасуындағы қателердің болмауының ықтималдылығы, ал g - бит алмасуындағы қателердің болуының ықтималдылығы. Мұндай каналдарда қателер бір-бірінен тәуелсіз кездеседі. Ары қарай тек осындай каналадр қарастырылады.

13-сурет



Қос симметриялық код Бернулли схемасын жүзеге асырады, сондықтан қос симметриялық канал бойынша n битті К қателігімен жіберу ықтималдылығы .

Мысал. Ақпараттың 1 битін қатемен жіберудің ықтималдылығы g=0.01 болса 1000 битті жіберу кезіндегі қателердің болмау ықтималдылығын анықтауымыз қажет. Ізделінді ықтималдылықты мына формула бойынша есептеуімізге болады:



Яғни мұндай ықтималдылық өте кішкентай болып табылады.

Мұндай ықтималдықтардың аз болуы үшін арнайы кодтарды қолдану қажет. Әдетте шуылдан қорғайтын систематикалық кодтар пайдаланылады. Систематикалық кодтардың негізгі мәні – алғашқы кодтың символдарына кодтаудың арнайы схемасы бойынша бірнеше бақылау символдарын қосу. Кодтардың мұндай ұзартылған реті бастапқы жіберілгендерді кері кодтаудың схемасы бойынша кері кодталады.

Ұзартылған кодтардың құрамындағы ақпаратты сараптау арқылы шуылдың әсерінен болған қателерді әрі танып, әрі түзеуге болады.



Жұпталған код(m,n) схемасы мен кері кодтау жұбы аталады. Мұндағы - m
D және Е функциялары болатындай етіп таңдалады, мұндағы Т – қателіктер функциясы. D және Е функциялары қатесіз деп танылады, яғни функциялары тең болады деген сөз (14-суретті қараңыз).
E D T

Алғашқы → Хабарды → Қабылданған → Кері кодталған

хабар кодтау Екілік хабар хабар

симметриялық

канал

14-сурет
Лекция 12

Аналогты-кодтық туындаушылар

Кодтар екі үлкен класқа бөлінеді. Қателерді түзету кодының мақсаты жіберілген мәліметті бірге жақын ықтималдылықпен қалпына келтіру.Қателерді табу кодының мақсаты- қателерді бірге жақын ықтималдылықпен табу.



Қателерді табудың қарапайым коды, кез-келген сұрақты m ұзындықтағы а1...аm мәліметі үшін қолданылатын жұптылықты тексеру схемасында негізделген. Кодтау схемасы келесі формуламен анықталады:





Осылайша, жұп болуы қажет.

Сәйкесінше декодтау схемасы





жұптылығы қателіксіз тасымалдауға кепілдік бермейді.

Мысалы, m=2-де жұптылықты тексеру келесі код (Е функциясы) бойынша жүзеге асырылады: 00000, 01011, 10101, 11110. Екілік симметриялық каналда осы код үшін қате алынған (ең болмаса бір қате) мәліметтердің үлесі q3+3pq2+3p2q (сәйкесінше, үш екі және бір қате) тең болады. Олардың ішінде көрінбейтіні – жұптылықты өзгертпейтін дәл екі биттік қателер. Осындай қателердің ықтималдылығы 3pq2. 2 биттен тұратын мәліметтердің қате тасымалдау ықтималдылығы 2pq+q2-қа тең. q үшін, 3pq2<< 2pq +q2.



Үш рет қайталанатын кодты (m, 3m) қарастырайық. Қайталанатын кодтар тиімді емес, бірақ қателерді жөндейтін кодтардың теориялық мысалы ретінде пайдалы. Кез-келген мәлімет әрқайсысы m ұзындықтағы блоктарға бөлінеді және әрбір блок 3 рет жіберіледі – бұл Е функциясын анықтайды. D функциясы келесі түрдегідей анықталады. Қабылданған қатар 3m ұзындықтарға бөлінеді. Декодталған блоктағы i(1) нөмірлі бит алынған блоктағы i, i+m, i+2m нөмірлі биттерді таңдаудан аламыз. 3 биттердің ішінен 2-ден көп кездесетіні алынады. Әрбір позициядағы биттердің 3 рет дұрыс алынатындығының ықтималдылығы p3. Үштікте бір қатенің болу ықтималдылығы 3p2q. Сондықтан бір битті дұрыс қабылдау ықтималдылығы p3+ 3p2q-ға тең. Сәйкесінше қателік битті қабылдау ықтималдылығы q3+ 3pq2-қа тең.

Мысал.q=1 болсын. Онда бір битті жіберудегі қателіктер ықтималдылығы -0,028, яғни бұл код қателіктер ықтималдылығын 10%-тен 2,8% -ке төмендетеді. Осылайша ұйымдастырылған 5 реттен жіберудің биттегі қателіктер ықтималдылығы





яғни, 1% төмен. Нәтижесінде ұзындығы 10-ға тең қатарларды дұрыс жіберудің ықтималдылығы 3 рет қайталануы 0,910 35%-тен 0,97210 75%-ке, 5 рет қайталанғанда 0,9914410 92%-ке өседі.

Үш рет қайталау жіберу уақытын 3 есе көбейту арқылы әрбір позициядағы бір қатені жөндеуді қамтамасыз етеді.



Деректерді Apple II компьютермен магнитофондық лентадағы жазуда қолданылатын (2048,3213) кодын қарастырамыз. Шығатын деректердің әрбір байтына жұптылық биті қосылады және, сонымен бірге әрбір осында жұптылық битпен кеңейтілген 256 байттан кейін арнайы байт қосылады, ол да жұптылық битімен кеңейтілген. Бақылау суммасы деп аталатын бұл арнайы байт, “Немесе” логикалық операциясын 256 кеңейтілген байтқа қолданудың нәтижесі болып табылады. Бұл код әрбір жеке байттағы тақтық қысқашалықтағы қателіктерді тауып қана қоймай, сонымен бірге ұзындығы 256 байт блокта 8-ге дейін қателерді жөндей алады. Қателерді жөндеу мынаған негізделген, егер 256 байттық блоктың бір байтының бір битінде, жұптылықты тексеру арқылы анықталатын, қателіктер болса, онда осы қателік мынада көрсетіледі, яғни блоктың барлық сәйкес битіне “Немесе” операциясының нәтижесі бақылау суммасының сәйкес битімен сәйкес келмесе. Қателік бит байтың қателік бағанасы мен бақылау суммасы битінің қатарларының қиылысуымен анықталады. 15-суреттегі деп белгіленген позицияда 9 қатесі бар лента бөлігінің схемасы бейнеленген. Бақылау соммасының кеңейтілген байты CS деп белгіленсе, ал паритет биті(осы жағдайда жұптылық ) – РВ деп белгіленеді. позициясындағы қателер түзетілуі мүмкін. позициясындағы қателерді табуға болады, бірақ түзетілмейді. позициясындағы қателерді табуға да мүмкіндік жоқ.

15-сурет


Бұрынғыда қарастырылған қарапайым кодтардың мысалдары блоктық класқа жатады. Анықтама бойынша, блоктық код m символдан тұратын блокты одан да ұзын n символдан тұратын блокқа ауыстырады. Сонымен бірге ағаш түріндегі немесе кезектестік кодтары бар, мұнда кезектегі символдың мәні мәліметтің барлық фрагменттеріне тәуелді болады. Ағаш түріндегі кедергіден қорғау коды мен ақпаратты сығу үшін арналған арифметикалық код жұмысының арасында ұқсастық бар.

n ұзындықтағы екілік сөздер арасындағы ара қашықтықты(Хэмминг) осы сөздер ажыратылатын позициялардың саны деп атайды. Бұл кодтау теориясының негізгі түсінігінің бірі болып табылады. Егер екілік сөзді a=a1…an және b=b1…bn деп белгілесек, онда олардың арасындағы ара қашықтықты d(a,b) деп белгілейміз.



Екілік сөздің салмағы a=a1…an деп ондағы бірліктер санын айтамыз. деп белгіленеді. деп айтуға болады.

Мысал. A=1001 және b=0011 болсын, онда .

Одан соң +операциясы, екілік сөздерге қолдануда, тасымалдаусыз разрядтық қосуды білдіреді, яғни 2 модулі бойынша қосу немесе “Немесе” (XOR).



a және b екілік сөздерінің ара қашықтығы олардың разрядты сомасының салмағына тең, яғни .

Егер екі сөз кейбір арзрядта өзгеше болса, онда олардың разрядтық сомасының салмағына қосады.



Егер a және b n ұзындықтағы сөз болса, онда a сөзі b түрінде қабылдануының ықтималдылығы -ға тең.

Мысалы, 1001 сөзі 0011 сөзі сияқты қабылдануының ықтималдылығы p3q-қа тең болады.

Бір позициядағы қателерді табу үшін код сөзінің минималды арақашықтығы 1-ден үлкен болуы керек.

Әйтпесе бір позициядағы қате бір кодтық сөзді басқаға ауыстырып жіберуі мүмкін, оны таба алмаймыз.

Код k-дан үлкен емес қысқалықтағы қателерді табуға мүмкіндік беруі үшін, сөздердің ең аз арақашықтығы k+1 болуы қажет және жеткілікті.

Жеткіліктігі конструктивті түрде дәлелденеді: егер нақтылау шарты Е-ге орындалған болса, онда D декодтау функциясының орнына қателер туралы хабарлайтын функция алу керек, егер декодтау сөзі Е бейнесіндегі сөздердің кез-келгенінен өзгеше болса. Қажеттілік керісіншеден дәлелденеді: егер минималды арақашықтық k’

Осындай код үшін мәліметтегі қателіктертің табусыз қалуының ықтималдылықтары



Код k-дан үлкен емес қысқалықтағы қателерді түзетуге мүмкіндік беруі үшін, сөздердің арасындағы ең кіші аз арақашықтығы 2k+1 болуы қажет және жеткілікті.

Жеткіліктігі конструктивті түрде дәлелденеді: егер нақтылау шарты Е-ге орындалған болса, онда D декодтау функциясының орнына Е бейнесіндегі декодталатын сөзге жақынырақ қайтатын функцияны алуға болады. Таңдалынған сөздердің арақашықтығы 2k-ға тең болсын. Онда егер әрбір сөздерді жібергенде, осы сөздерді ажырататын биттерді өзгертетін k қателігі болса, онда қабылдаушы екі ұқсас мәлімет алады, бұл берілген жағдайда k қателерін түзету мүмкін еместігін білдіреді.Код сөзінің арасындағы минималды арақашықтық 2-дан үлкен болуы керек.

Мысалы, 0000 және 1111 Е-ден тұратын және 0000,0010,0100,0111,1000,1011,1101,1111 бейнесін беретін D-дан тұратын(1,3)-кодын қарастырамыз. Бұл код (3 рет қайталанатын) бір позициядағы қателерді түзейді, өйткені код сөзінің минималды арақашықтығы 3-ке тең.



Егер код k қысқалықтағы және одан да аз қателіктерді түзетсе, онда n ұзындықтағы сөзді қате қабылдау ықтималдылығы -дан көп болмайды.Дұрыс қабылдау ықтималдылығы бұл жағдайда



Деректерді тасымалдауды келесі түрде қарастырған қолайлы. a=a1…am жіберілетін мәлімет b=b1…bn кодтау сөзіне Е функциясымен кодталатын болсын. Тасымалдауда байланыс каналы, қабылдаушы r=r1…rn мәліметін алатындай, мұндағы ri=bi+ei (), оған Т функциясымен e=e1…en қателер қатарын қосады. Қателерді түзететін жүйелер r-ді кейбір(көбінесе жақын) кодтау сөзіне ауыстырады. Тек қателерді табатын жүйелер, қабылданған сөзді кодтық екенін тексереді және қателер туралы белгі береді.

Мысал. Жіберілетін a=01 сөзі b=0110 сөзімен кодталсын, ал қателер қатары e=0010. Онда қабылданған сөзіміз r=0100 болады. Қателерді түзету жүйесі оны 0110-ге ауыстырады және одан кейін жіберілген 01 сөзін қалпына келтіреді.



Егер жүйе тек қателер мен кез-келген k-ден кодтау сөзінің арақашықтығын табатын болса, онда жалғыз бірлігі бар кез келген е қателер қатары кодтық болып табылмайтын r=b+e сөзіне әкеледі.

Мысал. Жұптылықты тексерумен (2,3)- кодын қарастырайық. Кодтық сөздер жиыны - {000,011,101,110}. 001,010,100,111 қателер қатарының бірде-біреуі бір кодтық сөзді басқаға аудармайды. Сондықтан бірлік және үштік қателіктер табылуы мүмкін.



Мысал.(2,5) коды 2 қатені таба алады:



Осы кодтың бірлік қателерді түзетуге мүмкіндігі бар, өйткені екі кодтық сөздердің кез-келгені үш позиция бойынша ажыратылады. , болғандықтан, бірлік қателіктер жіберілген кодтық сөзден 1 қашықтықта жатқан сөзді қабылдауға әкеліп соқтырады. Сондықтан жіберілген сөзді оған жақын тұрған кодқа ауыстырудан тұратын декодтау схемасы бірлік қателіктерді түзетеді. Екілік симметриялық каналдарда бір блокты дұрыс жіберудің ықтималдылығы p5+5p4q-ден кем болмауы керек.

Кодтау сөздерінің минималды арақашықтығы 2k+1 болатын, (n-r,n)-кодында n, r және k сандары (кодтау сөзіндегі қосымша разрядтар саны) теңсіздік немесе Хэммингтің төменгі шекарасы деп аталатын мына теңсіздікке сәйкес келуі қажет



сонымен қатар, n, r және k сандары теңсіздік немесе Варшамова –Гильберттің жоғарғы шекарасы деп аталатын мына теңсіздікке сәйкес келсе,



онда k және одан да аз салмақтары бар қателіктерді түзейтін (n-r,n)-коды бар.

Төменгі шекара берілген сипаттамаға ие кедергіден қорғау коды үшін қажетті шарт қояды, яғни кез-келген осындай код оған сәйкес келуі керек, бірақ әрқашанда сипаттама шартын қанағаттандыратын кодты құра алмаймыз. Жоғары шекара берілген сипаттамаға ие кедергіден қорғау коды болуы үшін жеткілікті шарт қояды, яғни сипаттама шартын қанағаттандыратын кез-келген таңдалынып алынғандар арқылы оған сәйкес код құруға болады.


Лекция 13

Тиімді кодтау.

Бұрын әрбір кодтау схемасы m ұзындықтағы әрбір шығатын сөз үшін берілетін n ұзындықтағы кодтық сөздің кестесімен сипатталатын. Үлкен ұзындықтағы блоктар үшін бұл тәсіл жадтың көп мөлшерін қажет етеді, сондықтан тиімді емес. Мысалы, (16,33) - коды үшін 33*216=2162688 бит қажет болады.

Матрицалық кодтау жадтың одан да аз көлемін қажет етеді, m*n көлеміндегі, eij элементінен тұратын, мұндағы i- қатар нөмірі, j- бағана нөмірі, E матрицасы берілсін. Матрицаның eij элементінің әрбіреуі 0 немесе 1 болуы мүмкін. Кодтау b=aE немесе bj=a1e1j+ a2e2j+….+ amemj операциясымен жүзеге асырылады, мұнда кодтау сөзі верторлар – қатарлары түрінде, яғни 1*n көлеміндегі матрица түрінде қарастырылады.

Мысал. Келесі 3*6 – матрицасын қарастырайық:



Онда кодтау мына көріністер түрінде беріледі: 000000000, 001001111, 010010011, 011011100, 100100110, 101101001, 110110101, 111111010.

Қарастырылған мысал матрицалық кодтаудың артықшылығын көрсетеді, яғни 2m сөздің орнына m кодтау сөзін есте сақтаған жеткілікті. Бұл ортақ факт.

Кодтау бір кодтық сөзді әртүрлі шығу мәліметтерімен жазбау керек. Осыған жетудің қарапайым тәсілі – Е матрицасының m бағанасы (алдыңғы мысалда -бірінші) бірлік матрицаны құрауы керек. Кез-келген векторды бірлік матрицаға көбейткенде осы вектор алынады, сәйкесінше әртүрлі вектор – мәліметтерге жүйелік кодтың әртүрлі векторлары сәйкес келеді.



Матрицалық кодтауды сонымен бірге сызықтық кодтау деп атайды. Минималды d Хэмминг арақашықтығы (n-r,n) сызықтық коды үшін Плоткиннің төменгі шекарасы болады, бұл r бақылау разрядының минималды саны үшін арналған n,



Топтық кодтар

m ұзындықтағы барлық a=a1…am екілік сөздердің жиыны қосылуға қатысты коммутативті кодты құрайды.



Нөлден өзгеше анықтауышты m*m матрица асты болатындай Е-кодтайтын m*n матрицасы болсын. Сонда aaE көрінісі m ұзындықтағы барлық екілік сөздер тобын n ұзындықтағы кодтау сөздерінің тобына ауыстырады.

болсын, онда үшін алатынымыз:



яғни . Бұдан шығатыны m ұзындықтағы екілік сөздер тобының өзара – бір мәнді көрінісі Е матрицасы көмегімен топтың операциясының қасиеттерін сақтайды. Бұл дегеніміз кодтау сөздері топты қалыатастырады.

Егер оның кодтау сөздері торпы қалыптастырса, онда блоктық код топтық деп аталады.



Егер код топтық болса, екі кодтау сөздерінің арасындағы ең аз арақашықтығы нөлдік емес сөздің ең аз саламғына тең болады.

Бұл келесі қатынастан шығады .

Алдынғы мысалда нөлдік емес сөздің ең аз салмағы 3-ке тең. Бұдан шығатыны бірлік және екілік қатені табуға мүмкіндігі бар.

Топтық кодты қолданғанда, қателер қатарына жауап беретін, нақтырақ айтқанда кодтау сөзіне тең, қателер көрінбей қалады.

Мұндай қателер қатары бір кодтау сөзін басқаға аударады.



Бұдан, қателердің табылмай қалу ықтималдылығы – кодтау сөзіне тең бар қателіктер қатарының ықтималдылықтар қосындысына тең болады.

Қарастырылған мысалда қателіктер ықтималдылығы -не тең.

Е екілік матрица кодтаумен топтық кодты декодтауды оптимизациялау есебін қарастырайық. болудың ықтималдылығын минимизациялау қажет.

Декодтау схемасы қабылдануы мүмкін (#G=2n) барлық сөздердің G тобынан тұрады. өйткені В кодтау сөзі қалыпты G топ астын (қалыптылық G-дің коммутативтілігінен шығады) құрайды, онда G жиынына кесте құрылымын беруге болады: бір қатарға В-дағы G аралас классының мүшесі болып табылатын G элементтерін жазамыз. G-дағы нөлдік сөзге сәйкес келетін бірінші қатар,В-дағы барлық кодтау сөзі болады, яғни . Ортақ жағдайда, егер , онда qi-ге ие ( qiВ аралас классы) қатар түрінде болады.

Осындай құрылған аралас класстарының басшысы деп минималды салмақтағы сөзді айтамыз.



G-дағы әрбір q элемент сомасы түрінде көрінеді, мұндағы аралас класс пен сәйкесінше басшысы.

Аралас топтардың класстар жиыны – G жиынының бір аралас классқа қатысты фактор- жиыны болып табылатын, фактор тобын құрайды, ал бұл дегеніміз, осы фактор – жиынды құрайтын жиын G бөліндісін қалыптастырады. Бұдан шығатын, құрылған кесте қатары жұп-жұбымен не қиылыспайды, не сәйкес келеді.



Егер қарастырылған кестенің бірінші бағанында басшыларды жазсақ, онда алынған кестені декодтау кестесі деп атайды. Оның түрі:

Қатарлардың 2n-m болуы Лагранж теоремасынан [1] шығады, өйткені 2n-m - бұл G/B(#(G/B)=#(G)/#(B), #B=2m) фактор тобының реті.

q=bj+qi декодталған сөзі, Е-ге қайтадан көбейтілген операцияларды қолдану және жіберу түріндегі bj кодтау сөзін таңдаудан тұрады. Мұндай декодтау схемасы қателерді түзей алады.

Қарастырылып отырған мысалдан (3,6)-коды үшін декодтау кестесі келесідей болады:



Ондағы бірінші қатар- бұл кодтау сөзінің қатары, ал бірінші бағана- бұл басшылар.

bj+е сөзін декодтау үшін оны кестеден іздеу керек және сол бағанадағы және бірінші қатардағы жіберілген сөз түрінде таңдау керек.

Мысалы, егер 110011 сөзі қабылданса(кестенің 2-ші қатары, 3-бағаны), онда 010011 сөзі жіберілді деп саналады; сәйкесінше, егер 100101 (кестенің 3-ші қатары, 4-бағаны) сөзі қабылданса, онда 110101 сөзі жіберілген деп есептелінеді және т.б.



Басшылар көмегімен декодтау схемасымен топтық кодтау, қатарлары басшылармен сәйкес келетін барлық қателерді түзейді. Бұдан кейін, екілік симметриялық канал арқылы жіберілген кодты дұрыс декодтау ықтималдылығы – нөліншімен қатар, барлық басшылардың ықтималдылығының сапасына тең.

Қарастылған схемада сөздің дұрыс жіберілу ықтималдылығы тең болады.

Декодтау кестесінің кез-келген қатарындағы кодтау сөзі берілген бағананың барлық сөздеріне жақын кодтау сөзі болып табылады.



Жіберілген bi сөзі bi+е, d(bi,bi+е)= түрінде қабылданған болсын, яғни бұл арақашықтық сәйкес басшының салмағына тең болады. bi+е-ден басқа кез-келген bj кодтау сөзіне дейінгі арақашықтық олардың разрядты сомасының салмағына тең, яғни

өйткені е – bk+e және bi+e кіретін аралас кластың басшысы.



Декодтау схемасында берілген сөздің басшысы ретінде оған жақын кодты алатыны дәлелденген.


  1. Сәйкесінше (2,5)-кодын және (3,4)-кодын құрастырыңдар.

  2. Алынған кодтардың негізгі сипаттамаларын жазыңдар: сөздер арасындағы минималды арақашықтық; қателерді таппаудың ықтималдылығы; барлығы түзетілетін немесе табылатын қателердің максималды қысқалығы.

  3. Декодтау кестесін құрыңдар.

  4. Қателерді түзету үшін қолданылатын, алынған кодтардың сипаттамасын анықтаңдар, яғни дұрыс жіберу ықтималдылығын табыңыздар және осы кодтар арқылы түзелетін қателерді сипаттаңдар.

  5. 10001, 01110,10101,1001,0110,1101 сөздері неге декодталады?


Лекция 14

Ақпараттық жүйелер ақпарат теориясының негізгі принциптері мен әдістерін қолдану объектісі ретінде

k-дан үлкен емес салмақтағы барлық қателіктерді түзейтін топталған (m,n)-коды жетілдірілген деп аталады.



Жетілдірілген кодтың қасиеттері[1]:

  1. k-дан үлкен емес салмақтағы барлық қателіктерді түзейтін жетілдірілген (m,n)- коды үшін келесі қатынас орындалады . Қарсы тұжырымда дұрыс болып табылады.

  2. k-дан үлкен емес салмақтағы барлық қателіктерді түзейтін жетілдірілген код, декодтау кестесі бағанында кодталғаннан k-дан үлкен емес қашықтағы барлық сөздер орналасқан. Қарсы тұжырым да дұрыс.

  3. k позициясынан үлкен емес барлық қателерді түзейтін жетілдірілген кодтың декодтау кестесінде басшы ретінде k-дан үлкен емес бірліктерге ие барлық қатарлар бар.

Жетілдірілген код – бұл кодтау сөзінің ұзындығының минимумында, кодтау сөзінің арасында минималды арақашықтықтың максимумы қамтамасыз ететін ең жақсы код. Жетілдірілген кодты оңай декодтауға болады: әрбір қабылданған сөзге сәйкес жақын кодтауды қояды. Кодты жетілдіру шартын қанағаттандыратын n,m және k (1Егер m,n және k жетілдіру шартын қанағаттандырмаса, онда оларға сәйкес келетін күшті топталған код квазижетілдірілген деп аталады, егер ол k-дан үлкен емес қысқалықтың барлық қателерін және k+1 қысқалықты кейбір қателерді түзесе. Квазижетілдірілген код та өте аз.

Егер ол қате декодтаудың ықтималдылығын минимизацияласа, онда екілік блоктың (m,n)- коды оптималды деп аталады. Оптималды кодты құрудың ортақ тәсілі әлі белгісіз.

Кез-келген бүтін оң r саны үшін Хэмминг коды деп аталады, бір қатені түзейтін жетілдірілген (m,n)- коды бар, мұндағы m=2r-r-1 және n=2r-1.



Шынымен, .

Хэмминг кодын құру реті келесідей:



  1. Бүтін оң r санын таңдаймыз. Мәлімет m=2r-r-1 ұзындықтағы сөз түрінде болады, ал кодтау сөзінің ұзындығы n=2r-1;

  2. Әрбір кодтау сөзінде екінің индекс- дәрежесіндегі (20,21,…2r-1) r бит-бақылаушы, ал қалғандары-мәлімет биттері болып табылады. Мысалы, егер r=4, онда b1,b2,b4,b8 биттері – бақылаушы, ал b3,b5,b6,b7,b8,b9,b10,b11b12,b13,b14,b15- жіберілген мәліметтер;

  3. 2r-1 қатардан және r бағаннан тұратын М матрицасы құрылсын.і-ші қатарда і санының екілік көрінісінің цифрлары тұрады. r =2,3 және 4 үшін матрица мына түрде болады:



  1. bM=0 теңдеу жүйесі жазылады, мұндағы М- алдыңғы пунктегі матрица. Жүйе r теңдеуден тұрады. Мысалы, r=3 үшін:



  1. а мәліметін кодтау үшін bj орнына мәліметтердің сәйкес биттерін алады, j –екілік дәрежесіне тең емес және алынған теңдеу жүйесін қолдана отырып, сол bj –ді іздейді, мұнда j –екілік дәрежесі. Әрбір теңдеуге тек бір bj енеді, j=2i. Жазылған жүйеде b4-1-ші теңдеуге, b2 -2-шіге және b1 – 3-шіге кіреді. Қарастырылған мысалда а=0111 мәліметі, b=0001111 кодтау сөзімен кодталады.

Хэмминг кодын декодтау келесі схемада жүргізіледі. b+е сөзі қабылданған болсын, мұндағы b–жіберілген кодталған сөз, ал е – қателер қатары. bМ=0 болғандықтан, (b+е)М= bM+eM=eM-ге тең болады. Егер нәтиже нөл болса, дұрыс жіберілген болады, онда қателіктер жоқ деп есептелінеді. Егер қателер қатары i позициясында бірлікке ие болса, онда eM туындысының нәтижесі М матрицасының i-ші қатары немесе і санының екілік көрінісі болады.Бұл жағдайда і позициясындағы b+e сөзінің символын өзгерту қажет.

Мысал. Хэммингтің (4,7)- коды кодтау сөзінің орнына b=0001111 қабылдайды. M7*3 матрицасы, Хэмминг кодын құру жолындағы 3 қадамда келтірілген. bM=0 екені анық. b қателер қатарына e=0010000-ні қосамыз. Онда b+e=0011111 және (b+e)M=011=310, яғни қателер 3-ші позицияда орналасқан. Егер e=0000001, онда b+e=0001110 және қате позициясы -(b+e)M=111=710 және т.с.с. Егер бірден көп позицияда қате кеткен болса, онда декодтау дұрыс емес нәтиже береді.

Хэмминг коды- бұл топталған код.

Бұл, 2 дәрежелік емес бағаналар нөмірі бірлік матрица астын құрайтын, m*n матрицасы көмегімен, Хэмминг (m,n)- кодын матрицалық кодтаумен алуға болатындығынан шығады. Қалған бағандар Хэмминг кодын құрастырудағы 4-ші қадам кодына сәйкес келеді, яғни 1-ші бағанаға 1-ші бақылау разрядын есептейтін теңдеу, 2-шіге – 2-шіні есептейтін, 4-шіге-4-шіні және т.б. сәйкес келеді. Мұндай матрица кодтау кезінде, дәрежесі 2 кодтан тұрмайтын позициядағы мәліметтер битін көшіреді және Хэмминг кодтау схемасына сәйкес кодтың басқа позицияларын толтырады.

Мысал. Хэммингтің (4,7) – коды үшін матрицалық кодтау-

Оның 3, 5, 6 және 7 нөмірлі бағандары бірлік матрица астын құрайды. 1, 2 және 4 нөмірлі бағаналар, бақылау битін есептейтін теңдеуше сәйкес келеді, мысалы, b1=b3+b5+b7 теңдеуіне 1101 бағаны сәйкес келеді, яғни бірінші бақылау разрядын есептеу үшін жіберілетін мәліметтің 1, 2 және 4-ші биті және 3, 5 және 7 кодтың биті алынады.

Хэммингтің (m,n)- кодына жұптылықты тексеруді қосуға болады. Біреуін түзете және 2 қатені таба алатын, ең аз салмақтағы, 4 нөлдік емес кодтау сөзі - (m,n+1)-коды шығады.

Хэмминг кодтары мәліметтегі сөз ұзындығына шектеулер қояды: бұл ұзындық тек 2r-r-1, 4, 11, 26, 57, ...сандары түрінде бола алады. Бірақ нақты жүйеде ақпарат байтпен және машиналық сөзбен жіберіледі, яғни 8, 16, 32 және 64 биттік позициялармен, бұл жетілдірілген кодты қолдану кейде сай келмейді дегенді білдіреді. Сондықтан мұндай жағдайларда, көбінесе квазижетілдірілген (m,n)-кодтары қолданылады.

Бір қатені түзейтін квазижетілдірілген (m,n)-коды келесі түрде құрылады.

болатындай етіп, минималды n алынады. Бұндай кодтың әрбір кодталған сөзі k=n-m бақылау разрядына ие болады. Алдынғы қатынастан шығатыны





n разрядтың әрбіреуіне солдан оңға қарай 1-ден n-ге дейінгі сандар беріледі. Берілген мәлімет сөзі үшін екінші модуль бойынша алынған k бақылау сомасының S1…, Sk-сы құрылады: Si () үшін жіберілетін мәліметтің биті бар, і-разрядта бірдікке ие екілік сан- нөмерлер, разрядтар таңдалынады. Мысалы, S1 сомасы үшін 3, 5, 7 және т.б. разряды, ал S2 үшін 3, 6,7 және т.б. разряды болады. Осылайша, мәліметтің a=a1…am сөзі үшін b=S1S2a1S3a2a3a4S4a5…am кодтау сөзі құрылады. сомасын екінші модуль бойынша Si бақылау сомасына және осы бақылау сомасының өзіне сәйкес келетін, алынған сөздің разрядымен белгілейміз.Егер болса, онда тасымалдау қателіксіз болады деген сөз. Бір рет қате кеткен жағдайда қате беттің екілік сан – нөмеріне тең болады. Бірден үлкен қысқалықта қате болған жағдайда және болса, оны табуға болады. Декодтаудың осыған ұқсас схемесы, басшылармен декодтау схемасына қарағанда кейбір екілік қателерді түзетуге мүмкіндік бермейді, бірақ соңғысын жүзеге асыру қиынырақ және код сапасын жақсарта алмайды.

100011010 мәліметі үшін барлық бір ретті қатені түзететін квазижетілдірілген (9,n)-кодының кодтау сөзін құрудың мысалы.



Ізделініп отырған кодтау сөзі мына түрде болады:


Одан кейін бақылау сомасын есептеу қажет.



Осылайша, ізделініп отырған код – 0011000111010 түрінде болады. Егер осы кодты жіберу нәтижесінде оның бесінші биті бұзылған болса, онда қабылдаушы 0011100111010 кодын алады. Оны декодтау үшін тағы да бақылау сомасы есептелінеді:



Қабылдаушы 5-ші биттің өзгеруіне байланысты алынған мәліметті өңдейді және одан кейін бақылау разрядын лақтырып тастау арқылы жіберілген мәліметті қалпына келтіреді.

Хэммингтің жетілдірілген кодын қарастырылып отырған схема бойынша да құрастыруға болады, өйткені ол үшін 2n/(n+1)=2m болады.

Бірлік қатені түзету үшін 8-разрядтық кодқа 4 разрядты (212/13>28), 16-разрядтыққа -5, 32-разрядтыққа -6, 64-разрядтыққа- 7 разряд қосу жеткілікті.


Лекция 15

Ақпарат теориясы ақпараттық жүйелердің синтезі мен декомпозицисы

құралы ретінде

Полиномиальды кодтауда әрбір мәлімет өрнектеледі, ал кодтаудың өзі тұрақталған көп мүшелікке көбейтуден тұрады. Полиномиальды кодтар – блоктық және бұрын қарастырылғандардан тек кодтау және декодтау алгоритмімен өзгешеленеді.

a=a0…am-1 – екілік мәлімет болсын. Онда оған a(x)= а01x+…+аm-1xm-1 көп мүшелілігін сәйкестендіреміз. Барлық есептеулер екінші модуль бойынша есептеу классы өрісінде жүргізіледі, яғни кез-келген арифметикалық операциялар нәтижесінен оны екіге бөлгендегі қалдығын алады.

Мысалы, m=5-тегі 10011 кезектестігіне 1+x3+x4 мүшелігі сәйкес келеді.



Кейбіp k дәрежесіндегі қателіктерді жазайық,

q(x)= q0+q1x+…+qkxk q0 qk .

q(x) кодтау көпмүшелігімен полиномиальды коды a(x) мәлімет сөзінің b(x)= a(x)q(x)=b0+b1x+…+bn-1xn-1 көпмүшелілігімен немесе b=b0…bn-1 көпмүшелігі коэффициентінің кодтау сөзімен кодтайды.q0 qk шарты қажет, өйткені кері жағдайда b0 және bn-1 еш ақпарат тасымалдамайды, себебі олар барлық уақытта нөлге тең болады.

Мысал. Кодтайтын q(x)= 1+x2+x3 көпмүшелігін қарастырамыз. a(x)= x+x3+x4 көпмүшелігіне жауап беретін 01011 мәліметі b(x)=q(x)a(x)= x+x5+x7 көпмүшелігінің коэффициентімен кодталады, яғни b=01000101.



k дәрежесіндегі q(х) полиномиальды код, m*(m+k) көлеміндегі G кодтау матрицасымен матрицалық код болып табылады.

яғни j-ші қатардағы нөлдік элементтер - бұл j-ден (j+k)-ға дейінгі бағанада орналасқан кодтау коэффициентінің кезектестігі болып табылады.

Мысалы, кодтайтын 1+x+x3 көпмүшелігі бар(3,6)-коды мына матрицаға

немесе мына бейнелерге жауап береді: 000000000, 001001101, 010011010, 011010111, 100110100, 101111001, 110101110, 111100011.

Полиномиалды кодтар топталған болып табылады.

Бұл матрицалық кодтау арқылы алынатын кодтардың кодталған екендігінен шығады.

Кодтайтын q(x) копмүшелігі бар (m,n)-кодын қарастырамыз. e=e0…en-1 қателер қатары, егер оған сәйкес келетін e(x)= e0+e1x+…+en-1xn-1 көпмүшелігі q(x)-ке бөлінсе, онда табылмай қалады.

Шынымен a(x)q(x)+e(x) q(x)-ке бөлінеді, егер де e(x) q(x)-ке бөлінсе.Сондықтан көпмүшелігі q(x)-ке бөлінбейтін кез-келген қателер табылады және сәйкесінше, көпмүшелігі q(x)-ке бөлінетін қателер табылады.

Осылайша, кодтайтын q(x) көпмүшелігі бар полиномиалды кодты қолданғанда қателерді табу көпмүшелікті қалдықпен бөлу алгоритмі көмегімен жүзеге асырылады: егер қалдық нөл емес болса, онда жіберуде деректердің сығылуы болды.

Хэммингтің кодын полиномиалды ретінде құруға болады, мысалы, кодтайтын x3+x2+ 1 көпмүшелігі бұрын қарастырылғандардан жақсырақ жетілдірілген (4,7)-кодын анықтайды.



Егер сәйкес (m,n)-кодын тудыратын q(x) кодтау көпмүшелігі xj+1(j
d – кодтау сөзінің арасынлағы минималды арақашықтығы болсын, ол нөлдік емес кодтау сөздерінің салмақтарының арасындағы минимумға тең.d=2 есептейік. Онда a(x)q(x)=b(x) және b(x)-тің дәрежесі n-нен үлкен емес болатындай a(x) бар болады. b-ның салмағы екіге тең, сондықтан b(x)=xm+xl және ll( xm-l+ l) бұл xm-l+l q(x)-ке бөлінуі керек дегенді білдіреді, ал бұл шарт бойынша мүмкін емес. Егер d=1 деп есептесек, онда бұл xm q(x)-ке бөлінуі керек деген тұжырымға әкеледі, бұл да шартқа қарсы келеді. Сөйтіп d.

Кодтайтын x11+x9+x7+x5+x+1 көпмүшелігі, 7 кодтау сөзінің минималды арақашықтығындағы жетілдірілген Голейдің (12,23)- кодын анықтайды.

Хэммингтің және Голейдің кодтарынан басқа жетілдірілген код жоқ екені 1971 жылы финдік және кеңестік математиктер көмегімен дәлелденді[20].

Полиномиалды кодтардың арасындағы ең қызықтысы циклдік кодтар болып табылады, онда b0…bn-2bn-1 түріндегі кез-келген кодтау сөзімен бірге bn-1b0…bn-2 кодтау сөзі де болады.








Достарыңызбен бөлісу:
1   ...   9   10   11   12   13   14   15   16   17




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет