```javascript
%%javascript
MathJax.Hub.Config({TeX: { equationNumbers: { autoNumber: "AMS" } }});
```


    <IPython.core.display.Javascript object>


#  FLC - Fourier Linear Combiner

The [FLC](https://ieeexplore.ieee.org/document/18751) is designed for modeling and estimating a quasiperiodic signal of known frequency by adapting the amplitude and phase of a reference signal, in real-time with zero phase shift. The reference signal is generated artificially by a dynamic truncated Fourier series
\begin{equation}\label{eq:truncatedFourierSeries}
y_k=\sum_{r=1}^{n}a_{rk}\sin(r\omega_0 k )+b_{rk}\cos(r\omega_0k)
\end{equation}

where $k$ is the sampling instance, $y_k$ the is estimated signal, $n$ is the number of harmonics in the model, $\mu$ is the adaptive gain parameter, and the Fourier coefficients $a_{rk}$ and $b_{rk}$ are the adaptive weights for their respective harmonic frequency $r\omega_0$. Then $\textbf{x}_k$ and $\textbf{w}_k$ are defined

\begin{align}
\textbf{x}_k&=
\begin{bmatrix}\label{eq:FLCxVector}
[\sin(\omega_0k)&\sin(2\omega_0k)&\cdots&\sin(n\omega_0k)]^T \\
[\cos(\omega_0k)&\cos(2\omega_0k)&\cdots&\cos(n\omega_0k)]^T
\end{bmatrix}\\\label{eq:FLCfilterWeights}
\textbf{w}_k&=\begin{bmatrix}
[a_{1k}&a_{2k}&\cdots & a_{nk}]^T\\
[b_{1k}&b_{2k}&\cdots & b_{nk}]^T
\end{bmatrix} 
\end{align}

Using \eqref{eq:FLCxVector} and \eqref{eq:FLCfilterWeights} the linear combiner can be written as 

\begin{equation}\label{key}
y_k=\textbf{w}_k^T\textbf{x}_k
\end{equation}

The error between the input signal $s_k$ and the estimated signal, $y_k$ is

\begin{align}
\varepsilon_k&=s_k-y_k=s_k-\textbf{w}_k^T\textbf{x}_k
\end{align}

and the recursive LMS algorithm used to update the weights of $\textbf{w}_k$

\begin{align}
\textbf{w}_{k+1}&=\textbf{w}_k+2\mu\textbf{x}_k\epsilon_k
\end{align}

The FLC architecture can be seen in the following figure



048cb461f12cd87ef2fdd34111445c19f0597384
ipynb
Jupyter Notebook
2. FLC.ipynb
Bjarten/flc-based-filters
4299cc4010f41a52c16770a1e712b2fe2a878dc5
MIT
2019-03-08T02:38:45.000Z
2022-03-18T12:13:26.000Z
2. FLC.ipynb
Bjarten/flc-based-filters
4299cc4010f41a52c16770a1e712b2fe2a878dc5
MIT
2. FLC.ipynb
Bjarten/flc-based-filters
4299cc4010f41a52c16770a1e712b2fe2a878dc5
MIT
2020-06-04T16:13:06.000Z
2020-06-04T16:13:06.000Z
Qwen/Qwen-72B
1. YES
2. YES