Finite-Length (FIR) Wiener Filter
1. FIR Filter as Convolution
The FIR filter of order N is defined as:
$$
y[n] = \sum_{k=0}^{N-1} h[k]\,x[n-k]
$$
- h[k] = filter coefficient at lag k
- x[n-k] = input sample delayed by k
- y[n] = filter output at time n
2. Vector Form (Inner Product)
Define the coefficient vector H and input vector X[n]:
$$
H =
\begin{bmatrix}
h[0] \\ h[1] \\ \vdots \\ h[N-1]
\end{bmatrix}, \quad
X[n] =
\begin{bmatrix}
x[n] \\ x[n-1] \\ \vdots \\ x[n-N+1]
\end{bmatrix}
$$
Then the output can be written as an inner product:
$$
y[n] = H^T X[n] = h[0]x[n] + h[1]x[n-1] + \dots + h[N-1]x[n-N+1]
$$
This is exactly the same as the convolution sum above.
3. Small Numerical Example
Suppose:
$$
N = 3, \quad H = \begin{bmatrix} 0.2 \\ 0.5 \\ 0.3 \end{bmatrix}, \quad X[n] = \begin{bmatrix} 1 \\ 2 \\ 3 \end{bmatrix}
$$
Compute y[n]:
$$
y[n] = H^T X[n] = (0.2)(1) + (0.5)(2) + (0.3)(3)
$$
Step by step:
- 0.2 × 1 = 0.2
- 0.5 × 2 = 1.0
- 0.3 × 3 = 0.9
Sum:
$$
y[n] = 0.2 + 1.0 + 0.9 = 2.1
$$