Finish lecture 12 DFT analysis

MetaPost
Øyvind Skaaden 2020-12-03 22:15:35 +01:00
parent ade4786e14
commit c85cf1c68d
2 changed files with 59 additions and 3 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

View File

@ -747,6 +747,11 @@ Der den periodiske utvidelsen av $x[n]$, $x_p[n]$ er definert:
$$ x_p[n] = \sum_{l=-\infty}^{\infty} x[n - lN] $$
For at vi skal kunne rekonstruere det orginale spektrumet, må vi vite følgende:
> Vi trenger DFT med størrelse $N \geq M + L - 1$, for å unikt rekonstuere $y[n]$ i frekvensdomenet.
> Der $M$ og $L$ er lengden av to sekvenser vi ønsker å konvulere.
### Diskret-tid-fourierrekke
$$
@ -762,7 +767,7 @@ $$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 $$
$$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
@ -776,4 +781,55 @@ Ganske like som i DTFT
* Konjugerte
* Sirkulær konvolusjon
* Multiplikasjon av to sekvenser
* Pasevals teorem
* Parsevals teorem
### Filtrering med LFT
Dersom vi har to sekvenser, $x[n]$ og $h[n]$ med lengder $L$ og $M$, må de "paddes" med $0$ på slutten, slik at lengden av sekvensene er begge $N$.
$$
\begin{aligned}
x[n] &= \{x[0], \ldots, x[L-1], \underbrace{0,\ldots,0}_{N-L}\} \\
h[n] &= \{h[0], \ldots, h[L-1], \underbrace{0,\ldots,0}_{N-M}\}
\end{aligned}
$$
Da kan utgangssekvensen beregnes med DFT.
$$
\begin{aligned}
y[n] &= \text{IDFT}_N\{Y(k)\} \\
&= \text{IDFT}_N\{\text{DFT}_N\{h[n]\}\cdot\text{DFT}_N\{x[n]\}\}
\end{aligned}
$$
Dersom vi velger $N < M + L - 1$ vil vi kunne få aliasing i tidsdomenet.
### Filtrering av lange sekvenser
Dersom vi har veldig lange sekvenser kan det bli veldig utregningsmessig komlekst.
Dette er spesielt merkbart i sanntidsprossesering (ikke noe start eller slutt).
Det er mulig å dele opp sekvensene i mindre biter.
Da brukes den additive egenskapen til konolusjon.
$$
\begin{aligned}
y[n] &= h[n] * (x_1[n] + x_2[n]) \\
&= h[n] * x_1[n] + h[n] * x_2[n] \\
&= y_1[x] + y_2[n]
\end{aligned}
$$
Dette brukes videre for å filtrere lange sekvenser:
1. Del opp sekvensen $x[n]$ opp i *ikke-overlappende blokker* $x_m[n]$, hver med lengde $L$.
2. Filtrer hver blokk $x_m [n]$ med $h[n]$ for å produsere *utgangsblokken* $y_m[n]$.
3. Kombiner blokkene sammen til den totale sekvensen.
$$y[n] = \sum_m y_m[n]$$
Dersom lengden av $h[n]$ er $M$, vil lengden av $y[n]$ være $L+M-1$.
Dermed vil de siste $M-1$ verdiene i sekvensen $y_{m-1}[n]$ bli lagt til i starten av neste blokk $y_m[n]$.
![Lange sekvenser](figures/longSeq.png)