diff --git a/DSP.md b/DSP.md index cf5b565..18e3010 100644 --- a/DSP.md +++ b/DSP.md @@ -182,11 +182,10 @@ $$ y(t) = (h \ast x)(t) = \int_{-\infty}^\infty h(\tau) x(t - \tau) d\tau $$ where $h(t)$ is the *impulse response* of our filter. The signal $h(t)$ is the result of processing a [delta function](https://en.wikipedia.org/wiki/Dirac_delta_function) through our filter, since $\delta(t)$ is the "identity" function of convolution, i.e. $h(t) = (h \ast \delta)(t)$. -Clapping your hands or popping a balloon (both good approximations of $\delta$) in a large cathedral will generate a very sophisticated impulse response, which can be recorded and processed in a FIR filter algorithm to reproduce arbitrary sounds as if they were performed in the cathedral. +Clapping your hands or popping a balloon (both good approximations of $\delta$) in a large cathedral will generate a very sophisticated impulse response, which can be recorded as $h(t)$ and processed in a FIR filter algorithm to reproduce arbitrary sounds as if they were performed in the cathedral. Repeating this process in the digital realm gives us the discrete convolution. $$ y_k = \sum_{n=-\infty}^\infty h_n x_{k-n} $$ -Note that $h_n$ is both non-causal (nonzero for negative $t$ or $n$) and infinitely long, which is addressed later. #### Brickwall filter @@ -205,6 +204,13 @@ where $\operatorname{sinc}(x) = \sin(\pi x) / (\pi x)$ is the [normalized sinc f Although the impulse response is infinitely long, restricting it to a finite range $[-T, T]$ and shifting it forward by $T$ produces a finite causal impulse response that can be solved by a fast FIR algorithm to produce a close approximation of an ideal brickwall filter. +### Windows + +The impulse response $h_n$ is defined for all integers $n$, so it is both non-causal (requires knowledge of future $x(t)$ to compute $y(t)$) and infinitely long. + +*TODO* + + ### To-do - digital filters