# Denoise techniques when clean signal and pure noise is available

I have the clean version of the signal. I can obtain the environmental noise. I want to apply an effective denoising technique on a noisy signal (i.e., clean plus environmental noise). Some observations: The noise to signal ratio is extremely low. The noise is spread across all frequencies in the frequency domain.

Are there any techniques for possibly taking advantage the noise and the clean signal towards denoising the noisy signal?

• I am sure I don't understand correctly, but if you have the clean signal the optimum denoising algorithm surely consists in simply using the clean signal as the "noise reduced" signal. – applesoup Mar 14 '18 at 18:40
• Imagine that I have different classes of clean signals. I know what the signal looks like in each one of them. Before I turn the signal source on I listen for environmental noise. Then the signal source turns on but I don't know which kind of signal it is transmitting. Is there a way to denoise the noisy signal to be able to infer which signal was transmitted? – dr.doom Mar 14 '18 at 21:21

If noise is available and it is sure that noise will remain same/almost same for entire duration then one can go for Spectral Subtraction or Wiener filter techniques for noise reduction, which will take advantage of prior knowledge of noise and clean signal.

I'm not sure I understand the question, but if you have the exact waveform you want to recover, you can basically employ a matched filter to detect the existence of the signal in the acquired data.

This does not really constitute denoising, but if you have full knowledge of the signal and the noise functions, I'm not sure how denoising would be useful, as the best possible denoising would be to just subtract the noise from the function (assuming all noise is additive).

Edit I am not able to comment (not enough reputation) so I'm going to reply here.

Imagine that I have different classes of clean signals. I know what the signal looks like in each one of them. Before I turn the signal source on I listen for environmental noise. Then the signal source turns on but I don't know which kind of signal it is transmitting. Is there a way to denoise the noisy signal to be able to infer which signal was transmitted? – dr.doom 18 hours ago

I'm now very convinced that you are looking for a matched filter. In fact, that's exactly their application.

I don't exactly know how many types of signals you are using for this, but attempt the following:

• Acquire noisy data.
• Cross-correlate your noiseless signals one by one with the retrieved signal.
• Any sharp peak will indicate the presence of your signal in the retrieved data.

Now, there is a possibility that your signals are not orthogonal (that is, they are similar enough that you will measure some correlation for more than one signal), so in that case you should look for the largest correlation, and not just any signal that produces a correlation peak when matched with the data.

If the data is stationary and the noise is white then you should use the Wiener Filter.

If data isn't stationary you should look into the family of adaptive filters (LMS Filter and RLS Filter for starter).