I have a current signal represented by an array in python, which I would like to add shot noise to. Shot noise is defined as
$$
σ_i = \sqrt{2qI \Delta f}
$$
where $q$ is the elementary charge, $I$ the current and $\Delta f$ is the bandwidth of interest. I guess the simplest way to add the noise would be to to add it in the time domain, using the np.random.normal
function in python and simply adding it element-wise to the signal array. The frequency is needed to calculate the shot noise, so I would calculate $\Delta f = \frac{1}{2\Delta t}$ where $\Delta t$ is the time between two consecutive samples in the array (correct me if I'm wrong!).
My question is, how can I add this noise in the frequency domain? I would expect to be able to express the shot noise in $\frac{A}{\sqrt{Hz}}$, and therefore make the magnitude independent of the frequency. This post explains the relationship of the magnitude of white noise in time and frequency domain, but if I use that simple equation ($\frac{\sigma^2 M}{2}$ ) it doesn't become independent on the frequency.
Thank you in advance!