MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

# Adding and generation of poisson noise to a time varying signal

Asked by Arsalan on 5 Jan 2013

Hi,

My questions is to do with addition of noise to a predefined signal.

Assume I have predefined a time_varying signal in array A. Now I like to add noise to this signal, I know that my noise follows a poisson process or is poisson in nature, I also know that my noise has a rms value of X.

I just like to know how I can generate and noise this type of noise.

Thanks, Arsalan.

## Products

No products are associated with this question.

Answer by Image Analyst on 5 Jan 2013

What are the values of your signal? Do you know that with values of more than about 10, Poisson noise is well approximated by Gaussian noise? See Wikipedia. So you might be able to use Gaussian noise. If you think that it has the shape of Poisson noise, but the values are a lot more than 10, then you could use log-normal noise.

Arsalan on 6 Jan 2013

You can think of the time varying signal as the electron stream generated from the photodiode in response to a time_varying optical signal, lets just assume that optical time_varying signal is sine wave modulated on an optical carrier which is at a very high frequency.

The simplified conversion between light to a photo current can be presented as

```It=(eta*q*II)/(h*f);
```

where eta, q, h, f are only constants relating to the photodiode and the incoming light stream. II is an array containing the time varying optical signal, and It is the resulting photocurrent.

I can find my RMS shot noise via

```SHOT=sqrt(2*q*eta*Signal_Bandwidth.*ItDc)
```

where ItDC is the mean value of the generated photocurrent.

but now I need to generate an array based on "SHOT" which will represent my shot noise which subsequently will be added to my photocurrent "It". to give my photocurrent+shot noise

Image Analyst on 6 Jan 2013

Well what about the poissrnd function that you said you were going to try (I don't have that)? And you may have a current that is some number of microamps, but an incoming photon gives just a pulse, doesn't it? It doesn't give a continuous stream of current. So you have to model that as a stochastic process. Sure it's a burst of current but it occurs in bursts and each burst is a stochastic event, so you can use rand() or poissrnd (I guess) for determining when the next pulse comes along. That would be a Poisson stochastic process. Now it's been almost 30 years since I took classes in detectors, reasons for their noise, and stochastic optical processes (from Eustace Dereniak, I'm sure you've heard of him), but I thought shot noise was an inherent characteristic of a sparse stream of photons, not something that you could add onto it. But you'd best ask your Professor.

Arsalan on 6 Jan 2013

Thanks Image Analyst, I'll have a better look at the problem.

Arsalan

Answer by Matt J on 5 Jan 2013

If you have the Statistics Toolbox, use POISSRND

## 1 Comment

Arsalan on 6 Jan 2013

Thanks, I have that toolbox, and I shall used it