Finish lecture 11, DFT
parent
04a53fce08
commit
ade4786e14
|
@ -110,5 +110,3 @@ a:hover {
|
|||
.MJX_LiveRegion {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
Binary file not shown.
After Width: | Height: | Size: 87 KiB |
|
@ -188,7 +188,7 @@ 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}
|
||||
|
@ -200,13 +200,13 @@ $$
|
|||
\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) $$
|
||||
|
||||
|
@ -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)$$
|
||||
|
@ -415,6 +415,7 @@ figure(2)
|
|||
plot(W/pi,abs(H));
|
||||
{%endhighlight%}
|
||||
|
||||
|
||||
## Filteregenskaper
|
||||
|
||||
Frekvensresponsen til et system bestemmer hvordan type system det er.
|
||||
|
@ -495,7 +496,7 @@ 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}
|
||||
|
@ -583,3 +584,196 @@ $$
|
|||
\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
|
Loading…
Reference in New Issue