Wiener/LMMSE Interpolation

LMMSE method relies on the knowledge of the autocorrelation functions of the channel in both time and frequency domain as well as the noise variance to estimate the channel transfer function at non-pilot positions. LMMSE estimator tries to minimize the expected mean squared error between the actual and estimated channel, i.e., $\mathrm{min}\,E\left\{ \left|H_{k}-\hat{H}_{\mathrm{LMMSE},k}\right|^{2}\right\}$.

The LMMSE channel estimate of an arbitrary subcarrier $n$ $\hat{\mathrm{H}}_{\mathrm{LMMSE},n}\left(k\right)$ can be computed according to $$\hat{\mathrm{H}}_{\mathrm{LMMSE},n}\left(k\right)=\sum_{i=0}^{L_{SW}-1}c_{i}^{*}\hat{\mathrm{H}}_{p,n}\left(i\right)$$ where $c_{i}$ is the $i$-th Wiener filter coefficient and $\hat{\mathrm{H}}_{p,n}\left(i\right)$ is the $i$-th pilot channel estimates within the sliding window $L_{SW}$ at $n$-th subcarrier.

The Wiener filter coefficients are given by $$\mathbf{c}_{\mathrm{LMMSE},t}=\left(\mathbf{R}_{t}+\sigma^{2}\mathbf{I}\right)^{-1}\mathbf{r}_{t}$$ where $\mathbf{R}_{t}$ is the autocorrelation matrix of the channel at pilot positions, $\sigma^{2}$ is the noise-variance and $\mathbf{r}_{t}$ is the cross-correlation vector between the channel at $k$-th symbol and the channel at pilot positions.

In the frequency domain, the auto-correlation and cross-correlation functions are constituted by IFFT of the PDP of the channel with the PDP given by $\mathbf{P}=\left[\left\Vert h_{0}\right\Vert ^{2},0\ldots0,\left\Vert h_{1}\right\Vert ^{2},0\ldots0,\left\Vert h_{2}\right\Vert ^{2},0\ldots0,\left\Vert h_{L_{\mathrm{ch}}-1}\right\Vert ^{2}\right]$.