Say I am trying to measure a exponentially decaying signal ($S_y$), that constitutes a portion $\gamma$ (about 5% so $\gamma=\frac{1}{20}$) of total signal measured($S=S_y+S_b$ and $S_b=S_0 \beta e^{\frac{-t}{C_b}}$ and $S_y=S_0 \gamma e^{\frac{-t}{C_y}}$). Where $\gamma+\beta=1$ and $C_Y$ is about $\frac{1}{4}$ of $C_b$. I want to determine the least Signal-to-Noise Ratio (SNR) needed to be able to discern that signal. The noise in our signal is additive white noise. Should the SNR be $>\gamma=\frac{1}{20}$ or is there a better more formal way to decide the SNR limit? $$S(t)=S_0(\gamma e^{\frac{-t}{C_y}}+\beta e^{\frac{-t}{C_b}}) + n(t)$$

So my question is how do I determine the minimal SNR when I measure signal $S$ over time $t$, but the thing I am interested in is fluctuation (max 10%) in $S_y$. All constants are known to me, however i only know the mean of $C_y$, as it fluctuates and so $S_y$ does too. Thanks for any help. If I need to clarify any details please tell me and I will do so.

  • 1
    $\begingroup$ Do you know anything about the noise in your signal? Is it Gaussian? White? Additive? Multiplicative? $\endgroup$
    – Jason R
    Aug 20, 2013 at 13:05
  • $\begingroup$ Do you mean: $S(t)=S_0(\frac{1}{20}e^{\frac{-t}{C_y}} + \frac{19}{20}e^{\frac{-t}{C_x}})$ (i.e. $+$ rather than multiply) ? $\endgroup$
    – Peter K.
    Aug 20, 2013 at 21:04
  • $\begingroup$ @Jason: Its white noise $\endgroup$
    – Leo
    Aug 21, 2013 at 8:06
  • $\begingroup$ @Peter: Indeed you are right, I meant +. I will correct my original post for both Peters and Jasons comments. thanks $\endgroup$
    – Leo
    Aug 21, 2013 at 8:07
  • 1
    $\begingroup$ I am trying to measure $S_y$ which is $\frac{1}{20}$ of the signal. I measure signal $S$ over time $t$ and all constants are known to me. However I need to be able to measure fluctuations in $S_y$ so my SNR needs to be low enough. My question is how to determine the appropriate SNR to be able to measure differences in $S_y$, which constitutes 5% of $S$. A rough estimate of fluctuation in $S_y$ is about 10%. $\endgroup$
    – Leo
    Aug 21, 2013 at 13:38

1 Answer 1


This is a work-in-progress until more information is added to the question.

First, I'm assuming that you know the magnitudes of your decaying exponentials, but you don't know their time constants (either $C_x$ or $C_y$) or your signal level $S_0$.

Second, you say that there is Gaussian noise, but not whether it's additive. I'm going to assume it's additive. That means your signal is really:

$$ S(t)=S_0(\frac{1}{20}e^{\frac{-t}{C_y}}+\frac{19}{20}e^{\frac{-t}{C_x}}) + n(t) $$

where $n(t)$ is additive, white, Gaussian noise with zero mean and variance $\sigma^2$.

Then, to set up the problem, we need to postulate the estimated values of $\hat{C}_x$, $\hat{C}_y$, $\hat{S}_0$, and $\sigma^2$ in $\hat{S}(t)$:

$$ \hat{S}(t; \hat{C}_x, \hat{C}_y, \hat{S}_0)=\hat{S}_0(\frac{1}{20}e^{\frac{-t}{\hat{C}_y}}+\frac{19}{20}e^{\frac{-t}{\hat{C}_x}}) $$

Then a least squares approach to solving it would define the error, $E$, as:

$$ E(\hat{C}_x, \hat{C}_y, \hat{S}_0) = \int_{I} \left| S(t) - \hat{S(t)}\right|^2 dt $$

where $I$ is your time interval of interest, and minimize this with respect to $\hat{C}_x$, $\hat{C}_y$, and $\hat{S}_0$.

I interpret your question as asking: what value $\frac{S_0^2}{\sigma^2}$ does this work over?

The answer is: it depends on what you mean by "work". You can get an estimate for any noise level. The question is, what error can you tolerate in that estimate. Also, it will depend somewhat on your integration length ($I$).


OK, I see you've changed notation so it's $C_b$ and $C_y$ now.

I've written a short scilab script to try to see how things change with noise level. I've assumed EVERYTHING is precisely known except the $C_y$ parameter.

The error in estimating the parameter versus the value of $\sigma$ is shown in the plot below. Code below generates it.

enter image description here

 S0 = 1;
 Cb = 201;
 Cy = 100;
 sigma = 0.1;
 mb = 1/20;
 my = 19/20;

 Sb = mb*exp(-t/Cb);
 Sy = my*exp(-t/Cy);


 ERRORS = [];
 sigmaRange = [0.0 0.1 0.2 0.5 1 2 5 10];
 for sigma=sigmaRange,
 CyhatRange = 90:.01:110;
 NRuns = 100;
 for n=1:NRuns
     S = S0*(Sb + Sy) + sigma*rand(1,T,'normal');

     ERR= [];
     for Cyhat = CyhatRange,
         S_hat = S0*(Sb + my*exp(-t/Cyhat))

         ERR = [ERR; sum((S-S_hat).^2)];

     [mx,ix] = min(ERR);

     CyhatEst = CyhatRange(ix);
     estimates = [estimates; CyhatEst];



 ERRORS = [ERRORS; mean((estimates-Cy).^2)];

  • $\begingroup$ Thanks for your help. Your assumptions on the noise are correct. I will add it to the post. $\endgroup$
    – Leo
    Aug 21, 2013 at 15:20
  • $\begingroup$ Yes sorry I added $\gamma$ and $\beta$ to make the question more generic, so I changed $C_x$ to $C_b$ to make it more readable. Wow thanks for your help. Your assumption about the parameters being known is correct. Now for how to use this: I should determine the tolerable error for my measurement and then use your explanation to decide on the SNR? $\endgroup$
    – Leo
    Aug 23, 2013 at 9:39
  • $\begingroup$ Well, based on the plot, it looks like you need to have $\sigma$ less than $1$ for $S_0 = 1$. The error really gets big after that, and "saturates". $\endgroup$
    – Peter K.
    Aug 23, 2013 at 12:14

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.