diff --git a/ntnu/ttt4120/summary/figures/DTFTSymmetry.png b/ntnu/ttt4120/summary/figures/DTFTSymmetry.png new file mode 100644 index 0000000..f587c5f Binary files /dev/null and b/ntnu/ttt4120/summary/figures/DTFTSymmetry.png differ diff --git a/ntnu/ttt4120/summary/figures/LinearPhase.svg b/ntnu/ttt4120/summary/figures/LinearPhase.svg new file mode 100644 index 0000000..0303391 --- /dev/null +++ b/ntnu/ttt4120/summary/figures/LinearPhase.svg @@ -0,0 +1,3 @@ + + +
1
1
-1
-1
1
1
-1
-1
a
a
a
a
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/ntnu/ttt4120/summary/figures/diagonalConv.png b/ntnu/ttt4120/summary/figures/diagonalConv.png new file mode 100644 index 0000000..2a0741f Binary files /dev/null and b/ntnu/ttt4120/summary/figures/diagonalConv.png differ diff --git a/ntnu/ttt4120/summary/figures/impulseResponse.png b/ntnu/ttt4120/summary/figures/impulseResponse.png new file mode 100644 index 0000000..bbe4455 Binary files /dev/null and b/ntnu/ttt4120/summary/figures/impulseResponse.png differ diff --git a/ntnu/ttt4120/summary/figures/linearTimeInvariant.png b/ntnu/ttt4120/summary/figures/linearTimeInvariant.png new file mode 100644 index 0000000..a3e731b Binary files /dev/null and b/ntnu/ttt4120/summary/figures/linearTimeInvariant.png differ diff --git a/ntnu/ttt4120/summary/summary.md b/ntnu/ttt4120/summary/summary.md index c11b38a..bf715ee 100644 --- a/ntnu/ttt4120/summary/summary.md +++ b/ntnu/ttt4120/summary/summary.md @@ -104,7 +104,387 @@ $$ Denne du får standardversjonen ved å sette $k=0$. +#### Sinus + +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: + +$$ +\begin{align*} + \cos(2\pi n) &= \cos(2\pi f (n+N)) \\ + \Rightarrow 2\pi f N &= 2\pi k \\ + \Rightarrow f &= \frac{k}{N} +\end{align*} +$$ + +### 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: + +$$ +\begin{align*} + x[n] &= x_a(nT) \\ + &= A\cos\left[2\pi\frac{F}{F_S}n\right] \\ + &= A\cos\left[2\pi f n\right] +\end{align*} +$$ + +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: + +$$ +\begin{align*} + -\frac{1}{2} < &f \leq \frac{1}{2} \\ + -\frac{F_S}{2} < &f \leq \frac{F_S}{2} +\end{align*} +$$ +### 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 + +$$ +\begin{align*} + 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] +\end{align*} +$$ + +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$. + +$$ +\begin{align*} + 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)} +\end{align*} +$$ + + +### 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 + +Et system kalles minimumfase dersom alle nuller og poler ligger innenfor enhetssirkelen. + +Et stabilt pol-null-system som er av typen minimum fase har en stabil invers som også er minimum fase.