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

@ -725,7 +725,7 @@ ylabel('Phase')
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").
Denne kan effektiviseres med en algoritme kalt FFT (Rask fouriertransformasjon eller "Fast Fourier Transform").
### Frekvenssampling
@ -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)