FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ
|
|
- Drahomíra Marková
- před 8 lety
- Počet zobrazení:
Transkript
1 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 POKROČILÉ METODY KÓDOVÁNÍ ŘEČI NA SIGNÁLOVÉM PROCESORU DIPLOMOVÁ PRÁCE MASTER S THESIS AUTOR PRÁCE AUTHOR Bc. MAREK ZAJÍČEK
2 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 POKROČILÉ METODY KÓDOVÁNÍ ŘEČI NA SIGNÁLOVÉM PROCESORU ADVANCED METHODS OF SPEECH CODING IMPLEMENTED ON DIGITAL SIGNAL PROCESSOR DIPLOMOVÁ PRÁCE MASTER S THESIS AUTOR PRÁCE AUTHOR VEDOUCÍ PRÁCE SUPERVISOR Bc. MAREK ZAJÍČEK prof. Ing. ZDENĚK SMÉKAL, CSc. BRNO 2011
3 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta elektrotechniky a komunikačních technologií Ústav telekomunikací Diplomová práce magisterský navazující studijní obor Telekomunikační a informační technika Student: Bc. Marek Zajíček ID: Ročník: 2 Akademický rok: 2010/2011 NÁZEV TÉMATU: Pokročilé metody kódování řeči v signálovém procesoru POKYNY PRO VYPRACOVÁNÍ: Cílem diplomové práce je prostudovat pokročilé techniky kódování řečí s proměnnou šířkou pásma používané při mobilní komunikaci. Bude nutné přizpůsobit navržené metody a algoritmy reálnému provozu v rozlehlých počítačových sítích pro účely přenosu řeči (VoIP). Dále bude vybraná metoda simulována ve vhodném vývojovém prostředí (Matlab/CodeComposer) a implementována v signálovém procesoru TI TMS320C64xx. Signálový procesor pak bude začleněn do funkčního systému hlasové komunikace HiPath 4000 od společnosti Siemens. DOPORUČENÁ LITERATURA: [1] SMÉKAL, Z.: Číslicové zpracování signálu (MCSI). Elektronické učební texty pro magisterské studium, VUT Brno, [2] PSUTKA, J., MULLER, L., MATOUŠEK, J., RADOVÁ, V.: Mluvíme s počítačem česky. Academia, Praha ISBN [3] KUO, S. M., GAN, W. S.: Digital Signal Procesors-Architectures, Implementations, and Applications. Pearson Prentice Hall, New Jersey, Termín zadání: Termín odevzdání: Vedoucí práce: prof. Ing. Zdeněk Smékal, CSc. prof. Ing. Kamil Vrba, CSc. Předseda oborové rady UPOZORNĚNÍ: Autor diplomové práce nesmí při vytváření diplomové práce porušit autorská práva třetích osob, zejména nesmí zasahovat nedovoleným způsobem do cizích autorských práv osobnostních a musí si být plně vědom následků porušení ustanovení 11 a následujících autorského zákona č. 121/2000 Sb., včetně možných trestněprávních důsledků vyplývajících z ustanovení části druhé, hlavy VI. díl 4 Trestního zákoníku č.40/2009 Sb.
4 ABSTRAKT Tato diplomová práce pojednává o praktickém použití kodeku AMR-WB (Adaptive Multi Rate - Wide Band) a jeho implementaci na signálový procesor, jež je integrován ve funkčním systému hlasové komunikace Siemens HiPath První část práce je zaměřena na popis širokopásmového kódování, zejména kodéru a dekodéru. Druhá část je věnována z části signálovým procesorům a posléze navazuje na praktickou část implementace, jež je řešena od přípravných prací až po optimalizaci funkčního finálního řešení. KLÍČOVÁ SLOVA širokopásmové kódování, číslicové zpracování signálů, v-tabulka, algebraická kódová kniha, XDAS, řízení paměti, implementace ABSTRACT This master thesis describes the practical usage of AMR-WB (Adaptive Multi Rate - Wide Band) codec and its implementation on a digital signal processor which is integrated in functional voice communication system Siemens HiPath The first part is focused on the complete codec description, especially on an encoder and decoder. The second part partly describes signal processors and then is followed by the practical part of the implementation which is solved from the preliminary activities up to the optimalization of the final functional solution. KEYWORDS wide-band coding, digital signal processing, v-table, algebraic codebook, XDAS, memory management, implementation ZAJÍČEK, Marek Pokročilé metody kódování řeči na signálovém procesoru: diplomová práce. Brno: Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, Ústav telekomunikací, s. Vedoucí práce byl prof. Ing. Zdeněk Smékal, CSc.
5 PROHLÁŠENÍ Prohlašuji, že svou diplomovou práci na téma Pokročilé metody kódování řeči na signálovém procesoru jsem vypracoval samostatně pod vedením vedoucího diplomové práce a s použitím odborné literatury a dalších informačních zdrojů, které jsou všechny citovány v práci a uvedeny v seznamu literatury na konci práce. Jako autor uvedené diplomové práce dále prohlašuji, že v souvislosti s vytvořením této diplomové práce jsem neporušil autorská práva třetích osob, zejména jsem nezasáhl nedovoleným způsobem do cizích autorských práv osobnostních a jsem si plně vědom následků porušení ustanovení 11 a následujících autorského zákona č. 121/2000 Sb., včetně možných trestněprávních důsledků vyplývajících z ustanovení 152 trestního zákona č. 140/1961 Sb. Brno (podpis autora)
6 Tímto bych chtěl poděkovat vedoucímu práce panu prof. Ing. Zdeňku Smékalovi, CSc. za ochotu, trpělivost a cenné rady při vypracování této diplomové práce. Dále bych chtěl poděkovat za morální podporu svým příbuzným a přátelům, a rovněž mým spolupracovníkům za technickou podporu a motivaci při řešení problematiky této práce.
7 OBSAH Úvod 10 1 Širokopásmové kódování řeči Úvod Použití AMR-WB kodeku Popis vybraných částí kodeku AMR-WB Algoritmus ACELP Algoritmický popis kodéru Algoritmický popis dekodéru Signálové procesory Úvod Architektura DSP procesorů Von Neumannova architektura Harvardská architektura LIW a VLIW architektura Superskalární architektura Architektura paralelních systémů Popis procesoru TI TMS320C Centrální řídící jednotka (CPU) Datové cesty Funkční jednotky Univerzální registry Řídicí registry Interní paměť Periférie Řešení diplomové práce Integrační prostředí Charakteristika systému Siemens HiPath Hardware a funkcionality systému HiPath NCUI/STMI board Příprava k implementaci Testování funkčnosti AMR-WB kodeku Implementace generátoru harmonického signálu XDAS standard IALG rozhraní
8 3.3.2 Funkce algalloc() Funkce alginit() Funkce algfree() Funkce encode() a control() V-tabulka Mapování paměti Implementace kodeku Úvod Aplikace Clear Case Varianty implementace Hlasový kanál Rozhraní kodéru a dekodéru Vysílání a příjem RTP paketů Optimalizace implementace Testování hovorů Závěr 52 Literatura 54 Seznam symbolů, veličin a zkratek 55 Seznam příloh 59 A Bloková schémata 60 B Obsah CD 64 B.1 Elektronické dokumenty B.2 Technická dokumentace
9 SEZNAM OBRÁZKŮ 2.1 DSP procesory TI TMS320C Blokové schéma DSP procesoru TMS320C6416 T M [5] HiPath 4000 v provedení Compact PCI Duplex NCUI4 karta s detailem modulu PDMX Konzolová aplikace pro testování funkčnosti kodeku G Topologie sítě pro scénář generování vf tónu Aplikace, implementace a v-tabulka Okno aplikace Clear Case Nastavení ConfigSpec aplikace Clear Case Version Tree View Aplikace API Test Suite Schéma propojení síťových prvků pro scénář č Schéma propojení síťových prvků pro scénář č A.1 Struktura hlasového kanálu A.2 Blokové schéma AMR-WB kodéru A.3 Blokové schéma AMR-WB dekodéru [2]
10 SEZNAM TABULEK 1.1 Přiřazení algebraických kódových knih k bitovým rychlostem Bitová alokace pro jednotlivé módy kodeku AMR-WB dle [2]
11 ÚVOD Diplomová práce navazuje na bakalářskou práci, kde se autor zabýval teoretickým rozborem širokopásmových technik kódování řeči. Konkétně se jednalo o kodeky s proměnlivou bitovou rychlostí, evropskou variantu AMR-WB a americkou variantu VMR-WB. Úvodní část je proto zaměřena na tuto problematiku, zejména na základ této technologie kódování ACELP, popis kódovací a dekódovací části kodeku AMR-WB. Další kapitola pojednává o DSP procesorech, historickém vývoji číslicových procesorů, jejich architektuře a použití při zpracování signálů. Je zahrnut také popis a specifikace konkrétního procesoru, jež bude použit při implementaci AMR-WB kodeku. Poslední část diplomové práce se zabývá praktickou stránkou implementace, popisuje průběh implementace od přípravných aktivit přes vlastní implementaci na signálový procesor až po optimalizaci finálního řešení s naznačením dalších budoucích aktivit. Cílem této diplomové práce je návrh a implementace širokopásmového kodeku AMR-WB s proměnlivou bitovou rychlostí na signálový procesor Texas Instruments TMS320C6416T s pevnou řadovou čárkou, jenž je integrován v telekomunikačním systému HiPath Pro korektní implementaci bude nutno algoritmus širokopásmového kodeku přizpůsobit standardům pro implementaci algoritmu na signálový procesor (XDAS). Pozornost bude věnována také vhodné integraci AMR-WB kodeku do systémového softwaru ústředny, zejména pak jeho navázání na RTP datový tok. Neméně důležitou částí bude bezpochyby optimalizace finálního řešení tak, aby byla zaručena stabilita a výkonnost systému, která umožní budoucí nasazení této implementace do komerční verze softwaru. 10
12 1 ŠIROKOPÁSMOVÉ KÓDOVÁNÍ ŘEČI 1.1 Úvod Hlavním důvodem vzniku širokopásmového kódování bylo omezení mobilních sítí druhé a třetí generace spočívající v šířce hovorového pásma od Hz. Dalším důvodem byl bouřlivý a neustálý rozvoj těchto sítí, které byly ve svých počátcích používány hlavně pro přenos hlasu. S rozvojem internetu a nižším uživatelským nákladům se pak začaly tyto technologie hojně využívat pro přenos dat, multimédií a vysokorychlostních datových služeb. Zavedení rozšířené hovorové šířky pásma od 50 do 7000 Hz umožňuje podstatně lepší hovorovou kvalitu a přirozenost hlasu. Oproti úzkému hovorovému pásmu přispívá nízkofrekvenční rozšíření od 50 do 200 Hz k lepšímu vykreslení spektra v okolí prvního formantu (základního tónu). Vysokofrekvenční rozšíření od 3,4 khz do 7 khz poskytuje lepší vykreslení neznělých hlásek a tím lepší srozumitelnost. Celková šířka pásma od 50 do 7000 Hz zlepšuje srozumitelnost, dává pocit přirozené řeči a jednodušší rozpoznání na výstupu reproduktoru nebo sluchátka. Širokopásmový kodek byl vyvíjen od roku 1999 organizacemi 3GPP a ETSI pro WCDMA 3G a GSM systémy. Po téměř dvou letech intenzivního vývoje a dvou fázích výběru kodeků byl organizacemi 3GPP/ETSI vybrán v prosinci 2000 algoritmus širokopásmového kodeku. Následné specifikace hovorového kodeku byly dokončeny a schváleny v březnu Schválený kodek je adaptivní kodek, který je schopen provozu s velkým množstvím hovorových kódovacích přenosových rychlostí (celkem osm) od 6,6 do 23,85 kbit/s. Kodek byl nazván jako Adaptive Multi Rate Wide-Band (AMR-WB) kodek. Mezi další funkcionality patří detektor hlasové aktivity (VAD), volitelná funkce nesouvislého přenosu (DTX) pro GSM, zdrojová regulace přenosové rychlosti (SCR) pro 3G sítě, vnitropásmová signalizace přenosu režimů kodeku a spojovací přizpůsobení pro ovládání výběru režimů. AMR-WB kodek upravuje přiřazení přenosové rychlosti mezi hovorové a kanálové kódování s tím, že optimalizuje kvalitu hovoru dle směrodatných podmínek rádiového kanálu. AMR-WB je velmi odolný vůči přenosovým chybám způsobených vícerychlostními operacemi a přizpůsobením provozním podmínkám kanálu. Schválení a následná standardizace kodeku AMR-WB byla velmi významná, neboť poprvé byl stejný kodek použit jak pro bezdrátové přenosy, tak pro klasické přenosy metalickými vedeními. 11
13 1.2 Použití AMR-WB kodeku Cílem vývoje AMR-WB kodeku byly tyto požadavky: použití v mobilních sítích třetí generace vysoká kvalita telefonie přes širokopásmové paketové sítě a ISDN audio a video telekonference internetové aplikace digitální vysílání Mobilní sítě 3G Poskytování multimediálních služeb je jedním z hlavních cílů 3G mobilních komunikací. To znamená použití vysoce kvalitního audia a řeči v multimediálním obsahu. I v aplikacích 3G hlasové telefonie je to důležitý krok pro poskytovatele služeb k zajištění hovorové kvality překonávající tradiční PSTN sítě. Hovorová kvalita VoIP a ISDN telefonie Širokopásmové paketové sítě a technologie ISDN jsou koncové digitální sítě, které umožňují dodávku vysoce kvalitní telefonie nabízené poskytovateli služeb, převažující nad tradičními úzkopásmovými veřejnými sítěmi. Tyto paketové sítě zahrnují technologie xdsl, ATM, Frame Relay a širokopásmovou ISDN. Protokoly na bázi IP pro přenos dat mohou být pak použity pro přenos hlasových signálů v reálném čase. Audio a video telekonference Širokopásmové kódování řeči zvyšuje zvukovou kvalitu při audio a video telekonferencích, reproduktorový poslech a realističtější podání aktuální audio scény při hovoru přes ISDN nebo VoIP. Internetové aplikace Širokopásmová telefonie může vylepšit některé internetové aplikace jako jsou např.: TV vysílání a videostreaming, prostředí virtuální reality, multimediální nástroje pracující v reálném čase, archivování a distribuci povídek a síťově založené výukové aplikace typu e-learning. Digitální TV a rozhlasové vysílání Širokopásmová řeč může být taktéž použita pro digitální rozhlasové vysílání, audio a video zpravodajství, televizní programy a uzavřené výukové okruhy. 12
14 1.3 Popis vybraných částí kodeku AMR-WB AMR-WB kodek je založen na technologii lineární predikce buzené algebraickým kódem (ACELP). Tato technologie byla velmi úspěšná v kódování hovorových signálů klasického úzkopásmového telefonního pásma a několik standardů založených na této technologii bylo aplikováno v mnoha systémech zahrnujících digitální celulární systémy a VoIP technologie Algoritmus ACELP Tento algoritmus patří k několika metodám používající CELP kódovací metodu, s tím že používá inteligentní algebraickou kódovou knihu. Tato je základním prvkem kodeku AMR-WB, kdy je používán kodérem ke generování pravděpodobnostní součásti buzení, kde budící vektor obsahuje malý počet nenulových pulsů s předdefinovanými prokládanými sadami pozic. Pulsy jsou fixovány s hodnotou od 1 do -1 a každý puls má sadu možných pozic odlišných od ostatních pulsů. Tato sada je prokládána a budící kód je identifikovaný pozicemi jeho nenulových pulsů. Vyhledávání kódové knihy je v podstatě vyhledávání optimální pozice nenulových bodů Algoritmický popis kodéru AMR-WB kodér používá devět módů kódování řeči s bitovými rychlostmi 23,85; 23,05; 19,85; 18,25; 15,85; 14,25; 12,65; 8,85 a 6,6 kbit/s. AMR-WB zahrnuje také mód šumu v pozadí, který je určen k použití v provozu nesouvislého přenosu (DTX) v GSM a jako zdrojově závislý mód s nízkou bitovou rychlostí pro kódování šumu v pozadí v jiných systémech. Mód 12,65 kbit/s a výše nabízí širokopásmovou řeč vysoké kvality a dva nižší módy 8,85 a 6,6 kbit/s jsou určeny pro dočasné použití během náročných podmínek radiového kanálu nebo během přetížení sítě. Blokové schéma kodéru je zobrazeno na obr. A.2. AMR-WB kodek pracuje s vzorkovací frekvencí 16 khz a kódování je prováděno v blocích po 20 ms. Dvě frekvenční pásma Hz a Hz jsou kódovány odděleně za účelem snížení výpočetní náročnosti a soustředění bitové alokace do nejdůležitějšího frekvenčního pásma. Jelikož je kodek založen na metodě CELP je nutno vstupní signál nejprve podvzorkovat na kmitočet 12,8 khz. Poté následuje předzpracování použitím horní propusti ve tvaru: H h (z) = 0, , z 1 + 0, z 2 1 1, z 1 + 0, z 2 (1.1) a filtrem předběžné korekce ve tvaru: 13
15 H p (z) = 1 µz 1, kde µ = 0, 68 (1.2) Podvzorkovaný a předzpracovaný signál je pak zpracován ACELP algoritmem. Analýza lineární predikce je prováděna jednou za 20 ms. Sada parametrů LP je konvertována do páru imitačního spektra ISP a vektorově kvantována použitím vícestupňového kvantování s 46 bity. Hovorový rámec je rozdělen do čtyř subrámců po 5 ms. Parametry adaptivní a fixní kódové knihy jsou přenášeny v každém subrámci. Interval základního tónu je kódován devíti bity v lichých subrámcích a relativně kódován šesti bity v sudých subrámcích. Zisk algebraické kódové knihy a základní tón jsou společně kvantovány použitím sedmi bitů na rámec. Algebraická kódová kniha [b] Bitová rychlost [kbit/s] 12,65 14,25 15,85 18,25 19,85 23,05 Tab. 1.1: Přiřazení algebraických kódových knih k bitovým rychlostem. Mód s bitovou rychlostí 23,85 kbit/s se liší od módu s bitovou rychlostí 23,05 kbit/s v použití čtyř bitů na subrámec ke kódování vysokopásmového zisku. Mód s bitovou rychlostí 8,85 kbit/s používá 46 bitů pro parametry LP, 8 bitů pro interval základního tónu v lichých subrámcích a 5 bitů v sudých subrámcích, 20 bitů pro algebraickou kódovou knihu a 6 bitů pro dva zisky v každém subrámci. Mód s bitovou rychlostí 6,6 kbit/s používá 36 bitu pro parametry LP, 8 bitů pro interval základního tónu v prvním subrámci a 5 bitů v ostatních subrámcích, 12 bitů pro algebraickou kódovou knihu a 6 bitů pro dva zisky v každém subrámci. Percepční váhování Optimální základní tón a parametry inovace jsou hledány pomocí střední kvadratické chyby mezi vstupní řečí a syntetickou řečí v perceptuálně váhované oblasti. Toto se provádí percepčním váhováním, jež je realizováno váhovacím filtrem: W (z) = A ( z γ 1 ) A ( z γ 2 ), přičemž 0 < γ 2 < γ 1 1, (1.3) kde W (z) je percepční váhovací filtr a γ 1 a γ 2 jsou faktory, jež řídí míru váhování omezeného na 0 < γ 2 < γ 1 1. Tento váhový filtr pracuje dobře se signály úzkopásmového telefonního pásma, kde přenosová funkce filtru nevykazuje silné spektrální vychýlení. Nicméně to není vhodné pro účinné váhování širokopásmových signálů, neboť je problematické současné modelování formantové struktury při požadovaném spektrálním vychýlení. Toto vychýlení je zřetelnější v širokopásmových 14
16 signálech, protože mají široký dynamický rozsah mezi nízkými a vysokými frekvencemi. To bylo vyřešeno v minulosti přidáním vychylovacího filtru do váhovacího filtru s cílem odděleně řídit vychýlení a formantové váhování širokopásmového vstupního signálu. Novým řešením tohoto problému je použití předzkreslujícího filtru ve tvaru: P (z) = 1 µz 1 na vstupu váhovacího filtru. Percepční váhovací filtr muže být pak například definován jako: W (z) = A ( z γ 1 ) (1 γ 2 z 1 ), přičemž 0 < γ 2 < γ 1 1 (1.4) Tato struktura je velmi efektivní pro dosažení zabezpečení proti chybám použitím kombinace předzkresleného a modifikovaného váhovacího filtrování u kódování širokopásmových signálu. Předzkreslující filtr redukuje dynamický rozsah vstupního hovorového signálu, který je pak vhodnější pro implementaci technologie používající jednoduchý a přesný výpočet. Struktura a vyhledávání algebraické fixní knihy V širokopásmovém hovorovém kódování jsou potřeba velmi rozsáhlé kódové knihy za účelem garance vysoké subjektivní kvality. Složení kódové knihy je založeno na metodě ISPP [2]. Kódový vektor obsahuje 64 pozic, jež jsou rozděleny do čtyř prokládaných stop, s 16 pozicemi v každé stopě. Umístnění určitého čísla, označených impulzů ve stopách od 1 do 6 impulzů na stopu, umožní vytvoření různých kódových knih s různými rychlostmi. Index kódové knihy nebo kódového slova predstavuje impulzní pozice a znaky v každé stopě. Není tedy potřeba žádná paměť kódové knihy, protože vektor buzení v dekodéru muže být vytvořen pomocí informace obsažené v jeho indexu bez vyhledávacích tabulek. Důležitá vlastnost použité kódové knihy je, že je dynamická a skládá se z algebraické kódové knihy následované adaptivním prefiltrem F (z), který rozširuje specifické spektrální soucásti pro zlepšení subjektivní hovorové kvality. V AMR-WB kodeku se tento filtr skládá ze dvou filtrů zapojených do kaskády. První filtr rozšiřuje periodicitu: a filtr odchylky je ve tvaru: F 1 (z) = 1 1 0, 85z T (1.5) F 2 (z) = ( 1 β T z 1), (1.6) kde koeficient β T vyjadřuje předchozí subrámec a je omezen intervalem [0; 0,5] a T je celočíselná část intervalu základního tónu. Vyhledávání kódové knihy je provedeno 15
17 v algebraické oblasti kombinováním prefiltru F (z) s váženou syntézou filtru před vyhledáváním kódové knihy. Algebraická kódová kniha je hledána minimalizováním střední kvadratické chyby mezi váženou vstupní řečí a syntetizovanou řečí. Matice H je definována jako nižší tzv. trojhranná Toeplitzova konvoluční matice s diagonálou h (0) a nižšími diagonálami h (1),..., h (N 1) [1]. Jestliže je c k algebraický kódový vektor s indexem k, pak je algebraická kódová kniha vyhledávána maximalizací vyhledávacího kritéria: Q k = (xt 2Hc k ) 2 c t k Ht Hc k = ( d t c k ) 2 c t k Φc k = (C k) 2 E k (1.7) Vektor d a matice Φ jsou obvykle vypočteny před vyhledáváním kódové knihy. Algebraická struktura kódové knihy dovoluje velmi rychlé vyhledávací procedury, protože vektor c k obsahuje pouze několik nenulových impulzů. Mód kodeku [kbit/s] Parametr 6,6 8,85 12,65 14,25 19,85 18,25 19,85 23,05 23,85 VAD znak LTP znak ISP Zpoždění zákl. tónu Algebraický kód Zisk HP energie Celkem rámec Tab. 1.2: Bitová alokace pro jednotlivé módy kodeku AMR-WB dle [2]. Kvantování zisku Ziskem adaptivní kódové knihy a fixní kódové knihy jsou vektor kvantovaný použitím 6-bitové kódové knihy pro módy 8,85 a 6,60 kbit/s a 7-bitové kódové knihy pro všechny ostatní módy. Kvantování zisku fixní kódové knihy používá tzv. movingaverage predikci s konstantními koeficienty. Čtvrtý řád MA predikce je proveden energií v logaritmické oblasti. Predikce a vyhledávání kódové knihy jsou podobné těm, jež jsou použity u GSM EFR kodeku nebo G
18 1.3.3 Algoritmický popis dekodéru Funkce dekodéru, viz. blokové schéma na obr. A.3, se skládá z dekódování přenosových parametrů (VAD - znaků, parametrů LP, vektorů adaptivní kódové knihy, zisku adaptivní kódové knihy, vektorů pevné kódové knihy, zisku pevné kódové knihy a vysokopásmového zisku) a provedení syntézy k získání rekonstruované reči. Rekonstruovaná řeč je následně zpracována a nadvzorkována. Nakonec je vysokopásmový signál generován v frekvenčním pásmu od 6 do 7 khz. Do dekodéru bylo rovněž přidáno několik funkcí následného zpracování pro zlepšení výkonu širokopásmových signálů. Dekódování a řečová syntéza Přijaté indexy kvantování ISP jsou použity k rekonstrukci kvantovaného vektoru ISP. Čtyři interpolované vektory ISP jsou vypočteny a konvertovány pomocí lineární predikce, která je použita pro syntézu řeči v subrámci. V každém subrámci je použit přijatý index adaptivní kódové knihy k nalezení celého čísla a dílčích částí intervalu základního tónu. Přijatý index algebraické kódové knihy je použit k získání pozic a znaků budících pulsů a též pro nalezení buzení algebraické kódové knihy c (n). Jestliže je celočíselná část intervalu základního tónu menší než subrámec o velikosti 64, jsou zisky adaptivní a fixní kódové knihy dekódovány, a celkové buzení je pak dáno vztahem: u (n) = ĝ p v (n) + ĝ c c (n) (1.8) Před syntézou řeči je pak provedeno zpracování budících složek za účelem zlepšení subjektivní výkonnosti kodeku. Zvýraznění signálu ze šumu Nelineární technika vyhlazení hodnoty zisku je aplikována na zisk fixní kódové knihy ĝ c pro zlepšení buzení při zvýšeném šumu. Vyhlazování zisku fixní kódové knihy se provádí za účelem redukce kolísání energie buzení při stálých signálech. To zlepšuje subjektivní hovorovou kvalitu pri stálém šumu v pozadí. Lambda subrámce je odhadován pomocí vztahu: λ = E c (E v + E c ), (1.9) kde E v je energie buzení adaptivní kódové knihy a E c je energie buzení fixní kódové knihy. Ustálenost rámce je odhadnuta podle filtru LP pomocí rozdílu parametrů ISP 17
19 mezi současným a předchozím rámcem. Faktor ustálenosti θ je omezen intervalem [0, 1] a jeho hodnota inklinuje k souladu se stálými rámci. Nakonec je vypočten faktor vyhlazení zisku, jež je dán vztahem: σ = λθ (1.10) Hodnota σ inklinuje k souladu s nehlasovými a pevnými signály jako je např. pevný šum v pozadí. Pro čistě hlasové nebo nestálé signály se hodnota σ blíží k nule. Nelineární vyhlazení používá zisk předešlého subrámce s referenční hodnotou ĝc r pro výpočet upraveného zisku ĝc m. Pokud je ĝ c ĝc, r upravený zisk ĝc m je nastaven 1,5 db pod hodnotu ĝ c, přičemž je zdola omezen k referenční hodnotě. Pokud není splněna výše uvedená podmínka, je ĝc m nastaven 1,5 db nad hodnotu ĝ c, přičemž je zhora omezen k referenční hodnotě. Nakonec je zisk fixní kódové knihy vyhlazen pomocí vyhlazovacího faktoru a upravený zisk lze pak vyjádřit vztahem: ĝ c = σĝ m c + (1 σ) ĝ c (1.11) Ve stálých nehlasových subrámcích se zisk fixní kódové knihy použitý v syntéze blíží k hodnotě upraveného zisku ĝ m c. Zvýraznění základního tónu Toto vylepšení umožňuje lepší subjektivní hovorovou kvalitu filtrováním signálu buzení fixní kódové knihy c (n). To se provádí pomocí inovačního filtru, jehož frekvenční charakteristika zdůrazňuje vysoké frekvence a redukuje nízké frekvence. Koeficienty filtru jsou dány vztahem: F E (z) = f E z + 1 f E z 1 (1.12) Tyto koeficienty souvisí s pravidelností signálu f e = 0, 25λ a jsou obnovovány jednou za dobu rámce. Tento filtr poskytuje maximální zdokomalení v nehlasových signálech. S použitím filtru zlepšení základního tónu je pak buzení fixní kódové knihy: následně je pak celkové buzení: c E (n) = c (n) f E (c (n + 1) + c (n 1)), (1.13) û (n) = ĝ p v (n) + ĝ c c E (n) (1.14) 18
20 Syntéza řeči Rekonstruovaná řeč pro subrámec o velikosti 64 je získána filtrováním zpracovaného celkového buzení pomocí syntézy filtru LP. Platí, že: ŝ (n) = û (n) 16 i=1 â i ŝ (n 1), n=0, 1,..., 63, (1.15) kde â i je i-tý koeficient interpolovaného filtru LP. Syntetická řeč ŝ (n) pak prochází přes adaptivní zpracování. K tomu, aby byla udržena synchronizace s kodérem, je pamět adaptivní kódové knihy aktualizovaná pomocí buzení u (n). Nadvzorkování signálu a generování vysokých frekvencí Syntetický signál je filtrován horní propustí, která eliminuje nežádoucí nízkofrekvenční složky. Poté jsou u signálu utlumeny vysokofrekvenční složky pomocí filtru: 1 P (z) = 1 (1 0, 68z 1 ) (1.16) Nakonec je signál nadvzorkován k získání syntézy nižšího pásma ŝ L (n) při vzorkovacím kmitočtu 16 khz. Procedura generování vysokých frekvencí je použita pro zaplnění frekvenčního pásma v rozmezí od 6,4 do 7 khz. Vysokofrekvenční složka je generována vyplněním horní části spektra bílým šumem, jež je vhodně přizpůsoben v oblasti buzení. Ten je poté převeden do řečové oblasti jeho tvarováním za pomoci filtru, který je odvozen ze stejného LP filtru syntézy, který je použit pro syntetizující podvzorkovaný signál. Hodnota vysokopásmového buzení u H (n) je získána ze signálu bílého šumu w (n) pomocí vztahu: u H (n) = ĝ H w (n) 63 k=0 w 2 (k), (1.17) kde ĝ H je vysokofrekvenční zisk a τ je odchylka signálu syntézy. V módu s přenosovou rychlostí 23,85 kbit/s je hodnota ĝ H dekódována z přijatého indexu zisku. V ostatních módech je tato hodnota odhadnutá pro každý subrámec s pomocí hlasové informace. Výpočet vysokofrekvenčního zisku: ĝ H = w S (1 τ) + 1, 25 (1 w S ) (1 τ), (1.18) kde v případě aktivované funkce VAD je w S =1, jinak je w S =0. Činitel odchylky je začleněn do výpočtu zisku, jelikož bere v úvahu vyskofrekvenční složky syntetického signálu. V hlasových částech, kde je přítomno méně 19
21 energie ve vysokých frekvencích se hodnota τ blíží k 1, vyplývající z nižšího vyskofrekvenčního zisku. Tato skutečnost redukuje energii generovaného šumu v hlasových částech. Vysokopásmový filtr LP syntézy je získán pro každý subrámec z nízkopásmového filtru LP syntézy pomocí vztahu: kde ( ) 12, 8z  H (z) = Â, (1.19) 16  (z) je interpolovaný filtr LP syntézy, který byl odhadnutý pro vzorkovací kmitočet 12,8 khz. Tento filtr je nyní použit pro signál o frekvenci 16 khz. Toho lze efektivně využít k tomu, že pásmo 5,1-5,6 khz v oblasti 12,8 khz je promítnuto do pásma 6,4-7 khz v oblasti 16 khz. Signál vysokopásmové syntézy ŝ H (n) je vypočten filtrováním signálu u H (n) přes vysokopásmový filtr LP syntézy. Následně je kmitočtově omezen pomocí FIR pásmové propusti s rozsahem od 6,4-7 khz. Poslední operací je přidání signálu vysokopásmové syntézy ŝ H (n) k signálu nízkopásmové syntézy ŝ L (n) k vytvoření syntetického řečového signálu. 20
22 2 SIGNÁLOVÉ PROCESORY 2.1 Úvod Digitální signálové procesory DSP ((Digital Signal Processing) číslicové zpracování signálů) jsou specializované mikroprocesory, provádějící matematické operace na datovém toku v reálném čase. Mají obrovský výpočetní výkon zpracování, řádově stovky milionů operací za sekundu - MIPS ((Milion Operation per Second) milion oprací za sekundu). To umožňuje jejich architektura a optimalizovaná instrukční sada. Charakteristickým rysem DSP je paralelní zpracování instrukcí i paralelní zpracování dat. Jejich výpočetní schopnosti, možnost programování a možnost přizpůsobení širokému spektru aplikací je předurčili, aby se staly nosným prvkem digitální revoluce. Používají se pro zpracování zvuku, obrazu nebo jiných dat ve spotřební elektronice, automobilovém průmyslu, medicíně, vojenství a telekomunikacích. 2.2 Architektura DSP procesorů Základní architektonické koncepce mikroprocesorových obvodů byly postupně převzaty z návrhu číslicových počítačů. Stejně jako u architektury počítačů, znamená pojem architektura studium oborů, jakou jsou struktura, organizace, realizace a funkce mikroprocesorů. Struktura řeší propojení jednotlivých funkčních bloků, organizace se zabývá vazbami mezi těmito bloky, realizace spočívá v návrhu obvodů a použití určitých součástek, a konečně funkce reprezentuje chování procesoru viděno zvenčí. Základy architektury počítačů, potažmo mikroprocesorů byly položeny ve čtyřicátých letech 20. století skupinou vědců vedenou matematikem John von Neumannem. V dnešní době, s vysokými nároky na rychlost a množství zpracované informace, jsou však tyto principy poměrně zastaralé. To znamená nutnost výrazně změnit architekturu mikroprocesoru s cílem vyššího výkonu a efektivního provozu. Architektury číslicových procesorů lze dle [4] rozdělit na tyto typy: von Neumannova architektura harvardská architektura architektura typu LIW a VLIW superskalární architektura architektura paralelních systémů 21
23 2.2.1 Von Neumannova architektura Základnem této koncepce byly metody použité pří vývoji prvních počítačů, které stanovil matematik John von Neumann v padesátých letech 20. století. Některé z myšlenek byly [4]: Počítač složený z paměti, řadiče, aritmeticko-logické jednotky a vstupních a výstupních jednotek. Struktura počítače je řízena obsahem paměti. Instrukce a operandy jsou uloženy v téže paměti. Paměť je rozdělena do buněk stejné velikosti. Program je tvořen posloupností elementárních příkazů. Změna provádění instrukcí se vyvolá instrukcí podmíněného a nepodmíněného skoku. Pro instrukce a čísla se používají dvojkové doplňky a dvojková soustava. Tato koncepce ovlivňující výrobu počítačů a mikroprocesorů přetrvala až do osmdesátých let 20. století, kdy se objevila harvardská architektura signálového procesoru Harvardská architektura Tato architektura byla původně navržena Howardem Aikenem v třicátých letech 20. století na Harvardské univerzitě při vývoji reléového počítače Harvard Mark 1 a též pro elektronkový počítač ENIAC. Šlo tehdy o moderní řešení, nicméně technické prostředky neumožnily realizaci této architektury a proto byla použita ještě von Neumannova architektura. Rozšíření tohoto řešení umožnilo až použití integrovaných obvodů se zavedením polovodičových prvků. Základní principy této architektury jsou: Rozdělení paměti na programovou a jednu nebo dvě datové části. Výpočet v jednom instrukčním cyklu provádí hardwarová násobička a ukládá do akumulátoru. Použití zřetězeného zpracování informací tzv. pipelingu zvyšuje výpočetní výkonnost. Je zvýšen počet datových a adresních sběrnic. K přímému přístupu do paměti se používá DMA. Řízení jádra signálového procesoru je odděleno od řízení vstupních a výstupních jednotek. Někdy jsou k jádru signálového procesoru pro zvýšení výkonu přidány další jednotky - koprocesory nebo jiné speciální obvody. Harvardská architektura je hojně rozšířena a běžně využívána při zpracování řeči, hudby a obrazu. Zvláště významné je její použití v telekomunikacích, medicíně a průmyslu. Mezi nejvýznamější výrobce se 22
24 řadí Motorola - např. procesor řady DSP568xx, Texas Instruments - např. procesor řady TMS320C50xx a Analog Devices s procesorem ADSP21xx LIW a VLIW architektura Další zvyšování výpočetní výkonnosti procesorů spočívala v zařazení více funkčních jednotek, které současně vykonávají více operací sdružených do jedné programové instrukce. Tímto se prodlužovala délka instrukčního slova a architektura byla nazývána jako (Long Instruction Word) dlouhé instrukční slovo (LIW), později při dalším zvyšování počtu funkčních jednotek jako (Very Long Instruction Word) velmi dlouhé instrukční slovo (VLIW), prvním z procesorů používající tuto architekturu byl procesor TMS320C30 od firmy Texas Instruments. Výhody této architektury jsou: Tato architektura dosahuje vysoké výkonnosti s poměrně jednoduchou architekturou procesoru ve srovnání s architekturou paralelních systémů. Poměrně snadno lze přizpůsobit výpočty dané aplikaci. I když je architektura značně složitější než harvardská architektura, překlad z vyšších programovacích jazyků (C,C++) je méně komplikovaný. Je toho tím, že je částečně dodržována ortogonalita a také tím, že dílčí instrukce mají tvar instrukcí typu RISC Superskalární architektura Tato koncepce je použita u vetšiny procesorů pro všeobecné použití a u signálových procesorů se používá vyjímečně. U těchto procesorů je použit speciální hardware uvnitř procesoru tzv. (Schedule Unit) jednotka plánování, který sdružuje operace zpracovávané paralelně do jedné instrukce. Pak superskalární procesor přenáší odpovědnost za paralelní sdružování instrukcí z programátora nebo nebo kompilačního programu přímo na hardware procesoru. Tato architektura rovněž umožňuje binární kompatibilitu mezi generacemi procesorů.[4] Vážným nedostatkem této koncepce je, že není známo, které instrukce procesor seskupí pro paralelní zpracování a není možno odhadnout, kolik instrukčních cyklů je potřeba pro zpracování daného segmnetu programu. Tento nedostatek znemožňuje optimalizaci chodu programu, která je při nedostatku paměti a příkonu v číslicovém zpracování signálů velmi důležitá Architektura paralelních systémů Základní myšlenkou zvyšování výpočetního výkonu je zvyšování podílu paralelního zpracování. Nejznámější dělení paralelních systémů zavedl v roce 1966 M.J.Flynn, 23
25 kdy dělil sytémy podle: počtu programů na: jeden řešený program - SI více řešených programů - MI počtu datových souborů zpracováváných současně na: jeden zpracováváný tok dat - SD více zpracováváných toků dat - MD Kombinací těchto možností vzniknou následující varianty: Klasický von Neumannův počítač s jedním programem a jedním seriově přiváděným tokem dat - SISD. Hypotetická kombinace několika programů zpracovávajících jeden tok dat - MISD. Větší počet funkčních jednotek pracuje na řešení téhož programu - SIMD. jednotky již tak samostatné, že každá z nich plní samostatný program a přitom zpracovávají jiná data - SIMD. 2.3 Popis procesoru TI TMS320C6416 Signálové procesory řady TI TMS320C64xx (zahrnující procesory TMS320C6414, TMS320C6415 a TMS320C6416) jsou nejvýkonnější generací procesorů s pevnou řadovou čárkou platformy TMS320C6000. Tento procesor používá procesorovou architekturu VLIW a druhou generaci vysoce výkonného jádra VelociTI T M. Toto jádro má dvojnásobný počet registrů, dvojnásobnou šířku datových sběrnic, zvýšenou ortogonalitu instrukčního souboru, vylepšené vlastnosti funkčních jednotek a doplněné instrukce redukující délku kódu [4]. S výkonem procesoru až 8000 MIPS a taktovací frekvencí 1 GHz je tento cenově výhodný procesor vhodný pro vysoce výkonné programy, jako jsou vícekanálové a multifunkční aplikace.blokové schéma DSP procesoru TMS320C64xx je zobrazeno na obr Řada TMS320C6416 používá dva vysoce výkonné koprocesory (VCP)a turbo koprocesor (TCP), které podstatně zrychlují kanálové dekódování na čipu. [5] Centrální řídící jednotka (CPU) Jádro procesoru se dělí na dvě identické datové cesty (A, B), ke každé jsou připojeny čtyři funkční jednotky (.L,.S,.M,.D) a 16 32bitových registrů. Jádro CPU řady C64x má dvojnásobek registrů, tedy 32 registrů pro každou datovou cestu. Každá funkční jednotka je optimalizována na určitý typ operací. Jednotky označené.m jsou hardwarové násobičky. Další jsou aritmeticko logické ALU jednotky. Jednotka 24
26 .S je specializována na bitové operace, jednotka.l realizuje především aritmetické operace a jednotka.d podporuje různé způsoby adresování a přístup do paměti Datové cesty Každá datová cesta A, B je připojena k datové paměti jednou adresovou sběrnicí a dvěma datovými sběrnicemi přes funkční jednotky. Všechny funkční jednotky jsou řízeny nezávisle a mohou pracovat paralelně. Pro uložení zpracovávaných dat jsou využity výše zmíněné registry. Jednotky čtení, zápisu a dekódování instrukcí mohou přenést po datových cestách standardně osm 32-bitových instrukcí do funkčních jednotek při každém cyklu hodinového signálu CPU. Některé však podporují 40 bitovou a 64 bitovou šířku Funkční jednotky Osm funkčních datových jednotek v datových cestách může být rozděleno do dvou skupin po čtyřech. Každá funkční jednotka v datové cestě A je téměř identická s jednotkou v datové cestě B. Všechny datové cesty v CPU podporují 32-bitové vstupní prvky (operandy), některé podporují dlouhé long (40-bitové) a double word (64-bitové) operandy. Každá z osmi jednotek má svůj vlastní 32-bitový port pro zápis/čtení do/z libovolného univerzálního registru. Při takovém paralelním zpracování instrukcí hovoříme o instrukci typu VLIWa soubor instrukcí při každém cyklu má délku až 256 bitů. Obr. 2.1: DSP procesory TI TMS320C
27 Obr. 2.2: Blokové schéma DSP procesoru TMS320C6416 T M [5]. 26
28 2.3.4 Univerzální registry Registry jsou univerzální a mohou být použity pro data, ukazatele, nebo jsou využity při větvení programu (jen A1, A2, B0, B1 a B2). V procesorech C64x je bitových registrů v každé datové cestě (A0-A31 a B0-B31) Řídicí registry C6000 obsahuje další řídící registry, které poskytují informace o běhu programu, které se mohou dále využít. Jednotka.S2 může do těchto registrů zapisovat nebo z nich číst Interní paměť Procesor C64x má 32-bitový adresovatelný adresní prostor. Interní paměť je organizována v samostatných datových a programových místech. Když je používána externí paměť, tyto místa jsou sjednocená do jednoho paměťového prostoru přes externí paměťový řadič (EMIF) Periférie Procesory TMS320C6000 umožňují spojení s externí pamětí. Obsahují proto další periférie umožňující komunikaci s vnějšími pamětmi, koprocesory, hostitelskými procesory a jinými sériovými obvody. 27
29 3 ŘEŠENÍ DIPLOMOVÉ PRÁCE 3.1 Integrační prostředí Charakteristika systému Siemens HiPath 4000 Pro implementaci AMR-WB kodeku byl zvolen telekomunikační systém Siemens HiPath 4000 určený pro nasazení u středně velkých a velkých společností. Jedná se o inovativní, v reálném čase pracující systém, který umožňuje připojení a provozování TDM a IP infrastruktur. Otevřené rozhraní a standardní protokoly jsou ideální platformy pro integraci komunikačních a datových aplikací. Je zde podporována široká škála multimediálních komunikačních forem. HiPath 4000 je ideální pro středně velké a velké společnosti, které přikládají velký význam bezpečnosti, flexibilitě a širokému rozsahu služeb. Systém nabízí rychlý a snadný přístup k jednotné hlasové datové komunikaci pro všechny typy uživatelů. Jedná se o jedinečné, takřka průkopnické řešení, které optimalizuje podnikové procesy a poskytuje vyšší efektivitu a produktivitu. HiPath 4000 je tedy: - bezproblémová síť s jednotným využitím - bezproblémové zabudování hlasové komunikace do zákaznické IT sítě - okamžité výrazné zlepšení pracovních postupů - vysoká spolehlivost - široká kompatibilita s mnoha různými aplikacemi - vysoká návratnost investic, nízké náklady na vlastnictví a bezproblémová implementace Obr. 3.1: HiPath 4000 v provedení Compact PCI Duplex. 28
30 Mezi výhody patří: - Hlasový a datový přenos v reálném čase - High-end třída, dobře vybavené terminály, které jsou snadno použitelné - Podpora SIP, tudíž je možná bezproblémová volná migrace a snadná integrace - Maximální ochrana proti hackerům, virům a systémovým selháním - Vynikající flexibilita a škálovatelnost až pro uživatelů - Nízká administrativa, instalace a náklady na integraci - Podporuje budoucí funkce a přizpůsobuje se měnícím se požadavkům Hardware a funkcionality systému HiPath 4000 Compact PCI (dále jen CPCI) hardwarová architektura (obr. 3.1) systému HiPath 4000 je k dispozici ve dvou konfiguracích: Duplex a Simplex Mono (základní konfigurace). Simplex Mono je jeden systém, kdežto Duplex jsou dva totožné systémy, z nichž jeden je v režimu spánku (sleep mód) a při poruše hlavního systému je uveden do provozu místo poškozeného systému. CPCI obsahuje přepínací jednotku (SWU) a procesor pro správu a zpracování dat (ADP). Přepínací jednotka (SWU) obsahuje: - společnou řídící jednotku, která začíná a řídí funkce pro zpracování hovorů a vlastnosti systému - síťové přepínání, které řídí tok hlasových dat, které nesou informace přes systém - servisní jednotku poskytující vyzvánění, tóny, přepínání konferencí, tlačítkové DTMF signály a vytáčecí tóny veřejných sítí pro LTU desky Procesor pro správu a zpracování dat (ADP): - uvádí systém do provozu - poskytuje přístup k systémové administraci, údržbě a konfiguraci - umožňuje lokální údržbu koncových zařízení - poskytuje různá administrativní hlášení a bezpečnostní aplikace NCUI/STMI board Implementace je prováděna na kartách s typovým označením STMI4 (Subscriber and Trunk Module IP) a NCUI4 (Network Based Communication System). Hardwarová architektura výše uvedených karet byla navržena pro použití s AMCC PowerPC NPe405H procesorem s hlavní SDRAM pamětí o velikosti 256MB. Hlavní procesor s architekturou (Reduced Instruction Set Computer) architektura procesorů s redukovanou instrukční sadouje podporován dvěma TMS320C6416T signálními procesory, jež jsou instalovány přímo na desce NCUI4/STMI4. Výkonnost desky 29
31 může být zvýšena prostřednictvím modulu PDMX ((PMC DSP Module Extended) rozšiřující deska se signálovými procesory) s dalšími třemi signálními procesory TMS320C6416T. Každý z procesorů dokáže zpracovat 24 nebo 30 hovorů, při použití rozšiřující karty je tedy možno zpracovat až 120 hovorů. Tento rozšiřující modul je připojen k hlavní NCUI nebo STMI desce prostřednictvím slotu PCI sběrnice. Detail karty STMI4 ja na obr Příprava k implementaci Testování funkčnosti AMR-WB kodeku Před vlastní implementací byla zaměřena pozornost na výběr kodeku, lépe řečeno na výběr standardu tohoto kodeku. Veřejně dostupné jsou zdrojové kódy tohoto kodeku s různými modifikacemi u organizací ITU a 3GPP. Vzhledem k použitému signálovému procesoru TMS320C6416 od firmy (Texas Instruments) výrobce mikroprocesorů, jež pracuje s pevnou řadovou čárkou, bylo logicky rozhodnuto, že bude nutno použít matematické modely algoritmu od organizace ITU, používající pevnou řadovou čárku. Po důkladné analýze zdrojových kódů (napsaných v jazyce C) a jejich optimalizaci byla ve vývojovém prostředí Microsoft Visual Studio 2010 vytvořena konzolová aplikace pro OS Windows XP (obr. 3.3). Ve fázi ověření funkčnosti, nebylo použití jazyka C zvlášť významné, protože aplikaci je možno realizovat i za pomoci jiného programovacího jazyka např. JAVA. Nicméně při vlastní implementaci na signálový procesor se jeví jeho použití jako velmi výhodné, neboť bude umožněno volání procedury napsané v assembleru. Díky této skutečnosti pak může být dosaženo vyššího stupně optimalizace. Vlastní test spočíval v kódování 16 bitových zvukových.snd souborů, přičemž byly testovány všechny kódovací rychlosti s možností aktivace funkcionality DTX (nespojitý přenos). V průběhu kódování bylo možno sledovat aktuální počet zpracovaných rámců i konečný celkový počet zpracovaných rámců. U výstupního souboru bylo rovněž kontrolováno korektní uložení souboru. Následovalo dekódování a kontrola bezchybného dekódování v aplikaci Matlab, kde byla porovnána rovněž kvalita originálního signálu s dekódovanými signály a sledovány rozdíly v kvalitě při použití rozdílných kódovacích rychlostí. Jelikož při kódování dochází k určitému zpoždění, bylo nutno uskutečnit srovnání časových os originálního a dekódovaného signálu Implementace generátoru harmonického signálu Cílem semestrální práce, jež je základem práce diplomové, bylo se seznámit, před vlastní implementací širokopásmového kodeku podrobněji s problematikou imple- 30
32 Obr. 3.2: NCUI4 karta s detailem modulu PDMX. 31
33 Obr. 3.3: Konzolová aplikace pro testování funkčnosti kodeku G mentace kodeků na daném hardwaru, respektive DSP procesoru. Pro tyto potřeby byla vytvořen testovací scénář s topologií zobrazenou na obr V podstatě se jednalo o softwarovou analýzu již implementovaných kódovacích technik, konkrétně byl sledován a testován kodek G.711. V programovacím jazyce C byl nejdříve vytvořen jednoduchý algoritmus, který generoval harmonický sinusový signál, akusticky rozpoznaný jako vysokofrekvenční tón. DSP zdrojové soubory kódovací funkce kodeku G.711 byly upraveny tak, že k hlasovému datovému proudu byl přičítán již zmiňovaný harmonický sinusový signál. Samozřejmostí bylo zachování funkčnosti tohoto kodeku, zejména funkce DTX a možnost výběru typu logaritmické komprese (A-law nebo µ-law). Takto upravený kód byl zkompilován do souboru typu *.out, který pak bylo možno integrovat do firmwaru STMI ((Subscriber and Trunk Module IP) účastnická a meziústřednová karta) karty pomocí upgradu DSP softwaru. Po aktualizaci DSP části firmwaru, jehož způsob provedení není podstaný, byl sestaven telefonní hovor, jehož datový tok byl kódován kodekem G.711, přenášen z výchozí VoIP telefonní ústředny přes LAN síť do další VoIP telefonní ústředny přijímající tento simulovaný VoIP telefonní hovor. Pomocí aplikace WireShark bylo sledováno sestavení spojení a vlastní simulovaný hovor s kontrolou použitého kodeku. Rovněž bylo možno poslechem provést akustickou kontrolu hovoru. 32
34 Obr. 3.4: Topologie sítě pro scénář generování vf tónu 3.3 XDAS standard Využití XDAS ((express DSP Algorithm Standard) standard pro algoritmy číslicového zpracování signálů) standardu lze dle [6] rozdělit do tří oblastí: uživatelé algoritmu, zhotovitelé algoritmu a vývojáře algoritmicky-specifických rozhraní. Aby algoritmus vyhovoval standardu, musí daný algoritmus implementovat IALG ((Algorithm Instance Interface) rozhraní instance algoritmu) rozhraní specifikované výše uvedeným standardem. IALG rozhraní je abstraktní rozhraní nebo SPI ((Service Provider Interface) rozhraní poskytovatele služeb) rozhraní a je definováno v ialg.h hlavičkovém souboru. Dále se musí algoritmus pro implementaci IALG rozhraní řídit řadou pravidel. Například algoritmus nesmí mít přímý přístup k perifernímu zařízení, zdrojové kódy algoritmu musí být plně přenositelné, atd. Uživatel algoritmu může řídit instanci algoritmu voláním do tabulky ukazatelů funkce (v-table, dále v-tabulka). Každý algoritmus musí vytvořit v-tabulku, aby vyhovovala standardu. Pomocí v-tabulky může aplikace řídit instanci algoritmu, např. vytvoření a smazání objektu instance algoritmu nebo běh algoritmu. 33
35 3.3.1 IALG rozhraní IALG rozhraní je hlavní rozhraní, které je implementováno všemi algoritmy, aby definovalo jejich paměťové požadavky a umožnilo účinně využít integrovanou datovou paměť. Jsou zde definovány datové typy a konstanty stejně jako v-tabulka strukturou IALG_Fxns. Každý algoritmus potřebuje definovat a inicializovat proměnnou typu IALG_Fxns k deklaraci v-tabulky, viz. obr Některé funkce ve v-tabulce jsou volitelné, ale funkce algalloc(), alginit() a algfree() jsou povinné. Obr. 3.5: Aplikace, implementace a v-tabulka Funkce algalloc() Algoritmus musí implementovat funkci algalloc() k deklaraci jeho paměťových požadavků. Tato paměť musí být dostatečně velká jak pro udržení definice objektu algoritmu, stejně tak pro pracovní buffery nutné při vykonávání instance algoritmu. 34
36 /* * ======== G722_2_ENC_SAG_alloc ======== */ Int G722_2ENC_SAG_alloc ( const IALG_Params * G722_2ENCParams, IALG_Fxns ** fxns, IALG_MemRec memtab []) { const IG722_2ENC_ Params * params = ( IG722_2ENC_ Params *) G722_2ENCParams ; fxns = fxns ; /* Request memory for G722_2ENC object */ memtab [0]. size = sizeof ( G722_2ENC_SAG_Obj ); memtab [ 0]. alignment = (16 * 8) / CHAR_ BIT ; memtab [ 0]. space = IALG_ DARAM0 ; memtab [ 0]. attrs = IALG_ PERSIST ; } return (1) ; algalloc() implementace informuje aplikaci o jejích paměťových požadavcích naplněním memtab struktury. Na základě této informace poté aplikace přidělí požadovanou paměť před tím než volá funkci pro inicializaci objektu. Možná definice objektu G722_2_ENC_SAG_Obj je v níže uvedené části souboru g722.2_enc_sag.h. /* * ======== G722_2_ENC_SAG_Obj ======== */ G722_2_ENC_SAG_Obj : typedef struct G722_2_ENC_SAG_Obj { IALG_Obj alg ; /* Points to the v- table */ IG722_2_Mode mode ; /* up to 23,85 kbps */ XDAS_Bool ITU ; /* ITU format on/ off */ XDAS_Bool VAD ; /* Voice activity detection on/ off */ } G722_2_ENC_SAG_Obj ; První položkou definice objektu G722_2_ENC_SAG_Obj musí být vždy prvek IALG_Obj,který je ukazatelem na v-tabulku. Aplikace je pak zodpovědná za inicializaci tohoto ukazatele na prvek ve v-tabulce v průběhu vytváření instance objektu. Zároveň má objekt G722_2_ENC_SAG_Obj přidělen první blok paměti - memtab, viz. funkce G722_2_ENC_SAG_alloc. 35
37 3.3.3 Funkce alginit() Funkce alginit() je implementována algoritmem k inicializaci instance persistentní paměti požadované funkcí algalloc(). Poté co aplikace provede volání funkce alginit (), je instance algoritmu handle připravena k použití. Možná definice funkce alginit (), (zde pojmenovaná jako initobj), je v níže uvedené části souboru g722.2_enc_sag.c. /* ======== G722_2ENC_SAG_initObj ======== * */ Int G722_2ENC_SAG_initObj ( IALG_Handle handle, const IALG_MemRec memtab [], IALG_Handle p, const IALG_Params * g722_2encparams ) { G72 2_2ENC_SAG_O bj * g722_2enc = ( G72 2_2ENC_SAG_O bj *) handle ; const IG722_2ENC_ Params * params = ( IG722_2ENC_ Params *) g722_2encparams ; if ( params == NULL ) { } params = & IG 722_2E NC_PAR AMS ; g722_2enc -> mode = params -> rate ; g722_2enc -> ITU = params -> itu_enable ; g722_2enc -> VAD = params -> vad_enable ; g722_2_vadinit ( g722_2enc ); } return ( IALG_EOK ); Funkce algfree() Pomocí funkce algfree() algoritmus nastaví adresy a velikost každého paměťového bloku požadovaného ve funkci algalloc() tak, aby aplikace byla schopná odstranit instanci objektu bez vzniku tzv. memory leaku. Je to stav, kdy aplikace neúmyslně alokuje paměť a není schopna ji uvolnit poté, co ji již nepotřebuje ani nevyužívá. Možná definice funkce algfree(), (zde pojmenovaná jako free), je v níže uvedené části souboru g722.2_enc_sag.c. 36
38 /* * ======== G722_2ENC_SAG_free ======== */ Int G722_2ENC_SAG_free ( IALG_Handle handle, IALG_MemRec memtab []) { Int n; G72 2_2ENC_SAG_O bj * g722_2enc = ( G72 2_2ENC_SAG_O bj *) handle ; n = G722_2ENC_SAG_alloc (NULL, NULL, memtab ); memtab [1]. base = g722_2enc -> tables ; } return (n); Funkce encode() a control() Výše uvedené funkce jsou implementací IG722_2ENC rozhraní kodéru definovaného v hlavičkovém souboru ig722.2_enc.h. Struktura IG722_2ENC_Fxns rozšiřuje strukturu IALG_Fxns, což je možno vidět na níže uvedené části souboru ig722.2_enc.h. /* * =============================================== * IG722_2ENC_Fxns */ typedef struct IG722_2ENC_Fxns { IALG_Fxns ialg ; /* IG722_2ENC extends IALG */ XDAS_Int32 (* encode )( IG722_2ENC_ Handle handle, XDAS_Int16 * samples, XDAS_Int16 * frame ); } IG722_2ENC_Fxns ; V-tabulka Vzhledem k tomu, že struktura IG722_2ENC_Fxns rozšiřuje strukturu IALG_Fxns, pro definici a inicializaci IG722 2ENC tabulky musí být v této tabulce zahrnuty také funkce z IALG tabulky. Následující níže uvedený výňatek zdrojového kódu ze souboru g722.2_enc_sag_ialgvt.c ilustruje praktické provedení. 37
39 # define IALGFXNS \ & G722_2ENC_SAG_IALG, /* module ID */ \ NULL, /* activate */ \ G722_2ENC_SAG_alloc, /* algalloc */ \ G722_2ENC_SAG_control, /* control */ \ NULL, /* deactivate */ \ G722_2ENC_SAG_free, /* free */ \ G722_2ENC_SAG_initObj, /* init */ \ NULL, /* moved */ \ G722_2ENC_SAG_numAlloc /* numalloc CS) */ \ /* ================================================== // G722_2ENC_SAG_IG722_2ENC // // This structure defines SAG s implementation of the IG722_2ENC interface // for the G722_2ENC_SAG module. */ IG722_2ENC_Fxns G722_2ENC_SAG_IG722_2ENC = { /* module_vendor_interface */ IALGFXNS, G722_2ENC_SAG_control, G722_2ENC_SAG_encode }; /* ================================================== // G722_2ENC_SAG_IALG // // This structure defines SAG s implementation of the IALG interface // for the G722_2ENC_SAG module. */ # ifdef _TI_ asm (" _G722_2ENC_SAG_IALG. set _G722_2ENC_SAG_IG722_2ENC ") ; # else /* //================================================== // The structure is duplicated here to allow this code to be compiled 38
40 // and run on non - DSP platforms at the expense of unnecessary data space // consumed by the definition below. */ IALG_Fxns G722_2ENC_SAG_IALG = { /* module_vendor_interface */ IALGFXNS }; # endif První položka v-tabulky &G722_2ENC_SAG_IALG je adresa tabulky, která je použita jako jednoznačný identifikátor implementace. Dále jsou zde kromě povinných položek (alloc, free a init) použity také další funkce nutné pro úspěšnou implementaci. Jsou to pole control a numalloc, ostatní nevyužitá pole (ukazatele na funkce) byla nastavena na NULL. Výraz asm() pak definuje, že symbol G722_2ENC_SAG_IALG je roven symbolu G722_2ENC_SAG_IG722_2ENC, což v podstatě vyjadřuje, že IALG tabulka a IG722_2ENC tabulka jsou sdílené. Zajímavé jsou významy konvencí použitých jako symboly pro v-tabulku dle [6]: G722 2ENC SAG IALG čte: SAG implementace IALG rozhraní pro modul G722 2ENC G722 2ENC SAG IG722 2ENC čte: SAG implementace IG722 2ENC rozhraní pro modul G722 2ENC 3.4 Mapování paměti U aplikací v reálném čase s vysokými požadavky na minimální zpoždění je velmi důležitá správa paměti. Memory manažer (MEM modul) řídí určené paměťové segmenty, které korespondují s pozicemi fyzické paměti. Pro lepší řízení paměťových segmentů se používá linkovací příkazový soubor (s příponou.cmd), který lze dle našich požadavků vytvořit spuštěním konfiguračního skriptu v aplikaci CCS. V mé implementaci je *.cmd soubor spolu s *.tcf souborem, jež slouží ke konfiguraci paměti, uložen v projektovém adresáři DSP softwaru a tudíž nebylo potřeba jej generovat v CCS. Těchto souborů je použito při kompilaci a výsledkem je zkompilovaný soubor udp64.symbols.out, v němž je definována konfigurace paměti, složení sekcí a alokace sekcí, stejně jako symboly a adresy kde jsou definovány. Ukázka zkompilovaného konfiguračního souboru paměti s názvem udp64.symbols.out.map je uveden níže. Problémem řízení paměti jsem se musel zabývat už při prvotních pokusech o kompilaci DSP programu, kdy s použitím AMR-WB kodeku docházelo při kompilaci 39
41 k chybám z důvodu nedostatku paměti. Jednalo se o interní pamět IDRAM0 kde jsou uloženy konstanty a tabulky konstant pro složité výpočty AMR-WB kodeku. Z tohoto důvodu jsem se rozhodl uvolnit část paměťového prostoru IDRAM tím, že jsem zakázal kompilaci zdrojových souborů kodeku G.723 v souboru makefile. include. Nicméně i po tomto zásahu se nadále nedostávalo části paměťového prostoru a proto jsem byl nucen přikročit k úpravě již zmiňovaného konfiguračního souboru udp64.tcf. ************************************************************ TMS320C6x COFF Linker PC v ************************************************************ >> Linked Wed Mar 23 09:22: OUTPUT FILE NAME : </ cm_we_src_we313ti / project / udp64 / res / udp64 / udp64. symbols.out > ENTRY POINT SYMBOL : " _c_int00 " address : c0 MEMORY CONFIGURATION name origin length used attr VECRAM RWIX IRAM RWIX DBGRAM ff RWIX IDRAM b e RWIX IPRAM b b RWIX CACHE_L2 000 e RWIX EDRAM RWIX APIINFORAM bc RWIX EPRAM fd c0 RWIX EDRAM b1 RWIX BUFRAM 806 b e e0000 RWIX MUSICRAM RWIX NOCACHE RWIX SDERAM 88 fa RWIX LOGRAM 88 fb ff ff00 RWIX 40
42 3.5 Implementace kodeku Úvod Kodek AMR-WB je implementován na procesoru TI TMS320C6416T, který je použit na hlasovém IP rozhraní telekomunikačního systému HiPath 4000 T M od společnosti Siemens. Kodek byl implementován pouze na kartu s typovým označením STMI4 (Subscriber and Trunk Module IP), následovat bude též implementace také na kartu NCUI4 (Network Based Communication System), které jsou součástí přístupové jednotky AP. Karty podporují současně používané kódování řeči a to G.711 (A-law, µ-law), G.723 a G.729AB.[8] Aplikace Clear Case Použití Pro potřeby korektní integrace DSP programu do stávajícího softwaru hlasové brány používá společnost Siemens aplikaci Clear Case. Jedná se o aplikaci od společnosti IBM pro správu sofwarových verzí souborů, tzv. systém managementu sofwarové konfigurace (SCM). SCM sleduje, které verze patřičných souborů byly použity pro každé vydání softwaru a také kombinace, které byly použity při sestavení. Na obrázku obr. 3.6 je možno vidět tzv. view, které si může každý vývojář vytvořit a pracovat nezávisle na původní verzi. Uvedená vlastnost umožňuje více vývojářům pracovat na jednom projektu, přičemž se verze softwaru mohou různě modifikovat nebo větvit. Aktuální status vývoje softwaru jsem mohl vidět při použití funkce Version Tree View s jejíž pomocí lze pozorovat, jak se daný software modifikuje (opravuje) nebo vyvíjí, praktická ukázka na obr Konfigurace souborů Jednou z výhod aplikace Clear Case je možnost vyřazení uživatelem definovaných souborů z kompilace použitím tzv. ConfigSpec nastavení (obr. 3.7). V mém případě jsem zde definoval zdrojové a hlavičkové soubory kodeku G.729, soubory encoder shell rozhraní a decoder shell rozhraní, a další soubory, které bylo nutno pro implementaci editovat. Kompilační prostředí Vzhledem k časové náročnosti implementace AMR-WB kodeku byla pro kompilaci použita aplikace gcc, která je v tomto případě více efektivní než zamýšlené použití Code Composer Studia (dále jen CCS). Jedním z důvodů je umístnění kompilátoru 41
43 Obr. 3.6: Okno aplikace Clear Case Obr. 3.7: Nastavení ConfigSpec aplikace Clear Case v adresářové struktuře DSP projektu, díky čemuž je provedena souborová integrace a kompilace dle standardů a požadavků společnosti Siemens. Dalším důvodem je, že není potřeba pracně přizpůsobovat zdrojové kódy danému hardwaru, což by bylo nutno při importu z CCS provést. Výše uvedené skutečnosti takto přispívají k možnosti dalšího bezproblémového 42
44 Obr. 3.8: Version Tree View 43
45 vývoje DSP softwaru a jeho snadné modifikaci, což je jeden z hlavních požadavků každé implementace softwaru Varianty implementace Klíčovým rozhodnutím této implemetace byl způsob jakým bude implementace provedena. V zásadě byla možná tři řešení: - úplná implementace kodeku G implementace kodeku G s adaptací PCM - hardcoded implementace kodeku G První myšlenka byla kompletně implementovat kodek G do DSP softwaru, konkrétně postupovat obdobným způsobem jako u již implementovaných hlasových kodeků. Nicméně tato varianta byla prozatím odložena, neboť by bylo nutno upravovat systémovou signalizaci SIP protokolu na host procesoru a také změnit vzorkovací kmitočet na PCM sběrnici. Toto řešení však vyžaduje značný zásah do zdrojových kódů, což je časově náročné a bude proto realizováno v budoucnu po konzultaci s vedením oddělení vývoje softwaru. Druhou variantou byla implementace kodeku G s úpravou PCM sběrnice, kdy je upravována vzorkovací frekvence této sběrnice na hodnotu širokopásmového kódování, tedy 16 khz. Druhá varianta vyžaduje změnu taktovací frekvence DSP procesoru a je možné, že tímto zásahem mohou být ovlivněny jiné části systému nebo dokonce jeho stabilita. To se může projevit při optimalizaci funkčnosti řešení, které může být časově náročnější pro korektní provedení. Z výše uvedených důvodů, tedy míry pracnosti a časové náročnosti, která by mohla být až jeden rok, bylo nejvýhodnější použít třetí variantu, kdy se kodek G integruje do encoder shell rozhraní a decoder shell rozhraní Hlasový kanál Myšlence, že by bylo možno integrovat kodek AMR-WB do encoder shell rozhraní a decoder shell rozhraní, předcházelo studium zdrojových kódů jak stávajícího DSP softwaru, tak zdrojových kódů kodeku AMR-WB a samozřejmě servisní dokumentace firmy Siemens. Během těchto přípravných prací bylo možno se seznámit s některými specifickými funkčními procesy probíhající v systému. Na základě nabytých znalostí bylo zjištěno, že je možno integrovat širokopásmový kodek do hlasového kanálu. Hlasový kanál, viz. obr. A.1, převádí data na PCM rozhraní na lineární vzorky a popis jeho jednotlivých částí dle [10] je uveden níže. 44
46 PCM dekodér PCM dekodér dekóduje data přicházející z PCM linky na 16 bitové lineární vzorky. Po vybrání typu dekodéru (A-law nebo µ-law), jehož nastavení je zasláno konfigurační PCM zprávou se dekóduje příslušná PCM linka. Potlačení ozvěny Prvek potlačení ozvěny nebo také LEC (Line Echo Canceller) omezovač ozvěny linky odstraňuje ozvěny, které jsou generovány zařízením na straně PCM. Pro komunikaci s LEC modulem se používá několik typů zpráv: zapnutí/vypnutí, reset, změna konfigurace a report. Monitor tónu Jednotka monitorování tónů obsahuje všechny detektory zpracování hovorů, faxových nebo tónů modemu. Detekce tónu je možná jak na straně PCM rozhraní, tak na straně LAN. Monitor DTMF tónů Vedle monitoru tónu je DTMF monitor, který je speciálně určen pro rozpoznání tónů DTMF. Řízení zisku pro LAN Modul řízení zisku pouze zesiluje hlasový signál zesilovacím činitelem, který je dán parametrem gcgain, který je zasílán v otevřené zprávě pomocí RTP paketu. Jelikož neexistuje žádný mechanismus k zamezení přemodulování, musí host zajistit, že nikdy nedojde k překročení limitu signálu. LAN kodér LAN kodér kóduje lineární hlasové data pro umístění do paketu RTP. Konfigurace je opět řešena pomocí zasílání otevřené zprávy pomocí RTP paketu. Jsou zde parametry typu kodeku, velikosti rámce a status detekce hlasové aktivity. Odesílání RTP Modul odesílání RTP balí kódovaná hlasová data do RTP paketu, který je kompatibilní se standardy RFC Po aktivaci RTP odesilatele otevřenou zprávou jsou vysílány RTP pakety počínaje nastavením parametrů touto zprávou. 45
47 Příjem RTP Tato jednotka přijímá RTP pakety z hostu a vkládá je do vyrovnávací paměti jitteru. Zároveň je odmítnut každý příchozí paket, dokud host zasílá otevřenou zprávu do RTP přijímače. Stejně jako u odesílání jsou RTP pakety definovány v dokumentech standardu RFC Vyrovnávací paměť jitteru Po obdržení otevřené zprávy z RTP přijímače je aktivován algoritmus statické vyrovnávací paměti jitteru. Host může konfigurovat průměrné zpoždění statické vyrovnávací paměti jitteru přímo pomocí otevřené zprávy z RTP přijímače. LAN dekodér Modul LAN dekodéru dekóduje payload RTP paketu ihned po obdržení otevřené zprávy z modulu příjmu RTP. V ní je použit parametr dectype. Jakmile je dekodér uveden do provozu nemůže být přepnut na jiný typ dekódování. Host musí úplně zavřít kanál a restartovat dekodér s novým typem dekodéru. Řízení zisku pro PCM Modul řízení zisku pro PCM pouze zesiluje hlasový signál zesilovacím činitelem, který je dán parametrem gcrxgain, který je zasílán v otevřené zprávě pomocí RTP paketu před vysíláním na PCM linku. Jelikož zde opět neexistuje žádný mechanismus k zamezení přemodulování, musí host zajistit, že nikdy nedojde k překročení limitu signálu. Generátor tónu Generátor tónu generuje duální tóny směrem ke straně PCM pomocí generického rozhraní. DTMF Generátor DTMF generátor tónu generuje DTMF tóny směrem ke straně PCM. DTMF Generátor PCM kodér převádí 16 bitové lineární data přicházející z dekodéru LAN do příslušného formátu používaného linkou PCM. Kódování bude nastanoveno pomocí zprávy o konfiguraci PCM. 46
48 3.5.5 Rozhraní kodéru a dekodéru Rozhraní kodéru a rozhraní dekodéru jsou částí hlasového kanálu, jehož schéma je na obr. A.1. Jedná se o modul LAN kodéru a modul LAN dekodéru. V těchto rozhraních bylo uvažováno umístnění AMR-WB kodeku do funkčního volání některého z již používaných kodeků. Uvažoval jsem zprvu o kodeku G.711 (A-law), ale od této možnosti jsem upustil neboť tento kodek musí být standardně k dispozici v každé verzi DSP softwaru. Poté jsem dospěl k tomu, že nejefektivnější bude využít hlasový kodek G.729AB, neboť je složitější než ostatní použité hlasové kodeky a tím pádem má i vyšší paměťové nároky. Proto lze očekávat, že alokace paměti pro tento kodek bude také vyšší než pro ostatní hlasové kodeky a bude dostačující i pro kodek AMR- WB. Vlastní úpravy těchto rozhraní jsem prováděl v souborech encshell.c pro rozhraní kodéru a decshell.c pro rozhraní dekodéru. Zde bylo nutno nedříve přiřadit správné hlavičkové soubory, upravit linkovací soubory pro vyřazení souborů kodeku G.729 z kompilace a v nastavení aplikace Clear Case zakázat načítání těchto souborů do kompilačního adresáře. Jako výhodné se ukázalo přiřazení hlavičkového souboru dbg_err.h, které mi umožnilo při provádění testovacích hovorů (nebo jeho inicializaci) vypisování mnou definovaných kontrolních zpráv do log souboru. Díky tomu jsem mohl sledovat chování programu nebo popřípadě zjišťovat hodnoty proměnných. Poté jsem začal upravovat všechny části kódu, kde byl volán kodek G.729, tak aby byly volány funkce kodeku AMR-WB. U rozhraní kodéru se jednalo o následující funkce v zdrojovém souboru encshell.c: - funkce ENCSHELL_alloc, která popisuje paměť potřebnou pro vytvoření struktury ENCSHELL_Obj - funkce ENCSHELL_initObj pro inicializaci vyhrazené paměti - funkce ENCSHELL_encode pro operace kódování - funkce ENCSHELL_getFrameDuration vracející maximální délku rámce rozhraní kodéru v ms - funkce ENCSHELL_getAlgFrameDuration s návratovou hodnotou maximální délky rámce algoritmu (kodeku) v ms - funkce ENCSHELL_getFrameSize, která vrací maximální hodnotu rámce v bajtech Níže je uvedena názorná ukázka části zdrojového kódu ze souboru encshell.c, konkrétně se jedná o funkci ENCSHELL_initObj. 47
49 /* ======== ENCSHELL_initObj ======== * Initialize the memory allocated for our instance. */ Int ENCSHELL_initObj ( IALG_Handle handle, const IALG_MemRec memtab [], IALG_Handle p, const IALG_Params * encshellparams ) { Int res ; ENCSHELL_Obj * encshell = ( ENCSHELL_Obj *) handle ; const IENCSHELL_Params * params = ( IENCSHELL_Params *) encshellparams ; ILANTX_Handle lantx =( ILANTX_Handle ) p; # if LAN_CODEC_G722_2 # endif IG7 22_2EN C_Para ms g722_2params ; switch ( encshell -> enctype ) { # if LAN_CODEC_G722_2 case IENCSHELL_ENC_TYP_G729 : g722_2params. size = sizeof ( IG 722_2E NC_Par ams ) ; g722_2params. vad_enable = params - > VAD_enable ; encshell -> theencoder -> fxns = ( IALG_Fxns *)& G722_2ENC_SAG_IG722_2ENC ; } res = encshell -> theencoder ->fxns -> alginit ( encshell - > theencoder, memtab +1, NULL, ( IALG_Params *)& g722_2params ); break ; # endif default : DBG_stdErr ( DBG_ERR_XDAS_INIT, " ENCSHELL_initObj : invalid CODEC requested "); res = IALG_EFAIL ; break ; } 48
50 3.5.6 Vysílání a příjem RTP paketů Stejný postup korekcí jako u modulu LAN kodéru a modulu LAN dekodéru byl použit pro další části hlasového kanálu. Byly to moduly vysílání a příjmu RTP paketů. Byly zde upravovány: - hlavičkové soubory - typ payloadu - délka rámce kodeku AMR-WB - linkovací soubory k vyřazení kodeku G.729 z kompilace Optimalizace implementace Jak již bylo zmíněno v kapitole 3.4, implementaci provázely problémy s nedostatkem nebo nesprávným přidělením paměti. V prvních krocích jsem byl nucen řešit korektní přidělení paměti pro instanci kodeku AMR-WB, dalším problémem bylo uložení velkého množství konstant a vektorů, které jsou nutné pro chod algoritmu do interní datové paměti (IDRAM) procesoru. Při optimalizaci jsem mohl použít i firemní aplikaci API Test Suite od firmy LabView (obr. 3.9), kdy jsem mohl zachytávat zprávy přímo z API driveru DSP. Tato aplikace umožňuje spouštění různých skriptů, např. pro simulaci hovoru a zároveň umožňuje sledovat zatížení vybraných procesorů Testování hovorů Pro testování kodeku jsem uvažoval dva testovací scénáře, umožňující ověření funkčnosti kodeku. U první varianty jsou prováděny testovací hovory mezi dvěma systémy HiPath 4000 T M, jež se jeví jako dvě rozdílné telefonní sítě. Pro tuto variantu bylo nutno vytvořit tzv. trunkové propojení - obr K propojení systémů bylo použito další STMI karty v každém AP, která sloužila pouze k spojení s protější ústřednou. Zde byl použit kodek pouze na úrovni komunikace mezi dvěma systémy, tj. mezi dvěmi kartami STMI. Pomocí aplikace WireShark byl sledován síťový provoz, zejména bezchybný přenos RTP paketů, poslechem kontrolováno zpoždění a kvalita hovoru. Na obou hlasových branách bylo povoleno logování veškeré komunikace, která se týkala DSP části softwaru. Zde bylo možno sledovat volání funkcí, jak systémových, tak funkcí volaných z mnou upravených souborů. Zachycený provoz byl ukládán do.log souboru, pro možnou další analýzu kompletního testovacího hovoru. U druhé varianty (obr. 3.11) se očekávala podpora tohoto kódování i u DSP procesoru koncového zařízení, tj. bude možno uskutečnit kompletní testovací hovor zahrnující IP telefony typové řady OpenStage. 49
51 Obr. 3.9: Aplikace API Test Suite 50
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šší
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
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
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á
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
FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ
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
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
Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010
Přednášky o výpočetní technice Hardware teoreticky Adam Dominec 2010 Rozvržení Historie Procesor Paměť Základní deska přednášky o výpočetní technice Počítací stroje Mechanické počítačky se rozvíjely už
Architektury počítačů a procesorů
Kapitola 3 Architektury počítačů a procesorů 3.1 Von Neumannova (a harvardská) architektura Von Neumann 1. počítač se skládá z funkčních jednotek - paměť, řadič, aritmetická jednotka, vstupní a výstupní
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
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
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á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ý
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ě
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
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
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
Profilová část maturitní zkoušky 2017/2018
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA
Č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á
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í
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
Modulární monitorovací systém Gradient Digitální systém pro záznam, archivaci a vyhodnocení telefonie.
Modulární monitorovací systém Gradient Digitální systém pro záznam, archivaci a vyhodnocení telefonie. Obsah prezentace. Historie systému Gradient. Popis funkcí systému Gradient. Závěr kontaktní informace.
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
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
Sbě b r ě n r i n ce
Sběrnice Sběrnice paralelní & sériové PCI, PCI-X PCI Express, USB Typ přenosu dat počet vodičů & způsob přenosu interní & externí ISA, PCI, PCI express & USB, FireWare Lokální & universální VL Bus PCI
architektura mostů severní / jižní most (angl. north / south bridge) 1. Čipové sady s architekturou severního / jižního mostu
Čipová sada Čipová sada (chipset) je hlavní logický integrovaný obvod základní desky. Jeho úkolem je řídit komunikaci mezi procesorem a ostatními zařízeními a obvody. V obvodech čipové sady jsou integrovány
Z čeho se sběrnice skládá?
Sběrnice Co je to sběrnice? Definovat sběrnici je jednoduché i složité zároveň. Jedná se o předávací místo mezi (typicky) více součástkami počítače. Sběrnicí však může být i předávací místo jen mezi dvěma
EXTRAKT z mezinárodní normy
EXTRAKT z mezinárodní normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním materiálem o normě ICS: 03.220.01; 35.240.60 Komunikační infrastruktura pro pozemní mobilní zařízení (CALM)
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
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í
Profilová část maturitní zkoušky 2013/2014
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA
MODERNÍ METODY KÓDOVÁNÍ ŘEČI PRO PŘENOS PO MOBILNÍ SÍTI
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
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:
SYSTÉM KX-NCP500X/V EXPRESS NA KAŽDÉM A KAŽDÉM ZÁLEŽÍ HOVORU HOVORU
SYSTÉM KX-NCP500X/V EXPRESS NA KAŽDÉM HOVORU A KAŽDÉM ZÁLEŽÍ HOV ÁLEŽÍ HOVORU ORU NCP500 NOVÉ FIREMNÍ KOMUNIKAČNÍ SYSTÉMY Nové komunikační systémy NCP500 Express jsou navrženy s cílem zajistit rychlé a
Připojení k rozlehlých sítím
Připojení k rozlehlých sítím Základy počítačových sítí Lekce 12 Ing. Jiří ledvina, CSc Úvod Telefonní linky ISDN DSL Kabelové sítě 11.10.2006 Základy počítačových sítí - lekce 12 2 Telefonní linky Analogové
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ě
Měřicí technika pro automobilový průmysl
Měřicí technika pro automobilový průmysl Ing. Otto Vodvářka Měřicí a testovací technika R&S otto.vodvarka@rohde-schwarz.com l Elektronika v moderním automobilu l Procesory l Komunikace po sběrnici l Rozhlasový
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í
Systémy pro sběr a přenos dat
Systémy pro sběr a přenos dat Centralizované SPD VME, VXI Compact PCI, PXI, PXI Express Sběrnice VME 16/32/64 bitová paralelní sběrnice pro průmyslové aplikace Počátky v roce 1981 neustále se vyvíjí původní
VY_32_INOVACE_ENI_2.MA_05_Modulace a Modulátory
Číslo projektu Číslo materiálu CZ.1.07/1.5.00/34.0581 VY_32_INOVACE_ENI_2.MA_05_Modulace a Modulátory Název školy Střední odborná škola a Střední odborné učiliště, Dubno Autor Ing. Miroslav Krýdl Tematická
EXTRAKT z české technické normy
EXTRAKT z české technické normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním 35.240.60 materiálem o normě. Komunikační infrastruktura pro pozemní mobilní zařízení (CALM) Architektura
TCP-Wedge ZDARMA. Přidává podporu TCP/IP: Sběr dat z adres portu IP na libovolné síti TCP/IP - ethernet / internet.
Katalogový list www.abetec.cz Software WinWedge Professional pro sběr dat 15-1003E Obj. číslo: 106001285 Výrobce: Mark-10 Corporation Anotace Přenáší data do libovolného programu Windows. Poskytuje plný
Počítač jako elektronické, Číslicové zařízení
Počítač jako elektronické, Číslicové Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1135_Počítač jako elektrornické, číslicové _PWP Název školy: Číslo a název projektu: Číslo a název šablony
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
Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií
VY_32_INOVACE_31_09 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední
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),
Direct Digital Synthesis (DDS)
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Ing. Radek Sedláček, Ph.D., katedra měření K13138 Direct Digital Synthesis (DDS) Přímá číslicová syntéza Tyto materiály vznikly za podpory
Systémy pro měření, diagnostiku a testování prototypů II. Odůvodnění vymezení technických podmínek podle 156 odst. 1 písm. c) ZVZ
Název veřejné zakázky: Systémy pro měření, diagnostiku a testování prototypů II. Odůvodnění vymezení technických podmínek podle 156 odst. 1 písm. c) ZVZ Technická podmínka: Odůvodnění Zaškolení obsluhy:
OPS Paralelní systémy, seznam pojmů, klasifikace
Moorův zákon (polovina 60. let) : Výpočetní výkon a počet tranzistorů na jeden CPU chip integrovaného obvodu mikroprocesoru se každý jeden až dva roky zdvojnásobí; cena se zmenší na polovinu. Paralelismus
SPOJENÍ SE SVĚTEM VÍCEBUŇKOVÉ TELEFONNÍ SYSTÉMY SIP DECT SPOLEČNOSTI PANASONIC
SPOJENÍ SE SVĚTEM VÍCEBUŇKOVÉ TELEFONNÍ SYSTÉMY SIP DECT SPOLEČNOSTI PANASONIC TELEFONNÍ SYSTÉM DECT SPOLEČNOSTI PANASONIC, ZALOŽENÝ NA PROTOKOLU SIP Komunikační systémy, založené na protokolu SIP, přinesly
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ů.
Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115
Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: CZ.1.07/1.5.00/34.0410 Číslo šablony: 17 Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek:
Základní komunikační řetězec
STŘEDNÍ PRŮMYSLOVÁ ŠKOLA NA PROSEKU EVROPSKÝ SOCIÁLNÍ FOND Základní komunikační řetězec PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Podpora kvality výuky informačních a telekomunikačních technologií ITTEL
Rozdíl mezi ISDN a IDSL Ú ústředna K koncentrátor pro agregaci a pro připojení k datové síti. Pozn.: Je možné pomocí IDSL vytvořit přípojku ISDN.
xdsl Technologie xdsl jsou určeny pro uživatelské připojení k datové síti pomocí telefonní přípojky. Zkratka DSL (Digital Subscriber Line) znamené digitální účastnickou přípojku. Dělí se podle typu přenosu
Témata profilové maturitní zkoušky
Obor: 18-20-M/01 Informační technologie Předmět: Databázové systémy Forma: praktická 1. Datový model. 2. Dotazovací jazyk SQL. 3. Aplikační logika v PL/SQL. 4. Webová aplikace. Obor vzdělání: 18-20-M/01
CHARAKTERISTIKA MODERNÍCH PENTIÍ. Flynnova klasifikace paralelních systémů
Úvod: CHARAKTERISTIKA MODERNÍCH PENTIÍ Flynnova klasifikace paralelních systémů Paralelní systémy lze třídit z hlediska počtu toků instrukcí a počtu toků dat: SI systém s jedním tokem instrukcí (Single
Fakulta elektrotechniky a komunikačních technologií Ústav radioelektroniky. prof. Ing. Stanislav Hanus, CSc v Brně
Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Ústav radioelektroniky Autor práce: Vedoucí práce: prof. Ing. Stanislav Hanus, CSc. 3. 6. 22 v Brně Obsah Úvod Motivace
Historie počítačů. 0.generace. (prototypy)
Historie počítačů Historie počítačů se dělí do tzv. generací, kde každá generace je charakteristická svou konfigurací, rychlostí počítače a základním stavebním prvkem. Generace počítačů: Generace Rok Konfigurace
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
C2115 Praktický úvod do superpočítání
C2115 Praktický úvod do superpočítání IX. lekce Petr Kulhánek, Tomáš Bouchal kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta, Masarykova univerzita, Kotlářská 2, CZ-61137
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:
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
21. DIGITÁLNÍ SÍŤ GSM
21. DIGITÁLNÍ SÍŤ GSM Digitální síť GSM (globální systém pro mobilní komunikaci) je to celulární digitální radiotelefonní systém a byl uveden do provozu v roce 1991. V České republice byl systém spuštěn
Procesor Intel Pentium (1) Procesor Intel Pentium (3) Procesor Intel Pentium Pro (1) Procesor Intel Pentium (2)
Procesor Intel Pentium (1) 32-bitová vnitřní architektura s 64-bitovou datovou sběrnicí Superskalární procesor: obsahuje více než jednu (dvě) frontu pro zřetězené zpracování instrukcí (značeny u, v) poskytuje
PCM30U-ROK 2 048/256 kbit/s rozhlasový kodek stručný přehled
2 048/256 kbit/s rozhlasový kodek stručný přehled TELEKOMUNIKACE, s.r.o. Třebohostická 5, 100 43 Praha 10 tel: (+420) 23405 2429, 2386 e-mail: pcm30u@ttc.cz web: http://www.ttc.cz, http://sweb.cz/rok-ttc
MOBILNÍ KOMUNIKACE LABORATORNÍ CVIČENÍ. VoIP přenos hlasu v prostředí IP. MAREK Michal Po 10:00. ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ Fakulta elektrotechnická
MAREK Michal Po 10:00 LABORATORNÍ CVIČENÍ ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ Fakulta elektrotechnická MOBILNÍ KOMUNIKACE SEMESTRÁLNÍ PRÁCE VoIP přenos hlasu v prostředí IP Letní semestr 2006/2007 Počet stran:
Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012
Přednáška Správa paměti II. 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
Flow-X PRŮTOKOMĚR. On-line datový list
On-line datový list Objednací informace A PRO MĚŘENÍ PLYNU TRAZVUKOVÝCH PLYNOMĚRŮ OD SPOB SICK C D Popis produktu E F Typ Výrobek č. Na vyžádání Přesné specifikace přístrojů a údaje o výkonu výrobku se
Představení a vývoj architektur vektorových procesorů
Představení a vývoj architektur vektorových procesorů Drong Lukáš Dro098 1 Obsah Úvod 3 Historie, současnost 3 Architektura 4 - pipelining 4 - Operace scatter a gather 4 - vektorové registry 4 - Řetězení
Praktické úlohy- 2.oblast zaměření
Praktické úlohy- 2.oblast zaměření Realizace praktických úloh zaměřených na dovednosti v oblastech: Měření specializovanými přístroji, jejich obsluha a parametrizace; Diagnostika a specifikace závad, měření
Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115
Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: 3 CZ.1.07/1.5.00/34.0410 Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek:
Architektura procesoru ARM
Architektura procesoru ARM Bc. Jan Grygerek GRY095 Obsah ARM...3 Historie...3 Charakteristika procesoru ARM...4 Architektura procesoru ARM...5 Specifikace procesoru...6 Instrukční soubor procesoru...6
Sběrnicová architektura POT POT. Jednotlivé subsystémy počítače jsou propojeny sběrnicí, po které se přenáší data oběma směry.
Systémov mová sběrnice 1 Sběrnicová architektura Jednotlivé subsystémy počítače jsou propojeny sběrnicí, po které se přenáší data oběma směry. Single master jeden procesor na sběrnici, Multi master více
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
Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače
V roce 1945 vystoupil na přednášce v USA matematik John von Neumann a představil architekturu samočinného univerzálního počítače (von Neumannova koncepce/schéma/architektura). Základy této koncepce se
Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit
Jednoduché stránkování Operační systémy Přednáška 8: Správa paměti II Hlavní paměť rozdělená na malé úseky stejné velikosti (např. 4kB) nazývané rámce (frames). Program rozdělen na malé úseky stejné velikosti
2N VoiceBlue Next. 2N VoiceBlue Next & Siemens HiPath (series 3000) Propojení pomocí SIP trunku. Quick guide. Version 1.
2N VoiceBlue Next 2N VoiceBlue Next & Siemens HiPath (series 3000) Propojení pomocí SIP trunku Quick guide Version 1.00 www.2n.cz 1 2N VoiceBlue Next má tyto parametry: IP adresa 192.168.1.120 Příchozí
Architekura mikroprocesoru AVR ATMega ( Pokročilé architektury počítačů )
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Architekura mikroprocesoru AVR ATMega ( Pokročilé architektury počítačů ) Führer Ondřej, FUH002 1. AVR procesory obecně
1 Osobní počítač Obecně o počítačích Technické a programové vybavení... 4
1 Osobní počítač... 2 1.1 Architektura IBM PC... 2 2 Obecně o počítačích... 3 2.1 Co jsou počítače dnes... 3 3 Technické a programové vybavení... 4 3.1 Hardware... 4 3.1.1 Procesor... 4 3.1.2 Sběrnice...
Charakteristika dalších verzí procesorů v PC
Charakteristika dalších verzí procesorů v PC 1 Cíl přednášky Poukázat na principy tvorby architektur nových verzí personálních počítačů. Prezentovat aktuální pojmy. 2 Úvod Zvyšování výkonu cestou paralelizace
Procesor. Hardware - komponenty počítačů Procesory
Procesor Jedna z nejdůležitějších součástek počítače = mozek počítače, bez něhož není počítač schopen vykonávat žádné operace. Procesor v počítači plní funkci centrální jednotky (CPU - Central Processing
Témata profilové maturitní zkoušky z předmětu Souborná zkouška z odborných elektrotechnických předmětů (elektronická zařízení, elektronika)
ta profilové maturitní zkoušky z předmětu Souborná zkouška z odborných elektrotechnických předmětů (elektronická zařízení, elektronika) 1. Cívky - vlastnosti a provedení, řešení elektronických stejnosměrných
Hlavní parametry rádiových přijímačů
Hlavní parametry rádiových přijímačů Zpracoval: Ing. Jiří Sehnal Pro posouzení základních vlastností rádiových přijímačů jsou zavedena normalizovaná kritéria parametry, podle kterých se rádiové přijímače
NSWI /2011 ZS. Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA
Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA Literatura W.Stallings: Computer Organization & Architecture J.L.Hennessy, P.A.Patterson: Patterson: Computer Architecture: a Quantitative Approach
VIDEOKONFERENČNÍ ŘEŠENÍ
VIDEOKONFERENČNÍ ŘEŠENÍ 1. KOMPONENTY 1.1. HLAV NÍ VI DEOKON FEREN ČNÍ JEDNOTK A RadvisionScopia XT1000 Videokonferenční zařízení pro použití v konferenčních místnostech Full HD přenos a zobrazování -
Definice pojmů a přehled rozsahu služby
PŘÍLOHA 1 Definice pojmů a přehled rozsahu služby SMLOUVY o přístupu k infrastruktuře sítě společnosti využívající technologie Carrier IP Stream mezi společnostmi a Poskytovatelem 1. Definice základních
ZÁKLADNÍ METODY REFLEKTOMETRIE
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV RADIOELEKTRONIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF
Moderní multimediální elektronika (U3V)
Moderní multimediální elektronika (U3V) Prezentace č. 13 Moderní kompresní formáty pro přenosné digitální audio Ing. Tomáš Kratochvíl, Ph.D. Ústav radioelektroniky, FEKT VUT v Brně Program prezentace Princip
Procesor. Procesor FPU ALU. Řadič mikrokód
Procesor Procesor Integrovaný obvod zajišťující funkce CPU Tvoří srdce a mozek celého počítače a do značné míry ovlivňuje výkon celého počítače (čím rychlejší procesor, tím rychlejší počítač) Provádí jednotlivé
MODUL 3 KANÁLOVÉHO D/A PŘEVODNÍKU 0 25 ma
MODUL 3 KANÁLOVÉHO D/A VLASTNOSTI 3 galvanicky oddělené pasivní proudové výstupy izolační napětí mezi kanály 600V () 16-ti bitový D/A převod kontrola integrity proudové smyčky definovaná hodnota výstupu
9. PRINCIPY VÍCENÁSOBNÉHO VYUŽITÍ PŘENOSOVÝCH CEST
9. PRINCIPY VÍCENÁSOBNÉHO VYUŽITÍ PŘENOSOVÝCH CEST Modulace tvoří základ bezdrátového přenosu informací na velkou vzdálenost. V minulosti se ji využívalo v telekomunikacích při vícenásobném využití přenosových
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í
25. DIGITÁLNÍ TELEVIZNÍ SIGNÁL A KABELOVÁ TELEVIZE
25. DIGITÁLNÍ TELEVIZNÍ SIGNÁL A KABELOVÁ TELEVIZE Digitalizace obrazu a komprese dat. Uveďte bitovou rychlost nekomprimovaného číslicového TV signálu a jakou šířku vysílacího pásma by s dolním částečně
Pokročilé architektury počítačů
Pokročilé architektury počítačů Architektura IO podsystému České vysoké učení technické, Fakulta elektrotechnická A4M36PAP Pokročílé architektury počítačů Ver.1.00 2010 1 Co je úkolem? Propojit jednotlivé
Kapitola 1. Signály a systémy. 1.1 Klasifikace signálů
Kapitola 1 Signály a systémy 1.1 Klasifikace signálů Signál představuje fyzikální vyjádření informace, obvykle ve formě okamžitých hodnot určité fyzikální veličiny, která je funkcí jedné nebo více nezávisle
Flow-X PRŮTOKOMĚR. On-line datový list
On-line datový list A B D E F H I J K L M N O P Q R S T Objednací informace Typ Výrobek č. Na vyžádání Přesné specifikace přístrojů a údaje o výkonu výrobku se mohou odlišovat a závisí na dané aplikaci
VY_32_INOVACE_E 15 03
Název a adresa školy: Střední škola průmyslová a umělecká, Opava, příspěvková organizace, Praskova 399/8, Opava, 746 01 Název operačního programu: OP Vzdělávání pro konkurenceschopnost, oblast podpory
Úloha 1. Úloha 2. Úloha 3. Text úlohy. Text úlohy. Text úlohy
Úloha 1 Zkratka ERP jako celopodniková transakční aplikace znamená: a. Enterprise Route Planning b. Enterprise Resource Planning c. Enterprise Re-implementation Planning d. Enterprise Resource Processing
Datové přenosy CDMA 450 MHz
37MK - seminární práce Datové přenosy CDMA 450 MHz Vypracoval: Jan Pospíšil, letní semestr 2007/08 43. Datové přenosy CDMA 450 MHz CDMA Co je CDMA CDMA je zkratka anglického výrazu Code Division Multiple