Кіріспе

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

Код параметрлері

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

Мысал

3 ұзындығы бар екілік қайталау кодын қарастырайық. Пайдаланушы 101 ақпарат битін жібергісі келеді. Содан кейін кодтау әр битті барлық бірліктерден немесе барлық нөлдерден тұратын кодты сөзбен алмастырады, нәтижесінде 111 000 111 шығады, ол жіберіледі. Егер үш қате жіберілген биттерді бұзса, ал алынған тізбек 111 010 100 болса, не болады? Декодтау әдетте әрбір кодты сөз үшін қарапайым көпшілік дауыс беру арқылы жасалады. Бұл бізді декодталған 100 ақпарат битіне жеткізеді, себебі бірінші және екінші кодты сөздерде екі қатеден аз болды, сондықтан биттердің көпшілігі дұрыс. Алайда үшінші кодты сөздің екі биті бұзылды, бұл қате ақпарат битіне әкеледі, өйткені екі қате қателерді түзету мүмкіндігінен асып түседі.

Қолданбалар

Олардың дербес кодтар ретінде нашар жұмыс істеуіне қарамастан, Turbo кодтары сияқты, итеративті түрде декодталатын біріктірілген кодтау схемаларында, мысалы, қайталау-жинақтау (RA) және жинақтау-қайталау-жинақтау (ARA) кодтарында қолдану, үлкенге жақын қателерді түзету өнімділігін қамтамасыз етеді. Қайталау кодтары – кодтық жылдамдығы арна шуын жеңу үшін қажетті паритеттік ақпарат мөлшеріне байланысты арна сыйымдылығының өзгеруіне автоматты түрде бейімделе алатын, белгілі бірнеше кодтың бірі және бұл қасиетінен өшіруге келмейтін арналар үшін жалғыз белгілі код болып табылады. Өшіру арналары үшін практикалық бейімделген кодтар соңғы кезде ғана ойлап табылды және олар "бұлақ кодтары" деп аталады. Кейбір UART құрылғылары, мысалы FlexRay протоколында қолданылатындары, қысқа мерзімді шу импульстарын жою үшін көпшілік сүзгісін пайдаланады. Бұл импульстарды қабылдамау сүзгісін қайталау декодерінің бір түрі деп қарастыруға болады.