Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO

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

Download "Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO"

Transkript

1 FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO Garant předmětu: doc. Ing. Jiří Mišurec, CSc. Autoři textu: doc. Ing. Jiří Mišurec, CSc. BRNO * 2014 Vznik těchto skript byl podpořen projektem č. CZ.1.07/2.2.00/ Evropského sociálního fondu a státním rozpočtem České republiky.

2 2 FEKT Vysokého učení technického v Brně Autor doc. Ing. Jiří Mišurec, CSc. Název Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO Vydavatel Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Ústav telekomunikací Technická 12, Brno Vydání první Rok vydání 2014 Náklad elektronicky ISBN Tato publikace neprošla redakční ani jazykovou úpravou

3 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO 3 Obsah 1 ÚVOD DO ČÍSLICOVÉHO ZPRACOVÁNÍ SIGNÁLŮ DISKRÉTNÍ A ČÍSLICOVÉ SIGNÁLY A SYSTÉMY Diskrétní signály Základní diskrétní signály Klasifikace jednorozměrných diskrétních signálů Diskrétní systémy Počáteční podmínky Klasifikace diskrétních systémů Lineární časově invariantní diskrétní systém (LTI) Kauzalita a stabilita LTI diskrétního systému 23 3 TRANSFORMACE A JEJÍ POUŽITÍ Definice a vlastnosti transformace Slovník obrazů transformace Zpětná transformace Metoda mocninné řady Metoda parciálních zlomků Integrální metoda 29 4 KMITOČTOVÁ ANALÝZA DISKRÉTNÍCH SIGNÁLŮ A SYSTÉMŮ Kmitočtová analýza diskrétních signálů Fourierovy řady Fourierova řada v komplexním tvaru Fourierova řada v reálném tvaru Fourierova řada v elektrotechnickém tvaru Fourierova transformace Rychlá Fourierova transformace FFT Modifikovaná diskrétní Fourierova transformace - MDFT Jednorozměrná diskrétní kosinusová transformace - DCT KORELACE Korelace Autokorelace KONVOLUCE... 60

4 4 FEKT Vysokého učení technického v Brně 6.1 Konvoluce Lineární konvoluce Cyklická konvoluce ČÍSLICOVÉ FILTRY Metody návrhu číslicových filtrů SOUVISLOST MEZI FOURIEROVOU TRANSFORMACÍ DISKRÉTNÍHO SIGNÁLU A DFT Výpočetní náročnost algoritmu DFT Algoritmus FFT pro výpočet DFT Rozmazání spektra Datová ( časová ) okna Kmitočtová filtrace pomocí DFT Praktická aplikace DFT a FFT TECHNICKÉ PROSTŘEDKY ČÍSLICOVÉHO ZPRACOVÁNÍ SIGNÁLŮ Použití univerzálních obvodů k číslicovému zpracování Speciální obvody s paralelní architekturou Signálové procesory - architektura Signálové procesory příklad implementace LITERATURA...106

5 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO 5 1 Úvod do číslicového zpracování signálů Cílem této úvodní kapitoly je především si zopakovat základní definiční pojmy diskrétního a číslicového signálu a způsob jeho získávání v celém technickém řetězci zpracování. Tento úvod je stručný, neboť základní znalosti o diskrétních a číslicových signálech a systémech jsou prerekvizitou studia tohoto předmětu. Předpokládané znalosti lze čerpat z uvedené literatury nebo z předmětu Analýza signálů a soustav (BASS), jehož studium předchází tomuto předmětu a tento předmět je spojníkem na další již specializované předměty, zabývající se číslicovým zpracováním tak, aby základní poznatky a souvislosti číslicového zpracování byly studentem již dobře zvládnuty a zažity. Jednotlivé obory lidské činnosti mají různý pohled na fyzikální jevy, které se dějí kolem nás. Důležité při analýze těchto jevů je postihnout vlastnosti fyzikálních veličin, jejich návaznosti a souvislosti. Vlastnosti fyzikálních veličin popisujeme signály. Soustavami nebo systémy rozumíme fyzikální objekty, kde fyzikální veličiny - signály vznikají, vyvíjejí se a zanikají. Základní třídění signálů a systému lze nalézt v lit. [9]. My se zde budeme zabývat pouze diskrétními a číslicovými signály a systémy. Diskrétní signál získáme z analogového signálu (signál se souvislým časem a souvislou množinou hodnot) například pomocí vzorkování. Číslicové signály získáme z diskrétních signálů pomocí kvantování (množina možných hodnot signálu je konečná) a vyjádřením jednotlivých hodnot většinou ve dvojkové číselné soustavě tj. kódováním. Druhy vzorkování a jejich vlastnosti lze nalézt např. v lit. [6], [9]. Srovnání a analogového a číslicového zpracování je dobře patrné z obr číslicový vstupní signál x[n] číslicový výstupní signál y[n] Obr. 1.1: Základní bloky analogového a číslicového zpracování. Je zřejmé, že číslicové systémy obsahují více dílčích bloků, které jsou nutné pro vlastní zpracování signálu v číslicové podobě. Tato zdánlivá složitost však poskytuje nové možnosti zpracování signálu, ale také nové problémy. Chceme-li tedy nalézt ekvivalent analogového a číslicového zpracování, bude blokový řetězec zpracování odpovídat blokovému schématu uvedenému na obr. 1.2.

6 6 FEKT Vysokého učení technického v Brně Obr. 1.2: Základní bloky číslicového systému. Pro potřeby tohoto předmětu si vymezíme diskrétní systém blokem tak, jak je uvedeno na obr. 1.2, tedy bude se jednat o takový systém, kdy vstupním a výstupním signálem bude posloupnost vzorků číslicového signálu a diskrétní systém provádí se vstupními vzorky potřebné matematické operace. Funkce diskrétního systému je zpravidla popsána přenosovou funkcí nebo diferenční rovnicí, na rozdíl od analogového systému, který je popsán diferenciální rovnicí. Vlastní zpracování číslicového signálu můžeme kategorizovat do dvou oblastí: Vzorkujeme-li analogový signál x a (t) se vzorkovací periodou T = 1/f vz, kde f vz je vzorkovací kmitočet, pak pro posloupnost vzorků platí: xn x nt n. (1.1) a, Posloupnost čísel x[n] reprezentuje časově diskrétní signál. Matematicky je formálně posloupnost vyjadřována uzavřením x[n] do složených závorek, tedy:

7 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO 7 xn, x n, kde je obor celých čísel. (1.2) V oboru číslicového zpracování signálu se složené závorky většinou nepíší. Chceme-li vyjádřit jeden člen posloupnosti, pak jej zapíšeme jako x[k], x[i], x[o], x[158], x[ 8] apod. Symbolem x[n] budeme označovat všechny hodnoty jednotlivých vzorků, tj. celou posloupnost x[n], kde n pak označuje n-tý vzorek posloupnosti. Abychom odlišili diskrétní a analogové signály budeme používat různé značení. Posloupnost je funkce nad oblastí množiny celých čísel a budeme používat hranatých závorek jako x[n], y[o], s[m] apod. Funkce nad množinou reálných čísel budeme označovat pomocí kulatých závorek jako x(t), v(t), y(τ ) apod. Vztah (1.1) je možné pomocí této symboliky zapsat takto: a ( ). x n x t (1.3) tnt Jedná se o matematicky ne zcela přesné vyjádření, které znamená, že diskrétní signál x[n] je získán vzorkováním analogového signálu x a (t) v časových okamžicích t = nt. Někdy se také pro vyjádření posloupnosti místo hranatých závorek používá závorek kulatých, tj. místo x[n] se píše x(n). Jedná se pouze o formu zápisu a pokud se celá publikace zabývá pouze diskrétními a číslicovými signály a systémy, pak nemusí docházet k nepochopení toho, co autor myslí. V případě, že jsou popisovány jak analogové, tak i diskrétní signály, nemusí být vždy zřejmé, o jaký popis se jedná a může docházet k nedorozuměním. Rozdílnost zápisu analogového a diskrétního signálu je zřetelně patrná z obr spojitý signál x(t) 1 0,5 0,5 0 spojitý čas proměnná t 1 1 diskrétní signál x[t] 0,5 0, diskrétní čas index n 1 t s Obr. 1.3: Forma značení analogového a číslicového signálu.

8 8 FEKT Vysokého učení technického v Brně Na závěr této části zopakujme ještě význam pojmů diskrétní a číslicový signál a základní vzorkovací poučku. Vyjděme např. z blokového schématu uvedeného na obr Na vstupu systému je tzv. anti-aliasingový filtr, který má charakter dolní propusti. Mezní kmitočet této dolní propusti určuje maximální kmitočet, který se bude vyskytovat ve zpracovávaném signálu. Tento kmitočet je důležitý ve vztahu k velikosti vzorkovacího kmitočtu f vz. Diskrétní signál je posloupností vzorků, která je obrazem analogového signálu v určitých po sobě jdoucích časových okamžicích. Diskrétní signál tedy získáme pomocí vzorkování analogového signálu. Pro bezeztrátové obnovení analogového signálu z jeho diskrétních vzorků musí platit vzorkovací poučka: vz f, tedy max f f vz max 2 2, (1.4) Kde f max (ω max = 2πf max ) je nejvyšší kmitočet složky spektra analogového signálu s uvažováním mezního kmitočtu dolní propusti na vstupu řetězce. V dalším kroku jsou vzorky převedeny pomocí kvantování na diskrétní hodnoty dané A/D převodníkem. Kvantování je tedy proces zaokrouhlení nekonečně mnoha hodnot jednotlivých vzorků analogového signálu na konečný počet (výstupních) hodnot tzv. kvantovacích hladin. Převedení signálu spojitého v modulu na signál kvantovaný vede vždy ke ztrátě informace. Rozhodovací hladiny jsou úrovně na kterých dochází k rozhodování na kterou kvantovací hladinu bude vstupní signál zaokrouhlen. Proces kvantování a zaokrouhlení je zjednodušeně naznačen na obr Obr. 1.4: Proces kvantování vzorků signálu.

9 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO 9 2 Diskrétní a číslicové signály a systémy Uvažujme obecný diskrétní systém, kdy na vstup je přivedena posloupnost vzorků signálu x[n] a na výstupu získáme posloupnost vzorků y[n]. Zápis signálů je možný dvěma způsoby, jak je uvedeno na obr Při malém počtu vzorků můžeme uvést výčet dané posloupnosti, při větším počtu je vhodnější zápis zkrácenou formou ve tvaru funkce. Obr. 2.1: Obecný diskrétní systém se zápisem vstupní a výstupní posloupnosti. V následujícím textu bude využíván zápis posloupnosti oběma uvedenými způsoby. 2.1 Diskrétní signály Jak již bylo uvedeno, lze diskrétní signály reprezentovat několika způsoby. V této kapitole uvedeme nejčastěji používané zápisy diskrétních signálů vhodné pro popis dějů v diskrétních systémech. Reprezentace definovanou funkcí: sn 0,9; 0,8; 0,7; 1,5; 2; 1; 0; pro n = 4 pro n = 3 pro n = 2;3 pro n = 1;1 pro n = 0 pro n = 2 pro ostatní n (2.1)

10 10 FEKT Vysokého učení technického v Brně Matematický zápis posloupnosti: 0,9; 0,8;0,7;1,5; 2;1,5;1;0,7 sn Reprezentace tabulkou: Grafická reprezentace: s[n] n Reprezentace analytickou funkcí: Základní operace se signály Základní operace s diskrétními signály (posloupností) jsou součet, součin, zpoždění a předsunutí. Součet dvou posloupností s 1 [n] a s 2 [n] je realizován vzorek po vzorku, tj. jsou sečteny odpovídající vzorky pro dané n: s n s n... s 2 s 2 ; s 1 s 1 ; s 0 s 0 ; s 1 s 1... (2.2) Součin dvou posloupností s 1 [n] a s 2 [n] je obdobně realizován jako součin vzorek po vzorku: s n s n... s 2 s 2 ; s 1 s 1 ; s 0 s 0 ; s 1 s 1... (2.3)

11 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO11 Zpoždění posloupnosti o celé číslo n 0 je definováno jako (obr. 2.2): ynxn n 0 (2.4) x[n] 2 3 n 0 = y[n] = x[n 2] n n Obr. 2.2: Zpoždění posloupnosti o 2 vzorky, (n 0 = 2). Předsunutí posloupnosti o celé číslo n 0 je definováno jako (obr. 2.3): znxn n 0 (2.5) x[n] z[n] = x[n+2] n 0 = n n Obr. 2.3: Předsunutí posloupnosti o 2 vzorky, (n 0 = 2) Základní diskrétní signály Existují diskrétní signály, které se často používají, protože mají určité specifické vlastnosti a je tedy vhodné je definovat. Jedná se především o posloupnost jednotkového impulsu a

12 12 FEKT Vysokého učení technického v Brně jednotkového skoku, harmonický signál, posloupnost reálné a komplexní exponenciály a posloupnost lineárně stoupající (rampový signál). Jednotkový impuls Posloupnost jednotkového impulsu je definována jako (viz obr. 2.4): n n 0 1 pro n 0 n 0 (2.6) n n n n Obr. 2.4: Grafické zobrazení jednotkového impulsu a zpožděný jednotkový impuls. Pomocí jednotkového impulsu δ[n] lze vyjádřit jakoukoliv jinou posloupnost, například: n 3 3 n 1n 2 2 n 7 p n a n a n a n a n (2.7) Grafické vyjádření takto zapsané posloupnosti je uvedeno na obr p[n] n Obr. 2.5: Grafické zobrazení posloupnosti p[n] zapsané vztahem (2.7).

13 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO13 Pro obecný signál tedy platí vztah daný sumou vhodně posunutých jednotkových impulsů potřebné velikosti. sn sin i (2.8) i Jednotkový skok Posloupnost jednotkového skoku je definována vztahem (obr. 2.6): un un 1 0 pro n 0 n 0 (2.9) u[n] n Obr. 2.6: Grafické zobrazení jednotkového skoku. Podobně lze vyjádřit opačný vztah, kdy jednotkový impuls je vyjádřen jako rozdíl dvou jednotkových skoků, kdy jeden je zpožděn o jeden vzorek. n un un 1. (2.10) Harmonický diskrétní signál Harmonický diskrétní signál je definován vztahem cos s n C n, (2.11) kde C je amplituda, ω = 2πf = 2π/T je úhlový kmitočet, T je perioda a φ je počáteční fáze.

14 14 FEKT Vysokého učení technického v Brně C s n Ccos n N 12, n C Obr. 2.7: Grafické zobrazení harmonického diskrétního signálu. Exponenciální diskrétní signál Exponenciální diskrétní signál je vyjádřen vztahem s n n a, pro všechna n. (2.12) Ve vztahu popisující signál, mohou nastat dva případy podle toho, zda základ a je reálné nebo komplexní číslo. Číslo a je reálné V tomto případě tvar diskrétního signálu bude závislý na na hodnotě základu a. Průběhy exponenciálního diskrétního signálu pro čtyři možné případy základu a jsou ukázány na obr. 2.8.

15 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO15 0 < a < 1 a > n n 1 < a < 0 a < n n Obr. 2.8: Exponenciální diskrétní signál pro různý základ a; šipka označuje hodnotu pro n=0 V praxi se nejvíce používá exponenciální diskrétní signál pro reálné a, který je kauzálním signálem, tedy n s n a u n, pro všechna n. (2.13) Příklad takovéhoto signálu pro a = 0,9 je uveden na obr ,5 s n 0,9 n u n n Obr. 2.9: Reálná exponenciála pro základ a = 0,9.

16 16 FEKT Vysokého učení technického v Brně Číslo a je komplexní Je-li číslo a komplexní, lze základ vyjádřit jako a r r r j e cos j sin. (2.14) Potom, dosadíme-li vztah (2.14) do definičního vztahu (2.12), získáme vztah j e n n n jn s n a r r e n r cosn jr sinn n n r cosn jr sinn. (2.15) Rampová posloupnost Posloupnost lineárně stoupajícího signálu tzv. rampová posloupnost - unit ramp je uvedena na obr a je definována vztahem r n u n n u r 0 pro n 0 n 0. (2.16) u r [n] n Obr. 2.10: Posloupnost lineárně stoupajícího diskrétního signálu, rampová posloupnost Klasifikace jednorozměrných diskrétních signálů Energetické a výkonové signály Diskrétní signál s[n] má energii E, která je definována jako součet čtverců absolutních hodnot signálu dle následujícího vztahu n 2 E s n. (2.17)

17 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO17 Je-li E konečné číslo, tj. platí 0 < E <, pak nazýváme diskrétní signál s[n] energetickým signálem. Některé diskrétní signály mají nekonečnou hodnotu energie E, ale mají konečnou hodnotu středního výkonu, který je definován vztahem: 1 N P lim sn 2. (2.18) N 2 N 1 nn Definujeme-li energii v konečném intervalu N n N, pak platí: E N N nn 2 s n. (2.19) Srovnáme-li vztahy (2.17) a (2.19), dostaneme mezi nimi souvislost: E lim E N. (2.20) N Potom vztah (2.19) můžeme přepsat do tvaru: 1 P lim EN N 2 N 1. (2.21) Ze vztahu (2.21) je zřejmé, že pokud energie E je konečná (energetický signál), pak výkon je nulový, tj. P = 0. Na druhé straně existují diskrétní signály, u nichž je energie E nekonečná, a přesto výkon P je nenulový a konečný. Takové diskrétní signály budeme nazývat výkonové signály. Periodické a neperiodické signály Periodický diskrétní signál, je takový signál, u něhož lze najít pravidelně se opakující úsek hodnot o délce T 1. Tuto skutečnost je možné vyjádřit jako: s n T s n pro všechna T 1. (2.22) 1 Nejmenší hodnota T 1, pro kterou podmínka (2.22) platí, je základní perioda. 2.2 Diskrétní systémy V mnoha aplikacích hledáme obvod nebo algoritmus, který provede předepsané operace s diskrétními signály. Vybraný algoritmus může být naprogramován v počítači pomocí nějakého programu nebo je implementován přímo v procesoru prostřednictvím instrukcí ve

18 18 FEKT Vysokého učení technického v Brně strojovém kódu. Tento algoritmus nebo elektrický obvod, který tento algoritmus realizuje, budeme nazývat diskrétním systémem (obr. 2.11). x[n] vstupní signál (podnět, vybuzení) diskrétní systém y[n] výstupní signál (odezva) Obr. 2.11: Transformace signálu diskrétním systémem. Vstupní signál x[n] je diskrétním systémem zpracován (transformován) na signál výstupní y[n] na základě transformace T 1 { } : x n y n T 1 [ ]. (2.23) Tento popis diskrétního systému je tzv. vnější popis, kdy popis je dán vztahem vstup - výstup. Vnitřní struktura systému je buď ignorována, nebo ji neznáme. Pokud známe vnitřní strukturu diskrétního systému nebo vytvoříme její model, pak můžeme definovat vnitřní popis diskrétního systému: y n T 2 vi n, x[ n]. (2.24) Tomuto popisu se také říká stavový popis, neboť proměnné v i [n], i = 1, 2,... N jsou stavové vnitřní proměnné a jejich počet je dán řádem systému N Počáteční podmínky Uvažujme diskrétní systém, jehož výstupní signál y[n] v čase n = n 0 nezávisí pouze na hodnotách vstupního signálu x[n] v čase n = n 0 (tj. x[n 0 ]), kde n 0 je celé číslo, ale i na hodnotách signálu x[n] a y[n] před časem n = n 0. Uvažujme diskrétní systém typu akumulátor, jehož vztah vstup - výstup je definován diferenční rovnicí: y n n i Dosadíme-li do rovnice (2.25) čas n 1, tak obdržíme: x i. (2.25) n1 1 xi y n. (2.26) i Nyní rozepíšeme rovnice (2.25) a dosadíme (2.26):

19 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO19 n1 yn xi xn yn 1 xn. i rekurze (2.27) V čase n = n 0 podle (2.27) platí: 1 y n y n x n. (2.28) Hodnota y[n 0 1] představuje počáteční podmínku, která sumarizuje vliv všech předchozích vstupních vzorků na diskrétní systém. Pokud před časem n = n 0 nebyl diskrétní systém vybuzen vstupním signálem, je y[n 0 1] = 0 a říkáme, že diskrétní systém má nulové počáteční podmínky Klasifikace diskrétních systémů Statické a dynamické diskrétní systémy Diskrétní systém je považován za statický (bez paměti), pokud výstupní signál y[n] je závislý pouze na nynějším vzorku vstupního signálu x[n] a nezávisí na předchozích nebo budoucích vzorcích. Systém nemá paměť pro uložení vstupního nebo vstupních vzorků. Diferenční rovnice reprezentující statický systém mohou mít např. tvar: Statický systém a xn 3 y n y n n x n b x n. Dynamický diskrétní systém (nebo také systém s pamětí) ukládá vstupní nebo výstupní vzorky do paměti pro další výpočet. Diferenční rovnice, které reprezentují tento systém, mohou být například: Dynamický systém 3 1 y n x n x n n y n x n i i0 y n x n i i0 1 y n a y n b x n. Diskrétní systémy časově invariantní a časově proměnné Definujme vnější popis diskrétního systému pomocí transformace T{ } jako:

20 20 FEKT Vysokého učení technického v Brně x[ n] y n T. (2.29) Pro časově invariantní (časově neproměnný) diskrétní systém musí platit: [ ] y n i T x n i, (2.30) to znamená, že odezva musí zůstat stejná i při posunutí vstupního signálu o i vzorků. Pro časově proměnný diskrétní systém podmínka (2.30) neplatí. Lineární a nelineární diskrétní systémy Lineární diskrétní systém musí splňovat podmínku superpozice. Jestliže na vstup systému přivedeme signál a 1 x 1 [n] + a 2 x 2 [n], kde a 1, a 2 jsou libovolné komplexní konstanty, pak pro lineární systém platí podmínka principu superpozice a1 x1 n a2x2 n a1 x1 n a2 x2 n T T T. (2.31) Kauzální a nekauzální diskrétní systémy Diskrétní systém je kauzální (příčinný), když výstupní signál y[n] závisí pouze na nynějším a předešlých vzorcích vstupního signálu, tj. pouze na hodnotách x[n], x[n 1], x[n 2] atd. Nesmí záviset na budoucích vzorcích x[n + 1], x[n + 2] apod. Diferenční rovnice kauzálního systému jsou například y n x n x n y n y n n i ax n x i,. 1, Diferenční rovnice nekauzálního systému mohou například být 2 x n, 2,. y n x n 3x n 4, y n y n x n y n x n

21 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO21 Stabilní a nestabilní diskrétní systémy Libovolný diskrétní systém mající nulové počáteční podmínky je BIBO (Bounded Input - Bounded Output) stabilní, když odezva na omezený vstupní signál je také omezená. Matematicky to znamená, že existují-li konečná čísla M x a M y, pak pro stabilní diskrétní systém musí platit podmínky x n y n M x M y pro všechna n. (2.32) Je-li pro omezený vstupní signál x[n] výstupní signál y[n] neomezený (jdoucí k nekonečnu), znamená to, že je diskrétní systém nestabilní Lineární časově invariantní diskrétní systém (LTI) Mějme definovaný libovolný vstupní signál x[n] jako váženou sumu jednotkových impulsů podle (2.8) xn xin i. (2.33) i Nechť diskrétní systém transformuje vstupní signál na výstupní signál podle vztahu y n Dosadíme-li za x[n] podle vztahu (2.34), tak získáme T x n. (2.34) yn T xin i. (2.35) i Dále předpokládejme, že diskrétní systém je lineární systém a platí tedy princip superpozice. Potom rovnice (2.35) nabude tvaru: yn T xin i xit n i i i. (2.36) i x i h n i Odezva systému na vstupní signál jednotkového impulsu δ[n] se nazývá impulsní charakteristika h[n]. U lineárního systému je impulsní charakteristika definována jako:, h n i T n i. (2.37)

22 22 FEKT Vysokého učení technického v Brně Pokud diskrétní systém není časově invariantní, tak se budou impulsní charakteristiky h[n, i] od sebe odlišovat. Uvažujme, že diskrétní systém je časově invariantní. Potom bude platit h n T n, pak také musí být skutečnost, že je-li impulsní charakteristika h n i T n i. (2.38) Budeme-li předpokládat, že diskrétní systém je lineární a zároveň také časově invariantní, pak platí podmínky (2.35) a (2.38) současně. Potom lze vztah (2.36) přepsat do tvaru: yn T xin i xit n i i i i x i h n i x n h n. (2.39) Vztah mezi vstupním signálem x[n] a impulsní charakteristikou h[n] je dán operací diskrétní konvoluce. V anglické literatuře se lineární časově invariantní systém označuje zkratkou LTI (Linear Time Invariant). Diskrétní konvoluce má tyto vlastnosti: Komutativní zákon: xnhn hn xn. (2.40) Asociativní zákon: x n h n h n x n h n h n. (2.41) Distributivní zákon: x n h n h n x n h n x n h n. (2.42) Lineární diskrétní konvoluce - shrnutí Každý číslicový signál může být zapsán jako suma vážených jednotkových impulzů. Impulzní odezva je výstupní posloupnost LTI systému, kdy na vstupu působí pouze samotný jednotkový impulsů; délka impulzní odezvy může být různá a závisí na konkrétním číslicovém systému. V LTI systémech platí princip superpozice, kdy celková odezva systému na libovolnou vstupní posloupnost je vyjádřena jako součet dílčích výstupních posloupností, kdy na vstupu působí samostatně jednotlivé vzorky vstupní posloupnosti. Odezvu LTI systému při znalosti vstupní posloupnosti a impulzní odezvy systému vypočítáme pomocí vztahu lineární diskrétní konvoluce. Výše uvedený algoritmus výpočtu je poměrně výpočetně náročný, kdy je zapotřebí provést velký počet operací násobení a sčítání. Obecně mohou mít posloupnosti vstupující do výpočtu různou délku, výsledná délka výstupní posloupnosti je pak rovna N y = N x +N h 1.

23 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO23 Při praktické realizaci, kdy je důležitá doba výpočtu, se pro výpočet konvoluce využívá algoritmu pro rychlou Fourierovu transformaci (FFT), který je optimalizován z hlediska výpočetní rychlosti Kauzalita a stabilita LTI diskrétního systému Kauzální diskrétní systém je takový systém, jehož výstupní odezva v čase závisí na nynějších a předešlých vstupních vzorcích a nezávisí na vzorcích budoucích. V případě lineárního časově invariantního diskrétního systému (LTI) nechť platí n = n 0. Potom dosazením do rovnice (2.36): yn hi xn i. (2.43) 0 0 i Vztah (2.43) může rozdělit na dvě části: y n h i x n i h i x n i i i0 h 1 x n 1 h 2 x n nekauzální část h 0 x n h 1 x n 1 h 2 x n (2.44) kauzální část Ze vztahu (2.44) je zřejmé, že vzorky x[n 0 + 1], x[n 0 + 2] atd. předbíhají čas n = n 0, a proto je tato část nekauzální. Nyní tedy můžeme určit podmínku kauzality lineárního časově invariantního systému: hn 0 pro n < 0. (2.45) To znamená, že systém je kauzální tehdy, když všechny vzorky n < 0 impulsní odezvy h[n] jsou nulové.

24 24 FEKT Vysokého učení technického v Brně Uvažujeme-li, že diskrétní systém je stabilní, když pro vstupní omezený signál x n M, x platí, že výstupní signál je rovněž omezený, tedy y n M, y pro všechna n. Čísla M x a M y jsou čísla konečná. Pro lineární časově invariantní (LTI) diskrétní systém platí rovnice diskrétní konvoluce (2.39). Vypočítáme-li absolutní hodnotu výstupního signálu, tak dostaneme:. (2.46) y n h i x n i h i x n i i i Zároveň ovšem musí platit, že vstupní signál má hodnoty omezené. Potom x. (2.47) y n h i x n i M h i i i Aby výstupní hodnoty y[n] byly také omezené, pak nutná a postačující podmínka stability je hi. (2.48) i

25 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO25 3 Transformace a její použití Činnost spojitých (analogových) systémů je obecně popisována diferenciálními rovnicemi. K jejich řešení se využívají také integrální transformace, z nichž nejvíce se používá Laplaceova transformace. Vlastnosti diskrétních systémů a soustav jsou vyjadřovány pomocí diferenčních rovnic. Diferenční rovnice řešíme metodami diferenčního počtu nebo pomocí funkcionálních transformací posloupností, mezi něž také patří transformace. Cílem této kapitoly je definovat transformaci, uvést její vlastnosti a na příklad ukázat způsob jejího využití. 3.1 Definice a vlastnosti transformace Jednostrannou transformaci definujeme vztahem n sn, n (3.1) S z s n z n0 n0 za předpokladu, že mocninná řada konverguje posloupnost s[n] nazýváme posloupností schopnou transformace, jestliže řada (3.1) konverguje alespoň pro jedno (konečné) komplexní z, viz lit. [7]. Pro transformaci posloupnosti s[n] používáme symbolický zápis: sn S z nebo také sn S z z. (3.2) Jak bylo již vidět v příkladu 3.1 hledáme oblast, v níž lze řadu sečíst a výsledek je konečné číslo menší než. V tom případě říkáme, že řada konverguje a hledáme oblast konvergence. Oblast konvergence je určena poloměrem konvergence R. Pro příklad 3.1 je poloměr konvergence R = 1. Definiční vztah (3.1) popisuje tzv. jednostrannou (unilateral, one-sided) transformaci. Existuje také dvojstranná transformace, která je definována v mezích n (, + ), [3], [4], [7]. Diskrétní signál - posloupnost s[n] nazýváme předmětem a označujeme ji písmenem malé abecedy. Funkci S(z) nazýváme obrazem a označujeme ji odpovídajícím písmenem velké abecedy. Vlastnosti transformace : Linearita Transformace Z je lineární transformace. Nechť platí:

26 26 FEKT Vysokého učení technického v Brně S z a tn T z s n Potom. asnbtn as zb T z a, b (množina komplexních čísel). (3.3) Ke vztahu (3.3) lze dospět jednoduchým výpočtem: n as n bt n as n bt n z n0 n n a s n z b t n z as z bt z n0 n0. Zpožděná posloupnost (posun doprava) Posloupnost zpožděná o m vzorků, když m je přirozené číslo, tj. m má obraz: m když sn S z s n m z S z. (3.4) Předsunutá posloupnost (posun doleva) m1 m mi, m, sn S z s n m z S z s i z i0. (3.5) Derivace obrazu d S z z n sn. (3.6) d z Diskrétní konvoluce posloupností Konvoluce dvou diskrétních signálů s[n] a t[n] je dána vztahem: a platí-li wn snt n sn mt m, S z a tn T z s n,

27 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO27 pak transformace diskrétní konvoluce je: W zs z T z. (3.7) Dosah vztahu (3.7) je v číslicovém zpracování signálů při výpočtu diskrétní konvoluce poměrně zásadní. Výpočtově poněkud složitý vzorec diskrétní konvoluce je převeden na prosté násobení. Na druhou stranu mohou ovšem nastat problémy při zpětné transformaci. Součin s exponenciální posloupností z n a s n u n S a, a 0 (3.8) Věta o počáteční hodnotě Jestliže s[n] je kauzální posloupnost, tj. platí s[n] = 0 pro n < 0, pak: z s 0 lim S z. (3.9) Diskrétní signál je reálný Posloupnost s[n] má své hodnoty dány pouze reálnými čísly. Potom pro obrazy transformace platí: kde symbol vyjadřuje komplexně sdruženou hodnotu. S z S z, (3.10)

28 28 FEKT Vysokého učení technického v Brně 3.2 Slovník obrazů transformace Signál obraz Oblast konvergence Pozn. n 1 pro všechna z n m m z pro všechna z m 0 un 1 n un n a u n a n1 u n 1 n un n n a u n n 1un 1 n1 n 1a un 1 2 n n u n 2 n a u n 2 n 1un 1 z z 1 z z 1 z z a 1 z a z z 1 2 za z a 2 1 z 1 2 z z a 2 z z1 z 1 3 a z a 3 za z z 1 z 1 3 z sin sink un 2 z 2zcos 1 cosk un z z cos 2 z 2zcos 1 sink un zzsinsin 2 z 2zcos 1 cos k un zzcos cos 2 z 2zcos 1 z 1 z 1 z z a a z 1 z a z 1 z a z 1 z a z 1 z 1 z 1 z 1 z 1

29 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO Zpětná transformace Zpětnou (inverzní) transformací rozumíme postup určení předmětu, tj. posloupnosti s[n] k danému obrazu S(z). Používáme symbolický zápis s n 1 F z. (3.11) Zpětnou transformaci můžeme provádět několika způsoby. Zde si uvedeme tři možnosti Metoda mocninné řady Funkci S(z) rozvineme do nekonečné mocninné řady v mocninách z 1 v příslušné oblasti konvergence. Připomeňme definici transformace - viz vztah (3.1) - a z něj můžeme získat jednotlivé členy posloupnosti, které jsou vzájemně zpožděny vždy o jeden vzorek (věta o zpoždění posloupnosti) Metoda parciálních zlomků Tuto metodu lze využít, je-li S(z) racionální funkce ve tvaru S z b z b z b z... b z b z a z a z a z a m m1 m m1 n n1 n n1 n m pro m n. (3.12) Kořeny čitatele vztahu (3.12) jsou nulové body funkce S(z) a kořeny jmenovatele jsou póly funkce S(z). Je-li S(z) vyjádřena pomocí parciálních zlomků, tedy S z S1 z S2 z S3 z..., (3.13) pak z linearity inverzní transformace obdržíme s n S z S1 z S2 z S3 z.... (3.14) Pro nalezení -1 {S i (z)}, i = 1, 2, 3,... využijeme slovník transformace Integrální metoda Obecný způsob zpětné transformace spočívá v použití Cauchyho integrální věty k určení koeficientů Laurentova rozvoje. Potom je definiční vztah zpětné transformace určen jako [7], [11]:

30 30 FEKT Vysokého učení technického v Brně 1 n1 sn S z z d z 2 j, pro n = 0, 1, 2,..., s[n] = 0 pro n < 0 (3.15) c Křivkový integrál je počítán po křivce C, která leží v oblasti konvergence obrazu. V oblasti uzavřené touto křivkou leží všechny singulární body operandu S(z)z n 1. POZNÁMKA Definiční tvar transformace S z s n z n0 n je Laurentovou řadou v bodě 0, která je definována pro z > R, kde R je poloměr konvergence. Hodnoty diskrétního signálu s[n] jsou koeficienty Laurentovy řady. POZNÁMKA Cauchyho integrál lze vypočítat pomocí reziduové věty, viz např. lit. [7], [11]. Pokud je obraz S(z) ve tvaru racionální lomené funkce ve tvaru: S z m m1 m m1 n n1 n n1 b z b z b z... b z b P z m z a z a z a z a Q z n, (3.16) lze reziduum pro jednoduchý pól z i vypočítat podle následujícího vztahu: kde rez dq z Qzi. dz zz P z S z z z z S z z z, (3.17) lim n1 n1 i n1 zzi i i zzi Q zi i

31 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO31 4 Kmitočtová analýza diskrétních signálů a systémů V příspěvku královské akademii v roce 1672 Isaac Newton použil poprvé pojem spektrum. Nazval tak spojité pásmo barev produkované skleněným hranolem (obr. 4.1). Z fyziky víme, že každá barevná složka světla má určitý kmitočet. Proto analýze spektra říkáme také kmitočtová analýza. Tuto analýzu nemusíme provádět jen se světlem, ale můžeme vybrat jakýkoliv jiný signál jako funkci času (obrazový nebo zvukový signál, signály z čidel apod.) Obr. 4.1: Analýza a syntéza světla pomocí skleněného hranolu. Základními prostředky pro kmitočtovou analýzu spojitých signálů jsou Fourierova řada a Fourierova transformace. Je známo, že časově spojité periodické signály lze rozložit pomocí Fourierovy řady teoreticky do nekonečného počtu harmonických složek (sinusovek a kosinusovek). Spektrum časově spojitého signálu konečného trvání lze určit pomocí Fourierovy transformace. Periodické diskrétní signály (posloupnosti) je možné rozložit pouze do konečného počtu N harmonických složek pomocí časově diskrétní Fourierovy řady.

32 32 FEKT Vysokého učení technického v Brně 4.1 Kmitočtová analýza diskrétních signálů 4.2 Fourierovy řady Každý energetický signál x(t) lze periodicky prodloužit a nahradit jeho periodické prodloužení x'(t) součtem Fourierovy řady. Periodické prodloužení x'(t) nahrazuje v bodech nespojitosti původní signál x(t) průměrem limit zleva a zprava v bodě nespojitosti Fourierova řada v komplexním tvaru. Periodické prodloužení signálu x(t) je aproximováno (4.1) kde f 0 je základní frekvence signálu, daná 1/T 0, kde T 0 je základní perioda signálu, nω 0 = 2πnf 0 jsou celočíselné násobky úhlové frekvence, a c[nf 0 ] jsou koeficienty Fourierovy řady, pro něž platí (4.2) (4.3) kde t 0 je počáteční bod základní periody signálu a T 0 je délka základní periody signálu. Pro koeficienty c[nf 0 ] platí c[nf 0 ] = c*[ n], c[nf 0 ] = c[ n], arg(c[nf 0 ]) = arg(c[ n]). Koeficient c 0 nazýváme stejnosměrnou složkou signálu. Fourierovu řadu v komplexním tvaru lze přepsat do podoby (4.4) V první sumě zaměníme pořadí sumace (je lhostejné, zda nejprve přičtu prvek s indexem nebo prvek s indexem 1) a změníme znaménko, to umístíme přímo k indexům n. (4.5) Získali jsme 2 sumy se stejným rozsahem sumace, můžeme je tudíž sloučit

33 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO33 (4.6) Využijeme goniometrického tvaru komplexních čísel (4.7) Víme, že cos(x) je sudá funkce a sin(x) je lichá funkce, tedy (4.8) Můžeme vytknout cos(2πnf 0 t) a sin(2πnf 0 t), přeznačíme a dostaneme (4.9) tedy výsledná Fourierova řada bude mít tvar (4.10) Fourierova řada v reálném tvaru. (4.11) kde To je základní perioda signálu a a[0], a[nf 0 ] a b[nf 0 ] jsou koeficienty Fourierovy řady, pro něž platí (4.12)

34 34 FEKT Vysokého učení technického v Brně (4.13) (4.14) Vzhledem k tomu, že jednotlivé části sumy jsou na sobě nezávislé, můžeme rozepsat jako (4.15) a na celek se dívat jako na součet kosinusovak a sinusovek zvlášť... Mezi koeficienty Fourierovy řady v komplexním a reálném tvaru platí vztah (4.16) (4.17) (4.18) (4.19) (4.20) (4.21) kde c*[nf 0 ] označuje číslo komplexně sdružené k c[nf 0 ]. Ve frekvenční oblasti lze periodické prodloužení signálu popsat jeho amplitudovým a fázovým spektrem. Amplitudové spektrum Fourierovy řady v reálném tvaru je dáno členy (4.22) (4.23) pro spektrum fázové platí (4.25) Fourierova řada v elektrotechnickém tvaru. Elektrotechnický tvar Fourierovy řady dostaneme úpravou součtu Fourierovy řady v komplexním tvaru. K aproximaci používá pouze kosinusovek nebo sinusovek různých

35 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO35 frekvencí a odpovídajících fázových posunutí. Vzpomeneme-li na exponenciální tvar komplexního čísla, tedy c[nf 0 ] = c[nf 0 ] e i arg(c[nf0]), (4.26) Jelikož platí c[nf 0 ] = c[ nf 0 ], arg(c[nf 0 ]) = arg(c[ nf 0 ]), pak lze psát Mezi jednotlivými koeficienty platí vztahy (4.27) (4.28) (4.29) Pokud bychom pro aproximaci chtěli použít součtu sinusovek, můžeme předchozí vztahy upravit na

36 36 FEKT Vysokého učení technického v Brně Mezi jednotlivými koeficienty platí vztahy (4.30) (4.31) (4.32) (4.33) PŘÍKLAD 1. Spočtěme koeficienty Fourierovy řady signálu, daného na základní periodě t < t 0, t 0 + T 0 ) kde f 0 je základní frekvence, daná f 0 = 1/T 0, tedy f 0 T 0 = 1. ŘEŠENÍ 1. Víme, že Pokud je k N, tedy k je přirozené číslo, můžeme srovnáním rovnice syntézy (součtu) Fourierovy řady a našeho signálu dostat Je tedy zřejmé, že je potřeba 2 koeficientů na frekvencích nf 0, odpovídajících ± k-násobku základní frekvence f 0. Tedy c[kf 0 ] = 1/2, c[kf 0 ] = c*[ kf 0 ], tedy c[ kf 0 ] = 1/2. Koeficienty c[nf 0 ] pro všechna n různá od k budou nulové, tedy c[nf 0 ] = 0n k. Obecně můžeme psát pro koeficienty Fourierovy řady

37 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO37 Je-li k N, pak výrazy e -i2π(n-k) a e -i2π(n+k) jsou pro všechna n různá od ±k a rovny nule, tudíž e -i2π(n-k) - 1 = 0 a e -i2π(n+k) - 1 = 0 n ±k, tedy tyto koeficienty jsou nulové. Pro n = ±k dostáváme nulu ve jmenovateli, je třeba koeficienty spočítat jinak. Např. Pro n = k dostáváme nulu v čitateli i jmenovateli, použijeme tedy L Hospitalovo pravidlo a dostaneme kýžený koeficient Totéž provedeme pro n k a dostaneme Můžeme také dosadit n = k před samotnou integrací

38 38 FEKT Vysokého učení technického v Brně Z uvedeného příkladu vyplývá, že spektrum harmonického signálu obsahuje pouze 2 nenulové koeficienty c[kf 0 ] a c[-kf 0 ] na frekvencích, odpovídajících právě frekvenci harmonického signálu f = kf Fourierova transformace Fourierova transformace se používá v případě, že chceme určit spektrum spojitého finitního signálu (ohraničeného v čase, s kompaktním nosičem). (4.35) (4.36) PŘÍKLAD 2. Mějme signál, jenž je na základní periodě t 0 = 0, T 0 = 2 dán jako Nahraďme periodické prodloužení tohoto signálu součtem Fourierovy řady. ŘEŠENÍ 2.

39 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO39 Obr. 4.1: Základní perioda signálu. Obr. 4.2: Periodické prodloužení signálu. Spočteme koeficienty Fourierovy řady:

40 40 FEKT Vysokého učení technického v Brně Je vhodné si všimnout, že pro n {2k}, k Z, tedy pro sudá n jsou c[nf 0 ] = 0, pro n {2k+1}, k Z, tedy pro lichá n jsou c[nf 0 ] = - i/(πn). Obr. 4.3: Dvoustranné spektrum signálu. Je vhodné si všimnout, že pro n {2k}, k Z, tedy pro n sudé budou všechna b[nf 0 ] = 0. Z amplitudového spektra je také patrné, že amplitudy sudých harmonických jsou nulové. Aproximovaný signál je pak ukázán na obr. 4.4.

41 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO41 Aproximace Fourierovou radou v komplexním tvaru Obr. 4.4: Aproximace signálu Fourierova transformace signálu je

42 42 FEKT Vysokého učení technického v Brně Obr. 4.5: Amplitudové spektrum Důležité je spektrum Diracova impulzu (4.37) což plyne např. ze vzorkovací vlastnosti Diracova impulzu, tedy (4.38) To znamená, že impulz obsahuje v sobě veškeré harmonické komponenty. Pro posunutí platí: (4.39) Platí ale

43 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO43 (4.40) tedy amplitudové spektrum zůstalo nezměněné, mění se fáze na jednotlivých frekvencích. PŘÍKLAD 3. Určeme spektrum signálu x(t), daného (4.41) ŘEŠENÍ 3. První možností je přímý výpočet Fourierovy transformace (4.42) kde bylo nutno integrovat per partes. Druhou možností je výpočet s pomocí znalosti Fourierova obrazu integrálu. PŘÍKLAD 4. Najděme Fourierův obraz posloupnosti x=(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7]) T N = 8. ŘEŠENÍ 4. Definovali jsme w nk/ N = e -j2π/nnk. Uvědomíme-li si, že funkce e z je 2πj periodická (e z = e z + 2 kπj, z C, k Z), pak platí a můžeme psát Pro úsporu místa dále nebudeme dosazovat, jen vynásobíme matice.

44 44 FEKT Vysokého učení technického v Brně Všimněme si, že čísla řádků matice odpovídají indexům n, sloupce indexům k. PŘÍKLAD 5. Napišme transformační matici W N pro signály délky N = 2, N = 3, N = 4. ŘEŠENÍ 5. Jednotlivé prvky matice leží na jednotkové kružnici se středem v počátku (\w nk N = 1 n, k) a dělí tuto kružnici na N shodných dílů. Pro N = 2 je Při transformaci dochází N 2 -krát násobení, což je výpočetně nejnáročnější operace, proto tento postup není vhodný tam, kde je potřeba rychle transformovat velké objemy dat. Je třeba brát na vědomí, že výpočet zahrnuje pouze jednu periodu spektra - Fourierovské spektrum vzorkovaného signálu je periodické s periodou f vz. V MATLABu slouží k vytvoření matice W N příkaz dftmtx(n). Pak platí W _N=dftmtx(N); W_N-W_N.'=zeros(N); W_N*inv(W_N)=eye(N); W_N*(1/N)*conj(W_N)=eye(N);.

45 Základní metody číslicového zpracování signálů pro integrovanou výuku VUT a VŠB-TUO Rychlá Fourierova transformace FFT. Vzhledem k tomu, že výpočet DFT vyžaduje značný počet násobení (N 2 ), což je časově nejnáročnější operace, byl v roce 1965 J. Tukeyem a J. Cooleyem vyvinut algoritmus, umožňující značné urychlení výpočtu. Tento algoritmus je označován jako Rychlá Fourierova Transformace. FFT značně urychluje výpočet DFT (Dále tak budeme FFT chápat - jako postup pro rychlý výpočet DFT.), je však použitelná pouze pro signály o délce N = k 2 p, k, p N vzorků. Rozdělme signál x = (x[0], x[1],..., x[n - 1]) T na dvě komponenty se sudými a lichými indexy: Fourierova transformace signálu x[n] pak bude (z definice) (4.42) (4.43) (4.44) Součet přes n = 0,1,...,N - 1 bodů můžeme rozdělit na dvě sumy přes n =0,1,..., N/2-1 bodů.

46 46 FEKT Vysokého učení technického v Brně Pak dostáváme (4.45) (4.46) kde n = 0,1,..., N/2-1. Jak je patrno, rozdělili jsme transformaci přes N bodů na dvě transformace přes N/2 bodů. Pokud však budeme pokračovat v dělení jednotlivých posloupností vždy na dvě (zůstaneme u značení vybraných posloupností se sudými indexy písmenem u, posloupností s lichými indexy písmenem v), dojdeme do stavu, kdy výsledná posloupnost bude obsahovat jen 2 prvky. Jejich DFT pak bude (4.47) PŘÍKLAD 6. Transformujme signál ve tvaru x = (x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7]) T N = 8. ŘEŠENÍ 6.

47 Základní metody číslicového zpracování signálů 47 Použijme opět značení u pro vybrané členy se sudými indexy, v pro členy s lichými indexy. Jejich Fourierova transformace pak bude: Nyní vzpomeneme na vztahy (4.34), (4.35) a aplikujeme je. Opět aplikujeme (4.34), (4.35): Obdrželi jsme Fourierovu transformaci signálu x.

48 48 FEKT Vysokého učení technického v Brně Poměr počtu násobení nutných k výpočtu DFT 1 a FFT 1 je při vysokém počtu prvků (pokud si vzpomeneme, že požadujeme N = 2 p, p N): Jak je dobře patrné, výhodnost použití FFT rapidně narůstá se vzrůstem délky signálu. Pokud použijeme k výpočtu FFT 1 maticového počtu (tato metoda se označuje jako Maticová Faktorizace - Matrix Factorization), používáme blokovou matici B N (značí se písmenem B podle dalšího pojmenování metody - Butterfly) ve tvaru: kde [I N / 2 ] je jednotková matice (pouze jedničky na hlavní diagonále) řádu N/2, [D N / 2 ] je diagonální matice, kterou lze zapsat jako (N = 2M) Transformace signálu x = (x[0], x[1], x[2], x [3], x [4], x [5], x [6], x [7]) T, N = 8 pak bude (P T je permutační matice.): V MATLABu existuje pro DFT i FFT jeden příkaz fft(x), resp. fft2(x) pro jed-

49 Základní metody číslicového zpracování signálů 49 norozměrnou transformaci vektoru, resp. pro dvourozměrnou transformaci matice. (Pro signál o délce 2 k, k R se použije algoritmus FFT, pro signál, který této podmínce nevyhovuje se použije DFT.) Inverzní transformaci provádějí příkazy ifft(x),resp. ifft2(x). Vytvořte matici W 8 a transformujte signál x = [1,0, -1,1,0, -1,1,0]. Výsledek ověřte výpočtem DFT z definice (sumou (40)) a pomocí MATLABu. x=[1, 0, -1, 1, 0, -1, 1, 0]; X=fft(x); Fourierova transformace představuje nástroj pro převod signálu z prostoru originálu do prostoru Fourierovských obrazů. Matice W není ničím jiným než maticí přechodu od báze k bázi. Tedy převod mezi dvěma prostory. Obvykle se píše, že Fourierova transformace představuje převod z časové do frekvenční oblasti. Avšak originální signál nemusí být vzorkován v čase, může jít o měření v prostoru, např. měření drsnosti povrchu materiálu, rozložení intenzity světla v obrazu apod. V tom případě je nutné přizpůsobit jednotky ve frekvenční oblasti, neboť jednotky Hz=1/s pozbývají smyslu. Signálu v časové oblasti odpovídá jeho reprezentace ve frekvenční oblasti, obvykle znázorňovaná frekvenčněamplitudovým a frekvenčně-fázovým spektrem. Amplitudové spektrum znázorňuje hodnoty amplitud příslušejících jednotlivým frekvencím, fázové spektrum odpovídá fázím na jednotlivých frekvencích. Fázový posuv signálu téže frekvence v časové oblasti nebude mít vliv na amplitudové spektrum, projeví se ale ve fázovém spektru. Amplitudové (Fourierovské) spektrum reálného číslicového signálu je funkce sudá, periodická s periodou f vz. Fázové (Fourierovské) spektrum reálného číslicového signálu je funkce lichá, periodická s periodou f vz. Vytvořte matici W 4 a transformujte signál x = [1,1, -1, -1]. Výsledek ověřte výpočtem DFT z definice (sumou (40)) a pomocí příkazu fft v MATLABu. PŘÍKLAD 7. Zobrazme v MATLABu magnitudové a fázové spektrum signálu x = [1, 0,1,0,1, 0,1,0,1, 0], N = 10. (Délka signálu není 2 k, MATLAB tedy počítá DFT, ne FFT!) ŘEŠENÍ 7. f_vz = 1000; % [Hz] T_vz = 1/f_vz; x = [1,0,1,0,1,0,1,0,1,0]; X = fft(x); f = -f_vz/2 : f_vz/length(x) : f_vz/2 - f_vz/length(x); stem(f, fftshift(abs(x))); % Magnitudové spektrum stem(f, fftshift(angle(x))); % Fázové spektrum

50 50 FEKT Vysokého učení technického v Brně Modifikovaná diskrétní Fourierova transformace - MDFT. V předchozím textu jsme prováděli výpočet DFT na vektorech vzorků bez ohledu na vzorkovací periodu, se kterou byly tyto vzorky získány. Potřebujeme-li mít souhlas výsledků v analogové i číslicové oblasti, pak musíme modifikovat vztah pro výpočet DFT: kde T vz je vzorkovací perioda. (4.48) Jednorozměrná diskrétní kosinusová transformace - DCT. Diskrétní kosinusová transformace (Discrète Cosine Transform - DCT) je speciálním případem diskrétní Fourierovy transformace. Při rekonstrukci signálu z koeficientů diskrétní Fourierovy transformace dochází k periodickému rozšíření signálu na celou množinu R. Můžeme však záměrně signál rozšířit periodicky tak, že vznikne funkce sudá (sudé periodické prodloužení). Toto rozšíření je vhodné proto, že je spojité v krajních bodech původního intervalu. Při výpočtu koeficientů Fourierovy transformace se pak vyruší sinusové složky a zůstanou pouze složky kosinusové. A toho lze využít ke snížení množství potřebných koeficientů. Toho využívá např. (dvourozměrně) obrazový kompresní formát JPEG. Nechť f l 2 (N), N N + {0}, pak řada je diskrétní kosinusová transformace a řada (4.49) je inverzní (zpětná) diskrétní kosinusová transformace. (4.50)

51 Základní metody číslicového zpracování signálů 51 PŘÍKLAD 8. Vytvořme matici QW 2 DCT a transformujme signál x = [0,1]. Výsledek ověříme výpočtem DFT z definice a dále pomocí MATLABu, x=[0, 1]; X=dct(x)*sqrt(length(x)). (Je třeba násobit odmocninou z délky signálu, abychom dosáhli souvislosti s fft() v MATLABu. Příkaz fft() je v MATLABu definován bez normalizačního členu sqrt(length(x)), zpětná transformace pak bude idct(x)/sqrt(length(x)).) ŘEŠENÍ 8. Inverzní transformace pak bude

52 52 FEKT Vysokého učení technického v Brně PŘÍKLAD 9. Vytvořme matici QW 3 DCT a transformujte signál x = [1, 0, -2]. Výsledek ověříme výpočtem DFT z definice a pomocí MATLABu. ŘEŠENÍ 9.

53 Základní metody číslicového zpracování signálů 53 Inverzní transformace pak bude

54 54 FEKT Vysokého učení technického v Brně MATLAB: fft, ifft, dftmtx, dct, idct, dctmtx, fftshift

55 Základní metody číslicového zpracování signálů 55 Porovnání fourierovské reprezentace signálů

56 56 FEKT Vysokého učení technického v Brně 5 Korelace 5.1 Korelace. Korelace (vzájemná korelace, křížová korelace, cross-correlation) je mírou podobnosti dvou signálů. Pro reálné posloupnosti x 1 délky N 1 vzorků a x 2 délky N 2 vzorků lze korelaci definovat jako posloupnost r Xl, X2 délky L = 2N - 1 vzorků. (5.1) kde n (-(N - 1), (N - 1)}, n N, N = max(n 1, N 2 ). Korelace dosahuje maxima v bodě n, který odpovídá posunutí signálu, při kterém je největší podobnost signálů. V případě, že nejsou posloupnosti x 1 a x 2 téže délky, je třeba kratší z nich doplnit nulami do délky N. Korelace je užitečná např. při zjišťování posunutí dvou jinak shodných signálů. V místě posunutí dosahuje korelace maxima. Pro korelaci platí (5.2) (5.3) Kde ˆx 1, ˆx 2 značí Fourierovu transformaci vektorů x 1 a x 2 a * označuje komplexně sdružené číslo. Pokud porovnáme vztahy pro korelaci a konvoluci, zjistíme, že konvoluce odpovídá korelaci signálu x 1 a v čase obráceného signálu x 2, (5.4) Normalizovaná korelace je normalizovanou verzí vzájemné korelace. Její hodnoty leží v intervalu ( 1,1). Hodnota 1 odpovídá maximální korelaci (překrytí) signálů, hodnota 1 odpovídá signálu v protifázi, (5.5) Korelační koeficient je definován jako

57 Základní metody číslicového zpracování signálů 57 (5.6) kde ẍ značí střední hodnotu vektoru x, (5.7) Korelační koeficient souvisí s lineární regresí pomocí metody minimalizace součtu čtverců odchylek. Pokud chceme dvourozměrná data proložit regresní přímkou, zapsanou ve směrnicovém tvaru y = kx + q, pak pro směrnici k platí (5.8) Pokud z rovnice přímky vyjádříme x a zapíšeme přímku ve tvaru pak pro k' platí (5.9) Korelační koeficient je pak dán jako odmocnina součinu směrnic k a k', (5.10) V N-rozměrném prostoru pak korelační koeficient centrovaných dat udává kosinus úhlu, který svírají vektory x 1 a x 2. Pokud jsou x 1 a x 2 řádkové vektory, pak lze korelaci pomocí násobení matic vypočítat jako součin vektoru x 1 a korelační matice velikosti N x 2N 1

58 58 FEKT Vysokého učení technického v Brně (5.11) Pokud jsou x1 a x2 sloupcové vektory, pak lze korelaci pomocí násobení matic vypočítat jako součin korelační matice velikosti 2N 1 x N a vektoru x 1 PŘÍKLAD 10. Najděme korelaci posloupnosti x 1 = [1, 2, 1,1], x 2 = [0, 1, 2,1, 1]. ŘEŠENÍ 10. Jelikož oba vektory mají rozdílnou délku, je potřeba kratší z nich doplnit nulami do délky delšího vektoru, tedy x 1 = [1, 2, 1,1, 0]. Délka výsledného vektoru r xl, x2 bude 2 * max(n 1, N 2 ) 1 = 2 * 5 1 = 9, max(n 1, N 2 ) = 5.

59 Základní metody číslicového zpracování signálů 59 V MATLABu můžeme použít zápis: x_1=[1,2,-1,1], x_2=[0, -1, -2, 1, -1], [Cor_MATLAB, Lags_MATLAB] = xcorr(x_1, x_2) N = max(length(x_1), length(x_2)); Lags_fft_konvoluce = -(N-1) : (N-1) Cor_fft = fftshift(ifft( fft(x_1, 2*N-1).* conj(fft(x_2, 2*N-1)) )) Cor_konvoluce = conv([x_1, 0], fliplr(x_2)) % Doplnili jsme délku vektoru x_1 na N

60 60 FEKT Vysokého učení technického v Brně Maximální hodnota korelace má hodnotu 7 a nachází se na pozici posunutí n = 1. Výsledek nám tedy říká, že signál x 1 [n] je nejvíce podobný signálu x 2 [n ( 1)]. 5.2 Autokorelace. Autokorelace je speciálním případem korelace, kdy dochází ke korelaci mezi dvěma shodnými signály (korelace signálu se sebou samým). Tento nástroj je velice užitečný např. při hledání periodického signálu v šumu. Autokorelace periodické posloupnosti je periodická posloupnost s periodou shodnou s původním signálem. Autokorelace je sudá funkce. Z definice korelace plyne pro autokorelaci signálu což je energie signálu. (5.12) 6 Konvoluce 6.1 Konvoluce. Nechť x 1 a x 2 jsou signály délky L a ˆx 1, ˆx 2 jsou jejich Fourierovské obrazy. Mezi časovou a frekvenční oblastí platí vztah (6.1) (6.2) Pro konvoluci platí (6.3) Mezi konvolucí a korelací platí vztah (6.4) 6.2 Lineární konvoluce. Lineární konvoluce signálů konečné délky je definována pro signály x 1 délky N 1 a x 2 délky N 2 jako posloupnost x 3 délky L = N 1 + N 2 1 pomocí konvoluční sumy jako

61 Základní metody číslicového zpracování signálů 61 (6.5) Obecně i pro signály nekonečných délek (6.6) Výstupní neperiodická posloupnost x 3 bude mít délku L = N 1 + N 2 1 vzorků. Pokud bychom počítali lineární konvoluci převodem do frekvenční oblasti, je potřeba nejprve obě posloupnosti x 1 a x 2 doplnit nulami na délku L. V MATLABu slouží k výpočtu lineární konvoluce příkaz conv(x1,x2). Další možností výpočtu je využití konvoluční a cyklické matice. Pokud jsou x 1 a x 2 řádkové vektory, pak lze konvoluci pomocí násobení matic vypočítat jako součin vektoru x 1 a konvoluční matice velikosti N 1 x L nebo jako součin vektoru x 2 a konvoluční matice velikosti N 2 x L (6.7) (6.8) Pokud jsou x 1 a x 2 sloupcové vektory, pak lze konvoluci pomocí násobení matic vypočítat jako součin konvoluční matice velikosti L x N 1 a vektoru x 1

62 nebo jako součin konvoluční matice velikosti L x N 2 a vektoru x 2 Jejich tvorbu je nejlépe ukázat na příkladu. PŘÍKLAD 11. Vypočtěme lineární konvoluci signálů x 1 = [1, 2, 3, 4] N 1 =4 a x 2 = [5, 6, 7] N 2 = 3 konvoluční sumou, pomocí DFT, konvoluční a cyklickou maticí. ŘEŠENÍ 11. Výsledná délka signálu bude L = = 6.

63 Základní metody číslicového zpracování signálů 63 Vytvořme konvoluční matice s ohledem na to, že zadané vstupní signály jsou řádkové vektory. Výsledná posloupnost bude dána součinem vektoru x 1 a konvoluční matice velikosti N 1 x L nebo součinem vektoru x 2 a konvoluční matice velikosti N 2 x L V případě výpočtu z definice pomocí konvoluční sumy musíme nejprve signál doplnit nulami do správné délky na x' 1 = [1, 2, 3,4,0,0] a x' 2 = [5, 6, 7,0,0,0]. Dále postupujeme jako v předchozím příkladu. Rozepíšeme hodnoty pouze pro x 3 [0], další jsou počítány obdobně.

64 64 FEKT Vysokého učení technického v Brně (6.9) x 3 [1] = 16, x 3 [2] = 34, x 3 [3] = 52, x 3 [4] = 45, x 3 [5] = 28. Tentýž výsledek dostaneme s použitím cyklické matice. První sloupec cyklické matice tvoří signál x' 1, další sloupce pak jeho cyklická posunutí. Tentýž výsledek dostaneme, pokud vytvoříme cyklickou matici ze signálu x 2 a ten budeme násobit vektorem signálu x 1. Výpočet v MATLABu lze provést převodem do frekvenční oblasti, násobením bod po bodu a zpětným převodem do oblasti časové. x_1=[ ] ; x_2=[5 6 7]; % Zadání signálů N_1 = length(x_1); N_2 = length(x_2); L = N_1 + N_2-1; X_1=fft(x_1, L); X_2=fft(x_2, L); % Převod do frekvenční oblasti X_3=X_1.*X_2; % Násobení bod po bodu (viz tečka před *) x_3=ifft(x_3); % Převod do časové domény} nebo použitím příkazu conv(x1,x2). x_1=[ ]; x_2=[5 6 7]; x_3=conv(x_1,x_2); Výsledek v MATLABu: x_3 = Pozor do funkce conv() dosazujeme původní signály, ne prodloužené! PŘÍKLAD 12. Znázorněme graficky konvoluce signálů x 1 = [5,1,1, 5] a x 2 = [1,1,1]/3.

65 Základní metody číslicového zpracování signálů 65 ŘEŠENÍ 12. Jednotlivé hodnoty konvoluce budou odpovídat průměrům 3 hodnot signálu x Cyklická konvoluce. Cyklická konvoluce je definována pro periodické signály x 1 délky (základní periody) N 1 a x 2 délky (základní periody) N 2 jako periodická posloupnost x 3 se základní periodou délky L = max(n 1,N 2 ) pomocí konvoluční sumy jako (6.10) což po restrikci na jednu periodu výstupního signálu vede ke vztahu (6.11) Vidíme, že výpočet odpovídá korelaci signálu x 1 [m] a x 2 [ m], tedy v čase otočeného signálu x 2. Nemají-li oba signály stejnou délku, ten kratší z nich doplníme do patřičné délky nulami. Obvykle se využívá vztahu mezi časovou a frekvenční oblastí a konvoluce se počítá následujícím postupem. (1) Výpočet DFT posloupností x 1 a x 2 ( ˆx 1 a ˆx 2 ), X1=fft(x1); X2=fft(x2); (2) výpočet součinu frekvenčních složek ˆx 1 a ˆx 2, X3=X1.*X2; (3) výpočet inverzní DFT (IDFT), x3=ifft(x3);. Další možností výpočtu konvoluce je pomocí tzv. cyklické matice. Tu vytvoříme cyklickými posuny jednoho signálu vůči druhému. Konvoluci signálu pak bude odpovídat součin cyklické matice a signálu. (6.12)

66 66 FEKT Vysokého učení technického v Brně Vzhledem ke komutativnosti konvoluce je tentýž výsledek dán opačným postupem (6.13) PŘÍKLAD 13. Vypočtěme cyklickou konvoluci signálů x 1 = [1, 2, 3, 4] a x 2 = [5, 6, 7]. ŘEŠENÍ 13. Nejprve kratší signál (x 2 ) doplníme nulami do délky delšího signálu (x 1 ) na x 2 = [5, 6, 7,0]. Nebo také (abychom zdůraznili cyklickou konvoluci) můžeme periodicky opakovat druhý signál a sčítat pouze součiny na základní periodě:

67 Základní metody číslicového zpracování signálů 67 Dále podle konvoluční sumy: Pomoci cyklické matice: Ověřme, zda lze dostat tentýž výsledek vytvořením cyklické matice ze signálu x 2 a násobením se signálem x 1. Výsledek ověříme v MATLABu. x _ 1 = [ ] ; % Zadání signálů x_2 = [5 6 7];

68 68 FEKT Vysokého učení technického v Brně if length(x_1) < length(x_2) x_1 = [x_1, zeros(1, length(x_2) - length(x_1))]; elseif length(x_1) > length(x_2) x_2 = [x_2, zeros(1, length(x_1) - length(x_2))]; end X_1 = fft(x_1); X_2 = fft(x_2); % Převod do frekvenční oblasti X_3 = X_1.* X_2; % Násobení bod po bodu (viz tečka před *) x_3 = ifft(x_3) % Převod do časové domény} Výsledek v MATLABu: x_3 =

69 Základní metody číslicového zpracování signálů 69 7 Číslicové filtry Číslicový (digitální) filtr je matematický algoritmus implementovaný pomocí hardware (HW) nebo software (SW), který zpracovává vstupní číslicový signál x[n] tak, aby bylo dosaženo požadované výstupní posloupnosti y[n]. Mezi výhody číslicových filtrů patří: kmitočtové charakteristiky, které nejsou analogovými filtry dosažitelné; na číslicové filtry nemají vliv parametry (teplota, stárnutí), které by vyžadovaly periodickou kalibraci; charakteristiku digitálního filtru lze kdykoli upravit změnou koeficientů; na jednom filtru, algoritmu, lze zpracovávat více vstupních signálů; filtrovaná i nefiltrovaná data lze snadno uchovat (uložit) pro pozdější využití; využití VLSI technologie poskytuje malé rozměry DSP čipů, nízké náklady na výrobu; analogové filtry mají maximální dosažitelný útlum db, u číslicových filtrů je charakteristika určena pouze šířkou slova; 100% opakovatelnost; číslicové filtry jsou využitelné i pro zpracování signálů s nízkými kmitočty, kde analogové filtry jsou obtížně HW realizovatelné. Číslicové filtry mají i řadu nevýhod, uveďme pouze ty zásadní: omezená rychlosti zpracování, maximální šířka pásma je u číslicových filtrů menší než u analogových; konečná šířka slova způsobuje u číslicových filtrů má vliv kvantizační šum A/D převodníků; u filtrů vyšších řádu může dojít až k nestabilitě; doba potřebná pro návrh filtrů a vlastní implementaci na konkrétním HW. Z hlediska konečné či nekonečné impulzní odezvy filtrů, tedy filtrů FIR/IIR, lze tyto systémy jako filtry charakterizovat následovně: FIR filtry vykazují lineární fázovou charakteristiku žádné fázové zkreslení (důležitý např. v biomedicíně, audio, zpracování obrazu). IIR mají silně nelineární fázovou charakteristiku. FIR filtry jsou nerekurzivní, tzn., že jsou vždy stabilní. IIR jsou rekurzivní i nerekurzivní. Vliv kvantizačního šumu a konečné délky slova je u FIR méně kritický než u IIR. FIR filtry vyžadují při realizaci větší počet koeficientů než IIR, tzn., že vyžadují delší čas na zpracování a nároky na paměť. Analogové filtry mohou být transformovány na IIR. FIR nemají analogii v analogové technice. FIR jsou obtížněji realizovatelné, není-li k dispozici CAD systém pro návrh digitálních filtrů. Obecné pravidlo pro volbu filtru typu IIR - FIR: Použít filtr IIR, pokud jediným důležitým parametrem je strmost filtru a vysoká propustnost systému.

70 70 FEKT Vysokého učení technického v Brně Použít filtr FIR, je-li požadováno malé zkreslení ve fázi a není na závadu velký počet koeficientů přenosové funkce. 7.1 Metody návrhu číslicových filtrů Návrh FIR filtrů FIR filtry s konečnou impulsní odezvou. Charakteristika FIR filtrů: - Poměrně jednoduchý a intuitivní návrh. - Filtr je nerekurzivní (bez zpětných vazeb), je tudíž vždy stabilní. - Filtry FIR mohou zajistit lineární průběh fázové charakteristiky. - S filtry FIR se hůře dosahuje velká strmost přechodu mezi propustným a nepropustným pásmem. - Pro dosažení velké strmosti jsou třeba filtry s mnoha koeficienty, filtry pak mají velké zpoždění. Číslicové filtry typu FIR s konečnou impulsní charakteristikou nemají analogový ekvivalent (všechny analogové filtry mají teoreticky nekonečnou impulsní charakteristiku). Návrh tedy nelze provést transformací analogového prototypu do číslicové oblasti. Návrh tedy probíhá přímo v číslicové oblasti. Vzhledem k tomu, že přenosová funkce číslicového filtru typu FIR má ve jmenovateli N 1 násobný nulový kořen, postačuje zjistit koeficienty čitatele, které jsou zároveň vzorky impulsní charakteristiky. Metoda vzorkování kmitočtové charakteristiky Kmitočtová charakteristika je Fourierovým obrazem impulzní odezvy a tedy naopak impulzní odezva je inverzním obrazem kmitočtové charakteristiky. Postup je následující: - v obrazu dvoustranného spektra stanovíme průběh kmitočtové charakteristiky (modulové i fázové); - charakteristiku navzorkujeme v kmitočtovém pásmu F s /2 F s /2 vhodným počtem bodů N (nejlépe mocnina 2); - provedeme inverzní DFT, kterou získáme impulzní odezvu o N koeficientech, (koeficienty jsou obecně komplexní). Metoda váhových oken Kmitočtové charakteristiky ideálních filtrů jsou tvořeny obdélníkovými funkcemi a tedy impulzní odezva je inverzním obrazem obdélníkové funkce, což je funkce sinc(x). Kmitočtová charakteristika číslicového filtru je spojitá periodická funkce, kterou můžeme vyjádřit pomocí Fourierovy řady v komplexním tvaru, kde koeficienty c k jsou vzorky ideální impulsní charakteristiky. Tyto koeficienty Fourierovy řady v komplexním tvaru jsou však symetrické kolem svislé osy, a proto po dosazení h[n] = c k by neplatila podmínka kauzality. Proto je nutné ideální impulsní charakteristiku zkrátit na délku N omezením

71 Základní metody číslicového zpracování signálů 71 n( N 1) / 2;( N 1) / 2 a zpozdit ji o (N 1)/2 vzorků tak, aby byla splněna podmínka kauzality. Toto zpoždění způsobí, že fázová kmitočtová charakteristika nebude nulová, ale N 1 bude klesající se směrnicí T (filtr tedy bude všechny signály zpožďovat o 2 (N 1)/2 vzorků). Zkrácení ideální impulsní charakteristiky lze nahradit jejím vynásobením váhovou posloupností (oknem, okénkovou funkcí): h[n] = c k w[n]. Obecný postup tedy je: - vymezení kmitočtového; - převedení na normalizovaný kmitočet; - získání impulzní odezvy pomocí inverzní DFT; - výběr konečného počtu N vzorků symetricky rozložených kolem 0; - váhování vhodnou okénkovací funkcí pro potlačení zvlnění; - posunutí impulzní odezvy o (N 1)/2 vzorků doprava kauzální filtr. Návrh IIR filtrů IIR - filtry s nekonečnou impulsní odezvou. Výstupní signál zaveden na vstup - zpětná vazba. Charakteristika IIR filtrů: - Poměrně složitý a méně intuitivní návrh. - Filtr je rekursivní (se zpětnými vazbami), může být nestabilní (pro amplitudově omezený vstupní signál by generoval signál s neustále rostoucími amplitudami). - Filtr IIR bude stabilní, pokud všechny jeho póly leží uvnitř jednotkové kružnice. - S filtry IIR lze dosáhnout velmi strmé přechody mezi propustným a nepropustným pásmem, a to i při malém řádu filtru. - Filtry IIR nemají lineární průběh fázové charakteristiky. Metoda návrhu IIR filtrů Parametrické filtry se často používají pro jednoduchý postup návrhu, avšak není u nich přesně definován průběh kmitočtové charakteristiky (tvar, či přenosová funkce se zadává nepřímo mezním kmitočtem a činitelem jakosti, případně ziskem). V mnoha aplikacích číslicového zpracování signálů však požadujeme přesný tvar kmitočtové charakteristiky: propustné pásmo složky o přesně zadaných kmitočtech jsou přenášeny se zadaným minimálním ziskem, nepropustné pásmo složky o přesně zadaných kmitočtech jsou přenášeny se zadaným maximálním ziskem, přechodové pásmo složky o kmitočtech mezi těmito pásmy jsou přenášeny dopředu s neznámým ziskem. Požadavky na kmitočtovou charakteristiku se zobrazují nejčastěji graficky pomocí toleračního schématu (viz obr. 7.1):

72 72 FEKT Vysokého učení technického v Brně Obr. 7.1: Modulové a fázové kmitočtové charakteristiky fázovacích článků vypočítané v Matlabu, a) pro přenosovou r p [db] maximální zvlnění v propustném pásmu (passband ripple), r s [db] minimální útlum v nepropustném pásmu (stopband ripple), w p [ ] normované mezní kmitočty propustného pásma, normované k Nyquistovu kmitočtu F s /2, w s [ ] normované mezní kmitočty nepropustného pásma, normované k Nyquistovu kmitočtu F s /2. V případě pásmových propustí nebo zádrží, případně pro vícenásobné propusti nebo zádrže, nejsou normované kmitočty w p propustného a w s nepropustného pásma skalární hodnoty, ale vektory příslušných hodnot. Vzhledem k tomu, že číslicové filtry typu IIR mají nekonečnou impulsní charakteristiku stejně jako analogové filtry, je proto možné návrh provést transformací analogových filtrů (analogových prototypů) do číslicové oblasti. Nejčastěji se pro transformaci používá metoda bilineární transformace. Po návrhu analogového filtru se provede substituce argumentu p přenosové funkce analogového prototypu za argument z transformace podle předpisu 2 z 1 p. Při bilineární transformaci dochází ke zkreslení kmitočtové osy, a proto lze tuto Tz 1 metodu použít pouze pro návrh číslicových filtrů s po částech konstantní modulovou kmitočtovou charakteristikou. Pro realizaci přenosové funkce existuje několik typů funkcí, které aproximují ideální požadovanou kmitočtovou charakteristiku: - Butterworthova aproximace: analogový prototyp má pouze póly, modulová kmitočtová charakteristika je monotónně klesající funkce, fázová charakteristika se nejvíce blíží k lineárnímu průběhu, strmost přechodového pásma je nejmenší. - Čebyševova aproximace I. typu: analogový prototyp má pouze póly, modulová kmitočtová charakteristika se zvlní v propustném pásmu.

73 Základní metody číslicového zpracování signálů 73 - Čebyševova aproximace II. typu: analogový prototyp má póly i nulové body, modulová kmitočtová charakteristika se zvlní v nepropustném pásmu. - Eliptická (Cauerova) aproximace: analogový prototyp má póly i nulové body, modulová kmitočtová charakteristika se zvlní v propustném i nepropustném pásmu, fázová kmitočtová charakteristika se nejvíce odlišuje od lineárního průběhu, strmost přechodového pásma je největší.

74 74 FEKT Vysokého učení technického v Brně 8 Souvislost mezi Fourierovou transformací diskrétního signálu a DFT Zaměřme se nyní, jak vypočítat spektrum S(e jω 2 ) ze vzorků Sk N, k 0,1,..., N 1. Předpokládejme, že nenastává časový aliasing, to znamená, že platí podmínka N L, kde L je délka jednorázového signálu s[n] a N je perioda periodického signálu s p [n]. Vyjdeme ze vztahu: N jk n N sp n S k e N k0 N, n 0,1,..., N 1. Bereme-li v úvahu, že nenastává časový aliasing, tak můžeme psát: s n N 2 jk n N S k e N n0 N, n 0,1,..., N 1. (8.1) Vztah (8.1) dosadíme do definičního vztahu Fourierovy transformace N 1 n j jjn S e s n e s n e n 1 2 N N n0 N1 N1 2 jk n N jn S k e e n0 k0 N1 N j k n N S k e k0 N N n0 Definujme pomocnou funkci, která je dána vztahem:. (8.2) P N 1 jn 1 jn 1 1 e e j N n0 N 1 e N N j j 2 jn 2 e e e 1 N j j j e e e N sin N 1 1 j 2 2 e N sin 2. (8.3)

75 Základní metody číslicového zpracování signálů 75 N Na obr. 8.1 je vidět průběh funkce sin N sin 2 2 pro N = 5. N Obr. 8.1: Průběh funkce sin N sin 2 2 v závislosti na úhlovém kmitočtu ω. Vztah (8.2) je potom možné vyjádřit ve tvaru: Funkce P(ω) má tyto vlastnosti: 2 2 k0 N, N L. (8.4) N N 1 j S e S k P k 2 Pk 1 N 2 Pk 0 N pro k = 0, pro k = 1, 2,..., N 1. (8.5) Výsledkem vzorkování spektra S(e jω 2 ) jsme získali vzorky S k N. Vztah (8.4) nám ukazuje, 2 jak ze vzorků S k N můžeme opět rekonstruovat spektrum S(ejω ). Ukázka rekonstrukce 2 pomocí funkcí P k je vidět na obr N

76 76 FEKT Vysokého učení technického v Brně S ej ω Pω 2π Pω N π π 2 0 π 2 π ω Obr. 8.2: Rekonstrukce spojitého spektra S(e jω ) z jeho vzorků 2 S k N. V následující tabulce Tab. 8.1 je uvedeno velmi názorné srovnání Fourierovy řady, transformace a diskrétní Fourierovy transformace pro různé typy signálů. Tab. 8.1: Názorné srovnání FT, FS, DTFT a DFT. 8.1 Výpočetní náročnost algoritmu DFT Podívejme se blíže na definiční vztah diskrétní Fourierovy transformace.

77 Základní metody číslicového zpracování signálů 77 S k N 1 n0 2 jk n N s n e, k 0,1,..., N 1. (8.6) Uvažujme posloupnost signálu x[n] a v souladu se značením (8.6) bude s[n] = {1; 2; 3; 4}. Zapišme nyní pro N = 4 dle definičního vztahu výpočet všech vzorků spektra S[k]: N jk n jk n jk n N 4 2 e e e, k = 0, 1, 2, 3. (8.7) S k s n s n s n n0 n0 n0 Rozepíšeme-li tento vztah pro jednotlivé vzorky k = 0, 1, 2, 3 dostaneme 3 n0 3 n0 3 n0 jk n j00 j01 j02 j k 0: S 0 s n e 1e 2e 3e 4e jk n j10 j11 j12 j k 1: S 1 s n e 1e 2e 3e 4e jk n j20 j k 2: S 2 s n e 1e 2e 3 n0 j22 j e 4e jk n j30 j31 j32 j k 3: S 3 s n e 1e 2e 3e 4e. (8.8) Pro výpočet každého vzorku S[k] je potřeba provést 4 operace násobení a 3 operace součtu, v obecném případě komplexních čísel. Bude-li délka vzorku N, pak je potřeba provést celkem N 2 násobení a N (N 1) součtů, tedy dohromady 2 N N operací s komplexními čísly. Tak například pro délku vzorku N = 8 to znamená 64 operací násobení a 56 operací sčítání, pro N = 128 vzorků je to už násobení a sčítání. Je vidět, že počet potřebných operací velmi poměrně rychle roste (viz Tab. 8.2). 8.2 Algoritmus FFT pro výpočet DFT Výše uvedené vztahy vyjadřují přímou metodu výpočtu DFT, resp. IDFT. Jak již bylo uvedeno, má tento způsob značnou nevýhodu ve značném počtu potřebných výpočetních operací, kdy zejména komplexní násobení je výpočetně náročnější než komplexní sčítání. Proto byly vyvinuty algoritmy, které se vyznačují téměř lineární závislostí počtu výpočetních operací na délce signálu. Algoritmů existuje několik a jsou souhrnně označovány jako FFT (Fast Fourier Transform). Tyto algoritmy jsou založeny na rozložení N-bodové DFT na několik menších M- bodových DFT s následnou kombinací výsledků jednotlivých M-bodových DFT. Největší výpočetní úspory je dosaženo, jestliže pro délku analyzovaného signálu platí, že N = 2 m, m, kdy dochází k postupnému rozkladu signálu na sudou a lichou část až jsou počítány 2 bodové DFT. Tímto postupem je dosaženo téměř lineární závislosti počtu komplexních násobení N/2log 2 N, viz lit. [4], [13], [14]. Tab. 8.2 ukazuje úsporu výpočtů DFT algoritmem FFT oproti přímé metodě v závislosti na délce vstupního signálu N. Počet komplexních násobení při použití přímé metody roste kvadraticky s N, oproti tomu u FFT je tato závislost téměř lineární N/2log 2 N. Z tabulky je dále

78 78 FEKT Vysokého učení technického v Brně vidět, že už při menších délkách vstupního signálu dochází k výrazné úspoře výpočetní náročnosti. Tab. 8.2: Porovnání náročnosti výpočtu DFT přímou metodou a algoritmem FFT. Délka signálu N Počet komplexních násobení přímou DFT Počet komplexních násobení algoritmem FFT Výpočetní úspora [%] , , , , , , , , ,73 Algoritmy FFT využívají symetrické a periodické vlastnosti komplexní exponenciály W N, tedy W W W N k 2 N k N k N N 2k N W W W k N 2. k N,,. (8.9) Pod zkratkou FFT (Fast Fourier Transform) tedy rozumíme rychlý způsob výpočtu DFT, kdy délka posloupnosti odpovídá 2 m. V programu Matlab je pro výpočet koeficientů spektra určena funkce fft(), kdy je použit algoritmus FFT pokud počet vzorků je roven mocnině 2, jinak je použito výpočtu dle definice DFT. Základem FFT je algoritmus vytvořený autory Cooley a Tukey v roce Tento algoritmus by postupem doby rozvíjen a byla vytvořena řada variant, které jsou pod souhrným názvem FFT jako algoritmus s decimací v čase (DIT Decimation In Time). Zopakujme si algoritmus výpočtu DFT se zohledněním označení: N1 2 N1 2 jk n j N kn N e N, N e, k = 0, 1,..., N 1. (8.10) S k s n s n W W n0 n0 Rozdělme S[k] na součet sudých a lichých členů

79 Základní metody číslicového zpracování signálů 79 N N k2n k2n1 2n N 2n1 N. S k s n W s n W n0 n0 sudá posloupnost lichá posloupnost Sudá posloupnost signálu s[n] je s[0], s[1], s[2],..., s[n 1] a lichá posloupnost je s[1], s[2], s[3],..., s[n 1]. Tento vztah můžeme dále upravit N N k2n k k2n 2n N N 2n1 N, k = 0, 1,..., N 1, S k s n W W s n W n0 n0 a ve vztahu označíme součty jako k S k S k W S k, k = 0, 1,..., N 1. (8.11) 11 N 12 Diskrétní Fourierovu transformaci jsme zapsali pomocí dvou DFT, které počítají odděleně s lichými a sudými částmi dat. V tomto rozpisu se pokračuje tak dlouho, až se dospěje do stavu jednoho bodu. Pro úplnost bez komentáře uveďme podrobný postup odvození výrazu (8.11): N N k 2n 2 2k 2n1 j j N N 2n e 2n1 e n0 n0 S k s n s n N N k 2n 2k 2 2k 2n j j j N N N s2nn e e s2n1 n e n0 n0 N N kn 2k 2 2kn j j j N / 2 N N / 2 s2nn e e s2n1 n e n0 n0 2k j N S k e S k. Mechanismus výpočtu si můžeme zjednodušeně naznačit blokovým diagramem uvedeným na obr. 8.3, kde je uveden postup výpočtu pro posloupnost s 8 hodnotami. Zde je i vidět, že tento algoritmus je funkční právě pro počet prvků rovný mocnině 2.

80 80 FEKT Vysokého učení technického v Brně s[0] s[4] s[2] s[6] s[1] s[5] s[3] s[7] 2 - bodová FFT 2 - bodová FFT 2 - bodová FFT 2 - bodová FFT Kombinace 2 - bodových FFT Kombinace 2 - bodových FFT Kombinace 4 - bodových FFT S[0] S[1] S[2] S[3] S[4] S[5] S[6] S[7] Obr. 8.3: Blokový diagram výpočtu FFT pro N = 8 prvků. Vlastní algoritmus pak lze znázornit schématem uvedeným na obr Tomuto znázornění se nazývá FFT motýlek, kdy grafické zobrazení připomíná křídla motýla. Toto zobrazení přehledně ukazuje postup výpočtu. s[0] S 21 [0] S 11 [0] S[0] s[1] s[2] S 21 [1] S 22 [0] 0 W 8 S 11 [1] S 11 [2] S[1] S[2] s[3] s[4] s[5] s[6] S 22 [1] S 23 [0] S 23 [1] S 24 [0] 2 W 8 0 W 8 S 11 [3] S 12 [0] S 12 [1] S 12 [2] 0 W 8 1 W 8 2 W 8 S[3] S[4] S[5] S[6] s[7] S 24 [1] 2 W 8 S 12 [3] 3 W 8 S[7] Obr. 8.4: Schéma výpočtu FFT pro N = 8 vzorků, FFT motýlek. POZNÁMKA Výše popsaný algoritmus, kdy dochází k rozkladu vstupní posloupnosti na sudou a lichou část se nazývá decimace v čase DIT (Decimation In Time). Existuje i algoritmus, který ponechá vstupní posloupnost v nezměněném pořadí, pouze jí rozdělí na první a

81 Základní metody číslicového zpracování signálů 81 druhou polovinu, což má za následek, že výstupní DFT vzorky jsou v bitově reverzním pořadí. Tento algoritmus se nazývá decimace v kmitočtové oblasti DIF (Decimation In Frequency). Dále se algoritmy dělí dle velikosti prováděných DFT, např. radix 4 vyžadující posloupnost délky 4 m, resp. další algoritmy, viz např. lit. [4], [13], [14]. POZNÁMKA 8.3 Rozmazání spektra Jak již bylo uvedeno dříve, je periodický diskrétní signál takový signál, u něhož lze najít pravidelně se opakující úsek hodnot o délce T 1. Nejmenší hodnota T 1 je základní perioda. Periodičnost můžeme také zapsat jako sn sn a T 1, kde a je celé číslo. (8.12) V případě, že platí N = p T 1, kde p je přirozené číslo je obálka periodického průběhu diskrétní funkce s[n] identická s analogovou funkcí s(t) jejímž vzorkováním jsme posloupnost s[n] získali. To znamená, že na hranicích základního intervalu nedochází ke skokům obálky s[n], které v původní funkci s(t) také nebyly. Důsledkem toho je, že nedojde k rozmazání spektra, čili k prosakování energie ve spektru, tedy nevzniká více spektrálních čar. V anglické literatuře se tento jev označuje leakage. Uvažujme nyní periodický diskrétní harmonický signál sn sin n 4, kde perioda T 1 = 8. Při výpočtu DFT je počet vzorků N a při uvažování podmínky N = p T 1 pak při: a) N = 8 je podmínka splněna a nedojde k leakage. 1. spektrální čára se objeví na pozici 1 (protože N je 1x násobkem T 1 ) a pak souměrně podle T 1 /2 na pozici 7. b) N = 10 není podmínka splněna a dojde k leakage. Ve spektru se pak objeví 2 hlavní spektrální čáry na pozici 1 a 9 (opět souměrnost podle poloviny základního intervalu) a dále pak také mnoho vedlejších spektrálních čar leakage. c) N = 16 je podmínka splněna a nedojde k leakage. 1.spektrální čára se objeví na pozici 2 (protože N je 2x násobkem T 1 ) a pak souměrně podle T 1 /2 na pozici 14. Uvedená situace je ukázána na obr Vzorky signálu s[n] jsou uvedeny na obr. 8.5a, kde je patrné, že perioda T 1 = 8. Provedeme-li DFT pro N = 8, což odpovídá přímo periodě, získáme diskrétní spektrum uvedené na obr. 8.5b. DFT pro N = 10 je uveden na obr. 8.5c a pro N = 16 je spektrum na obr. 8.5d. Výsledky odpovídají výše uvedeným tvrzením.

82 82 FEKT Vysokého učení technického v Brně a) b) c) d) Obr. 8.5: Rozmazání spektra, leakage; a) vzorky signálu s[n]; b) DFT pro N = 8; c) DFT pro N = 10; d) DFT pro N = 16. Z těchto důvodů se snažíme při výpočtu DFT splnit N = 2 m, kde m je přirozené číslo. Splnění této podmínky je rovněž nutné pro použití algoritmu FFT, jak již bylo uvedeno výše. V případě signálu konečné délky N s volíme počet bodů DFT N N s. Volbou větší hodnoty N při zachování vzorkovací periody T zmenšujeme rozdíl kmitočtů příslušné sousedním spektrálním čarám. Teoreticky je všechna informace obsažená v N s vzorcích signálu, kterými je daný diskrétní signál konečné délky tvořen. Zvyšováním N zvyšujeme počet vzorků v kmitočtové oblasti vypočtených pomocí DFT (sousední čáry jsou blíže u sebe). Zvětšování N nad N s znamená doplnění signálu na konci nulovými hodnotami (v angličtině zero-padding). V praxi opět volíme N = 2 m. Doplnění signálu na konci nulami pomůže např. při detekci lokálních extrémů spektra. Chyby způsobené rozmazáním spektra je v zásadě možné minimalizovat třemi způsoby: změnou délky trvání měřeného vzorku, tak aby délka vyhověla základní periodě či jeho násobkům, např. změnou doby měření (úplné odstranění chyby, v praxi těžko realizovatelné); změnou délky trvání měření, takže kmitočtové rozlišení je jemnější (zmenšení vlivu chyby); použitím časových (datových) oken.

83 Základní metody číslicového zpracování signálů Datová ( časová ) okna Pokud nelze dodržet, že počet počet bodů N DFT je celistvým násobkem periody a zároveň mocninou čísla 2, dojde k rozmazání spektra. Potom je nutné signál s[n] upravit datovým (časovým) oknem w[n], čímž snížíme chybu při určování kmitočtů jednotlivých složek spektra a eliminujeme tak rozmazání spektra. Signál rozdělen na segmenty (sousední segmenty se mohou překrývat) o délce N vzorků a každý segment se poté zpracovává samostatně. Segment o N vzorcích se vytvoří pomocí váhové posloupnosti tzv. okna, kterým se váží příslušné vzorky (tj. okno vybírá příslušné vzorky signálu a přiděluje jim při zpracování určitou váhu), někdy jsou okna označována jako váhovací. Matematicky úprava datovým oknem spočívá ve vynásobení signálu s[n] datovým oknem vhodného tvaru, tedy sw nsn wn. Datových oken je celá řada a mají různé vlastnosti, odlišné průběhy v časové a kmitočtové oblasti. Zde si uvedeme jen některá. K nejrozšířenějším patří Hannovo okno (Hann), obdélníkové okno, trojúhelníkové okno, Bartlettovo okno, Hammingovo okno, Kaiserovo okno, Blackmannovo okno a řada dalších. Nyní si u některých uveďme jejich funkce. Další poznatky jsou dostupné v různé literatuře nebo přímo v nápovědě Matlabu.

84 Amplitude Magnitude (db) 84 FEKT Vysokého učení technického v Brně Typ okna (window) Funkce 1 Obdélník wn 1 pro N 2 Blackman n n w n n N N N n w n n N N n w n n N N 0,1102 8, ,4 0, , n N 1, 1n N 1 2 wn [ ] 2 N n1 N 1 pro N liché, n N N 1 2 2n N 1, 1n N 2 pro N sudé wn [ ] 2 N n1 N, 1 n N N 2 délka N+1 0,42 0,5cos 2 0, Hamming délka N+1 0,54 0,46cos Hann délka N+1 0,5 1 cos Kaiser ß určuje útlum 6 Trojúhelník Tvary oken a jejich modulové kmitočtové charakteristiky pro N = 101 jsou uvedeny na obr Time domain 50 Frequency domain Samples Normalized Frequency ( rad/sample) Rectangular window

85 Amplitude Magnitude (db) Amplitude Magnitude (db) Amplitude Magnitude (db) Základní metody číslicového zpracování signálů 85 1 Time domain 50 Frequency domain Samples Normalized Frequency ( rad/sample) Blackman window Time domain 40 Frequency domain Samples Normalized Frequency ( rad/sample) Hamming window Time domain 50 Frequency domain Samples Normalized Frequency ( rad/sample) Hann window

86 Amplitude Magnitude (db) Amplitude Magnitude (db) 86 FEKT Vysokého učení technického v Brně 1 Time domain Frequency domain Samples Normalized Frequency ( rad/sample) Kaiser window (ß = 4,5) 1 Time domain 50 Frequency domain Samples Normalized Frequency ( rad/sample) Triangular window Obr. 8.6: Příklady časových oken. Jako příklad si nyní ukažme působení Hammingova a trojúhelníkového okna pro signál s n 3sin n, s kmitočtem f = 115 Hz a vzorkovacím kmitočtem f vz = 1000 Hz při výpočtu DFT s N = 101 bodů. Na obr. 8.7 jsou uvedeny časové vzorky tohoto signálu a vypočtená DFT pro uvedený počet bodů. Zde je zřetelně vidět, že dochází k rozmazání spektra a objevují se složky, které v signálu nejsou. Správně by ve spektru měly být pouze dva vzorky nenulové hodnoty, viz výše.

87 Základní metody číslicového zpracování signálů a) b) s n 3sin n, b) vypočtená DFT pro N = 101 bodů. Obr. 8.7: a) Vzorky signálu Nyní vynásobíme vzorky signálu s[n] vzorky Hammingova a trojúhelníkového okna, z výsledných vzorků (viz obr. 8.8a,b) pak vypočteme DFT pro stejný počet bodů jako u neupraveného signálu. Výsledky jsou uvedeny na obr. 8.8c,d. Z porovnání s obr. 8.7b je vidět, že došlo k omezení velikosti vzorků, které do spektra nepatří a) b) c) d) Obr. 8.8: a) Upravený signál s[n] Hammingovým oknem, b) upravený signál s[n] trojúhelníkovým oknem, c) DFT N = 101, Hamming, d) DFT N = 101, trojúhelník.

88 88 FEKT Vysokého učení technického v Brně Z předchozího je zřejmé, že je vhodné použití časových (datových, váhovacích) oken u signálů, které nesplňují podmínku N = p T 1, protože dojde k potlačení rozmazání spektra. Bohužel u signálů, kde počet bodů DFT odpovídá periodě signálu, či jeho násobkům je naopak nežádoucí, protože právě působením okna dochází k prosakování energie, tedy k rozmazání spektra. 8.5 Kmitočtová filtrace pomocí DFT Diskrétní Fourierova transformace poskytuje diskrétní reprezentaci v kmitočtové oblasti diskrétního signálu o konečné délce s[n]. Proto je výpočtově zajímavé využít ji pro kmitočtovou filtraci, zvláště pak také proto, že existuje rychlý výpočet DFT pomocí FFT. Jak bylo zmíněno dříve, lineární časově invariantní (LTI) diskrétní system ovlivňuje spektrum X(e jω ) vstupního signálu x[n] prostřednictvím kmitočtové charakteristiky H(e jω ). Spektrum Y(e jω ) výstupního signálu y[n] je dáno výpočtem podle vztahu: j j j e e e Y H X. (8.13) Výstupní signal y[n] je pak určen pomocí zpětné Fourierovy transformace, jak již bylo uvedeno dříve: 1 j Y e y n. (8.14) Zde je ovšem si nutné uvědomit, že obrazy Fourierovy transformace jsou spojitou funkcí úhlového kmitočtu ω a nelze tedy jednoduše použít programový výpočetní algoritmus pro jejich výpočet. Proto je výhodnější v praxi použít spíše diskrétní Fourierovu transformaci než Fourierovu transformaci diskrétního signálu. Předpokládejme, že vstupní diskrétní signal x[n] má konečné trvání, tj. platí: xn 0 pro n < 0 a n N 1. Totéž nechť platí o impulsní charakteristice LTI diskrétního systému, tedy hn 0 pro n < 0 a n N 2. Pro výstupní signál y[n] diskrétního LTI systému platí operace diskrétní konvoluce: N 1 yn hm xn m, N = N 1 +N 2 1. (8.15) m0 Pokud obrazy diskrétní Fourierovy transformace budou mít aspoň délku N, pak: Y kh k X k, k = 0, 1,..., N 1, (8.16)

89 Základní metody číslicového zpracování signálů 89 a jedna perioda kruhové konvoluce bude mít stejný tvar jako y[n]. Jestliže k výpočtu DFT použijeme FFT, pak se tomuto postupu výpočtu říká rychlá konvoluce. 8.6 Praktická aplikace DFT a FFT Shrňme nyní poznatky o použití DFT/FFT, které vyplývají z předchozích kapitol. Analyzovaný signál rozdělíme do kratších úseků, v nichž se charakter signálu příliš nemění. Délku úseků dále volíme tak, aby se počet vzorků v úseku N rovnal druhé mocnině 2. Pokud není možné zvolit N jako mocninu 2, doplníme signál nulovými vzorky až do nejbližší mocniny 2. Vzorky v daném úseku vynásobíme vhodnou okénkovací funkcí. Pomocí FFT vypočítáme komplexní koeficienty spektra. Pro prvních N/2 hodnot určíme modul a fázi, které následně vyhodnotíme či zpracujeme. Potřebujeme-li převod zpět do časové oblasti, použijeme IFFT (inverzní FFT), tedy přesně opačný postup. Není-li k dispozici program pro IFFT, lze použít FFT podle vztahu IFFT (x) = 1/N (FFT(x*))*. Výpočet spektra u číslicových signálů je možný díky diskrétní Fourierově transformaci - DFT U periodických číslicových signálů DFT poskytne stejný výsledek, jako bychom dostali pomocí FŘ aplikovaných na nevzorkovanou funkci. Podmínkou je celistvý násobek periody. Pokud není podmínka splněna nebo jde-li o obecný signál, bude spektrum obsahovat ještě další složky soustředěné kolem hlavních frekvenčních složek ( rozmazání spektra ). FFT je algoritmus, který umožňuje velmi rychlý výpočet DFT (speciálně pro N = 2 m ).

90 90 FEKT Vysokého učení technického v Brně 9 Technické prostředky číslicového zpracování signálů Technických prostředků pro realizaci systémů pro číslicové zpracování signálů je velmi mnoho a je zde široké pole působnosti v kvalitativní, kvantitativní i cenové oblasti. Obecně lze technické prostředky pro systémy číslicového zpracování signálů shrnout do tří oblastí: Univerzální obvody s libovolnou pevnou architekturou jako jsou násobičky, posuvné registry, čítače, sčítačky, generátory adres, paměti a multiplexery, ale i programovatelné řadiče a řada dalších je víceméně jednoúčelových obvodů. Programovatelné obvody s pevnou architekturou jako jsou univerzální, speciální a signálové procesory. Specializovanými obvody s paralelní architekturou. Signálové procesory. Při výběru vhodných obvodů pro realizaci číslicových systémů je třeba uvážit, zda obvod je pro danou úlohu vhodný z hlediska dosažitelné rychlosti, spotřeby energie, použité aritmetiky, architektury pro požadovaný algoritmus. Dalším důležitým hlediskem je možnost reprogramovatelnosti obvodu a jeho slučitelnosti se spolupracujícími obvody. Pro velké série se stále častěji využívají zakázkové a polozakázkové obvody, které vyhovují z hlediska minimalizace spotřeby, ceny, aritmetických operací a paměťových nároků. Pro malé série se nejčastěji využívají sériově vyráběné, a tudíž levné univerzální obvody jako jsou univerzální nebo signálové procesory a programovatelná logická pole LCA (LCA Logic Cell Array) nebo FPGA (FPGA Field Programmable Gate Arrays). Pro kusové a časově nejnáročnější zakázky lze počítat i s využitím speciálních obvodů s paralelní architekturou, např. od firem Harris nebo Plessey. 9.1 Použití univerzálních obvodů k číslicovému zpracování Do této skupiny obvodů patří většina standardně vyráběných číslicových obvodů, ze kterých můžeme vytvořit zařízení pro číslicové zpracování signálu s libovolnou architekturou (paralelní, sériovou, s využitím pamětí ROM nebo libovolně kombinovanou). Při jeho realizaci se vychází ze zvoleného algoritmu a ze znalostí základů číslicové techniky. Hlavní výhodou těchto typů realizací je velká dosažitelná pracovní rychlost. Nevýhodou zařízení založeného na těchto obvodech je špatná přizpůsobivost i malým změnám v algoritmu, které obvykle vedou ke změně obvodového zapojení a tvorbě nového zařízení. Částečně lze tyto problémy eliminovat použitím architektur s pamětmi ROM. Výrazný pokrok v realizaci těchto obvodů pak přináší reprogramovatelná logická pole EPLD (EPLD - Erasable Programmable Logic Devices) a LCA, které problém změny obvodového zapojení sice neřeší, ale jejich návrhové systémy umožňují velmi rychle vytvořit bitové mapy pro opravené obvodové zapojení a příslušný obvod naprogramovat aniž by bylo nutné zasahovat do zapojení obvodu. Ukažme si nyní jednoduchou ukázku realizace číslicového filtru z univerzálních obvodů. Realizujme paralelní formu číslicového filtru prvého řádu popsaného diferenční rovnicí 1 y n a x n b y n.

91 Základní metody číslicového zpracování signálů 91 Při řešení předpokládejme, že posloupnosti x[n], y[n] a y[n 1] jsou osmibitové hodnoty bez znaménka, které po vynásobení příslušným koeficientem budou sečteny a výsledek bude omezen na osmibitové slovo. Na obr. 9.1 je uvedeno možné obvodové řešení, při kterém jsou sčítané hodnoty omezeny na osm bitů a po sčítání není provedeno zaokrouhlení výsledku. Obr. 9.1: Příklad obvodového řešení filtru s univerzálními číslicovými obvody. Integrované obvody 74F283 jsou 4-bitové dvojkové plné sčítačky s rychlým přenosem, tzn., že pro délku slova 8 bitů jsou použity vždy dvojice svázané přenosovým bitem. Obvod 74ACT574 představuje 8 klopných obvodů typu D s třístavovými výstupy. 9.2 Speciální obvody s paralelní architekturou Do této skupiny patří obvody různých výrobců, např. GEC Plessey, Harris Semiconductors, a celá řada dalších, které se zabývají výrobou speciálních obvodů s pevnou architekturou a funkcí pro kmitočtová pásma nad možnostmi současných běžně používaných univerzálních a signálových procesorů. Signálové procesory i přes vysoké hodinové kmitočty a paralelně realizované operace specifikované programem, zpracovávají požadovaný algoritmus sekvenčně. Díky tomu dosahují nejlepší procesory s dobou instrukce 25ns pro jednoduchá číslicová zpracování vzorkovacích kmitočtů řádu jednotek MHz. Složitá zpracování najdou uplatnění v oblasti 0 až 100 khz. Dále uvedené obvody pracují v kmitočtovém pásmu od 1MHz do 20 až 30 MHz. Jedná se především o obvody jako jsou komplexní násobičky, aritmetické jednotky se střadači a paralelními posuvnými registry, převodníky souřadnic, motýlkové procesory pro realizaci FFT, programovatelné generátory signálu a programovatelné číslicové filtry s programovatelnou decimací v čase, apod.

92 92 FEKT Vysokého učení technického v Brně Na obr. 9.2 je uvedeno blokové schéma vnitřní struktury programovatelného filtru FIR (HSP43168 firmy Harris), který je tvořen dvěma filtry stupně N = 8. Filtry mohou pracovat jako dva nezávislé, paralelně spojené nebo kaskádně řazené filtry. Desetibitové koeficienty se programují do paměti RAM přes standardní rozhraní připojené k mikroprocesorovému systému. Obr. 9.2: Blokové schéma vnitřní struktury obvodu HSP Na obr. 9.3 je zobrazena část vnitřní struktury jednoho z filtrů, který se skládá z 8 násobiček a střadačů. Každý střadač může akumulovat součin ke svému obsahu nebo k obsahu přicházejícího z předcházejícího střadače a uloží jej do registru označeného z 1. V násobičce se provádí součin koeficientu vybaveného z paměti RAM se vstupním vzorkem přicházejícím ze zpožďovacího datového vedení a je akumulován k obsahu střadače nebo k obsahu předcházejícího střadače. Je-li například vzorkovací kmitočet struktury roven 1/4 synchronizačního signálu, potom výsledek střadače je poslán do dalšího obvodu jednou za čtyři cykly. Tímto způsobem lze výměnou koeficientů realizovat ve struktuře filtry s vyšším stupněm za cenu snížení výsledného vzorkovacího kmitočtu. Obr. 9.3: Blokové schéma průtokové struktury filtru.

93 Základní metody číslicového zpracování signálů 93 K realizaci číslicových filtrů můžeme použít i takové obvody jako je komplexní násobička ve spojení s komplexní aritmetickou jednotkou a střadačem. Popsané obvody však neslouží jenom k realizaci číslicových filtrů, ale umožňují realizovat číslicové detektory, výpočet korelace nebo číslicovou detekci. Ve spojení s motýlkovým procesorem umožňují realizovat algoritmus pro výpočet rychlé Fourierovy transformace. Příkladem takového obvodu může být PDSP Použití tohoto obvodu pro realizaci přímé formy filtru FIR je uvedeno na obr Obr. 9.4: Přímá forma realizace filtru FIR. 9.3 Signálové procesory - architektura Signálový procesor DSP má obdobné vlastnosti a způsob programování jako univerzální procesor, ale jeho architektura a instrukční soubor právě podporují rychlé a účinné provedení matematických operací, které se uplatňují ve zpracování signálů. Mezi tyto operace patří spektrální analýza provedená algoritmem rychlé Fourierovy transformace (FFT), komprese obrazu transformací wavelet, práce s polynomy, maticemi apod. Většina DSP má harvardskou architekturu s odděleným zpracováním instrukcí a dat. Toto uspořádání dovoluje současné provádění operací s daty a adresami. DSP má redukovanou instrukční množinu a je vybaven větším počtem výkonných jednotek, pamětí a vnitřních sběrnic. Vysoká rychlost výpočtu se dosahuje obdobnými cestami jako u univerzálních mikroprocesorů, a to zvyšováním hodinového kmitočtu, architekturou procesoru a paralelním zpracováním úloh více procesory. Obecně dokáží DSP provést nejméně jednu operaci násobení a sčítání v jednom instrukčním cyklu. U mnoha DSP je navíc možné násobičku fiktivně rozdělit např. na dvě formálně nezávislé a jednou instrukcí provést dvě operace násobení s menší přesností. Obdobně lze rozdělit aritmeticko-logickou jednotku. V závislosti na architektuře dokáží DSP

94 94 FEKT Vysokého učení technického v Brně ještě v tomtéž instrukčním cyklu provést např. operaci nepřímého adresování, bitových posuvů či rotací, vyhodnotit podmínku vykonání instrukce, příp. jiné operace. Jak už bylo řečeno, mají signálové procesory modifikovanou harvardskou architekturu s minimálně třemi paralelně pracujícími aritmetickými jednotkami. Jedna slouží ke zpracování dat, druhá k výpočtu adres a třetí umístěná v řadiči k obsluze programového čítače a k obvodové podpoře programových cyklů. Modifikace je dále podpořena několikanásobným sběrnicovým systémem. Dalšími možnostmi pro zvýšení výpočetního výkonu signálových procesorů je využití architektury VLIW (Very Long Instruction Word), superskalární architektury a paralelních systémů. Pro omezení častých přístupů do relativně pomalých externích pamětí bývá někdy integrována instrukční paměť cache (i dvoustupňová), případně i datová paměť cache. Ve srovnání s procesory pro všeobecné použití mají DSP menší spotřebu, nižší cenu a vyšší výkon v úlohách zpracování signálů. Většina instrukcí trvá jeden instrukční cyklus a DSP má garantovanou dobu, během níž se dostane do smyčky aktivního přerušení (např. čtyři instrukční cykly), což je přínosem pro systémy reálného času. Na druhou stranu se u DSP s rostoucím výpočetním výkonem rozrůstá jejich architektura o další výpočetní jednotky, další sběrnice a zvětšuje se hloubka zřetězení (pipelining), což přinejmenším snižuje efektivitu využití procesoru. Největšími výrobci jsou firmy Motorola, Texas Instruments, Analog Devices, Freescale a další. Všechny pak mají v nabídkách jak samotné signálové procesory, tak i vývojové kity s těmito čipy a vývojová prostředí pro ladění a implementaci algoritmů. Samotné procesory mohou mít na čipu integrované různé typy pamětí, RAM, ROM a FLASH. Jak již bylo výše uvedeno, je signálový procesor (DSP -Digital Signal Processor) mikroprocesor, příp. mikroprocesorový systém uzpůsoben především pro efektivní realizaci algoritmů číslicového zpracování signálů, a to nejlépe v reálném čase. Vývojově lze DSP od roku 1979 podle architektury: von Neumannova architektura, klasická architektura univerzálních procesorů, Harvardská architektura, architektura typu VLIW (Very Long Instruction Word), superskalární architektura. Na systémy založené na paralelním zpracování lze pohlížet z hlediska počtu programů, které jsou řešeny současně SI (Single Instruction Stream), jeden řešený program, MI (Multiple Instruction Stream). Nebo podle počtu datových toků, které jsou zpracovány současně - SD (Single Data Stream), jeden zpracovávaný datový tok, MD (Multiple Data Stream). Moderní DSP obsahují struktury, které umožňují paralelní zpracování instrukcí i dat. Rychlost zpracování algoritmů je možné ovlivnit zařazením rychlé paměti (nebo skupiny pamětí) typu cache jak pro instrukce, tak i pro data. Nejjednodušší struktura cache je jedno-instrukční opakovací bufer. Ten obsahuje vždy jen jednu instrukci, která se neustále opakuje, (např.

95 Základní metody číslicového zpracování signálů 95 cyklus). DSP má volnou datovou sběrnici pro čtení/zápis dat. Jedno-instrukční bufer může být rozšířen na více instrukcí. Jako příklad signálových procesorů uveďme procesory firmy Texas Instruments. Tyto procesory představují architekturu VLIW (Very Long Instruction Word). Ukažme si řadu DSP TMS320C6000 (32 bitové signálové procesory). Typy s plovoucí a pevnou čárkou - 'C67xx (floating), 'C64xx (fixed), 'C62xx (fixed). První procesor této řady TMS320C6202 využívá pouze paralelní zpracování instrukcí, typ 'C64xx je doplněn paralelním zpracováním dat. Výpočetní vlastnosti těchto DSP jsou deklarovány následovně: Parametr 'C62xx 'C64xx 'C67xx f CPU [MHz] MIPS/MFLOPS bitové operace MMACS bitové operace MMACS MIPS - Milion Instructions per Second, (milion instrukcí za sekundu), objektivní kritérium, podle kterého se dá jednoduše měřit výkon procesoru. Nesouvisí zcela s pracovním kmitočtem procesoru. MFLOPS - Million Floating-point Operations per Second, (počet milionů operací v plovoucí řádové čárce za sekundu), jednoduché kritérium při posuzování výpočetního výkonu mikroprocesoru, jejichž hardware umí počítat s reálnými čísly vyjádřenými ve tvaru s plovoucí řádovou čárkou. MMACS - Million Multiply Accumulate Cycles per Second, (počet milionů operací násobení a sčítání za sekundu). POZNÁMKA Zkratka MIPS značí také Microprocessor without Interlocked Pipeline Stages, což je ve své podstatě architektura procesoru. Tato architektura vznikla počátkem 80. let minulého století z výzkumné práce Johna Henessyho a jeho studentů na stanfordské univerzitě. Jejich výzkumným cílem bylo dokázat, že koncept architektury typu RISC, tedy poměrně jednoduché instrukce ve spojení s pipeliningem a dobrým kompilátorem, vede k vytvoření rychlejšího procesoru. Tato myšlenka byla relativně úspěšná a v roce 1984 došlo ke komercializaci této architektury. MIPS v současné době není konkrétní procesor, ale plně syntetizovatelné jádro, které mohou výrobci procesorů začlenit do svých produktů. MIPS je velmi rozšířená architektura zejména v oblasti tzv. "Embedded" systémů. POZNÁMKA Na obr. 9.5 je uvedena bloková struktura jádra signálového procesoru TMS320C67XX.

96 96 FEKT Vysokého učení technického v Brně Obr. 9.5: Struktura jádra signálového procesoru TMS320C67XX, Texas Instruments. Jádro tohoto signálového procesoru je rozděleno do 2 datových cest A, B. Každá cesta obsahuje 16 datových 32 bitových registrů a 4 funkční jednotky. Datové registry A0 až A15; B0 až B15 slouží jako zdroj dat pro funkční jednotky. Samostatné funkční jednotky jsou určeny pro aritmetické operace (L), bitové operace (S), přístup do paměti (D), hardwarová násobička (M). Každá funkční jednotka je navíc schopna provádět typické aritmeticko-logické operace. Jednotky jsou řízeny nezávisle na ostatních a všechny mohou pracovat současně. Jedna VLIW instrukce je tedy složena až z 8 32 bitových částí (256b), což je tzv. instrukční paket. Takto osm nezávislých jednotek umožňuje paralelní zpracování programu a dosáhnout vysoký výpočetní výkon. Navíc je umožněno načtení (fetch cyklus) až 8 instrukcí v jednom hodinovém cyklu, což přináší další značnou časovou úsporu. K dalšímu zvýšení výpočetního výkonu, které již nejsou ze struktury patrné, patří ještě další vlastnosti. Jednotky ze sousední datové cesty mohou využívat i registrový soubor jiné datové cesty, označované 1X a 2X, tzv. file cross. K uložení obsahu datových registrů do paměti slouží datové sběrnice (32 bitové) označené jako ST1 a ST2 (store-to-memory). V opačném směru pak sběrnice LD1 a LD2 (load-from-memory). Adresa požadovaných dat je generována jednou z jednotek D na sběrnice DA1 a DA2 (data address), opět 32 bitové. V některých typech lze pak navíc on-chip paměť pro program i data konfigurovat jako cache. Výhody moderní architektury signálových procesorů typu VLIW však nelze využít, pokud algoritmus vyžaduje sekvenční zpracování dat. To znamená, že jednotlivé operace na sebe přímo navazují a před dalším krokem v algoritmu musíme znát výsledky všech předchozích operací. Tento typ úloh se v oblasti číslicového zpracování signálu však neobjevuje často. Daleko častější jsou úlohy zpracování datových posloupností (FFT, banky číslicových filtrů, waveletová a homomorfní analýza apod.). Při tomto typu zpracování lze algoritmus realizovat pro několik hodnot vstupního signálu současně a využití paralelního zpracování podstatně zvýší rychlost zpracování algoritmu a výpočetní výkon.

97 Základní metody číslicového zpracování signálů Signálové procesory příklad implementace Jako příklad programového řešení si uvedeme implementace číslicového filtru FIR v signálovém procesoru TMS320C6416. Implementace číslicového filtru s konečnou impulsní charakteristikou FIR je relativně velmi jednoduchá. Přenosová funkce má obecný tvar: H z N1 N2 1 b0 z b1 z... bn2z bn 1. N 1 z Jmenovatel má N 1 kořenů v 0, tedy v počátku souřadnic roviny z. Všechny kořeny tak vždy leží uvnitř jednotkové kružnice a filtr je absolutně stabilní. Stabilitu není nutné kontrolovat. Jak již víme, přenosovou funkci můžeme upravit do tvaru: Y z 1 N2N1 H z b0 b1 z... bn2z bn 1z, X z a pro obraz výstupního signálu pak lze získat N 1 m Y z bm z X z m0. Po převodu do časové oblasti zpětnou transformací za předpokladu nulových počátečních podmínek dostaneme známý vztah pro konvoluci N 1 yn hm xn m, m0 kde vzorky impulsní charakteristiky h[m] délky N jsou rovny přímo koeficientům b m čitatele přenosové funkce filtru H(z). Programově je tedy možné výpočet vzorku výstupního signálu y[n] provést jako součet součinů odpovídajících prvků pole koeficientů coef a prvků pole zpožděných vzorků vstupního signálu state. Jak je vidět v tabulce symbolicky znázorňující tento výpočet, do pole state se vkládá vždy pouze jeden nový vzorek vstupního signálu. Ostatní prvky se pouze posunou a nejstarší vzorek je zahozen. Nejjednodušší způsob, jak toho dosáhnout, je v paměti překopírovat obsah pole state a na první místo vložit nový vzorek vstupního signálu. To je však výpočetně náročné, zejména při větších délkách N impulsní charakteristiky filtru. y[0] y[1] y[2]... y[n 1] y[n] Pole coef[] Pole state h[n 1] x[1 N] x[2 N] x[3 N] x[n 1] x[1] h[n 1] x[2 N] x[3 N] x[4 N] x[n 2] x[2] h[n 1] x[3 N] x[4 N] x[5 N] x[n 3] x[3] h[1] x[ 1] x[0] x[1] x[n 2] x[n 1] h[0] x[0] x[1] x[2] x[n 1] x[n]

98 98 FEKT Vysokého učení technického v Brně Proto se pro realizaci zpožděného signálu používá kruhová paměť circular buffer. V kruhové paměti jsou prvky uloženy v kruhu, jak je naznačeno na následujícím obrázku. Na začátku jsou ukazatele read a write nastaveny na pozici prvního vstupního vzorku x[0]. Při čtení se snižuje hodnota ukazatele read tak, abychom vyčítali zpožděné vzorky vstupního signálu. Po skončení výpočtu prvního výstupního vzorku zvýšíme ukazatel write tak, aby ukazoval na nejstarší vzorek v kruhové paměti, a přepíšeme jej novým vzorkem vstupního signálu. Před výpočtem dalšího výstupního vzorku je ukazatel read nastaven na stejné místo jako write a výpočet konvoluce se opakuje. Vždy se přepisuje jen jeden konkrétní vzorek, což je výpočetně mnohem méně náročné než kopírování celého pole state. x[ 1] x[0] x[1 N] x[1] x[ 2] read write x[2 N] x[ 3] x[3 N] Obr. 9.6: Mechanismus čtení a zápisu v kruhové paměti. Programovací jazyky kruhové paměti běžně nepodporují. Proto kruhovou paměť deklarujeme jako běžné pole, ale změnu ukazatelů read a write provádíme v kruhu, jak bylo naznačeno, pomocí modulo operace tedy celočíselného zbytku po dělení délkou kruhové paměti. Většina signálových procesorů modulo adresování přímo podporuje, a tak dojde k dalšímu zrychlení výpočtu. Následující výpis zdrojového kódu implementuje FIR filtr. Na začátku je definována konstanta překladače LENGTH, která obsahuje délku impulsní charakteristiky a tedy i velikost pole coef pro uložení koeficientů filtru a pole state pro uložení zpožděných vstupních vzorků. Obě pole jsou deklarovány jako pole 16bitových celých čísel short. Pole state je naplněno nulami, pole coef je naplněno desetinnými koeficienty filtru převedenými na celá čísla vynásobením hodnotou 2 15 =32768 a zaokrouhlením. Dále jsou deklarovány oba ukazatele read a write a jsou inicializovány na pozici nejnovějšího vzorku. Funkce fir_filter jako vstupní parametr přebírá hodnotu současného vstupního vzorku x a její návratová hodnota je vypočtená hodnota výstupního vzorku. Na začátku funkce je deklarována pomocná proměnná m pro čítač cyklu a proměnná accu, která bude použita pro postupné sčítání součinů. Protože součin 16bitových čísel je 32bitový, je tato proměnná deklarována jako 32bitová typu int. Dále je vstupní vzorek je zapsán do kruhové paměti na pozici write. Ukazatel read pro čtení z kruhové paměti je nastaven na stejnou pozici.

99 Základní metody číslicového zpracování signálů 99 Hodnota akumulátor accu musí být před výpočtem sumy vynulována. V tomto případě je nastavena na hodnotu 0x , což ve spojení s funkcí _ext v závěru zaručí správné zaokrouhlení 32bitové hodnoty na 16 bitů. V následujícím cyklu funkce _smpy provede vynásobení příslušného koeficientu a zpožděného vzorku. Není zde možné použít operátor *, protože hodnoty koeficientů a vzorků signálu jsou desetinná čísla převedená na celá. Funkce _smpy zaručí správné nastavení řádové čárky a případnou saturaci výsledku. Podobně funkce _sadd provede součet dvou 32bitových čísel včetně správné saturace výsledku. Všechny tři uvedené funkce _ext, _smpy, _sadd jsou speciální, tzv. intrinsic, funkce překladače. Před opakováním cyklu je nutné ještě provést snížení ukazatele read na starší vzorek signálu. Pokud byla hodnota read nulová, po snížení by ukazovala mimo kruhovou paměť. V takovém případě je nutné ukazatel nastavit na poslední pozici v kruhové paměti. Podobně po skončení cyklu (a tedy výpočtu konvoluce) je zvýšena hodnota ukazatele write, aby ukazoval na nejstarší vzorek v kruhové paměti. Pokud by ukazoval na poslední pozici v kruhové paměti, po zvýšení by opět ukazoval mimo kruhovou paměť a bylo by nutné jej nastavit na 0. V tomto případě je to možné ošetřit operací modulo % délkou kruhové paměti. Před návratem z funkce je nutné ze 32bitové hodnoty v proměnné accu získat 16bitový vzorek výstupního signálu. K tomu je použita funkce _ext, která provede bitový posun vlevo prvního argumentu o počet bitů zadaný druhým argumentem a následně provede bitový posun vpravo o počet bitů zadaný třetím argumentem. V tomto případě extrahuje horní 16bitovou polovinu, která je rovna výstupnímu vzorku. #define LENGTH 5 short coef[length] = { 331, 7220, 17667, 7220, 331}; short state[length] = { 0, 0, 0, 0, 0}; short read = LENGTH-1, write = LENGTH-1; short fir_filter( short x) { short m; int accu; state[write] = x; read = write; accu = 0x ; for( m = 0; m < LENGTH; m++) { accu = _sadd( accu, _smpy( coef[m], state[read])); } read--; if(read < 0) read = LENGTH - 1; write = (write + 1) % LENGTH; } return( _ext( accu, 0, 16));

100 100 FEKT Vysokého učení technického v Brně Uvedená implementace byla testována v simulátoru prostředí Code Composer Studio verze 5. Snímek obrazovky je na obr Uprostřed obrázku je patrný výpis výše uvedeného kódu. Ve spodní části obrázku jsou vidět grafické průběhy vstupního (vlevo) a výstupního signálu (vpravo). Vstupní signál vznikl součtem dvou harmonických signálů, z nichž jeden měl kmitočet v propustném pásmu testovaného filtru, druhý měl kmitočet z nepropustného pásma testovaného filtru. Ve výstupním signálu je patrný výrazný útlum složky z nepropustného pásma filtru. Většího potlačení by bylo možné docílit vyšším řádem, tj. delší impulsní charakteristikou, testovaného filtru. Obr. 9.7: Výsledek simulace implementovaného filtru. Praktické využití vnějšího a vnitřního popisu diskrétního systému, popsaného dříve, uvedeme na optimalizaci implementace číslicového filtru. Stavový popis diskrétního systému definuje vztah mezi vstupním diskrétním signálem, stavovými diskrétními signály a výstupním diskrétním signálem. Podobně jako u spojitých systémů je výhodnější rozepsat jednu diferenční rovnici s-tého řádu na s diferenčních rovnic 1. řádu pro stavové veličiny: n vn xn C D. v 1 A B, y n v n x n (9.1)

101 Základní metody číslicového zpracování signálů 101 kde y[n] je výstupní diskrétní signál a x[n] je vstupní signál. Vektor stavových veličin je definován jako v[n] = [v 1 [n], v 2 [n],..., v s [n]] T. Matice A, B, C a D určují vlastnosti diskrétního systému. Příkladem jsou číslicové filtry, které jsou velmi často používány a jejich realizace zabírá neúměrně mnoho výpočetního času. Proto je důležité najít optimální formu jejich realizace. Číslicový filtr typu IIR (Infinite Impulse Response) je získán kvantováním parametrů systému, vstupního a výstupního signálu a dílčích výsledků aritmetických operací při výpočtu úplného řešení. Jsou známy dva základní rozklady do stavových diferenčních rovnic (9.1): 1. kanonická forma a 2. kanonická forma. Diferenční rovnice musí být připraveny v homogenní formě, tj. tak, aby byla co nejlépe využita základní instrukce, kterou je operace násobení s akumulací. Právě 1. kanonická forma splňuje tuto podmínku velmi dobře. Na obr je uvedena struktura 1. kanonické formy pro systém 2. řádu. x[n] a 2 1/b 2 y[n] v 1 [n] v 1 [0] [n] a 1 z 1 b 1 v 2 [n] v 2 [0] [n] z 1 a 0 Obr. 9.8: Graf signálových toků diskrétního systému 2. řádu v 1.kanonické formě. b 0 Stavové diferenční rovnice pro systém uvedený na obr. 9.8 jsou: 1 1 v n a x n b y n v n v n a x n b y n y n a x n v n b (8.2) Podobně například je možné vybrat mezi dvěma typy motýlku při realizaci algoritmu FFT. Víme, že existují dvě skupiny algoritmů FFT a to DIT a DIF. Z hlediska homogenity algoritmu je motýlek typu DIF pro implementaci na signálových procesorech nevhodný. Podobně při implementaci jiných typů algoritmů (např. syntéza řeči pomocí LPC u GSM, syntéza řeči typu Text-To-Speech apod.) je vhodné podmínku homogenity respektovat. Zápis algoritmů v asembleru signálových procesorů typu VLIW je velmi náročný. Díky vysokému stupni zřetězeného zpracování instrukcí (pipelining) a vysokému stupni paralelismu

102 102 FEKT Vysokého učení technického v Brně je v každém hodinovém cyklu zpracováváno několik instrukcí, jejichž počet je dán počtem aktivních paralelních jednotek, přičemž provedení jednotlivých instrukcí může trvat různý počet hodinových cyklů. V programu pak existuje několik paralelních výpočetních cest, které musí programátor stále sledovat. Za těchto podmínek je velmi snadné udělat chybu. Navíc sdružování instrukcí do paralelních cest podléhá řadě omezení, které jsou dány vnitřní architekturou daného signálového procesoru. Např. máme-li k dispozici pouze dvě adresové sběrnice, pak v jednom hodinovém cyklu lze číst pouze dvě hodnoty z paměti. To vše velmi závisí na konkrétním typu signálového procesoru a tak programy zapsané v asembleru signálového procesoru jsou obtížně přenositelné nejen mezi typy různých výrobců, ale i mezi jednotlivými řadami jednoho výrobce. Naopak vývoj programů pro procesory superskalární architektury (Pentium firmy Intel apod.) je z tohoto pohledu jednodušší, protože sdružování instrukcí paralelně provádí hardwarová jednotka ve struktuře procesoru (Schedule Unit). Z těchto důvodů se snažíme zápisu algoritmů v asembleru vyhnout a využít překladačů z vyšších programovacích jazyků, zejména jazyka C. Překladače určené pro signálové procesory jsou součástí IDE (Integrated Design Environment). Jako příklad lze uvést již zmíněný CodeComposer firmy Texas Instruments nebo CodeWarior firmy Motorola. Tyto překladače se liší od standardu ANSI-C nebo od C++ v některých detailech, které však pak v konečném výsledku mají podstatný vliv na rychlost a stabilitu implementace algoritmu (stabilitou se rozumí odolnost vůči vzniku chyb za běhu programu - např. přístup do paměti neexistující paměti, apod.). Základním rozdílem je, že definované datové typy jsou plně přizpůsobeny architektuře signálového procesoru. Počet bitů datových typů a formát pro uložení čísel v daném kódu (většinou doplňkový kód) odpovídají skutečnému uložení čísel v registrech signálového procesoru. Dalším rozdílem vůči zmíněným standardům jsou definice maker a direktiv kompilátoru, pomocí kterých programátor ve zdrojovém kódu definuje dodatečné informace. Jedná se například o vzájemné souvislosti proměnných, zarovnávání hodnot v pamětech atd. Tyto informace používá překladač při optimalizaci přeloženého kódu a jejich správné použití může podstatně zvýšit efektivitu překladu měřenou výpočetní náročností přeloženého binárního kódu. Naopak nesprávné použití vede k vytvoření strojového binárního kódu, který je potenciálně nebezpečný a může způsobovat chyby při běhu programu (run-time errors). Například dvě nezávislé proměnné x a y, které jsou uloženy v různých částech datové paměti, mohou být ukládány do paměti nebo čteny z paměti paralelně. Pokud by proměnné sdílely společný paměťový prostor (např. proměnná y je ukazatel na stejné pole hodnot jako x), došlo by při zápisu hodnoty do proměnné x ke změně hodnoty i v proměnné y. V takovém případě hodnota přečtená z y závisí na tom, zda je operace čtení provedena před nebo až po operaci zápisu do x. V případě, kdy proměnné x a y jsou argumenty funkce předávané odkazem, pak nelze v době překladu zjistit, zda obě proměnné sdílí paměťový prostor nebo ne. Překladač samozřejmě předpokládá, že obě sdílí paměťový prostor a vytvoří bezpečnější, ale zároveň výpočetně delší a náročnější binární strojový kód. Mezistupněm mezi optimalizací algoritmu v jazyce C a optimalizací v asembleru signálového procesoru je vkládání instrukcí asembleru signálového procesoru přímo do zdrojového kódu jazyka C nebo použití speciálních funkcí (intrinsic), které jsou překládány jako jediná instrukce. Většina vývojových prostředí IDE pro signálové procesory tyto činnosti podporuje. Programátor může tímto způsobem optimalizovat kritické části zdrojového kódu, které překladač neumí správně analyzovat. Příkladem implementace algoritmu může být filtr typu FIR, jehož zdrojový kód v jazyce C.

103 Základní metody číslicového zpracování signálů 103 void FIR( short x[], short h[], short y[], int N_h, int N_y){ int sum; int i, j; } for( i = 0; i < N_y; i++){ sum = 0; for( j = 0; j < N_h; j++){ sum += h[ N_h j] * x[ i + j]; } y[i] = sum >> 16; } Uvedená funkce přebírá jako parametry ukazatele na pole vstupních vzorků x, na pole koeficientů filtru h a na pole výstupních vzorků y. Dalšími parametry je počet koeficientů N_h a počet výstupních vzorků N_y. Výstupní vzorek je vypočítán konvolucí vstupní posloupnosti a koeficientů filtru. Zdrojový kód byl přeložen nejprve při vypnuté optimalizaci kompilátoru a testován v prostředí Code Composer. Každá iterace při výpočtu konvoluce se skládá z přenesení hodnoty koeficientu a hodnoty vstupního vzorku do registrů jádra signálového procesoru (přenesení hodnot z paměti spotřebuje 5 hodinových cyklů), operace násobení (2 hodinové cykly) a přičtení součinu k hodnotě proměnné sum (1 hodinový cyklus). Změřená celková výpočetní náročnost, včetně operace uložení výsledku do paměti, režie při volání funkce, a dalších činností, funkce FIR je přibližně hodinových cyklů pro N_h = 40 a N_y = 210. Cílem optimalizace je sloučit maximální počet operací paralelně. Zápis optimalizace funkce FIR v jazyce pak vypdadá následovně. void FIR( const int x[restrict], const int h[restrict], short y[restrict], int N_y, int N_h){ int sum1; int sum2; int i, j; for( i = 0; i < N_y >> 1; i++){ sum1 = sum2 = 0; for( j = 0; j < N_h >> 1; j++){ sum1 += _mpy( h[n_h j], x[ i + j]); sum1 += _mpyh( h[n_h j], x[ i + j]); sum2 += _mpylh( h[n_h j], x[i + j]); sum2 += _mpyhl( h[n_h j], x[i + j + 1]); } *y++ = sum1 >> 16; *y++ = sum2 >> 16;

104 104 FEKT Vysokého učení technického v Brně } } Nejprve pomocí klíčového slova const definujeme, že vzorky vstupní posloupnosti a koeficienty filtru se uvnitř funkce nemohou změnit. Dále klíčovým slovem restrict definujeme nezávislost všech tří ukazatelů, tzn. že každý z trojice ukazatelů ukazuje na odlišné pole v paměti a operace čtení a zápisu do polí lze provádět paralelně. Operace s pamětí patří obecně k časově nejnáročnějším operacím. Proto procesory řady TMS320C6200 podporují přenos vícebytových hodnot. V našem případě změníme typ ukazatele na vzorky vstupního signálu z datového typu short na datový typ int s dvojnásobným počtem bitů, takže budeme číst z paměti vždy dva vzorky vstupního signálu (jeden bude uložen jako 16 nejméně významných bitů registru a druhý bude uložen jako 16 nejvíce významných bitů téhož registru). Podobně je změněn i datový typ ukazatele na koeficienty filtru. Nejvíce významné bity, resp. nejméně významné bity, každé přenesené dvojice vynásobíme speciální funkcí (intrinsic) _mpyh, resp. _mpy. Nevýhodou přenosu vícebytových hodnot je, že hodnota ukazatele musí být celistvým násobkem počtu bytů přenášené hodnoty (v případě typu int tedy násobkem 4), tj. přenášená data musí být zarovnaná. Mimo jiné to znamená, že nelze takto definovaný ukazatel posouvat o jeden 16bitový vzorek vstupního signálu. Z toho důvodu počítáme v jednom cyklu dva výstupní vzorky - první v proměnné sum1 a druhý v proměnné sum2. Posunutí o jeden vzorek vytvoříme použitím speciální funkce _mpylh, resp. _mpyhl, která násobí 16 nejméně významných bitů prvního argumentu a 16 nejvíce významných bitů druhého argumentu, resp. 16 nejvíce významných bitů prvního argumentu a 16 nejméně významných bitů druhého argumentu, jak je naznačeno na obr Obr. 9.9: Znázornění součinů při výpočtu hodnot proměnných sum1 a SUM2. Do registru je vždy uložena dvojice vzorků vstupního signálu a dvojice koeficientů, které jsou navzájem násobeny. Písmeno l, resp. h, označuje 16 nejméně významných bitů, resp. 16 nejvíce významných bitů. Po úpravách zdrojového kódu a optimalizací pomocí překladače klesne výpočetní náročnost přibližně na hodinových cyklů. Tento výrazný pokles výpočetní náročnosti je způsoben tím, že je realizováno paralelní zpracování a v jednom hodinovém cyklu pracuje více jednotek jádra. Tedy zatímco jednotky L příčítají hodnoty předchozích součinů k proměnným sum1 a sum2, jednotky M již provádí násobení aktuální dvojice vzorků a jednotky D začínají s přenosem nových vstupních vzorků a koeficientů filtru.

KTE/TEVS - Rychlá Fourierova transformace. Pavel Karban. Katedra teoretické elektrotechniky Fakulta elektrotechnická Západočeská univerzita v Plzni

KTE/TEVS - Rychlá Fourierova transformace. Pavel Karban. Katedra teoretické elektrotechniky Fakulta elektrotechnická Západočeská univerzita v Plzni KTE/TEVS - Rychlá Fourierova transformace Pavel Karban Katedra teoretické elektrotechniky Fakulta elektrotechnická Západočeská univerzita v Plzni 10.11.011 Outline 1 Motivace FT Fourierova transformace

Více

SIGNÁLY A SOUSTAVY, SIGNÁLY A SYSTÉMY

SIGNÁLY A SOUSTAVY, SIGNÁLY A SYSTÉMY SIGNÁLY A SOUSTAVY, SIGNÁLY A SYSTÉMY TEMATICKÉ OKRUHY Signály se spojitým časem Základní signály se spojitým časem (základní spojité signály) Jednotkový skok σ (t), jednotkový impuls (Diracův impuls)

Více

Lineární a adaptivní zpracování dat. 2. SYSTÉMY a jejich popis v časové doméně a frekvenční doméně

Lineární a adaptivní zpracování dat. 2. SYSTÉMY a jejich popis v časové doméně a frekvenční doméně Lineární a adaptivní zpracování dat 2. SYSTÉMY a jejich popis v časové doméně a frekvenční doméně Daniel Schwarz Investice do rozvoje vzdělávání Osnova Opakování: signály a systémy Vlastnosti systémů Systémy

Více

Lineární a adaptivní zpracování dat. 2. SYSTÉMY a jejich popis v časové doméně a frekvenční doméně

Lineární a adaptivní zpracování dat. 2. SYSTÉMY a jejich popis v časové doméně a frekvenční doméně Lineární a adaptivní zpracování dat 2. SYSTÉMY a jejich popis v časové doméně a frekvenční doméně Daniel Schwarz Investice do rozvoje vzdělávání Osnova Opakování: signály a systémy Vlastnosti systémů Systémy

Více

Lineární a adaptivní zpracování dat. 3. SYSTÉMY a jejich popis ve frekvenční oblasti

Lineární a adaptivní zpracování dat. 3. SYSTÉMY a jejich popis ve frekvenční oblasti Lineární a adaptivní zpracování dat 3. SYSTÉMY a jejich popis ve frekvenční oblasti Daniel Schwarz Osnova Opakování: systémy a jejich popis v časové oblasti Fourierovy řady Frekvenční charakteristika systémů

Více

Funkce komplexní proměnné a integrální transformace

Funkce komplexní proměnné a integrální transformace Funkce komplexní proměnné a integrální transformace Fourierovy řady I. Marek Lampart Text byl vytvořen v rámci realizace projektu Matematika pro inženýry 21. století (reg. č. CZ.1.07/2.2.00/07.0332), na

Více

Úvod do zpracování signálů

Úvod do zpracování signálů 1 / 25 Úvod do zpracování signálů Karel Horák Rozvrh přednášky: 1. Spojitý a diskrétní signál. 2. Spektrum signálu. 3. Vzorkovací věta. 4. Konvoluce signálů. 5. Korelace signálů. 2 / 25 Úvod do zpracování

Více

Signál v čase a jeho spektrum

Signál v čase a jeho spektrum Signál v čase a jeho spektrum Signály v časovém průběhu (tak jak je vidíme na osciloskopu) můžeme dělit na periodické a neperiodické. V obou případech je lze popsat spektrálně určit jaké kmitočty v sobě

Více

Lineární a adpativní zpracování dat. 3. Lineární filtrace I: Z-transformace, stabilita

Lineární a adpativní zpracování dat. 3. Lineární filtrace I: Z-transformace, stabilita Lineární a adpativní zpracování dat 3. Lineární filtrace I: Z-transformace, stabilita Daniel Schwarz Investice do rozvoje vzdělávání Osnova Opakování: signály, systémy, jejich vlastnosti a popis v časové

Více

1 Mnohočleny a algebraické rovnice

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

Více

U Úvod do modelování a simulace systémů

U Úvod do modelování a simulace systémů U Úvod do modelování a simulace systémů Vyšetřování rozsáhlých soustav mnohdy nelze provádět analytickým výpočtem.často je nutné zkoumat chování zařízení v mezních situacích, do kterých se skutečné zařízení

Více

Analýza a zpracování signálů. 5. Z-transformace

Analýza a zpracování signálů. 5. Z-transformace Analýa a pracování signálů 5. Z-transformace Z-tranformace je mocný nástroj použitelný pro analýu lineárních discretetime systémů Oboustranná Z-transformace X k jf j xk, je komplexní číslo r e r e k Oboustranná

Více

0.1 Úvod do lineární algebry

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

Více

1 Modelování systémů 2. řádu

1 Modelování systémů 2. řádu OBSAH Obsah 1 Modelování systémů 2. řádu 1 2 Řešení diferenciální rovnice 3 3 Ukázka řešení č. 1 9 4 Ukázka řešení č. 2 11 5 Ukázka řešení č. 3 12 6 Ukázka řešení č. 4 14 7 Ukázka řešení č. 5 16 8 Ukázka

Více

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY a SYSTÉMY

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY a SYSTÉMY Lineární a adaptivní zpracování dat 1. ÚVOD: SIGNÁLY a SYSTÉMY Daniel Schwarz Investice do rozvoje vzdělávání Osnova Úvodní informace o předmětu Signály, časové řady klasifikace, příklady, vlastnosti Vzorkovací

Více

SIGNÁLY A LINEÁRNÍ SYSTÉMY

SIGNÁLY A LINEÁRNÍ SYSTÉMY SIGNÁLY A LINEÁRNÍ SYSTÉMY prof. Ing. Jiří Holčík, CSc. holcik@iba.muni.cziba.muni.cz II. SIGNÁLY ZÁKLADNÍ POJMY SIGNÁL - DEFINICE SIGNÁL - DEFINICE Signál je jev fyzikální, chemické, biologické, ekonomické

Více

SIGNÁLY A LINEÁRNÍ SYSTÉMY

SIGNÁLY A LINEÁRNÍ SYSTÉMY SIGNÁLY A LINEÁRNÍ SYSTÉMY prof. Ing. Jiří Holčík, CSc. holcik@iba.muni.cz II. SIGNÁLY ZÁKLADNÍ POJMY SIGNÁL - DEFINICE SIGNÁL - DEFINICE Signál je jev fyzikální, chemické, biologické, ekonomické či jiné

Více

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

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

Více

Posloupnosti a řady. 28. listopadu 2015

Posloupnosti a řady. 28. listopadu 2015 Posloupnosti a řady Přednáška 5 28. listopadu 205 Obsah Posloupnosti 2 Věty o limitách 3 Řady 4 Kritéria konvergence 5 Absolutní a relativní konvergence 6 Operace s řadami 7 Mocninné a Taylorovy řady Zdroj

Více

Flexibilita jednoduché naprogramování a přeprogramování řídícího systému

Flexibilita jednoduché naprogramování a přeprogramování řídícího systému Téma 40 Jiří Cigler Zadání Číslicové řízení. Digitalizace a tvarování. Diskrétní systémy a jejich vlastnosti. Řízení diskrétních systémů. Diskrétní popis spojité soustavy. Návrh emulací. Nelineární řízení.

Více

sin(x) x lim. pomocí mocninné řady pro funkci sin(x) se středem x 0 = 0. Víme, že ( ) k=0 e x2 dx.

sin(x) x lim. pomocí mocninné řady pro funkci sin(x) se středem x 0 = 0. Víme, že ( ) k=0 e x2 dx. Použití mocniných řad Nejprve si ukážeme dvě jednoduchá použití Taylorových řad. Příklad Spočtěte následující limitu: ( ) sin(x) lim. x x ( ) Najdeme lim sin(x) x x pomocí mocninné řady pro funkci sin(x)

Více

Základní pojmy o signálech

Základní pojmy o signálech Základní pojmy o signálech klasifikace signálů transformace časové osy energie a výkon periodické signály harmonický signál jednotkový skok a impuls Jan Černocký ÚPGM FIT VUT Brno, cernocky@fit.vutbr.cz

Více

Modelování systémů a procesů (11MSP) Bohumil Kovář, Jan Přikryl, Miroslav Vlček. 8. přednáška 11MSP pondělí 20. dubna 2015

Modelování systémů a procesů (11MSP) Bohumil Kovář, Jan Přikryl, Miroslav Vlček. 8. přednáška 11MSP pondělí 20. dubna 2015 Modelování systémů a procesů (11MSP) Bohumil Kovář, Jan Přikryl, Miroslav Vlček Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 8. přednáška 11MSP pondělí 20. dubna 2015 verze: 2015-04-14 12:31

Více

Lineární a adaptivní zpracování dat. 2. SYSTÉMY a jejich popis v časové doméně

Lineární a adaptivní zpracování dat. 2. SYSTÉMY a jejich popis v časové doméně Lineární a adaptivní zpracování dat 2. SYSTÉMY a jejich popis v časové doméně Daniel Schwarz Investice do rozvoje vzdělávání Osnova Opakování: signály Systémy: definice, několik příkladů Vlastnosti systémů

Více

0.1 Úvod do lineární algebry

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

Více

základní vlastnosti, používané struktury návrhové prostředky MATLAB problém kvantování koeficientů

základní vlastnosti, používané struktury návrhové prostředky MATLAB problém kvantování koeficientů A0M38SPP - Signálové procesory v praxi - přednáška 4 2 Číslicové filtry typu FIR a IIR definice operace filtrace základní rozdělení FIR, IIR základní vlastnosti, používané struktury filtrů návrhové prostředky

Více

9. cvičení z Matematické analýzy 2

9. cvičení z Matematické analýzy 2 9. cvičení z Matematické analýzy 7. listopadu -. prosince 7 9. Určete Fourierovu řadu periodického rozšíření funkce ft = t na, a její součet. Definice: Necht f je -periodická funkce, která je integrabilní

Více

Diskretizace. 29. dubna 2015

Diskretizace. 29. dubna 2015 MSP: Domácí příprava č. 3 Vnitřní a vnější popis diskrétních systémů Dopředná Z-transformace Zpětná Z-transformace Řešení diferenčních rovnic Stabilita diskrétních systémů Spojování systémů Diskretizace

Více

O řešení diferenční rovnice y(n+2) 1, 25y(n+1)+0, 78125y(n) = x(n + 2) x(n)

O řešení diferenční rovnice y(n+2) 1, 25y(n+1)+0, 78125y(n) = x(n + 2) x(n) O řešení diferenční rovnice yn+), 5yn+)+0, 785yn) xn + ) xn) Prof. RNDr. Josef Diblík, DrSc. a Prof. Ing. Zdeněk Smékal, CSc. V příspěvku je řešena rovnice Abstrakt yn + ), 5yn + ) + 0, 785yn) xn + ) xn)

Více

ÚPGM FIT VUT Brno,

ÚPGM FIT VUT Brno, Systémy s diskrétním časem Jan Černocký ÚPGM FIT VUT Brno, cernocky@fit.vutbr.cz 1 LTI systémy v tomto kursu budeme pracovat pouze se systémy lineárními a časově invariantními. Úvod k nim jsme viděli již

Více

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

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

Více

Číslicová filtrace. FIR filtry IIR filtry. ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická

Číslicová filtrace. FIR filtry IIR filtry. ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Ing. Radek Sedláček, Ph.D., katedra měření K13138 Číslicová filtrace FIR filtry IIR filtry Tyto materiály vznikly za podpory Fondu rozvoje

Více

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

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

Více

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY Jan Krejčí 31. srpna 2006 jkrejci@physics.ujep.cz http://physics.ujep.cz/~jkrejci Obsah 1 Přímé metody řešení soustav lineárních rovnic 3 1.1 Gaussova eliminace...............................

Více

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u. Několik řešených příkladů do Matematiky Vektory V tomto textu je spočteno několik ukázkových příkladů které vám snad pomohou při řešení příkladů do cvičení. V textu se objeví i pár detailů které jsem nestihl

Více

MKI Funkce f(z) má singularitu v bodě 0. a) Stanovte oblast, ve které konverguje hlavní část Laurentova rozvoje funkce f(z) v bodě 0.

MKI Funkce f(z) má singularitu v bodě 0. a) Stanovte oblast, ve které konverguje hlavní část Laurentova rozvoje funkce f(z) v bodě 0. MKI -00 Funkce f(z) má singularitu v bodě 0. a) Stanovte oblast, ve které konverguje hlavní část Laurentova rozvoje funkce f(z) v bodě 0. V jakém rozmezí se může pohybovat poloměr konvergence regulární

Více

Transformace obrazu Josef Pelikán KSVI MFF UK Praha

Transformace obrazu Josef Pelikán KSVI MFF UK Praha Transformace obrazu 99725 Josef Pelikán KSVI MFF UK Praha email: Josef.Pelikan@mff.cuni.cz WWW: http://cgg.ms.mff.cuni.cz/~pepca/ Transformace 2D obrazu dekorelace dat potlačení závislosti jednotlivých

Více

Matematika IV 9. týden Vytvořující funkce

Matematika IV 9. týden Vytvořující funkce Matematika IV 9. týden Vytvořující funkce Jan Slovák Masarykova univerzita Fakulta informatiky jaro 2015 Obsah přednášky 1 Vytvořující funkce a Fibonacciho čísla 2 Vytvořující funkce - připomenutí 3 Řešení

Více

Co je obsahem numerických metod?

Co je obsahem numerických metod? Numerické metody Úvod Úvod Co je obsahem numerických metod? Numerické metody slouží k přibližnému výpočtu věcí, které se přesně vypočítat bud nedají vůbec, nebo by byl výpočet neúměrně pracný. Obsahem

Více

MĚŘENÍ A ANALÝZA ELEKTROAKUSTICKÝCH SOUSTAV NA MODELECH. Petr Kopecký ČVUT, Fakulta elektrotechnická, Katedra Radioelektroniky

MĚŘENÍ A ANALÝZA ELEKTROAKUSTICKÝCH SOUSTAV NA MODELECH. Petr Kopecký ČVUT, Fakulta elektrotechnická, Katedra Radioelektroniky MĚŘENÍ A ANALÝZA ELEKTROAKUSTICKÝCH SOUSTAV NA MODELECH Petr Kopecký ČVUT, Fakulta elektrotechnická, Katedra Radioelektroniky Při návrhu elektroakustických soustav, ale i jiných systémů, je vhodné nejprve

Více

7.1. Číslicové filtry IIR

7.1. Číslicové filtry IIR Kapitola 7. Návrh číslicových filtrů Hraniční kmitočty propustného a nepropustného pásma jsou ve většině případů specifikovány v[hz] společně se vzorkovacím kmitočtem číslicového filtru. Návrhové algoritmy

Více

Teorie měření a regulace

Teorie měření a regulace Ústav technologie, mechanizace a řízení staveb Teorie měření a regulace 22.z-3.tr ZS 2015/2016 2015 - Ing. Václav Rada, CSc. TEORIE ŘÍZENÍ druhá část tématu předmětu pokračuje. oblastí matematických pomůcek

Více

Kapitola 1. Signály a systémy. 1.1 Klasifikace signálů

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

Více

SIGNÁLY A LINEÁRNÍ SYSTÉMY

SIGNÁLY A LINEÁRNÍ SYSTÉMY SIGNÁLY A LINEÁRNÍ SYSTÉMY prof. Ing. Jiří Holčík, CSc. holcik@iba.muni.cz, Kamenice 3, 4. patro, dv.č.424 INVESTICE Institut DO biostatistiky ROZVOJE VZDĚLÁVÁNÍ a analýz IV. FREKVENČNÍ TRASFORMACE SPOJITÉ

Více

ANALYTICKÁ GEOMETRIE V ROVINĚ

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

Více

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY, ČASOVÉ ŘADY a SYSTÉMY

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY, ČASOVÉ ŘADY a SYSTÉMY Lineární a adaptivní zpracování dat 1. ÚVOD: SIGNÁLY, ČASOVÉ ŘADY a SYSTÉMY Daniel Schwarz Investice do rozvoje vzdělávání Osnova Úvodní informace o předmětu Signály, časové řady klasifikace, příklady,

Více

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY, ČASOVÉ ŘADY a SYSTÉMY

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY, ČASOVÉ ŘADY a SYSTÉMY Lineární a adaptivní zpracování dat 1. ÚVOD: SIGNÁLY, ČASOVÉ ŘADY a SYSTÉMY Daniel Schwarz Investice do rozvoje vzdělávání Osnova Úvodní informace o předmětu Signály, časové řady klasifikace, příklady,

Více

Analýza lineárních regulačních systémů v časové doméně. V Modelice (ale i v Simulinku) máme blok TransfeFunction

Analýza lineárních regulačních systémů v časové doméně. V Modelice (ale i v Simulinku) máme blok TransfeFunction Analýza lineárních regulačních systémů v časové doméně V Modelice (ale i v Simulinku) máme blok TransfeFunction Studijní materiály http://physiome.cz/atlas/sim/regulacesys/ Khoo: Physiological Control

Více

31SCS Speciální číslicové systémy Antialiasing

31SCS Speciální číslicové systémy Antialiasing ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE 2006/2007 31SCS Speciální číslicové systémy Antialiasing Vypracoval: Ivo Vágner Email: Vagnei1@seznam.cz 1/7 Převod analogového signálu na digitální Složité operace,

Více

VY_32_INOVACE_E 15 03

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

Více

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

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

Více

1 Mnohočleny a algebraické rovnice

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

Více

PSK1-9. Číslicové zpracování signálů. Číslicový signál

PSK1-9. Číslicové zpracování signálů. Číslicový signál Název školy: Autor: Anotace: PSK1-9 Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3 Ing. Marek Nožka Princip funkce číslicové filtrace signálu Vzdělávací oblast: Informační a komunikační

Více

A/D převodníky - parametry

A/D převodníky - parametry A/D převodníky - parametry lineární kvantování -(kritériem je jednoduchost kvantovacího obvodu), parametry ADC : statické odstup signálu od kvantizačního šumu SQNR, efektivní počet bitů n ef, dynamický

Více

31ZZS 9. PŘEDNÁŠKA 24. listopadu 2014

31ZZS 9. PŘEDNÁŠKA 24. listopadu 2014 3ZZS 9. PŘEDNÁŠKA 24. listopadu 24 SPEKTRÁLNÍ ANALÝZA Fourierovy řady Diskrétní Fourierovy řady Fourierova transformace Diskrétní Fourierova transformace Spektrální analýza Zobrazení signálu ve frekvenční

Více

1. Několik základních pojmů ze středoškolské matematiky. Na začátku si připomeneme následující pojmy:

1. Několik základních pojmů ze středoškolské matematiky. Na začátku si připomeneme následující pojmy: Opakování středoškolské matematiky Slovo úvodem: Tato pomůcka je určena zejména těm studentům presenčního i kombinovaného studia na VŠFS, kteří na středních školách neprošli dostatečnou průpravou z matematiky

Více

0.1 Úvod do matematické analýzy

0.1 Úvod do matematické analýzy Matematika I (KMI/PMATE) 1 0.1 Úvod do matematické analýzy 0.1.1 Limita a spojitost funkce Lineární funkce Lineární funkce je jedna z nejjednodušších a možná i nejpoužívanějších funkcí. f(x) = kx + q D(f)

Více

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

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

Více

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

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

Více

Soustavy lineárních diferenciálních rovnic I. řádu s konstantními koeficienty

Soustavy lineárních diferenciálních rovnic I. řádu s konstantními koeficienty Soustavy lineárních diferenciálních rovnic I řádu s konstantními koeficienty Definice a) Soustava tvaru x = ax + a y + az + f() t y = ax + a y + az + f () t z = a x + a y + a z + f () t se nazývá soustava

Více

1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004.

1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004. Prostá regresní a korelační analýza 1 1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004. Problematika závislosti V podstatě lze rozlišovat mezi závislostí nepodstatnou, čili náhodnou

Více

Determinanty. Obsah. Aplikovaná matematika I. Pierre Simon de Laplace. Definice determinantu. Laplaceův rozvoj Vlastnosti determinantu.

Determinanty. Obsah. Aplikovaná matematika I. Pierre Simon de Laplace. Definice determinantu. Laplaceův rozvoj Vlastnosti determinantu. Determinanty Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Determinanty Definice determinantu Sarrusovo a křížové pravidlo Laplaceův rozvoj Vlastnosti determinantu Výpočet determinantů 2 Inverzní

Více

Obsah. Aplikovaná matematika I. Gottfried Wilhelm Leibniz. Základní vlastnosti a vzorce

Obsah. Aplikovaná matematika I. Gottfried Wilhelm Leibniz. Základní vlastnosti a vzorce Neurčitý integrál Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah Primitivní funkce, neurčitý integrál Základní vlastnosti a vzorce Základní integrační metody Úpravy integrandu Integrace racionálních

Více

Matematika I (KMI/PMATE)

Matematika I (KMI/PMATE) Přednáška první aneb Úvod do matematické analýzy Funkce a její vlastnosti Úvod do matematické analýzy Osnova přednášky pojem funkce definice funkce graf funkce definiční obor funkce obor hodnot funkce

Více

Aplikovaná numerická matematika - ANM

Aplikovaná numerická matematika - ANM Aplikovaná numerická matematika - ANM 3 Řešení soustav lineárních rovnic iterační metody doc Ing Róbert Lórencz, CSc České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových

Více

Gymnázium Česká a Olympijských nadějí, České Budějovice, Česká 64, 37021

Gymnázium Česká a Olympijských nadějí, České Budějovice, Česká 64, 37021 Maturitní témata MATEMATIKA 1. Funkce a jejich základní vlastnosti. Definice funkce, def. obor a obor hodnot funkce, funkce sudá, lichá, monotónnost funkce, funkce omezená, lokální a globální extrémy funkce,

Více

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n [1] Základní pojmy [2] Matice mezi sebou sčítáme a násobíme konstantou (lineární prostor) měníme je na jiné matice eliminační metodou násobíme je mezi sebou... Matice je tabulka čísel s konečným počtem

Více

Derivace goniometrických funkcí

Derivace goniometrických funkcí Derivace goniometrických funkcí Shrnutí Jakub Michálek, Tomáš Kučera Odvodí se základní vztahy pro derivace funkcí sinus a cosinus za pomoci věty o třech itách, odvodí se také několik typických it pomocí

Více

Při návrhu FIR filtru řešíme obvykle následující problémy:

Při návrhu FIR filtru řešíme obvykle následující problémy: Návrh FIR filtrů Při návrhu FIR filtru řešíme obvykle následující problémy: volba frekvenční odezvy požadovaného filtru; nejčastěji volíme ideální charakteristiku normovanou k Nyquistově frekvenci, popř.

Více

Číslicové filtry. Honza Černocký, ÚPGM

Číslicové filtry. Honza Černocký, ÚPGM Číslicové filtry Honza Černocký, ÚPGM Aliasy Digitální filtry Diskrétní systémy Systémy s diskrétním časem atd. 2 Na co? Úprava signálů Zdůraznění Potlačení Detekce 3 Zdůraznění basy 4 Zdůraznění výšky

Více

ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ

ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ 1. týden doc. Ing. Renata WAGNEROVÁ, Ph.D. Ostrava 2013 doc. Ing. Renata WAGNEROVÁ, Ph.D. Vysoká škola báňská

Více

Nelineární obvody. V nelineárních obvodech však platí Kirchhoffovy zákony.

Nelineární obvody. V nelineárních obvodech však platí Kirchhoffovy zákony. Nelineární obvody Dosud jsme se zabývali analýzou lineárních elektrických obvodů, pasivní lineární prvky měly zpravidla konstantní parametr, v těchto obvodech platil princip superpozice a pro analýzu harmonického

Více

Lineární algebra Operace s vektory a maticemi

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

Více

Příloha č. 1. amplitudová charakteristika filtru fázová charakteristika filtru / frekvence / Hz. 1. Určení proudové hustoty

Příloha č. 1. amplitudová charakteristika filtru fázová charakteristika filtru / frekvence / Hz. 1. Určení proudové hustoty Příloha č. 1 Při hodnocení expozice nízkofrekvenčnímu elektromagnetickému poli (0 Hz 10 MHz) je určující veličinou modifikovaná proudová hustota J mod indukovaná v tělesné tkáni. Jak je uvedeno v nařízení

Více

CW01 - Teorie měření a regulace

CW01 - Teorie měření a regulace Ústav technologie, mechanizace a řízení staveb CW01 - Teorie měření a regulace ZS 2010/2011 SPEC. 2.p 2010 - Ing. Václav Rada, CSc. Ústav technologie, mechanizace a řízení staveb Teorie měření a regulace

Více

Připomenutí co je to soustava lineárních rovnic

Připomenutí co je to soustava lineárních rovnic Připomenutí co je to soustava lineárních rovnic Příklad 2x 3y + z = 5 3x + 5y + 2z = 4 x + 2y z = 1 Soustava lineárních rovnic obecně Maticový tvar: a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a

Více

Michal Fusek. 10. přednáška z AMA1. Ústav matematiky FEKT VUT, Michal Fusek 1 / 62

Michal Fusek. 10. přednáška z AMA1. Ústav matematiky FEKT VUT, Michal Fusek 1 / 62 Nekonečné řady Michal Fusek Ústav matematiky FEKT VUT, fusekmi@feec.vutbr.cz 0. přednáška z AMA Michal Fusek (fusekmi@feec.vutbr.cz) / 62 Obsah Nekonečné číselné řady a určování jejich součtů 2 Kritéria

Více

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

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

Více

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ KOMPLEXNÍ ČÍSLA Gymnázium Jiřího Wolkera v Prostějově Výukové materiály z matematiky pro vyšší gymnázia Autoři projektu Student na prahu 21. století - využití ICT ve vyučování matematiky na gymnáziu INVESTICE

Více

Inverzní Laplaceova transformace

Inverzní Laplaceova transformace Inverzní Laplaceova transformace Modelování systémů a procesů (MSP) Bohumil Kovář, Jan Přikryl, Miroslav Vlček Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 6. přednáška MSP čtvrtek 30. března

Více

10. cvičení - LS 2017

10. cvičení - LS 2017 10. cvičení - LS 2017 Michal Outrata Příklad 1 Spočtěte následující itu daných posloupností: (a) (b) (c) n 3 +5n 2 n 3 6n 2 +3 n ; n 4 3n 2 6 n 4 + 3n 2 + 6; n 2 15n+2(1 n). 2(n 2) 3 2n 3 Příklad 2 Pro

Více

Diferenciální rovnice 3

Diferenciální rovnice 3 Diferenciální rovnice 3 Lineární diferenciální rovnice n-tého řádu Lineární diferenciální rovnice (dále jen LDR) n-tého řádu je rovnice tvaru + + + + = kde = je hledaná funkce, pravá strana a koeficienty

Více

MATURITNÍ TÉMATA Z MATEMATIKY

MATURITNÍ TÉMATA Z MATEMATIKY MATURITNÍ TÉMATA Z MATEMATIKY 1. Základní poznatky z logiky a teorie množin Pojem konstanty a proměnné. Obor proměnné. Pojem výroku a jeho pravdivostní hodnota. Operace s výroky, složené výroky, logické

Více

Přednáška 3: Limita a spojitost

Přednáška 3: Limita a spojitost 3 / 1 / 17, 1:38 Přednáška 3: Limita a spojitost Limita funkce Nejdříve je potřeba upřesnit pojmy, které přesněji popisují (topologickou) strukturu množiny reálných čísel, a to zejména pojem okolí 31 Definice

Více

Stavový model a Kalmanův filtr

Stavový model a Kalmanův filtr Stavový model a Kalmanův filtr 2 prosince 23 Stav je veličina, kterou neznáme, ale chtěli bychom znát Dozvídáme se o ní zprostředkovaně prostřednictvím výstupů Příkladem může býapř nějaký zašuměný signál,

Více

Hisab al-džebr val-muqabala ( Věda o redukci a vzájemném rušení ) Muhammada ibn Músá al-chvárizmího (790? - 850?, Chiva, Bagdád),

Hisab al-džebr val-muqabala ( Věda o redukci a vzájemném rušení ) Muhammada ibn Músá al-chvárizmího (790? - 850?, Chiva, Bagdád), 1 LINEÁRNÍ ALGEBRA 1 Lineární algebra Slovo ALGEBRA pochází z arabského al-jabr, což znamená nahrazení. Toto slovo se objevilo v názvu knihy islámského matematika Hisab al-džebr val-muqabala ( Věda o redukci

Více

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ Parametrické vyjádření přímky v rovině Máme přímku p v rovině určenou body A, B. Sestrojíme vektor u = B A. Pro bod B tím pádem platí: B = A + u. Je zřejmé,

Více

Základy matematiky pro FEK

Základy matematiky pro FEK Základy matematiky pro FEK 2. přednáška Blanka Šedivá KMA zimní semestr 2016/2017 Blanka Šedivá (KMA) Základy matematiky pro FEK zimní semestr 2016/2017 1 / 20 Co nás dneska čeká... Závislé a nezávislé

Více

1 Polynomiální interpolace

1 Polynomiální interpolace Polynomiální interpolace. Metoda neurčitých koeficientů Příklad.. Nalezněte polynom p co nejmenšího stupně, pro který platí p() = 0, p(2) =, p( ) = 6. Řešení. Polynom hledáme metodou neurčitých koeficientů,

Více

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule. Matice Definice. Maticí typu m n nazýváme obdélníkové pole, tvořené z m n reálných čísel (tzv. prvků matice), zapsaných v m řádcích a n sloupcích. Značíme např. A = (a ij ), kde i = 1,..., m, j = 1,...,

Více

Funkce a lineární funkce pro studijní obory

Funkce a lineární funkce pro studijní obory Variace 1 Funkce a lineární funkce pro studijní obory Autor: Mgr. Jaromír JUŘEK Kopírování a jakékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu na www.jarjurek.cz. 1. Funkce

Více

1 Vektorové prostory.

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

Více

1. března Organizace Základní informace Literatura Úvod Motivace... 3

1. března Organizace Základní informace Literatura Úvod Motivace... 3 Modelování systémů a procesů (611MSP) Děčín přednáška 1 Vlček, Kovář, Přikryl 1. března 2012 Obsah 1 Organizace 1 1.1 Přednášející....................................... 1 1.2 Základní informace...................................

Více

Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe.

Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe. 4 Afinita Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe. Poznámka. Vzájemně jednoznačným zobrazením rozumíme zobrazení,

Více

6 Algebra blokových schémat

6 Algebra blokových schémat 6 Algebra blokových schémat Operátorovým přenosem jsme doposud popisovali chování jednotlivých dynamických členů. Nic nám však nebrání, abychom přenosem popsali dynamické vlastnosti složitějších obvodů,

Více

INTEGRÁLY S PARAMETREM

INTEGRÁLY S PARAMETREM INTEGRÁLY S PARAMETREM b a V kapitole o integraci funkcí více proměnných byla potřeba funkce g(x) = f(x, y) dy proměnné x. Spojitost funkce g(x) = b a f(x, y) dy proměnné x znamená vlastně prohození limity

Více

Matematika (KMI/PMATE)

Matematika (KMI/PMATE) Matematika (KMI/PMATE) Přednáška druhá aneb Úvod do matematické analýzy Limita a spojitost funkce Matematika (KMI/PMATE) 1 / 30 Osnova přednášky lineární funkce y = kx + q definice lineární funkce význam

Více

0.1 Úvod do matematické analýzy

0.1 Úvod do matematické analýzy Matematika I (KMI/PMATE) 1 0.1 Úvod do matematické analýzy 0.1.1 Pojem funkce Veličina - pojem, který popisuje kvantitativní (číselné) vlastnosti reálných i abstraktních objektů. Příklady veličin: hmotnost

Více

ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ

ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ 8. týden doc. Ing. Renata WAGNEROVÁ, Ph.D. Ostrava 2013 doc. Ing. Renata WAGNEROVÁ, Ph.D. Vysoká škola báňská

Více

Maturitní témata z matematiky

Maturitní témata z matematiky Maturitní témata z matematiky G y m n á z i u m J i h l a v a Výroky, množiny jednoduché výroky, pravdivostní hodnoty výroků, negace operace s výroky, složené výroky, tabulky pravdivostních hodnot důkazy

Více