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


    <IPython.core.display.Javascript object>


# BMFLC - band-limited multiple-FLC

The band-limited multiple-FLC (BMFLC) \cite{BMFLC1,BMFLC2} is based on the concepts of the WFLC algorithm. The WFLC algorithm adapts to a single frequency present in the tremor signal, but for tremor signals modulated by two or more frequencies close in the spectral domain, the performance of the WFLC  will degrade. In such cases, the frequency adaption process of the WFLC will never stabilize, and accurate estimation will never be attained. To overcome this weakness, the BMFLC can track multiple frequency components in the incoming signal. Instead of having one variable frequency $w_{0_k}$  that adapts to the fundamental frequency of the tremor like with the WFLC, the BMFLC predefines a band of frequencies $[\omega_1-\omega_n]$, and then divide the frequency band into $n$ finite divisions, with distance $\Delta w$  between them, as shown in the second figure. In the first figure we can see that $n$-FLCs are combined to form the BMFLC, this algorithm is now capable of estimating a signal with multiple dominant frequencies. In  this [paper](https://onlinelibrary.wiley.com/doi/abs/10.1002/rcs.340), to compare the efficiency of the WFLC and BMFLC, they used a modulating sinusoidal signal with two frequencies \eqref{eq:BMFLC_testsignal}, simulating a tremor signal. When the two frequencies in the signal where equal, the WFLC slightly outperformed the BMFLC, but when the frequency gap increase, the WFLC fails to adapt to the modulated signal. The BMFLC is not affected by the frequency gap.  When setting the value of $\Delta w$ to 0.1-0.5, estimation accuracy of 96-98\% was obtained with the BMFLC.

\begin{equation}
y_k=\sum_{r=1}^{n}a_{rk}\sin(\omega_r k )+b_{rk}\cos(\omega_rk)
\end{equation}

\begin{align}
\textbf{x}_k&=
\begin{bmatrix}
[\sin(\omega_1k)&\sin(\omega_2k)&\cdots&\sin(\omega_nk)]^T \\
[\cos(\omega_1k)&\cos(\omega_2k)&\cdots&\cos(\omega_nk)]^T
\end{bmatrix}\\
\textbf{w}_k&=\begin{bmatrix}
[a_{1k}&a_{2k}&\cdots & a_{nk}]^T\\
[b_{1k}&b_{2k}&\cdots & b_{nk}]^T
\end{bmatrix} \\
y_k&=\textbf{w}_k^T\textbf{x}_k\\
\varepsilon_k&=s_k-y_k\\
\textbf{w}_{k+1}&=\textbf{w}_k+2\mu\textbf{x}_k\epsilon_k
\end{align}

\begin{equation}\label{eq:BMFLC_testsignal}
s_k=3.5\sin(2\pi f_1 t) + 2.5\cos(2\pi f_2 t)
\end{equation}





8b9dd614e17b7576c72f064e86e4d4ff6c8e8486
ipynb
Jupyter Notebook
4. BMFLC.ipynb
Bjarten/flc-based-filters
4299cc4010f41a52c16770a1e712b2fe2a878dc5
MIT
2019-03-08T02:38:45.000Z
2022-03-18T12:13:26.000Z
4. BMFLC.ipynb
Bjarten/flc-based-filters
4299cc4010f41a52c16770a1e712b2fe2a878dc5
MIT
4. BMFLC.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