Systémy

Jan Černocký

                 ÚPGM FIT VUT Brno, cernocky@fit.vutbr.cz

• Vlastnosti lineárních systémů.

• Konvoluce – diskrétní a spojitý čas.

• Vlastnosti konvoluce

Systémy

• obecně: spojení komponentů, zařízení nebo subsystémů pro zpracování informací nebo povelů (např. řízení auta, rafinérie, populace mravenců v lese, …).

• systémy pro nás: zařízení obrábějící, zpracovávající či upravující signály.

Systém se spojitým časem zpracovává signály se spojitým časem, signál y(t) je reakcí na x(t), značíme: x(t) → y(t). Systém s diskrétním časem zpracovává signály s diskrétním časem, signál y[n] je reakcí na x[n], značíme: x[n] → y[n].

Příklad 1 spojitý: elektrický obvod – Chceme znát závislost u_{c}(t) na u_{s}(t):

• Proud obvodem: i(t) = \frac{u_{s}(t)−u_{c}(t)}{R}

• proud kondenzátorem: i(t) = C \frac{du_{c}(t)}{dt}.

• Dáme to dohromady: \frac{du_{c}(t)}{dt} + \frac{1}{RC} u_{c}(t) = \frac{1}{RC} u_{s}(t).

… což je diferenciální rovnice, kterou můžeme vyřešit pro dané u_{s}(t). Příklad 2 diskrétní: počet neuronů v mém mozku se každý měsíc snižuje o 0.1% plus o to, kolik jsem za daný měsíc vypil alkoholu:

y[n] = 0.999y[n − 1] − x[n]

Jedná se o tzv. diferenční rovnici, kterou můžeme vyřešit pro daný průběh x[n] a počáteční podmínku y[0] (počet neuronů při narození) a zjistit např, kdy se y[n] = 0 (tento měsíc končí přednášky SXC :-).

Spojení systémů

paralelní, sériové (kaskádní), zpětnovazební:

ZÁKLADNÍ VLASTNOSTI SYSTÉMŮ

S pamětí / bez paměti

systémy s pamětí jsou schopny udržet (pamatovat si) nějakou předešlou hodnotu/hodnoty. Systémy bez paměti reagují pouze na okamžitou hodnotu vstupu. Příklady: s pamětí: neurony v mozku (systém si pamatuje předchozí počet neuronů). Příklady: bez paměti: y(t) = Kx(t).

Další vlastnosti budeme ukazovat na systému pití piva: vstupem je počet vypitých piv, výstupem je velikost úsměvu:

Kauzalita

systém reaguje pouze na současný či minulý vstup. Nesmí “vidět” do budoucnosti. Pivní příklad:

Seriózní příklad – kauzální: y[n] = x[n] − x[n − 1]. Seriózní příklad – nekauzální: y(t) = x(−t).

Stabilita

omezený vstup produkuje omezený výstup: můžeme najít taková dvě kladná reálná čísla B, C < ∞, že |x(t)| < B → |y(t)| < C |x[n]| < B → |y[n]| < C. Příklad 1: y(t) = tx(t). I pro omezený vstup je pro čas t = ∞ hodnota y(t) = ∞ ⇒ nestabilní. Příklad 2: y(t) = e^{x(t)}. Pro omezené x(t) v intervalu [−B, B], je y(t) omezené v [e^{−B}, e^{+B}]. Vybereme-li z nich to větší, máme omezení pro výstup C ⇒ systém je stabilní.

Časová invariantnost

“Systém nemění své chování v čase” - pokud na signál x(t) zareagoval signálem y(t), na signál x(t − t_{0}) zareaguje signálem y(t − t_{0}). Podobně pokud x[n] → y[n], tak x[n − n_{0}] → y[n − n_{0}]. Pivní příklad:

Seriózní příklad 1: y(t) = sin[x(t)]. Hledáme-li y(t − t_{0}), dosadíme modifikovaný čas jako argument funkce: y(t − t_{0}) = sin[x(t − t_{0})] a tvrzení platí ⇒ čas. invariantní.

Seriózní příklad 2: y[n] = nx[n]. Najdeme protipříklad, který nevyhovuje “pokud x[n] → y[n], tak x[n − n_{0}] → y[n − n_{0}]” ? Pokud x[n] = δ[n] (diskrétní jednotkový impuls), pak y[n] = 0 ∀n. Když vstup posuneme: x[n − 1] = δ[n − 1], výstupem bude také δ[n − 1]. Našli jsme tedy taková x[n] → y[n], pro které x[n − n_{0}] nemá jako výstup y[n − n_{0}] ⇒systém není invariantní (je proměnný).

Linearita

2 podmínky: předpokládáme, že x_{1}(t) → y_{1}(t) a x_{2}(t) → y_{2}(t).

• aditivita: x_{1}(t) + x_{2}(t) → y_{1}(t) + y_{2}(t).

• scaling nebo homogenita: ax_{1}(t) → ay_{1}(t).

(obdobně pro diskrétní čas). Můžeme dohromady zapsat jako jedinou podmínku:

{ax_{1}(t) + bx_{2}(t) → ay_{1}(t) + by_{2}(t) \atop ax_{1}[n] + bx_{2}[n] → ay_{1}[n] + by_{2}[n]}

Pivní příklad:

10

Seriózní příklad: y(t) = tx(t). Pro libovolné x_{1}(t) a x_{2}(t) budou výstupy: y_{1}(t) = tx_{1}(t) a y_{2}(t) = tx_{2}(t). Vyrobíme x_{3}(t) = ax_{1}(t) + bx_{2}(t). Výstup: y_{3}(t) = tx_{3}(t) = t[ax_{1}(t) + bx_{2}(t)] = tax_{1}(t) + tbx_{2}(t) = ay_{1}(t) + by_{2}(t). Je to lineární.

Linearita bude mít velký význam při analýze systémů: všechny vstupní signály budeme totiž rozkládat na jednotlivé impulsy, necháme je projít systémem. V případě, že je systém lineární, můžeme pak výstupní signál získat součtem reakcí na jednotlivé impulsy!

LTI SYSTÉMY

• lineární, časově invariantní (linear, time-invariant).

• nejdůležitější charakteristika těchto systémů je impulsní odezva - “jak systémy reagují na jednotkový impuls?”

Zajímá nás ovšem odezva systému na obecné signály x(t) nebo x[n], nejen na jednotkové impulsy. Určíme ji tak, že obecné signály na jednotkové impulsy rozložíme, spustíme s nimi několik impulsních odezev a pak zase sečteme!

Rozklad disk. signálu na jednotkové impulsy

x[n] = ∑_{k=−∞}^{+∞} x[k]δ[n − k].

Reakci systému na posunutý jednotkový impuls δ[n − k] označíme h_{k}[n]. Je-li systém časově invariantní (a žádné jiné nás momentálně nezajímají), pak jsou všechny h_{k}[n] stejné jako základní h[n], pouze časově posunuté: h_{k}[n] = h[n − k].

Každý posunutý jednotkový impuls x[k]δ[n − k] odstartuje “svou” h[n − k] a vynásobí ji svou velikostí. Vše se pak musí sečíst (linearita!), abychom dostali výsledek:

y[n] = ∑_{k=−∞}^{+∞} x[k]h[n − k]

Tento vztah se nazývá konvoluční suma, krátce konvoluce; zapisujeme:

y[n] = x[n] ⋆ h[n]

Příklad pro výše definované h[n] a x[n]:

Na konvoluci se můžeme dívat také tak, že pod signál pro výpočet každého výstupního vzorku y[n] pod signál “přiložíme” obrácenou a patřičně posunutou impulsní odezvu, vzorky nad sebou vynásobíme a sečteme:

k  -5 -4 -3 -2 -1 0 1 2 3 4 5 y[n]
x[k] 0 0 0 0 2 -1 1 0 0 0 0
n=-2 0 1 2 3 0 0 0 0 0 0 0  0
n=-1 0 0 1 2 3 0 0 0 0 0 0  6
n= 0 0 0 0 1 2 3 0 0 0 0 0  1
n= 1 0 0 0 0 1 2 3 0 0 0 0  3
n= 2 0 0 0 0 0 1 2 3 0 0 0  1
n= 3 0 0 0 0 0 0 1 2 3 0 0  1
n= 4 0 0 0 0 0 0 0 1 2 3 0  0

Konvoluce se velmi dobře předvádí s proužky papíru:

• napište si na papír x[n] a h[n], nezapomeňte u obou poznačit, kde je n = 0.

• obrat’te h[n], sesad’te časy n = 0. Právě jste dostali h[−k].

• pokud nyní vynásobíte vzorky nad sebou a sečtete, dostanete výsledek y[0]. Pro další kladná n posouvejte h[−k] doprava.

LTI systémy se spojitým časem

budeme chtít podobný způsobem zapsat signál jako sadu impulsů. Jak to ale udělat, když je signál spojitý ? Opět nám pomůže pomocná funkce δ_{Δ}(t) s šířkou Δ a výškou \frac{1}{Δ} a silný svěrák.

δ_{Δ}(t) = \{ \begin{matrix}\frac{1}{Δ} & pro 0 ≤ t ≤ Δ \\ 0 & jinde \end{matrix}

Pokud bude Δ dostatečně malé, můžeme signál aproximovat jako sumu posunutých a vynásobených δ_{Δ}(t). Aby se x̂(t) dostal do stejné “výšky” jako původní x(t), nesmíme zapomenout na násobení každého impulsu hodnotou Δ:

x̂(t) = ∑_{k=−∞}^{∞} x(kΔ)δ_{Δ}(t − kΔ)Δ.

18

Budeme-li nyní Δ stlačovat svěrákem až k 0, z δ_{Δ}(t) se stane δ(t) a suma přejde na integrál. x̂(t) už nebude aproximace, takže vynecháme stříšku:

x(t) = ∫_{−∞}^{+∞} x(τ)δ(t − τ)dτ.

Každý impuls x(τ)δ(t − τ) ovšem vybudí impulsní odezvu systému:

δ(t) → h(t), δ(t − τ) → h(t − τ), x(τ)δ(t − τ) → x(τ)h(t − τ)

Lineární systém všechny takové odezvy sečte (integruje) přes všechna τ a dostaneme celkový výstup:

y(t) = ∫_{−∞}^{+∞} x(τ)h(t − τ)dτ.

Tento vztah se nazývá konvoluční integrál, zapisujeme: y(t) = x(t) ⋆ h(t).

Interpretace konvolučního integrálu:

• potřebujeme spočítat výstup pro nějaké t.

• Definujeme τ jako pomocnou časovou proměnnou, přes kterou se bude integrovat. x(τ) vypadá stejně jako x(t) (přejmenováním osy se nic nezmění).

• h(t − τ) bude otočené a posunuté do času t.

• Pronásobíme, spočítáme integrál (když to jde, změříme plochu pod funkcí x(τ)h(t − τ)) a máme jednu hodnotu výstupu pro čas t.

• Goto 1, pro další čas t.

22

Konvoluce – shrnutí

y[n] = x[n] ⋆ h[n] = ∑_{k=−∞}^{+∞} x[k]h[n − k] ; y(t) = x(t) ⋆ h(t) = ∫_{−∞}^{+∞} x(τ)h(t − τ)dτ.

VLASTNOSTI KONVOLUCE

Komutativita:

y[n] = x[n] ⋆ h[n] = h[n] ⋆ x[n] = ∑_{k=−∞}^{+∞} x[k]h[n − k] = ∑_{k=−∞}^{+∞} h[k]x[n − k]

y(t) = x(t) ⋆ h(t) = h(t) ⋆ x(t) = ∫_{−∞}^{+∞} x(τ)h(t − τ)dτ = ∫_{−∞}^{+∞} h(τ)x(t − τ)dτ. Při počítání můžeme tedy bud’ “zmrazit” vstupní signál a otočit a posouvat imp. odezvu, nebo to udělat naopak.

Distributivita – paralelní spojení systémů:

y(t) = y_{1}(t) + y_{2}(t) = x(t) ⋆ h_{1}(t) + x(t) ⋆ h_{2}(t) = x(t) ⋆ [h_{1}(t) + h_{2}(t)]. Systém má celkovou imp. odezvu h(t) = h_{1}(t) + h_{2}(t). Ověření: ∫ x(τ)h_{1}(t−τ)dτ+∫ x(τ)h_{2}(t−τ)dτ = ∫ x(τ)[h_{1}(t−τ)+h_{2}(t−τ)]dτ = x(t)⋆[h_{1}(t)+h_{2}(t)], protože ∫ je lineární operace. Podobně pro diskrétní:

y[n] = x[n] ⋆ [h_{1}[n] + h_{2}[n]].

Asociativita – sériové spojení systémů:

y(t) = [x(t) ⋆ h_{1}(t)] ⋆ h_{2}(t) = x(t) ⋆ [h_{1}(t) ⋆ h_{2}(t)].

Systém má celkovou imp. odezvu h(t) = h_{1}(t) ⋆ h_{2}(t). Ověření:

y(t) = ∫_{v} [∫_{τ} x(τ)h_{1}(v − τ)dτ] h_{2}(t − v)dv = ∫_{v} ∫_{τ} x(τ)h_{1}(v − τ)h_{2}(t − v)dτdv =

= přehození pořadí integrace = ∫_{τ} ∫_{v} x(τ)h_{1}(v − τ)h_{2}(t − v)dvdτ =

∫ x(τ) [∫_{v} h_{1}(v − τ)h_{2}(t − v)dv] dτ = …

Ve vnitřním integrálu změníme proměnnou: v = g + τ a využijeme toho, že:

∫_{g} h_{1}(g)h_{2}(t − τ − g)dg = h(t − τ) takže výsledek je:

… = x(t)[h_{1}(t) ⋆ h_{2}(t)].

Podobně pro diskrétní systémy:

y[n] = x[n] ⋆ [h_{1}[n] ⋆ h_{2}[n]].

Systémy s pamětí a bez : Bez paměti: impulsní odezva má jen 1 impuls pro čas 0: h[0] = Kδ[n], takže:

y[n] = x[n] ⋆ h[n] = ∑_{k=−∞}^{+∞} x[k]Kδ[n − k] = Kx[n].

h(t) = Kδ(t), takže: y(t) = ∫_{−∞}^{+∞} x(τ)Kδ(t − τ)dτ = Kx(t).

Zvláštním případem systému bez paměti je identita (drát):

h[n] = δ[n]
h(t) = δ(t).

Kauzalita: Systém nesmí “vidět do budoucna”. Pro výpočet n-tého vzorku se smí použít jen vzorky < n. Pro výpočet t-tého času se smí použít jen časy < t. Toto je splněno, když:

h[n] = 0 pro n < 0
h(t) = 0 pro t < 0

Malé opakování, jak se konvoluuje, otočená a posunutá imp. odezva nesmí zasahovat za čas n nebo t!.

28

U konvoluční sumy a integrálu můžeme v případě kauzálního systému omezit meze na:

∑_{k=−∞}^{+∞} x[k]h[n − k] → ∑_{k=−∞}^{n} x[k]h[n − k], ∑_{k=−∞}^{+∞} h[k]x[n − k] → ∑_{k=0}^{∞} h[k]x[n − k]

∫_{−∞}^{+∞} x(τ)h(t − τ)dτ → ∫_{−∞}^{t} x(τ)h(t − τ)dτ,
∫_{−∞}^{+∞} h(τ)x(t − τ)dτ → ∫_{0}^{+∞} h(τ)x(t − τ)dτ.

Stabilita: “pokud je vstup omezený výstup by měl být také nějak omezený… ” Splněno, pokud je imp. odezva absolutně sumabilní/integrabilní (terminologie ?):

∑_{k=−∞}^{+∞} |h[k]| < ∞, ∫_{−∞}^{+∞} |x(t)|dt < ∞.