Zpracování multimediálních dat

Rozměr: px
Začít zobrazení ze stránky:

Download "Zpracování multimediálních dat"

Transkript

1 VŠB - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Zpracování multimediálních dat Semestrální práce Cyklické kódy 27, kop173

2 Obsah : 1. ÚVOD KÓDOVÁNÍ CYKLICKÉ KÓDOVÁNÍ LINEÁRNÍ KÓDOVÁNÍ PRINCIP CYKLICKÉHO KÓDOVÁNÍ HARDWAROVÁ REALIZACE CYKLICKÝCH KÓDŮ SOFTWAROVÁ REALIZACE CYKLICKÝCH KÓDŮ IMPLEMENTACE CRC CHYBOVÉ CHARAKTERISTIKY CRC CYKLICKÉ KÓDOVÁNÍ VS. POČÍTAČOVÁ TECHNIKA SHRNUTÍ... 1

3 Úvod 1. Úvod Cílem tohoto referátu by mělo být seznámení čtenářů s pojmem cyklické kódy. K čemu a proč se tyto kódy vlastně používají? Na úvod jen připomeňme, že se těmto kódům také říká CRC kódy. Ano pod tímto názvem jsou známější a používají se výhradně jako tzv. detekční kódy, které mají za úkol odpovědět na otázku Jsou přenesená data poškozená, či nikoli?". Odpověď poskytovaná detekčními kódy není nikdy absolutně spolehlivá, protože každému detekčnímu kódu může něco uniknout". Nejlépe jsou na tom ale právě tyto CRC kódy, jejichž spolehlivost se ideálnímu stavu blíží nejvíce. Analogicky je základní princip jejich využití takový, že odesilatel aplikuje na odesílaná data algoritmus, na kterém je dohodnut s příjemcem, a který vyplývá z povahy detekčního kódu. Výsledkem je pak zabezpečovací údaj, který odesilatel přišpendlí" k původním datům, a odešle je příjemci. Ten aplikuje na přijatá data přesně stejný algoritmus, a výsledek porovná se zabezpečovacím údajem, který obdržel od odesilatele. Jde-li například o zabezpečení kontrolním součtem, spočívá zmíněný algoritmus v prostém sečtení jednotlivých datových bytů či slov, chápaných pro tento účel jako čísla, a zabezpečovacím údajem je pak výsledný součet. CRC kódy jsou podtřídou kódů lineárních a než si o nich něco řekneme, podíváme se v dalších kapitolách na to co je to vůbec pojem kód a kódování dat, jaké podmínky musí kódování splňovat. Dále si upřesníme jak se CRC kódy počítají, podíváme se na hardwarovou a softwarovou realizaci těchto kódů, ukážeme si vztah cyklických kódů k výpočetní technice a naznačíme, jak by mohla vypadat jejich implementace

4 Kódování 2. Kódování Každý z Vás se určitě už setkal s pojmem kódování dat. Představme si případ, kdy potřebujeme data zakódovat. Například při jejich přenosu, kdy si tyto data někdo odchytí a neoprávněně se snaží zjistit jejich obsah. Existuje mnoho algoritmů, které toto dokáží různými způsoby realizovat. Kódy můžeme rozdělit do tří základních skupin na nejkratší (optimální) kódy, bezpečnostní kódy (detekční kódy, samoopravovací kódy) a na kódy speciální (čárové kódy, alfanumerické kódy, číselné kódy). Jednoduchý princip kódování dat je zachycen na obrázku 1. Kódování dat má ale použití také v dalších velmi důležitých odvětvích telekomunikační a výpočetní techniky. Jedním takovým odvětvím je komprese dat. Můžeme říct, že komprese dat je podtřídou kódování dat. Principem komprese dat je, že se hledá nejkratší kód, který by zabral méně místa, než data původní. Tento referát se ale bude zabývat cyklickými kódy (neboli CRC kódy), které spadají do skupiny kódů bezpečnostních a podtřídy detekčních. Nejdříve si ale uveďme definici toho, co to kódování je, a jaké musí splňovat požadavky. Kód K je trojice ( S C, f ),, kde S je konečná množina zdrojových jednotek zvaná zdrojová abeceda, C je množina kódových jednotek zvaná kódová abeceda a f je zobrazení S C. Zobrazení f přiřazuje každé kódové jednotce z S právě jedno kódové slovo (sekvenci C. Zobrazení f musí být injektivní. To znamená, že nikdy nezobrazuje kódových jednotek) z dvě různé kódové jednotky na stejná kódová slova. Většinou u kódování vyžadujeme tzv., jednoznačnost dekódování. Kód K je jednoznačně dekódovatelný, právě když pro každý řetězec takový, že platí ( X ) Y kódování cyklické. Y C existuje nejvýše jeden řetězec X S f. Nyní se ale už pojďme podívat na vybraný druh kódování, a to Obrázek 1 - Princip kódování dat - 2 -

5 3. Cyklické kódování 3.1 Lineární kódování Již v předchozí části jsme se zmínili, že cyklické kódy patří do skupiny kódů lineárních. Dříve než se pustíme do detailního objasnění cyklických kódů, připomeňme si ve zkratce, co jsou to kódy lineární. Kódové slovo chápeme jako řádkový vektor v = [ 1]. Lineární kombinací libovolného počtu kódových slov vznikne opět kódové slovo (odtud pojem lineární kódování). Kód se nejčastěji popisuje pomocí tzv. generující matice, kterou tvoří báze kódů : 3.2 Princip cyklického kódování G = ; v = z G Analogicky jako u kódů lineárních také u kódu cyklických vznikne cyklickým posunem znaků kódového slova opět slovo kódové. Kromě generující matice můžou být popsány generujícím polynomem. My se v tomto referátu omezíme právě na tento generující polynom. Realizace cyklického kódování můžeme shrnout do těchto bodů : a) Slovo dělíme generujícím polynomem G (viz tabulka 1) b) Určíme zbytek po dělení c) Zbytek připojíme za informační slovo d) Celé kódové slovo je nyní dělitelné generujícím polynomem beze zbytku Počet kontrolních bitů 8 LRCC-8 z 8 1 Označení Generující polynom použití. Kontrolní Byte je součet datových Byte modulo2 12 CRC z 1 Používá se pro šestibitové znaky 16 LCRC-16 z 16 1 Kontrolní součet dvojic Byte modulo2 16 CRC z 1 Binární synchronní protokol 16 CRC-16 reverzní 16 z SDLC z 5 1 Linkový protokol IBM 16 SDLC reverzní z 1 32 CRC-32 z z z Tabulka 1 - Typy CRC kódů 7 16 ETHERNET, HDCL, ZMODEM - 3 -

6 Pod označením CRC kódy (Cyclic Redundancy Checks) mají tyto kódy velmi velké využití. CRC kódy jsou asi nejznámější kódy. Dříve se používaly hlavně proto, že jejich hardwarová realizace byla velmi rychlá a jednoduchá. Přestože dnes jsou známé jiné kódy, které je možno programovat stejně tak dobře firmwarově i softwarově, jsou CRC kódy doposud velmi populární. Tradiční hardwarová implementace CRC se provádí jednoduše realizovatelnými lineárními zpětnovazebními posuvnými registry, které zpracovávají informaci po jednotlivých bitech. To je vhodné zejména u přenosu dat. V softwarové implementaci je vhodnější pracovat s daty po bytech. Ukážeme si obě varianty realizace CRC kódů. 3.3 Hardwarová realizace cyklických kódů Pro jednoduchost uvažujme dále konkrétní CRC 16 s generujícím polynomem ( x) = x 1 g s r = 16 kontrolními bity. Všimněme si, že posun zleva doprava v registru znamená násobení obsahu registru proměnnou x a zpětná vazba zajišťuje modulování polynomem g(x). Opravdu, je-li c c1x c15 polynom odpovídající původnímu obsahu registru, potom po posunu doprava o jednu pozici dostáváme podle obrázku 2 nový obsah v x c =. Tento výraz je roven 15 c x c1 c15 x c2 x... c13 x c14 c15 x registru ( ) ( ) ( ) 15 x ( c c x... c x c x ) c ( x 1) = x c( x) mod g( x) d 1 d, d,, d, což jsme chtěli ověřit. Přidáme-li datové bity k k 2 1 do zpětné vazby podle obrázku 2, vynásobí se r vlastně mocninou x, neboť to odpovídá jejich vstupu na poslední pozici (r=16) registru. V dalších krocích registru se datové bity v jednotlivých buňkách registru násobí postupně vždy proměnnou x, a to tolikrát, kolikrát se s ním registr posune. Zároveň se však výsledek moduluje polynomem g(x), což automaticky provádí zpětná vazba. Jestliže na počátku registr vynulujeme, pak tedy po průchodu posledního datového bitu d r r 1 r k 1 v registru zůstává d x d1x... d k 1x mod g( x) d( x) g( x). Tento výraz není nic jiného než x r mod, tj. přímo CRC podle definice (viz. Softwarová realizace cyklických kódů). CRC se pak z registru jenom přečte a připojí za informační bity. Kódování je tedy velmi jednoduché. Jak jsme viděli, délka informační části může být dlouhá dle libosti. Ovlivňuje se jí ovšem schopnost detekce o doba trvání výpočtu CRC. Výpočet CRC-16 od posloupnosti (111) je uveden v příkladu 1 v části Softwarová realizace cyklických kódů

7 Obrázek 2 - Hardwarová realizace CRC kódů 3.4 Softwarová realizace cyklických kódů Při softwarové realizaci je možno přesně kopírovat postup hardwarový, nebo využít triku, který nám umožní pracovat přímo s byty (eventuálně s wordy nebo slovy obecné délky). Budeme pracovat v binárním poli, které má pouze dva prvky : a 1. Operace sčítání je definována jako XOR a operace násobení jako AND. Dělení je jednoduché, neboť je definováno jen pro jedničku a to je identita. Binární polynom je potom nám známý tradiční polynom, ale s binárními koeficienty. Každou posloupnost bitů ( a, a1,..., a n ) a n ( x ) = a x a x... a x n můžeme ztotožnit s polynomem 1. Práce s binárními polynomy je stejná jak s polynomy reálnými včetně dělení a násobení, s tím rozdílem, že s koeficienty pracujeme v binárním poli (bude ukázáno na příkladu). Data o k bitech (informační část kódu), ke kterým připočítáme CRC, označme d k 1 = ( d, d1, d k 1 ) a jim odpovídající polynom d ( x) = d d1x... d k 1x vypočítaný CRC o r bitech označíme = CRC( d ) = ( c, c1,..., cr 1 ) r 1 ( x) = CRC( d( x) ) = c c1x... c r 1x část kódu). Výsledné kódové slovo je pak ( v v,..., v ) = ( c, c,..., c, d, d d ). K nim c a jemu odpovídající polynom c (pro jednoduchost CRC nazývejme jen kontrolní kde v, =, 1 n 1 r 1 1,..., k 1 n = k r je celková délka kódu. Tento způsob kódování má tu výhodu, že vlastní informace je v něm obsažena v nezměněné podobě a může proto například odcházet do linky (bit d k 1 jako první). Při vysílání se však postupně dá vypočítávat CRC. Po vyslání celé informační části je CRC již vypočten a může se okamžitě vyslat nebo uložit za ní. Tím pádem také dekódování probíhá stejně přijímá se informační část, průběžně se vypočítává CRC, a po přijetí posledního datového bitu se vypočtený CRC porovnává s přijatým

8 - 6 - Víme, že k danému r-bitovému CRC existuje generující polynom g ( x) stupně r tak, že každé kódové slovo je jakožto polynomem jeho násobkem : v( x) = mod g( x). Generující polynomy u nejznámějších CRC jsou shrnuty v tabulce 1 (viz. předchozí kapitola). Vyjádříme-li si v x = c c x... c x d x d x... d x ve tvaru r r 1 r k 1 kódové slovo ( ) 1 r 1 r 1 1 r k 1 r r v( x) = c( x) d( x) mod g( x), dostaneme odtud, že c( x) d( x) = mod g( x), tj., že r c( x) = x d( x) mod g( x). CRC tedy můžeme počítat jako zbytek po dělení výrazu x r d( x) generujícím polynomem g ( x). A to se právě výhodně realizuje hardwarově lineárním posuvným registrem, viz. obrázek 2. Příklad 1 : Výpočet CRC -16 dat (111) d x = 1x Řešení : Konstrukce polynomu ( ) Vypočtěme x r d( x) = x ( 1x ) r Vypočtěme c( x) = x d( x) mod g( x) = x mod x 1 = x ( x ): ( x 1) ( x ) x ( x ) x ( x 1) x = x 1 = zbytek 7 6 1x je polynomem ( x) CRC ( c,...,c 15 ) ( c,..., c, d d ) 5 c. c = je tedy ( ) a celé kódové slovo má tedy tvar v = : ( ). 15,..., 3.5 Implementace CRC-32 7 Výpočet 32-bitového CRC je implementován podle rotace průběžného zbytku a odečítáním kontrolního polynomu. Aby se však výpočet urychlil, a nemusel se vstupní datový tok zpracovávat po bitech, využívá se toho, že je možné vypočítat 32 bitovou konstantu, kterou je třeba XOROVAT průběžný zbytek v případe, že horních 8bitu má určitou hodnotu. Výpočet této konstanty je velmi jednoduchý, stačí pouze předpokládat, že kromě nejvyššího bytu obsahuje

9 zpráva samé nuly, konkrétně 3 byty nul. Konstanty je nutné postupně spočítat pro všech 256 kombinací horních osmi bytů. Tyto hodnoty se předpočítají pouze jedenkrát na začátku programu a uloží do lookup tabulky. Algoritmus výpočtu CRC (kódování i dekódování) se provádí podle následujícího postupu. Na počátku se průběžný zbytek inicializuje nulovou hodnotou a pro každý byte kódovaného řetězce se provádí následující posloupnost operací. Určí se hodnota nejvyššího bytu průběžného zbytku a průběžný zbytek se posune o 8 bitů doleva. Na nejnižších 8 bitu průběžného zbytku se umístí byte načtený z kódovaného řetězce a průběžný zbytek se VYXORUJE hodnotou z lookup tabulky, jejíž index určuje zapamatovaná hodnota nejvyššího bytu. Příklad zdrojového kódu : crc = ; for (i=; i < len; i) { j = (crc >> 24) & xff; crc = (crc << 8) data[i]; crc = crc ^ tabulka[j]; } //nejvyšší byt (index do tabulky) //posun CRC doleva nový byt Ze zadání je zřejmé, že je nutné vstupní soubor zpracovávat po osmi bytech. Kódování se provádí tak, že za načtených osm bytu se doplní 4 byty nul a z těchto 12 bytu se vypočte CRC. Hodnotou vypočteného CRC, která má velikost 4 byty, se přepíši čtyři byty nul a všech 12 bytu se uloží do výstupního souboru. Dekódování se realizuje po blocích délky 12 bytu. Nad těmito bloky se spočítá CRC, které musí být nyní rovno, neboť původní 8 bytová zpráva byla doplněna o 4 byty zbytku. Pokud je vypočtené CRC různé od nuly, zkouší se postupnou změnou každého bitu na opačnou hodnotu opravit jednochybu. Tato změna se provádí pro každý z 96 bitu. Pokud se v některém případě podaří vypočíst hodnotu CRC rovnou nule, byla detekována chyba, kterou je možné opravit a do výstupního souboru se zapíše správný výstup. V případě, že se nepodařilo testováním jednochybu nalézt, program končí vypsáním chybové hlášky na standardní chybový výstup. Protože se soubor zpracovává po blocích, tak fakt, že nebyl načtený celý blok nám říká, že byl dosažen konec souboru. Nemusí proto být v souboru být uložena jeho délka, neboť v případě kódování očekáváme velikost souboru dělitelnou osmi a v případě dekódování velikost dělitelnou dvanácti. Pokud není velikost dekódovaného souboru dělitelná 12, znamená to, že ani velikost vstupního kódovaného souboru nebyla dělitelná osmi. 3.6 Chybové charakteristiky CRC Schopnosti detekovat chyby jsou u různých součtů CRC podobné a lze je jednoduše vyjádřit pomocí počtu kontrolních bitů r. Všechny stoprocentně detekují libovolnou shlukovou chybu o délce menší nebo rovno r (je to chyba, jejíž krajní bity uvozují, včetně sebe, r-bitový řetězec dat). Ze shlukových chyb, které mají délku r 1, je jich jen 1: 2 r 1 nedetekovatelných a r ze shlukových chyb o délce větších než r 1 CRC nedetekuje jen jednu z 2. U konkrétních CRC lze pak vyvozovat i podrobnější závěry. Například CRC-16, uvažujeme - li délku bloku dat menší než bitů, detekuje všechny jednoduché, dvojité a trojité chyby a všechny chyby o lichém počtu chybových bitů. Velmi dobrá schopnost detekovat - 7 -

10 chyby, výhodná hardwarová realizace a teoretická rozpracovanost, umožňující poměrně přesně stanovit detekční vlastnosti, jsou důvodem širokého využívání CRC. Ale přes všechny uvedené pozitivní vlastnosti CRC je jasné, že žádný instrukční soubor známých mikroprocesorů neobsahuje instrukce pro přímou realizaci lineárních posuvných registrů se zpětnou vazbou. Pokud budeme postaveni před úlohu značně urychlit výpočet kódu oproti CRC, budeme se pochopitelně ohlížet zejména po kódech rychle realizovatelných jednoduchými instrukcemi našeho mikroprocesoru. Aritmetické instrukce jsou proto nejvhodnějšími kandidáty na toto použití. Jeden takový kód vznikl koncem 7. let a byl navržen Johnem G. Fletcherem z Lawrence Livermore Laboratory v Kalifornii. Má o málo horší detekční vlastnosti než CRC, ale jeho realizace může být až o jeden řád rychlejší!! Kód se obecně nazývá Fletcherův kontrolní součet (FKS), je to ale celá třída kódů, majících za parametry aritmetický modul a počet kontrolních bytů. Jen ještě jako zajímavost, jeho poslední verze (modul M=255, a počet kontrolních bytů R=2) byla schválena pro použití v transportní vrstvě síťového protokolu ISO. Přestože je standardem a má velmi dobré vlastnosti, není tak dobře znám a používán. To je důvod, proč stojí za to, na něho v tomto referátu upozornit. 3.7 Cyklické kódování vs. počítačová technika Svět počítačů, počítačových komunikací a digitálních přenosů obecně vděčí za svou existenci a za své fungování výsledkům mnoha vědních oborů - nejen fyziky, která stojí za celou technologií výroby součástek, ze kterých jsou dnešní počítače a další aktivní prvky postaveny. Stejně tak vděčí digitální svět za mnohé například i matematice. Velmi pěkným příkladem zde může být používání tzv. cyklických zabezpečovacích kódů (anglicky: Cyclic Redundancy Checks, zkratkou CRC). Jde o kódy, používané k zabezpečení dat při jejich přenosu (nebo i při jakémkoli jejich skladování"), a mají za úkol umožnit detekci případných chyb v těchto datech. Jsou to tedy kódy detekční, podobně jako tzv. parita či kontrolních součty. Analogický je základní princip jejich využití takový, že odesilatel aplikuje na odesílaná data algoritmus, na kterém je dohodnut s příjemcem, a který vyplývá z povahy detekčního kódu. Výsledkem je pak zabezpečovací údaj, který odesilatel přišpendlí" k původním datům, a odešle je příjemci. Ten aplikuje na přijatá data přesně stejný algoritmus, a výsledek porovná se zabezpečovacím údajem, který obdržel od odesilatele. Jde-li například o zabezpečení kontrolním součtem, spočívá zmíněný algoritmus v prostém sečtení jednotlivých datových bytů či slov, chápaných pro tento účel jako čísla, a zabezpečovacím údajem je pak výsledný součet. Spolehlivost zabezpečení pomocí kontrolních součtů ovšem není příliš veliká, a pro mnohé účely nedostatečná. Dostatečnou spolehlivost nabízí až výše avizované cyklické kódy (CRC) - například zabezpečovací údaj, generovaný podle této metody v nejčastěji používaném rozsahu 16 bitů, umožňuje příjemci rozpoznat všechny shluky chybných bitů se stoprocentní jistotou, shluky délky 17 bitů s pravděpodobností 99,9968%, a ostatní chyby s pravděpodobností 99,9984%. Nezní to jako fantazie, nebo dokonce jako nemožnost? Pokud nechcete mému tvrzení věřit a chcete si sami dokázat jeho pravdivost, budete k tomu potřebovat velmi silný matematický aparát, konkrétně aparát algebry, zabývající se okruhy polynomů nad tělesem dimenze 2. Za fungováním cyklických kódů totiž stojí opravdu pokročilá matematika. Pokud ale nejsou tyto partie zrovna vaším koníčkem, vůbec to nevadí. K praktickému používání detekčních mechanismů na bázi cyklických kódů žádný matematický aparát nepotřebujete. Potřebujete pouze velmi konkrétní a ryze praktický návod na to, jak z přenášených - 8 -

11 dat vyrobit onen zabezpečovací údaj, který pak k datům připojíte a odešlete směrem k příjemci (výpočet je popsáno v kapitole 3.4). Ten pak zase potřebuje vědět, co má s přijatými daty a zabezpečovacím údajem udělat, aby si mohl odvodit zda jsou poškozená, nebo s hodně velkou pravděpodobností nepoškozená. V obou případech přitom stačí prohnat" přenášená data přímo triviálním logickým obvodem, který na straně odesílatele vyrobí zabezpečovací údaj, a na straně příjemce řekne ano či ne. Pokud by vás ale přeci jen zajímalo, na jakém principu zabezpečení cyklickými kódy pracuje, pak se pokusím o maximální možné zjednodušení: odesilatel si data určená k odeslání na chvíli představí jako jedno velké číslo (což není tak těžké, vždyť jde ve své podstatě jen o posloupnost nul a jedniček). Toto číslo pak vydělí jiným číslem, na kterém je s příjemcem domluven. Podíl, který mu vyjde, okamžitě zapomene, ale využije zbytek po dělení - ten připojí k vlastním datům jako zabezpečující údaj, a vše pak odešle. Příjemce pak opakuje stejný postup a dívá se, zda dostal stejný zbytek. Podstatnou roli zde přitom hraje číslo (dělitel), kterým se přenášená data dělí, a na kterém musí být obě strany předem domluveny - toto číslo samozřejmě nemůže být ledajaké (z předchozích částí víme, že jde o generující polynom g(x)). Jeho konkrétní hodnotu lze nalézt jen s využitím onoho silného matematického aparátu, a tentýž aparát je pak třeba i k důkazu toho, že s tímto dělitelem vše funguje s onou výše uvedenou báječnou spolehlivostí, velmi se blížící stu procent. Z konkrétní hodnoty tohoto čísla-dělitele (ve skutečnosti polynomu, resp. tzv. vytvářející mnohočlenu, ale při našem maximálním zjednodušení pouhého čísla) pak přímo vyplývá funkce i struktura jednoduchého (ba přímo triviálního obvodu), který obě strany používají pro praktické generování zabezpečovacích údajů a kontrolu správnosti přenesených dat

12 4. Shrnutí V tomto referátu jsme se dozvěděli, co jsou to CRC kódy, že spadají do skupiny bezpečnostních detekčních kódů. Ukázali jsme si jednoducho hardwarovou realizaci těchto kódů, která spočívá v lineárním posuvném registru se zpětnou vazbou. Ukázali jsem si, že výpočet takového CRC kódu je jednoduchý, stačí výraz x r d( x) g ( x). Takto dostaneme CRC část kódu c ( x) slovo má potom podobu v = ( c,..., cr 1, d,..., d k 1 ) g ( x) modulujeme polynom x r d( x) modulovat generujícím polynomem, kterou připojíme před informační slovo. Výsledné. Obecně není jedno, jakým polynomem. Pro názornost jsou nejpoužívanější generující polynomy shrnuty v tabulce 1. Pokud by někoho zajímalo ověření správnosti těchto polynomů, bude k tomu potřebovat velmi silný matematický aparát, konkrétně aparát algebry, zabývající se okruhy polynomů nad tělesem dimenze 2. Pro naší potřebu stačí vědět, že generující polynom v nejčastěji používaném rozsahu 16 bitů, umožňuje příjemci rozpoznat všechny shluky chybných bitů se stoprocentní jistotou. Ukázali jsem si také příklad implementace 32-bitového CRC kódu (CRC-32). Ale přes všechny uvedené pozitivní vlastnosti CRC je jasné, že žádný instrukční soubor známých mikroprocesorů neobsahuje instrukce pro přímou realizaci lineárních posuvných registrů se zpětnou vazbou. Tímto bych skončil tento referát o CRC kódech, doufám, že pro Vás čtenáře byl něčím užitečný, a že jste se dozvěděli informace, které jste potřebovali

Informatika Kódování. Obsah. Kód. Radim Farana Podklady předmětu Informatika pro akademický rok 2007/2008

Informatika Kódování. Obsah. Kód. Radim Farana Podklady předmětu Informatika pro akademický rok 2007/2008 Informatika Kódování Radim Farana Podklady předmětu Informatika pro akademický rok 27/28 Obsah Základy pojmy diskrétních kódů. Druhy kódů. Nejkratší kódy. Detekce chyb, Hammingova vdálenost. Kontrolní

Více

Kódováni dat. Kódy používané pro strojové operace

Kódováni dat. Kódy používané pro strojové operace Kódováni dat Před zpracováním dat například v počítači je třeba znaky převést do tvaru, kterému počítač rozumí, tj. přiřadit jim určité kombinace bitů. Tomuto převodu se říká kódování. Kód je předpis pro

Více

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty Data v počítači Informační data (elementární datové typy) Logické hodnoty Znaky Čísla v pevné řádové čárce (celá čísla) v pohyblivé (plovoucí) řád. čárce (reálná čísla) Povelová data (instrukce programu)

Více

[1] samoopravné kódy: terminologie, princip

[1] samoopravné kódy: terminologie, princip [1] Úvod do kódování samoopravné kódy: terminologie, princip blokové lineární kódy Hammingův kód Samoopravné kódy, k čemu to je [2] Data jsou uložena (nebo posílána do linky) kodérem podle určitého pravidla

Více

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Lukáš Havrlant Univerzita Palackého 10. ledna 2014 Primární zdroj Jiří Adámek: Foundations of Coding. Strany 137 160. Na webu ke stažení, heslo:

Více

PŘEDNÁŠKA PS 6 Přenos dat v počítačových sítích

PŘEDNÁŠKA PS 6 Přenos dat v počítačových sítích PŘEDNÁŠKA PS 6 Přenos dat v počítačových sítích Část 2 Osnova Metody detekce chybovosti Pravděpodobnost chyby ve zprávě Parita Kontrolní blokový součet (pseudosoučet) Redundantní cyklické kódy Jiný způsob

Více

Kódování signálu. Problémy při návrhu linkové úrovně. Úvod do počítačových sítí. Linková úroveň

Kódování signálu. Problémy při návrhu linkové úrovně. Úvod do počítačových sítí. Linková úroveň Kódování signálu Obecné schema Kódování NRZ (bez návratu k nule) NRZ L NRZ S, NRZ - M Kódování RZ (s návratem k nule) Kódování dvojí fází Manchester (přímý, nepřímý) Diferenciální Manchester 25.10.2006

Více

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí: Řešené příklady z lineární algebry - část 1 Typové příklady s řešením Příklady jsou určeny především k zopakování látky před zkouškou, jsou proto řešeny se znalostmi učiva celého semestru. Tento fakt se

Více

1 Mnohočleny a algebraické rovnice

1 Mnohočleny a algebraické rovnice 1 Mnohočleny a algebraické rovnice 1.1 Pojem mnohočlenu (polynomu) Připomeňme, že výrazům typu a 2 x 2 + a 1 x + a 0 říkáme kvadratický trojčlen, když a 2 0. Číslům a 0, a 1, a 2 říkáme koeficienty a písmenem

Více

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti Kapitola 5 Vektorové prostory V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti operací sčítání a násobení

Více

Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy...

Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy... Polynomy Obsah Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1 Základní vlastnosti polynomů 2 1.1 Teorie........................................... 2 1.1.1 Zavedení polynomů................................

Více

1 Mnohočleny a algebraické rovnice

1 Mnohočleny a algebraické rovnice 1 Mnohočleny a algebraické rovnice 1.1 Pojem mnohočlenu (polynomu) Připomeňme, že výrazům typu a 2 x 2 + a 1 x + a 0 říkáme kvadratický trojčlen, když a 2 0. Číslům a 0, a 1, a 2 říkáme koeficienty a písmenem

Více

Matematika IV 10. týden Kódování

Matematika IV 10. týden Kódování Matematika IV 10. týden Kódování Jan Slovák Masarykova univerzita Fakulta informatiky 22. 26. 4. 2013 Obsah přednášky 1 (n, k) kódy 2 Polynomiální kódy 3 Lineární kódy Kde je dobré číst? připravovaná učebnice

Více

PSK2-5. Kanálové kódování. Chyby

PSK2-5. Kanálové kódování. Chyby PSK2-5 Název školy: Autor: Anotace: Vzdělávací oblast: Předmět: Tematická oblast: Výsledky vzdělávání: Klíčová slova: Druh učebního materiálu: Typ vzdělávání: Ověřeno: Zdroj: Vyšší odborná škola a Střední

Více

Báze a dimenze vektorových prostorů

Báze a dimenze vektorových prostorů Báze a dimenze vektorových prostorů Buď (V, +, ) vektorový prostor nad tělesem (T, +, ). Nechť u 1, u 2,..., u n je konečná posloupnost vektorů z V. Existují-li prvky s 1, s 2,..., s n T, z nichž alespoň

Více

1 Co jsou lineární kódy

1 Co jsou lineární kódy 1 Žádný záznam informace a žádný přenos dat není absolutně odolný vůči chybám. Někdy je riziko poškození zanedbatelné, v mnoha případech je však zaznamenaná a přenášená informace jištěna přidáním dat,

Více

Generující kořeny cyklických kódů. Generující kořeny. Alena Gollová, TIK Generující kořeny 1/30

Generující kořeny cyklických kódů. Generující kořeny. Alena Gollová, TIK Generující kořeny 1/30 Generující kořeny cyklických kódů 6. přednáška z algebraického kódování Alena Gollová, TIK Generující kořeny 1/30 Obsah 1 Alena Gollová, TIK Generující kořeny 2/30 Hammingovy kódy Hammingovy kódy jsou

Více

Kódy a kódování dat. Binární (dvojkové) kódy. Kód Aikenův

Kódy a kódování dat. Binární (dvojkové) kódy. Kód Aikenův Kódy a kódování dat Kódování je proces, při kterém se každému znaku nebo postupnosti znaků daného souboru znaků jednoznačně přiřadí znak nebo postupnost znaků z jiného souboru znaků. Kódování je tedy transformace

Více

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru 2. Systémy lineárních rovnic V této kapitole se budeme zabývat soustavami lineárních rovnic s koeficienty z pole reálných případně komplexních čísel. Uvádíme podmínku pro existenci řešení systému lineárních

Více

Úvod do teorie informace

Úvod do teorie informace PEF MZLU v Brně 24. září 2007 Úvod Výměna informací s okolím nám umožňuje udržovat vlastní existenci. Proces zpracování informací je trvalý, nepřetržitý, ale ovlivnitelný. Zabezpečení informací je spojeno

Více

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice 9. Lineární diferenciální rovnice 2. řádu Cíle Diferenciální rovnice, v nichž hledaná funkce vystupuje ve druhé či vyšší derivaci, nazýváme diferenciálními rovnicemi druhého a vyššího řádu. Analogicky

Více

ALGEBRA. Téma 4: Grupy, okruhy a pole

ALGEBRA. Téma 4: Grupy, okruhy a pole SLEZSKÁ UNIVERZITA V OPAVĚ Matematický ústav v Opavě Na Rybníčku 1, 746 01 Opava, tel. (553) 684 611 DENNÍ STUDIUM Téma 4: Grupy, okruhy a pole Základní pojmy unární operace, binární operace, asociativita,

Více

Věta o dělení polynomů se zbytkem

Věta o dělení polynomů se zbytkem Věta o dělení polynomů se zbytkem Věta. Nechť R je okruh, f, g R[x], přičemž vedoucí koeficient polynomu g 0 je jednotka okruhu R. Pak existuje jediná dvojice polynomů q, r R[x] taková, že st(r) < st(g)

Více

8 Kořeny cyklických kódů, BCH-kódy

8 Kořeny cyklických kódů, BCH-kódy 24 8 Kořeny cyklických kódů, BCH-kódy Generující kořeny cyklických kódů Nechť K je cyklický kód délky n nad Z p s generujícím polynomem g(z). Chceme najít rozšíření T tělesa Z p, tedy nějaké těleso GF

Více

Základní pojmy teorie množin Vektorové prostory

Základní pojmy teorie množin Vektorové prostory Základní pojmy teorie množin Přednáška MATEMATIKA č. 1 Katedra ekonometrie FEM UO Brno kancelář 69a, tel. 973 442029 email:jiri.neubauer@unob.cz 7. 10. 2010 Základní pojmy teorie množin Základní pojmy

Více

Samoopravné kódy, k čemu to je

Samoopravné kódy, k čemu to je Úvod do kódování samoopravné kódy: terminologie, princip blokové lineární kódy Hammingův kód cyklické kódy [1] Samoopravné kódy, k čemu to je BI-LIN, kody, 18, P. Olšák [2] Data jsou uložena (nebo posílána

Více

Hammingovy kódy. dekódování H.kódů. konstrukce. šifrování. Fanova rovina charakteristický vektor. princip generující a prověrková matice

Hammingovy kódy. dekódování H.kódů. konstrukce. šifrování. Fanova rovina charakteristický vektor. princip generující a prověrková matice Hammingovy kódy konstrukce Fanova rovina charakteristický vektor šifrování princip generující a prověrková matice dekódování H.kódů třída lineárních binárních kódů s A n, 3 n = délka kódu, d = distance

Více

[1] samoopravné kódy: terminologie, princip

[1] samoopravné kódy: terminologie, princip [1] Úvod do kódování samoopravné kódy: terminologie, princip blokové lineární kódy Hammingův kód cyklické kódy a) kody, 18, b) P. Olšák, FEL ČVUT, c) P. Olšák 2010, d) BI-LIN, e) L, f) 2009/2010, g)l.

Více

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: 3 Maticový počet 3.1 Zavedení pojmu matice Maticí typu (m, n, kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: a 11 a 12... a 1k... a 1n a 21 a 22...

Více

Kódy pro odstranění redundance, pro zabezpečení proti chybám. Demonstrační cvičení 5 INP

Kódy pro odstranění redundance, pro zabezpečení proti chybám. Demonstrační cvičení 5 INP Kódy pro odstranění redundance, pro zabezpečení proti chybám Demonstrační cvičení 5 INP Princip kódování, pojmy Tady potřebujeme informaci zabezpečit, utajit apod. zpráva 000 111 000 0 1 0... kodér dekodér

Více

1 Řešení soustav lineárních rovnic

1 Řešení soustav lineárních rovnic 1 Řešení soustav lineárních rovnic 1.1 Lineární rovnice Lineární rovnicí o n neznámých x 1,x 2,..., x n s reálnými koeficienty rozumíme rovnici ve tvaru a 1 x 1 + a 2 x 2 +... + a n x n = b, (1) kde koeficienty

Více

Lenka Zalabová. Ústav matematiky a biomatematiky, Přírodovědecká fakulta, Jihočeská univerzita. zima 2012

Lenka Zalabová. Ústav matematiky a biomatematiky, Přírodovědecká fakulta, Jihočeská univerzita. zima 2012 Algebra - třetí díl Lenka Zalabová Ústav matematiky a biomatematiky, Přírodovědecká fakulta, Jihočeská univerzita v Českých Budějovicích zima 2012 Obsah 1 Dělitelnost 2 Grupy zbytkových tříd 3 Jedna z

Více

Cyklické kódy. Alena Gollová, TIK Cyklické kódy 1/23

Cyklické kódy. Alena Gollová, TIK Cyklické kódy 1/23 Cyklické kódy 5. řednáška z algebraického kódování Alena Gollová, TIK Cyklické kódy 1/23 Obsah 1 Cyklické kódy Generující olynom - kódování Kontrolní olynom - objevování chyb Alena Gollová, TIK Cyklické

Více

Matematická analýza pro informatiky I. Limita funkce

Matematická analýza pro informatiky I. Limita funkce Matematická analýza pro informatiky I. 5. přednáška Limita funkce Jan Tomeček tomecek@inf.upol.cz http://aix-slx.upol.cz/ tomecek/index Univerzita Palackého v Olomouci 18. března 2011 Jan Tomeček, tomecek@inf.upol.cz

Více

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] MATICE Matice typu m/n nad tělesem T je soubor m n prvků z tělesa T uspořádaných do m řádků a n sloupců: a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] a m1 a m2 a mn Prvek a i,j je prvek matice A na místě

Více

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují 1. u + v = v + u, u, v V 2. (u + v) + w = u + (v + w),

Více

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory K množina reálných nebo komplexních čísel, U vektorový prostor nad K. Lineární kombinace vektorů u 1, u 2,...,u

Více

15. Moduly. a platí (p + q)(x) = p(x) + q(x), 1(X) = id. Vzniká tak struktura P [x]-modulu na V.

15. Moduly. a platí (p + q)(x) = p(x) + q(x), 1(X) = id. Vzniká tak struktura P [x]-modulu na V. Učební texty k přednášce ALGEBRAICKÉ STRUKTURY Michal Marvan, Matematický ústav Slezská univerzita v Opavě 15. Moduly Definice. Bud R okruh, bud M množina na níž jsou zadány binární operace + : M M M,

Více

Cyklické kódy. Definujeme-li na F [x] n sčítání a násobení jako. a + b = π n (a + b) a b = π n (a b)

Cyklické kódy. Definujeme-li na F [x] n sčítání a násobení jako. a + b = π n (a + b) a b = π n (a b) C Ať C je [n, k] q kód takový, že pro každé u 1,..., u n ) C je také u 2,..., u n, u 1 ) C. Jinými slovy, kódová slova jsou uzavřena na cyklické posuny. Je přirozené takový kód nazvat cyklický. Strukturu

Více

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi

Více

0.1 Úvod do lineární algebry

0.1 Úvod do lineární algebry Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Lineární rovnice o 2 neznámých Definice 011 Lineární rovnice o dvou neznámých x, y je rovnice, která může být vyjádřena ve tvaru ax + by = c, kde

Více

Informace, kódování a redundance

Informace, kódování a redundance Informace, kódování a redundance INFORMACE = fakt nebo poznatek, který snižuje neurčitost našeho poznání (entropii) DATA (jednotné číslo ÚDAJ) = kódovaná zpráva INFORAMCE = DATA + jejich INTERPRETACE (jak

Více

Matice. a m1 a m2... a mn

Matice. a m1 a m2... a mn Matice Nechť (R, +, ) je okruh a nechť m, n jsou přirozená čísla Matice typu m/n nad okruhem (R, +, ) vznikne, když libovolných m n prvků z R naskládáme do obdélníkového schematu o m řádcích a n sloupcích

Více

Hammingův kód. Vladislav Kosejk. České vysoké učení technické v Praze Fakulta jaderná a fyzikálně inženýrská Detašované pracoviště Děčín

Hammingův kód. Vladislav Kosejk. České vysoké učení technické v Praze Fakulta jaderná a fyzikálně inženýrská Detašované pracoviště Děčín Hammingův kód Vladislav Kosejk České vysoké učení technické v Praze Fakulta jaderná a fyzikálně inženýrská Detašované pracoviště Děčín Obsah prezentace Hammingův kód 1 Algoritmus Hammingova kódu 2 Generující

Více

z = a bi. z + v = (a + bi) + (c + di) = (a + c) + (b + d)i. z v = (a + bi) (c + di) = (a c) + (b d)i. z v = (a + bi) (c + di) = (ac bd) + (bc + ad)i.

z = a bi. z + v = (a + bi) + (c + di) = (a + c) + (b + d)i. z v = (a + bi) (c + di) = (a c) + (b d)i. z v = (a + bi) (c + di) = (ac bd) + (bc + ad)i. KOMLEXNÍ ČÍSLA C = {a + bi; a, b R}, kde i 2 = 1 Číslo komplexně sdružené k z = a + bi je číslo z = a bi. Operace s komplexními čísly: z = a + bi, kde a, b R v = c + di, kde c, d R Sčítání Odčítání Násobení

Více

II. Úlohy na vložené cykly a podprogramy

II. Úlohy na vložené cykly a podprogramy II. Úlohy na vložené cykly a podprogramy Společné zadání pro příklady 1. - 10. začíná jednou ze dvou možností popisu vstupních dat. Je dána posloupnost (neboli řada) N reálných (resp. celočíselných) hodnot.

Více

Operace s maticemi. 19. února 2018

Operace s maticemi. 19. února 2018 Operace s maticemi Přednáška druhá 19. února 2018 Obsah 1 Operace s maticemi 2 Hodnost matice (opakování) 3 Regulární matice 4 Inverzní matice 5 Determinant matice Matice Definice (Matice). Reálná matice

Více

Lineární algebra Operace s vektory a maticemi

Lineární algebra Operace s vektory a maticemi Lineární algebra Operace s vektory a maticemi Robert Mařík 26. září 2008 Obsah Operace s řádkovými vektory..................... 3 Operace se sloupcovými vektory................... 12 Matice..................................

Více

Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ). Čísla a 1, a 2,..., a n se nazývají složky vektoru

Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ). Čísla a 1, a 2,..., a n se nazývají složky vektoru 1 1. Lineární algebra 1.1. Lineární závislost a nezávislost vektorů. Hodnost matice Aritmetické vektory Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ).

Více

1 Vektorové prostory.

1 Vektorové prostory. 1 Vektorové prostory DefiniceMnožinu V, jejíž prvky budeme označovat a, b, c, z, budeme nazývat vektorovým prostorem právě tehdy, když budou splněny následující podmínky: 1 Je dáno zobrazení V V V, které

Více

Matematika 2 pro PEF PaE

Matematika 2 pro PEF PaE Vektorové prostory 1 / 17 Matematika 2 pro PEF PaE 8. Vektorové prostory Přemysl Jedlička Katedra matematiky, TF ČZU Vektorové prostory Vektorové prostory a podprostory 2 / 17 vektorového prostoru Množina

Více

Způsoby realizace této funkce:

Způsoby realizace této funkce: KOMBINAČNÍ LOGICKÉ OBVODY U těchto obvodů je výstup určen jen výhradně kombinací vstupních veličin. Hodnoty výstupních veličin nezávisejí na předcházejícím stavu logického obvodu, což znamená, že kombinační

Více

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic Přednáška třetí (a pravděpodobně i čtvrtá) aneb Úvod do lineární algebry Matice a soustavy rovnic Lineární rovnice o 2 neznámých Lineární rovnice o 2 neznámých Lineární rovnice o dvou neznámých x, y je

Více

Náhodný vektor a jeho charakteristiky

Náhodný vektor a jeho charakteristiky Náhodný vektor a jeho číselné charakteristiky 1 Náhodný vektor a jeho charakteristiky V následující kapitole budeme věnovat pozornost pouze dvourozměřnému náhodnému vektoru, i když uvedené pojmy a jejich

Více

Složitost Filip Hlásek

Složitost Filip Hlásek Složitost Filip Hlásek Abstrakt. Příspěvek popisuje dva základní koncepty teoretické informatiky, Turingovy stroje a složitost. Kromě definic důležitých pojmů uvádí také několik souvisejících tvrzení,

Více

Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb.

Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb. Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb. 1. Informace o přijímacích zkouškách Studijní program: Informatika navazující magisterský

Více

Lineární algebra : Lineární prostor

Lineární algebra : Lineární prostor Lineární algebra : Lineární prostor (3. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 17. dubna 2014, 14:43 1 2 3.1 Aximotické zavedení lineárního prostoru Číselné těleso Celou lineární

Více

Číselné charakteristiky a jejich výpočet

Číselné charakteristiky a jejich výpočet Katedra ekonometrie, FVL, UO Brno kancelář 69a, tel. 973 442029 email:jiri.neubauer@unob.cz charakteristiky polohy charakteristiky variability charakteristiky koncetrace charakteristiky polohy charakteristiky

Více

Vektorový prostor. Př.1. R 2 ; R 3 ; R n Dvě operace v R n : u + v = (u 1 + v 1,...u n + v n ), V (E 3 )...množina vektorů v E 3,

Vektorový prostor. Př.1. R 2 ; R 3 ; R n Dvě operace v R n : u + v = (u 1 + v 1,...u n + v n ), V (E 3 )...množina vektorů v E 3, Vektorový prostor Příklady: Př.1. R 2 ; R 3 ; R n...aritmetický n-rozměrný prostor Dvě operace v R n : součet vektorů u = (u 1,...u n ) a v = (v 1,...v n ) je vektor u + v = (u 1 + v 1,...u n + v n ),

Více

BCH kódy. Alena Gollová, TIK BCH kódy 1/27

BCH kódy. Alena Gollová, TIK BCH kódy 1/27 7. přednáška z algebraického kódování Alena Gollová, TIK 1/27 Obsah 1 Binární Alena Gollová, TIK 2/27 Binární jsou cyklické kódy zadané svými generujícími kořeny. Díky šikovné volbě kořenů opravuje kód

Více

Mikroprocesorová technika (BMPT)

Mikroprocesorová technika (BMPT) Mikroprocesorová technika (BMPT) Přednáška č. 10 Číselné soustavy v mikroprocesorové technice Ing. Tomáš Frýza, Ph.D. Obsah přednášky Číselné soustavy v mikroprocesorové technice Dekadická, binární, hexadecimální

Více

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30 Počítání modulo polynom 3. přednáška z algebraického kódování Alena Gollová, TIK Počítání modulo polynom 1/30 Obsah 1 Polynomy nad Zp Okruh Zp[x] a věta o dělení se zbytkem 2 Kongruence modulo polynom,

Více

Lineární algebra : Báze a dimenze

Lineární algebra : Báze a dimenze Lineární algebra : Báze a dimenze (5. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 9. dubna 2014, 13:33 1 2 5.1 Báze lineárního prostoru Definice 1. O množině vektorů M z LP V řekneme,

Více

ALGEBRA. Téma 5: Vektorové prostory

ALGEBRA. Téma 5: Vektorové prostory SLEZSKÁ UNIVERZITA V OPAVĚ Matematický ústav v Opavě Na Rybníčku 1, 746 01 Opava, tel. (553) 684 611 DENNÍ STUDIUM Téma 5: Vektorové prostory Základní pojmy Vektorový prostor nad polem P, reálný (komplexní)

Více

2. Určete jádro KerL zobrazení L, tj. nalezněte alespoň jednu jeho bázi a určete jeho dimenzi.

2. Určete jádro KerL zobrazení L, tj. nalezněte alespoň jednu jeho bázi a určete jeho dimenzi. Řešené příklady z lineární algebry - část 3 Typové příklady s řešením Příklad 3.1: Zobrazení L: P 3 R 23 je zobrazení z prostoru P 3 všech polynomů do stupně 3 (včetně nulového polynomu) do prostoru R

Více

Matematika 1 MA1. 2 Determinant. 3 Adjungovaná matice. 4 Cramerovo pravidlo. 11. přednáška ( ) Matematika 1 1 / 29

Matematika 1 MA1. 2 Determinant. 3 Adjungovaná matice. 4 Cramerovo pravidlo. 11. přednáška ( ) Matematika 1 1 / 29 Matematika 1 11. přednáška MA1 1 Opakování 2 Determinant 3 Adjungovaná matice 4 Cramerovo pravidlo 5 Vlastní čísla a vlastní vektory matic 6 Zkouška; konzultace; výběrová matematika;... 11. přednáška (15.12.2010

Více

http://bruxy.regnet.cz/fel/ Hammingův kód Binární kód se nazývá Hammingův, jestliže má kontrolní matici, jejíž sloupce jsou všechna nenulová slova dané délky n k = r a žádné z nich se neopakuje. Jedná

Více

(Cramerovo pravidlo, determinanty, inverzní matice)

(Cramerovo pravidlo, determinanty, inverzní matice) KMA/MAT1 Přednáška a cvičení, Lineární algebra 2 Řešení soustav lineárních rovnic se čtvercovou maticí soustavy (Cramerovo pravidlo, determinanty, inverzní matice) 16 a 21 října 2014 V dnešní přednášce

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech

Více

ANALYTICKÁ GEOMETRIE V ROVINĚ

ANALYTICKÁ GEOMETRIE V ROVINĚ ANALYTICKÁ GEOMETRIE V ROVINĚ Analytická geometrie vyšetřuje geometrické objekty (body, přímky, kuželosečky apod.) analytickými metodami. Podle prostoru, ve kterém pracujeme, můžeme analytickou geometrii

Více

označme j = (0, 1) a nazvěme tuto dvojici imaginární jednotkou. Potom libovolnou (x, y) = (x, 0) + (0, y) = (x, 0) + (0, 1)(y, 0) = x + jy,

označme j = (0, 1) a nazvěme tuto dvojici imaginární jednotkou. Potom libovolnou (x, y) = (x, 0) + (0, y) = (x, 0) + (0, 1)(y, 0) = x + jy, Komplexní čísla Množinu všech uspořádaných dvojic (x, y) reálných čísel x, y nazýváme množinou komplexních čísel C, jestliže pro každé dvě takové dvojice (x, y ), (x 2, y 2 ) je definována rovnost, sčítání

Více

Bakalářská matematika I

Bakalářská matematika I 1. Funkce Diferenciální počet Mgr. Jaroslav Drobek, Ph. D. Katedra matematiky a deskriptivní geometrie Bakalářská matematika I Některé užitečné pojmy Kartézský součin podrobnosti Definice 1.1 Nechť A,

Více

Základy matematické analýzy

Základy matematické analýzy Základy matematické analýzy Spojitost funkce Ing. Tomáš Kalvoda, Ph.D. 1, Ing. Daniel Vašata 2 1 tomas.kalvoda@fit.cvut.cz 2 daniel.vasata@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních

Více

Proudové šifry a posuvné registry s lineární zpětnou vazbou

Proudové šifry a posuvné registry s lineární zpětnou vazbou Proudové šifry a posuvné registry s lineární zpětnou vazbou Andrew Kozlík KA MFF UK Proudové šifry Bloková šifra Šifruje velké bloky otevřeného textu. Bloky mají pevnou délku. Velké znamená, že je prakticky

Více

Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů?

Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů? Kapitola 9 Matice a počet koster Graf (orientovaný i neorientovaný) lze popsat maticí, a to hned několika různými způsoby. Tématem této kapitoly jsou incidenční matice orientovaných grafů a souvislosti

Více

Pomocný text. Polynomy

Pomocný text. Polynomy Pomocný text Polynomy Tato série bude o polynomech a to zejména o polynomech jedné proměnné (pokud nebude uvedeno explicitně, že jde o polynom více proměnných). Formálně je někdy polynom jedné proměnné

Více

Dělitelnost čísel, nejmenší společný násobek, největší společný dělitel

Dělitelnost čísel, nejmenší společný násobek, největší společný dělitel Variace 1 Dělitelnost čísel, nejmenší společný násobek, největší společný dělitel Autor: Mgr. Jaromír JUŘEK Kopírování a jakékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu

Více

VEKTORY. Obrázek 1: Jediný vektor. Souřadnice vektoru jsou jeho průměty do souřadných os x a y u dvojrozměrného vektoru, AB = B A

VEKTORY. Obrázek 1: Jediný vektor. Souřadnice vektoru jsou jeho průměty do souřadných os x a y u dvojrozměrného vektoru, AB = B A VEKTORY Vektorem se rozumí množina všech orientovaných úseček, které mají stejnou velikost, směr a orientaci, což vidíme na obr. 1. Jedna konkrétní orientovaná úsečka se nazývá umístění vektoru na obr.

Více

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Počítačové sítě Téma: Počítačové sítě Vyučující: Ing. Milan Káža Třída: EK1 Hodina: 21-22 Číslo: III/2 4. Síťové

Více

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s Kapitola 13 Kvadratické formy Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru f(x 1,..., x n ) = a ij x i x j, kde koeficienty a ij T. j=i Kvadratická forma v n proměnných

Více

cv3.tex. Vzorec pro úplnou pravděpodobnost

cv3.tex. Vzorec pro úplnou pravděpodobnost 3 cvičení - pravděpodobnost 2102018 18cv3tex n i=1 Vzorec pro úplnou pravděpodobnost Systém náhodných jevů nazýváme úplným, jestliže pro něj platí: B i = 1 a pro i k je B i B k = 0 Jestliže je (Ω, A, P

Více

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28. INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.0141 Relace, zobrazení, algebraické struktury Michal Botur Přednáška

Více

1 Linearní prostory nad komplexními čísly

1 Linearní prostory nad komplexními čísly 1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)

Více

Algebraické struktury s jednou binární operací

Algebraické struktury s jednou binární operací 16 Kapitola 1 Algebraické struktury s jednou binární operací 1.1 1. Grupoid, pologrupa, monoid a grupa Chtěli by jste vědět, co jsou to algebraické struktury s jednou binární operací? No tak to si musíte

Více

)(x 2 + 3x + 4),

)(x 2 + 3x + 4), 3 IREDUCIBILNÍ ROZKLADY POLYNOMŮ V T [X] 3 Ireducibilní rozklady polynomů v T [x] - rozklady polynomů na ireducibilní (dále nerozložitelné) prvky v oboru integrity polynomů jedné neurčité x nad tělesem

Více

Matematika B101MA1, B101MA2

Matematika B101MA1, B101MA2 Matematika B101MA1, B101MA2 Zařazení předmětu: povinný předmět 1.ročníku bc studia 2 semestry Rozsah předmětu: prezenční studium 2 + 2 kombinované studium 16 + 0 / semestr Zakončení předmětu: ZS zápočet

Více

Regulární matice. Věnujeme dále pozornost zejména čtvercovým maticím.

Regulární matice. Věnujeme dále pozornost zejména čtvercovým maticím. Regulární matice Věnujeme dále pozornost zejména čtvercovým maticím. Věta. Pro každou čtvercovou matici A = (a ij ) řádu n nad tělesem (T, +, ) jsou následující podmínky ekvivalentní: (i) Řádky matice

Více

Hammingův odhad. perfektní kódy. koule, objem koule perfektní kód. triviální, Hammingův, Golayův váhový polynom. výpočet. příklad

Hammingův odhad. perfektní kódy. koule, objem koule perfektní kód. triviální, Hammingův, Golayův váhový polynom. výpočet. příklad Hammingův odhad koule, objem koule perfektní kód perfektní kódy triviální, Hammingův, Golayův váhový polynom výpočet Hammingův kód H 3 Golayův kód G 23 obecně příklad ternární kód Tvrzení: Dán binární

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT Mgr. Jana

Více

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony. Booleovská algebra. Booleovské binární a unární funkce. Základní zákony. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz

Více

uvedení do problematiky i Bezpečnostní kódy: detekční kódy = kódy zjišťující chyby samoopravné kódy = kódy opravující chyby příklady kódů:

uvedení do problematiky i Bezpečnostní kódy: detekční kódy = kódy zjišťující chyby samoopravné kódy = kódy opravující chyby příklady kódů: I. Bezpečnostníkódy úvod základní pojmy počet zjistitelných a opravitelných chyb 2prvkové těleso a lineární prostor jednoduché bezpečnostní kódy lineární kódy Hammingův kód smysluplnost bezpečnostních

Více

Matematická logika. Miroslav Kolařík

Matematická logika. Miroslav Kolařík Matematická logika přednáška šestá Miroslav Kolařík Zpracováno dle textu R. Bělohlávka: Matematická logika poznámky k přednáškám, 2004. a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní matematika

Více

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu: Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury

Více

grupa těleso podgrupa konečné těleso polynomy komutativní generovaná prvkem, cyklická, řád prvku charakteristika tělesa

grupa těleso podgrupa konečné těleso polynomy komutativní generovaná prvkem, cyklická, řád prvku charakteristika tělesa grupa komutativní podgrupa těleso generovaná prvkem, cyklická, řád prvku Malá Fermatova věta konečné těleso charakteristika tělesa polynomy ireducibilní prvky, primitivní prvky definice: G, je grupa kde

Více

0.1 Úvod do lineární algebry

0.1 Úvod do lineární algebry Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Vektory Definice 011 Vektorem aritmetického prostorur n budeme rozumět uspořádanou n-tici reálných čísel x 1, x 2,, x n Definice 012 Definice sčítání

Více

Soustavy lineárních rovnic

Soustavy lineárních rovnic Soustavy lineárních rovnic V této kapitole se budeme zabývat soustavami lineárních diferenciálních rovnic y = a (x)y + a (x)y + + a n (x)y n + f (x) y = a (x)y + a (x)y + + a n (x)y n + f (x). y n = a

Více

[1] Definice 1: Polynom je komplexní funkce p : C C, pro kterou. pro všechna x C. Čísla a 0, a 1,..., a n nazýváme koeficienty polynomu.

[1] Definice 1: Polynom je komplexní funkce p : C C, pro kterou. pro všechna x C. Čísla a 0, a 1,..., a n nazýváme koeficienty polynomu. Polynomy Polynom je možno definovat dvěma způsoby: jako reálnou nebo komplexní funkci, jejichž hodnoty jsou dány jistým vzorcem, jako ten vzorec samotný. [1] První způsob zavedení polynomu BI-LIN, polynomy,

Více

Lineární algebra : Násobení matic a inverzní matice

Lineární algebra : Násobení matic a inverzní matice Lineární algebra : Násobení matic a inverzní matice (8. přednáška) František Štampach, Karel Klouda frantisek.stampach@fit.cvut.cz, karel.klouda@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních

Více

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19 Algoritmy I Číselné soustavy přečíst!!! Číselné soustavy Každé číslo lze zapsat v poziční číselné soustavě ve tvaru: a n *z n +a n-1 *z n-1 +. +a 1 *z 1 +a 0 *z 0 +a -1 *z n-1 +a -2 *z -2 +.. V dekadické

Více

Teorie informace: řešené příklady 2014 Tomáš Kroupa

Teorie informace: řešené příklady 2014 Tomáš Kroupa Teorie informace: řešené příklady 04 Tomáš Kroupa Kolik otázek je třeba v průměru položit, abychom se dozvěděli datum narození člověka (den v roce), pokud odpovědi jsou pouze ano/ne a tázaný odpovídá pravdivě?

Více