diff --git a/assets/css/components/theme.css b/assets/css/components/theme.css index 0307d7c..2e917bc 100644 --- a/assets/css/components/theme.css +++ b/assets/css/components/theme.css @@ -110,5 +110,3 @@ a:hover { .MJX_LiveRegion { display: none; } - - diff --git a/ntnu/ttt4120/summary/figures/input-output-corr.png b/ntnu/ttt4120/summary/figures/input-output-corr.png new file mode 100644 index 0000000..ed6d869 Binary files /dev/null and b/ntnu/ttt4120/summary/figures/input-output-corr.png differ diff --git a/ntnu/ttt4120/summary/figures/z-transform.png b/ntnu/ttt4120/summary/figures/z-transform.png new file mode 100644 index 0000000..41e9ef0 Binary files /dev/null and b/ntnu/ttt4120/summary/figures/z-transform.png differ diff --git a/ntnu/ttt4120/summary/summary.md b/ntnu/ttt4120/summary/summary.md index 6183724..aefe2a1 100644 --- a/ntnu/ttt4120/summary/summary.md +++ b/ntnu/ttt4120/summary/summary.md @@ -30,9 +30,9 @@ $T$ trenger ikke å være tid, men f.eks. posisjonen på en stang. $$ \begin{gather*} - y[n] = ax[n] \\ - y[n] = x_1[n] + x_2[n] \\ - y[n] = x_1[n]x_2[n] + y[n] = ax[n] \\ + y[n] = x_1[n] + x_2[n] \\ + y[n] = x_1[n]x_2[n] \end{gather*} $$ @@ -40,8 +40,8 @@ $$ $$ \begin{gather*} - y[n] = x[n-k] \\ - y[n] = -x[n] + y[n] = x[n-k] \\ + y[n] = -x[n] \end{gather*} $$ @@ -86,8 +86,8 @@ $$ P_x = \lim_{n\rightarrow\infty} \frac{1}{2N + 1}\sum_{n=-N}^N |x[n]|^2 $$ $$ \delta[n-k] = \begin{cases} - 1 & n=k \\ - 0 & n\neq k + 1 & n=k \\ + 0 & n\neq k \end{cases} $$ Denne du får standardversjonen ved å sette $k=0$. @@ -96,8 +96,8 @@ Denne du får standardversjonen ved å sette $k=0$. $$ u[n-k] = \begin{cases} - 1 & n\geq k \\ - 0 & n < k + 1 & n\geq k \\ + 0 & n < k \end{cases} $$ @@ -110,9 +110,9 @@ Dersom en sinus-kurve skal være periodisk med en periode $N$, og siden vi vet a $$ \begin{aligned} - \cos(2\pi n) &= \cos(2\pi f (n+N)) \\ - \Rightarrow 2\pi f N &= 2\pi k \\ - \Rightarrow f &= \frac{k}{N} + \cos(2\pi n) &= \cos(2\pi f (n+N)) \\ + \Rightarrow 2\pi f N &= 2\pi k \\ + \Rightarrow f &= \frac{k}{N} \end{aligned} $$ @@ -134,9 +134,9 @@ Da vil den diskrete sekvensen være: $$ \begin{aligned} - x[n] &= x_a(nT) \\ - &= A\cos\left[2\pi\frac{F}{F_S}n\right] \\ - &= A\cos\left[2\pi f n\right] + 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{aligned} $$ @@ -146,8 +146,8 @@ Fra før vet vi at: $$ \begin{aligned} - -\frac{1}{2} < &f \leq \frac{1}{2} \\ - -\frac{F_S}{2} < &f \leq \frac{F_S}{2} + -\frac{1}{2} < &f \leq \frac{1}{2} \\ + -\frac{F_S}{2} < &f \leq \frac{F_S}{2} \end{aligned} $$ @@ -188,25 +188,25 @@ Vi sender ut en enhetspuls og ser på hvordan systemet utvikler seg. Vi kan finne impulsresponsen ved å sette $x[n] = \delta[n]$. Da får vi at $y[n] = h[n]$. -### Konvulosjon +### Konvolusjon $$ \begin{aligned} - 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] + 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{aligned} $$ -Det er mulig å gjøre konvulosjon både stegvis eller med en matrise. +Det er mulig å gjøre konvolusjon 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) +![Utregning av Konvolusjon](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: +Dersom lengden av sekvensen $x[n]$ er $N_x$ og lengden av $h[n]$ er $N_h$, vil lengden av konvolusjonen være: $$ N_y = N_x + N_h - 1 $$ @@ -264,7 +264,7 @@ $$ x[n-k] \stackrel{\mathcal{F}}{\leftrightarrow}e^{-j\omega n}X(\omega) $$ $$ x[-n] \stackrel{\mathcal{F}}{\leftrightarrow} X(-\omega) $$ -* Konvulosjon +* Konvolusjon $$ x_1[n] * x_2[n] \stackrel{\mathcal{F}}{\leftrightarrow} X_1(\omega)X_2(\omega) $$ @@ -276,9 +276,9 @@ $$ e^{j\omega_0 n}x[n] \stackrel{\mathcal{F}}{\leftrightarrow} X(\omega - \omega $$ \begin{gather*} - x[n] \cos(\omega_0 n) \\ - \updownarrow\mathcal{F} \\ - \frac{1}{2}\left[(X(\omega - \omega_0)+ (X(\omega + \omega_0)\right] + x[n] \cos(\omega_0 n) \\ + \updownarrow\mathcal{F} \\ + \frac{1}{2}\left[(X(\omega - \omega_0)+ (X(\omega + \omega_0)\right] \end{gather*} $$ @@ -286,9 +286,9 @@ $$ $$ \begin{gather*} - \sum_n |x[n]|^2\\ - \updownarrow\mathcal{F} \\ - \frac{1}{2\pi}\int_{-\pi}^\pi X(\omega)d\omega + \sum_n |x[n]|^2\\ + \updownarrow\mathcal{F} \\ + \frac{1}{2\pi}\int_{-\pi}^\pi X(\omega)d\omega \end{gather*} $$ @@ -296,9 +296,9 @@ $$ $$ \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 + 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*} $$ @@ -344,7 +344,7 @@ $$ a^n x[n] \stackrel{\mathcal{Z}}{\leftrightarrow} X(a^{-1} z) $$ $$ x[-n] \stackrel{\mathcal{Z}}{\leftrightarrow} X(z^{-1}) $$ -* Konvulosjon +* Konvolusjon * 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)$$ @@ -361,9 +361,9 @@ Rasjonell dersom transformasjonen kan bli representert som forholdet mellom to p $$ \begin{aligned} - 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)} + 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{aligned} $$ @@ -415,6 +415,7 @@ figure(2) plot(W/pi,abs(H)); {%endhighlight%} + ## Filteregenskaper Frekvensresponsen til et system bestemmer hvordan type system det er. @@ -476,9 +477,9 @@ Dersom et system $\mathcal{T}$ er inverterbart, kan vi finne inngangssignalet de $$ \begin{gather*} - h[n]*h_I[n] = \delta[n] \\ - \updownarrow\mathcal{Z} \\ - H(z)H_I(z) = 1 + h[n]*h_I[n] = \delta[n] \\ + \updownarrow\mathcal{Z} \\ + H(z)H_I(z) = 1 \end{gather*} $$ @@ -495,13 +496,13 @@ 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: +Dersom vi har en sekvens $x[n]$ og $y[n]$, vil kryssrelasjonen 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 + 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} $$ @@ -519,9 +520,9 @@ 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 + 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} $$ @@ -539,9 +540,9 @@ Autokorrelasjon er en lik funksjon: $$ \begin{aligned} - r_{xy}[l] &= r_{yx}[-l] \\ - &\Downarrow \\ - r_{xx}[l] &= r_{xx}[-l] + r_{xy}[l] &= r_{yx}[-l] \\ + &\Downarrow \\ + r_{xx}[l] &= r_{xx}[-l] \end{aligned} $$ @@ -549,12 +550,12 @@ 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 + \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} $$ @@ -566,10 +567,10 @@ For å finne denne størrelsen, gjør vi en Fourier-transformasjon av autokorrel $$ \begin{aligned} - r_{xx}[l] &= x[l] * x[-l] \\ - &\updownarrow \mathcal{F} \\ - S_{xx}(\omega)&= X(\omega)X^*(\omega) \\ - &= |X(\omega)|^2 + r_{xx}[l] &= x[l] * x[-l] \\ + &\updownarrow \mathcal{F} \\ + S_{xx}(\omega)&= X(\omega)X^*(\omega) \\ + &= |X(\omega)|^2 \end{aligned} $$ @@ -577,9 +578,202 @@ 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) + r_{xy}[l] &= x[l] * y[-l] \\ + &\updownarrow \mathcal{F} \\ + S_{xy}(\omega)&= X(\omega)Y^*(\omega) \end{aligned} $$ +### Inngang-utgangs-korrelasjoner + +![Inngang-utgangs-korrelasjoner](figures/input-output-corr.png) + +#### I z-transformasjon + +$$ +\begin{gathered} + h[l]*h[-l] \\ + \updownarrow\mathcal{Z} \\ + H(z)H(z^{-1}) \\ \\ + + r_{xy} = h[l]*r_{xx}[l] \\ + \updownarrow\mathcal{Z} \\ + H(z)S_{xx}(z) \\ \\ + + r_{yy} = r_{hh}[l]*r_{xx}[l]\\ + \updownarrow\mathcal{Z} \\ + H(z)H(z^{-1})S_{xx}(z) +\end{gathered} +$$ + +#### Utgangs og kryssspektral tetthet + +$$ +\begin{aligned} + S_{yy}(\omega) &= |H(\omega)|^2 S_{xx}(\omega) \\ + &= |H(\omega)|^2 |X(\omega)|^2 \\ \\ + + S_{yx}(\omega) &= H(\omega)S_{xx}(\omega) +\end{aligned} +$$ + +## Invers Z-transformasjon + +![Z-transformasjonen](figures/z-transform.png) + +Det enkleste for å gjøre en invers z-transformasjon er å delbrøkoppspalte likningen. + +Vi kan skrive: + +$$ +\begin{aligned} + x[n] &= \sum_{k=1}^N R_k z^{-1} \\ + &= \sum_{k=1}^N R_k p_k^n u[n] +\end{aligned} +$$ + +Der $p_k$ er den $k$-ende polen, og $R_k$ er resydyren ved $p_k$. + +Dersom vi har komplekskonjugerte par, $p_k = p_i^\* $ er også residyrene komplekskonjugerte, $R_k = R_i^*$. + +For å delbrøkoppspalte, må vi gjøre følgende: +1. Faktorisere nevnerpolynomet $A(z)$ for å finne alle poler $p_1, \ldots, p_N$. +2. Deretter finne residyrene $R_1, \ldots, R_N$. + +Det første punktet er ganske greit, det er bare å faktorisere som vanlig, med komplekse tall. +Det å finne residyrene er vanskeligere. + +Finnes to metoder for å finne poler og residyrer, løse lineære likninger, som ofte tar veldig lang tid. Selv om dette er en langvarig prosess, fungerer den alltid. + +Vi kan også bare gange begge sider med $1-p_k z^{-1}$. +Da ender vi opp med å få $R_k$ alene uten noen faktorer med poler. + +Videre setter man $z=p_k$. Da vill alt annet enn $R_k$ forsvinne, og vi finner en verdi for $R_k$. + +En generell formel er som følger: + +$$ R_k = (1-p_k z^{-1})X(z)\Big|_{z=p_k} $$ + +### Eksempel (regning) + +Vi skal delbrøkoppspalte: + +$$ +\begin{aligned} + X(z) &= \frac{1}{\left(1-\frac{1}{4}z^{-2}\right)} \\ + &= \frac{1}{\left(1-\frac{1}{2}z^{-1}\right)\left(1+\frac{1}{2}z^{-1}\right)}\\ + &= \frac{R_1}{1-\frac{1}{2}z^{-1}} + \frac{R_2}{1+\frac{1}{2}z^{-1}} +\end{aligned} +$$ + +Det er da veldig lett å løse residyrene ved bruk av formelen: + +$$ +\begin{aligned} + R_1 &= \left(R_1 + \frac{R_2\left(1-\frac{1}{2}z^{-1}\right)}{1+\frac{1}{2}z^{-1}}\right)\Bigg|_{z=\frac{1}{2}} \\ + &= \frac{1}{1+\frac{1}{2}z^{-1}}\bigg|_{z=\frac{1}{2}} = \frac{1}{2}\\ \\ + R_2 &= \left(\frac{R_1\left(1+\frac{1}{2}z^{-1}\right)}{1-\frac{1}{2}z^{-1}} + R_2\right)\Bigg|_{z=-\frac{1}{2}} \\ + &= \frac{1}{1-\frac{1}{2}z^{-1}}\bigg|_{z=-\frac{1}{2}} = \frac{1}{2} +\end{aligned} +$$ + +### Eksempel 1 (MatLab) + +Skal finne impulsresponsen på: + +$$ H(z) = \frac{3 - 4z^{-1}}{1 - 3.5z^{-1} + 1.5z^{-2}} $$ + +Dette kan løses i matlab med koden under. + +{% highlight matlab %} +B = [3 -4]; +A = [1 -3.5 1.5]; + +[R,P,C] = residuez(B,A); + +R % Residues +P % Poles +C % Direct terms (if improper) +{% endhighlight %} + +### Eksempel 2 (MatLab) + +Dersom vi også ønsker å plotte frekvensresponsen til en annen funksjon: + +$$H(\omega) = \frac{1 - e^{-j2\omega}}{1 - 0.81e^{-j2\omega}}$$ + +Så kan det løses i matlab med koden under: + +{% highlight matlab %} +B = [1 0 -1]; +A = [1 0 -0.81]; +W = [0:1:500]*pi/500; +H = freqz(B,A,W); + +magH = abs(H); phaH = angle(H); + +subplot(2,1,1); plot(W/pi,magH); +xlabel('Frequency in pi units') +ylabel('Magnitude') + +subplot(2,1,2); plot(W/pi,phaH); +xlabel('Frequency in pi units') +ylabel('Phase') +{% endhighlight %} + +## Diskret Fouriertransformasjon (DFT) + +Litt som DTFT, men her sampler vi frekvensdomenet. Som videre kan rekonstrueres tilbake til en fullverdig kontinuerlig frekvensrespons. + +Denne kan effektiviseres med en algoritme kalt FFT (Rask fouriertransformasjon eller "FastFourierTransform"). + +### Frekvenssampling + +Vi sampler frekvensene i intervallet $0\leq\omega<2\pi$, med $N$ likte mye mellom punktene. + +$$X(\omega_k) = X(\omega)|_{\omega = \omega_k} $$ + +Der: + +$$ \omega_k = \frac{2\pi k}{N}, k = 0, \ldots, N-1 $$ + +Siden DTFT av signalet er periodisk med $2\pi$, vet vi at DFT også er periodisk med $N$, $e^{-\frac{j2\pi}{N}n} = e^{-\frac{j2\pi}{N}(n+N)}$ + +Dersom vi tar DTFT av en sekvens $x[n]$ evaluert i punktene $\omega_k$, får vi: + +$$X(\omega_k) = \sum_{n=0}^{N-1} x_p[n]e^{-\frac{j2\pi k}{N}n} $$ + +Der den periodiske utvidelsen av $x[n]$, $x_p[n]$ er definert: + +$$ x_p[n] = \sum_{l=-\infty}^{\infty} x[n - lN] $$ + +### Diskret-tid-fourierrekke + +$$ +\begin{gathered} + x_p[n] = \sum_{k=0}^{N-1}c_k e^{\frac{j2\pi k}{N}n}, n=0,\ldots,N-1 \\ + c_k = \frac{1}{N}\sum_{n=0}^{N-1}x_p[n] e^{-\frac{j2\pi k}{N}n} = \frac{1}{N}X\left(\frac{2\pi k}{N}\right) +\end{gathered} +$$ + +### Diskret Fouriertransformasjon (DFT) + +$$X(k) = \sum_{n=0}^{N-1}x[n]e^{-\frac{j2\pi k}{N}n}, k=0,\ldots,N-1 $$ + +### Invers Diskret Fouriertransformasjon (IDFT) + +$$x(n) = \frac{1}{N}\sum_{k=0}^{N-1}X(k)e^{\frac{j2\pi k}{N}n}, n=0,\ldots,N-1 $$ + +### Egenskaper til DFT + +Ganske like som i DTFT + +* Periodisk +* Lineær +* Tidsreversering +* Sirkulær tidsforskyvning +* Sirkulær frekvensforskyvning +* Konjugerte +* Sirkulær konvolusjon +* Multiplikasjon av to sekvenser +* Pasevals teorem \ No newline at end of file