I'm having a problem to normalize my output signal (extracted EEG signal) after applying Independent Component Analysis (ICA) that may be as similar as the original source (EEG signal). I need do this work to subtract and determine noises. I simulate it on Matlab. Could you help me solve this problem, please? Thank you a lot.

  • $\begingroup$ When you say normalize, do you mean multiply by a constant or what? $\endgroup$
    – Royi
    Jun 9, 2023 at 9:50

1 Answer 1


From your description, you have an original (real-valued) signal and a processed (real-valued) signal, and now you want to normalize the processed signal by multiplying it with a scaling constant, so that the normalized signal is "as similar as the original signal".

Denote the original (discrete) signal by a row vector $\textbf{x}=[x_0, x_1, ... x_{n-1}]$, the processed signal by a row vector $\textbf{y}=[y_0, y_1, ... y_{n-1}]$, and the scaling constant by $c$, where $c$ is to be determined.

The scaling constant $c$ can be optimized so that the mean-squared error (MSE) between $\textbf{x}$ and $c\textbf{y}$ is minimized. The MSE is



To minimize the MSE, let $\frac{d\epsilon}{dc}=0$. This finally yields an optimum value of $c$,


where $\text{y}'$ is the transpose of $\textbf{y}$.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.