REED-SOLOMONOVA ZABEZPEČOVACÍHO KÓDU
|
|
- Roman Vratislav Bláha
- před 8 lety
- Počet zobrazení:
Transkript
1 AKCELERÁTOR PRO DEKÓDOVÁNÍ KONVOLUČNÍHO A REED-SOLOMONOVA ZABEZPEČOVACÍHO KÓDU J. Kloub, A. Heřmánek Ústav teorie informace a automatizace AV ČR, v.v.i. Oddělení zpracování signálu. Abstrakt Při návrhu aplikací pro bezdrátový přenos dat je nutné simulovat přenosové kanály včetně vznikajících poruch při přenosu. Přenášená data jsou zatížena určitou chybou a kvalita jednotlivých opravných kódů je dána množstvím chyb, který je daný kód schopen opravit. Vzhledem k složitosti algoritmů pro kódování a především dekódování a opravu vzniklých chyb, může být simulace na běžných PC časově velmi náročná. Časovou náročnost simulací lze snížit použitím hardwarových akcelerátorů. Akcelerátory využívají specifická obvodová řešení pro výpočet dílčích problémů simulovaného systému a urychlí tak celkovou dobu simulace. V tomto článku je popsána implementace akcelerátorů pro dekódování a opravu dat zabezpečených konvolučním a nebo Reed-Solomonovým kódem. Akcelerátory jsou implementovány pomocí obvodů FPGA (Field-programmable gate array) a pomocí signálového procesoru (DSP pouze konvoluční dekoder). 1 Úvod Rozvoj digitálních technologií přinesl možnost realizovat komplexní a výkonná řešení elektronických systémů. Výpočetního výkonu elektronických systémů je dnes využíváno v různých odvětvích při zpracovávání dat pomocí různých numerických metod. Numerické metody umožňují například zabezpečit data proti chybám při přenosu komunikačním kanálem, který je zatížen šumem vedoucím k chybám v přenosu. Zabezpečení dat proti chybám opravnými kódy (FEC - Forward Error Correction) dnes hojně využívají například bezdrátové technologie jako WiFi, BlueTooth, DVB-T, WiMax a další. Mezi nejčastěji používané moderní kódu patří například blokový konvoluční a Reed-Solomonův kód. Při návrhu aplikací pro přenos dat je nutné celý systém simulovat. Pokud je simulace spouštěna na standardním PC, jsou simulační kroky prováděny většinou sekvenčně v závislosti na schopnostech daného počítače. Vzhledem ke složitosti některých numerických metod může být simulace poměrně časově náročná. Pro urychlení výpočtu simulace se nám nabízí realizovat některé výpočty pomocí akcelerátorů. V následujícím textu bude popsána realizace akcelerátorů pro dekódování konvolučního kódu a pro kódování a dekódování Reed-Solomonova kódu. Struktura článku je následující: kapitola 2 popisuje prostředky pro realizaci akcelerátorů, kapitola 3 popisuje implementaci dekodéru konvolučního kódu, kapitola 4 popisuje implementaci Reed-Solomonova kodéru a dekodéru a kapitola 5 uvádí výsledky jednotlivých implementací akcelerátorů.
2 2 Prostředky pro HW implementaci akcelerátorů Pro akcelerovaní výpočtů simulace lze použít různá obvodová řešení, jako například dedikované zákaznické obvody, mikroprocesory, signálové procesory, programovatelné obvody a jiná řešení. Článek popisuje realizaci akcelerátorů pomocí obvodů s programovatelnými hradlovými poli (FPGA - Field-Programmable Gate Array) a s pomocí signálového procesoru (DSP - Digital Signal Processor). Obvody FPGA dnes obecně disponují širokou škálou prostředků pro řešení různých typů výpočtů včetně zpracování signálů. Výsledné aplikace vzniknou pomocí propojení jednotlivých funkčních elementů obvodu. Jelikož se jedná o obvodové řešení, můžeme využít možnosti souběžného výpočtu datově nezávislých operací. Signálové procesory bývají vystavěny na harvardské architektuře, kde je pamět programu oddělena od paměti dat. Tyto paměti mívají přístup realizován pomocí vlastních sběrnic, což zvyšuje propustnost systému. Další zvýšení výpočetního výkonu je zajištěno pomocí specializovaných jednotek, které dokáží pracovat paralelně. Jednou z jednotek bývá i rychlá násobička podporující vektorové operace (například operace typu A A + B k, která provádí jeden krok skalárního násobení dvou vektorů v jednom taktu procesoru - přístup k vektorům je umožněn pomocí nezávislých adresních jednotek). 2.1 Realizace akcelerátoru pomocí obvodu FPGA Pro realizaci akcelerátorů byly zvoleny vývojové desky (viz [3], [4], [5]) osazené FPGA firmy Altera: Stratix II, Stratix a Cyclone. Vývojové desky disponují ethernetovým rozhraním, které je využito k předávání dat mezi akcelerátorem a hostitelským systémem. Ethernetové rozhraní je na vývojových deskách implementováno pomocí obvodu SMSC LAN91C111 (viz [7]), který umožňuje komunikovat rychlostí 100 Mb/s (Full Duplex). Data jsou mezi akcelerátorem a hostitelským systémem předávána pomocí protokolu UDP. Způsob připojení akcelerátoru je znázorněn na obrázku Realizace akcelerátoru pomocí DSP V případě dekódování konvolučního kódu je pro akceleraci využit signálový procesor firmy Texas Instruments TMS320C6416, který disponuje koprocesorem pro Viterbiho algoritmus. Pro implementaci akcelerátoru byla zvolena vývojová deska osazená zmíněným procesorem (viz [6]). Firma Texas Instrument vyvinula vlastní proprietární protokol RTDX (RTDX - Real Time Data Exchange) pro rychlou výměnu dat s vývojovou deskou přes rozhraní JTAG. Protokol RTDX je podpořen v prostředí Matlab (toolbox Target for TI6000 ). Na zvolené vývojové desce je rozhraní JTAG realizováno pomocí rozhraní USB. Data mezi DSP a koprocesorem jsou předávána pomocí DMA přenosů. 3 Implementace dekodéru konvolučního kódu Konvoluční kódování dat lze velmi snadno realizovat obvodovým řešením. Základem kodéru je posuvný registr, který uchovává část z historie příchozích dat. Z této historie a z příchozích dat je odvozen výstup dekodéru podle generujících polynomů. Na obrázku 2 je znázorněno zapojení pro konkrétní parametry kódu, kde registry obsahují historii dat (stav kodéru). Výstupy jsou odvozeny pomocí součtu modulo-2 z hodnot určených polynomy. Potřebná datová redundance pro zabezpečení přenosu dat je odvozena z počtu výstupů kodéru, tedy počtem generujících polynomů.
3 Obrázek 1: Způsob propojení akcelerátoru a PC Konvoluční kodér je charakterizován několika základními parametry: R = kódový poměr R = k/n, kde k je počet kódových bitů generující n výstupních bitů K = počet možných vazeb z posuvného registru do exkluzivních součtů G0(x)... GN-1(x) = polynomy generující výstup Obrázek 2: Příklad obvodové realizace konvolučního kodéru (K=4, R=1/2, G0=(1111), G1=(1101) 3.1 Dekódování konvolučního kódu a Viterbiho algoritmus Pokud uvažujeme, že při přenosu došlo k chybě a nebo je použito takzvané děrování konvolučního kódu, musíme odhadovat nejpravděpodobnější zakódovanou bitovou posloupnost - hledáme tzv. Most Likelihood řešení. Jedním z algoritmů pro určení nejpravděpodobnější bitové posloupnosti je Vitebiho algoritmus Viterbiho algoritmus Viterbiho algoritmus se opírá o teorii grafů hledání nejlépe ohodnocené cesty. Graf je tvořen všemi možnými přechody mezi jednotlivými stavy historie konvolučního kodéru, tvořící mřížku (označováno také jako trellis). Vzhledem k tomu, že podstatou obvodové realizace konvolučního
4 kodéru je posuvný registr, lze velmi snadno určit strukturu přechodů v grafu. Na obrázku 3 je znázorněno jakým způsobem přechody v grafu vznikají (stavy jsou pro názornost označeny binárními hodnotami). Obrázek 3: Expanze hran grafu mřížky v čase (pro K=4) Graf začíná expandovat od počátečního stavu (stav 000). V každém dalším kroku expandují právě dvě hrany z dosažených stavů. Jedna hrana vede do stavu 1XX a druhá do stavu 0XX, kde XX jsou posunuté bity hodnoty stavu, z kterého hrany vychází (všimněme si, že nejvyšší bit následujícího stavu odpovídá zakódovanému bitu). Takto se tvoří kombinace cest, končící vždy v jednom ze stavů mřížky. Pro výběr cesty, která odpovídá přijatým datům, musíme zavést pro jednotlivé hrany metriky. Ohodnot me jednotlivé hrany hodnotou, která odpovídá hodnotě výstupu konvolučního kodéru ve stejném stavu jako je stav mřížky. Pro jeden stav kodéru existují dvě možné hodnoty výstupu v závislosti na vstupu kodéru. Pro hranu vedoucí do stavu s nejvyšším bitem rovným nule odpovídá ohodnocení pro vstup roven nule a obdobně i pro vstup rovný jedné. V každém kroku vytváření grafu porovnáme ohodnocení hrany se vstupním symbolem. Metrika pro každou hranu je vypočítána jako kódová vzdálenost mezi ohodnocením hrany a vstupním symbolem v daném čase (např. Hammingova vzdálenost). Každá vytvořená cesta je ohodnocena součtem jednotlivých hranových metrik. Do jednoho stavu mřížky vedou maximálně dvě cesty. Cesta s horším ohodnocením může být zapomenuta. Jsou-li ohodnocené cesty totožné, vybere se deterministicky jedna z nich (např. vždy ta cesta, která do stavu vede ze stavu s nižší hodnotou). V každém stavu je uchována hodnota ohodnocení vítězné cesty do stavu vedoucí (označována jako akumulovaná metrika). Vlastní dekódování dat spočívá ve zpětném průchodu grafem po nejlépe ohodnocené cestě. Teoreticky se graf může tvořit v čase do nekonečna. V praxi je graf omezen na časové okénko dané délky. Při zpětném průchodu grafem určuje aktuální stav přímo výstupní hodnotu. Jak bylo popsáno výše, výstupu odpovídá nejvyšší bit dosaženého stavu. Pořadí bitů výstupu je dekódováno v opačném pořadí, než byla data dekódována a pořadí musí být prohozeno.
5 Viterbiho algoritmus je poměrně časově náročný, pokud je implementován pomocí softwarových prostředků. Hardwarová implementace dekodéru využívá souběžného vyhodnocování v mřížkovém grafu, a tak může být dekódování rapidně urychleno. 3.2 Hardwarová implementace Viterbiho dekodéru Jak bylo uvedeno výše, byl Viterbi dekodér implementován pomocí obvodu FPGA a pomocí DSP firmy Texas Instruments. Nejdříve uved me základní blokové schéma dekodéru implementovaného v obvodu FPGA. Viterbi dekodér se dá rozdělit do několika základních bloků: Jednotka pro výpočet metrik jednotlivých hran grafu mřížky (BMU - Branch Metric Unit). Jednotka pro přičtení metrik hran k aktuálním cestám a výběr nejlépe ohodnocených cest končících v aktuálních uzlech grafu (ACSU - Add-Compare-Select Unit) Jednotka pro výběr uzlu (stavu) do kterého vede nejlépe ohodnocená cesta (BSU - Best State Unit) Jednotka pro zpětný průchod grafem pro určení odhadované dekódované posloupnosti (SMU - Survior Management Unit) Na obrázku 4 je znázorněno blokové schéma dekodéru. Jednotka BMU vypočítá metriky pro všechny nové hrany grafu na základě vstupního symbolu (Hammingova vzdálenost). Hranové metriky jsou předány jednotce ACSU, která přičte hodnoty k cestám vedoucích do aktuálních koncových uzlů grafu a vybere cesty s lepším ohodnocením pro každý koncový uzel grafu. Ohodnocení vybraných cest (akumulované metriky) si jednotka ACSU zapamatuje. Výstupem jednotky ACSU je informace o rozhodnutí výběru cest a akumulované metriky. Informace o rozhodování (označené jako path metric ) v průběhu dekódování jsou uchovávány v jednotce SMU. Jednotka SMU má omezenou pamět (počtem kroků rozhodování - označme toto omezení délkou paměti). Délka paměti odpovídá délce zpětného průchodu ( traceback length ). Délku paměti lze nastavit pomocí parametru před syntézou zdrojových kódu implementace. Po naplnění paměti je jednotkou SMU proveden zpětný průchod od uzlu (stavu) grafu, který určí jednotka BSU na základě akumulovaných metrik (získané od ACSU). Výstupem jednotky SMU je dekódovaná bitová posloupnost. V implementovaném dekodéru obsahuje jednotka SMU paměti dvě. Během zpětného průchodu jsou data čtena a vyhodnocovány z jedné paměti a do druhé paměti jsou současně zapisovány nové informace od jednotky ACSU. Po dokončení zpětného průchodu je účel pamětí zaměněn, a je tak docíleno průběžného dekódování příchozích dat. Dekodér používá takzvané hard dekódování a jedná se o takzvané hybridní řešení. Hybridní řešení je kompromisem mezi plně paralelním vyhodnocováním všech uzlů v jednotce ACSU paralelně a sekvenčním vyhodnocením - vyhodnocovány jsou skupiny uzlů. Toto řešení vede ke snížení hardwarových nároků (zdroje obvodu, pracovní frekvence). Popisovaná implementace Viterbiho dekodéru v obvodu FPGA vznikla v (odd. Zpracování signálu). ÚTIA AV ČR
6 Obrázek 4: Blokové schéma Viterbi dekodéru Hardwarová implementace Viterbiho dekodéru pomocí DSP Signálový procesor TMS320C6416 (DSP) je vybaven koprocesorem pro Viterbiho dekódování (VCP), který byl navržen pro bezdrátové standardy IS2000 a 3GPP jehož parametry jsou následující: Podpora dekódování pro K = 5, 6, 7,8 nebo 9. Uživatelsky zadávané koeficienty polynomů. Kódový poměry 1/2, 1/3 nebo 1/4. Možnosti nastavení délky a způsobu zpětného průchodu při dekódování. Koprocesor provádí pouze vyhodnocování možných cest průchodu grafem a jeho zpětný průchod. Hranové metriky musí být vypočteny na straně DSP a jsou předávány pomocí dedikovaných DMA přenosů (EDMA - Enhanced Direct Memory Access). Pro správnou funkci dekódování je třeba nastavit jednotlivé přenosové kanály v řadiči EDMA. Řadič EDMA zahájí přenos na základě signálů od periferií a koprocesorů. Koprocesor generuje příslušné signály v případě prázdné vstupní paměti (bufferu) pro hranové metriky a v případě, že je výstupní pamět (buffer) vyplněna dekódovanými daty. Jádro procesoru DSP pracuje nezávisle na koprocesoru a jeho pracovní frekvence je 1 GHz. Vlastní koprocesor pracuje na čtvrtinové frekvenci jádra, tedy na frekcvenci 250 MHz. Na obrázku 5 je znázorněna architektura koprocesoru. Bližší informace o koprocesoru lze nalézt v [2]. 4 Implementace kodéru a dekodéru Reed-Solomonova kódu Pro Reed-Solomonův kód byl implementován kodér i dekodér v obvodu FPGA. Reed-Solomonovy kódy používají operace nad Galoisovými tělesy (GF). Operace nad GF lze v obvodu FPGA implementovat efektivněji než pomocí standardních výpočetních jednotek. Převážně násobení GF
7 Obrázek 5: Blokové schéma koprocesoru pro Viterbiho algoritmus (převzato z [2]) je implementováno pouze pomocí hradel XOR a AND, namísto obecné násobičky. Operace nad GF na straně PC jsou velmi neefektivní. 4.1 Kodér Reed-Solomonova kódu Kodér pro systematický RS kód může být realizován pomocí lineárního zpětnovazebního registru LFSR (obr. 6), který provádí dělení generujícím mnohočlenem podle vztahu (1). x n k m(x) = q(x)g(x) + p(x) (1) Na vstup registru přichází datové symboly určené k zakódování následované počtem 2t nulových symbolů (což odpovídá výrazu x 2t m(x)). Na vstup přichází koeficienty v pořadí m k,..., m 1, m 0. Všechny datové cesty na obrázku jsou osmibitové. Před zahájením dělení je potřeba vynulovat všechny registry. Po načtení všech n symbolů (tj. po n hodinových cyklech) budou registry obsahovat hodnoty odpovídající zbytku po dělení generujícím mnohočlenem. K operaci zakódování jsou potřeba dvě operace nad konečným tělesem, a to sčítání a násobení. Sečtení dvou čísel v GF(256) je provedeno pomocí bitové operace xor. Násobení dvou čísel je provedeno následovně. Čísla z GF(256) lze vyjádřit pomocí mnohočlenu sedmého stupně s koeficienty z GF(2): A(x) = a 7 x 7 + a 6 x 6 + a 5 x 5 + a 4 x 4 + a 3 x 3 + a 2 x 2 + a 1 x + a 0 ; a i GF(2), A GF(256) Operace C = A B; A, B, C GF (256), lze vyjádřit v polynomiální reprezentaci jako C(x) = A(x) B(x) = A(x) B(x)modf(x) = D(x)modf(x), g0 g1 g2 g2t 1 data, 0,..., 0 D D D D Obrázek 6: RS kodér používající dělění generujícím polynomem.
8 kde polynomi A(x), B(x), C(x), D(x) jsou definovány jako: A(x) = a 7 x 7 + a 6 x a 0, (2) B(x) = b 7 x 7 + b 6 x b 0, (3) C(x) = c 7 x 7 + c 6 x c 0, (4) D(x) = d 14 x 14 + d 13 x d 0 (5) kde, a i, b i, c i, d j GF (2), mod je operace výpočet zbytku po dělení polynomem a je operace násobení polynomů. Uvedené vztahy pro násobení dvou čísel platí pro těleso GF(256) s primitivním polynomem f(x) = x 8 + x 4 + x 3 + x d 14 = a 7 b 7 d 13 = a 6 b 7 + a 7 b 6 d 12 = a 6 b 6 + a 7 b 5 + a 5 b 7 d 11 = a 6 b 5 + a 5 b 6 + a 7 b 4 + a 4 b 7 d 10 = a 7 b 3 + a 6 b 4 + a 3 b 7 + a 4 b 6 + a 5 b 5 d 9 = a 3 b 6 + a 6 b 3 + a 2 b 7 + a 7 b 2 + a 4 b 5 + a 5 b 4 d 8 = a 3 b 5 + a 7 b 1 + a 1 b 7 + a 2 b 6 + a 5 b 3 + a 6 b 2 + a 4 b 4 d 7 = a 4 b 3 + a 1 b 6 + a 0 b 7 + a 7 b 0 + a 2 b 5 + a 5 b 2 + a 3 b 4 + a 6 b 1 d 6 = a 6 b 0 + a 4 b 2 + a 2 b 4 + a 1 b 5 + a 0 b 6 + a 3 b 3 + a 5 b 1 d 5 = a 4 b 1 + a 1 b 4 + a 5 b 0 + a 3 b 2 + a 2 b 3 + a 0 b 5 d 4 = a 1 b 3 + a 2 b 2 + a 0 b 4 + a 4 b 0 + a 3 b 1 d 3 = a 1 b 2 + a 2 b 1 + a 3 b 0 + a 0 b 3 d 2 = a 0 b 2 + a 1 b 1 + a 2 b 0 d 1 = a 0 b 1 + a 1 b 0 d 0 = a 0 b 0 (6) V druhém kroku se provede určení zbytku po dělení primitivním mnohočlenem, pomocí kterého získáme mnohočlen sedmého stupně. Pomocí operace nalezení zbytku po dělení se provede zobrazení patnácti binárních koeficientů d 14,..., d 0 na osm (c 7,..., c 0 ). c 7 = d 7 + d 11 + d 12 + d 13 c 6 = d 6 + d 10 + d 11 + d 12 c 5 = d 5 + d 9 + d 10 + d 11 c 4 = d 4 + d 8 + d 9 + d 10 + d 14 c 3 = d 3 + d 8 + d 9 + d 11 + d 12 c 2 = d 2 + d 8 + d 10 + d 12 + d 13 c 1 = d 1 + d 9 + d 13 + d 14 c 0 = d 0 + d 8 + d 12 + d 13 + d 14 (7) Násobení dvou čísel vyžaduje 77 hradel XOR, 64 hradel AND. V případě kodéru se provádí pouze násobení konstantou (tj. koeficienty generujícího mnohočlenu). Násobení konstantou vyžaduje méně hardwarových prostředků než obecná násobička. Například násobení číslem 59 vyžaduje pouze 28 hradel XOR. 4.2 Dekodér Reed-Solomonova kódu Dekodér je založen na Berlekamp-Massey algoritmu pro určení lokalizačního a evaluačního mnohočlenu a na Forneyho algoritmu pro vyčíslení velikosti chyb. Tyto algoritmy tvoří kitickou
9 cestu algoritmu. Blokové schéma dekodéru je zobrazeno na Obrázku 7. data1,...,datan vypocet syndromu S1,..,S2t vypocet lokalizacniho a evaluacniho mnohoclenu (algoritmus Berlekamp Massey) L(x) E(x) pamet data1,...,datan nalezeni pozic chyb (nalezeni korenu lokalizacniho mnohoclenu) P1,...,Pv data1,...,datak oprava chyb M1,...,Mv vypocet velikosti chyb (Forneyho algoritmus) Obrázek 7: Blokové schéma RS dekodéru. Příchozí symboly (na obrázku označeny jako data 1,...,data n jsou uschovávány v paměti RAM. Symboly přicházejí v pořadí, v jakém vycházejí z kodéru, tj. nejprve datové symboly následované kontrolními symboly. Z příchozích symbolů se počítají hodnoty syndromů podle vztahu 8. Vzhledem k náročnosti implementace obecných mocnin v obvodu FPGA je nutné tyto vztahy převést podle Hornerova schématu. Tímto se úplně vyhneme mocnění, a tak lze výpočet velmi efektivně realizovat v FPGA. Stejná reprezentace vztahů je aplikován i v dalších krocích dekódování. S 1 = R(α 0 ) = (e 0 + e 1 x + + e n 2 x n 2 + e n 1 x n 1 ) x=α 0 S 2 = R(α 1 ) = (e 0 + e 1 x + + e n 2 x n 2 + e n 1 x n 1 ) x=α 1. S 2t = R(α 2t 1 ) = (e 0 + e 1 x + + e n 2 x n 2 + e n 1 x n 1 ) x=α 2t 1 (8) Z hodnot syndromů S 1,..., S 16 se následně určí pomocí algoritmu Berlekamp-Massey (viz A) lokalizační a evaluační mnohočlen (L(x) a E(x)). Po skončení algoritmu se pokračuje hledáním pozic chyb tak, že se postupným dosazováním všech prvků Galoisova tělesa do vztahu 9 hledají kořeny mnohočlenu. Hledání je tedy realizováno použitím takzvané hrubé síly. L(x) = 1 + l 1 x + l 2 x l v 1 x v 1 + l v x v ; x 1, 2,, 255 (9) Po nalezení pozic chyb se pokračuje výpočtem velikostí chyb pomocí Forneyho algoritmu. Oprava dat v paměti je provedena za podmínky, že 1) došlo alespoň k jedné chybě a 2) celkový počet chyb není větší než počet opravitelných chyb daného kódu. Implementace kodéru a dekodéru byla vyvinuta v rámci diplomové práce [8].
10 5 Výsledky Zde shrnujeme docílené výsledky implementace akcelerátorů pro podporu za prvé simulace dekódování blokového konvolučního kódu a za druhé simulace kódování a dekódování Reed- Solomonova kódu. Výsledky implementace akcelerátoru pro dekódování konvolučního kódu Výsledky implementací Viterbiho dekodéru jsou změřeny pro následující parametry dekódování: Použito Hard dekódování. Délka zpětného průchodu dekodéru je rovna délce dekódovaného rámce (bez použití sliding windows). K = 7 R = 1/2 G0 = G1 = Graf na obrázku 8 ukazuje závislost doby dekódování na délce datového rámce pro jednotlivé implementace akcelerátorů. Hodnoty doby dekódování byly naměřeny v prostředí Matlab pomocí funkcí tic a toc (na PC, CPU Intel Core2 2.4 Ghz, 2 GB RAM; Windows XP SP2), doby dekódování v DSP pomocí čítače procesoru DSP (zahrnuto je výpočet hranových metrik na straně DSP, přenos pomocí EDMA a doba dekódování koprocesoru - viz [2]) a doby dekódování v obvodu FPGA jsou přímo určeny na základě znalosti struktury implementace dekodéru a její mezní pracovní frekvence. Maximální pracovní frekvence implementace Viterbiho dekodéru na jednotlivých obvodech FPGA jsou uvedeny v tabulce 1. Hodnoty pracovních frekvencí jsou získány z reportů nástroje Quartus II. Obvod Cyclone nebyl pro implementaci Viterbiho dekodéru použit vzhledem k omezeným zdrojům obvodu. Jak bylo zmíněno výše, používá implementace akcelerátoru ke komunikaci s hostitelským systémem rozhraní ethernet. Řízení ethernetového rozhraní je implementováno ve stejném obvodu FPGA jako vlastní dekodér. Maximální pracovní frekvence řízení ethernetového rozhraní je 50 MHz, a proto je snížena i pracovní frekvence dekodéru. Optimalizace akcelerátoru pro využití maximální možné pracovní frekvence dekodéru bude součástí další práce. Na grafu (obr. 8) je závislost doby dekódování v obvodu FPGA vztažena k pracovní frekvenci 50 MHz. Průměrná doba potřebná pro odeslání (příjem) jednoho ethernetového rámce byla změřena na zmíněném hostitelském sytému a její hodnota je 0,148 ms. V jednom datovém rámci je možné zaslat až 1272 bytů. Obvod Stratix II (EP2S180F1020C3) Stratix (EP1S10F780C6) Max. pracovní frekvence 147,74 MHz 100,65 MHz Tabulka 1: Maximální pracovní frekvence implementace Viterbiho dekodéru v obvodu FPGA
11 10 3 Závislost doby dekódování na délce rámce DSP + VCP FPGA Maltab Doba dekódování [s] Délka rámce [b] Obrázek 8: Graf závislosti doby dekódování na délce rámce Výkon a latence dekodéru lze zlepšit vzhledem ke známým omezením stávající implementace (optimalizace dekodéru je součástí budoucí práce). Komunikace RTDX je zatížena poměrně velkou režií (doba obsluhy komunikačního kanálu) na zaslání jedné zprávy. Naměřená průměrná odezva dekódování jednoho rámce dat akcelerátorem přes RTDX je 0,94 s (součástí další práce bude optimalizace způsobu komunikace s akcelerátorem). Výsledky implementace akcelerátoru pro kódování a dekódování Reed-Solomonova kódu Doby kódování a dekódování byly naměřeny pro kód RS(255, 239, 8). V tabulce 2 a 3 jsou uvedeny doby kódování a dekódování v obvodu FPGA a v prostředí Matlab. Stejně jako v případě akcelerátoru pro dekódování konvolučního kódu je pracovní frekvence akcelerátoru pro kodér a dekodér omezena na 50 MHz. Maximální pracovní frekvence kodéru a dekodéru jsou uvedeny v tabulkách Jak je patrné z naměřených hodnot je hardwarová implementace Reed-Solomonova kodéru a dekodéru o několik řádů rychlejší než implementace v prostředí Matlab. Poděkování: Tato práce vznikla za podpory projektů číslo 1ET a 1ET Grantové agentury AV ČR.
12 Doba kódování (FPGA) Doba kódování (Matlab) 5,5 µs 1,2834 s Tabulka 2: Doba kódování jednoho vstupního slova pro kód RS(255, 239, 8) Doba dekódování (FPGA) Doba kódování (Matlab) 37,4 µs 1,7178 s Tabulka 3: Doba dekódování jednoho vstupního slova pro kód RS(255, 239, 8) Obvod FPGA Stratix II Stratix Cyclone f max 138,51 MHz 126,61 MHz 110,5 MHz Tabulka 4: Maximální pracovní frekvence kodéru pro kód RS(255, 239, 8) Obvod FPGA Stratix II Stratix Cyclone f max 98,35 MHz 72,9 MHz 71,41 MHz Tabulka 5: Maximální pracovní frekvence dekodéru pro kód RS(255, 239, 8)
13 Reference [1] Hanzo, L.; Liew, T. H.; Yean, B. L. Turbo Coding, Turbo Equalisation and Space-Time Coding for Transmission over Fading Channels. John Wiley, 2002 ISBN [2] Texas Instruments. TMS320C64x DSP, Viterbi-Decoder Coprocessor (VCP), Reference Guide [online]. Dostupné na WWW: [3] Altera. Nios Development Board Reference Manual, Cyclone Edition [online]. Dostupné na WWW: [4] Altera. Nios Development Board Reference Manual, Stratix Edition [online]. Dostupné na WWW: [5] Altera. Stratix II EP2S180 DSP Development Board Reference Manual [online]. Dostupné na WWW: [6] Texas Instruments. TMS320C6416T DSK, Technical Reference [online]. Dostupné na WWW: [7] SMSC. SMSC LAN91C111 Datasheet [online]. Dostupné na WWW: [8] DUŠEK, Josef. Návrh a implementace opravných kódů pro systém Orpheus, Praha, Diplomová práce na ČVUT FEL. Vedoucí diplomové práce Ing. Martin Daněk, Ph.D. Jan Kloub ÚTIA AV ČR, v.v.i. Pod Vodárenskou věží 4 Praha 8, kloub@utia.cas.cz Antonín Heřmánek ÚTIA AV ČR, v.v.i. Pod Vodárenskou věží 4 Praha 8, hermanek@utia.cas.cz
14 A Algoritmus Berlekamp-Massey Hodnota jak lokalizačního tak i evaluačního mnohočlenu může být nalezena iterativním způsobem, např. pomocí algoritmu Berlekamp-Massey. Původně, tak jak byl algoritmus navržen, sloužil jen pro výpočet lokalizačního mnohočlenu, ale lze ho použít i pro výpočet evaluačního mnohočlenu. Výpočet obou mnohočlenů pomocí tohoto algoritmu může být vyjádřen rekurentními rovnicemi: [ L (i) (x) A (i) (x) [ E (i) (x) C (i) (x) d i = l j=0 L (i 1) j S i j l i = δ(i l i 1 ) + (1 δ)l i 1 ] ] = = [ [ 1 d i x (1 δ)x δd 1 i 1 d i x (1 δ)x δd 1 i ] [ L (i 1) (x) A (i 1) (x) ] [ E (i 1) (x) C (i 1) (x) ] ] (10) Počáteční podmínky jsou Hodnota δ je definována jako L (0) (x) = 1, A (0) (x) = 1, E (0) (x) = 0, C (0) (x) = 1, l 0 = 0 (11) δ = { 1, když di 0 a zároveň 2l i 1 i 1 0, jinak Symbol L (i) (x), resp. E (i) (x) je hodnota lokalizačního resp. evaluačního mnohočlenu v i-tém kroku, obdobně A (i) (x), C (i) (x) jsou hodnoty pro pomocný lokalizační resp. evaluační mnohočlen, l i je stupeň L (i) (x) v i-tém kroku, d i je odchylka (v anglické literatuře označovaná discrepancy). Na základě odchylky d i se určí nová hodnota L (i) (x), E (i) (x). Lokalizační a evaluační mnohočlen jsou určeny po 2t iteracích, hodnoty se počítají pro i = 1, 2,..., 2t. Nalezení pozic chyb Po dokončení výpočtu mnohočlenu L(x) je potřeba nalézt jeho kořeny. To se provádí metodou hrubé síly v literatuře nazývané Chien search, která spočívá v tom, že se postupně dosazují za x všechny prvky z Galoisova tělesa GF(2 m ) kromě nuly, tj. vyčíslují se hodnoty L(1), L(2),..., L(2 m 1) a zaznamenávají se nalezené kořeny mnohočlenu, tedy hodnoty, pro které platí L(x) = 0. Pro nalezení pozic chyb P l je nutné kořeny lokalizačního mnohočlenu zinvertovat a zlogaritmovat, což znamená nalézt takové číslo k, pro které platí P l = α k, tedy log(p l ) = log(α k ) = k. Výpočet hodnot chyb Po nalezení pozic chyb je ještě potřeba vypočítat hodnoty velikosti chyb z mnohočlenu E(x). Výpočet se provádí pomocí Forneyho algoritmu (Forney Algorithm). Hodnota chyby M l, l
15 1,..., v je určena obecně vztahem: M l = 1 E(P P 1 l l ) L (P 1 l ) (12) L (x) značí derivaci lokalizačního mnohočlenu. Derivace mnohočlenu w(x) stupně v, w(x) = w 0 + w 1 x + w 2 x + + w v x v je v GF(2 m ) definována vztahem v L (x) = w 1 + w 3 x 2 + w 5 x vw v x v 1 = jw j x j 1 j=1 V případě RS kódu s kořeny generujícího mnohočlenu ve tvaru α 0, α 1,..., α 2t q lze rovnici 12 pro určení velikosti chyby M l vyjádřit M l = v j = 1 j l P l E(P 1 l ) (1 P j P 1 l ) (13) Při výpočtu hodnoty M i se do evaluačního mnohočlenu dosadí inverzní hodnota pozice l-té chyby a tato hodnota se vynásobí hodnotou pozice l-té chyby a následně podělí součinem výrazů přes všechny pozice chyb j rozdílné od pozice právě hledané velikosti chyby l. Oprava chyb Nyní jsou již známy všechny hodnoty potřebné k sestavení odhadu chybového mnohočlenu ê(x). Například pro hodnoty (M 1, P 1 ) = (α a, α k ) bude mít chybový mnohočlen ê(x) tvar ê(x) = α a x k. Chybový mnohočlen se sečte z mnohočlenem přijatého slova a získá se odhad Û(x) původně vyslaného mnohočlenu U(x) Û(x) = R(x) + ê(x) (14) Po odstranění kontrolních symbolů dostaneme odhad zdrojového mnohočlenu ˆm(x) ˆm(x) = Û(x)/xn k
Ochrana dat před shluky chyb, Berlekamp- Preparatův kód
749 9..7 Ochrana dat před shluky chyb, Berlekamp- Preparatův kód Ing. Vítězslav Křivánek, Ústav Telekomunikací Fakulta elektrotechniky a komunikačních technologií Vysoké Učení Technické v Brně, Purkyňova
Rok / Year: Svazek / Volume: Číslo / Issue: Turbo Blokové Kódy. Turbo block codes. Jakub Šedý, Pavel Šilhavý, Ondřej Krajsa, Ondřej Hrouza
Rok / Year: Svazek / Volume: Číslo / Issue: 2013 15 2 Turbo Blokové Kódy Turbo block codes Jakub Šedý, Pavel Šilhavý, Ondřej Krajsa, Ondřej Hrouza jakub.sedy@phd.feec.vutbr.cz Fakulta elektrotechniky a
Mikrokontroléry. Doplňující text pro POS K. D. 2001
Mikrokontroléry Doplňující text pro POS K. D. 2001 Úvod Mikrokontroléry, jinak též označované jako jednočipové mikropočítače, obsahují v jediném pouzdře všechny podstatné části mikropočítače: Řadič a aritmetickou
FPGA + mikroprocesorové jádro:
Úvod: V tomto dokumentu je stručný popis programovatelných obvodů od firmy ALTERA www.altera.com, které umožňují realizovat číslicové systémy s procesorem v jenom programovatelném integrovaném obvodu (SOPC
ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14
ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 14 0:40 1.3. Vliv hardware počítače na programování Vliv
Architektura počítače
Architektura počítače Výpočetní systém HIERARCHICKÁ STRUKTURA Úroveň aplikačních programů Úroveň obecných funkčních programů Úroveň vyšších programovacích jazyků a prostředí Úroveň základních programovacích
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
Semestrální práce z předmětu Speciální číslicové systémy X31SCS
Semestrální práce z předmětu Speciální číslicové systémy X31SCS Katedra obvodů DSP16411 ZPRACOVAL: Roman Holubec Školní rok: 2006/2007 Úvod DSP16411 patří do rodiny DSP16411 rozšiřuje DSP16410 o vyšší
Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC
Informační systémy 2 Obsah: Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC ROM RAM Paměti typu CACHE IS2-4 1 Dnešní info: Informační systémy 2 03 Informační systémy
FVZ K13138-TACR-V004-G-TRIGGER_BOX
TriggerBox Souhrn hlavních funkcí Synchronizace přes Ethernetový protokol IEEE 1588 v2 PTP Automatické určení možnosti, zda SyncCore zastává roli PTP master nebo PTP slave dle mechanizmů standardu PTP
Zpracování obrazu v FPGA. Leoš Maršálek ATEsystem s.r.o.
Zpracování obrazu v FPGA Leoš Maršálek ATEsystem s.r.o. Základní pojmy PROCESOROVÉ ČIPY Křemíkový čip zpracovávající obecné instrukce Různé architektury, pracují s různými paměti Výkon instrukcí je závislý
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,
Konvolučníkódy. MI-AAK(Aritmetika a kódy)
MI-AAK(Aritmetika a kódy) Konvolučníkódy c doc. Ing. Alois Pluháček, CSc., 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Evropský sociální fond Praha&
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ý
SYSTÉMY NAČIPU MI-SOC
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti SYSTÉMY NAČIPU MI-SOC doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii ČVUT v Praze Hana Kubátová
Řízení IO přenosů DMA řadičem
Řízení IO přenosů DMA řadičem Doplňující text pro POT K. D. 2001 DMA řadič Při přímém řízení IO operací procesorem i při použití přerušovacího systému je rychlost přenosu dat mezi IO řadičem a pamětí limitována
3. Aritmetika nad F p a F 2
3. Aritmetika nad F p a F 2 m Dr.-Ing. Martin Novotný Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze c Martin Novotný, 2011 MI-BHW Bezpečnost a technické
U Úvod do modelování a simulace systémů
U Úvod do modelování a simulace systémů Vyšetřování rozsáhlých soustav mnohdy nelze provádět analytickým výpočtem.často je nutné zkoumat chování zařízení v mezních situacích, do kterých se skutečné zařízení
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
PROCESOR. Typy procesorů
PROCESOR Procesor je ústřední výkonnou jednotkou počítače, která čte z paměti instrukce a na jejich základě vykonává program. Primárním úkolem procesoru je řídit činnost ostatních částí počítače včetně
Pohled do nitra mikroprocesoru Josef Horálek
Pohled do nitra mikroprocesoru Josef Horálek Z čeho vycházíme = Vycházíme z Von Neumannovy architektury = Celý počítač se tak skládá z pěti koncepčních bloků: = Operační paměť = Programový řadič = Aritmeticko-logická
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:
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
Architektura počítačů Logické obvody
Architektura počítačů Logické obvody http://d3s.mff.cuni.cz/teaching/computer_architecture/ Lubomír Bulej bulej@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Digitální
Gymnázium Vysoké Mýto nám. Vaňorného 163, 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. Petr
ZABEZPEČENÍ PŘENOSU DAT BCH KÓDY DATA TRANSMITION SECURITY WITH BCH CODES
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF TELECOMMUNICATIONS
1 Nejkratší cesta grafem
Bakalářské zkoušky (příklady otázek) podzim 2014 1 Nejkratší cesta grafem 1. Uvažujte graf s kladným ohodnocením hran (délka). Definujte formálně problém hledání nejkratší cesty mezi dvěma uzly tohoto
maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést
Úlohy k zamyšlení 1. Zdůvodněte, proč třetí řádek Hornerova schématu pro vyhodnocení polynomu p v bodě c obsahuje koeficienty polynomu r, pro který platí p(x) = (x c) r(x) + p(c). 2. Dokažte, že pokud
[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
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
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 CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT Mgr. Jana Kubcová Název
ARCHITEKTURA SYSTÉMU PRO DYNAMICKY REKONFIGUROVATELNÝ KOMUNIKAČNÍ TERMINÁL
ARCHITEKTURA SYSTÉMU PRO DYNAMICKY REKONFIGUROVATELNÝ KOMUNIKAČNÍ TERMINÁL Jan Kloub Informatika a výpočetní technika, 2 ročník, distanční Školitel: doc. Ing. Hana Kubátová, CSc. Školitel specialista:
Architektura počítačů Logické obvody
Architektura počítačů Logické obvody http://d3s.mff.cuni.cz/teaching/computer_architecture/ Lubomír Bulej bulej@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics 2/36 Digitální
Disková pole (RAID) 1
Disková pole (RAID) 1 Architektury RAID Důvod zavedení RAID: reakce na zvyšující se rychlost procesoru. Pozice diskové paměti v klasickém personálním počítači vyhovuje pro aplikace s jedním uživatelem.
MSP 430F1611. Jiří Kašpar. Charakteristika
MSP 430F1611 Charakteristika Mikroprocesor MSP430F1611 je 16 bitový, RISC struktura s von-neumannovou architekturou. Na mikroprocesor má neuvěřitelně velkou RAM paměť 10KB, 48KB + 256B FLASH paměť. Takže
Architektura počítačů
Architektura počítačů Studijní materiál pro předmět Architektury počítačů Ing. Petr Olivka katedra informatiky FEI VŠB-TU Ostrava email: petr.olivka@vsb.cz Ostrava, 2010 1 1 Architektura počítačů Pojem
Další aspekty architektur CISC a RISC Aktuálnost obsahu registru
Cíl přednášky: Vysvětlit principy práce s registry v architekturách RISC a CISC, upozornit na rozdíly. Vysvětlit možnosti využívání sad registrů. Zabývat se principy využívanými v procesorech Intel. Zabývat
Principy komunikace s adaptéry periferních zařízení (PZ)
Principy komunikace s adaptéry periferních zařízení (PZ) Několik možností kategorizace principů komunikace s externími adaptéry, např.: 1. Podle způsobu adresace registrů, které jsou součástí adaptérů.
Systém řízení sběrnice
Systém řízení sběrnice Sběrnice je komunikační cesta, která spojuje dvě či více zařízení. V určitý okamžik je možné aby pouze jedno z připojených zařízení vložilo na sběrnici data. Vložená data pak mohou
MĚŘENÍ A ANALÝZA ELEKTROAKUSTICKÝCH SOUSTAV NA MODELECH. Petr Kopecký ČVUT, Fakulta elektrotechnická, Katedra Radioelektroniky
MĚŘENÍ A ANALÝZA ELEKTROAKUSTICKÝCH SOUSTAV NA MODELECH Petr Kopecký ČVUT, Fakulta elektrotechnická, Katedra Radioelektroniky Při návrhu elektroakustických soustav, ale i jiných systémů, je vhodné nejprve
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
Paralelní výpočty ve finančnictví
Paralelní výpočty ve finančnictví Jan Houška HUMUSOFT s.r.o. houska@humusoft.cz Výpočetně náročné úlohy distribuované úlohy mnoho relativně nezávislých úloh snížení zatížení klientské pracovní stanice
Disková pole (RAID) 1
Disková pole (RAID) 1 Architektury RAID Důvod zavedení RAID: reakce na zvyšující se rychlost procesoru. Pozice diskové paměti v klasickém personálním počítači vyhovuje pro aplikace s jedním uživatelem.
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
Profilová část maturitní zkoušky 2014/2015
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2014/2015 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 26-41-M/01 Elektrotechnika Zaměření: technika
AGP - Accelerated Graphics Port
AGP - Accelerated Graphics Port Grafiku 3D a video bylo možné v jisté vývojové etapě techniky pracovních stanic provozovat pouze na kvalitních pracovních stanicích (cena 20 000 USD a více) - AGP představuje
SEKVENČNÍ LOGICKÉ OBVODY
Sekvenční logický obvod je elektronický obvod složený z logických členů. Sekvenční obvod se skládá ze dvou částí kombinační a paměťové. Abychom mohli určit hodnotu výstupní proměnné, je potřeba u sekvenčních
GRAFICKÉ ROZHRANÍ V MATLABU PRO ŘÍZENÍ DIGITÁLNÍHO DETEKTORU PROSTŘEDNICTVÍM RS232 LINKY
GRAFICKÉ ROZHRANÍ V MATLABU PRO ŘÍZENÍ DIGITÁLNÍHO DETEKTORU PROSTŘEDNICTVÍM RS232 LINKY Jiří Šebesta Ústav radioelektroniky, Fakulta elektroniky a komunikačních technologií Vysoké učení technické v Brně
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
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 TECHNICKÉ VYBAVENÍ POČÍTAČŮ
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 TECHNICKÉ VYBAVENÍ POČÍTAČŮ 1) INFORMACE VE VÝPOČETNÍ TECHNICE 3 2) POČÍTAČOVÉ ARCHITEKTURY, POČÍTAČ JAKO ČÍSLICOVÝ STROJ 3 3) SIGNÁLY 3
Organizace předmětu, podmínky pro získání klasifikovaného zápočtu
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Ing. Radek Sedláček, Ph.D., katedra měření K13138 Organizace předmětu, podmínky pro získání klasifikovaného zápočtu Kurz A0B38FPGA Aplikace
Z{kladní struktura počítače
Z{kladní struktura počítače Cílem této kapitoly je sezn{mit se s různými strukturami počítače, které využív{ výpočetní technika v současnosti. Klíčové pojmy: Von Neumannova struktura počítače, Harvardská
[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.
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
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á
Kryptoanalýza šifry PRESENT pomocí rekonfigurovatelného hardware COPACOBANA
Kryptoanalýza šifry PRESENT pomocí rekonfigurovatelného hardware COPACOBANA Jan Pospíšil, pospij17@fit.cvut.cz, Martin Novotný, novotnym@fit.cvut.cz Katedra číslicového návrhu Fakulta informačních technologíı
Struktura a architektura počítačů (BI-SAP) 5
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 5 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii
a a
1.. Cíle V této kapitole se naučíme určovat zejména celočíselné kořeny některých polynomů. Výklad Při výpočtu hodnoty polynomu n k p( x) = ak x n-tého stupně n 1 v bodě x 0 C k = 0 musíme provést ( n 1)
Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012
Přednáška Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského
VÝVOJ ŘÍDICÍCH ALGORITMŮ HYDRAULICKÝCH POHONŮ S VYUŽITÍM SIGNÁLOVÉHO PROCESORU DSPACE
VÝVOJ ŘÍDICÍCH ALGORITMŮ HYDRAULICKÝCH POHONŮ S VYUŽITÍM SIGNÁLOVÉHO PROCESORU DSPACE Přednáška na semináři CAHP v Praze 4.9.2013 Prof. Ing. Petr Noskievič, CSc. Ing. Miroslav Mahdal, Ph.D. Katedra automatizační
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
Dynamické programování
Dynamické programování prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)
VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy
VÝUKOVÝ MATERIÁL Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková
Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2
Základy informatiky 2. Přednáška HW Lenka Carr Motyčková February 22, 2011 Základy informatiky 1 February 22, 2011 Základy informatiky 2 February 22, 2011 Základy informatiky 3 February 22, 2011 Základy
Architektura Intel Atom
Architektura Intel Atom Štěpán Sojka 5. prosince 2008 1 Úvod Hlavní rysem Atomu je podpora platformy x86, která umožňuje spouštět a běžně používat řadu let vyvíjené aplikace, na které jsou uživatelé zvyklí
2D transformací. červen Odvození transformačního klíče vybraných 2D transformací Metody vyrovnání... 2
Výpočet transformačních koeficinetů vybraných 2D transformací Jan Ježek červen 2008 Obsah Odvození transformačního klíče vybraných 2D transformací 2 Meto vyrovnání 2 2 Obecné vyjádření lineárních 2D transformací
Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard
Základní deska (1) Označována také jako mainboard, motherboard Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje: procesor (mikroprocesor) patici pro numerický koprocesor (resp. osazený
Úvod do architektur personálních počítačů
Úvod do architektur personálních počítačů 1 Cíl přednášky Popsat principy proudového zpracování informace. Popsat principy zřetězeného zpracování instrukcí. Zabývat se způsoby uplatnění tohoto principu
Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.
Základní principy konstrukce systémové sběrnice - shrnutí Shrnout základní principy konstrukce a fungování systémových sběrnic. 1 Co je to systémová sběrnice? Systémová sběrnice je prostředek sloužící
Jak do počítače. aneb. Co je vlastně uvnitř
Jak do počítače aneb Co je vlastně uvnitř Po odkrytí svrchních desek uvidíme... Von Neumannovo schéma Řadič ALU Vstupně/výstupní zař. Operační paměť Počítač je zařízení, které vstupní údaje transformuje
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
CITLIVOSTNÍ ANALÝZA DYNAMICKÝCH SYSTÉMŮ I
Informačné a automatizačné technológie v riadení kvality produkcie Vernár,.-4. 9. 005 CITLIVOSTNÍ ANALÝZA DYNAMICKÝCH SYSTÉMŮ I KÜNZEL GUNNAR Abstrakt Příspěvek uvádí základní definice, fyzikální interpretaci
Globální matice konstrukce
Globální matice konstrukce Z matic tuhosti a hmotnosti jednotlivých prvků lze sestavit globální matici tuhosti a globální matici hmotnosti konstrukce, které se využijí v řešení základní rovnice MKP: [m]{
Princip funkce počítače
Princip funkce počítače Princip funkce počítače prvotní úlohou počítačů bylo zrychlit provádění matematických výpočtů první počítače kopírovaly obvyklý postup manuálního provádění výpočtů pokyny pro zpracování
2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu
Název školy Číslo projektu Autor Název šablony Název DUMu Tematická oblast Předmět Druh učebního materiálu Anotace Vybavení, pomůcky Ověřeno ve výuce dne, třída Střední průmyslová škola strojnická Vsetín
Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.
Základní pojmy IT, číselné soustavy, logické funkce Základní pojmy Počítač: Stroj na zpracování informací Informace: 1. data, která se strojově zpracovávají 2. vše co nám nebo něčemu podává (popř. předává)
Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC
Informatika 2 Technické prostředky počítačové techniky - 2 Přednáší: doc. Ing. Jan Skrbek, Dr. - KIN Přednášky: středa 14 20 15 55 Spojení: e-mail: jan.skrbek@tul.cz 16 10 17 45 tel.: 48 535 2442 Obsah:
Základní deska (1) Označována také jako mainboard, motherboard. Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje:
Základní deska (1) Označována také jako mainboard, motherboard Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje: procesor (mikroprocesor) patici pro numerický koprocesor (resp. osazený
Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus
Činnost CPU Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus Hodinový cyklus CPU je synchronní obvod nutné hodiny (f CLK ) Instrukční cyklus IF = doba potřebná
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
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
VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ
VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ Michal Kořenář 1 Abstrakt Rozvoj výpočetní techniky v poslední době umožnil také rozvoj výpočetních metod, které nejsou založeny na bázi
Numerická matematika 1
Numerická matematika 1 Obsah 1 Řešení nelineárních rovnic 3 1.1 Metoda půlení intervalu....................... 3 1.2 Metoda jednoduché iterace..................... 4 1.3 Newtonova metoda..........................
Architektury počítačů
Architektury počítačů skupina Identifyingvýzkumná the Interesting Points in Geometrical Figures of Certain Class Vysoké učení technické v Brně, Fakulta informačních technologií, Božetěchova 2, 612 66 Brno
Markov Chain Monte Carlo. Jan Kracík.
Markov Chain Monte Carlo Jan Kracík jan.kracik@vsb.cz Princip Monte Carlo integrace Cílem je (přibližný) výpočet integrálu I(g) = E f [g(x)] = g(x)f (x)dx. (1) Umíme-li generovat nezávislé vzorky x (1),
PARAMETRICKÁ STUDIE VÝPOČTU KOMBINACE JEDNOKOMPONENTNÍCH ÚČINKŮ ZATÍŽENÍ
PARAMETRICKÁ STUDIE VÝPOČTU KOMBINACE JEDNOKOMPONENTNÍCH ÚČINKŮ ZATÍŽENÍ Ing. David KUDLÁČEK, Katedra stavební mechaniky, Fakulta stavební, VŠB TUO, Ludvíka Podéště 1875, 708 33 Ostrava Poruba, tel.: 59
Kódování Obsah. Reedovy-Solomonovy kódy. Radim Farana Podklady pro výuku. Cyklické kódy.
.9.4 Kódování Radim Farana Podklady pro výuku Obsah Cyklické kódy. Reedovy-Solomonovy kódy Reedovy-Solomonovy kódy Byly vytvořeny v roce 96 v Lincolnově laboratoři na Massachusetts Institute of echnology.
Profilová část maturitní zkoušky 2015/2016
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2015/2016 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 26-41-M/01 Elektrotechnika Zaměření: technika
Katedra informatiky a výpočetní techniky. 10. prosince Ing. Tomáš Zahradnický doc. Ing. Róbert Lórencz, CSc.
Katedra informatiky a výpočetní techniky České vysoké učení technické, fakulta elektrotechnická Ing. Tomáš Zahradnický doc. Ing. Róbert Lórencz, CSc. 10. prosince 2007 Pamět ové banky S výhodou používáme
Přehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur
Přehled paralelních architektur Přehled paralelních architektur Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur Přehled I. paralelní počítače se konstruují
Hardwarové zpracování obrazu
Hardwarové zpracování obrazu Cíle kapitoly: Zpracování obrazu na vývojové desce TI DaVinci řešící náročné výpočty v reálném čase 1 Teoretický úvod Prakticky můžeme zpracování obrazu rozdělit na zpracování
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
Integrovaná střední škola, Sokolnice 496
Integrovaná střední škola, Sokolnice 496 Název projektu: Moderní škola Registrační číslo: CZ.1.07/1.5.00/34.0467 Název klíčové aktivity: III/2 - Inovace a zkvalitnění výuky prostřednictvím ICT Kód výstupu:
Ro R dina procesor pr ů Int In e t l Nehalem Šmída Mojmír, SMI108 PAP PA 2009
Rodina procesorů Intel Nehalem Šmída Mojmír, SMI108 PAP 2009 Obsah: Úvod Nejpodstatnější prvky Nehalemu (i7 900) Nehalem ve střední třídě (i7 800, i5 700) Výkon Závěr Úvod Nhl Nehalem staví na úspěšné
Stanovení nejistot při výpočtu kontaminace zasaženého území
Stanovení nejistot při výpočtu kontaminace zasaženého území Michal Balatka Abstrakt Hodnocení ekologického rizika kontaminovaných území představuje komplexní úlohu, která vyžaduje celou řadu vstupních
Vstupně výstupní moduly. 13.přednáška
Vstupně výstupní moduly 13.přednáška Vstupně-výstupn výstupní modul (I/O modul) Přídavná zařízení sloužící ke vstupu a výstupu dat nebo k uchovávání a archivaci dat Nejsou připojována ke sběrnici přímo,
Disková pole (RAID) 1
Disková pole (RAID) 1 Architektury RAID Základní myšlenka: snaha o zpracování dat paralelně. Pozice diskové paměti v klasickém personálním počítači vyhovuje pro aplikace s jedním uživatelem. Řešení: data
Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer
Přednáška A3B38MMP Bloky mikropočítače vestavné aplikace, dohlížecí obvody 2015, kat. měření, ČVUT - FEL, Praha J. Fischer A3B38MMP, 2015, J.Fischer, kat. měření, ČVUT - FEL Praha 1 Hlavní bloky procesoru
VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ
VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ Stanislav Flígl Katedra elektrických pohonů a trakce (K13114),