# Which domain used for denoising additive and multiplicative noises

I want to know what is the difference between additive noise, multiplicative noise.. In what domain these noises are handled to remove?

I am interested particularly in image dataset

Does different domains are used in case of satellite imaging where noise due to reflection of frequencies is statistically independent?

I want to know what is the difference between additive noise, multiplicative noise.. In what domain these noises are handled to remove?

Additive noise and multiplicative noise are just models of how noise corrupts our data.

One very common model is the additive noise model, where we have our 'true' data vector $s[n]$, (which we are trying to ascertain), being corrupted by a noise vector, $v[n]$. What we are given, is $x[n]$, where:

$$x[n] = s[n] + v[n]$$

This is called the 'additive' noise model, because as you can see, noise is added to our true signal, giving us $x[n]$. There are many ways in which we can remove this noise in an additive model, such as filtering, (which is a form of averaging if you like). This is a very common type of noise model. If I am talking, and you are talking over me, your voice can be modeled as additive to my voice. You voice would be additive 'noise', that is added to my voice, which in this vain example is the 'true' signal, (although this would be disputed in a heated argument between two people). In a more objective example, thermal noise from a microphone's electronics can also be modeled as an additive noise, which is added to a voice signal that it has received. Many things can be modeled as additive types of noises.

Multiplicative noise on the other hand is still a model, but in this model our true data samples are being multiplied by noise samples, like so:

$$x[n] = s[n]v[n]$$

One common way to remove multiplicative noise is to actually transform it into an additive model, and then apply everything we know from the additive noise reduction field. We can do this easily via taking the logarithm of the signal, filtering, then inverse log transform. Thus we can do:

$$x[n] = s[n]v[n] \implies \log(x[n]) = \log(s[n]v[n]) = \log(s[n]) + \log(v[n])$$

At this point we have an additive model once more. Now, we can filter as we normally might, to remove or reduce $\log(v[n])$, and then simply take $\log^{-1}$ of the result, yielding an estimate of $s[n]$, our true signal.

I am interested particularly in image dataset

One example of multiplicative noise is in illumination differences between images, which is solved in the above way. The non-uniform illumination across an image can be modeled as a pixel-by-pixel multiplication of the image by an illumination mask. This is also known as homomorphic filtering by the way. Anytime you can model a corrupting phenomenon as multiplying your clean data signal, you can use this multiplicative model.

The answer given by user4619 is pretty good. I have some extra comments.

Probably the most common source of additive noise is thermal noise, but external sources are often modeled as additive noise - usually noise is meant to be purely random, but depending on your definition of noise it may also represent deterministic signals.

In the additive noise case you can increase the signal level and get an improvement in the Signal to Noise Ratio (SNR). In multiplicative noise increase the signal (desired) signal power does get you anything in terms of signal power because the noise power is proportional to the signal power.

Some examples of multiplicative noise:

1. In radar imagery speckle noise is often modeled as multiplicative
2. Phase noise in A/D convertors. Phase noise affects the timing of the actual sample acquisition and produces timing jitter
3. In Sonar systems Reverberation is a multiplicative problem. Increasing the sound level of the source results in increased reverberation levels as well

Additive noise is normally handled by looking at linear transforms into a space in which the signal and the noise are separated. This could be in frequency domain, wavelet domain, or a subspace defined by eigenvectors (These are just some examples). Once you've found this space the noise is removed by a simple filtering operation.

Multiplicative noise can sometimes be handled in the same manner, but it depends. For example - in the case of speckle noise in radar imagery normal filters (band pass, low pass, high pass) don't work very well - median filters tend to work better (There are lots of other approaches though). Note that the median filter is non-linear - it uses order statistics.

So for multiplicative noise you may be looking at a non-linear transform (see the log() operation user4619 mentioned) and then some linear/non0linear operations, or you may just try a non-linear operation e.g. the median filter.