I have a question about modeling sky noise which should be filtered by a spatial filter 4f system. My approach for this task is to use a 2D array with random amplitude values and another 2D array that simulates different phases based on the directional cosine of a plane wave. So my code should create a 2D array where each element is a different plane wave with a different amplitude and direction of propagation. These plane waves should hit the aperture of the first lens of the spatial filter at different angles at different positions (so that they are focused on different positions in the Fourier plane).

This is my approach:

$$ Noise(x,y) = A(x,y)\cdot e^{-i(k_xx + k_yy)} $$ Where: $$ k_x = \frac{2\pi}{\lambda_0}cos(\alpha(x,y)) \\ k_y = \frac{2\pi}{\lambda_0}cos(\beta(x,y)) $$

My question here is: Is my approach right, or did I miss something here?

Edit: I want to use this noise 2D array for a spatial filtering siumlation of a 4f system by using Fourier optics, and my initial field has a Gaussian field distribution superimposed with noise. The goal is to see how much noise is filtered after the system, when diffraction is taken into account. But at the moment I'm not sure how I can simulate the noise that should represent sky noise.

Here is also an image of the problem that I want to simulate (Taken from: Gruneisen, Adaptive spatial filtering of daytime sky noise in a satellite quantum key distribution downlink receiver, Optical Engineering 55(2), 026104 (2. February 2016))

Spatial filtering of sky noise

Thanks in advance!

  • $\begingroup$ Hi! this look interesting but it's not really clear to me. What is a "noise field"? .. and the 2D arrays: are they physical or just a feature of your code? Maybe you should try to write down what you are constructing by using mathematical symbols: otherwise (i.e. without knowing your precise goal), it's difficult to say if "your approach is right".. $\endgroup$
    – Quillo
    Oct 16, 2020 at 17:38
  • $\begingroup$ @Quillo good point, thanks for the hint! So the goal of my simulation is to simulate an initial gaussian field which propagates through a spatial filter, and I want to add some noise to the initial field. I would like to add this noise as another field to my initial field (for this reason "noise field"). The purpose of my code is to simulate how good a spatial filter can filter sky noise by limiting the field of view of the system. In other words my "noise field" should simulate all the photons from the sky that have a high angular spectrum. $\endgroup$
    – Nabla94
    Oct 16, 2020 at 17:58
  • $\begingroup$ So, your "fields" live in the plane and are independent on time? Moreover: you are mentioning the "sky noise": in this case what you are doing seems strange to me, because (I suppose) the 2D domain in which the $(x,y)$ variables live is the "plane of the camera of the telescope", so the photons should hit it in some points from the "z-direction"... Note: as many here, I am not an astronomer, so sorry if I misunderstood completely.. however, I do not understand what $A(x,y)$ represents: for sure it cannot be a photon hitting the $(x,y)$ plane. $\endgroup$
    – Quillo
    Oct 16, 2020 at 18:08
  • $\begingroup$ So, in practice you just want to create a certain scalar function $f(x,y)$ with a sum of plane waves of the kind $\sim e^{i k_x x + i k_y y}$ that looks random (i.e. has many valleys and hills with a complex geometry).. right? $\endgroup$
    – Quillo
    Oct 16, 2020 at 18:12
  • $\begingroup$ @Quillo yes that is correct, that is what I want to do. So I think that I have many photons hitting the apature of the first lens of my spatial filter under different angles. The random amplitude A(x,y) should represent different intensities (since there are maybe more than one photon hitting one point in the aperture plane of te first lens). $\endgroup$
    – Nabla94
    Oct 16, 2020 at 19:35

1 Answer 1


Welcome to Physics SE!

First step: have you checked the literature? I saw some interesting stuff with a quick Google search. Compare the data and approaches to your own. If yours is good/reasonable, only experiment can tell. Gaussian noise, however, is a common standard. As far as I know, your approach seems to be fair enough. If I were going to model sky noise in the simplest naive physicist-appealed way, I'd use the Rayleigh distribution, since (1) it is almost equivalent to Maxwell-Boltzmann, (2) It is related to distance distributions (density of gas molecules in the atmosphere, which correlate with scattering intensities) and (3) people actually use it in wind-speed modelling. Obviously related is Rayleigh sky model.

In any case, I strongly suggest working with some real-world data. Perhaps try to fit your parameters (essentialy alpha, beta and lambda_0 (?)) via, I don't know, simple linear regression methods? Maybe you'll actually find that the fit is superfluous: uniformly distributed random parameters might do the job already for a statistically relevant dataset.

A nice thing to do would be training a Neural Network to find optimal parameter distribution. Could be accurate but hard to interpretate. Check this Kaggle competition, you'll probably find a good model already, plus the always nice discussions.

  • 1
    $\begingroup$ Hey, thanks for the great hints, I think this will help me a lot! I have already tried to find relevant literature, such as papers on how to simulate sky noise. But so far I couldn't find anything helpful where I can be sure that it fits to my problem. I have already implemented this approach in my code for the spatial filter simulation (which works very well for a Gaussian field), but I couldn't trust the result because about 98% of the noise is filtered in any case (even if you remove the pinhhole in the Fourier plane). And that's why I had my doubts that this approach was right. $\endgroup$
    – Nabla94
    Oct 16, 2020 at 22:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.