From c85cf1c68db8823ab77be499af398ece21db0e5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind?= Date: Thu, 3 Dec 2020 22:15:35 +0100 Subject: [PATCH] Finish lecture 12 DFT analysis --- ntnu/ttt4120/summary/figures/longSeq.png | Bin 0 -> 58432 bytes ntnu/ttt4120/summary/summary.md | 62 +++++++++++++++++++++-- 2 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 ntnu/ttt4120/summary/figures/longSeq.png diff --git a/ntnu/ttt4120/summary/figures/longSeq.png b/ntnu/ttt4120/summary/figures/longSeq.png new file mode 100644 index 0000000000000000000000000000000000000000..addb27f385b3a9646e44e6f48d198e591f797f93 GIT binary patch literal 58432 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

X>9pF&sDwg1HA2ukgsMmk? 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 z%0D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 literal 0 HcmV?d00001 diff --git a/ntnu/ttt4120/summary/summary.md b/ntnu/ttt4120/summary/summary.md index aefe2a1..aa702ab 100644 --- a/ntnu/ttt4120/summary/summary.md +++ b/ntnu/ttt4120/summary/summary.md @@ -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 \ No newline at end of file +* 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)  \ No newline at end of file