# Normalize the output signal that may be as similar as possible the input

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.

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

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

$$\epsilon=\frac{1}{n}\sum_{k=0}^{n-1}(cy_k-x_k)^2,$$

$$\epsilon=\frac{1}{n}(c^2\sum_{k=0}^{n-1}y_k^2-2c\sum_{k=0}^{n-1}x_ky_k+\sum_{k=0}^{n-1}x_k^2).$$

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

$$c=\frac{\displaystyle\sum_{k=0}^{n-1}x_ky_k}{\displaystyle\sum_{k=0}^{n-1}y_k^2}=\frac{\textbf{xy}'}{\textbf{yy}'}$$

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