АЙНЫМАЛЫ КОДТАР
Рид-Соломон коды
МАЗМҰНЫ
1 ТЕЛЕМЕХАНИКАЛЫҚ АҚПАРАТТЫ ЖІБЕРУ 2
1.1. Ақпаратты жіберу және қабылдау процесінде ақпараттың маңызы 2
2. АҚПАРАТТАРДЫ ЖІБЕРУ ЖӘНЕ ҚАБЫЛДАУ ҚОЛДАНАТЫН КОДТАР 3
2.1. Ақпараттарды жіберудегі және қабылдаудағы негізгі анықтамалар. 3
2.2 БҰРМАЛАНБАҒАН КОДТАР 6
2.3 БҰРМАЛАНҒАН КОДТАР 6
2.4 АЙНЫМАЛЫ КОДТАР 8
3. ЕКІЛІК ЕМЕС АЙНЫМАЛЫ РИД-СОЛОМОН КОДЫНДА У АРҚЫЛЫ АҚПАРАТТЫ
3.1. Рид- Соломон кодтарының сипаттамасы 19
3.2 Көпмүшелікті құрайтын символдарды таңдау 20
3.3 Кодалау 22
3.4 Кері кодалау 23
4. РИД-СОЛОМОН КОДАНЫҢ ФУНКЦИЯНАЛДЫ СҰЛБАСЫН ЖҮЗЕГЕ АСЫРУ 24
4.1. Сызықты қайта қосу сұлбалары 24
4.2.Бөлу сұлбасы 26
5. РИД-СОЛОМОН КОДЫНЫҢ ҚАҒИДАЛЫ СҰЛБАЛАРЫН ЖАСАУ. 31
5.1 Кодтаушы құрылғының қағидалы сұлбасы. 31
5.2. Рид - Соломон кодының керікодтау құрылғысының қағидалы
6. ДАЙЫНДАУ ТЕХНОЛОГИЯСЫ МЕН КОНСТРУКЦИЯСЫ. 38
7. БАҒДАРЛАМАЛЫ ҚАМТАМАСЫЗ ЕТУ 39
7.1 Модуль екі бойынша логикалық элементтің қосындылауышы 39
7.2 Рид-Соломон кодтарын көбейту процедурасы. 42
7.3.Көпмүшеліктерді көпмүшеліктерге бөлу процедурасы 44
7.4. Кодтаудың ішкі бағдарламасы 46
7.5. Керікодтаудың ішкі бағдарламасы 48
ҚОРЫТЫНДЫ 50
АННОТАЦИЯ
Дипломдық жұмыста айналмалы кодтар қарастырылған, оның ішінде екілік емес
Арналар желісі мен ақпараттарды сақтаудың кеңінен таратылуынан, 2а көлемді
Ақпаратты жіберу және қабылдау процесін басқару кезінде, өндірістік процестерде
Жасалған дипломдық жобаның тапсырмасы бойынша Рид-Соломон кодтарын қолдану негізінде
1 ТЕЛЕМЕХАНИКАЛЫҚ АҚПАРАТТЫ ЖІБЕРУ
1.1. Ақпаратты жіберу және қабылдау процесінде ақпараттың маңызы
Ақпаратты жіберу және қабылдауда процестерді басқару, өндірістік процестерде хабар
Арна желісі арқылы ақпаратты беру үшін, мынадай физикалық процесті
Өзгерулі кернеу айнымалы ток, амплитудамен, жиілік пен фазамен сипатталады.
Сигнал-бұл хабардың әсер етуіндегі алып жүрушілер немесе ақпараттың әсер
2. АҚПАРАТТАРДЫ ЖІБЕРУ ЖӘНЕ ҚАБЫЛДАУ ҚОЛДАНАТЫН КОДТАР
2.1. Ақпараттарды жіберудегі және қабылдаудағы негізгі анықтамалар.
Код - анықталған ақпаратты алып жүретін және анықталған
Мысалы, 100110; 2367; АВ34С.
Кодтың алфавиті - символдар жиыны немесе кодты құрайтын
Кодтау - код комбинациясы түріндегі хабарды үздікті сигналға айналдыру.
Кері кодтау - үздікті сигналды хабарға түрлендіру.
Түзгіш - құрылғы, ақпаратты кодқа түрлендіреді.
Керітүзгіш - кодты ақпаратқа түрлендіретін құрылғы.
Кодтардың келесі сипаттамасы бар:
1. m - түзбенің негізі, ол алфавиттегі символдарына
2. n - код ұзындығы, яғни код сөзіндегі
Кодтардағы n- әрқашанда біркелкі деп атайды, кері жағдайда біркелкі
3. Код қуаты - берілген кодтағы мүмкін
4. d-код ара-қашықтығы, әртүрлі екі жақын тұрған код сөзінің
Код ара-қашықтығы, кодтаудың коррекциялаушы күйін анықтайды. Мысалы:
00-1;
01-2;
10-3;
11-4.
Бұл кодтың ара-қашықтығы бірге тең “00” себебі “01”-ден бір
Көрініп тұрғандай, бөгеуіл ақпараттың бөгеуіне әкеліп соғады, яғни
Басқа мысалды қарастырайық. Келесі код берілсін:
00-1;
11-2.
Көрініп тұрғандай, “00” бір сәйкес , ал
d=3 кодын құрайық.
Мысалы: 000-1;
111-2.
“001” комбинациясы қабылданды дерлік, көрініп тұрғандай жіберу кезінде қате
К.Шеннон теоремасына сейкес әрбір арна, жіберудің жылдамдығы қажеттіліктен үлкен
Мұндай кодтарды табу өте күрделі.
Жұптылыққа түзетілген, қайталанатын Хэмминг түзбелері құрылды. Осы қатені
Басқа зерттеулершілер ықтималдық теоремасынан бас тартып, өте
Бақыланған шамалардың үздікті мәнін беру үшін әртүрлі кодтар қолданылады.
Nm= mn - 1
Көп тараған екілік сан жүйесіндегі сигналдар түзбесі
Nm= 2n - 1
Беруді ыңғайлататын біркелкі кодтар қолданылады [2].
2.2 БҰРМАЛАНБАҒАН КОДТАР
Бұрмаланбаған кодтардың ерекшелігі, олардың құрамында болатын түзбе комбинациялары, бір-бірінен
Мұндай түзбелер ақпаратты алып жүрушілердің арасындағы ең кең тараған
Мысалы, төртразрядты екілік түзбе:
0000 – (0); 1000
0001 – (1); 1001
0010 – (2); 1010
0011 – (3); 1011
0100 – (4); 1100
0101 – (5); 1101
0110 – (6); 1110
0111 – (7); 1111
Көрініп тұрғандай, екі код немесе код сөздерінің арақашықтығы бірге
Жоғарыда айтылған кемшіліктер бойынша телемеханикада бұрмаланбаған кодтар қолданылмайды. Бұрмаланбаған
2.3 БҰРМАЛАНҒАН КОДТАР
Қазіргі кезде қателерді табатын кодтардың бірнеше түрі белгілі.
Блоктық кодтарды қолдану өте ыңғайлы, себебі егер қате кететіндей
Жұптылыққа тексеруші түзбе.
Мұндай к- ақпарат символдарынан тұратын ақпаратты толықтыру жолымен жүзеге
Қабылданатын жағында модул екі бойынша келіп түсетін символдарды қосындылауышы
Комбинациядағы тұрақты нөлдер мен бірлер бар кодтар. Мұндай кодтарды
Мысалы, екілік бірдер бар бірразрядты код. Бұл кодтар бөгеуге
00011 – (1);
00101 – (2);
01001 – (3);
10010 – (4);
11000 – (5);
Кодтағы кодтар комбинацияларын дұрыс қабылдануы, бірлердің мөлшерін санау
Сонымен қатар, бұл код көпшілік бөлімдерін таба алады, егер
Таратылатын код та позициялық деп аталады. Фактілі түрде ол
Жіберу кезінде ақпарат блогы қайталанады, 110
Бұрмаланған кодтарға инверсиялы кодтар жатады. Бұл кодтардың бұрмаланған қабілетін
Түзбенің орналасу ережесі келесі: егер берілген комбинацияларда бірдің саны
2.4 АЙНЫМАЛЫ КОДТАР
Ұсынылып отырған Рид-Соломон коды айнымалы кодтар болып табылады. Нақты,
Айнымалы кодтар теориясы, топтар теориясы мен Галуа өрісіндегі көпмүшелік
Айнымалы кодтар блокты жүйелі кодтар қатарына жатады, ондағы әрбір
Белгілі жағдайда, көпмүшелік берілген өрістегі коэфициенттері бар төменгі дәрежелі
Бұл келтірілмеген көпмүшелікті Р(x) екілік немесе ондық
Айналмалы кодтау негізінде Р(x) келтірілмеген көпмүшелікті қолдану жатқызылады, яғни
Айнымалы кодтың кодтау комбинациясының берілген кодтау комбинациясының көпмүшелігін бөлу
Телемеханикадағы айнымалы кодтар өте ыңғайлығ яғни аппараттық жүзеге
Кесте 1 – Ондық дәрежеге дейінгі қарапайым көпмүшеліктер
Көпмүшелік Екілік сан Ондық сан
11 3
111 7
1011 11
1101 13
100011 19
110001 25
111111
31
100101 37
101001 41
101111 47
110111 55
Кесте 1.жалғасы – Ондық дәрежеге дейінгі қарапайым көпмүшеліктер
111011 59
111101 61
1000011 67
10001001 137
100011101 285
1000010001 1057
10000001001 2037
3. ЕКІЛІК ЕМЕС АЙНЫМАЛЫ РИД-СОЛОМОН КОДЫНДА У АРҚЫЛЫ АҚПАРАТТЫ
Қатені түзейтін екілік кодтардың жетіспеушілігі – байланыс сызығының аз
Байланыс арасындағы бөгеуілдерден болатын қателер және сақтау арнасындағы алып
Оларға 2а негізі бар сызықты блокты кодтар жатады.
Кодтау әдісі және жалпы сипаттамасы.
Егер әрбір 2а екілік емес векторлардың а- ұзындығы бар
(n,k) сызықты блоктың кодтар жағдайында, берілген ақпарат векторын
(3)
мұндағы жасаушы матрицаның жатық жолы
(4)
коэффициентттері матрицасын құрайды
(3) және (4) қатынастарының өрнегі G үшін каноникалық түрде
(5)
мұндағы - өлшемді бірлік
(6)
- өлшемді бірлік матрица.
А код векторлары Н матрицасының нөлдік кеңістігін құрайды.
(7)
коэффициентттері қарстырылып отырған екілік емес алфавиттің символдары болып табылады,
Екілік емес алфавитті қосу.
Екілік емес алфавитті қосуоперациясы, сәйкес векторларды разряд бойынша (модул
Мысалы:
(1011)+(0110)=(1101)
Барлық к- екілік емес ақпараттық символдары мультипликативті топты
Сонымен қатар, барлық мультипликативті топқа айналымдық талап қойылады.
Екілік емес алфавитті көбейту.
Топтың элементтерін көбейту, эквивалентті векторлардың сақтау үшін,
- ге бөлу - көбеткенге эквиваленттті.
Мультипликативті топты құру үшін мысалын қарастырайық.
үшін мультипликативті топты құрайық.
модул бойынша операция,
Кесте-2- үшін
а F(x) түріндегі
көпмүшелік F(x) сандық түрін дегі көпмүшелік
2 111
3 1011
4 10011
5 100101
6 1000011
7 10000011
8 100001111
Кесте-2- жалғасы. үшін
9 1000010001
10 10000001001
Векторлар арасындағы Хэмминг ара-қашықтығы, бөлек элементтеріндегі әртүрлі санмен анықталады.
Барлық кодтар векторларының көпмүшеліктері минимал Хэмминг ара-қашықтығын, d-
Кесте 3- Екілік емес алфавиттің бөлек элементтер мәні
Топтар элементтері Көпмүшеліктер элементтері Векторлар
Элементтері
0 - 00
1 1 01
( Х 10
(2 x2=x+1 11
Арна арқылы өтетін А векторы мына түрде келтірілген
А+Е=A*,
Мұндағы А* - арна шығысындағы вектор,
А вектор арнасынан алынған әртүрлі кері кодтау әдістері бар.
(9)
Мұндағы матрицаның баған
(10)
S cиндромның мәні, қате векторларының және тексеруші матрицасына тәуелді
(11)
Бір қатені жөндеу үшін, кодтың максимал ұзындығы:
(12)
Мысалды қарастырайық.
және үшін
,
сондықтан
онда егер
Қаншылықты сонда таңдаймыз
(13)
Мұндағы ,
сонда өрнегін аламыз.
және
Жалпы үшін тексеруші матрицаның
Түрлендіруші кодтар.
Кодты вектор екілік пішінге түрлендіреміз, жоғарыда қарастырылған
(11) матрицаны екілік пішінге түрлендіреміз, жоғарыда қарастырылған қорытындыларға сүйенеміз.
Мұндағы Ті- аха өлшемді матрица.
Тексеруші және жасаушы матрицалардың түрлері мынадай болады.
Тексеруші (11) сәйкес:
Жасаушы матрица
Ақпаратты векторларға екілік вектор
Сәйкесінше және екінші мысал қорытындысымен дәл келеді.
Қатені түзететін кері кодтаушы түрлендіргіштер.
негізді сызықты кодтардың көмегімен бірлік қатені түзету үшін қарапайым
есептеу;
егер S=0, онда қабылдайтынға векторын
егер S=0, онда үшін есептеу
j мәні кезінде, бір қатені сәйкесінше,
қабылдап алушыға коррекцияланған ақпаратты векторды беру .
Мысалы, (5,3) коды үшін, (11) тексеруші матрица бар,
арнасынан қабылданған, векторды кері кодалаймыз.
Сәйкесінше қарастырылған алгоритм:
5.
Бірлік қателерді түзету үшін, екі тексеру символдары бар кодтар
Н матрицаны жадыда сақтау міндетті емес.
3.1. Рид- Соломон кодтарының сипаттамасы
Рид- Соломон кодын айнымалы код деп атайды және оның
Сонымен алфавиттің символдырының саны 2а тең, яғни а- рет
Мұндай топта міндетті түрде қосынды мен көбейту анықталған болу
Мультипликативті топтардың элементтерін қосылуының орындалуы модул екі бойынша фиктивті
Екілік емес алфавиттің бақыланатын символдары к- мультипликативті топты құрайды.
Топ айнымалы, сондықтан да
Рид-Соломон кодының ұзындығы тең, көпмүшелікпен жасаған
мұндағы d- код арақашықтығы (тақ), ал (- мультипликативті
Мүмкін
g(x) түбірі болып табылады, яғни
Әрбір айнымалы код үшін, бақыланатын символдар саны көпмүшеліктің
Ақпарат символдар саны . Рид-Соломон кодтары сызықты
Сол себептен мына шарттар орындалуы қажет:
қалдықтар саны ақпараттар символдар саны к-тең болуы керек;
тексеруші матрица үшін W салмақтықалдықтар жарамды, табылатын қателер санынан
3.2 Көпмүшелікті құрайтын символдарды таңдау
Мысалы, қандайда бір объектіде байланыс сызығы бар телемеханика жүйесі
d=3
Басқа жағынан, сегіз деңгейлі ақпаратты жүйесімен жұмыс істеу үшін:
яғни сонда
Кодты құрудың келесі этапы, екілік емес символдарды табу керек,
Сонымен, топтың бірінші элементі нөль болуы керек, яғни екінші
Болғандықтан
Алфавиттің элементтері табылғаннан кейін 5 кестесіне жазамыз.
Ендігі кезде көпмүшеліктерді құру қажет. Жасаушы көпмүшеліктің формуласын қолдана
Сонымен
Сонымен қатар
g(x) табылғаннан кейін кодалауға кірісеміз.
Кесте 5- Рид-Соломонның екілік алфавиті
Символ Көпмүшелік Вектор
0 - 000
1 1 001
( Х 010
(2 х2 100
(3 х+1 011
(4 х2+х 110
(5 х2+х+1 111
(6 х2+1 101
3.3 Кодалау
Алғашқыда айтылғандай, аппаратты жүзеге асуы үшін, кодалау әдісінің ыңғайлығынан
(14)
Яғни, бөлеміз. Төменде
Мысалы, 10000 комбинациясы берілген. х2 көбейтіп және 1000000 комбинациясын
Ендігі кезде бұл комбинацияны жасаушы көпмүшелікке бөлеміз және біз
1 0 0
1 (4 (3
(4 (3 0
(4 ( 1
1 1 0
1 (4 (3
(5 (3 0
(5 (2 (
(5 ( 0
(4 (2 (
(4 (
Сонымен біз бақыланатын символдарды таптық: (4( және барлық комбинация
10000(4(
мысалы үшін:
(14) кодалау әдісіне сәйкес келеді.
3.4 Кері кодалау
Рид-Соломон кодасын керікодалау айнымалы кодаларды керікодалау сияқты жүргізіледі, яғни
Байланыс сызығынан қабылданған А*(х) көпмүшелік g(x) бөлінеді, әрбір қадамдағы
түріндегі қалдықты алған кезде, мұндағы і- позиция номері, қате
Егер бөлген кезде қалдық болмаса, онда қабылданған кодта
1 0 0
1 (4 (3
(4 (3 0
(4 ( 1
1 1 0
1 (4 (3
(5 (3 (4
(5 (2 (
(5 (2 (
(5 (2 (
0 0
Төменде көрсетілген мысалда, біз оның қалай орындалатындығын көре аламыз.
Жоғарыда құрылған комбинация төртінші символда қате кетті дерлік, яғни
Алынған комбинация жасаушы көпмүшелікке бөлуді орындаймыз.
Осыдан көініп тұрғандай, төртінші символда қате кеткен, берілген символ
4. РИД-СОЛОМОН КОДАНЫҢ ФУНКЦИЯНАЛДЫ СҰЛБАСЫН ЖҮЗЕГЕ АСЫРУ
Қаншалықты Рид-Соломон коды айналмалы болғандықтан, оларды аппараттық жабдықпен жүзеге
4.1. Сызықты қайта қосу сұлбалары
Көбейту және бөлу операцияларын синтездеу үшін сызықты қайта қосу
Оның кестесі 6 - кестеде көрсетілген.
Кесте 6-модул екі бойынша екілік қосындылауыш кестесі
Кіріс Х Кіріс У Кіріс Z
0
0
1
1 0
1
0
1 0
1
1
0
Бірақ, Рид-Соломон кодтары үшін, бірзарядты қосындылауыш емес, ал үшзарядты
Зерттеліп отырған кодтар үшін, қосу ережесі 7 кестеде көрсетілген.
Кесте 7- Үшразрядты қосындылауыштың кестесі
Кесте 7- жалғасы.Үшразрядты қосындылауыштың кестесі
Қосындылауыш логикалық элемент болып табылады, яғни комбинациялық логикалық сызба
Сызықты қайта қосу сұлбаларын құрастырудағы келесі элемент, ол жады
Кешігу элементі,триггерлерден құрастырылуы мүмкін немесе үшразрядты ығыстырушы регистрлер базасында
Сызықты қайта қосу сұлбаларын синтездеу үшін, модул екі бойынша
Көбейту элементі - логикалық элемент болып табылады және логикалық
4.2.Бөлу сұлбасы
Бөлу жолымен табылған қалдықты кодтауын орындайтын сызықьы қайта қосу
Оның функционалдық сұлбасы 6 суретте көрсетілген.
Алғашқы к-тактілерінде “К” кілті 1 қалпында тұрады.
Ақпарат символдары шығысына жіберіледі және біруақытта
R(x) қалдығы r тактіден
Берілген сұлбаны шамалы модификациялау арқылы керікодтау жабдығын құруға болды.
1 парағында кодтау жабдықтың толық функционалдық сұлбасы көрсетілген, ол
Кірісіне бірінші ақпарат символдары келіп түседі, содан кейін К-кілті
Санағыштан түскен командадан кейін К-кілті 2 қалпына қайта қосылады,
Мысалды қарастырайық.
Сурет 1- кодты түрлендіргіштің құрылыс сұлбасы көрсетілген – Рид-Соломон
J=(110(3 үшін сұлбаның жұмысы 7 кестеде көрсетілген.
Ұяшық шығысындағы ақпаратты тоқтату келесі тактіде пайда болады. Мысалы,
Екінші тактіде бұл символдар ұяшықтарға сәйкес шығысында пайда болады,
(3 және (4 көбейтіндісі.
(3 ( (3((7 (1, (4 ( (4
Бірінші қорытынды бірінші ұяшыққа жазылады, ал екіншісі ұяшықтың шығысында
Керікодтау құрылғысының жұмысы, кодтау құрылғысының жұмысы сияқты.
Бірінші n-такт кезінде К-кілті бірінші қалпында тұрады. Барлық
Кесте 8-Түзгіш күйінің кестесі
Такт номері Кіріс Ұяшық номері Шығысы
1 2
0 - 0 0 -
1 ( (4 (5 (
2 1 1 (2 1
3 1 (2 ( 1
4 0 (4 (3 0
5 (3 0 (3 (3
6 - 0 0 (
7 - 0 0 0
Жетінші такт аяқталғаннан кейін қабылдап алушыға ақпарат келіп түседі.
Сондықтан да К-кілті екінші қалыпқа ауыстырылады және коррекциялаушы символ
Керікодтау үрдісінің барлық орындалу жолының мысалын қарастырайық.
Мысалға түсініктеме.
Бірлік қателерді түзету алгоритмі, көпмүшеліктерді бөлу
Сонда i саны позиция номерін көрсетеді, ал
Сурет 2 - керікодтаудың түрлендіру сұлбасы көрсетілген (7,5) RC
Алғашқы n-такт бойы К1-кілті тұйықсыздалған, ал К2-кілті бірінші қалыпта
Егер қайсыбір
А*(((1(0(3(40) үшін сұлбаның жұмысы керікодтау күйінің кестесінде көрсетілген, кесте
Кесте 9 - Керітүзгіш күйінің кестесі
Такт номері Кіріс Ұяшық номері Шығысы ҚЖҚ
1 2
0 - 0 0 0 -
1 ( (4 (5 0 -
2 1 1 (2 0 -
3 ( 1 (3 1 -
4 0 (6 0 0 -
5 (3 (6 (2 0 -
6 (4 (4 ( 0 -
7 0 (4 1 0 -
8 - (3 0 ( (
9 - 0 0 1 1
10 - 0 (3 ( 3+(=1
11 - 0 0 0 0
12 - 0 0 (3 (3
13 - 0 0 (4 (4
14 - 0 0 0 0
5. РИД-СОЛОМОН КОДЫНЫҢ ҚАҒИДАЛЫ СҰЛБАЛАРЫН ЖАСАУ.
5.1 Кодтаушы құрылғының қағидалы сұлбасы.
Функционалды сұлбаға сүйене отырып қағидалы сұлбаны өңдейміз, сонымен қатар
(3 және (4 кодты импульстардың көбейту сұлбалары, ДД1 және
алатынымыз
Төмендегі мысалдағы көбейту құрылғысының жұмысын қарастырайық:
-ге көбейтейік. Қорытындысын
алатынымыз
онда соңғы қорытындысы:
онда -ке көбейтсек
схемасы ДД1.1, ДД1.2, ДД1.3, ДД1.4 элементтерінде жүргізіледі.
ДД1. Элементі К155ЛП5 интегралдық схемасы түрінде көрсетіледі, оның
(4 көбейткендегі үшразрядты векторлардың көбейту құрылғысының құрылысын шығарайық:
шығындысы
Осыдан
ДД 7.1, ДД7.4 төрт элементі бар ДД7 микросұлбада
ДД1 және ДД7 элементтерінде жиналған сұлбалар жоғарыдағы алынған формулалар
Екілік қосындылауыш негізінде құрылған біздің көбейту сұлбамыздың артықшылығы,ол көбейтуды
Құрылғының келесі элементі үшразрядты ығыстырушы регистр болып табылатын кодтаушы
Бұл құрылғы бір тактіге ақпараттарды сақтап және тоқтатып
Бірінші регистр ДД5.1, ДД5.2 және ДД6.1 элементтерінде жиналған, екіншісі
ДД5, ДД6, ДД10, ДД11 микросұлбалары бір корпустағы екі Д-триггер
ТТЛ қолдану, КМФЛ –мен салыстырғанда тезәрекетті болып табылады.
Жоғарыда тізілген элементтерден басқа екі бағыттағы үшразрядты коммутатор қажет,
Бұл коммутатор ДД3.2-ДД3.4 элементтерінде жүзеге асқан, олар кері байланыс
ДД3.2-ДД3.4,ДД13.1-ДД13.3 элементтері “ЖӘНЕ” сұлбалары болып табылады.
Жоғарыдағы сым сұлбасы бойынша коммутаторлық теңдеу жүргіз еді. Ол
Модуль екі бойынша қосындылауы, модул екі бойынша бірразрядты қосындылауыш
Қосындылауыштар үшразрядты болғандықтан, бірінші және екінші қосындылауыштар, модул екі
Жоғарыдағы сұлба бойынша элементтер, үлкен разрядты қосуды жүргізеді,ортаны-ортасымен, төменді-кіші
Үшразрядты қосындылауыштар ДД9.1,ДД9.2, ДД9.3 (бірінші қосындылауыш), ДД9.4, ДД12.1,
ДД9 және ДД12 микросұлбалары кең қолданылатын К155ЛП1 интегралды микросұлбалар
ДД14.1-ДД14.3 элементтерге ДД14 микросұлбаларда жиналған, оларда төрт бірразрядты логикалық
Тактілі импульстар генераторлары, ДД2.1 - ДД2.4 элементтеріндегі дәстүрлі сұлбалары
R1 және С1 шамаларын, шарт бойынша анықтайық, тактілі
fT=1мГц және R1=1,5 кОм.
Жиілік мына формула бойынша анықталады:
fT=1мГц , R1=1,5 кОм беріп, сонда Ф
яғни сыйымдылық С1=500nФ.
Импульстер санағышы құрылғының жұмысын басқару үшін қажет.
Санағыш тізбекті үш Д-триггер біріктіруінен тұрады, Д-инверсті шығысына біріктірілген.
Санағышты осылай қосқанда, әрбір санағышты импульстар ажыратылып қосылып тұрады.
Яғни ДД6.2, ДД8.1, ДД8.2 элементтерінде екілік-сегіздік синхронды тізбекті санағыш
Санағыштың әртүрлі күйі кезінде құрылғының күйін қарастырайық.
Санағыштың күйі (000) болғанда, оны ДД3.1 элементтері белгілеп
(001) –(101) кезінде бес үшразрядты векторларды таңдау жүргізіледі,
Қашан санағыштың күйі (110) тең болғанда “2” және “НЕ”
Осы команданың әсерінен коммутатор ДД14.1-ДД14.3 құрылғысының шығысына қосыладыжәне (110)
Ақпараттың жаңа блоктары түскен кезде бұл прцесс қайталанып
Санағыштың асинхронды немесе тізбектілі болып бөлінеді,синхронды немесе параллелді.
Асинхронды санағыштар итезәрекетті триггерлердің кезекті қосылып тұру салдарынан тезәрекетті.
5.2. Рид - Соломон кодының керікодтау құрылғысының қағидалы
Қаншалықты кодтау және керікодтау құрылғысы көпмүшелікті көбейту сұлбасы негізінде
(3-ке көбейту сұлбасы толығымен жоғарыда қарастырылған. Ол модул
(4 көбейту сұлбасы да толығымен кодтау құрылғысына ұқсас. Ол
Бір тактіге кешігу ұяшығы Д - ДД18.1 триггерлерінде жиналған(ДД18.2,ДД19.1,
Қосындылауыштар ДД23.1-ДД23.3 (бірінші) элементтерінде құрыл- ған, ДД30.1-ДД30.3 (екінші),
Бұл микросұлбалар К155ЛП5 типті қосындылауыштар параллелді жұмыс істейді.
Санағыштың жұмысы, керікодтаудың циклі 16 тактіні құрайды, яғни санағыш
Коммутатор толығымен кодтаудың коммутатордан қайталайды және ДД20.3, ДД20.4,
Кодтау құрылғысынан өзгешелігі, ДД20.1жәнеДД20.2 элементтерінде нөлдің идентификаторы бар болуы
Сонымен қатар қабылданған вектордың сақтау регистрінің бар болуы. Бұл
6. ДАЙЫНДАУ ТЕХНОЛОГИЯСЫ МЕН КОНСТРУКЦИЯСЫ.
Кодтау және керікодтау құрылғылары екіжақты фалгирленген текстолитте бекітілуі қажет.
Плата мен микросұлбаның біріктірілуі, дәнекерлеу көмегімен орындалуы керек.
Платаны жасау келесі технологиялық тізбегімен жүзеге асады:
басылым платаларының сұлбасы жасалады,К155 сериялы микросұлбалардың шығындылар ара-қашықтығы 2,5
Осымен платаны жасау аяқталады.
Содан кейін бөлшектерді платаға монтаждау басталады, айтылғандай
дәнекерлеу көмегімен жүргізіледі.
Дәнекерлеу жақсы желденген бөлмеде жүргізілуі қажет. Микросұлбаның статискалық электр
Сонымен қатар микросұлбалардың қызып кетуінен ссақтау үшін,пайканың температурасы 300
Содан кейін, ілмелі бөлшектер платаға бекітілгеннен кейін,
Тексерістен кейін кодтаушы және керікодтаушы құрылғылар алюминді экранға бекітіледі
Егер микросұлба жұмыс істемеген жағдайда, олар ауыстырылады да, ал
Бөлек қорек көзі керек емес. Қоректенуі +5 В
7. БАҒДАРЛАМАЛЫ ҚАМТАМАСЫЗ ЕТУ
Бұл дипломдық жобадағы бағдарламалы қамтамасыз ету, лабораториялық жұмысты қамтамасыз
Қазір біз тікелей бағдарламалы қамтамасыз ету жұмыс қағидасы қарастырайық,
Рид-Соломон кодының кодтаушы және керікодтаушының жұмысын түсіну үшін мынадай
7.1 Модуль екі бойынша логикалық элементтің қосындылауышы
Ол екі процедурадан тұрады. Бірінші процедура екі көпмүшелікті модуль
Модуль екі бойынша қосу жауап беретін процедура деп
Төменде көрсетілген бағдарламаның бір бөлігін қарастырайық.
Function ad(d,c: string): String;
Var i: integer;
s: string;
Begin
s:=”;
i:=1;
for i:= 1 to length(d)
do
if d[i]=c[i]
then s:=s+’0’
else s:=s+’1’;
ad:= s;
End;
Бұл жердегі резервтелген сөзі Function берілген бағдарламада
І айнымалы жорамал, яғни ол бүтін мәнді қабылдайды. Төменгі
Салыстырудың қорытындысы, S айнымалы бір мәнін меншіктейді, егер с
Бағдарламаның жұмысын мысалы ретінде қарастырайық.
Екі көпмүшеліктер (101) және (011) берілсін. Жоғарыда айтылғандай бұл
Бастапқы символдарды бір және нөлді аламыз, ұқсастыққа қараймыз. Көрініп
Осыдан көрініп тұрғандай айналымда екі өту жүргізіледі, яғни I
Бірақ берілген бағдарламада барлық есептеулер нақты айнымалылармен жүргізіледі. Содан
Function Adb (d, c, k: Integer; B: array
Var adi, i: integer;
ads: String;
Begin
Ads:=Ad(B[d],B[c]);
for i:=0 to k
do
if B [i]=Ads
Then Adi:=i;
Adb:=Adi;
End;
Біздің жағдайда Adb функциясының төрт кірісі және бір шығыс
В айнымалысы, жолдық айнымалылардан тұратын массив болып табылады. Бұл
Бұл жердегі Adi айнымалысы жолдық i-нақты, ал Ads –жолдық.
Сонымен айналымдағы жолдың мәні сәйкесінше нақты өрнегіне түрленеді.
Айналманың жұмыс істеу қағидасын қарастырайық. Бағдарламада көрініп тұрғандай,айналымның ішінде
7.2 Рид-Соломон кодтарын көбейту процедурасы.
Рид-Соломон кодтарын көбейту процедурасының бағдарламасының орындалуын тездету
Function Umm(d,c:integer):Integer;
Var U:Integer;
Begin
U: (d-1)+(c-1);
If U ( 6
Then U((U-k;
іf (d((0) and(c((0)
Then U((U+1
Else U((0;
Umm((u;
End;
Берілген функцияда кіріс айнымалылардың рөлін с және d айнымалылары
Жолда:
U(( (d-1) + (с-1);
Тікелей көпмүшеліктерді көбейту жүргізіледі, ал жолда
If U( 6
Then U((U-k;
Айналымның ығысуы орындалады. Мынаны ескеру қажет: нөлге көбейту пайда
if (d(( 0) and (c((0)
Then U((U+1
EIse U((0;
Барлық процедураның орындалғаннан кейін функциясына айнымалы мәні енгізіледі.
7.3.Көпмүшеліктерді көпмүшеліктерге бөлу процедурасы
Бұл пункте көпмүшеліктерді бір-біріне бөлудің негізгі қағидасы қарастырылған. Бұл
Procedure DelB(k,n,pk: integer; b:array of string; rx: Array of
Var Au:Array [0..256] of Integer;
i,j: Integer;
Begin
i:=0;
For j:=0 to 256
do
Au[j]:=A[j];
While n-i> Pk-1
do
Begin
If Au[i]0
Then
Begin
For j:=Pk-1 DownTo 0
do
//***
End;
i:=i+1;
End;
For j:=i to n
do
DdelB[j-1]:=Au[j];
End;
Бұл процедураға алты айнымалы кіреді. Оның үш айнымалылардың типі
Кіру айнымалылардың әрбір мәнін қарастырайық.
к - айнымалысы, Рид-Соломон кодының алфавиті сөздің ұзындығы мәнінен
DdeIb- нақты массив, кірісінде өзінің көпмүшелігі бар, ал шығысында
Var Au:Array [0..256] of Integer;
i,j: Integer;
Бұл жолда үш локалдық айнымалылары жазбаланған, i және j
Au - айнымалысы 257 нақты саннан тұратын массив. Бұл
Содан кейін бағдарламаның тұлғасы көрсетіледі.
For j:=0 to 256
do
Au[j]:=A[j];
Көпмүшеліктері бар массивті аралық есептеу массивін енгізу жүргізіледі.
While n-i> Pk-1
do
Begin
If Au[i]0
Then
Begin
For j:=Pk-1 DownTo 0
do
//***
Au[I+j]:=Adb(Umm(Rx[j],Au[i]),Au[I+j],k,b);
//***
End;
i:=i+1;
End;
Бұл бағдарламадағы көпмүшеліктерді бөлу, қалдық алғанға дейін жүргізіледі. Бұл
If Au[i]0 шарты, бірінші нөлдік мүшелердің артық бөлуді алып
For j:=Pk-1 DownTo 0
do
//***
Au[I+j]:=Adb(Umm(Rx[j],Au[i]),Au[I+j],k,b);
//***
End;
Бөлу процедурасы орындалады. Бұл жерде модул екі бойынша айналымды
7.4. Кодтаудың ішкі бағдарламасы
Берілген бағдарламаның кодталу процедурасы, полиномды бейнелейтін көпмүшелікті бөлудегі қалған
Төменде ішкі бағдарламаның коды көрсетілген.
Procedure Codir(var Cod: Array of integer);
Var i,nl,j: Integer;
O: Array[0...256] of integer;
Begin
For i:=0 to n-1
do
Cod[i]:=A[i];
For i:=1 to pk
do
a[n+1]:=0;
n1:=n;
n:=n+pk-1
DelB(k,n,pk,b,a,rx,o);
n:=n1;
For i:=0 to pk-2
do
Cod[n+i]:=o[i];
End;
Кіру және бір уақытта шығыс айнымалылары нақты массивті жазбалайтын
7.5. Керікодтаудың ішкі бағдарламасы
Керікодтаудың ішкі бағдарламасының негізіне, есептелуден қалған қалдықты және соның
Procedure Decorder(Var cod: Array of unteger);
Var s,i,j: Integer;
q,q1,A1,q2: Array[0...256] of integer;
Begin
s:=0;
Form1.Label25.Visible:=False;
For i:=0 to 256 do a1[i]:=e[i];
DelB(k,n,pk,b,rx,q);
For i:=0 to pk-2 do s:=s+q[i];
If s0 then
Begin
Form1.Label25.Visible:=True;
If q[0]=0 Then A1[i]:=Adb(a1[i],q[2],k,b);
Else Begin
For i:=0 to k do
Begin
q[pk-1]:=0;
delb(k,pk,b,rx,q,q1);
If q1[0]=0 Then A1[i]:=Adb(a1[i],q1[1],k,b);
q[0]:=q1[0]; q[1]:=q1[1];
End;
End;
For i:= 0 to 256 do Cod[i]:=a1[i];
End
Else For i:= 0 to 256 do Cod[i]:=e[i];
Бірақ бұл бағдарламаның кішкене айырмашылықтары бар. Қалдық табылғаннан кейін,
ҚОРЫТЫНДЫ
Қорытындылай келе, дипломдық жобада қарастырылған Рид-Соломон кодтарын қолдану негзінде
Беру арналары мен ақпараттарды сақтаудың кеңінен таратылуынан, 2а көлемді
Өндірістік үрдістерді басқару кезінде, өндірістік үрдістерде хабар пайда болады,
Қателердің бар болуы және беру арнаасында бөгеуілдердің бар болуынан,
Көпмүшеліктерді көпмүшеліктерге бөлу процедурасы
PROFIBUS, MODBUS Протоколодары
Циклдік және үзіліссіз кодтар
Сигналдарды кодтау және модуляциялау әдістері
Машинада деректер бойынша операцияларды орындау
Паскаль тілінің алфавиті
Тар жолақты сигнал
VISUAL C программасындағы негізгі функциялар
Шеннон теоремалары
Кодтауды негізгі анықтамалары