Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
pitel:isz:spektralni_analyza_spojitych_a_diskretnich_signalu [18. 09. 2015, 11.59:09] – [Spektrální analýza] proper cos pitel | pitel:isz:spektralni_analyza_spojitych_a_diskretnich_signalu [30. 12. 2022, 13.43:01] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
+ | ====== Spektrální analýza spojitých a diskrétních signálů ====== | ||
+ | ===== Diskrétní a spojité signály ===== | ||
+ | Spojité signály -- vyskytují se v reálném světě (například zvukové vlny), mají pro každý časový okamžik určitou hodnotu, což tvoří souvislou (spojitou) křivku. Některé signály (zejména ty pro teoretické příklady) se zapisují funkcí, ty jsou pak samozřejmě spojité (například // | ||
+ | Diskrétní signály pak ze spojitých získáme vzorkováním a kvantováním. | ||
+ | Vzorkování je výběr konkrétních hodnot v časové okamžiky s určitým rozestupem. Vzorkovací frekvence musí být minimálně 2× vyšší než nejvyšší frekvence v původním signálu. Signály se před analýzou prohánějí dolnopropustním filtrem, který z nich odmaže vysoké, pro analýzu nepotřebné frekvence. To říká Nyquistův teorém. Jinak dochází k aliasingu: zpětnou rekonsturkcí při aliasingu vzniká jiný signál, než byl původní. | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | Kvantování je použití nějaké hodnoty reprezentovatelné binárním číslem, tedy zaokrouhlení podle rozlišovacích možností použitého datového typu. | ||
+ | [[https:// | ||
+ | |||
+ | ===== Spektrální analýza ===== | ||
+ | Realné signály většinou nejsou jednoduché sinusovky, ale jedná se o kombinaci několika sinusovek (hudba -- spojení několika tónů). Spojením těchto sinusovek pak vzniká výsledný signál. Na následujícím obrázku je červený a zelený signál, černý je pak prostý součet jejich hodnot v dané časové okamžiky, jedná se tedy o výsledný signál. Ze sinusovek lze získat jen periodický spojitý signál, pro diskrétní se pak prostě použije dostatečný počet sinusovek. | ||
+ | {{ http:// | ||
+ | |||
+ | Podstatou spektrální analýzy je zjistit, nakolik jsou dané frekvence zastoupeny v analyzovaném signálu, tedy rozklad na jednotlivé sinusovky. Aby to nebylo jednoduché (tedy, aby to bylo obecné - pro komplexní signály), používá se komplexních čísel, místo sinusovky se pak používá komplexní exponenciála. Komplexním číslem jsme totiž zapsat jak amplitudu, tak fázi (viz níže). | ||
+ | [[https:// | ||
+ | |||
+ | Na obrázku je vidět, že je složená z kosinusovky na ose reálné a sinusovky na ose imaginární, | ||
+ | |||
+ | Rovnice komplexní exponenciály je následující: | ||
+ | |||
+ | Jelikož potřebujeme ovlivnit amplitudu((amplituda -- maximální hodnota periodicky se měnící veličiny, funkce //sin(x)// má amplitudu 1)) a počáteční fázi((počáteční fáze -- nakolik je funkce posunutý po X-ové ose, tedy u sinusovky o kolik bychom museli sinusovku s danou fází po X-ové ose posunout, abychom dostali sinusovku)) vneseme je do vztahu (amplituda C< | ||
+ | |||
+ | Z předchozího vztahu vytáhneme dva komplexní koeficienty // | ||
+ | |||
+ | Když už umíme zapsat jednu komplexní exponenciálu a víme, že jakýkoli periodický signál lze složit z komplexních exponenciál, | ||
+ | ==== Fourierova transformace ==== | ||
+ | Fourierova transformace slouží ke zjištění komplexních koeficientů analyzovaného signálu, tedy ke zjištění koeficientů c< | ||
+ | |||
+ | Teď nějaké obrázky pro vysvětlení toho, proč to může fungovat, jejich popis bude následovat: | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | Na prvním obrázku jsou dvě kosinusovky s různou amplitudou, ale stejnou periodou i fází (zelená a červená) - jejich násobením získáme vždy kladné hodnoty (modrá plocha). Záporné číslo značí podobnost s obráceným znamínkem, tj. porovnání 2 sinusovek zrcadlovývh přes osu X. | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | Na druhém obrázku jsou dvě fázově posunuté kosinusovky se stejnou periodou, jejich násobením získáme stále ještě kladné číslo, i když menší. Zvýrazněné modré kousky se totiž vzájemně vynulují, zbyde jen slabší modrá plocha. | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | Tady vidíme, co se stane, když porovnáme nevýhodně posunuté sinusovky - vyjde nám nula (součet modrých ploch). To ale řeší komplexní exponenciála, | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | A na závěr ukázka, jak se chovají 2 sinusovky s různou periodou. Vybarvené plochy jsou jednou kladné, jednou záporné, v důsledku je jejich součet nula. Pokud vynásobíme dvě periodické funkce, získáme funkci, která má periodu vzniklou násobením period obou fnkcí, takže je také periodická - proto nám to u všech kombinací nakonec vyjde na obou stranách stejné (pod osou i nad osou). | ||
+ | |||
+ | Důsledky: koeficienty FŘ jsou komplexní čísla, která nám říkají, nakolik se signál podobá komplexní exponenciále s danou frekvencí (to je to // | ||
+ | |||
+ | Tato sada koeficientů je spektrální funkce //X(jω)//, tedy funkce, které jako parametr předáme úhlovou frekvenci právě zjišťovaná sinusovky (komplexní exponenciály) a ona nám řekne, jaký komplexní koeficient bude mít odpovídající člen Fourierovy řady. Postupně se ji tedy ptáme na všechny sinusovky (komplexní exponenciály), | ||
+ | |||
+ | Pro diskrétní signály pak vzorec vypadá FŘ velmi podobně, jen se místo // | ||
+ | |||
+ | Existuje i inverzní fourierova transformace, | ||
+ | |||
+ | V programu pak fourierovce předáme pole vzorků, dostaneme pole koeficientů (kterých je polovina, druhá polovina jsou hodnoty komplexně združené, neboť pracujeme s realým signálem, bez imaginárních hodnot). | ||
+ | |||
+ | k-tý koeficient fourierovky charakterizuje sinusovku (komplexní exponenciálu) o frekvenci $f = \frac{f_s k}N$, kde // | ||
+ | |||
+ | Rychlá Fourierova transformace je pak úprava implementace tohoto algoritmu tak, že se využívají dílčí výsledku, místo aby se vše počítalo jednotlivě pro každou hodnotu v signálu a každý zjišťovaný komplexní koeficient. Omezením je, že musí zpracovávat 2< | ||
+ | |||
+ | ---- | ||
+ | |||
+ | > < | ||
+ | >> < | ||
+ | >> < | ||
+ | >> < | ||
+ | >> < | ||
+ | >< | ||
+ | >>< | ||
+ | >>< | ||
+ | ===== Shrnutí (na co nezapomenout) ===== | ||
+ | * Spojité signály - definované v každém časovém okamžiku | ||
+ | * Diskrétní signály - hodnoty definované jen v diskrétní časové okamžiky, ze spojitých je získáme vzorkováním (výběr hodnot s nějakou vzorkovací frekvencí, která musí být 2x větší, než maximální frekvence signálu, nutno tedy předem analogově filtrovat) a kvantováním (prakticky je to zaokrouhlování v rámci datového typu) | ||
+ | * periodické spojité signály lze zapsat pomocí Fourierovy řady, což je součet několika sinusovek a kosinusovek, | ||
+ | * diskrétní lze také zapsat pomocí FŘ, její koeficienty získáme diskrétní Fourierovou transformací (využívá korelaci), ta nám říká, nakolik jsou jednotlivé frekvence zastoupeny v signálu a s jakou amplitudou a frekvencí | ||
+ | * každý koeficient FŘ odpovídá komplexní exponenciále s určitou frekvencí, absolutní hodnota koeficientu nám udává amplitudu - můžeme zjistit " | ||
+ | * realné signály nemají imaginární složku, koeficienty FŘ jsou komplexně sdružené (máme N koeficientů, | ||
+ | |||
+ | ==== Co je třeba vědět kdyby se zeptali ==== | ||
+ | * Korelace - porovnání jednohéo signálu s druhým - integrál součinů signálů v jednotlivých časových okamžicích | ||
+ | * Korelace s komplexní exponenciálou = korelace s reálnou kosinusovkou a imaginární sinusovkou | ||
+ | * nulový koeficient korelace značí, ze se signály nepodobají, | ||
+ | * Koeficienty DFŘ jsou periodické, | ||
+ | * 2x vyšší vzorkovací frekvence než maximální frekvence signálu kvůli aliasingu - ten způsobuje nejednoznačnost interpretace diskrétních hodnot | ||
+ | * analogové filtry před vzorkováním lze realizovat například pomocí cívek/ | ||
+ | * kdo chce zaručenou jedničku, tak se naučí vzorec na koeficient FŘ + vzorec na výpočet korelace se dá odvodit celkem jednoduše |