glados.no/ntnu/ttt4120/summary/summary.md

586 lines
14 KiB
Markdown
Raw Normal View History

2020-11-30 15:45:17 +01:00
---
title: "Oppsumering av TTT4120"
description: "En liten oppsummering og formler i TTT4120, høsten 2020."
date: 2020-12-06
math: true
---
## Diskret tid
Denne typen signaler baserer seg på at de kan representeres av en sekvens med tall.
Sekvensen kan representere amplituden til et signal, ved tidspunkt $n$.
$$ x[n] = \{\ldots, x[-1], \underline{x[0]}, x[1], \ldots\} $$
Der verdien med strek under er målingen ved $n=0$.
### Sampling
Signalene kan lages ved å *sample* et analogt signal.
$$ x[n] \stackrel{_\Delta}{=} x_a(nT)$$
Der tiden mellom samples er gitt ved $T = \frac{1}{F_S}$, der samplings-frekvensen (samples per sekund) er $F_S$.
$T$ trenger ikke å være tid, men f.eks. posisjonen på en stang.
### Diskret-tid operasjoner
**Skalering, addering, og multiplikasjon:**
$$
\begin{gather*}
y[n] = ax[n] \\
y[n] = x_1[n] + x_2[n] \\
y[n] = x_1[n]x_2[n]
\end{gather*}
$$
**Tidsforskyvninger og folding**
$$
\begin{gather*}
y[n] = x[n-k] \\
y[n] = -x[n]
\end{gather*}
$$
**Tidsforskyvninger sammen med folding**
$$ y[n] = x[-n+k] $$
### Egenskaper til Diskret tid
En sekvens $x[n]$ er **kausal** dersom:
$$ x[n] = 0, n<0 $$
En sekvens $x[n]$ er **periodisk** med en periode $N$ dersom:
$$ x[n+N] = x[n], \forall n $$
### Klassifikasjoner til Diskret tid
En sekvens $x[n]$ er **bundet** dersom:
$$ |x[n]| \leq B_x \leq \infty $$
En sekvens $x[n]$ er **Absolutt summerbar** dersom:
$$ \sum_{n=-\infty}^\infty |x[n]| < \infty $$
En sekvens $x[n]$ er **Kvadratisk-summerbar** dersom energien:
$$ E_x = \sum_{n=-\infty}^\infty |x[n]|^2 < \infty $$
Dette signalet er et **energisignal**, ikke alle sekvenser er energisignaler. Periodiske er ikke.
Den gjennomsnittlige effekten til en sekvens, er derfinert:
$$ P_x = \lim_{n\rightarrow\infty} \frac{1}{2N + 1}\sum_{n=-N}^N |x[n]|^2 $$
### Viktige typer sekvenser
#### Enhetspulsen (Delta-puls)
$$ \delta[n-k] =
\begin{cases}
1 & n=k \\
0 & n\neq k
\end{cases} $$
Denne du får standardversjonen ved å sette $k=0$.
#### Enhetssteg
$$ u[n-k] =
\begin{cases}
1 & n\geq k \\
0 & n < k
\end{cases}
$$
Denne du får standardversjonen ved å sette $k=0$.
2020-12-02 17:31:42 +01:00
#### Sinus
2020-11-30 15:45:17 +01:00
2020-12-02 17:31:42 +01:00
Dersom en sinus-kurve skal være periodisk med en periode $N$, og siden vi vet at en diskret-tid sinus er periodisk med $2\pi$, har vi at:
2020-11-30 15:45:17 +01:00
2020-12-02 17:31:42 +01:00
$$
2020-12-02 21:35:07 +01:00
\begin{aligned}
2020-12-02 17:31:42 +01:00
\cos(2\pi n) &= \cos(2\pi f (n+N)) \\
\Rightarrow 2\pi f N &= 2\pi k \\
\Rightarrow f &= \frac{k}{N}
2020-12-02 21:35:07 +01:00
\end{aligned}
2020-12-02 17:31:42 +01:00
$$
### Kompleks-eksponensial
$$ x[n] = Ae^{[2\pi f n + \theta]} $$
Denne har også en periodisitet på $2\pi$, og sekvensen er periodisk dersom $f$ er rasjonell.
Denne er veldig viktig i diskret-tid Fourier representasjon.
### Sampling av en sinus-funksjon
Anta vi sampler en analog sinus-funksjon med intervallene $nT = \frac{n}{F_S}$:
$$ x_a(t) = A\cos(\Omega t) = A\cos(2\pi F t) $$
Da vil den diskrete sekvensen være:
$$
2020-12-02 21:35:07 +01:00
\begin{aligned}
2020-12-02 17:31:42 +01:00
x[n] &= x_a(nT) \\
&= A\cos\left[2\pi\frac{F}{F_S}n\right] \\
&= A\cos\left[2\pi f n\right]
2020-12-02 21:35:07 +01:00
\end{aligned}
2020-12-02 17:31:42 +01:00
$$
Der vi har $f=\frac{F}{F_S}$ eller $\omega = \Omega T$, som er den relative/normaliserte frekvensen (uavhengig av samlingfreksensen).
Fra før vet vi at:
$$
2020-12-02 21:35:07 +01:00
\begin{aligned}
2020-12-02 17:31:42 +01:00
-\frac{1}{2} < &f \leq \frac{1}{2} \\
-\frac{F_S}{2} < &f \leq \frac{F_S}{2}
2020-12-02 21:35:07 +01:00
\end{aligned}
2020-12-02 17:31:42 +01:00
$$
### Dekomponering av signaler
Vi kan få ut en verdi av en sekvens ved å gange inn enhetspulsen på en gitt $n$.
$$ x[k] = x[n]\delta[n-k] $$
Der hele signalet kan gis som en sum av hver sekvensverdi:
$$ x[n] = \sum_{k=-\infty}^\infty x[k]\delta[n-k] $$
### Diskret-tid-systemer
Et diskret-tid-system kan klassifiseres som:
* Lineær eller ikke-lineær
* Tidsinvariant eller tidsvariant
* Kausale eller ikkekausale
I diskret-tid-systemer gjelder følgende:
* Superpossisjon (lineæritet)
* Varierer ikke med tiden (tidsinvariant)
* Kausalt
* Resultatet er kun avhengig av tidligere eller nåværende verdier
* Ikke-kausalt
* Gunstig å implimentere der vi vet alle verdier i en sekvens, men ikke i sanntidssystemer.
* Stabile
* Et system er kun stabilt dersom for hvert bundet inngangssignal er det et bundet utgangssignal.
### Impulsrespons
Vi sender ut en enhetspuls og ser på hvordan systemet utvikler seg.
![Impulsrespons](figures/impulseResponse.png)
Vi kan finne impulsresponsen ved å sette $x[n] = \delta[n]$.
Da får vi at $y[n] = h[n]$.
### Konvulosjon
$$
2020-12-02 21:35:07 +01:00
\begin{aligned}
2020-12-02 17:31:42 +01:00
y[n] &= \mathcal{H}\{x[n]\} \\
&= \mathcal{H}\left\{\sum_k x[k]\delta[n-k]\right\}\\
&= \sum_k x[k]\mathcal{H}\left\{\delta[n-k]\right\} \\
&= \sum_k x[k] h[n-k] \\
&= x[n] * h[n]
2020-12-02 21:35:07 +01:00
\end{aligned}
2020-12-02 17:31:42 +01:00
$$
Det er mulig å gjøre konvulosjon både stegvis eller med en matrise.
Matrisen er bare å lage en "gangetabell med verdiene i sekvensene, gange sammen og summere anti-diagonalene.
![Utregning av konvulosjon](figures/diagonalConv.png)
Dersom lengden av sekvensen $x[n]$ er $N_x$ og lengden av $h[n]$ er $N_h$, vil lengden av konvulosjonen være:
$$ N_y = N_x + N_h - 1 $$
### Lengde av systemer
Det finnes to typer lengde på impulsresponsen. IIR og FIR.
#### IIR
"Infinite(-duration) impulse response", er et system der lengden av impulsresponsen er uendelig i lengde. Typisk er utgangen avhengig av forrige resultat.
#### FIR
"Finite(-duration) impulse response", er et system der impulsresponsen har en endelig lengde.
## Diskret-tid Fourieranalyse
Analytisk transformasjon (DTFT)
$$ X(\omega) = \sum_{n=-\infty}^\infty x[n]e^{-j\omega n} $$
Og invers transformasjon (syntetisk transformasjon)
$$ x[n] = \frac{1}{2\pi}\int_{-\pi}^\pi X(\omega) e^{j\omega n} d\omega$$
Grensene for frekvensdomenet er fra $-\pi$ til $\pi$.
Notasjonen er som følger
$$ x[n] \stackrel{\mathcal{F}}{\leftrightarrow} X(\omega) $$
### Egenskaper
#### Symmetri
Odde og like funksjoner, likt som imaginære og ikke imaginære (reelle).
* Odd: $x[-n] = -x[n]$
* Lik: $x[-n] = x[n]$
Man kan skrive en sekvens på formen:
$$ x[n] = \underbrace{x_R[n]}_{\text{reell}} + \underbrace{jx_I[n]}_{\text{imaginær}} $$
![DTFT symmetrier](figures/DTFTSymmetry.png)
#### Andre egenskaper
* Tidsforskyvning
$$ x[n-k] \stackrel{\mathcal{F}}{\leftrightarrow}e^{-j\omega n}X(\omega) $$
* Tidsreversering
$$ x[-n] \stackrel{\mathcal{F}}{\leftrightarrow} X(-\omega) $$
* Konvulosjon
$$ x_1[n] * x_2[n] \stackrel{\mathcal{F}}{\leftrightarrow} X_1(\omega)X_2(\omega) $$
* Frekvensskifting
$$ e^{j\omega_0 n}x[n] \stackrel{\mathcal{F}}{\leftrightarrow} X(\omega - \omega_0) $$
* Modulasjon
$$
\begin{gather*}
x[n] \cos(\omega_0 n) \\
\updownarrow\mathcal{F} \\
\frac{1}{2}\left[(X(\omega - \omega_0)+ (X(\omega + \omega_0)\right]
\end{gather*}
$$
* Parseval
$$
\begin{gather*}
\sum_n |x[n]|^2\\
\updownarrow\mathcal{F} \\
\frac{1}{2\pi}\int_{-\pi}^\pi X(\omega)d\omega
\end{gather*}
$$
* Vindu
$$
\begin{gather*}
x_1[n]x_2[n]\\
\updownarrow\mathcal{F} \\
\frac{1}{2\pi}\int_{-\pi}^\pi X_1(\lambda)X_2(\omega - \lambda)d\omega
\end{gather*}
$$
## Z-transformasjon
Z-transformasjonen av et diskret sekvens er gitt som:
$$ X(z) = \mathcal{Z}\{x[n]\} = \sum_{n=-\infty}^\infty x[n]z^{-n} $$
Notasjonen er:
$$x[n] \stackrel{\mathcal{Z}}{\leftrightarrow} X(z)$$
$$x[n] = \mathcal{Z}^{-1}\{X(z)\}$$
Transformasjonen transformerer en sekvens til den tilsvarende representasjonen i det komplekse $z$-planet.
ROC (Region of convergence) er settet med alle verdier av $z$ der $X(z)$ har en endelig verdi.
Transformasjonen bestemmer ikke unikt tids-sekvensen.
Ved å velge en ROC kan vi lage et ønsket signal/filter.
Dersom vi har at ROC er alt utenfor en sirkel, er sekvensen *kausal*.
Dersom ROC er innsiden av en sirkel, er sekvensen ***anti**kausal*.
### Egenskaper
* Lineær
* ROC av resultatet er minst $\mathcal{R}\_{X_1} \cap \mathcal{R}\_{X_2}$
* Tidsforskyvning
* ROC lik som for $X(z)$
$$ x[n-k] \stackrel{\mathcal{Z}}{\leftrightarrow}z^{-k}X(z) $$
* Skalering
* Dersom ROC før skalering er $r_1 < \|z\| < r_2$, så er ROC etter lik $\|a\|r_1 < \|z\| < \|a\|r_2$.
$$ a^n x[n] \stackrel{\mathcal{Z}}{\leftrightarrow} X(a^{-1} z) $$
* Tidsreversering
* Dersom ROC er $r_1 < \|z\| < r_2 $, så er ROC etter tidsreversering $\frac{1}{r_2} < \|z\| < \frac{1}{r_1}$
$$ x[-n] \stackrel{\mathcal{Z}}{\leftrightarrow} X(z^{-1}) $$
* Konvulosjon
* ROC minst snittet av ROC til $X_1$ og $X_2$.
$$ x_1[n]*x_2[n]\stackrel{\mathcal{Z}}{\leftrightarrow} X_1(z)X_2(z)$$
* Derivering
* ROC er den samme
* Initialverditeroremet: $x[0] = \lim_{z\rightarrow \infty}X(z)$, betyr at $x[n]$ er kausalt.
$$ nx[n] \stackrel{\mathcal{Z}}{\leftrightarrow} -z\frac{dX(z)}{dz} $$
### Rasjonelle z-transformasjoner
Rasjonell dersom transformasjonen kan bli representert som forholdet mellom to polynomer i $z^{-1}$ eller $z$.
$$
2020-12-02 21:35:07 +01:00
\begin{aligned}
2020-12-02 17:31:42 +01:00
X(z) &= \frac{B(z)}{A(z)} \\
&= \frac{b_0 + b_1 z^{-1} + \ldots + b_M z^{-M} }{a_0 + a_1 z^{-1} + \ldots + a_N z^{-N}} \\
&= \frac{b_0}{a_0}\frac{\prod_{k=1}^M \left(1-z_k z^{-1}\right)}{\prod_{k=1}^N \left(1-p_k z^{-1}\right)}
2020-12-02 21:35:07 +01:00
\end{aligned}
2020-12-02 17:31:42 +01:00
$$
### Systemanalyse
![Systemanalyse](figures/linearTimeInvariant.png)
Dersom vi har et system som vist over, sender inn en sekvens $x[n]$ eller $X(z)$ og observerer utgangen $y[n]$ eller $Y(z)$, kan vi finne systemfunksjonen.
$$h[n] = \frac{y[n]}{x[n]}$$
$$ H(z) = \frac{Y(z)}{X(z)} $$
Vi kan bruke transformasjonen til å gå mellom dem.
Begge er helt ekvivalente.
#### Kausalitet og stabilitet
For at et system skal være kausalt, må ROC være alt utenfor en sirkel.
For at et system skal være BIBO stabilt, må enhetssirkelen $z = e^{-j\omega}$ være med i ROC.
Det er mulig å bestemme om et system er kausal og stabilt ved å velge ROC.
ROC må heller ikke inneholde noen poler.
#### Frekvensrespons
For å finne frekvensresponsen til et system, "går" man langs enhetsirkelen, fra $-\pi$ til $\pi$.
##### Utregning
Dersom vi har frekvensresponsen til et system:
$$ H_1(z) = \frac{1}{1-\frac{1}{2}z^{-1}} $$
Matlabløsningen er som under
{% highlight matlab %}
B = 1;
A = [1 -0.5];
figure(1)
zplane(B,A)
figure(2)
[H,W]=freqz(B,A);
plot(W/pi,abs(H));
{%endhighlight%}
## Filteregenskaper
Frekvensresponsen til et system bestemmer hvordan type system det er.
* Båndpass
* Slipper gjennom visse frekvenser
* Båndstopp
* Stopper visse frekvenser
* Lavpass
* Slipper gjennom lave frekvenser
* Høypass
* Slipper gjennom høye frekvenser
### Lavpass
I et lavpassfilter ønsker vi å putte polene nærme(re) $z=1$, og nuller nærme(re) $z=-1$.
Dersom vi ser på et pol-null-plot ser vi at frekvensen er $0$ ved $z=1$, og poler forsterker et signal når vi er "nærme" det (ref tilbake til hvordan finne frevensresponsen til en z-transformasjon).
### Høypass
I et høypassfilter ønsker vi det motsatte av et lavpassfilter. Vi ønsker å putte så mange nuller nærheten av $z=1$, og så mange poler i nærheten av $z=-1$.
Dette er av samme grunn som for et lavpass.
### "Notch"-filter
Kan isolere seg rundt en veldig spesifik frekvens og fjerne den.
For å oppnå dette, så kan man putte noen nuller på enhetssirkelen og noen poler i nærheten av nullene. Da får vi veldig smale bånd.
### Kamfilter
Litt som et omvendt "notch"-filter. Det er periodiske nuller langs enhetssirkelen. Ender opp med noe som ligner på en kam.
### Allpassfilter
Dette filteret har en amplituderespons på $1$. Men den kan endre fasen på signalet ved gitte frekvenser.
### Lineær-fase-filtere
Dette er ønskelig, fordi da får vi kun en tidsforsinkning i utgangssignalet i båndpass.
For et lavpass er dette for lave frekvenser.
$$ \angle H(\omega) = a + b\omega $$
Der
$$H(\omega) = |H(\omega)| e^{j\angle H(\omega)} $$
Da vil nullene komme i resiproke par.
Altså dersom vi har en null i en vinkel, og avstand fra enhetssirkelen. Da vil den resiproke nullen være i samme vinkel, men samme avstand fra enhetssirkelen, bare på andre siden av sirkelen.
![Lineær fase](figures/LinearPhase.svg)
## Inverse- og minimumsfase-systemer
Dersom et system $\mathcal{T}$ er inverterbart, kan vi finne inngangssignalet dersom vi har utgangsignalet og den inverterbare systemgfunksjonen.
$$
\begin{gather*}
h[n]*h_I[n] = \delta[n] \\
\updownarrow\mathcal{Z} \\
H(z)H_I(z) = 1
\end{gather*}
$$
### Minimumsfasefilter
2020-11-30 15:45:17 +01:00
2020-12-02 17:31:42 +01:00
Et system kalles minimumfase dersom alle nuller og poler ligger innenfor enhetssirkelen.
2020-11-30 15:45:17 +01:00
2020-12-02 17:31:42 +01:00
Et stabilt pol-null-system som er av typen minimum fase har en stabil invers som også er minimum fase.
2020-12-02 21:35:07 +01:00
## Korrelasjon
Korrelasjon er et mål på likhet.
### Krysskorrelasjon
Dersom vi har en sekvens $x[n]$ og $y[n]$, vil kryssrelassjonen mellom disse to være:
$$
\begin{aligned}
r_{xy}[l] &= \sum_{n=-\infty}^\infty x[n]y[n-l] \\
&= \sum_{n=-\infty}^\infty x[n + l]y[n] \\
&\phantom{=} \text{der } l = \pm 1, \pm 2, \ldots
\end{aligned}
$$
Denne måler likheten mellom signalene $x[n]$ og $y[n]$.
Denne er ikke "kommutativ", altså $r_{xy}[l] \neq r_{yx}[l]$.
Men følgende holder:
$$r_{yx}[l] = r_{xy}[-l]$$
### Autokorrelasjon
Måler selvlikhet, $y[n] = x[n]$.
$$
\begin{aligned}
r_{xx}[l] &= \sum_{n=-\infty}^\infty x[n]x[n-l] \\
&= \sum_{n=-\infty}^\infty x[n + l]x[n] \\
&\phantom{=} \text{der } l = \pm 1, \pm 2, \ldots
\end{aligned}
$$
#### Egenskaper til autokorrelasjon
Energi i sekvenser $x[n]$:
$$ E_x = \sum_{n=-\infty}^\infty x^2[n] = r_{xx}[0] \geq 0 $$
Autokorrelasjonen har maksimum lag $l=0$:
$$ |r_{xx}[l]| \leq r_{xx}[0] = E_x $$
Autokorrelasjon er en lik funksjon:
$$
\begin{aligned}
r_{xy}[l] &= r_{yx}[-l] \\
&\Downarrow \\
r_{xx}[l] &= r_{xx}[-l]
\end{aligned}
$$
Normaliserte versjoner:
$$
\begin{aligned}
\varrho_{xx}[l] &= \frac{r_{xx}[l]}{r_{xx}[0]} \\
&\Downarrow \\
|\varrho_{xx}[l]| &\leq 1 \\ \\
\varrho_{xy}[l] &= \frac{r_{xy}[l]}{\sqrt{r_{xx}[0]r_{yy}[0]}}\\
&\Downarrow \\
|\varrho_{xy}[l]| &\leq 1
\end{aligned}
$$
### Spektral tetthet (Energi)
Størrelsen $S_{xx}(\omega)\geq 0$ er den *spektrale tettheten* til $x[n]$.
For å finne denne størrelsen, gjør vi en Fourier-transformasjon av autokorrelasjonen $r_{xx}[n]$:
$$
\begin{aligned}
r_{xx}[l] &= x[l] * x[-l] \\
&\updownarrow \mathcal{F} \\
S_{xx}(\omega)&= X(\omega)X^*(\omega) \\
&= |X(\omega)|^2
\end{aligned}
$$
Størrelsen $S_{xy}(\omega)$ er den *kryssspektrale tettheten*.
$$
\begin{aligned}
r_{xy}[l] &= x[l] * y[-l] \\
&\updownarrow \mathcal{F} \\
S_{xy}(\omega)&= X(\omega)Y^*(\omega)
\end{aligned}
$$