Код (франц.
code) — үзілісті ақпарды сигналға айналдырғанда қолданылатын белгілер жиынтығы.
Коммуникацияда код дегеніміз ақпарды өзгертудің қағидалы жүйесі болып, ол әдетте әріп, сөз, дыбыс, сурет, ым-ишара секілділер арқылы мәлім ақпаратты басқа бір формада айту не сақтау. Ең бір ежелгі мысал, тілдің пайда болуы, ол алғашында көргенін, естігенін, сезінгенін, ойлағанын сөйлеу арқылы жеткізу болды. Яғни, оқиға, ақпарат сөйлеген сөзде кодталды. Бірақ сөйлеудің өз шектемесі бар, ол дыбыс таралуының жылдамдығы мен өнімділігі жағынан шектеуге ұшырайды, жаңатехнологиялық аспаптар шыққанға дейін оны тек белгілі бір қашықтық көлеміндегі адамдар ғана тыңдап қабылдай алды. Сөйлеудің көруге болатын кодтарға көшірілуі (жазылуы) ақпарат жеткізуді уақыт-кеңістік тұрғысынан кеңейтті. Кодтарды екі мағынада түсіну керек, бірі таңбалар, бұл беткі, көрінеу, сыртқы материалды нұсқасы, енді бірі оның ішкі мағынасы. Ол таңбаның өзімен шектелмейтін ақпарат (білім) жүктеген болады.
Код атаулы кодтау (encoding) мен декодтаудың (Decoding) бірлігі. Кодтау - мәлім ақпараттың коммуникациялық және сақтауға болатын таңбаларға айналуы. Ал, декодтау дегеніміз кері бағыт, яғни, кодталған таңбаның қайтадан қабылдаушы түсінетін ақпаратқа айналуы, түсіндірілуі.
Қолданылатын орнына және көзделетін мақсатына байланысты кодалар бірнеше түрге бөлінеді.
Мақсатына қарай кодалар үш түрге бөлінеді:
Кодалаушы белгілер жүйесіне қарай:
Хабардың бір бөлігіндегі белгілер санына байланысты:
болып бөлінеді.
Хабардың бір бөлігін белгілейтін символдар саны онда I қолданылатын жүйенің негізіне байланысты болады.
Мысалы, екілік жүйедегі символдар саны көп болып, ал ондық немесе одан да көп жүйедегі символдар саны аз болады.
Бірінші ретті кодалар . Бірінші ретті кодалар хабар көзінен берілетін ақпаратты байланыс арнасымен таратуға дайындап және хабар көзіндегі артық ақпараттан тазартып, ондағы сигналдың берілу жылдамдығын арттыруға арналған.
Бірінші ретті коданың тарихы алғашқы қарапайым телеграфтық кодадан басталады.
Бірінші телеграфтық кода деп XIX ғасырдың бірінші жартысында ондық сандарды белгілеуге қолданылған Морзе кодасын айтуға болады.
Морзе кодасының кейінгі жетілдірілген түрінде нүктелер мен сызықшалардан тұратын символдар құрамы қолданылды. Жиі кездесетін әріптерге қысқа, аз символдар, ал сирек кездестін әріптерге ұзын, көп символдар беріліп, жалпы сигнал өткізу жылдамдығын арттырды.
Морзе кодасының қарапайымдылығы, жадта оңай сақталуы оның жетістігі болып табылады. Морзе кодасының кемшілігі - әріптердегі символдар санының бірдей болмауы, кодалап және кодадан шығару үшін қосымша, күрделірек құрылғыны талап етуі.
Құрамы бірдей болғандықтан, бірінші ретті кодалардың ішінде Бодо кодасының құрылуы ыңғайлы және кодадан шығару оңай, Бодо барлық әріпті төрт топқа (жолга) бөліп, әр топқа (жолға) жеті әріптен орналастырып, әр әріпке бес разрядты символдан берген (алғашқы екі разряд жолды, кейінгі үш разряд қатарды көрсетеді).
Кейінгі халықаралық стандарттарда және есептеу машиналарында осы Бодо кодасының негізінде жеті және сегіз разрядты кодалар жасалған.
Тиімді кодалар. Хабар көзінің статистикалық қасиетін пайдаланып, хабардағы әр түрлі әріпке келетін символдар санының орташа мәнін тауып, байланыс каналымен берілетін ақпараттың жылдамдығын арттыруға және коданы сақтау құрылғысының көлемін азайтуға болатын кодалау әдісін тиімді кодалау деп атайды.
Әріптер альфавитінен құрылған хабарды әрбір әріпке келетін символдардың орташа санын азайтып кодалауға болатынын ағылшын ғалымы Шеннон дәлелдеген. Өзара статистикалық байланысы жоқ өріптерден құрылған хабарды тиімді кодалау әдісін ең алғаш рет Шеннон және Фэно көрсеткен, сондықтан мұндай кода Шэннон - Фэно кодасы деп те аталады.
Кода былайша құрылады: хабар жазылған алфавит әріптері өздерінің сол хабарда пайда болу ықтималдығының ретіне сәйкес, алдымен, ықтималдығы көп әріптер, содан кейін сол ықтималдық кему ретімен кестеге жазылады. Одан кейін оларды екі топқа бөліп (әр топтағы ықтималдықтар қосындысы мүмкіндігінше бірдей немесе жақын), оның жоғарғы тобындағы әріптердің бірінші символын "0" деп, төмендегілердің бірінші символын "1" деп алады. Содан кейін әр топ тағы екі топқа бөлініп, ондағы әріптерге екінші символ белгіленеді. Сөйтіп ең соңғы топтарда бір-бір әріп қалғанша бөлініп ең соңғы символ беріледі. Сонда хабардағы жиі кездесетін, яғни ықтималдығы жоғары әріптерге берілетін символ саны аз, ал сирек кездесетін, яғни ықтималдығы аз өріптерге берілетін символдар саны көп болады.
Сөйтіп тиімділік әр түрлі ықтималдықпен кездесетін әріптерге саны әр түрлі символ беру арқылы пайда болды. Бірақ мұндай кодалардан кейін шығару қиыңдап кетеді.
Префиксті кодалар - кодадан шығарғанда қателікті азайту үшін, ұзын кодалық құрамдар қысқа кодалық құрамнан басталмайтын болуы керек.
Тиімді коданың кемшіліктері де бар:
Сондықтан кодадан шығару кезінде біріне-бірі жалғасқан қателердің алынуы мүмкін.
Бөгеуілге орнықты кодалар . Байланыс арналарында қосымша элементтерді пайдалану арқылы берілетін ақпараттың дәлдігін жоғарылату үшін қолданылатын коданы богеуілге орнықты кодалар немесе түзетуші кодалар деп атайды.
Бөгеуілге орнықты (түзетуші) кодалар бірінші ретті кодаларға қосымша разрядтар косу арқылы жасалады. Қосымша разрядтар байланыс арналарындағы бөгеуілдердің пайда болу зандылығына байланысты қосылып, сол бөгеуілдердің әсерінен пайда болатын қателерді жою үшін пайдаланылады. Қосымша разрядтар кодаларды күрделендіреді. Дәлдікті жоғарылату дәрежесі түзетуші коданың күрделілігіне байланысты. Дәлдікті неғұрлым жоғары дөрежеге көтеру үшін түзетуші кода соғұрлым күрделі болу керек. Сөйтіп акпаратты тарату дәлдігін жоғарылату әдістерінің әсері байланыс арналарындағы қателердің жалпы саны мен олардың таратылу заңдылығына байланысты болады.
Егер байланыс арналарындағы қателер біріне-бірі байланыссыз, яғни корреляцияланбаған болса және бір элемент қатесінің ықтималдығы берілсе, онда қалған қателер мәліметтерін анықтау қиын емес. Тәжірибеде кездесетін байланыс арналарында кателер корреляцияланған болады. Қателердің бір түрі — қателердің топталып келуі. Мұндай топталып келетін қателерді "пакеттеліп келеді" деп те айтады. Қателер тобы немесе пакеті деп бірінші бұзылған элементтен бастап соңғы бұзылған элементке дейінгі элементтер тізбегін айтады. Осы элементтер санын пакет ұзындығы деп атайды. Екі пакет арасындағы бұзылмаған элементтер санын қорғаныс аралығы дейді. Қорғаныс аралығындағы элементтер саны пакет ұзындығынан бірнеше есе артық болу керек. Бөгеуілге орнықты немесе түзетуші кодалар қолданылуына жөне құрылуына байланысты бірнеше түрге бөлінеді.
Жүйеленген кодалар циклденген жөне циклденбеген хэмминг кодаларына бөлінеді. Циклденген кодада символдарды белгілі бір циклмен ауыстыру арқылы келесі комбинация алынады.
Топталған кода екі түрде кездеседі:
Жүйеленген кодалар. Жүйеленген кодаларға n орынды топталған кодалар жатады. Олардың кез келген екі комбинациясын "екілік модульмен" қосса, осы кодаларға кіретін үшінші комбинация шығады. n орынды коданың т орынын ақпарат беруге арналған символдар алады да, n — m = к орнын тексеруге арналған символдар алады.
Информациялық m символдар мен текcеруші к символдар белгіленген орындарға орналасады. Жүйеленген кода өндіруші жөне текcеруші матрицалармен беріледі. m санды квадраттық матрицалар арқылы жасалған өндіруші матрицадан "екілік модульмен" қосу арқылы барлық мәліметтерді беруге арналған 2m комбинация алуға болады. Өндіруші матрицадан текcеруші матрица құрылып, ол кодалаушы және кодадан шығарушы құрылғыларды жасау үшін қолданылады.
Кодадан шығарушы құрылғы қабылданған символдарда қатенің бар немесе жоқ екенін анықтап, одан кейін егер қате бар болса, оның қай орында тұрғанын анықтап, оны түзетеді.
Циклді кодалар. Кез келген екілік жүйедегі топталған кодаларды әр түрлі m жолдан тұратын n бағаналы матрицамен жазуға болады. Немесе оған керісінше кез келген п орынды кодалық қомбинациядан тұратын m жолдың жиынтығынан топталған кодаларды құрушы матрица деп қарауға болады.
Мұндай матрицаның барлык жолдарының ішінен қосымша циклдік қасиеті бар матрица құратын жолдарды бөліп шығаруға болады.
Мұндай матрицаның барлық жолдарын осы коданың құрушы деп аталатын бір комбинациясын циклдік ығыстыру арқылы алуға болады. Осындай шартты қанағаттандыратын кодаларды циклдік кодалар деп атайды.
Ығыстыру, негізінен, оңнан солға қарай жүргізіледі. Мысалы: 0100101, 1001010,0010101, 0101010,1010100, т.е.с. Топталған әр түрлі кодалардың ішінде циклдіге жататындары көп болмайды. Сондықтан олармен берілетін мәліметтер көлемі жалпы топталған кодалармен берілетін мәліметтер көлемінен аз.
Циклді кодаларды жазғанда, оларды n дәрежесіндегі көпмүше түрінде жазу ыңғайлы.
Мысалы,
10101 -ді G(x) = 1 * х4 + 0 * х3 + 1 * х2 + 0 * х1 + 1 * х0 = х4 + х2 + 1 деп жазуға болады.
Сөйтіп кодалық комбинациямен жасалатын жұмыс көпмүшемен жасалатын жұмысқа әкелінеді.
Кодалық комбинацияны құратын көпмүшені бір орынға ығыстырудың орнына оны х-ке көбейтеді.
Мысалы, 001101...0011010 орнына (х3 + х2 + 1)х = х4 + х3 + х.
Осы екі комбинацияны "екілік модульмен" қосқанда алынатын комбинацияны х3 + х2 + 1 көпмүшеcін (х + 1)-ге көбейтіп алуға болады.
(х3 + х2 + 1) • (х + 1) = х4 + х2 + х + 1.
Сонымен, кода құрушы көпмүшені белгілеп алғаннан кейін циклді коданың кез келген рұқсат етілген комбинациясын құрушы көпмүшені басқа бір көпмүшеге көбейту арқылы алуга болады.
Циклді коданың кез келген көпмүшесі құрушы көпмүшеге қалдықсыз бөлінуі керек. Циклді коданың осы қасиеті қатені табуға, ал егер қалдықсыз бөлінбесе, сол қалдықтың түріне қарап, қатенің орнын тауып түзетуге болады.
Көпмүшелерді көбейту мен бөлу кері байланысты ығыстырушы тіркегіштерде оңай орындалатын болғандықтан, циклді кодаларды қолдану өте кең тараған. Циклді кода туғызушы немесе өндіруші деп аталатын мүшелерімен беріледі. Барлық мәліметті таратуға арналған көпмүшелер осы өндіруші немесе туғызушы көпмүшеге қалдықсыз бөлінуі керек.
Кодалардың арақашықтығы. Бір кодалық комбинация екінші кодалық комбинациядан оларды құрайтын символдарының айырмашылығымен ерекшеленеді.
Осы символдар ерекшелігінің санын кодалардың арақашықтығы деп атайды.
Мысалы, 010010110 мен 100110100 кодаларының арақашықтығы оларды құрайтын символдарының ішінде сәйкес келмейтін символдарының санына, яғни 4-ке тең. Кодалардың арақашықтығын олардың комбинацияларын "екілік модульмен" қосып, сол комбинацияның ішіндегі "1" санымен анықтауға болады.
Үзіліссіз кодалар. Мәліметтерді таратып-жеткізу техникасында топталған кодадардан басқа үзіліссіз кодалар жиі қолданылады.
Топталған кодалардан үзіліссіз кодалардың айырмашылығы — үзіліссіз кодалардағы кодалау және кодадан шығару үзіліссіз берілетін символдар тізбегімен жүргізіледі. Үзіліссіз кодалардағы тексеруші символдар ақпараттық символдарды тікелей байланысты түрлендіру арқылы алынады.
Үзіліссіз кодалардағы тексеруші символдар сол тізбектер беріліп жатқан ақпараттық символдардың араларына орналасады. Сонда әрбір берілген n символдың m символы ақпараттық, қалғаны текcеруші символдар болады. Мұндай кодалар m/n қатынасымен сипатталады.
Барлық үзіліссіз кодалардың ішіндегі ең қарапайымы m/n = 1/2 болатын тізбектелген кода. Яғни, барлық символдардың жартысы ақпараттық, жартысы текcеруші кодалар. Осындай кодамен үзындығы l, элементтен тұратын қателер пакетін түзетуге болады. Бірақ ол үшін қателер пакетінің арақашықтыгы l элементтен артық болуы керек. Оны қорғаныстық аралық деп атайды.
Бұл мақаланы Уикипедия сапа талаптарына лайықты болуы үшін уикилендіру қажет. |
Бұл мақалада еш сурет жоқ. Мақаланы жетілдіру үшін қажетті суретті енгізіп көмек беріңіз. Суретті қосқаннан кейін бұл үлгіні мақаладан аластаңыз.
|
Бұл — электроника туралы мақаланың бастамасы. Бұл мақаланы толықтырып, дамыту арқылы, Уикипедияға көмектесе аласыз. |
This article uses material from the Wikipedia Қазақша article Код, which is released under the Creative Commons Attribution-ShareAlike 3.0 license ("CC BY-SA 3.0"); additional terms may apply (view authors). Мәлімет CC BY-SA 4.0 лицензиясы аясында қолжетімді (басқа шарттар көрсетілмеген жағдайда). Images, videos and audio are available under their respective licenses.
®Wikipedia is a registered trademark of the Wiki Foundation, Inc. Wiki Қазақша (DUHOCTRUNGQUOC.VN) is an independent company and has no affiliation with Wiki Foundation.