Есептеу техникасы және программалық қамсыздандыру мамандығы үшiн


Элементтер арасында статикалық байланыс болған кездегі дискретті хабарлама энтропиясы



бет2/5
Дата12.06.2016
өлшемі2.88 Mb.
#131134
1   2   3   4   5

Элементтер арасында статикалық байланыс болған кездегі дискретті хабарлама энтропиясы

Егер xi элементінің пайда боу ықтималдылығы, алдында болған элементке xi-1 тәуелді болса элементтер арасында статикалық байланыс орны болады.

Статикалық байланыс қос көрші элементтерді (сонмен қатар бір байланысты Марков) қамтуы мүмкін, көрші элементтер үштігі (Марковтың екі байланысты сымы),..., n+1-көрші элементтерден (n – Марковтың байланысқан сымы, n ).

Барлық нақты хабарлама n- Марковтың байланысқан сымы болып табылады.

Х хабарламасын x1, x2, ...., xn элементтерінен қарастырайық, , Марковтың бір байланысты сымынан тұратын қос көрші элементтері статикалық байланыста тұр делік.

p(xi/xj)- xi элементінің пайда болу ықтималдылығы деп белгілейік, xj (j=i-1) алдында болған элемент. x1 =1 немесе 0, x2 = 0 немесе 1болсын, онда келесі жағдайлар болуы мүмкін

p(0/0) p(0/1)

p(1/0) p(1/1) .

Энтропия H*(xi) = log 1/( p(xi/xj)). xi орташалап p(xi/xj) және xj есепке ала отырып p( xj) Марков сымының бірбайланысты орташа шама энтропиясын аламыз:

. (*)

Рассмотрим выражение (*) өрнегін екі шекті жағдай үшін қарастырамыз.

xi жіне xj бір-біріне тәуелді емес, яғни p(xi/xj) = p(xi) және

xi жәнеи xj элементтері арасында толық функционалдық тәуелділік бар, яғни p(xi/xj) = 0 немесе 1 және онда H*(X) = 0.

Сол бейнеде 0  H*(X)  H(X). (**)

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

Орыс тілінде хабарлама беруді мысал ретінде қарастырайық. Егер ё және е , ь және ъ арасындағы айырмашылықты байқамасақ және арасында ашық жер болуы қажет болса 32 символ болу керек. Максималды энтропия қандай? Символдар арасындағы тәуелділікті және тең ықтималдылық шартының энтропиясы орташа

Hmax = lb 32 = 5 бит/символ.

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

H1 = 4,39 бит/символ.

Екі символдар арасындағы статикалық байланыс энтропиясының азаятынын ескерсек

H2 = 3,52 бит/символ (Марковтың бір байланысты сымы),

Үш символдар арасында – шамаға дейін

H3 = 3,05 бит/символ (Марковтың екі байланысты сымы),

......................

сегіз символдар арасында –шамаға дейін

H8 = 2 бит/символ (Марковтың жеті байланысты сымы) және ары қарай өзгеріссіз қалады.

Қорытынды:

Хабарламаны тиімді кодттау үшін бір есепке энтропияны өсіру қажет:

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

Элементтер арасындағы статикалық байланысты жою.

Артық хабарлама

Егер хабарламада элементтер тең ықтималды және бір-біріне тәуелді болмаса, онда ондай хабарламалар оптималды бейнеде кодтталған. Мұндай хабарламаны беру үшін nopt элементін беру қажет болады. Егер хабарлама оптималды кодтталған болмаса, онда оны беру үшін nnopt символы қажет. Мұндай жағдайда артықтық туындайды, сандық сипаттамасы артықтық коэффициенті болып табылады:

kи = (Hmax(X) - H(X))/ Hmax(X), мұндағы

Hmax(X) – оптималды кодттау кезіндегі энтропия;

H (X) – оптималды емес ккодттау кезіндегі энтропия.

Сондықтан, 0  kи  1. Орыс тілі үшін kи = (5 - 2)/5 =0,6.


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

Хабар көзі x1, x2, ...., xn элементтерінен Х хабарлама каналына берілсін, ал хабарламаны алушы y1, y2, ...., yn элементінен кейбір хабарламаны Y қабылдасын. Егер каналды шусыз қарастыратын болсақ, онда берілген және алынған хабарлама бір-біріне сәйкес келеді.

Келесі құрылымдық сұлбаны қарастырайық

Суретте


Hи – бір символ көзінің орташа энтропиясы;

Vи - бір қор көзінмен беретін символдың орташа жылдамдығы;

Hк- кодер шығысындағы бір символдың орташа энтропиясы;

Vк- кодермен бір символды берудің орташа жылдамдығы.

Шеннон бойынша келесі сипаттаманы қарастырамыз:

Хабарлама көзінің өнімділігі P = Vи Hи [бит/сек].

Канал бойынша ақпаратты беру жылдамдығы R = Vк Hк [бит/сек].

Каналдың өткізу қабілеттілігі- берілгени канал бойынша ақпаратты беру жылдамдығының максималды мүмкіншілігі C = max R [бит/сек] – тек канал сипаттамасы болып табылады және көз қасиетіне тәуелді емес.



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

Егер Р хабарлама көзінің өнімділігі С каналының өткізгіштік каналынан аспайтын болса, онда әрдайым ақпаратты беру жылдамдығы R қанша қажет болса соншалықты С-ға жақындайды, яғни С - R =  - аз шама

Кері тұжырымдау

Егер өнімділігі P  С, онда дискретті канал бойынша хабарламаны беруді қамтамасыз ететін кодттау әдісі болмайды.

Теоремадан сипаттаманың фундаментальды рольі- каналдың өткізгіштік қабілеттілігі. Ол бұл сипаттама канал бойынша (R  C) ақпаратты беру жылдамдығының мүмкін және мүмкін емемс шектерін анықтайды.

Теоремада кодттау әдісі келтірілмеген, бірақ R-дің С–ға жақындау мүмкіндігі көрсетілген.

R-ді С–ға жақындататын хабарламаның кодттау әдісі оптималды кодттау деп аталады.
Шеннону – Фано бойынша дискретті хабарламаны оптималды кодттау

x1, x2, ...., xn элементтерінен Х хабараламасы кодттауға ұшырайды. Бұл операция келесі ретпен іске асырылады:

1. Бастарқы хабарлама элементтері Х ықтималдылықтың кему шегі бойынша реттеледі, яғни p(x1у)  p(x2у)  ....  p(xnу), нәтижесінде мынаны аламыз Xу  x1у, x2у, ...., xnу .

2. Элементтер реттелген тізбегімен екі топқа бөлініледі, ол топтардың суммалық ықтималдылығы мүмкіншілігінше тең болуы керек. Бір топқа 0 символы, ал екінші топқа 1 символы беріледі.

3. Әр топта бір элемент қалмайынша екі топқа бөлу жалғаса береді.

Мысал.


X

p(xi)

Xу

pу(xi)

Бөлу

Коды

a

0,3

D

0,4

0




0

b

0,1

A

0,3

1

0



10

c

0,2

C

0,2

1

1

0

110

d

0,4

B

0,1

1

1

1

111

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

Қабылданағн хабарлама мысалы 110 0 111 10 111 0 0 0 10 10

c d b a b d d d a a

Хабарламаны кодттауға мысалды үш түрде қарастырайық
X с элементами x1,x2,x3 элементтерімен Х үштік хабарлама көзі болсын


Элементте

x1

x2

x3

p(xi)

0,2

0,7

0,1

Хабарлама екілік канал бойынша беріледі, яғни xi элементі тек 1 немесе 0 шамаларын ғана қабылдайды.

Vи = 1000 дв.симв./сек;

Vк = 1000 дв.симв./сек;

С = Vк Hmax = 1000 дв.симв./сек  1 бит/ дв.симв. = 1000 бит/сек .

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


1. Хабарламаны тең өлшемді екілік кодпен кодттаймыз.

Код маңыздылығын анықтаймыз n = ] lb 3 [ = 2

x1 = 00, x2 = 01 x3 = 10 болсын делік;

 = 10-3 с-бір элементке сәйкес, кодттық комбинация ұзақтығы. Rр.обд анықтаймыз

V1 = 1/* = 500 элем./сек;

Rр.обд = V1 H = 500 элем./c  1,16 бит/элем. = 580 бит/c .

Rр.обд < C болғандықтан кодттаудың мұндай әдісі тиімсіз

2. Шеннона – Фано әдісімен бекітусіз хабарламаны кодттаймыз.




Эл-ты

(xi)у



p(xi)у

Бөлу

Кодттыкомбин

i, c



x2

0,7

0




0

10-3

x1

0,2

1

0

10

210-3

x3

0,1

1

1

11

210-3

RШФБ анықтаймыз



RШФБ =V2 H = H/2* = (1,16 бит/элем.)/1,310-3 c. = 890 бит/c,

мұндағыV2 = 1/2*.

3. Шеннона – Фано әдісімен бекітумен хабарламаны кодттаймыз, яғни кодттау жеке элементтер бойынша емес, көрші элементтер тобымен жүргізіледі (2 элементтік, 3 элементтік топтардан)

Көрші екі элементтерден тұратын топты қарастырамыз


Топтар

xi,xj



Ықти-ық

p(xi,xj)


Бөлу


Кодттық

комбинация


i, c



x2,x2

0,49

0
















0

10-3

x1,x2

0,14

1

0

0










100

310-3

x2,x1

0,14

1

0

1










101

310-3

x2,x3

0,07

1

1

0

0







1100

410-3

x3,x2

0,07

1

1

0

1







1101

410-3

x1,x1

0,04

1

1

1

0







1110

410-3

x1,x3

0,02

1

1

1

1

0




11110

510-3

x3,x1

0,02

1

1

1

1

1

0

111110

610-3

x3,x3

0,01

1

1

1

1

1

1

111111

610-3

RШФУ анықтаймыз




RШФУ =V3 H = H/3* = (1,16 бит/элем.)/1,16510-3 c. = 995 бит/c,
мұндағы V3 = 1/3*.
Хаффман әдісі бойынша дискретті хабарламаны оптималды кодттау

Әдіс келесілермен қорытындыланылады.

Қор көзі алфовитінің элементтері олардың ықтималдылықтарының кему реті бойынша орналасады.

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

Соңғы екі ықтималдылық қосындысы бірге тең болмайынша 2 п. Орындау жалғаса береді.

Әр біріктіру кезінде элементке 0 санын береміз, біріктірілген қос элементтің жоғарғы жағында орналасқан және 1 санын егер ол төменгі жақта орналасса.



Алынылып отырған элементтің біріктірілген саны оның сәйкес келетін кодттық комбинациясына тең. Мұндай түрде салынған код Хаффман коды деп аталады.
Хаффмена кодының құрылуына мысал қарастырамыз.


Эл-нт

Ықт-ық

Біріктірілген символдар ықтималдылығы

Код

xi

p(xi)

1

2

3

4

5

6

7

8































1




























0,57




























0,43










x1

0,29

























00



















0,28













x2

0,23

























10
















0,20




























0,15



















x3

0,13

























011

x4

0,11

























110

x5

0,09

























111

x6

0,08

























0100










0,07






















x7

0,04

























01010







0,03

























x8

0,02

























010110

x9

0,01

























010111



8 Дәріс

КАНАЛ БОЙЫНША ШУМЕН БЕРІЛГЕНДЕРДІ БЕРУ ПРИНЦИПТЕРІ

аҚПАРАТТЫ БЕРУ ЖЫЛДАМДЫҒЫ ЖӘНЕ ШУМЕН ДИСКРЕТТІ КАНАЛДЫҢ ӨТКІЗГІШТІК ҚАБІЛЕТТІЛ
Х хабарлама көзіне x1, x2, ...., xn элементтерінен хабарлама көзі хабарлама жіберсін, ал хабарламаны алушы кейбір элементтерінен y1, y2, ...., yn тұратын Y кейбір хабарламасын қабылдасын. Хабарлама канал бойынша шумен беріледі.

x1 y1

x2 y2

... ...


xn yn
Яғни, шумен канал бойынша хабарламаны беру кезінде қабылдайтын жақта берілді деп айтуға болмайды. Хабарлама берілді деген ықтималдылықпен айтуға болады.

Егер yi қабылдасақ, онда әр-түрлі ықтималдылықпен xi берілді деп айтамыз. Если принят, то можно лишь говорить, что с различными вероятностями были переданы, мұндағы i=1,...,n. Мұндай беріліс шартты p(xi/yj) ықтималдылық көмегімен математикалық түсіндіріледі.

Егер каналда шу болмаса, онда p(x1/y1) =1, p(x1/y2) =0 және қалған барлығы p(x1/yn) = 0.

Беріліске дейін хабарлама энтропиямен сипатталады H(xi)=log 1/p(xi)= -log p(xi). (*)

H(xi) шамасы шартсыз немесе априорлы энтропия деп аталады. Шу болған жағдайда хабарлама нәтижесінде энтропия нольге дейін азаяды, қалдықты энтропия шамасына дейін

H(xi/yj)=log 1/p(xi/yj) = -log p(xi/yj). (**)

H(xi/yj) шамасы шартсыз немесе априорлы энтропия деп аталады. Анықтаймыз

Ш(чшо)= Р(чш) - Р(чшо) = дщп (з(чшо)).з(чш)ю (1)

Қабылданған элементте yj ақпарат мөлшері берілген элементке xi қалай қатынасты. Орташаға келтіре отырып ақпараттың жекелеген мөлшерін I(xi/yj) – берілген хабарламаның барлық элементтерін p(xi) есепке ала отырып және қабылданған хабарламаның барлық элементтері бойынша p(yj), ақпарат мөлшерін аламыз (2)
Шу болған кездегі ақпаратты алу механизмі
БЕРГЕНГЕ ДЕЙІН БЕРГЕННЕН КЕЙІН

ЭНТРОПИЯ H(Х) H(Х/Y)

АҚПАРАТ 0 H(X)-H(X/Y)
Жағдайды қарастырамыз:

1. Шу болмаған жағдайды, яғни әрбір берілген символға бір ғана қабылданған сигнал сәйкес келеді.

p(xi/yj)=1 немесе 0, H(xi/yj) = 0 ізінше H(X/Y) =0 және I(X/Y)=H(X), яғни жоғалған ақпарат жоқ.

2. Шу деңгейі жоғары болғаны сондай, қабылданған хабарлама беретін хабарламамен байланыспайды.

p(xi/yj)= p(xi), H(xi/yj)=H(xi) ізінше H(X/Y) = H(X) и I(X/Y)=0, яғни толығымен ақпаратты жоғалту жүреді.

Сондықтан 0  I(X/Y)  H(X) =I(X).

Шумен дискретті канал бойынша ақпаратты беру жылдамдығы

R = Vк I(X/Y) бит/с.,

Мұнда

Vк – канал бойынша символдарды беру жылдамдығы;



I(X/Y) – бір сөзбен тасымалданатын, ақпараттың орташа мөлшері

С = max R – шу болған кездегі каналдың өткізгіштік қасиеті.

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

Если производительность источника сообщения P хабарлама көзінің өнімділігі С каналының өткізгіштік қабілеттілігінен аспайтын болса Р  С онда шудың болғанына қарамастан кодттаудың мынандай әдісі болады, беру кезінде ақпарат жоғалмайды, Р  С кезінде, ақпаратты беру жылдамдығы С (R  С) ұмтылады.

Кері теорема.

Егер Р > C, онда ақпаратты жоғалтусыз беру кодттау әдісі болмайды.

Бұл теоремада кодттаудың дәл бір әдісі көрсетілмеген, ақпарат нольге тең болатын бірақ оның бары дәлелденген.

Мысал.


Шусыз канал Шумен канал
Vк = 1000 дв.симв./c Vк = 1000 дв.симв./c

Cбп = 1000 бит/c Cп = 600 бит/c

Рбп = 1000 бит/c Рп = 600 бит/c

Vиopt = 1000 дв.симв./c Vиopt = 600 дв.симв./c


Каналад шу боған кезде канал бойынша 1000 дв.симв./c беріледі Оның 400 дв.симв./c артық ақпарат болып табылады, яғни Cбп - Cп = С.

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


Дәріс 9

шуға қарсы артықтықты енгізу әдісі

9.1 Шуға қарсы тұрақты (помехоустойчивое) кодттау.

9.2 Қателіктен қорғаудың топтық әдісі.

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

Шуға қарсы тұрақты (помехоустойчивое) кодттаудың үш типі болады:



  • қатені табумен;

  • қатені түзетумен;

  • қатені тауып түзетумен.

Шуға қарсы тұрақты (помехоустойчивое) кодттауды құру, барлық мүмкін болатын кодттық комбинациялар N екі топқа бөлінеді: рұқсат етілген Nи (пайдалы ақпаратты беруге арналған) және рұқсат етілмеген Nк (бақылау мақсаты үшін пайдаланылатын ақпаратты беру үшін арналған) Рұқсат етілген және рұқсат етілмеген кодттық комбинациялыр кез-келген шу нәтижесінің әсерінен рұқсат етілген комбинациялар рұқсат етілмегенге көшсе таңдалады. Онда қабылдайтын жақта қатені табу әрқашан болады.

Шуға қарсы тұрақты (помехоустойчивое) кодттаудың негізгі сипаттамаларын қарастырайық.



n кодының шамасы. Кодттық комбинация ұзындығы.

nи ақпараттық символдар саны. Ақпараттық символдар- кодттық комбинациядағы алфавиттегі сәйкес әріптерді көрсететін.

nк бақылаусимволдар саны. Ақпаратты бақылау мақсатында пайдаланылатын қосымша символ

nк = n - nи.

l кодының артықтығы (Избыточность). Бақылау символдарын енгізгіен кездегі кодттық сөздің қатынасты ұзындығы

l = (n - nи) / n = 1 - nи/n.
d коддтық ара-қащықтық. Кодттық ара-қашықтық – бұл кез-келген рұқсат етілген екі кодттық комбинациялардың арасындағы минималды ара-қашықтық. Екілік хабарлама үшін екілік бірліктегі сан анықталады.

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



d r + s + 1, (*)

мұндағы r – берілген код табатын қателер саны;



s – берілген код түзететін қателер саны

r  s.
Шуға қарсы тұрақты (помехоустойчивое) кодттар синтезі

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

Ол үшін мыналарды анық тау қажет:


  • n – кодттық сөздің ұзындығын (разрядность кода);

  • кодттық қашықтықты d;

  • nк бақылаушы символдар қажетті санының минималдылығы және олардың шамалары;

  • nи ақпараттық символдар санының хабарлама жиынын беру үшін қажет;

  • қабылданған хабарлама саны және тексеру реті.

Одан басқа, бақылаушы және ақпараттық символарды сидыратын позицияларды орнату қажет.

Ең бірінші ақпараттық символдар саны анықталады nи, сосын - nк.

Ақпараттық символдар саны берілетін хабарлама жиыны негізінде анықталады

. (1)

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



  1. Берілген кодттық сөз дұрыс қабылданды ма?

  2. Егер онда қате болса, онда қандай n позицияда, бақылауды қосқанда? Осы бейнеде, екілік комбинация n + 1 сұрағына кем емес жауап беру керек, яғни

  3. (2)


n = nи + nк болғандықтан, онда , осыдан (2) есепке ала отырып, мынаны аламыз

(3)

немесе


(4)
Дәріс 10

Хемминг коды


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

Хемминг кодының екі моделі кеңінен таралған: жалғыз қатені тауып түзету коды (минималды кодттық қашықтық d = 3) және екілікті табу (d = 4).

Хемминг кодын синтездеу үшін келесі тапсырмаларды шешу қажет:


  1. Шуға қарсы қорғаныс бойынша берілген талаптарды қамтамасыз ететін, бақылаушы символдар санын анықтау.

  2. Кодттық макет комбинациясын жинап, әр-бір бақылаушы символ шамасын анықтау

  3. Бақылаушы сияқты ақпаратты символдарды да қосатын кодттық комбинацияны құру

  4. Қате бар екенін және орынын анықтайтын тексеруші алгоритмін беру.


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

Бірінші тапсырма.


nк бақылаушы символдар санын анықта.

Ол үшін, егер n немесе nи берілсе, сйәкес теңдеуін пайдалану қажет


(1)

, (2)

мұндағы ] b [-таңбасы жақын бүтін үлкенсанға дейінгі жуықтау таңбасы.

Екінші есеп.

Жалпы кодттық комбинацияда осы бақылаушы разрядттар орналасу керек, солардың орынын анықтау.

Бақылаушы символдар екілік санды құру қажет (қате синдромы), қателік позиция номерін көрсететін.

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

Егер қате синдромын екілік төрт шамалы сан түрінде келтірілсе және қасына сәйкес келетін ондық эквивалентін жазса, онда 1 кестені аламыз
Кесте 1

Ондық

эквив-т


қате сндромы


1

2

3



4

5

6



7

8

9




0001

0010


0011

0100


0101

0110


0111

1000


1001

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

Бірінші тексеруде кіші разрядтағы бірліктен тұратын позициялар қатысуы қажет. 1 кесте бойынша, ол 1, 3, 5, 9, .... .

Екінші тексеруде екінші разрядтағы бірліктен тұратын позициялар қатысуы тиіс. 1 кесте бойынша бұл 2, 3, 6, 7, .... .

Үшінші тексеруде 4, 5, 6, 7, .... позициялар қатысуы қажет.

Нәтижесінде 2 кестені аламыз

Кесте 2

Тексеру нометі


Осы тексеруді қамтитын поз-я номері

Бірінші

1

3

5

7

9

Екінші

2

3

6

7




Үшінші

4

5

6

7



Екінші кестені талдай отырып мынаны қорытындылауға болады, бақылаушы символдар Кm келесі позицияларға орналастырылуы тиіс: 1 позицияларына К1 , яғни 20;

2 позициясына К2, яғни 21; 4 позициясына К3, яғни 22; 8 позициясына К4, яғни 23; 2m позициясына Кm.

Үшінші тапсырма.

Бақылаушы символдар шамасын анықта. Хемминг кодының макеті құрылады. nи =4, nк = 3, n = 7 болсын. Онда жалпы түрде ол келесідей болады.

Позиция номері 1 2 3 4 5 6 7

Символдар К1 К2 И3 К3 И2 И1 И0 ,

Мұндағы Иi- ақпараттық символдар


Бақылаушы символдарды анықтау алгоритмі
К1 шамасын анықтау. Барлық символдардың 2 модулі бойынша қосындысы құралады, 1, 3, 5, 7, 9, ... , позицияларына орналасқан К1 бірге, бірінші тексеруден қамтығандыа, яғни

К1  И3  И2  И0. (3)

К1 символының шамасы (3) нольге орындағаннан кейін анықталады, жұп шартынан. Егер бірлік саны (К1 сіз) тақ болса, онда К1=1, егер жұп болса онда К1=0.

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

К2  И3  И1  И0. (4)
К2 символының шамасы (4) нольге орындағаннан кейін анықталады, жұп шартынан. Егер бірлік саны (К1 сіз) тақ болса, онда К1=1, егер жұп болса онда К1=0.

К3 шамасын анықтау. Үшінші тексеруді қамтитын, барлық символдардың 2 модулі бойынша қосындысы құралады және К3 бірге, яғни

К3  И2  И1  И0. (5)
К3 символы (5) екілік сумма ноліне тәуелді.

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

Төртінші тапсырма.

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

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

Хемминг кодын синтездеу мысалын қарастырамыз.

16 хабарламадан тұратын ансамбль болсын және оны Хемминг кодымен кодттау қажет (d = 3).

Шешуі:


1) бақылаушы символдар санын анықтаймыз. Ансамбль хабарламасы берілгендіктен Nи = 16, онда ақпараттық символдар саны берілсін nи=lb16=4. Ізінше теңдеуді пайдалану қажет

Осы түрде, nк = 3, n = nи + nк = 4 + 3 = 7.

1) үш бақылаушы символ орналасатын, позицияны анықтаймыз. Ол 1, 2, және 4 позициялары (2 кестені қара).

2) артық кодсыз екілік комбинация кестесін құрамыз, бірінші, екінші, төртінші графаларын толтырмаймыз. Барлық комбинация 16 (3 кесте)

3) бақылаушы символдар шамасын анықтаймыз:

нольдік комбинация үшін барлық Кj=0.





  1. ЗЕРТХАНАЛЫҚ ЖҰМЫС


Matlab жүйесімен жұмыс істеу негізі

Жұмыстың мақсаты: Matlab жүйесiнде жұмыс iстеудi үйрену

Кейiнгi кезде инженерлiк – техникалық есептерде математикалық есептердi шешудiң компьютерлiк жүйесi - Matrix Laboratory кең көлемде қолданыла бастады.

Matlab ортасындағы жұмыс екi режимде жүредi:


  • Калькулятор режимiнде;

  • Matlab тiлiнде жазылған программаны шақыру жолымен;

Сонымен қатар Matlab – тың төмендегiдей мүмкiндiктерi бар:

  • Аналогтық және цифрлық сигналдармен жұмыс iстей алады;

  • Жиiлiктiк, импульстық және өтпелi сипаттамаларды құру үшiн аналогтық, цифрлық фильтрларды жобалау және олардың есебiн жүргiзедi;

  • Ақпараттың қолданбалы теориясы пәнiнде оқытылатын сигнал кодтарын құруды жүргiзедi.

WINDOWS опер. ортасынан Matlab жүйесiн шақырған соң экранда командалық терезе пайда болады.(1-сурет)

1-сурет

Программаның жұмысқа және кезектi команданы орындауға дайын екенiн экрандағы шақырудан ( ») көруге болады.

FILE, EDIT менюлерi келесi бөлiмдерден тұрады:

2-сурет


Файл менюi. Создать (NEW) командасын орындаған соң экранда келесi қосымша меню пайда болады.

3-сурет
М-файл (M-File) командасын шақыру– текст енгiуге, яғни Matlab файл ортасында программалауға арналған жаңа активтi терезенiң ашылуына мүмкiндiк бередi.

Рисунок (Figure) командасын шақыру – графикалық тереземен жұмыс iстеуге мүмкiндiк бередi (графиктер салу).

Модель (Model) командасын шақыру - әртүрлi процестердi модельдеуге болатын SIMULINK (иммитация связей) пакетiнiң интерактивтiк режимiнде жұмыс iстеуге мүмкiндiк бередi.

Preferences (Свойства) командасын шақыру үш бөлiмнен тұратын диалогтық терезенi шақырады: GENERAL (ОБЩИЕ), COMMAND WINDOW FONTS (ШРИФТ КОМАНДНОГО ОКНА), COPYING OPTIONS.

GENERAL бөлiмi бiрнеше облыстардан (форматтардан)тұрады:

SHORT

Қысқаша жазба (по умолчанию применяется)

LONG

Ұзақ жазба

HEX

Он алтылық сан түрiнде жазу

BANK

Жүздiк үлеске дейiн жазу

SHORT E

Қалқымалы үтiр форматындағы қысқаша жазба

LONG E

Қалқымалы үтiр форматындағы ұзын жазба

SHORT G

Қалқымалы үтiр форматындағы қысқаша жазбаның екiншi формасы

LONG G

Қалқымалы үтiр форматындағы ұзын жазбаның екiншi жазбасы

RATIONAL

Рационалдық бөлшек түрiндегi жазба

LOOSE

Жазба формасын анықтайды. Жекелеген жолдар экранға бiр жолдан кейiн шығып отырады.

COMPACT

Ақпаратты командалық терезеге жол қалдырмай жазады.

4-сурет

EDIT менюi өздерiңе таныс жетi командадан тұрады:



5-сурет

2. Сандармен операциялар жүргiзу

2.1. Нақты сандарды шығару

Сандарды клавиатурадан енгiзу жоғары деңгейдегi программалау тiлдерiндегi сияқты жалпы ережелер бойынша енгiзiледi

2.2. Қарапайым арифметикалық операциялар.

Matlab тiлiнiң арифметикалық өрнектерiнде келесi арифметикалық операциялар қолданылады:



+

Қосу

-

Алу

*

Көбейту

/

Бөлу

^

Дәрежеге шығару

Командалық терезелерде келесi ережелер бар:

  • Оператор жазбасы «;» символымен аяқталмаса, нәтиже командалық терезеге шығады;

  • Оператор жазбасы «;» символымен аяқталса, нәтиже командалық терезеге шықпайды;

  • Егер операторда (=) меншiктеу таңбасы болмаса, онда нәтиже командалық терезеге ans арнайы айнымалысымен шығады.

6-сурет

Matlab жүйесiнде өзгермейтiн айнымалы аттары бар:



ij

Жалған (мнимая) бiрлiк

pi

саны

inf

Машиналық шексiздiктi белгiлеу

NaN

Белгiсiз нәтиженi белгiлейдi (мысалы, 0/0)

ans

Меншiктеу таңбасынсыз соңғы нәтиже

Мысал:

7-сурет

Егер сандардың толық бөлiгi қажет болса, онда клавиатурадан келесi команданы енгiзу қажет

Format long

Одан кейiн res айнымалысының атын жазып, enter-дi басамыз



8-сурет
Арифметикалық операциялармен бiрге double типтi операндпен қатынас және логикалық операциялар жүргiзiледi:

Қатынас операциялары:

<

<=

>

>=

= =

~ =

Кем

Кем немесе тең

Үлкен

Үлкен немесе тең

Тең

Тең емес

Логикалық операциялар келесi таңбалармен жүргiзiледi:



&

|


~

Және

Немесе

Емес

Осы операциялардың алғашқы екеуi екiоперандты (бинарлы), ал ЕМЕС операциясы унарлы (бiроперандты). ~ таңбасы операндтың алдына, ал & және | таңбалары операндтар ортасына қойылады.

Matlab жүйесiнде барлық негiзгi функциялар бар: дәрежелiк, көрсеткiштiк, тригонометриялық және оларға қарсы функциялар.













Комплекстiк сандар мен комплекстiк функциялар

Matlab жүйесiнденақты және комплекстiк сандармен есептеулер жүргiзiледi. Олардың барлығының типтерi автоматты түрде double болады. Matlab-та комплекстiк сандар келесi түрде жазылады.



2+3i; -6.789+0.834e-2*I; 4-2j
Matlab жүйесi айнымалылар мен функциялар аргументтерiне комплекстiк мәндер бергенде комплекстiк есептеулер жүргiзедi. Бiрақ, Matlab комплекстiк мәндердi қолданушының көрсетуiнсiз нақты есептеуден комплекстiк есептеуге өздiгiнен көшуi мүмкiн. (Математикалық функцияға нақты аргумент берiп, нақты нәтиже ала алмайтын жағдайда). Мысалы, sqrt(-1) функциясының мәнiн есептегенде келсеi суреттегiдей нәтиже алынады.

9-сурет

Сонымен қатар, суреттен көрiп отырғандарыңыздай Matlab жалған бiрлiктi белгiлеу үшiн i әрпiн қолданып отыр (әрқашанда i қолданылады). Егер жалған бiрлiктегi коэффицент сан емес айнымалы болса, онда оны мына x+iy түрде емес, x+i*y түрде орындау қажет.

Барлық қарапайым функциялар комплекстiк аргументтермен жұмфс iстей алады. Мысалы:

res = sin (2+3i) * atan (4i) / (1-6i)

res =

-1.8009 – 1.9190i

Комплекстiк сандармен жұмыс iстеу үшiн арнайы түрде келесi функциялар белгiленген: abs (комплекстiк санның абсолюттiк мәнi), conj (комплекстi қиылысқан сан), imag (комплекстiк санның жалған бөлiгi), real (комплекстiк санның нақты бөлiгi), angle (комплекстiк сан аргументi), isreal («ақиқат» егер сан нақты болса). Комплекстiк сандарды нақты сандар сияқты бөлуге, алуға, көбейтуге, қосуға болады.

Мысалы:

10-сурет

Векторлармен және матрицалармен жұмыс

Matlab ортасы векторлармен, матрицалармен, полиномдармен күрделi еспетеулер жүргiзуге арналған. Вектор – бiр өлшемдi массив, матрица – екi өлшемдi массив.

Векторлардың мәндерiн клавиатурадан бiр-бiрлеп енгiзедi. Ол үшiн жолда алдымен вектор атын, одан соң = меншiктеу белгiсiн, одан соң ашылатын квадрат жақша, оның iшiне элементтер мәндерiн пробелмен немесе үтiрмен жазады. Жол аяқталғанда жақша жабылады (бұл конкатенация әдiсi деп аталады). Мысалы: Суреттегi ең соңғы үшiншi мысалда массив элементiн өзгерту көрсетiлген.

11-сурет

Арифметикалық өрнек мысалы:




Массивтердi келесi жолмен де құруға болады:

А3(1)=67


А3(2)=7.8

А3(3)=0.017

Бұл жолмен массивтердi құру конкатенация әдiсiне қарағанда тиiмсiз, себебi ол көп уақыт алады.

Векторлар мен матрицаларды тарату

Matlab векторлар мен матрицаларды тарататын бiрнеше функциялардан тұрады.



Zeros(M,N)-

Нөлдiк элементтi (M*N) өлшемдi матрицаны тудырады

Ones(M,N)-

Бiрлiк элементтi матрицаны тудырады

Eye(M,N)-

Басты диагональ бойынша бiрлiктермен және қалған нөлдiк элементтермен матрица құрады

Rand(M,N)-

0-ден 1-ге дейiн бiрқалыпты таратылған кездейсоқ сандардан матрица құрады

Hadamard (N)-

(N*N) өлшемдi Адамар матрицасын құрады

Hilb(N)-

Гильберт матрицасын құрады

Inhilb(N)-

Гильберттiң керi матрицасын құрады

Pascal(N)-

Паскаль матрицасын құрады

Fliplr(A)-

Вертикаль өске салыстырмалы түрде белгiлi А матрицасының бағаналарын қайта қойып матрица тұрғызады

Flipud(A)-

Горизонталь өске салыстырмалы түрде белгiлi А матрицасының жолдарын қайта қойып матрица тұрғызады

ROT90(A)-

Белгiлi А матрицасын сағат тiлiне қарсы 900 – қа бұру жолымен матрица тұрғызу

Tril(A)

А матрицасының негiзiнде оның элементтерiн басты диагональдан жоғары нөлге теңестiру жолымен төменгi үшбұрышты матрицаны тудырады

Triu(A)

А матрицасының негiзiнде оның элементтерiн басты диагональдан төмен нөлге теңестiру жолымен жоғарғы үшбұрышты матрицаны тудырады

Hankel(V)

Бiрiншi бағанасы берiлген V векторымен сәйкес келетiн Ганкельдiң квадратты матрицвсын тудырады

Жоғарыда қарастырылған мысалды тездету жолдары бар. Бiрiншiден, кестеде көрсетiлген арнайы функцияларды қолданып, массивтер тұрғызу.



12-сурет

Суреттен көрiп отырғанымыздай, ones немесе zeros функцияларын қолданып 1-ге немесе 0-ге тең үш элементтi массив құрдық.

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

13-сурет

Бiз массивтердi тұрғызудың негiзгi жолдарымен таныстық. Тағы бiр жолы «: » қос нүктенi қолданып массивтер тұрғызу. Бөл операцияны сандық мәндердiң диапазонын тарату операциясы деп атайды. Мысалы, 3,7 ден 8,947 диапазонында 0,3 өсумен бiр өлшемдi массив тұрғызу қажет. Бұл мәселенi қос нүкте операциясымен тұрғызуға болады:



14-сурет

Массив элементтерi көп болған жағдайда оларды бiрден санау қиын болғандықтан, оны мынадай командалардың көмегiмен жүргiзуге болады:



15-сурет

15- суреттен көрiп отырғанымыздай 14-суреттегi қос нүкте операциясымен алынған массивтiң 18 элементi бар.



Екi өлшемдi массивтермен және векторлармен жұмыс

Екi өлшемдi массив жол және баған сандарымен сипатталады (16-сурет).



16-сурет

Суреттен көрiп отырғанымыздай жолдарды бөлу үшiн үтiр нүкте қолданылады.

Математикада екi өлшемдi массивтердi массивтер деп атайды. Matlab жүйесiнде барлық бiрөлшемдi массивтер вектор-жол, немесе вектор-бағана түрiнде берiледi. Вектор-бағана Matlab жүйесiнде вектор-бағана келесi түрде жазылады:

B = [ 1; 2; 3]

B массивi үшiн length(b) функциясы 3 санын шығарады, өйткенi бұл массив үш элементтен тұрады. Егер Matlab-қа жоғарғы теңдеудi енгiзсек төмендегiдей нәтиже аламыз:

17-сурет

16- суреттегi 3 × 2 өлшемдi матрицаны тiк вектор- жол түрiнде

a=[[1 2]; [3 4]; [5 6]]

немесе горизонталь вектор-бағана түрiнде беруге болады:

a=[[1; 3; 5], [2; 4; 6]]

18-сурет

Екi өлшемдi массивтiң өлшемдерiн анықтау үшiн size функциясы қолданылады



бiрiншi көрсетiлген жол саны, екiншiсi- бағана саны.

Матрицаның жол және баған сандарының орындарын ауыстыру үшiн транспонирлеу операциясы қолданылады (ол ' апострофпен белгiленедi). Мысалы:

A=[1 1 1; 2 2 2; 3 3 3];

B=A’

19-cурет

20-сурет

20-суретте 19-суреттегi матрицаның жол және баған сандарының ауыстырылуы көрсетiлген.

Векторларды қосу – ұзындықтары бiр векторлармен жүргшiзiледi.
Z1=X+Y

Z2=X-Y


Векторды транспонирлеу
X’

Векторды санға көбейту

Z=r*X=X*r

Екi векторды көбейту – векторлардың ұзындықтары бiр және векторлардың бiреуi жол, ал екiншiсi – бағана болғанда жүредi:

U=X’*Y, V=X*Y’

Массивтермен есептеулер

Үш массивтi қосу мысалы:



21-сурет

Көбейту операциясы (* таңбасы) сол операндтағы бағаналар саны оң операндтағы жол санына тең болған жағдайда ғана жүредi



Жұыстың орындалу реті:


  1. Қарапайым арифметикалық амалдарды орында ( көбейту, бөлу, дәрежеге шығару және т.б.) әр-түрлә шама сандарымен.

  2. Комплекстік сандармен операцияларды жүргіз. Есептеу нәтижесін командалық терезеге шығару үшін disp функциясын пайдалан. cplxpair(V) функция жұмысымен таныс.

  3. қарапайым математикалық функцияларды және арнайы математикалық функцияларды пайдалануды үйрену.

  4. 6х5 өлшемдегі матирицаны құр және әр-түрлі операцияларды жүргіз.

  5. 3 элементтен тұратын екі вектор құр және 4 п. Сай операцияларды жүргіз.5 п сәйкес бесінші дәрежелі полином құрып операцияларды жүргіз.

  6. plot функциясының көмегімен /100 қадаммен -3 ден 3 ге дейінгі аралықта y = 5cos(x + /3) функция графигін сал.

  7. Алынған графикке атын, осьтің атын және масштаб сеткасын сал.

  8. х=[1 5 3 6 8 7 2] функция графигін сал. Бағаналық диаграмма сал.

  9. функция графигін сал,

  10. hist функциясының көмегімен берілген вектордың гистограммалық графигін сал

  11. comet(x,y) процедурасының көмегімен жоғарыда көрсетілген параметр графигін сал.

Бақылау сұрақтары




  1. MatLab ортасында жұмыс істеу режимі,

  2. MatLab ортасында қандай нысандарды құрады?

  3. Run Script командасы қандай функцияларды орындайды?

  4. Debug командасы қандай функцияларды орындайды?

  5. Какие команды позволяют изменять свойства, определяющие оформление графических окон?

  6. М-файлын қалай редактрлейді?

  7. Есептеу кезінде сандық форматтар қандай түрде болады?

  8. Векторлар және матрицалар қалай қалыптасады?

  9. Полином түбірлерін қалай есептейді?

  10. MatLab ортасында графикті қалай салуға болады?

  11. Графиктік терезе қандай қосымшалардан тұрады?



Достарыңызбен бөлісу:
1   2   3   4   5




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

    Басты бет