Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How can we estimate the standard deviation of noise in this mixture?

Status
Not open for further replies.

Dmitrij

Advanced Member level 4
Full Member level 1
Joined
Jul 14, 2007
Messages
101
Helped
18
Reputation
36
Reaction score
6
Trophy points
1,298
Activity points
2,302
My question is the following. Very often we need to process the additive mixture of the useful signal and harmful noise. Imagine, nothing is known about noise (it's variance, power spectral density).

My question is: how can we estimate the standard deviation of noise in this mixture (the expression for computing std)?

With respect,

Dmitrij
 

Estimation of Std

Hi,

In any signal processing algorithm we involve two kind of signals, the desired signal and an undesired signal (noise and interference). the main things that make it possible to separate signal and noise are their different natures.
in some scenarios the signal have finite alphabet (known or unknown). in a simpler ones the signal is band limited. in some other applications we may receive multiple replica of the signal and noise.
so, the answer to this question is "it depends on the application". the question is "in what scenario do you want to estimate std?"
but if you want to study this problem without exploiting the different nature of signal and noise you are getting nowhere. remember that addition is a lossy operator. when the result of addition is 6 you may guess it was 2+4, or maybe 1+5. who knows without farther information?

regards
 
Re: Estimation of Std

Perhabs, you're right, concerning the preliminary knoledge about the noise internal structure. However, can you suggest any formula of std estimation which uses the parameters of noise? I'm sure, such formula, maybe not accurate but approximate, must exist, because the proble, i've collided with, very actually arises in signal processing algorithms.

Please, offer any formula. I'll be grateful for you.

With respect,

Dmitrij
 

Estimation of Std

sorry, but what's '' STD estimation''?
10x
 

Estimation of Std

Hi,

Std (Standard deviation)

Let's have an examples.

The scenario is std estimation of noise when a band limited signal with known PSD (e.g. any modulated signal) is corrupted in by white (or colored) Gaussian noise. in this simple example one way to estimate the std. of noise is to first obtain the sample autocorrelation function of rceived signal and then calculate PSD of signal. knowing the fact that the PSD of received signal is the sum of PSD of desired signal and the PSD of noise (of cource if they are independent) so by subtracting the sample PSD of received signal with the known PSD of desired signal an estimation of the PSD of noise is obtained. now, with the estimated PSD of noise you can obtain many noise parameters like variance (the under curve aria of PSD). bandwidth of noise, and so on.

there are many elegant noise parameters estimation algorithms where used in other scenarios like finite alphabet data transmission, MIMO cases and etc.

hope this will help you.
 

Re: Estimation of Std

This idea of subtracting the PSD of the desired signal from the PSD of mixture (signal+noise) is suitable only when we know exactly the model of signal. However, in nreal practical tasks the positive signal is known, because it's contaminated by noise. That's why I simply don't know what the "desired signal" means. So this approach may be not useful and effective here.

With respect,

Dmitrij
 

Re: Estimation of Std

10x for your answers ,
but plz one other question, i like to compare some estimators and their performance if our signal is corepted by an additive gaussien noise, can i use the std? or can you advice me some technique for this!!!

really thanks

best regards

PS: in my case, i have the real signal and the signal correpted by noise
 

Re: Estimation of Std

Well, the effectiveness of denoising technique must be attentively estmated by special criterions. In general they allow us to conclude, whether the studied algorithm is suitable for concrete class of signals (or single signal) or not. I use the following criterions:

1) SNR - signal-noise ratio. There is a numerous amount of ways for computing SNR. Most often it's done by division of maximum absolute value of the signal to the std of noise. If necessary, it may be transformed in dB:

SNR = max{abs(s(t))} / std (n(t))

2) RMSE - Root Mean Squared Error. This characteristic uses Euclidean distance in order to comare the results of the initial original signal and the same signal after noise including and subsequent denoising:

RMSE = {s(t) - s'(t)}^2, where s(t) - initial signal, s'(t) - signal after denoising

3) MAE - Maximum absolute error

MAE = max {abs(s(t)-s'(t))}

These expressions are the main ones, widespread in denoising techniques. Of course, much more of them exist. But either I'm not aware of them, or they are too sprecific and are not convenient for all signals.

With respect,

Dmitrij
 

Re: Estimation of Std

Dmitrij,

thanks ( unfortunatelly i can't push the button '' helped me '' :D ),

So, to compare between different estimators ; can I plot SNR via MSE, or aloso SNR via RMSE.?

and about SNR, can we expresse it like this : SNR =Power (s(t)) / Power (n(t)) ? and if it's correct, is this expression equevalente to yours?

thansk again,

best regards
 

Re: Estimation of Std

My dear friend, as I've written in the previous message, SNR may be defined in many ways and neither of the existed expressions is abolished today. However, the most common form of expressing SNR is the one I've introduced:

SNR = max{abs(s(t))} / std (n(t)).

Concerning your suggestion Power (s(t)) / Power (n(t)) I think it's also possible. But you must check up, that the values in the numerator and denominator are measured in the same scale, otherwise the sense of such operation will be lost. And how are going to evaluate Power (s(t)) and Power (n(t))? Write your ideas and I'll give you my advice.

Your 1st question is abit confusing for me. You must understand that various criterions, which i've mentioned, may be used simultaneously to estimate the effectiveness of denoising procedure. There is no need in comparing them. They were invented, because in different cases one may be more preferable than the other.

You may, for example, plot the dependence of SNR of the input signal and SNR of the same signal after denoising. For this, of course, you should choose the parameter (it dependes on the algorythm), which will be changing. After getting this dependence, you may analyze it.

With respect,

Dmitrij
 

Re: Estimation of Std

Hey,
thanks for your answer , I really appreciate

So, okkk, i'll use SNR = max{abs(s(t))} / std (n(t)).:D

and for evaluating the power of (s(t)) and Power (n(t)): I have s(t), and i creat an additive gaussiane noise by Matlab imnoise(...) , so if we call J the signal correpted by noise J=imnoise(...), and then n(t)=J(t)-s(t), and then i can evaluat the power of n(t).

for my question , i thougth that i can compare the performe of 12 estimators by ploting SNR / Error ?

Best regards

Nabil
 

Re: Estimation of Std

Frankly speaking, I can't understand exactly what you mean. Try again to revise attentively everything written by me, perhaps, you'll get rid of misunderstanding. My comment is that SNR and other denoising criterions are used in order to estimate the effectiveness of the procedure, which is applied to contaminated signal. The more SNR is, the better is the result of denoising. The same situation may be observed if evaluating RMSE and MAE.

With respect,

Dmitrij
 

Re: Estimation of Std

hi dear friend,

My mistake , I'm sorry , I misunderstood you, but now it's ok, thanks

the only pb is that i have to review my matlab code, because I used the matlab function ''imnoise'' to add an additive gaussian noise, and to change the value of the SNR I change the value ''q'' where; signal correpted with noise=imnoise(sig/q)., and when i evalueted the value of SNR (either with the two definition) it makes no sens, (for example (SNR, MSE) = (3,9),(4,10),(5,6),(6,6),(7,11),(8,3)...

best regards

nabil
 

Re: Estimation of Std

Well, I'm quite happy, that you've solved your problems. Nevertheless, if any problems arise immeadiately let me know and i'll help. As far as you know I'm in Germany now on the 7th Russian-Open Workshop. So there may be small delays in my answerings.

Besides, use wgn and gwn functions in Matlab in order to generate additive gaussian noise. One of these functions in in the kernel already, whereas the other should be obtained from Wavelab implementation. It's free and available in the Internet.

With respect,

Dmitrij
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top