Коммерциялық емес акционерлік қоғамы

АЛМАТЫ ЭНЕРГЕТИКА ЖӘНЕ БАЙЛАНЫС УНИВЕРСИТЕТІ

Инженерлік кибернетика кафедрасы

 

 

 

 

Ақпаратты жинау және тасымалдау негіздері

 Дәрістер

5B070200 – Автоматтандыру және басқару  мамандығының барлық оқу формаларының студенттері үшін

 

 

 

  

Алматы 2011

ЌҰРАСТЫРУШЫЛАР: Ю.В. Шевяков, Ш.М. Байматаева. Ақпаратты жинау және тасымалдау негіздері. 5В070200 – Автоматтандыру және басқару  мамандығының барлық оқу формаларының студенттері үшін дәрістер. - Алматы: АЭжБУ, 2011. - 58 б.

 

         Дәрісте ақпаратты жинау және тасымалдау жүйелерін ұйымдастырудың негіздері, құру принциптері, әдістері және алгоритмдері мазмұндалған. Қарастырылатын объектілер ТПАБЖ-нің ішкі жүйесінің құрамына кіреді, сондай ақ автономды сипатта болуы және SCADA – жүйелерде негізгі функционалдық тағайындалуды орындауы мүмкін. Дәрістер конспектісі 5В070200 – Автоматтандыру және басқару мамандығы бойынша оқитын студенттерге арналған.

Без. 12, кесте 10, библиогр. атау 13.

 

Пікір беруші физ. мат.- ғыл. д-р, профессор  З. Қ. Құралбаев. 

 

«Алматы энергетика және байланыс университеті» коммерциялық емес акционерлік қоғамының 2011 жылғы жоспары бойынша басылады 

 

 

 © «Алматы энергетика және байланыс университеті» КЕАҚ, 2011 ж.

Мазмұны

 

 Кіріспе                                                                                                                         5

1 дәріс. Технологиялық басқару объектіісінде (ТБО) цифрлық ақпаратты

жинау және өңдеу жүйелерін ұйымдастыру                                                           

1.1            ТПАБЖ тағайындалуы және ұйымдастырудың негізгі принциптері         6

1.2            Басқару критерийлері                                                                                       6

1.3            Ішкі жүйелердің түрлері                                                                                  6

1.3.1 Ақпаратты жинау және бастапқы өңдеу                                                         6

1.3.2 Объектінің жағдайын бақылау                                                                         6

1.3.3 Автоматты реттеу және тиімді басқару                                                          7

1.3.4 Техникалық-экономикалық көрсеткіштерді есептеу                                     7

1.3.5 MES-жүйемен байланыс (кәсіпорынның АБЖ)                                             7

1.4            ТПАБЖ құрамы                                                                                                7

1.5            ТПАБЖ-н құрылымдық ұйымдастыру                                                           7

1.5.1            Орталықтандырылған ТПАБЖ-і                                                                  7

1.5.2            Таратылған ТПАБЖ-і                                                                                    8

2 дәріс. SCADA-жүйелер. Шынайы уақыт жүйелеріндегі ақпаратты

жинауды функционалды ұйымдастыру                                                                    9

2.1 SCADA – жүйелердегі ақпаратты жинауды функционалды ұйымдастыру    9

2.2 Шынайы уақыт жүйелері                                                                                   10

2.2.1 Шынайы уақыт режімі [real time processing]                                                 11

3 дәріс.  SCADA-жүйелер.  Ақпаратты бастапқы өңдеу алгоритмдері               13

3.1 Ақпаратты жинау және бастапқы өңдеу алгоритмдері                                   13

3.2 Ақпаратты бастапқы өңдеу                                                                                14

3.2.1 Ақпараттың анықтылығын бақылау                                                              14

3.2.2 Интерполяция және экстраполяция                                                               15

3.2.3 Өлшенетін ақпарат сигналдарын фильтрациялау                                         15

4 дәріс.  SCADA-жүйелер. Өндірісті басқарудың автоматтандырылған жүйелерін (ӨБАЖ) (MES –жүйелері) және ТПАБЖ (SCADA и DCS) интеграциялау жолдары                                                                                           16

4.1 Басқару жүйелерінің ақпараттық әсерлесу деңгейлері                                   16

4.2 Реляциялық МБ және шынайы уақыт МБ                                                        18

5 дәріс.  Кодалау теориясының негіздері және кодалар. Бөгеуілге орнықты

кодалау                                                                                                                       19

5.1 Бөгеуілге орнықты кодалау                                                                               20

5.1.1 Бөгеуілге орнықты кодалардың классификациясы                                 20

5.1.2 Блоктық код. Артықтықты қолданудың негізгі принциптері                  21

6 дәріс.  Бөгеуілге орнықты кодалау. Блоктық код                                                 23

6.1 Коданың түзетушілік қабілетінің  кодтық ара қашықтықпен байланысы    23

7 дәріс. Сызықты кодалар. Сызық кодаларға математикалық кіріспе                27

7.1 Сызықты кодалар                                                                                                28

7.2 Сызықты кодаларға математикалық кіріспе                                                    28

8 дәріс.  Қажалуларды түзетумен кодалар. Топтық кодалар                                32

8.1 Сызықты векторлық кеңістіктің  ішкі кеңістігі ретіндегі сызықты код        32

8.2 Екілік топтық код құру                                                                                       33

9 дәріс.  Топтық кодалар. Тексеру теңдіктерін анықтау                                       36

9.1 Бірлік және қос тәуелсіз қателерді түзету жағдайы                                        36

9.2 Тексеру теңдіктерін анықтау                                                                               38

10 дәріс. Сызықты кодалардың матрицалық берілуі                                             40

10.1 Сызықты кодалардың матрицалық берілуі                                                     40

10.2 Сызықты коданың құраушы матрицасы                                                         41

11 дәріс. Циклдық кодалар. Циклдық кодаларды құру үшін математикалық негіздер                                                                                                                       44

11.1 Циклдық кодаларды құру                                                                                 45

11.2 Циклдық кодаларға математикалық кіріспе                                                   46

12 дәріс. Циклдық кодалар. Түзуші көпмүшені анықтау                                      48

12.1 Құраушы көпмүшеге қойылатын талаптар                                                     48

12.2 Коданың берілген көлемі және берілген түзетушілік қабілеті бойынша құраушы  көпмүшені таңдау                                                                                    49

12.2.1 Бірлік қателерді табу                                                                                      49

12.2.2 Бірлік қателерді түзету немесе қос қателерді табу                                     50

13 дәріс. Циклдық кодалар. Циклдық кодаларды құру үшін математикалық негіздер                                                                                                                       52

13.1 g(x) келтірілмейтін көпмүшесін таңдау                                                          52

13.2 Циклдық кодаларды құрау әдістері                                                               53

13.2.1 Қателер қорабын табу және түзету                                                              53

13.3 Циклдық кодаларды құру әдістері                                                                  54

13.4 Циклдық коданың матрицалық жазылуы                                                       55

13.5 Қысқартылған циклдық кодалар                                                                     56

Әдебиеттер тізімі                                                                                                       57

 

 

Кіріспе 

SCADA-жүйелер мәліметтерді әртүрлі датчиктерден және енгізу/шығару құрылғыларынан алумен, жиналған ақпаратты көруге және оны архивтеумен байланысты өндірістік автоматтандыру деңгейі үшін ғана жауапты. Бұл ақпаратқа өндіріс жетекшісі және де экономикалық бөлімшелердің жетекшілерінің рұқсат алуы жанама түрде болды. Өндірісті жалпы талдау үшін, оның бөлек кезеңдерін модельдеу үшін, сыналатын бөліктерін және әлсіз түйіндерін анықтау үшін, өндірістің барлық процесін бейнелейтін мәліметтерге рұқсат алуды оған әсер ету мүмкіндігімен ұйымдастыру, соның ішінде ағымдағы уақытта да, маңызды.

Өнеркәсіптік кәсіпорындарды автоматтандырудың есептерін іске асыру, SCADA-жүйелерінің, ERP-жүйелерінің және, жалпы алғанда, MES-жүйелердің функцияларын іске асыратын интегралданған автоматтандыру жүйелерін құру әрекеті үшін негізгі бағытпен шынайы уақытта цифрлы формада жиналған және өңделген технологиялық ақпаратқа негізделген бірыңғай ақпараттық кеңістікті құру анықталады.

Таратылған микропроцессорлы жүйелерде ақпаратты бастапқы өңдеу алгоритмдері микропроцессорлы контроллерлердің базалық бағдарламалық қамтамасыздандыруының стандартты модульдері түрінде іске асырылады.

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

 

1 дәріс. Технологиялық басқару объектісінде (ТБО) цифрлық ақпаратты жинау және өңдеу жүйелерін ұйымдастыру

Дәрістің мақсаты: әртүрлі деңгейдегі басқару жүйелеріндегі ақпараттық ішкі жүйелердің негізгі функцияларын анықтау.

Дәрістің мазмұны: технологиялық басқару объектісінің басқару жүйелерін классификациялау. Технологиялық процестерді автоматтандырылған басқару жүйесінің (ТПАБЖ) ішкі жүйелері. SCADA-жүйелердің негізгі функциялары.

1.1            ТПАБЖ тағайындалуы және ұйымдастырудың негізгі принциптері

ТПАБЖ- адам шешім шығаруға мағыналы қатысатын адам-машиналық жүйе.

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

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

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

1.2             Басқару критерийлері

Басқару критерийлері міндетті түрде сандық болып берілуі және таңдалған басқару әсерлеріне байланысты болуы керек.

1.3            Ішкі жүйелердің түрлері

  ТПАБЖ өзінің функцияларын келесі ішкі жүйелер көмегімен іске асырылады.

  Ақпаратты жинау және бастапқы өңдеу:

-         технологиялық басқару объектісінен ақпаратты жинау;

-         ақпараттың анықтылығын тексеру;

-         өлшенетін ақпараттың  сигналдарын фильтрациялау;

-         параметрлердің нақты мәндерін есептеу;

-         параметрлердің мәндерін орталау және интегралдау.

1.3.2 Объектінің жағдайын бақылау:

-         ақпаратты бейнелеу;

-         параметрлердің берілген мәндерден ауытқуын бақылау және тіркеу;

-         бұғаттаулар (блокировка) мен қорғаныстардың іске қосылуын талдау.

 

1.3.3 Автоматты реттеу және тиімді басқару:

-         технологиялық параметрлерді стабилизациялау;

-         каскадты және байланысқан реттеу;

-         логикалық басқару;

-         задвижкалармен дискретті, программалық басқару;

-         статикалық оңтайландыру.

1.3.4 Техникалық-экономикалық көрсеткіштерді есептеу:

-         өнімнің өз құндылығын есептеу;

-         материалдық балансты есептеу.

1.3.5 MES-жүйемен байланыс (кәсіпорынның АБЖ)

-         хабарламаны жоғарғы деңгейге беру;

-         жоғарғы деңгейден хабарламаны қабылдау.

1.4             ТПАБЖ құрамы

ТПАБЖ құрамы 1.1 суретте берілген.

 

 

 

 

 

 

 

 

 

 

 1.1   сурет – АБЖ-нің құрама бөліктері

 

Оперативті персонал, объектті бақылау мен басқару жасайтын оператор-технологтардан және жүйенің техникалық құралдарының қызмет етуін қамтамасыз ететін эксплуатациялық персоналдан тұрады. Ұйымдастырушылық қамтамасыз ету, оперативті персоналдың қызмет ету тәртібі мен  ережелерін орнататын құжаттар жиынтығы болып табылады. Оларға процесті қалыпты, апат алды және апатты жағдайларда жүргізуді анықтайтын технологиялық нұсқаулықтар мен регламенттер мен жүйені пайдалану бойынша нұсқаулықтар жатады.

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

1.5            ТПАБЖ-н құрылымдық ұйымдастыру

1.5.1     Орталықтандырылған ТПАБЖ (1.2 суретті қара)

 

 

 

 

 

 

 


                       

 

 

 

 

1.2   сурет – Технологиялық объектті басқаруды орталықтандырылған басқару жүйесі

Объектпен байланыс құрылғысы (ОБҚ) құрамына АЦТ (аналогты-цифрлық түрлендіргіш); ЦАТ (цифрлық-аналогты түрлендіргіш) және коммутатор кіреді. Оның кемшіліктеріне датчиктерді объектпен байланыстыратын көптеген электр сымдарының болуын және ЭЕМ-нің істен шығуын жатқызуға болады (көп резервтер).

1.5.2     Таратылған ТПАБЖ-і

Таратылған ТПАБЖ мысалы 1.3 суретте көрсетілген.

 

 

1.3  сурет - Технологиялық басқару объектісінің таратылған басқару жүйесі

     Цифрлық датчиктердің пайда болуымен тек қана ақпаратты цифрлық формада өңдеу мүмкіндігі ғана емес, сондай ақ бұл ақпаратты цифрлық түрде тасымалдау мүмкіндігі де пайда болды. Бөлек құрылғылардың арасында мәліметтерді цифрлық тасымалдау АБЖ-н құру негізі ретінде есептеу торабын жасады. Мұндай есептеу торабы үлкен емес аумақта орналасқан қолданушылар үшін резервтерді құру үшін қолданылады, сондықтан мұндай торап жергілікті деп аталады.

Қазіргі кезде 2 типті таратылған басқару жүйелерін ерекшелейді:

1 – SCADA-жүйелер;

2- DCS-жүйелер;

SCADA – Supervisory Control and Data Acquisition – мәліметтерді жинау және басқару жүйесі;

         DCS – Distributed Control System – децентрализацияланған басқару жүйелері.

1.4 суретте SCADA-жүйенің функционалдық-құрылымдық сұлбасы келтірілген.

1.4 сурет – SCADA-жүйенің функционалдық-құрылымдық сұлбасы

2 дәріс.  SCADA-жүйелер. Шынайы уақыт жүйелеріндегі ақпаратты жинауды функционалды ұйымдастыру

  Дәрістің мақсаты: шынайы уақыттағы басқару жүйелеріндегі ақпараттық ішкі жүйелерді анықтау және негізгі функциялары.

Дәрістің мазмұны: шынайы уақыт жүйелерінің анықтамасы.  SCADA – жүйелерді уақыттық ұйымдастыру.

2.1 SCADA – жүйелердегі ақпаратты жинауды функционалды ұйымдастыру

 SCADA-жүйелер – бұл  мәліметтерді әртүрлі датчиктерден және енгізу/шығару құрылғыларынан алумен, жиналған ақпаратты көруге және оны архивтеумен байланысты өндірістік автоматтандыру деңгейі. Жалпы өндірісті талдау үшін, оның бөлек кезеңдерін модельдеу үшін, сыналатын бөліктерін және әлсіз түйіндерін анықтау үшін, өндірістің барлық процесін бейнелейтін мәліметтерге рұқсат алуды оған әсер ету мүмкіндігімен ұйымдастыру, соның ішінде ағымдағы уақытта да маңызды. Өнеркәсіптік кәсіпорындарды автоматтандырудың осындай есептерін іске асыру, жалпы SCADA-жүйелерінің, ERP-жүйелерінің және жалпы алғанда, MES-жүйелердің функцияларын іске асыратын интегралданған автоматтандыру жүйелерін құру әрекеті үшін негізгі бағытпен шынайы уақытта цифрлы формада жиналған және өңделген технологиялық ақпаратқа негізделген бірыңғай ақпараттық кеңістікті құру анықталады (2.1 суретті қара).

 

 

 

2.1 сурет - SCADA типті жүйелердің жалпы құрылымы   

2.2 Шынайы уақыт жүйелері

Real-time system шынайы уақыт жүйесі (ШУЖ) бұл шығыс сигналын генерациялау уақыты  айтарлықтай роль ойнайтын кез келген жүйе. Әдетте бұл кіріс сигналы физикалық процестегі өзгерулерге сәйкес болумен және шығыс сигналы осы өзгерулермен байланысты болуымен байланысты.Кіріс сигналды алудан шығыс сигналды беруге дейінгі уақыттық кешігу қолайлы реакция уақытын қамтамасыз ету үшін үлкен емес болуы керек. Реакция уақыты жүйелік сипаттама болып табылады: ракетаны басқару кезінде бірнеше миллисекунд, ал пароходтардың қозғалуын диспетчерлік басқару үшін күндермен есептелетін реакция уақыты қажет.

Әдетте жүйелер, егер олардың уақыт реакциясының реті миллисекундты құраса шынайы уақыт жүйелері деп есептеледі; диалогты деп уақыт реакциясының реті бірнеше секундтармен жүйелер есептеледі, ал пакеттік өңдеу жүйелерінде уақыт реакциясы сағаттармен немесе күндермен есептеледі.      Шынайы уақыт жүйелерінің мысалдары болып есептеу машиналарын қолданумен физикалық процестерді басқару жүйелері, сауда автоматтарының жүйелері, бақылаудың автоматтандырылған жүйелері және автоматтандырылған сынақ кешендері болып табылады.

 

2.2.1 Шынайы уақыт режімі [real time processing]

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

Мысал автоұшқышта ұшатын самолетті басқару циклы. Самолеттің датчиктері өлшенген ақпаратты ұдайы басқарушы компьютерге беруі қажет.  Егер өлшеулердің мәліметтері жоғалса, онда самолетті басқару сапасы төмендейді.

Мысал ақпаратты жинау, бастапқы өңдеу және тасымалдау функцияларымен өзіндік программалық-техникалық кешендерді бөлу (PI System). PI System шынайы масштабты уақыттағы технологиялық процестер туралы ақпаратты кәсіпорынның орта және жоғары буынды мамандары үшін өндірісті басқару және бизнес-жүйелер деңгейіне  береді.

 PI System – бұл өнеркәсіптік кәсіпорын үшін шынайы уақыт өндірісінің ақпараттық жүйесін құру аспабы. PI System әртүрлі SCADA-жүйелерден, DCS, ПЛК, қолмен енгізу құрылғыларынан, зауыт зертханаларынан және  т.с.с. мәліметтерді жинау, сақтау және бірыңғай форматта беруді ең жақсы түрде қамтамасыз етеді. 2.2 суретте  шынайы уақыт жүйесінің функционалды құрамы берілген.

 

 

2.2 сурет - Шынайы уақыт жүйесінің функционалды құрамы

 

2.3  суретінде шынайы уақыт жүйесінің жұмыс істеу циклограммасы берілген. Циклограммадан шынайы уақытты ұйымдастыру ақпаратты жинау және бастапқы өңдеу ішкі жүйесінің жұмыс істеуімен қамтамасыз етілетіндігі көрінеді.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.3 сурет – Шынайы уақыт жүйесінің жұмыс істеу циклограммасы

 

3 дәріс.  SCADA-жүйелер.  Ақпаратты бастапқы өңдеу алгоритмдері

Дәрістің мақсаты: шынайы уақыт ақпараттық ішкі жүйелердегі ақпаратты бастапқы өңдеу алгоритмдерін анықтау және оқып үйрену.

 

         Дәрістің мазмұны: ақпаратты жинау және бастапқы өңдеу алгоритмдері. Ақпараттың анықтылығын бақылау алгоритмдері. Интерполяция және экстраполяция. Өлшенетін ақпарат сигналдарын фильтрациялау.

 

3.1 Ақпаратты жинау және бастапқы өңдеу алгоритмдері

Автоматтандырылған басқару жүйелеріндегі (SCADA-жүйелердегі)  ақпаратты жинауды ұйымдастыру жалпы жұмыс істеу алгоритміне сәйкес (ШУЖ циклограммасы, 2 дәріс) технологиялық басқару объектісінің (ТБО) технологиялық айнымалылар датчиктерінен  ақпаратты цифрлық формада алуды анықтайды (3.1 суретті қара).

 

 

 

 

                3.1 сурет- Ақпаратты жинауды ұйымдастыру сұлбасы

 

x(t) – өлшенетін ақпарат сигналы

g(t) – түрлендіргіштің шығыс шамасы (пайдалы сигнал)

z – әсер етуші факторлар

g(t) – пайдалы сигнал және бөгеуілдің қоспасы

к – коммутатор

 

Температураны термопарамен өлшеген кездегі Х айнымалысын іске асыру мысалы:

                 

 

мұндағы:

t ыстық дәнекер температурасы x

t0 – суық дәнекер температурасы z0.

  

Егер  z0    - номинальді статикалық сипаттама

 

 

 

Ары қарай деңгей бойынша кванттау нәтижесінде y*(j t0) аламыз.

         3.2 Ақпаратты бастапқы өңдеу

         ЭЕМ-де параметрдің сандық мәнінде сақталатын алгоритмдер тобы ақпаратты бастапқы өңдеу алгоритмдері деп аталады. Ақпаратты бастапқы өңдеудің  негізгі алгоритмдері:

1)     Ақпараттың анықтылығын бақылау.

2)     Интерполяция және экстраполяция.

3)     Өлшенетін ақпараттың сигналдарын фильтрациялау.

4)     Датчиктерді аналитикалық градуирлеу.

5)     Қалпына келтірілген мәндерді түзету.

3.2.1 Ақпараттың анықтылығын бақылау

Ең жиі кездесетін ақпараттың анықты емес себептері келесідей:

1)     датчиктердің және түрлендіргіштердің ақаулығы;

2)     байланыс линияларындағы бөгеуілдердің әсері;

3)     өлшеу приборларының метологиялық сипаттамаларының нашарлауы.

     Ақпараттың анықтылығын бақылау келесілерді салыстыру арқылы жасалады:

    - жоғарғы және төменгі шектерді бақылау

 

                            ,

 

ақау

 
                                  

 

         - мәндердің өзгеру жылдамдығы бойынша бақылау.

 

           Егер жылдамдық температура бойынша өзгерсе => ақау.

 

  жылдамдық бойынша бақылау,

,

         3.2.2 Интерполяция және экстраполяция

 

 осы интервалдағы функцияның мәнін анықтау керек.

 

          Баспалдақты интерполяция қолданылады (нөлдік ретті интерполяция). Интервалдар өте кіші болғандықтан

 

 

алдыңғы қадамдағы мән қабылданады.

          3.2.3 Өлшенетін ақпарат сигналдарын фильтрациялау

 


                        

Кіріс сигналы -∞ < t < ∞ болғандағы z(t) кездейсоқ процесі болып табылады және z (t) пайдалы y(t) сигналының және ξ(t) бөгеуілінің қоспасы (аддитивті болуы міндетті емес) болсын. Тек қана пайдалы сигналға D белгілі операциясының нәтижесі болып табылатын шығыста g(t)  қаланатын сигнал алуға мүмкінік беретін кіріс сигналын өңдейтін жүйе (Ф фильтр) құру қажет:

Практикада келесі дербес жағдайларды қолданады:

     а) g(t) = y(t) (-α) – фильтрациялау және тегістеу есебі;

б) g(t) = y(t) - фильтрациялау есебі;

в) g(t) = y(t) (+α) - фильтрациялау және алдын алу есебі;

мұндағы α >0.

Есептеу көлеміне талаптар тұрғысынан (α) үшін экспоненциалды тегістеу фильтрін қолдану тиімді:

                                             ,                                 (3.1)

мұндағы - фильтр параметрі.

            (3.1) фильтрінің дискретті варианты ақпаратты жинау және тасымалдаудың ішкі жүйелерінде, және де SCADA жүйелерінде қолданылады:

             ,              (3.2)

мұндағы z[n] nΔt  уақыты кезеңіндегі кіріс сигналаның мәні (Δt дискреттеу интервалы);

 - фильтр параметрі (0 < <1).

         Бұдан  басқа жүйелерде  статистикалық фильтр және тайғанақ орта фильтрі қолданылады.

4 дәріс. SCADA-жүйелер. Өндірісті басқарудың автоматтандырылған жүйелерін (ӨБАЖ) (MES –жүйелері) және ТПАБЖ (SCADA и DCS) интеграциялау жолдары

Дәрістің мақсаты: шынайы уақыт басқару жүйелерінде және ӨАБЖ (MES-жүйелер) бірыңғай ақпараттық кеңістікті құруды анықтау және негізгі мәселелері.

Дәрістің мазмұны: басқару жүйелерінің ақпараттық әсерлесу деңгейлері. Реляциялық МБ және шынайы уақыт МБ БД .

4.1 Басқару жүйелерінің ақпараттық әсерлесу деңгейлері

Басқаратын және қаржы-шаруашылық әрекетін автоматтандыру жүйесі мен кәсіпорынның ресурстарын жоспарлау жүйесінен, және ТПАБЖ-нен (технологиялық және өндірістік процестерді автоматтандыру жүйелері) тұратын   КБАЖ-нің(АСУП) өнеркәсіптік кәсіпорынды автоматтандырудың екі ішкі жүйесі бір бірінен оқшау және тәуелсіз дамыды. Бірақ та шындығында өндірісті басқару деңгейі мен ТПАБЖ-нің арасында анық шекара жоқ, керісінше, орындалатын функциялардың өзара үзіліссіздігіне байланысты  олардың қайсыбір жабылуы бар. Бұл қалыптасқан бөлу, өндірістің процесін басқару деңгейі толығымен КБАЖ-нің (АСУП) ішкі жүйесіне жатқызылған 4.1 суретте бейнеленген.

 

 

 

 

 

 

 

 

 

 

 

 

4.1 сурет- Басқару жүйелерінің ақпараттық әсерлесу деңгейлері

 

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

Екі ішкі жүйенің бағдарламалық қамтамаларының жалпы қасиеттерінің болуы интеграциялау үшін объектіивті мүмкіндіктердің жетілгендігі туралы айтуға мүмкіндік береді. Қазіргі кездегі бірыңғай тораптық протоколдардың және қазіргі кездегі ақпараттық технологиялардың арқасында бұл есептерді ойдағыдай шешу үшін барлық қажетті жағдайлар бар. ӨАБЖ және ТПАБЖ деңгейлерінің ішкі жүйелерін интеграциялаудың келесі тәсілдерін қарастырайық:

- мәліметтер базасын қолдану, соның ішінде ішкі жүйелер арасында мәліметтермен жедел алмасуды қамтамасыз етуге мүмкіндік беретін әртүрлі ішкі жүйелер арасында буфер ретінде. МБ әрі ішкі жүйелердің өздерінің қызмет ету негізі, және де функционалды мәліметтерді сақтау үшін қолданылатын құрал болып та табылады.  Нақ МБ, ең дұрысы, екі ішкі жүйені интеграциялаудың негізгі құралы бола алады;

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

 

     4.2 Реляциялық МБ және шынайы уақыт МБ

 

Мәліметтер базасын басқару жүйелері (МББЖ) көмегімен әртүрлі және көбінесе, бір бірімен үйлеспейтін әдістермен ұсынылатын технологиялық процестерді басқару жүйелеріндегі өте үлкен көлемдегі қайталанатын және кейде қарама қайшы болатын ақпаратпен байланысты мәселелер шешіледі. Технологиялық процестерді басқару жүйелерінде MES – жүйелерге бағытталған әдеттегі реляциялық базаларын әрқашан қолдану мүмкін емес. Оған бірнеше негізгі шектеулер кедергі болады:

- өндірістік процестер мәліметтерді өте тез генерациялайды. Мысалы, 7500 жұмысшы айнымалылармен жүйенің өндірістік архивін сақтау үшін МБ-на әрбір секунд сайын 7500 жол қою керек. Әдеттегі МБ мұндай жүктемеге төзбеуі мүмкін;

- өндірістік ақпарат көлемінің үлкендігі соншама, ол әдеттегі мәліметтер базасына сыймайды. Мысалы, 750 жұмысшы айнымалылармен зауыттың көп айлық архиві мәліметтер базасында 1 терабайтқа жуық дискілік жадыны қажет етеді. Бүгінгі технологиялар мұндай көлемдермен манипуляция жасай алмайды;

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

Бұл шектеулерді игеру нәтижесі ретінде шынайы уақыт мәліметтер базалары (ШУМБ) деп аталатын өнімдер класы пайда болды. ШУМБ құрудың екі концепциясы белгіленеді: жаңа тәуелсіз мәліметтер базасын жасау немесе белгілі реляциялық МБ негізінде ШУМБ жасау, мысалы, MS SQL Server. Екінші әдістің болашағы көбірек, өйткені, біріншіден, ол арзанырақ, ал екіншіден, технологиялық. ШУМБ іске асыру мысалы ретінде IndustrialSQL Server (Wonderware компаниясы) және Plant2SQL (Ci Technologies) атап өтейік. MS SQL Server негізінде құрылған ШУМБ негізгі функциялары келесілер:

- уақыт бойынша сын қойылмайтын ақпаратты Microsoft SQL Server мәліметтер базасында сақтау;

- жоғары рұқсат ету қабілетімен өте үлкен ақпарат ағындарын сақтауды қамтамасыз ететін жоғары өткізу қабілетін қолдау;

- ақпараттың үлкен көлемдерін шығынсыз жазуды қамтамасыз ететін мәліметтердің бүтіндігін қолдау;

- Microsoft SQL Server-ге шынайы уақыт серверінің қасиетін қосу.

Қазіргі уақытта ШУМБ технологиялық ақпаратты сақтауға, басқаратын мәліметтермен байланысты қамтамасыз етуге, КБАЖ-нің ішкі жүйелерінде әлдеқашан стандартты болған (кәсіпорынды басқарудың автоматтандырылған жүйесі) OLE DB, Internet интерфейстерін қолдануға бағытталған өнімдер болып табылады.    Бір жағынан,    бұл,   МБ-да  сақтау   үшін   әртүрлі технологиялық  

 

көздерден түсетін мәліметтер, екінші жағынан,  SQL-сервердің интерфейсі арқылы тұтынушылармен сұралатын мәліметтер (4.2 суретті қара).

 

 

 

4.2 сурет - MS SQL Server негізіндегі ШУМБ

 

ШУМБ-да қолданылатын клиент-сервер архитектурасы, ақпараттың үлкен көлемдері тән шынайы уақыттағы өнеркәсіптік бақылау және басқару жүйелері мен ашық иілгіш басқаратын ақпараттық жүйелер арасындағы аралықты толтыруға мүмкіндік береді. Құрылатын жүйенің талаптарына байланысты шешімдердің келесі нұсқалары болуы мүмкін екендігін атап өткен жөн:

а) кестелеріне ТПАБЖ-нің ішкі жүйесі SQL-сұраныстар бойынша технологиялық мәліметтерді жазатын тек қана (ШМБ) шынайы МБ қолдану; ары қарай технологиялық мәліметтер екі ішкі жүйемен де қолданылуы мүмкін;

б) мәліметтерді тіркеудің жоғарырақ сипаттамаларын қамтамасыз ететін және мәліметтерді кестелерге енгізу процесін ықшамдайтын (SQL-ді қолданусыз) ШУМБ қолдану;

в) технологиялық бастапқы мәліметтер үшін ШУМБ және туынды ақпарат үшін ШМБ-ның (шынайы МБ) кестелерін қолдануды болжайтын біріктірілген шешімді құру.

5 дәріс.  Кодалау теориясының негіздері және кодалар. Бөгеуілге орнықты кодалау

Дәрістің мазмұны: АБЖ ақпараттық ішкі жүйелеріндегі кодалау теориясының әдістерін анықтау және оқып үйрену.

Дәрістің мазмұны: бөгеуілге орнықты кодалаудың принциптері. Түзетуші кодалардың анықтамасы және классификациясы. Блоктық код.

    5.1 Бөгеуілге орнықты кодалау

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

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

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

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

5.1.1 Бөгеуілге орнықты кодалардың классификациясы

Қазіргі кездегі бөгеуілге орнықты кодалардың басым көпшілігінде көрсетілген шарттар олардың алгебралық құрылымының салдары болып табылады. Осыған байланысты оларды алгебралық кодалар деп атайды. (Мысалы, түзетушілік әрекеті әрбір символдың бұрмалану ықтималдығын бағалауға негізделген Вагнер кодаларынан ерекшелігі).

Алгебралық кодаларды екі үлкен класқа бөлуге болады: блоктық және үздіксіз.

Блоктық кодалар жағдайында кодалау процедурасы хабарламаның әрбір әрпіне (немесе осы әріпке сәйкес келетін k символдық тізбекке) n символдан тұратын блокты салыстыру болып табылады. Түрлендіру бойынша операцияларда тек қана көрсетілген k символдар қатысады және шығыстағы тізбек берілетін хабарламадағы басқа символдарғы тәуелді емес.

Егер n хабарламаның барлық әріптері үшін тұрақты болса, онда блоктық код бірқалыпты деп аталады.

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

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

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

 Техникалық іске асыру тұрғысынан бұл кластағы кодалардың ең қарапайымы болып жиналатын (рекурренттік) кодалар болып табылады.

5.1.2 Блоктық код. Артықтықты қолданудың негізгі принциптері

Коданың қатені табу және түзету қабілеті артық символдардың болуына байланысты. Кодалаушы құрылғының кірісіне k  ақпараттық екілік символдардан тұратын тізбек түседі. Шығыста оған n екілік символдардан тұратын тізбек сәйкес келеді, мұнда n>k.

          Барлығы 2k әртүрлі кіріс және 2n әртүрлі шығыс тізбектері болуы мүмкін. 2 n жалпы шығыс тізбектерінің санынан тек қана 2k тізбектер кіріске сәйкес келеді. Оларды рұқсат етілген кодты комбинациялар деп атаймыз.
Қалған 2n-2k мүмкін болатын шығыс тізбектер тасымалдау үшін қолданылмайды. Оларды тыйым салынған комбинациялар деп атаймыз.

Тасымалдау процесі кезінде ақпараттың бұрмалануы берілген символдардың кейбірі басқалармен – дұрыс емес символдармен алмасуына әкеледі. 2k  рұқсат етілген кобинациялардың әрбірі бөгеуіл әсер ету нәтижесінде кез келген басқа комбинацияға өзгертілетін болғандықтан, барлығы 2k• 2n берудің мүмкін болатын жағдайлары бар (5.1 суретті қара).

 


 

                  5.1 сурет Ақпаратты бөгеуілмен тасымалдау нұсқалары

 

Бұл санға келесілер кіреді:

- қатесіз берудің 2k жағдайы (5.1 суретте қалың линиялармен белгіленген);

- табылмайтын қателерге сәйкес келетін басқа рұқсат етілген комбинацияларға көшудің 2 k (2 k -1) жағдайлары (6.1 суретте пунктирлі лигниялармен көрсетілген);

- табылатын рұқсат етілмеген комбинацияларға көшудің 2k(2n - 2k) жағдайлары (6.1  суретте тұтас жіңішке линиялармен белгіленген).

 Демек, тасымалдау жағдайларының мүмкін болатын жалпы санынан  табылатын қате кодты комбинациялардың бөлігі:

               2k(2n - 2k) / 2k • 2n = 1 — 2k / 2n ,                      (5.1)

құрайды.

Мысал. Әрбір комбинациясы бір ғана артық символдан тұратын  ( n = k+1) коданың табушылық қабілетін анықтайық. Шығыс тізбектерінің жалпы саны 2k+1 құрайды, демек кодталатын кіріс тізбектерінің жалпы санынан екі есе көп. Рұқсат етілген кодалы комбинациялардың ішкі жиыны ретінде, мысалы, бірліктердің (немесе нөлдердің) жұп санынан тұратын 2k комбинациялардың ішкі жиынын алуға болады.

Кодалау кезінде k ақпараттық символдардан тұратын әрбір тізбекке кодалы комбинациядағы бірліктердің саны жұп болатындай  бір символ (0 немесе 1) қосылады. Кез келген тақ санды символдардың өзгеруі рұқсат етілген кодалы комбинацияны қабылдаушы жақта бірліктердің тақ саны бойынша табылатын тыйым салынған комбинациялардың ішкі жиынына ауыстырылады. Танылған қателердің бөлігі

                                                          1 -  2k / 2k+1 = ½,                                          (5.2)

 Қателерді түзету жағдайын қарастырайық.

 Декодалаудың кез келген әдісін, тыйым салынған кодалы комбинациялардың барлық жиынын, әрқайсысы рұқсат етілген комбинациялардың  біріне сәкес қойылатын 2k қиылыспайтын Mi ішкі жиынына бөлу ережесі ретінде қарастыруға болады. Mi ішкі жиынына тиісті тыйым салынан комбинацияны алу кезінде, Ai  рұқсат етілген комбинациясы тасымалданды деп шешім қабылдайды. Қате, алынған комбинация расында да Ait –ден құрылған жағдайларда ғана түзетіледі, демек 2n —2k жағдайларда.

 Рұқсат етілмеген комбинацияларға көшудің барлық жағдайы - 2k(2n - 2k). Осылайша, артықтық бар кезде кез келген код қатені түзетуге қабілетті. Кодамен түзетілетін қате кодалы комбинациялар санының табылатын қате комбинациялар санына қатынасына тең:

                                                   (2n -2k )/ [2k(2n -2k)] = 1 / 2k ,                                   (5.3)

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

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

 Өзара тәуелсіз қателер деп, қажалған символдардың кез келген комбинациясының пайда болу ықтималдығы тек қана r қажалған смволдар санынан және р бір символдың қажалу ықтималдығына байланысты  тасымалданатын символдар тізбегіндегі бұрмалануларды айтамыз.

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

Өзара тәуелсіз қателер кезінде n-разрядты кодалы комбинациядағы кез келген r символдардың қажалу ықтималдығы

                                                                                 рr= C r n  P r(1 – P) n -r                                                                          (5.4)  

 Егер  p<<1 ескерсек, онда бұл жағдайда төменгі еселікті қателер ең ықтималдықты болады. Оларды  бірінші кезекте табу және түзету қажет.

 

6 дәріс. Бөгеуілге орнықты кодалау. Блоктық код

Дәрістің мақсаты: АБЖ ақпараттық ішкі жүйелерінде қолданылатын  кодалау теориясының әдістерін анықтау және оқып үйрену.

Дәрістің мазмұны: бөгеуілге орнықты кодалаудың негізгі принциптері. Түзетуші коданың сипаттамалары.

6.1 Коданың түзетушілік қабілетінің  кодалық ара қашықтықпен байланысы

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

Кез келген екі кодалы комбинацияның ерекшелік дәрежесі олардың арасындағы Хэмминг мағынасында олардың арасындағы ара қашықтықпен   немесе кодалы ара қашықтықпен сипатталады. Ол комбинациялар бір бірінен ерекшеленетін символдар санымен көрсетіледі және d арқылы белгіленеді.

Екілік коданың екі комбинацияларының арасындағы кодалы ара қашықтықты алу үшін осы комбинациялардың модулі 2 бойынша қосындысындағы бірліктер санын санау жеткілікті. Мысалы:

                                               1001111101

                                           1100001010

                                                 0101110111, d = 7.

Коданың рұқсат етілген комбинацияларының барлық кодалық жұптары бойынша алынған ең кіші ара қашықтық ең кіші кодалық ара қашықтық деп аталады.

Қабылдаудан кейінгі декодалау, қабылданған кодалы комбинация одан ең кіші кодалық ара қашықтықта болатын рұқсат етілген кодалы комбинациямен теңдестірілетіндей жасалуы мүмкін.

Мұндай декодалау ең көп шындыққа жату әдісі бойынша декодалау деп аталады.

d = 1 болғанда барлық кодтық комбинациялар рұсат етілген болатындығы анық.

Мысалы, n = 3 болғанда рұқсат етілген комбинациялар келесі жиынды түзеді: 000, 001, 010, 011, 100, 101, 110, 111.

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

Егер d = 2, онда бірлік қате кезінде рұқсат етілген кодты комбинациялардың бір де біреуі басқа рұқсат етілген комбинацияға көшпейді. Мысалы, рұқсат етілген кодты комбинациялардың ішкі жиыны n=3 болғанда төменде көрсетілгендей, олардағы бірліктер санының жұптылық принципі бойынша түзілуі мүмкін:

                        000,   011, 101, 110рұқсат етілген комбинациялар,

                        001,   010, 100, 111    - тыйым салынған комбинциялар.

 

Код бірлік қателерді, сондай ақ басқа да тақ еселікті қателерді (n = 3 болғанда үштік) қателерді табады. Жалпы жағдайда r дейінгі (оны қоса алғанда) еселікті қатені табу қажет болған кезде рұқсат етілген кодты комбинациялар арасындағы ең кіші хэмминг ара қашықтығы тым болмағанда  r-ден бірге артық болуы керек, демек:  

                                                                   d0 min ≥ r +l.                                      (6.1)

Расында да, бұл жағдайда еселігі r-ден аспайтын қате бір рұқсат етілген кодты комбинацияны басқасына ауыстыра алмайды.

Әрбір рұқсат етілген кодты комбинацияның бірлік қатесін түзету үшін тыйым салынған кодты комбинациялардың ішкі жиынын салыстыру керек. Бұл  ішкі жиындар қиылыспас үшін, рұқсат етілген кодты комбинациялардың арасындағы хэмминг ара қашытығы үштен кем болмауы керек. n = 3 болғанда рұқсат етілген комбинациялар ретінде, мысалы, 000 немесе 111 алуға болады. Сонда рұқсат етілген 000 комбинациясына 000 комбинациясында бірлік қатенің пайда болу нәтижесінде түзілетін 001, 010, 100 тыйым салынған кодты комбинациялардың ішкі жиынын қосып жазу керек.

Осылайша рұқсат етілген 111 комбинациясына 111 комбинациясында бірлік қатенің пайда болу нәтижесінде түзілетін 110, 011, 101 тыйым салынған кодты комбинациялардың ішкі жиынын қосып жазу керек:

 

                                                  001

                                                  010

Рұқсат етілген   000                100           Тыйым салынған

комбинациялар  111               011            комбинациялар

                                                 101

                                                 110

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

Әрбір n - разрядты Bi комбинацияларының  ішкі жиыны келесі әсерлердің салдары болатын тыйым салынған комбинациялардан түзіледі (6.1 суретті қара):

 

6.1 сурет Кодалардың рұқсат ету қабілеті

 

- бірлік қателердің (олар d=1 радиусты сферада орналасады және олардың саны  тең;

- екілік қателердің (олар d = 2 радиусты сферада орналасады және олардың саны   тең және т.с.с.

Ішкі жиынның сыртқы сферасының радиусы d = s және онда   тыйым салынған кодты комбинациялар бар.

Көрсетілген ішкі жиындар қиылыспауы қажет болғандықтан, рұқсат етілген комбинациялардың арасындағы ең кіші хэмминг ара қашықтығы

                                                               dn min ≥ 2s + l,                                            (6.2)

қатынасына қанағаттандыруы керек.

s еселікті барлық қателерді түзету үшін және r(rs)  еселікті барлық қателерді бір уақытта табу үшін ең кіші хэмминг ара қашықтығын

                                                         d n 0  min ≥ r +s+l,                                        (6.3)

шартынан таңдау қажеттігіне көз жеткізу күрделі емес.

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

Шынайы байланыс каналдарында бөгеуіл импульстерінің ұзақтығы символдың ұзақтығынан жиі асады. Бұл кезде бір уақытта комбинацияның бірнеше қатар орналасқан символдары кажалады. Мұндай қателер  қорабы немесе қателер пакеті деген атқа ие болды. Қате қорабының ұзындығы деп ρ-дан кем емес қажалмаған символдары бар бірінші қажалған символдан бастап және қажалған символмен аяқталатын бір бірінен кейін ұласатын символдар санын айтады. ρ–ны таңдау негізі ретінде қателер туралы статистикалық мәліметтер алынады. Мысалы, егер 00000000000000000 кодты комбинациясы 01001000010101000 комбинациясына өзгертілсе және ρ үшке тең деп қабылданса, онда комбинацияда ұзындықтары 4 және 5 символдардан екі пакет бар.

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

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

                                        Rn= (n – k ) / n,                            (6.4)

немесе

                                         Rn= (n – k ) / k,                            (6.5)                                  

 

0-ден-ке дейін өзгеретін Rk, шамасының артықшылығы бар, өйткені артықтық түсінігінің мағынасына артық жауап береді. Мүмкін болатын ең кіші артықтық кезінде берілген түзетушілік қабілетті қамтамасыз ететін кодалар тиімді деп аталады.

Тиімді кодаларды табуға байланысты, мысалы, қоса алғанда s-ке дейінгі еселікті өзара тәуелсіз қателерді түзету қабілеті бар n-мәнді екілік коданың рұқсат етілген комбинациялардың мүмкін болатын ең үлкен Q санын бағалайық.  Бұл кодтық ара қашықтықтары d = 2s +1 кем емес комбинациялар санын іздеумен тепе-тең. Әрбір рұқсат етілген комбинация үшін әртүрлі түзетілетін қателердің жалпы саны  құрайды. Мұндай қателердің әрбірі берілген рұқсат етілген комбинациялардың ішкі жиынына қатысты тыйым салынған комбинацияға әкелуі керек.  Бұл комбинациямен бірге ішкі жиын 1 +    комбинациялардан тұрады.

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

                                                          ,                                               (6.6)

асуы мүмкін емес, немесе

                                                           Q ≤ 2n  / .                                            (6.7)

 

Бұл жоғарғы баға Хэммингпен табылған. d кодтық ара қашықтығының кейбір нақты мәндері үшін сәйкес Q 6.1 кестеде көрсетілген.

 

        6.1 кесте                    

D

Q

D

Q

1

2n

5

2

≤2 n –1

 

3

 

4

2k + 1

 

Келтірілген қатынаста теңдікке қол жеткізілетін кодалар тығыз жинақталған деп аталады.

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

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

Егер кодалаушы код сенімділігі және тез жұмыс істеуі, кодалайтын жєне декодалайтын аппаратураның элементтерінің сенімділігі мен тез жұмыс істеуіне тең немесе жаќын элементтерде орындалған жүйеде ќолданылуы керек болса (мысалы, цифрлыќ есептеу машинасыныњ есте саќтау ќ±рылѓысынан аќпаратты қалпына келтіру аныќтылыѓын арттыру ‰шін), онда т‰зетуші кодтыњ сапа критерийі болып ж‰йеніњ жалпы сенімділігі, демек кодтау жєне  декодтау ќ±рылѓыларындаѓы м‰мкін болатын қателер мен кідірістерді есепке алѓандаѓы, болып табылады. Б±л жаѓдайда кµбірек артыќтыќпен, біраќ техникалыќ іске асырудыњ ќарапайым артықшылығы бар кодтар жиі жағдайдарда орындырақ.

7 дәріс. Сызықты кодалар. Сызық кодаларға математикалық кіріспе

Дәрістің мақсаты: автоматтандырылған басқару жүйелерінің (АБЖ) ақпараттық ішкі жүйелерінде қолданылатын кодалау теориясының әдістерін анықтау және оқып үйрену

Дәрістің мазмұны: бөгеуілге орнықты кодалардың принциптері. Сызықты кодалар. Сызықты алгебраның ұсыныстарын қолданып  сызықты кодаларды сипаттау. 

 

7.1 Сызықты кодалар

Бөлінетін кодалардың ең үлкен класын тексеруші символдарының мәндері белгілі бір ақпараттық символдарға сызықты операцияларды қолдану нәтижесінде анықталатын сызықты кодалар құрады. Екілік кодалар жағдайы үшін әрбір тексеретін символды оның белгілі бір ақпараттық символдармен қосындысы нөлге тең болатындай таңдайды. Егер берілген тексеретін теңдікке кіретін ақпараттық разрядтардың бірліктер саны тақ болса тексеретін позицияның символының мәні 1, және егер ол жұп болса, 0 тең. Тексеретін теңдіктер саны (демек, тексеретін символдар саны да) және әрбір теңдікке кіретін нақты ақпараттық разрядтардың нөмірлері, берілген код қандай және қанша қатені түзетуі немесе табуы керектігімен анықталады. Тексеретін символдар кодты комбинацияның кез келген жерінде орналаса алады.

Декодалау кезінде тексеретін теңдіктердің әділдігі анықталады. Екілік кодалар жағдайында мұндай анықтау әрбір теңдікке кіретін (тексеретінді қоса алғанда) символдар арасында бірліктер санының жұптылығына тексеруге әкеледі. Тексерулер жиынтығы қатенің болуы, ал қажет жағдайда символдардың қандай позицияларда қажалғандығы туралы да ақпарат береді.

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

7.2 Сызықты кодаларға математикалық кіріспе

Сызықты кодаларды математикалық сипаттау негізі болып сызықты алгебра табылады (векторлық кеңістіктер теориясы, матрицалар теориясы, топтар  теориясы). Кодтық комбинацияларды жиын элементтері ретінде қарастырады, мысалы екілік коданың кодты комбинациялары оң екілік сандар жиынына тиісті.

Кейбір алгебралық операциялар анықталған жиындарды алгебралық жүйелер деп атайды. Алгебралық операция  деп белгілі ережелер бойынша кейбір үшінші элементті екі элементке бір мағыналы салыстыруды түсінеді. Әдетте негізгі операцияны тіпті бұл операциялар сандарға орындалмаса да және сәйкес арифметикалық операцияларға ұқсас емес болса да қосу (а+b = с деп белгілейді) немесе көбейту  (а∙b = с  деп белгілейді), ал оған кері - алу немесе бөлу  деп атайды.

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

1)          Топтың кез келген екі элементіне операцияны қолдану нәтижесінде осы топтың элементі түзіледі (тұйықтылық талабы).

2)          Топтың кез келген a, b және с  элементтері үшін (а+b)+c = а+(b+c)  теңдігі (егер негізгі операция - қосу) және a∙(bc) = (ab)∙c  теңдігі (егер негізгі операция – көбейту) қанағаттандырылады.

3)          Кез келген Gn тобында Gn –нен a-ның кез келген мәндерінде a+0=0 + a = a шартына (егер негізгі операция – қосу) немесе шартты түрде a • 1 = 1 • а = а (егер негізгі операция – көбейту) қанағаттандыратын бір мағыналы анықталған элемент бар. Бірінші жағдайда элемент нөл деп аталады және 0 символымен белгілейді, ал екінші жағдайда - бір деп аталады 1 символымен белгілейді.

     4) Топтың кез келген  а  элементінде а + (— а) = — а+ а = 0 теңдеуімен (егер негізгі операция  -  қосу) немесе • a-1  =  a-1 a= 1 теңдеуімен (егер негізгі операция – көбейту) бір мағыналы анықталған элемент бар.

Бірінші жағдайда бұл элементті қарама-қарсы  деп атайды және (-а) деп белгілейді, ал екінші жағдайда - кері   деп атайды және a-1 деп белгілейді.

Егер топта анықталған элемент коммутативті болса, демек a +b  = b + a (қосу бойынша топ үшін) немесе a •  b = b a теңдігі (көбейту бойынша топ үшін) әділ болса, онда топты коммутативті немесе абельдік  деп атайды.

Шекті элементтер санынан тұратын топты шекті деп атайды. Топтағы элементтер санын топтың реті деп атайды.

Бізбен қарастырылатын n-разрядты кодты комбинациялар жиыны шекті топ болуы үшін, негізгі операцияны орындау кезінде нәтижелік кодты комбинациядағы разрядтар саны артпауы керек. Бұл шартқа, топ элементтерінің бірдей разрядтарының цифрлары әдеттегі ретпен қосылатын, ал қосу нәтижесі болып алынған санды q модуліне бөлгендегі қалдық саналатын берілген q модулі бойынша (q жай сан) символикалық разряд бойынша қосу операциясы қанағаттандырады. 

Екілік кодаларды қарастыру кезінде модулі 2 бойынша қосу операциясы қолданылады. Берілген разрядтың цифрларын косу нәтижесі 0 болады, егер ондағы бірліктердің қосындысы жұп болса, және 1, егер ондағы бірліктердің қосындысы тақ болса, мысалы:

                                         1 0 1 1 1 0 1

                                      0 1 1 1 1 0 1

                                          0 0 0 1 1 1 0

                                         1 1 0 1 1 1 0

Бізбен таңдалған операция коммутативті, сондықтан қарастырылатын топтар абельдік болады.

Нөлдік элемент болып тек нөлдерден тұратын комбинация табылады. Модулі 2 бойынша қосу кезінде қарама-қарсы элемент болып элементтің өзі табылады. Демек, модулі 2 бойынша алу операциясы қосу операциясына тепе тең болады.

6.1 мысал. Кодалы комбинациялардың келесі жиындары топ бола ма, соны анықтау керек:

1)0001, 0110, 0111, 0011;

2)0000, 1101, 1110, 0111;

3)   000, 001, 010, 011, 100, 101, 110, 111.

Бірінші жиын топ болмайды, өйткені нөлдік элемент жоқ.

Екінші жиын топ болмайды, өйткені тұйықтылық шарты орындалмайды, мысалы 1101 және 1110 комбинацияларының модулі 2 бойынша қосындысы бастапқы жиынға тиісті емес 0011 комбинациясын береді.

‡шінші жиын барлық аталған шарттарды қанағаттандырады да топ болып табылады.

Топта анықталған операцияға қатысты өздері топ болатын топтың ішкі жиындары ішкі топтар деп аталады. Мысалы, 000, 001, 010, 011 үш разрядты кодты комбинациялардың ішкі жиыны, мысалда көрсетілген үш разрядты кодты комбинациялардың тобында ішкі топты құрайды.

Gn  абельдік тобында белгілі А ішкі тобы берілсін. Егер В - Gn-нен А-ға кірмейтін кез келген элемент болса, онда  В элементтерінің А ішкі тобының кез келген элементтерімен қосындысы (модулі 2 бойынша) В  элементімен туғызылатын А ішкі тобы бойынша Gn тобының сыбайлас класын құрады. В элементі, әрине, бұл сыбайлас класта бар, өйткені кез келген ішкі топта нөлдік элемент бар. Топтың кейбір әлдеқашан түзілген сыбайлас кластарға кірмейтін Вj, элементтерін тізбекті түрде алып барлық топты А ішкі тобы бойынша сыбайлас кластарға жіктеуге болады.

Вj  элементтерін ішкі топтың сыбайлас кластарының түзуші элементтері деп атайды. Кейде топтық кесте деп аталатын жіктеу кестесінде әдетте түзуші элементтерді шеткі сол бағанда орналастырады, әрі ішкі топтың шеткі сол элементі болып нөлдік элемент табылады.

6.3 мысал. Үш разрядты екілік кодты комбинациялар тобын екі разрядты кодты комбинациялардың ішкі тобы бойынша жіктейміз. Жіктеуді 6.2 кестесіне сәйкес орындаймыз.

          6.2 кесте

А1 = 0

А2

А3

A4

000

001

010

011

В1

А2 + В1

Aз + В1

А4 + В1

100

101

110

111

 6.4 мысал. Төрт разрядты екілік кодты комбинациялар тобын екі разрядты кодты комбинациялардың ішкі тобы бойынша жіктейміз.

Сыбайлас кластардың түзушілері ретінде қандай элементтер алынғанына байланысты жіктеудің көптеген нұсқалары бар. Нұсқалардың бірі 6.3 кестесінде берілген.

           6.3 кесте

А1 =   0000

А2

0001

А3 0010

 А4

0011

B1  

0100

А2  B1

0101

Аз  B1

0110

А4  B1,

0111

В2  

 1010

А2  В2

1011

Аз   В2 1000

А4  В2

1001

В3   

 1100

А2  В3 1101

АзВ3

1110

А4  В3

1111

Сақина деп:

1) R  жиыны қосу бойынша коммутативті болатын;

2)      aR және bR  элементтерінің көбейтіндісі R элементі болатын (көбейтуге қатысты тұйықтылық);

3)      R-ден кез келген a, b және с  үш элементтері үшін a∙(bc) = (ab) ∙c теңдігі әділ (көбейту үшін ассоциативті заңдылық);

4)      R-ден кез келген a, b және с  үш элементтері үшін a(b + c) = ab + ac және ( b+c)a = ba+ca (дистрибутивті заңдылық)

қатынастары орындалатындай екі операция (қосу және көбейту) анықталған R элементтер жиынын айтады.

Егер сақинаның кез келген екі элементі үшін ab = bа қатынасы әділ болса, сақинаны коммутативті деп атайды. Сақинада көбейту бойынша бірлік элемент және кері элементтер болмау мүмкін.

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

F өрісі деп  қосу және көбейту екі операциясы анықталған, ең болмағанда екі элементтен тұратын және  келесі аксоималар орындалатын жиынды айтады:

1)      Элементтер жиыны қосу бойынша коммутативті топ түзеді;

2)      Нөлдік емес элементтер жиыны көбейту бойынша коммутативті топ түзеді;

3)      Жиынның кез келген  а, b, с үш элементтері үшін

a(b+c) = ab+ac.

қатынасы орындалады (дистрибутивті заңдылық).

Демек, F өрісі әрбір нөлдік емес элементтің кері элементі бар көбейту бойынша бірлік элементпен коммутативті сақина болып табылады. Өрістің мысалы болып барлық нақты сандар жиыны бола алады.

Р шекті сандар элементтерінен тұратын GF(P) өрісін шекті өріс немесе Галуа өрісі деп атайды. q жай санының дәрежесі болатын кез келген Р саны үшін Р элементі бар өріс болады. Мысалы, егер q-жай сан болса, q  модулі бойынша сандар жиынтығы өріс болып табылады.

Өрісте екі элементтен кем болмайды, өйткені онда ең болмағанда қосу операциясына қатысты нөлдік элемент (0) және көбейту операциясына қатысты бірлік элемент (1) болуы керек. Тек қана 0 және 1 болатын өрісті GF (2) деп белгілейміз. Екі элементті өрісте қосу және көбейту ережесі келесідей:

+

0

1

 

0

1

0

0

1

0

0

0

1

1

0

1

0

1

GF (2) өрісінің n элементтен реттелген тізбегі болып табылатын екілік кодты комбинациялар кодалау теориясында GF(P) өрісінің n элементті тізбектерінің дербес жағдайы ретінде қарастырылады. Мұндай тәсіл жай санның дәрежесіне тең негізді кодаларды құруға және талдауға мүмкіндік береді.

Жалпы жағдайда Aj және Ai кодты комбинацияларының қосындысы деп кез келген Ak (k=1, 2, ..., n) символы бастапқы комбинациялардың  k-ншы символдарының қосындысы болатын Af  = Aj + Ai  комбинациясын атайды, және де қосу GF(P) өрісінің ережелері бойынша жасалады. Бұл кезде n-разрядты кодты комбинациялардың барлық жиынтығы  абельді топ болады.

Коданың негізі q жай саны болып табылатын дербес жағдайда GF(q) өрісіндегі қосу берілген q модулі бойынша қосу ережесімен беттеседі.

 

8 дәріс. Бұрмалануларды түзететін кодалар. Топтық кодалар

Дәрістің мақсаты: АБЖ ақпараттық ішкі жүйелерінде қолданылатын бөгеуілге орнықты кодалау әдістерін анықтау және оқып үйрену

Дәрістің мазмұны: бөгеуліге орнықты кодалаудың принциптері. Топтық кодалар. Екілік топтық кодты құру.

8.1 Сызықты векторлық кеңістіктің  ішкі кеңістігі ретіндегі сызықты код

Қарастырылған алгебралық жүйелерде (топ, сақина, өріс) операциялар математикалық объектілердің (элементтердің) бір класына қатысты болған. Мұндай операцияларды элементтер композициясының ішкі заңдылықтары деп атайды.

Кодалау теориясында  математикалық объектітердің екі класын (мысалы, L және Ω) қамтитын модельдер кеңінен қолданылады. Композицияның ішкі заңдылықтарынан басқа оларда, кез келген  және aL элементтері бойынша cL элементі сәйкес қойылатын элементтер композициясының сыртқы заңдылықтары беріледі.

F элементтер өрісіндегі (скалярларға) сызықты векторлық кеңістік деп егер ол үшін келесі аксиомалар орындалса:

1)      V  жиыны қосу операциясына қатысты коммутативті болып табылады;

2)      V –дан кез келген v векторы үшін және F-тен кез келген с  скаляры үшін V –да бар cv  көбейтіндісі анықталған (скалярға көбейтуге қатысты тұйықтылық);

3)      егер u және v V-дан векторлар, ал с және d F –тен скалярлар болса, онда c(c + v) = cu + cv, (с + d) = cv + dv  әділ (дис­трибутивті заңдылықтар);

4) егер v-вектор, ал с және d скалярлар болса, онда (cd)v = c(dv) және 1 • v = v (скалярға көбейту үшін ассоциативті заңдылық)

V элементтер жиынын (векторларды) айтады.

Жоғарыда, олардың барлық жиынтығы абельдік топ түзетін кодты комбинацияларды разряд бойынша қосу ережесі анықталды. Енді GF(P) өрісінен n элементті тізбекті (кодалы комбинацияны) GF(P)-дан а өрісінің элементіне көбейту операциясын векторды скалярға көбейту ережесіне ұқсас анықтайық:

ai (a1,a2, …, an) =(ai a1,ai a2, …, ai an)                                      

Элементтерді көбейту GF(P) өрісінің ережелері бойынша жасалады.

 

Алынған операциялар кезінде дистрибутивті заңдылықтар және ассоциативті заңдылық (3, 4 т.) орындалатындықтан, n-разрядты кодты комбинациялардың барлық жиынын GF(P) өрісіне векторлы сызықты кеңістік ретінде, ал кодты комбинацияларды - оның векторлары ретінде қарастыруға болады.

Дербес жағдайда, екілік кодалау кезінде векторлар GF (2) өрісінің элементтерінен тұрады (демек, 0 және 1). Қосуды разряд бойынша модулі 2 бойынша жасайды. Векторды өрістің элементіне (1) көбейткен кезде ол өзгермейді, ал басқасына көбейткенде (0), векторлық кеңістіктің 0= (0 0...0) символымен берілетін элементіне айналдырады.

Егер GF(P) өрісінің n элементтерінің тізбектерінің сызықты кеңістігінде қосымша белгілі шарттарды қанағаттандыратын (ассоциативтілік, тұйықтылық, скалярға көбейтуге қатысты бисызықтық) векторларды көбейту операциясын берсе, онда n-разрядты кодты комбинациялардың барлық жиынтығы  GF(P] коэффициенттерінің өрісіне сызықты коммутативті алгебраға айналады.

Векторлық кеңістіктің аксиомаларына қанағаттандыратын векторлық кеңістіктің элементтерінің ішкі жиынын ішкі кеңістік деп атайды.

Сызықты код деп GF(P) өрісіне барлық n-разрядты кодты комбинациялардың векторлық кеңістігінің ішкі кеңістігін түзетін векторлар жиынын атайды.

Екілік кодалау жағдайында GF (2) өрісіне комбинациялардың ішкі кеңістігі, барлық n-разрядты екілік кодалық комбинациялар тобының ішкі тобы болып табылатын екілік кодалық комбинациялардың кез келген жиынтыңын түзеді. Сондықтан кез келген екілік сызықты код топтық болып табылады.

8.2 Екілік топтық код құру

Нақты түзетуші коданы құруды Q коданың қажетті көлеміне, демек тасымалданатын командалардың қажетті санынан немесе өлшенетін шаманың дискретті мәндері және қолданылатын байланыс каналындағы ең ықтималдықты қателер векторлары туралы статистикалық мәліметтерге сүйеніп жасайды. Қате векторы деп бұрмаланған разрядтарында бірліктері бар, қалған барлық разрядтарында нөлдері бар n-разрядты екілкі тізбекті айтады. Кез келген бұрмаланған коданы комбинацияны енді  бастапқы рұқсат етілген кодты комбинация мен қате векторының модулі 2 бойынша қосындысы (немесе айырмасы) ретінде қарастыруға болады.

2k-1≥ Q  теңсіздігіне негізделіп (нөлдік комбина­ция жиі жағдайда қолданылмайды, өйткені байланыс каналының жағдайын өзгертпейді), әдеттегі екілік кодпен берілген командалар санын тасымалдауға қажетті  q ақпараттық разрядтар санын анықтаймыз.

q-разрядты артықтығы жоқ коданың әрбір 2k-1 нөлдік емес комбинацияларына бізге n символдан комбинацияны сәйкес қою керек. Мұндай комбинацияның n - k  тексеруші разрядтарындағы символдарының мәндері белгілі ақпараттық разрядтардағы символдардың мәндерін модулі 2 бойынша қосу нәтижесінде қойылады.

Ақпараттық символдардың 2k комбинацияларының жиыны (нөлдікті қоса) барлық n-разрядты комбинациялардың топтарының ішкі тобын түзетіндіктен, берілген ереже бойынша алынған n-разрядты комбинациялардың 2q жиыны да n-разрядты кодты комбинациялар топтарының ішкі тобы болып табылады. Бұл рұқсат етілген кодты комбинациялар жиыны топтық код болады.

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

Барлық n-разрядты комбинациялардың 2n тобын тексеруші разрядтары әлі толтырылмаған 2k рұқсат етілген n-раз­рядты кодты комбинациялардың ішкі тобы бойынша сыбайлас кластарға жіктейміз. Коданың ішкі тобының өзімен қатар жіктеуде 2п-k - 1 сыбайлас кластар бар. Әрбір кластың элементтері код комбинацияларының және берілген кластың түзуші элементтерінің модулі 2 бойынша қосындысы болып табылады. Егер әрбір кластың құраушы элементтері ретінде түзетілуі тиіс берілген байланыс каналы үшін ең ытималдықты қателер векторларын қабылдаса, онда әрбір сыбайлас класта, барлық рұқсат етілген коминацияларға белгілі қате векторының әсері нәтижесінде алынатын кодтық комбинациялар топталады. Байланыс каналының шығысынан алынған кез келген кодты комбинацияны түзету үшін, енді оның сыбайластықтың қандай класына жататындығын анықтау жеткілікті. Сосын оны бұл сыбайлас кластың құраушы элементімен қосып (модулі 2 бойынша), коданың нағыз комбинациясын аламыз.

 Мүмкін болатын қателердің 2n—1 жалпы санынан топтық код барлығы сыбайлас кластар саны бойынша 2n-k -1 қателер түрлерін түзете алатындығы анық.

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

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

Бұрын екілік сызықты кодта тексеру символдарының мәндері әрбір теңдікке кіретін барлық символдардың модулі 2 бойынша қосындысы (тексерушіні қоса алғанда) нөлге тең болатындай таңдайтындығы көрсетілген болатын.  Мұндай жағдайда бұл символдардың арасындағы бірліктер саны жұп. Сондықтан танушының символдарын анықтау операцияларын жұптыққа тексеру деп атайды. Барлық жұптыққа тексеру нәтижесінде қателер жоқ болса, тек нөлдерден тұратын танушы түзіледі. Егер тексеру теңдігі қанағаттандырылмаса, онда танушының сәйкес разрядында бірлік пайда болады. Қателерді түзету, танушылар жиыны мен сыбайлас кластардың жиыны, демек түзетілуге тиісті қателер векторларының жиыны арасында өзара бір мағыналық сәйкестік болғанда ғана мүмкін.

Осылайша, түзетілуге тиісті қателер саны n k артық символдардың санын таңдау үшін анықтаушы болып табылады.  Олар, танушылардың қажетті санын қамтамасыз ету үшін жеткілікті болуы керек.

Мысалы, егер барлық бірлік тәуелсіз қателерді түзету қажет болса, онда  n қате түзетілуі тиіс:

000...01

000...10

 ………

010...00

100...00.

Әртүрлі нөлдік емес танушылар n-нен кем болмауы керек. Демек, қажетті тексеруші разрядтар саны

                                                        2n-k – 1 ≥ n,                                                (8.1)

қатынасынан анықталуы қажет, немесе

                                                         2n-k – 1 ≥ ,                                                  (8.2)

Егер тек қана  бірлік емес, барлық қос тәуелсіз қателерді түзету қажет болса, сәйкес теңсіздік келесі түрде алады:

                     2n-k – 1 ≥ ++,                                       (8.3)

Жалпы жағдайда оны қоса алғанда 5-ке дейінгі еселікті барлық тәуелсіз қателерді түзету үшін  аламыз

                                                 2n-k – 1 ≥ +++  …  +,                                   (8.4)

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

8.2.1 Танушылар кестесін құру

Қарапайымдылық үшін бірлік қателерді түзету жағдайы үшін танушыларды орнатудан бастаймыз. 15 команда кодалау қажет делік. Сонда қажетті ақпараттық разрядтар саны төртке тең. 2n-k – 1 = n қатынасын қолданып коданың жалпы разрядтар санын, демек түзетілуі тиіс қателер санын да, анықтаймыз (n = 7). Үш артық разрядтар танушылар ретінде үш разрядты екілік тізбектерді қолдануға мүмкіндік береді.

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

 

 

 

           8.1 кесте

Қателер векторлары

Танушылар

Қателер векторлары

Танушылар

0000001 0000010 0000100 0001000

001 010 011 100

0010000 0100000 1000000

101

110

111

Мұндай салыстыруда әрбір танушы қате кеткен разряд нөмірін көрсететін екілік сан болып табылады. Танушылары көрсетілген принцип бойынша қойылатын кодалар   Хэмминг кодалары ретінде белгілі.

9 дәріс. Топтық кодалар. Тексеру теңдіктерін анықтау

Дәрістің мақсаты. АБЖ  ақпараттық ішкі жүйелерінде қолданылатын бөгеуілге орнықты кодалау әдістерін анықтау және оқып үйрену.

Дәрістің мазмұны

         Бөгеуілге орнықты кодалаудың принциптері. Екілік топтық код құру. Танушылар кестесін және тексеру теңдіктерін құру.

9.1 Бірлік және қос тәуелсіз қателерді түзету жағдайы

Бірінші және екінші разрядтарда танушылар ретінде 0...001 және 0...010 комбинацияларын алуға болады.

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

Үшінші разрядта бірлік қатенің танушысы ретінде тек қана 0...0100 комбинациясын алуға болады, өйткені екі разрядты комбинациялардың жиыны әлдеқашан сарқылды. Түзетілуге тиісті 0...0101 қате векторын сондай ақ 0...0100 және 0...001  екі қате векторларының қосынды әсері нәтижесінде қарастыруға болады, демек оған бұл қателердің танушыларының модулі 2 бойынша қосындысын беретін танушы, демек  0...0101 сәйкес қойылуы керек.

Осылайша, 0...0110 қате векторының танушысы 0...0110 комбинациясы болатындығын табамыз.

Төртінші разрядтағы бірлік қате үшін танушыны анықтауда үш разрядты комбинациялардың бірі, атап айтқанда, 0...0111 әлі қолданылмағандығын байқаймыз. Біраќ та, i-нші разрядтағы бірлік қатенің танушысы ретінде i-ден кем болатын разрядтар санымен комбинацияны таңдап,  i-нші және одан кіші разрядтарда бірліктері бар қалған барлық түзетілетін қателер векторлары үшін әлдеқашан колданылғандардан ерекше танушылар алынатындығына көз жеткізу керек.  Біздің жағдайда төртінші және одан кіші разрядтардағы бірліктерен түзетілетін қателер векторлары болып

0...01001, 0...01010, 0...01100.

табылады. Егер төртінші разрядтағы бірлік қатеге 0...0111 танушысын сәйкес қойса, онда көрсетілген векторлар үшін танушылар ретінде сәйкес келесілер болуы керек еді:

    0...0111              0...0111              0...0111

 0...0001          0...0001          0...0100

    0...0110              0...0110              0…0011   

Бірақ та бұл комбинациялар әлдеқашан басқа қателер векторларының  танушылары ретінде қолданылған, атап айтқанда:

0...0110, 0...0101, 0...0011.

Демек, декодалау кезінде қате болмау үшін төртінші разрядтағы бірлік қатенің танушысы ретінде 1000 төрт разрядты комбинациясын алу керек. Сонда

0...01001, 0...01010, 0...01100

қателер векторлары үшін сәйкес танушылар келесідей болады:

0...01001, 0...01010, 0...01100.

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

Расында да, бесінші және одан кіші разрядтардағы түзетілуі тиіс барлық қалған қателер векторлары үшін бұрын орнатылғандардан ерекшеленетін танушыларды аламыз:

               Қателер векторлары          Танушылар

0...010001                      0…01110

0...010010                      0…01101

                        0...010100                      0…01011

0...011000                       0…00111

Салыстыруды жалғастырып, кез келген санды разрядтармен берілген типті қателер векторлары үшін танушылар кестесін алуға болады. Бірнеше разрядтардағы бірліктермен қателер векторларының танушылары бұл разрядтардағы бірлік қателердің танушыларының модулі 2 бойынша қосындысы ретінде қойылатындықтан, кодты құру ережесін анықтау және тексеру теңдіктерін құру үшін әрбір разрядтардағы бірлік қателердің танушыларын білу жеткілікті. Қос тәуелсіз қателерді түзететін кодты құру үшін мұндай танушылардың кестелері есептеу машинасының көмегімен 29-шы разрядқа шейін анықталған. Бірінші он бес разрядтардағы бірлік қателердің танушылары 9.1 кестеде келтірілген.

            9.1 кесте

Разряд

нөмірі

Танушы

 Разряд

Нөмірі

Танушы

Разряд

нөмірі

Танушы

1

00000001

6

00010000

11

01101010

2

00000010

7

00100000

12

10000000

3

00000100

8

00110011

13

10010110

4

00001000

9

01000000

14

10110101

5

00001111

10

01010101

15

11011011

 

Сондай принциппен ұқсас кестелер басқа типті қателер үшін де, мысалы тәуелсіз үштік қателер, екі және үш символмен қателер қорабы үшін анықталған. 

   9.2 Тексеру теңдіктерін анықтау

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

Мысал ретінде бірлік қателерді түзетуге арналған кодалар үшін танушыларды қарастырайық (9.2 кесте).

          9.2 кесте

Разрядтар нөмірі

Танушы

Разрядтар нөмірі

Танушы

Разрядтар нөмірі

Танушы

1

2

3

4

5

6

0001

0010

0011

0100

0101

0110

7

8

9

10

11

0111

1000

1001

1010

1011

12

13

14

15

16

1100

1101

1110

1111

10000

Бұл кестені кез келген дењгейде кесіп, код құруға болады. Бірақ та кестеден, ақпараттық символдардың ең үлкен санынан тұратын тексеруші символдар саны бар, бірінші саны  n-ге, ал екіншісі k-ға тең, (7, 4), (15, 11) кодтары және басқалары тиімді болатынтығы көрінеді.

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

Жұптыққа бірінші тексеру нәтижесінде танушының кіші разряды үшін бірлік алынады деп ұйғарайық. Бұл, танушылары, кіші разрядта бірлігі бар разрядтардың біріндегі қатенің салдарынан болуы мүмкіндігі анық.  Демек, бірінші тексеру теңдігі 1, 3, 5 және 7-ші разрядтардың символдарынан тұруы қажет:

                                            a1  a3  a5 a7 = 0.

Танушының екінші разрядындағы бірлік, танушылары екінші разрядта бірліктен тұратын разрядтардағы қатенің салдарынан болу мүмкін. Осыдан екінші тексеруші теңдіктің түрі келесідей болуы керек

                                             a2  a3  a6  a7 = 0.

Осылайша үшінші теңдікті де табамыз:

                                              a4 a5  a6  a7 = 0.

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

Осылайша, бірлік қателерді түзететін (7, 4) коды үшін ізделіп отырған кодты құру ережесі, демек, кодалау процесінде іске асырылатын қатынастардың түрі келесідей болады:

                                                       a1 = a3  a5 a7

                                                       a2 = a3  a6  a7                                                                         (9.1)

                                                       a4= a5  a6  a7

Құрылған коданыњ ењ кіші хемминг ара қашықтығы dmin = 3 болғандықтан, ол (6.1) сєйкес бірлік жєне қос ќателерді табу мақсатында қолданыла алады. 9.2 кестесіне жүгініп, бірлік қателердің кез келген екі танушыларының қосындысы, қатенің болу белгісі болып табылатын нөлдік емес танушы беретініне көз жеткізу оңай.

9.1 мысал. Бірлік қателерді түзетуге және қос қателерді табуға қабілетті көлемі 15 сөзден тұратын топтық код құрайық.

(6.17) сәйкес коданың 4 тең ең кіші хэмминг ара қашықтығы болуы керек. Мұндай кодты екі кезеңде құруға болады. Алдымен бірлік қателерді түзетуге қабілетті берілген көлемді код құрамыз. Бұл (7, 4) Хэмминг коды. Сосын рұқсат етілген комбинацияларда бірліктердің жұп санын қамтамасыз ететін тағы бір тексеруші разряд қосамыз.

Осылайша, (8, 4) кодын аламыз. Кодалау процесінде келесі қатынастар іске асырылады:

a1 = a3  a5 a7

 a2 = a3  a6  a7                 

a4= a5  a6  a7

a8= a1 a2a3  a4a5 a6 a7

(7, 4) кодының синдромын S1 арқылы, ал жұптыққа жалпы тексеру нәтижесін — S2() арқылы белгілеп, 3 және одан жоғары еселікті қателердің пайда болу мүмкіндігін ескермей декодалау алгоритмін жазамыз:

S1 = 0  және  S2 = 0  болғанда        қате жоқ;

S1 = 0  және  S2 = 1 болғанда      сегізінші разрядта қате;

S1 ≠ 0  және  S2 = 0 болғанда       қос қате ( түзету бұғатталады,

                                                       қайтадан беру сұранысы жіберіледі);

S1 ≠ 0 және S2 = 1 болғанда        бірлік қате (ол түзетіледі).

9.2 мысал. 9.2 кестесін қолданып, барлық бірлік және қос қателерді түзететін (8,2) кодын құру ережесін құрамыз.

9.1 кестесін сегізінші разрядта кесіп келесі тексеру теңдіктерін табамыз:

a1  a5  a8 = 0                                                 a34 a5 = 0

a2  a5  a8 = 0                                                 a6  a8 = 0

    a3  a5 = 0                                                          a7  a8 = 0

 

Сәйкесінше кодты құру ережелерін

   a1 = a5  a8                                                                                            a4= a5

   a2 = a5  a8                                                                                             a6 = a8

     a3 = a5                                                                                                          a7 = a8

қатынастарымен береміз.

Құрылған код үшін dmin = 5  екендігін атап өтейік, демек, ол 1 ден 4 –ке дейінгі еселікті қателерді табу үшін де қолданыла алады.

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

10 дәріс. Сызықты кодалардың матрицалық берілуі

Дәрістің мақсаты: матрицалық беруді қолданып бөгеуілге орнықты кодалау әдістерін анықтау және оқып үйрену

Дәрістің мазмұны: бөгеуілге орнықты кодалау принциптері. Екілік топтық кодты құру үшін матрицалық беруді қолдану.

         10.1 Сызықты кодалардың матрицалық берілуі

          Кодалау теориясында матрицаның элементтері  болып GF(P  өрісінің элементтері болып табылады, ал матрицаның жолдары мен бағандары векторлар ретінде қарастырылады. Матрица элементтерін қосу және көбейту GF(P) өрісінің ережелері бойынша жасалады.

10.1 мысал. GF (2) өрісінен элементтермен матрицалардың көбейтіндісін есептейміз:

,         

М = М1 М2  көбейту матрицасының cik элементтері:

                                    с11 = (011) (101) = 0+0+1 = 1

                                    с12 = (011) (110) = 0+1+0 = 1

                                    с13 = (011) (100) = 0+0+0 = 0

                                    с21 = (100) (110) = 1+0+0 = 1

                                    с22 = (100) (110) = 1+0+0 = 1

                                    с23 = (100) (100) = 1+0+0 = 1

                                    с31 = (001) (101) = 0+0+1 = 1

                                    с32 = (001) (110) = 0+0+0 = 0

                                    с33 = (001) (100) = 0+0+0 = 0

тең болады. Демек,

.

10.2 Сызықты коданың түзуші матрицасы

Кодты құру заңын біле отырып, рұқсат етілген кодты комбинацялардың барлық жиынын анықтайық. Оларды бірінің астына бірін қойып, жолдарының жиынтығы GF(P) өрісінің элементтерінен n-разрядты кодты комбинациялардың (векторлардың) векторлық кеңістігінің ішкі кеңістігі болып табылатын матрицаны аламыз. Екілік (n, k)-коды жағдайында матрицада n баған және 2k –1 жол (нөлдікті шығарып тастағанда) болады. Мысалы, барлық бірлік және екілік қателерді түзететін бұрын қарастырылған (8,2) коды үшін мат­рица келесідей болады:

    a5 a8 a1 a2 a3 a4 a6 a7

          0  1   1  1  0   0   1   1

          1  0   1  1  1   1   0   0

          1  1   0  0  1   1   1   1

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

                                    c1 V1 + c1 V1 + … + c1 V = 0

кезінде с1...сп скалярлары (нөлге барлығы тең емес) бар болғанда Vj, Vo, Va, ..., Vn  векторлар жиынтығын  сызықты тәуелді деп атайды. Келтірілген матрицада мысалы, үшінші жол бастапқы екі жолдың модулі екі бойынша қосындысын береді.

Сызықты коданың рұқсат етілген комбинацияларының кеңістігін толық анықтау үшін тек қана сызықты тәуелсіз векторлардың жиынтығын  матрица түрінде жазған жеткілікті. Олардың санын векторлық кеңістіктің өлшемі  деп атайды.

2k-1 нөлдік емес екілік кодалық комбинациялар-векторлар ішінде ол k-ға тең. Мысалы, (8,2) кодасы үшін

 

                        а1 а2 а3 а4 а5 а6 а7 а8

         М 8,2 =   1  1  0  0  0  1  1  1

                        1  1  1  1  1  0  0  0

 

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

Егер туғызушы матрицада GF(q) өрісінің n элементінен k жол болса, онда кодты (n,k)-код деп атайды. (n,k)-коданың әрбір комбинациясында k ақпараттық және n k тексеру символдары бар. Рұқсат етілген кодалы комбинациялардың (нөлдікті есептемегенде) жалпы саны Q = qk-1.

Коданың туғызушы матрицасын біле отырып, k ақпараттық символдан Aki кез келген тізбегіне сәйкес келетін рұқсат етілген кодалы комбинцияны табу жеңіл. Ол Aki векторын Mn,k туғызушы матрицасына көбейту нәтижесінде алынады:

                                  Ani = Aki ∙ Mn,k .

Мысалы а5=1, а8=1 ақпараттық символдарына сәйкес келетін (8,2) кодының рұқсат етілген комбинциясын табайық:

 

            [11] M8,2 = [11] = 00111111.

Матрица жолдарының кеңістігі жолдарға келесі элементарлы операцияларды орындаған кезде өзгеріссіз қалады:

1)     кез келген екі жолдың орнын ауыстыру;

2)     кез келген жолды өрістің нөлдік емес элементіне көбейту;

3) қайсыбір жолды басқа жолды өрістің нөлдік емес элементіне көбейтумен қосу, сондай ақ бағандарды алмастыру кезінде.

Егер М2 коданың түзуші матрицасы М1 коданың түзуші матрицасынан жолдарға элементарлы операциялар қолдану арқылы алынса, онда екі матрица бір код туғызады. Коданың түзуші матрицасының бағандарының орнын ауыстыру эквива­лентті коданың құраушы матрицасына әкеледі. Эквивалентті кодалар өздерінің қасиеттері бойынша бір біріне жақын болады. Мұндай кодалардың түзетушілік қабілеті бірдей.

Сызықты (n,k)-кодының мүмкіндіктерін талдау үшін және де кодалау процесін ықшамдау үшін (Mn,k) туғызушы матрицасы екі матрицадан: k×k өлшемді бірлік матрицадан және оң жақтан қосылып жазылатын n k тексеруші разрядтарға сәйкес келетін k • (п k) өлшемді қосымша матрицадан (бақылаушы ішкі ­матрицадан) тұрғаны қолайлы:

 

                                Mn,k = [ Ik Pk,n-k ] = ,                           (10.1)

 

Мұндай туғызушы матрицамен коданың рұқсат етілген кодты комбинациялары ондағы бірінші k символдар бастапқы ақпараттық символдармен беттесетіндігімен, ал тексеруші соңғы (n k) символдар болатындығымен ерекшеленеді.

Расында да, егер Aki =  вектор-жолын Mn,k = [ Ik Pk,n-k ] матрицасына көбейтсек, An,i = векторын аламыз, мұндағы  тексеруші символдары ақпараттық символдардың сызықты комбинациялары болып табылады:

                                                                  ,                                        (10.2)

Мұндай шартқа жауап беретін кодаларды сис­тематикалық деп атайды. Әрбір сызықты код үшін эквивалентті систематикалық код бар болады.

Өз кезегінде, берілген Pk,n-k  қосымша-матрица бойынша коданы құру ережелерін беретін теңдіктерді анықтауға болады. Әрбір бағанның бірінші жолындағы бірлік, бағанға сәйкес тексеруші разрядтың құрылуына бірінші ақпараттық разряд қатысқандығын көрсетеді. Кез келген бағанның келесі жолындағы бірлік тексеруші разрядты құрауға екінші ақпараттық разрядтың қатысатындығын көрсетеді және т.с.с.

Қосымша-матрица коданы құру ережелері туралы барлық ақпараттан тұратындықтан, берілген қасиетпен систематикалық кодты сәйкес  қосымша-матрицаны құру жолымен синтездеуге болады.

Сызықты коданың  d ең кіші кодтық ара қашықтығы оның нөлдік емес векторларының ең кіші салмағына тең болатындықтан, қосымша-матрицаға келесі жалпы шартқа қанағаттандыратын k жолдар қосылуы керек: кез келген  l(1≤lk) жолдарды қосу кезінде алынатын құраушы матрицаның вектор-жолында    d l-ден кем емес нөлден ерекше символдар болуы керек.

Расында да, көрсетілген шарт орындалған кезде құраушы матрицаның l жолдарын қосумен алынған кез келген рұқсат етілген кодты комбинацияда       d-дан кем емес нөлдік емес символдар болады, өйткені онда бірлік матрицаның жолдарын қосу нәтижесінде әрқашан  l  нөлдік емес символдар болады.

Осындай жолмен d = 3 ең кіші кодтық ара қашықтықпен (7,4) екілік систематикалық коданың құраушы матрицасын синтездейік.

Тұжырымдалған шартқа сәйкес қосымша-матрицаның әрбір вектор- жолында (l = 1 кезінде) екі бірліктен кем болмауцы керек. Үш разрядты векторлардың арасында мұндайдан төртеу бар: 011, 110, 101, 111.

Бұл векторлар бірлік матрицаның жолдарымен кез келген ретте салыстырылуы мүмкін. Нәтижесінде Хэмминг кодына эквивалентті систематикалық кодалардың матрицасын аламыз, мысалы:

                               M7,4   =.

Мұндай матрицаның бірнеше жолдарын қосқан кезде (l>1) d = 3-ден кем емес нөлдік емес символдары вектор-жол алатындығымызға көз жеткізу күрделі емес.

Систематикалық  коданың Mn,k = [ Ik Pk,n-k ] құраушы матрицасы бар болса, (n-k) × n  өлшемді Н тексеруші (бақылаушы) деп аталатын матрицаны құруға болады :

 

                            H =  = .                    (6.29)

Ani қажалмаған кодты векторын Н матрицасына транспонирленген матрицаға көбейтіп, барлық компоненттері нөлге тең вектор аламыз:

 

    Ani НT=│,,…,,...,│∙=│Sk+1, Sk+2,…,Sj,… Sn│=│0,0,…0,…0│.

 

Әрбір Sj  компонентасы

                                   

сәйкес декодалау теңдеуінің әділдігін тексеру нәтижесі болып табылады.

11 дәріс. Циклдық кодалар. Циклдық кодаларды құру үшін математикалық негіздер

Дәрістің мақсаты: бөгеуілге орнықты кодалаудың әдістерін анықтау және оқып үйрену. Түзуші көпмүше туралы түсінік.

Дәрістің мазмұны: циклдық кодалар. Жалпы түсініктер мен анықтамалар. Идеал және туғызушы көпмүше. Түзуші көпмүшеге талаптар.

11.1 Циклдық кодаларды құру

Жалпы түсініктер мен анықтамалар.

 Кез келген (n, k) топтық коды n символдан k  сызықты тәуелсіз жолдан тұратын матрица түрінде жазыла алады және керісінше, кез келген жиынтық k сызықты тәуелсіз n-разрядты кодты комбинациялар жиынтығы кейбір топтық коданың  құраушы матрицасы ретінде қарастырылы алады. Мұндай кодалардың барлық алуан түрлілігінің арасында, құраушы матрицаларының жолдары циклдықтың қосымша шартымен байланысқан кодаларды ерекшелеуге болады. Мұндай коданың құраушы матрицасының барлық жолдары, берілген код үшін құраушы деп аталатын  бір комбинацияны циклдық жылжытумен алынуы мүмкін. Бұл шартқа қанағаттандыратын кодалар циклдық кодалар  деген атқа ие болды.

Жылжыту оңнан солға қарай жасалады, әрі шеткі сол жақтағы символ әр кезде комбинацияның соңына ауыстырылады. Мысалы, 001011 комбинациясын циклдық жылжытумен алынатын кодты комбинациялар жиынтығын жазайық:

                                        G =   .

Мүмкін болатын циклдық ( n, k )-кодалардың саны  әртүрлі топтық (n, k)-кодалардың санынан едәуір аз.

Циклдық кодаларды сипаттаған кезде n-разрядты кодты комбинациялар  х фиктивті айнымалысының көпмүшелерінің түрінде беріледі. х-тің дәреже көрсеткіштері разрядтар нөміріне (нөлден бастап сәйкес келеді), ал х-тің жанындағы коэффициенттер болып жалпы жағдайда GF(q) өрісінің элементтері табылады. Бұл кезде санның ең кіші разрядына х°= 1 фиктивті айнымалысы сәйкес келеді. GF(q) өрісінен коэффициенттермен көпмүшені  GF(q) өрісіне көпмүше деп атайды. Біз тек екілік кодаларда қарастырумен шектелетіндіктен, х-тің жанындағы киэффициенттер тек қана 0 және 1 цифрлары болады. Басқаша айтқанда, GF(2) өрісінің көпмүшелерімен операциялар жасайтын боламыз.

Мысалы, көпмүше түрінде 01011 түзуші кодалық комбинацияны жазайық:

            G(x) = 0 • х4 + 1 • х3 + 0 • х2 + 1 •х + 1 .

 Көпмүшені жазған кезде нөлдік коэффициенттермен мүшелер жазылмайтындықтан, түзуші көпмүше:

                                               G(x) = x3 + x+1.                                       (11.1)

 Нөлдік емес коэффициентпен қосылғыштағы х-тің ең үлкен дәрежесін көпмүшенің дәрежесі деп атайды. Енді кодты комбинациялармен әрекеттер көпмүшелермен әрекеттерге әкелінеді. Көпмүшелерді қосу коэффициенттерді модулі екі бойынша келтірумен жасалады. Кодтық комбинацияның соңына бірлікті тасымалдаусыз n k дәрежелі кейбір құраушы көпмүшені көрсетілген циклдық жылжыту қарапайым х-ке көбейтуге сәйкес келеді. Мысалы, go(x) =x3+х+1 көпмүшесіне сәйкес келетін матрицаның бірінші жолын (001011) х-ке көбейтіп, xgo(x) көпмүшесіне сәйкес келетін матрицаның екінші жолын (010110) аламыз.

Бұл екі комбинацияларды қосу кезінде алынатын кодты комбинация да

х3 + х+1 көпмүшесін х+1 көпмүшесіне көбейту нәтижесіне сәйкес болатындығына көз жеткізу күрделі емес. Расында да,

            0 0 1 0 1 1                                 х3 + 0 + х +1

        0 1 0 1 1 0                                               x +1

            0 1 1 1 0 1                                 х3 + 0 + х + 1

                                                          х4 + 0 + х2 + x

                                                              х4 +  х3 + х2 + 0 +1.

Үлкен  (n-ші) разрядта (сол жақта) бірлікпен матрицаның жолын циклдық жылжыту жолға сәйкес көпмүшені х-ке нәтижеден хn +1 =  хn— 1 көпмүшесін бір уақытта алып тастаумен, демек, модулі хn + 1 бойынша келтірумен көбейтуге тепе-тең.

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

Тыйым салынған кодты комбинацияға сәйкес бір де бір көпмүше құраушы көпмүшеге қалдықсыз бөлінбейді. Бұл қасиет қатені табуға мүмкіндік береді. Қалдық түрі бойынша қате векторын да анықтауға болады.

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

11.2 Циклдық кодаларға математикалық кіріспе

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

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

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

Енді көбейту операциясын анықтайық. Модулі екі бойынша ұқсас мүшелерді келтірумен кәдімгі ережелер бойынша көпмүшелерді көбейту операциясы тұйықтылық шартының бұзылуына әкелуі мүмкін екендігін көру күрделі емес. Расында да, көбейту нәтижесінде n—1-ден жоғарырақ дәрежелі, 2(n— 1)-ге шейін көпмүшелер алуынуы мүмкін, ал оларға сәйкес кодтық комбинацияларда  n-нен асатын разрядтар саны болады, демек, қарастырылатын жиынға жатпайды. Сондықтан символикалық көбейту операциясы былай беріледі:

1)      көпмүшелер кәдімгі ережелер бойынша, бірақ ұқсас мүшелерді модулі екі бойынша келтірумен көбейтіледі;

2)      егер көбейтудің үлкен дәрежесі  n—1-ден аспаса, онда ол символикалық көбейту нәтижесі болып табылады;

3)      егер көбейтудің үлкен дәрежесі n-нен үлкен немесе тең болса, онда көбейтудің көпмүшесі алдын ала анықталған n дәрежелі көпмүшеге бөлінеді де символикалық көбейту нәтижесі болып бөлгендегі қалдық есептеледі.

         Қалдықтың дәрежесі n—1-ден аспайды, демек, бұл көпмүше n - разрядты кодты комбинациялардың жиынына тиісті. Кодты комбинацияның соңына бірлікті тасымалдаумен циклдық жылжытуды талдау кезінде мұндай  n-ші дәрежелі көпмүше болып хп+1 көпмүшесі табылады.

Расында да, n 1 дәрежелі көпмүшені на х-ке көбейту нәтижесінде алатынымыз

                         G(x) = (xn- 1+ xn- 2+…+ x+1)∙x = xn+ xn- 1+…+ x                      (11.2

Демек, көбейту нәтижесі бастапқы кодты комбинацияны циклдық жылжыту жолымен құрылатын кодты комбинацияға сәйкес болуы үшін, онда хn  1-ге ауыстыру қажет. Мұндай ауыстыру көбейту кезінде алынған көпмүшені хn+1-ге, нәтиже ретінде, бөлгендегі қалдықты жазумен бөлуге эквивалентті. Әдетте оны қалдықды алу немесе модулі хп+1 бойынша келтіру деп атайды (қалдықтың өзін бұл кезде қалынды деп атайды).

Енді біздің сақинада g(x) көпмүшесіне еселікті барлық көпмүшелердің ішкі жиынын ерекшелейік. Мұндай ішкі жиынды идеал, ал g(x) көпмүшесін идеалдың туғызушы көпмүшесі  деп атайды.

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

Егер туғызушы көпмүше ретінде 1 қабылданса [g(x) =1], онда идеалға сақинаның барлық көпмүшелері кіреді. Жалпы жағдайда, nk дәрежелі қарапайым көпмүшемен туғызылған идеалдың элементтер саны 2k құрайды.

Енді n-разрядты екілік кодты комбинациялардың сақинасында бізбен құрылған циклдық екілік коданың идеал болып табылатындығы түсінікті болады.

Берілген қасиеттермен циклдық коданы түзуге қабілетті g(x) көпмүшесін қалай таңдау керектігін айқындау керек.

12 дәріс. Циклдық кодалар. Түзуші көпмүшені анықтау

Дәрістің мақсаты: бөгеуілге кодалаудың әдістерін анықтау және оқып үйрену. Түзуші көпмүшені анықтау.

 Дәрістің мазмұны: циклдық кодалар. Жалпы түсініктер мен анықтамалар. Идеал және  туғызушы көпмүше. Коданың берілген көлемі және берілген түзетушілік қабілеті бойынша құраушы көпмүшені таңдау.

12.1 Құраушы  көпмүшеге қойылатын талаптар

Циклдық коданың анықтамасы бойынша, оның кодты комбинацияларына сәйкес барлық көпмүшелер g(x)-ке қалдықсыз бөлінуі керек. Ол үшін, коданың құраушы матрицасын құратын көпмүшелер g(x)-ке қалдықсыз бөлінуі жеткілікті. Коданың құраушы матрицасын түзетін көпмүшелер   g(x)-ті  х-ке  модулі хп+1 бойынша келтірумен тізбекті көбейтуге сәйкес келетін циклдық жылжытумен алынады.

Демек, жалпы жағдайда gi(x) көпмүшесі g(x) • хi  көбейтіндісін  хn+ 1 көпмүшесіне бөлгендегі қалдық болып табылады және

gi(x} = g(x}xi + c(xn+1)                                   (12.1)

түрінде жазыла алады, мұнда, егер g(x)xi дәрежесі n 1-ден асатын болса с = 1; егер g(x)xi дәрежесі n-1-ден аспайтын болса  с=1.

Осыдан, матрицаның барлық көпмүшелері, сондықтан да коданың барлық көпмүшелері g(x)-ке қалдықсыз тек қана  егер g(x)-ке  хn+1  көпмүшесі қалдықсыз бөлінетін жағдайда ғана бөлінетіндігі шығады.

    Осылайша, g(x) идеал туғызуы үшін, демек циклдық коданы да, ол хn+1 көпмүшесінің бөлгіші болуы керек.

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

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

Егер m = n k  дәрежелі g(x) көпмүшесі хп+1 бөлгіші болса, онда сақинаның кез келген элементі немесе g(x)-ке қалдықсыз бөлінеді (сонда ол идеалдың элементі болып табылады), немесе бөлу нәтижесінде, m-1-ден аспайтын дәрежелі көпмүше болып табылатын r(х) қалдығы пайда болады.

Қалдықта  ri(x) көпмүшесін беретін сақина элементтері қалындылардың бір класына жатады. r(х) көпмүшелерін қалындылар кластарының  құраушы элементтері ретінде алып, m дәрежелі g(x) құраушы көпмүшемен идеал бойынша сақинаны жіктеуді  12.1 кестесінде беруге болады, мұндағы f(x) — дәрежесі n - m – 1-ден аспайтын ерікті көпмүше.

 

 

         12.1 кесте

0

g(x)

xg(x)

(x+1)g(x)

f(x)g(x)

r1(x)

g(x)+ r1(x)

xg(x)+ r1(x)

(x+1)g(x) + r1(x)

f(x)g(x) + r1(x)

r2(x)

g(x)+ r2(x)

xg(x)+ r2(x)

(x+1)g(x) + r2(x)

f(x)g(x) + r2(x)

rz(x)

g(x)+ rz(x)

xg(x) + rz(x)

(x+1)g(x) + rz(x)

f(x)g(x) + rz(x)

 

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

2m-1-ге тең ең көп қалдықтар санын (нөлдікті қоспағанда) тек қана өзіне өзі бөлінетін және басқа ешқандай да көпмүшеге бөлінбейтін (1-ден басқа) келтірілмейтін (жай)  көпмүше қамтамасыз ете алады.

12.2 Коданың берілген көлемі және берілген түзетушілік қабілеті құраушы көпмүшені таңдау

Коданың берілген көлемі бойынша k ақпараттық разрядтар саны бір мағыналы анықталады. Ары қарай, берілген еселікті қателерді табуды немесе түзетуді қаматамасыз ететін ең кіші n табу керек. Циклдық код жағдайында бұл мәселе  қажетті  g(x) көпмүшесін табуға әкеледі.

Барлық бірлік қателерді табатын қарапайым циклдық кодты қарастырудан бастайық.

12.2.1 Бірлік қателерді табу

Кез келген байланыс каналы бойынша қабылданған, қатесі болуы мүмкін h(x) кодты комбинациясы f(x) коданың қажалмаған комбинациясы мен  ξ(x) қате векторын модулі екі бойынша қосу түрінде берілуі мүмкін:

                                                   h(x) = f(x) ξ(x)                                        ( 12.1)

h(x)-ті g(x) құраушы көпмүшесіне бөлген кездегі қатенің бар екендігін көрсететін қалдық, егер қате векторына сәйкес көпмүше g(x)-ке бөлінбеген жағдайда ғана табылады; f(x) коданың қажалмаған комбинациясы, демек g(x)-ке қалдықсыз бөлінеді.  

Бірлік қатенің векторының қажалған разрядында бірлігі және барлық қалған разрядтарында нөлдері болады. Оған ξ(x) = xi көпмүшесі сәйкес келеді. Соңғы көпмүше g(x)-ке бөлінбеуі керек. хn+1 жіктеуіне кіретін келтірілмейтін көпмүшелердің арасында, көрсетілген шартқа қанағаттандыратын ең кіші дәрежелі көпмүше х+1 табылады. Кез келген көпмүшені x+1-ге бөлгендегі қалдық нөлдік дәрежелі көпмүше болып табылады және тек қана екі мән: 0 немесе 1 ғана қабылдай алады. Берілген жағдайда барлық сақина, жұп санды мүшелермен көпмүшелері және 1-ге тең бір ғана қалдыққа сәйкес қалындылардың бір класы бар идеалдан тұрады. Осылайша, ақпараттық разрядтардың кез келген санында тек бір тексеруші разряд қажет. Бұл разрядтың символының мәні кез келген рұқсат етілген кодты комбинациядағы бірліктердің жұп санын, демек, оның x+ 1-ге бөлінетінін, қамтамасыз етеді.

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

12.2.2 Бірлік қателерді түзету немесе қос қателерді табу

    n разрядтан қабылданған комбинацияда бірлік қатені түзетпес бұрын разрядтар қажалғандығын анықтау қажет. Оны, егер белгілі разрядтағы әрбір бірлік қатеге өзінің қалындылар класы мен өзінің танушысы сәйкес келсе ғана жасауға болады. Циклдық кодта қателердің танушысы болып қателер көпмүшелерін g(x) коданың құраушы көпмүшесіне бөлгендегі қалдықтар болып табылатындықтан, қажалған разрядта бірлікпен қателер векторларын бөлген кезде, g(x) әртүрлі қалдықтар санын қамтамасыз етуі керек. Атап өтілгендей, ең көп қалдықтар санын келтірілмейтін көпмүше береді. Көпмүшенің m = n - k дәрежесінде ол 2n- k- 1 нөлдік емес қалдықтар бере алады (нөлдік қалдық қатесіз тасымалдаудың танушысы болып табылады).

Демек, кез келген бірлік қатені түзетудің қажетті шарты болып

                                                          ,                                               (12.2)

теңсіздігінің орындалуы болып табылады, мұндағы Сп n символдан кодты комбинациядағы бірлік қателердің әр түрінің жалпы саны; осыдан коданың құраушы көпмүшесінің дәрежесін

                                                      m = n — k ≥ log2(n+l),                                     (12.3)

және кодты комбинациядағы символдардың жалпы санын табамыз. Әртүрлі т үшін k және n-нің ең үлкен мәндерін  12.1 кестесін қолданып табуға болады.

          12.1 кесте

m

1

2

3

4

5

6

7

8

9

10

n

1

3

7

15

31

63

127

255

511

1023

  k

0

1

4

11

26

57

120

247

502

1013

 

g(x) құраушы көпмүшесі хn+1 екімүшесінің бөлгіші болуы қажет екендігі көрсетілген болатын. x2m-1+1 = хn+1 типті кез келген екі мүше, дәрежелері т санының  (1-ден бастап m-ді қоса алғанда) бөлгіштері болып табылатын барлық келтірілмейтін көпмүшелердің көбейтіндісі ретінде беріле алатындығы дәлелденген [20].

Кез келген т үшін хn+ 1 екімүшесінің жіктеуіне көбейткіш ретінде кіретін ең болмағанда бір т дәрежелі келтірілмейтін көпмүше бар.

Осы қасиетті, және де екілік коэффициенттер жанындағы келтірілмейтін көпмүшелер кестелерін  [20] қолданып белгілі n және т  кезінде құраушы көпмүше таңдау күрделі емес. Құраушы көпмүшені анықтап, оның берілген қалдықтар санын қамтамасыз ететіндігіне көз жеткізу қажет. 

12.1 мысал. n = 15 және m = 4 жағдайы үшін құраушы көпмүше таңдайық.

x15+l екімүшесін, дәрежелері 4 санының бөлгіштері болатын барлық келтірілмейтін көпмүшелердің көбейтіндісі ретінде жазуға болады. 4 саны 1, 2, 4-ке бөлінеді. Келтірілмейтін көпмүшелер кестесінде бірінші дәрежелі бір көпмүше, атап айтқанда  х+1, х2 + х+1 екінші дәрежелі бір көпмүше және х4+ х+1, х4 + х3+1, х4 + х3+ х2 + х+ 1 төртінші дәрежелі үш көпмүшелерін табамыз. Барлық көпмүшелерді көбейтіп, (х+ 1)(х2 + х + 1)( х4+ х+1)( х4 + х3+ х2 + х+ 1) = x15+l қатынасының әділдігіне көз жеткіземіз .

Төртінші дәрежелі көбейткіштің бірі коданың құраушы көпмүшесі ретінде алынуы мүмкін. Мысалы х4 + х3+1 көпмүшесін алайық немесе екілік тізбек түрінде 11001.

Оларға сәйкес келетін көпмүшелердің дәрежелері g(x) құраушы көпмүшесінің дәрежесінен кем. Сондықтан олардың өздері нөлдік бүтін бөлік кезінде қалдық болып табылады. Келесі үлкен разрядтағы қате векторына сәйкес келетін қалдықты  00.. .10000-ді 11001-ге бөлгенде аламыз, демек

1 0000 | 11001

                                             1 1001

    1001

Осылайша қалған қалдықтар да табылады. Бірақ та оларды  комбинацияны g(x)-ке нөлдер қатарымен бірлік түрінде бөліп және барлық аралық қалдықтарды жазу арқылы алуға болады:

 

    1 000000000… | 11001                            Қалдықтар

 1 1001

        10010                                              1001                                     1101

    11001                                               1011                                     0011

          1011                                               1111                                     0110

        …                                                     0111                                     1100

 …                                                      1110                                      0001

        …                                                      0101                                     0010

 …                                                       1010                                     0100

…                                                                                                     1000                                                                                                                                                             

   

      Кейінгі бөлулер кезінде қалдықтар қайталанады.

     Осылай жетістікпен коданың құраушы көпмүшесі ретінде х4 + х+1 көпмүшесі де алынуы мүмкін еді. Бұл кезде таңдалғанға  эквивалентті код алынар еді. Бірақ та сол мақсаттар үшін х4 + х3 + х2 + x+1 көпмүшесін қолдануға болмайды. Әртүрлі қалдықтар санын тексеру кезінде, онда олардың саны 15 емес, тек қана 5 екендігі табылады. Бұл, х4 + х3 + х2 + х + 1 көпмүшесі  тек қана x15+ 1 екімүшесінің жіктелуіне ғана емес, сондай ақ х5+ 1 екімүшесінің жіктелуіне кіретіндігімен түсіндіріледі.

13 дәріс. Циклдық кодалар. Циклдық кодаларды құру үшін математикалық негіздер

Дәрістің мақсаты: бөгеуілге орнықты кодалау әдістерін анықтау және оқып үйрену. Құраушы көпмүшенің анықтамасы.

Дәрістің мазмұны: циклдық кодалар. Жалпы түсініктер мен  анықтамалар.  Идеал и туғызушы көпмүше. Коданың берілген көлемі және берілген түзетушілік қабілеті бойынша тузуші көпмүше таңдау.

13.1 g(x) келтірілмейтін көпмүшесін таңдау

Құраушы ретінде, хn+ 1 екімүшесінің бөлгіші бола отырып, К  дәрежесі n-нен кем xλ+1 типті бірде бір екімүшенің жіктелуіне кірмейтін g(x) келтірілмейтін көпмүшесін (немесе осындай көпмүшелердің көбейтіндісін) таңдаған жөн. Бұл жағдайда,  g(x) көпмүшесі n дәрежелі көрсеткішке тиісті деп айтады. 13.1 кестесінде, бірлік қателерді түзетуге немесе барлық бірлік және қос қателерді табуға қабілетті кейбір кодалардың сипаттамалары келтірілген.

 

    13.1 кесте

Келтірілмейтін

көпмүшенің

көрсеткіші

Құраушы көпмүше

Саны

Коданың

ұзындығы

2

х2 + х + 1

3

3

3

х3 + х + 1

7

7

3

х 3 + х2 + 1

7

7

4

х4 + х3 + 1

15

15

4

х4 + х+1

15

15

5

х5 + х2 + 1

31

31

5

х5 + х3 + 1

31

31

 

Бұл кодалар кез келген қос қателерді табу үшін қолданылуы мүмкін. Қос қате векторына сәйкес келетін көпмүшенің түрі (x) = xi+xj, немесе j>i  кезінде(x) =  xi(xj-i+1). j-i<n болғандықтан, aл g(x) х-ке еселікті емес және n дәрежелі көрсеткішке тиісті болғандықтан (x g(x)-ке бөлінбейді, бұл қос қатені табуға мүмкіндік береді.

Үш және одан төменгі еселікті қателерді табу. Бірлік, қос және үштік қателерді табуға қабілетті кодалардың құраушы көпмүшелерін Хэммингтің келесі нұсқауына негізделіп анықтауға болады. Егер, кейбір 2 еселікті қателерді табуға мүмкіндік беретін коданың n ұзындықты р(хт} құраушы көпмүшесі белгілі болса, онда, келесі (z+1) еселікті қателерді табуға қабілетті коданың құраушы көпмүшесі g(x), жұптыққа қосымша тексеруді енгізуге сәйкес келетін, р(хт) көпмүшесін х+1 көпмүшесіне көбейтумен алынуы мүмкін. Бұл кезде код комбинацияларындағы символдар саны, тағы бір тексеру символын қосқандықтан n+1-ге дейін артады.

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

           13.2 кесте

Келтірілмейтін

көпмүшенің

көрсеткіші

 

 

 

Құраушы көпмүше

Ақпараттық

символдар

саны

 

 

Коданың

ұзындығы

3

(x + 1)(х3 + x + 1)

4

8

4

(х+ 1)(х4+ х+  1)

11

16

5

(x +1)( х 5 + х + 1)

26

32

13.2 Кез келген еселікті тәуелсіз қателерді табу және түзету

Символдар тізбектерінде қателер тәуелсіз пайда болатын каналдарда қолданылатын маңызды кодалар класы болып Боуз — Чоудхури — Хоквингем кодалары табылады. т және s<n/2 кез келген бүтін оң сандары үшін,  2s  еселікті қателерді табуға немесе s еселікті қателерді түзетуге қабілетті, тексеру символдарының саны ms-тен аспайтын n = 2т—1 ұзындықты бұл кластың екілік коды бар екендігі дәлелденген.  Бұл кодалардың теориялық аспектілерін түсіну үшін жоғары алгебраның бірқатар жаңа түсініктерімен танысу қажет.

13.2.1 Қателер қорабын табу және түзету

b немесе одан кем ұзындықты қателер қорабын түзетуге негізделген ерікті сызықты блоктық (n, k)-код үшін, түзетушілік қабілетті артық символдар санымен байланысты орнататын негізгі қатынас болып Рейджер шекарасы табылады:

                                                            n - k ≥ 2b,                                                      (13.1)

l≥b немесе одан кем ұзындықты пакеттерді бір уақытта табумен b немесе одан кем ұзындықты пакеттерді сызықты кодпен түзету кезінде ең болмағанда b+l  тексеруші символдар қажет.

Қателер қорабын түзетуге арналған циклдық кодалардан Бартон, Файр және Рид — Соломон кодалары кеңінен танымал.

Кодалардың бастапқы екі түрі блоктағы бір қателер қорабын түзету үшін қызмет атқарады. Рид — Соломон кодалары бірнеше қателер қорабын түзетуге қабілетті.

13.3 Циклдық кодаларды құру әдістері

Кодалаудың бірнеше әртүрлі тәсілдері бар. Циклдық кодалардың комбинацияларын, артық емес коданың комбинацияларына (ақпараттық символдарға) сәйкес а(х) көпмүшелерін, коданың g(x)  құраушы көпмүшесіне көбейтумен алуға болады. Мұндай әдіс жеңіл іске асырылады. Бірақ та оның, көбейту нәтижесінде алынатын коданың комбинацияларында айқын түрде ақпараттық символдар болмайтын  айтарлықтай кемшілігі бар. Қателерді түзеткеннен кейін мұндай комбинацияларды, ақпаарттық смиволдарды ерекшелеу үшін коданың құраушы көмүшесіне бөлуге тура келеді.

Циклдық кодаларда, (дегенмен бұл міндетті емес) код көпмүшесінің үлкен дәрежелеріне сәйкес k ақпараттық символдарды, ал тексеруші ретінде n k төменгі разрядтағы символдарды қолдану қабылданған. Мұндай систематикалық кодты алу үшін келесі кодалау процедурасы қолданылады.

Артық емес коданың k-разрядты ком­бинациясына сәйкес а(х)  көпмүшесін на хт-не көбейтеміз, мұндағы m = n k. а(х) ке кіретін әрбір бірмүшенің дәрежесі артады, ол кода комбинациясына кіші разрядтар жағынан m нөлдерді қосып жазу қажеттігін білдіреді. а(х)хт көбейтіндісін g(x) құраушы көпмүшесіне бөлеміз. Жалпы жағдайда бұл кезде  дәрежесі а(х)  дәрежесіне тең q(x)  бөліндісін және r(х) қалдығын аламыз. Қалдықты а(х)хт-не қосамыз. Нәтижесінде

                      f(x) = a(x)xm + r(x),                                  (13.2)

көпмүшесін аламыз. g(x)-тің дәрежесі m-ге тең деп алынатындықтан, r(х) қалдығының дәрежесі m—1-ден аспайды. а(х)хт көпмүшесіне сәйкес комбинацияда кіші т разря­дтар нөлдік, демек, көрсетілген қосу операциясы кіші разрядтар жағынан  r(х) к а(х)-ке  r(х)-ті қосып жазғанға тепе-тең.

f(x)-тің g(x)-ке қалдықсыз бөлінетінін, демек коданың комбинациясына сәйкес көпмүше болып табылатындығын көрсетейік. Расында да, а(х)хт көпмүшесін  

                                                   a(x)xm=q(x)g(x) + r(x),                                          (13.3)

түрінде жазайық. Модулі екі бойынша қосу және алу операциялары бірдей болғандықтан, r(х)-ті солға тасымалдауға болады, сонда

                                               а(х)хт + r(x) = f(x) = q(x)g(x),                                  (13.4)

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

Кодалаудың тағы бір тәсілін атап өткен жөн. Циклдық код топтық коданың түрі болып табылатындықтан, оның тексеруші символдары белгілі ақпараттық символдардың модулі екі бойынша қосындысы арқылы берілуі керек.

Тексеруші символдарды анықтау үшін теңдіктер рекурренттік қатынастарды шешу жолымен алынуы мүмкін:

                                                    ,                                                (13.5)

мұндағы h —  келесідей анықталатын

                       h(x) = (xn + 1)/g(x) = h0 + h1 x +... + hk x,                   (13.6)

h(х) генераторлық көпмүшесінің екілік коэффициенттері. 

(6.40) қатынасы берілген a0, a1 ..., ak-1 ақпараттық сигналдар тізбегі бойынша n k тексеруші символдарын есептеуге мүмкіндік береді, ak,, ak+1, …, an-1  тексеруші символдары бұрынғыдай кіші разрядтардың орнында орналастырылады.

  13.4 Циклдық коданың матрицалық жазылуы

Циклдық коданың Mn,k  толық құраушы матрицасы екі матрицадан құрылады: бірлік Ik (k ақпараттық разрядтарға сәйкес) және Ck,n-k  қосымша (тексеруші разрядтарға сәйкес):

                                                    Mn,k= ||IkС.k,n-k ||,                                                 (13.7)

Ik матрицасын құру күрделі емес.

Егер циклдық кодты құру рекурренттік қатынастарды шешу негізінде жасалса, онда оның толықтаушы матрицасын бұрын көрсетілген ережелерді қолданып анықтауға болады. Бірақ та әдетте, циклдық коданың Ck,n-k толықтаушы матрицасының жолдары r(х) көпмүшелерін есептеу жолымен анықталады. Ik матрицасының әрбір жолы үшін сәйкес r(х) осы жолдың а(х)хт ақпараттық көпмүшесін g(x) коданың құраушы көпмүшесіне бөлумен табады.

13.1 мысал.  g(x) = х4 + х3 + 1 туғызушы көпмүшемен (15,11) циклдық коды үшін құраушы матрицаны жазайық.

Бұрын орындалған бөлу нәтижелерін қолданып келесіні аламыз

 

M15,11 = .

 

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

 

 

13.5 Қысқартылған циклдық кодалар

    Циклдық кодалардың түзетушілік мүмкіншіліктері құраушы көпмүшенің n дәрежесімен аныталады. Ақпаратты символдардың қажетті саны кез келген бүтін сан бола алатындықтан, коданың разрядтылығын таңдаудағы мүмкіндіктер весьма шектелген. Бірақ та (n, k) –кодта j бірінші ақпаратты символдарды нөлдермен ауыстырып және оларды кодты комбинациялардан шығарып тастап, ең кіші рарядты код құруға болады. Код уже циклдық болмайды, өйткені бір рұқсат етілген кодты комбинацияны циклдық жылжыту сол коданың рұқсат етілген комбинациясына әрқашан әкеле бермейді. Осылай жолмен алынған сызықты (n-j, k-j)-кодты қысқартылған циклдық код деп атайды. Бұл коданың ең кіші ара қашықтығы, ол алынған (n, k)-коданың ең кіші кодтық ара қашықтығынан кем емес. Қысқартылған коданың матрицасы (n, k)-коданың құраушы матрицасынан, үлкен разрядтарға сәйкес j  жолдар мен бағандарды шығару арқылы алынады. Мысалы, (15,11) кодының матрицасынан алынған (9,5) кодының құраушы матрицасының түрі келесідей:

                                M9,5 =    .

 

 

 

Әдебиеттер тізімі

1.                Сергиенко А.Б. Цифровая обработка сигналов. – СПб.: Питер, 2002.

2.                Гультяев А.К. MATLAB 5.2. Имитационное моделирование в среде Windows: Практическое пособие. – СПб.: КОРОНА принт, 1999.

3.                 Гоноровский И.С.  Радиотехнические цепи и сигналы. – М.: Радио и связь, 1994.

4.                Дмитриев В.И. Прикладная теория информации. – М.: Высшая школа, 1989.

5.                Зюко А.Г. Теория передачи сигналов. – М.: Радио и связь, 1986.

6.                Баскаков С.И. Радиотехнические цепи и сигналы. – М.: Высшая школа, 2000.

7.                Баранов А.А. Квантование по уровню и временная дискретизация в цифровых системах управления. – М., 1990.

8.                Баричев С.Г. Основы современной криптографии: Учебный курс. – М.: 2001.

9.                Куприянов М.С. Техническое обеспечение цифровой обработки сигналов: Справочник. – СПб.: Наука и техника, 2000.

10.            Разевиг В.Д., Лаврентьев Г.В., Златин И.Л. SystemView - средство системного проектирования радиоэлектронных устройств - М.:Горячая линия-Телеком, 2002.

11.            Скляр Б. Цифровая связь: Теоретические основы и практическое применение. - М.: Вильямс, 2003.

12.            Гаранин М.В., Журавлев В.И., Кунегин С.В. Системы и сети передачи информации. - М.: Радио и связь, 2000.

13.            Передача дискретных сообщений: Учебник/Под ред. В.П. Шувалова. - М.: Радио и связь, 1990.

  

                                                                         2011 жинақты жоспары, реті