1 Introduction

The Fresnel Imager is a concept of space-based telescope yielding high angular resolution and -on sparse sources- high photometric dynamic range. It involves two satellites flying in formation: one holds a “Fresnel Array”, the second one is the “focal module”. A Fresnel array is a foil punched with thousands of holes disposed so that if some light comes from a target, a constructive interference can occur at the so-called ‘focus’ of the Fresnel array, yielding to an image with high angular resolution and potentially high dynamic range, but also highly (longitudinally) chromatically dispersed. The “focal module” holds a pupil optical element, an optical device which will correct the chromatism, and the focal instrument. Detailed presentations of the Fresnel Imager concept can be found in Koechlin et al. [1, 2].

The Instrument Numerical Model (INM) computes the Point Spread Function (PSF) of the Fresnel Imager by proceeding to plane-to-plane Fresnel propagation, taking into account the optical elements from the Fresnel array to the achromatised focal plane (Section 2). It computes the minimal sizes of the optical elements, takes care of the sampling issues, and has been written to be able to handle various Fresnel Imager dimensionings (Section 3). Finally, its outcomes have been compared to some of the results obtained by the so-called “Generation I” prototype, which features all the elements consituting a Fresnel Imager but in reduced size (8 cm aperture), and is used to estimate the performances on various instrument configurations (Section 4).

2 Principles

As can be seen on Fig. 1, the optical train involves:

  • five optical elements: the Fresnel Array, a field optical element (considered achromatic), a mask which blocks the order zero of interference, the blazed Fresnel zone lens which corrects for the chromatism (introduced in the first article of this Experimental Astronomy “Fresnel Imager” special issue and described in Serre et al. [3]), and an optical element making the beam converge (considered achromatic);

  • four propagations.

The ‘element’ which is propagated through the whole optical train is a wavefront, numerically described as a regularly sampled matrix of complex values. The optical elements are considered as phase or amplitude masks, and the propagation from plane to plane is performed using Fresnel propagation. The whole computation can be executed for only one wavelength at a time.

Fig. 1
figure 1

Optical scheme assumed in the Fresnel Imager INM (not to scale): a function \(\underline{\psi}_{x_0,y_0}\) first the wavefront on plane 0 (where the Fresnel Array is). The planes to where Fresnel propagations are performed and where some optical elements are placed, are: plane 1 (achromatic field lens), plane 2–3 (zero-order mask, plane 2 being without the mask and plane 3 being with the mask set), plane 4–5 (Fresnel Zone Lens and image reforming optical element, considered in the same plane; plane 4 is without the optical elements and plane 5 is with the optical elements), and plane 6: achromatized image plane. In a space-borne configuration, plane 0 would stand on the first satellite, and planes 1 to 6 on the second one

2.1 Fresnel propagation

Assuming \(\underline{\psi}_{x_1,y_1}\) and \(\underline{\psi}_{x_2,y_2}\) describe the wavefront on two planes 1 and 2 separated by a distance d 12, the Fresnel propagation can be written:

$$ \underline{\psi}_{x_2,y_2} = \frac{e^{i\frac{2\pi d_{12}}{\lambda}}}{i \lambda d_{12}} e^{i\frac{2\pi}{\lambda} \frac{{x_2}^2 + {y_2}^2}{2d_{12}}} \int \int { \underline{\psi}_{x_1,y_1} e^{-i\frac{2\pi}{\lambda} \frac{x_2\,x_1 + y_2\,y_1}{d_{12}}} e^{i\frac{2\pi}{\lambda} \frac{{x_1}^2 + {y_1}^2}{2d_{12}}} dx_1 \, dy_1} $$
(1)

Therefore, starting from a wavefront described by \(\underline{\psi}_{x_1,y_1}\), the Fresnel propagation an be split into three stages:

  • a quadratic phase addition: \(e^{i\frac{2\pi}{\lambda} \frac{{x_1}^2 + {y_1}^2}{2d_{12}}}\)

  • a Fourier transform: \(\int \int { e^{-i\frac{2\pi}{\lambda} \frac{x_2\,x_1 + y_2\,y_1}{d_{12}}} dx_1 \, dy_1}\)

  • and another quadratic phase addition: \(e^{i\frac{2\pi}{\lambda} \frac{{x_2}^2 + {y_2}^2}{2d_{12}}}\)

\(\frac{e^{i\frac{2\pi d_{12}}{\lambda}}}{i \lambda d_{12}}\) simply introduces a piston term and thus can be ignored.

2.2 Optical elements

The optical elements are considered as phase and/or amplitude masks.

Achromatic optical element

The achromatic optical elements are considered as being thin lenses, represented by phase masks with a finite support. Therefore they simply add a quadratic phase: assuming \(\underline{\psi}_{x,y}\) describes the wavefront, \(\underline{\psi}_{x,y}\) is modified such as:

$$ \underline{\psi}_{x,y} \Leftarrow \underline{\psi}_{x,y}\, e^{i\frac{2\pi}{\lambda} \frac{{x}^2 + {y}^2}{2f}} $$
(2)

with f the focal distance of the thin lens, and values beyond the lens edges being set to 0. Note that using (2) assumes ‘simple’ lens, i.e. a lens which should be used in infinite-finite conjugation, and obviously without asphericity: this means that we consider sufficiently high f-number in our system so that the optical quality at the final image plane will not be decreased by this assumption.

Chromatic optical element

For the non-binary chromatic optical element, i.e. the Fresnel Zone Lens (FZL) in plane 5, the user can choose either to consider a FZL blazed for any wavelengths or a ‘real’ FZL: in the first case the program uses (2) with a focal distance made proportional to \(\frac{1}{\lambda}\) instead of being independent of the wavelength, and in the second case the program reads an ascii file in which is described the physical profile of the FZL: depth as a function of the distance to the center. In this case, the program converts this information to a phase shift assuming:

$$ \underline{\psi}_{x,y} \Leftarrow \underline{\psi}_{x,y} \,e^{i\frac{2\pi}{\lambda} d_{x,y}\,(n-1)} $$
(3)

with d x, y the depth of the profile to an arbitrary plane orthogonal to the optical axis, and n the refractive index of the material in which the FZL is built. Detailed explanations of why this type of optical element can correct the chromatism, about the obtention of this profile, and discussions on the efficiency of this type of FZL can be found in Serre et al. [3], Faklis and Morris [4, 5].

Binary masks

A binary mask, whether it is the Fresnel array in itself, the zero-order mask, or the physically finite dimension of the optical elements, is simply simulated by setting the amplitude of \(\underline{\psi}_{x,y}\) of the concerned regions to 0.

2.3 Additional remarks

Apart from setting some amplitudes to 0 where there are some masks in the beam, the INM doesn’t deal with the transmissions of the optical elements: i.e. a lens will transmit 100% of the energy that will fall on it.

Also, we emphasize that we assume a sequential optical system: back- and multi-reflections, and the associated straylight, cannot be seen by the INM.

Finally, the use of simple Fourier transform (Fraunhofer propagation) is not sufficient, even for the Fresnel Array itself: as there are a number of Fresnel zones involved, the (chromatic) focal plane cannot be considered at an ‘infinite’ distance from the Fresnel array.

3 Implementation

What is presented in Section 2 is applied in the INM, but using sampled versions the wavefront (matrices), FFT algorithms, and computers with finite performances, there are a certain number of issues that must be considered.

3.1 FFT algorithm, quantity of RAM issues, and oversampling factor

As we use the Cooley–Tukey FFT algorithm, the size of the matrices which describe the wavefront at a given plane must be a power of 2 when computing the FFT, therefore one could think that only matrices with sizes 4,0962, 8,1922, 16,3842... pixels can be used. But as the 2D FFT first computes the FFT along one dimension (let’s assume the rows) and then computes the FFT of the resulting matrix along the columns, an optimization of the memory space can be performed and has been implemented:

  1. (a)

    the size of the (square) matrix nbpts user is set by the user under two constraints: on the one hand, sampling constraints (Section 3.3) which impose a minimal size, and on the other hand RAM capacity of the computer that is used. The linear matrix size doesn’t have to be a power of two (simply must be even), and the smallest it will be, the fastest the computation will be done;

  2. (b)

    the 2D FFT is split into two steps: first step: FFT of the original matrix along the rows, second step: FFT of the computed matrix along the columns;

  3. (c)

    in each of those two steps, the FFT are performed on some vectors and not matrices:

    • the nbpts user pixels are copied into a vector of length nbpts (nbpts = one of the power of 2 greater than nbpts user), and the (nbpts − nbpts user) other pixels are set to zero (zero padding);

    • the FFT is performed on this vector;

    • after recentering of the obtained vector, only the nbpts user central pixels are copied back in the original 2D matrix;

  4. (d)

    applying this principle along all the rows, and then along all the columns, permit to have a matrix stored in the computer memory whose size is not a power of 2.

Therefore, the size of the matrices in number of pixels is not constrained by an hypothetic need to be a power of 2 but by sampling requirements and quantity of RAM available. The ratio \(\frac{nb{\kern-2pt}pts}{nb{\kern-2pt}pts_{\rm user}}\) is called s, the oversampling factor (s ≥ 1).

Moreover, to optimize the RAM use, only one matrix is stored and propagated through the whole algorithm: therefore an additional constraint of the INM is that the number of pixels will be the same in all the planes.

3.2 Sizes of fields of view

The physical dimension represented by the matrix in a plane in which the wavefront state is computed is constrained by a minimal value: at least the physical size of the beam must be englobed.

On the other hand, numerically, the physical size of a plane 2 following a plane 1 is not arbitrary: their dimensions are linked by the relation:

$$ c_2 = nb{\kern-2pt}pts_{\rm user} \, \frac{\lambda d_{12}}{c_1} \frac{1}{s_1} $$
(4)

with c 1 and c 2 the physical dimensions of the fields 1 and 2, d 12 still being the distance between the planes, and s 1 being the oversampling factor presented in Section 3.1 and applied during the FFT.

Therefore, the physical size of a given plane is inversely proportional to the physical size of the previous plane, and can be adjusted using an optimal oversampling factor. This oversampling factor doesn’t need to be the same for the four Fresnel propagations presented in Section 2.

3.3 Sampling issues

Each time a phase is added to that of a wavefront, the algorithm must make sure that there are at least two pixels of the matrix each time a phase shift of 2π is added when applying (1) and (2).

Therefore, a minimal number of pixels is the matrix describing a wavefront will be set by the sampling constraints.

3.4 Multithreading

Looking at Section 3.1, it seems natural to implement a multithreaded algorithm, which we have done: each of the p processors involved compute \(\frac{nb{\kern-2pt}pts_{\rm user}}{p}\) 1D FFT, first along the rows and then along the columns. Note that the processors therefore need to be able to access the same memory space: in the second step of Section 3.1, when the FFT is done along the columns, each column has been obtained by combining 1 pixel of each row, therefore by combining some results from all the processors. Not also that there is a need to have ‘wait’ functions, so that none of the processor start the computations along the columns before all the FFTs along the rows have been computed.

We have implemented the multithreading by using the pthread (POSIX threads) library. Gains turned out to be more than 45% in execution time when using the two cores of a processor instead of only one, but the improvement should get more and more marginal with the number of processors or cores, because there is still a need for the processors to use the same memory access.

3.5 Summary

The constraints are summarized in Table 1. In the Fresnel Imager INM, the first half of the code (as written in the ‘main’ function, not for execution time) computes all the minimal and maximal sizes of the planes, the associated oversampling factors, for the different combinations possible estimates the expected execution time by running benches on the computer, and finally chooses the solution with the shortest execution time.

Table 1 Constraints on the matrix size

3.6 Additional information

The user has to give the dimension of the Fresnel array, the distance between the Fresnel array and the field optical element, the diameter of this field optical element, and the focal length of the image reforming optical element. From those information, the INM computes what are the physical distances between the field optical element and the zero-order mask, between the zero-order mask and the FZL, and the image reforming optical element and the focal plane. It also computes what is the physical size of the FZL, and the size of the beam on the zero-order mask plane.

If the sampling is not sufficient, the focal distance of the image reforming optical element too small, the number of pixels in the matrix not sufficient... the INM stops and indicates it, often providing an indication of by how much it is insufficient.

At the end of each computation for a given wavelength, an additional matrix stores the intensity computed in the ‘central region’ of the final focal plane (plane 6 in Fig. 1). The size (in pixels) of this ‘central region’ is defined by the user, and should be set to the size of the field of view. If the user has asked for several wavelengths, the nbpts user*nbpts user matrix is re-used for the ‘new’ wavelength, and therefore any information about the previous wavelength is lost, except for this matrix which saves the intensity only: the values of the pixels of this matrix are in fact incremented each time the computation at a wavelength has been performed (increment potentially scaled if the user has also provided a source spectrum). As a result, after the propagations for all the wavelengths have been computed, this matrix is the ‘broadband’ intensity at the focal plane, provided that the spectral sampling is sufficient 1) with respect to the source spectrum and 2) with respect to the fulfillment of the underlying assumption that in the resulting field of view, and considering PSF(λ 1) and PSF(λ 2) being computed by the INM, PSF(λ 1) and PSF(λ 2) are of sufficiently close shape so that any intermediate wavelength would have its PSF which could be linearly interpolated from those two PSFs.

In Section 3.1, we have explained that after each 1D FFT, some of the pixels (those which are not re-copied in the main matrix) are simply erased: but note that the INM increments a value each time with the quantity of energy lost during the computation, so at the end of the computation it can know which fraction of the energy has been lost during the whole process.

4 Examples of results

4.1 Validation: PSF shape and dynamic range

We have validated the Fresnel Imager Instrument Numerical Model by comparing its results with the optical results from the ‘Generation I’ prototype. On Fig. 2 can be seen the comparison between the INM result and the image actually obtained by the CCD camera placed at the achromatic focal plane. Detailed results of the ‘Generation I’ prototype can be read in Serre et al. [3] and in the other article by Serre in this Experimental Astronomy “Fresnel Imager” special issue.

Fig. 2
figure 2

The image on the left, simply dark-substracted, has been obtained with the ‘Generation I’ prototype, the observed source being a monomode fiber illuminated by a LED. The image on the right is the PSF from the INM, taking all the optical elements and the spectrum of the source into account. The commissioned jigsaw profile of the FZL has been used in the simulation. The two images are highly saturated with the same thresholds, in order to show the faint levels of the PSF: one can see the same patterns on the two images, even if a diffraction spike probably due to additional defaults in the real prototype can be seen on the acquired image, as well as a slight shadow at the bottom of the image due to the secondary mirror of the (diaphragmed) Maksutov telescope used as field lens. The mean photometric dynamic ranges are comparable in the simulated and measured PSFs: 1.10 − 6 in the delimitation shown on the right figure, 2.10 − 6 on the corresponding region on the acquired image. This comparison validates the numerical simulation tools, which can be used to predict what can be expected with larger arrays

4.2 Off-axis source

Figure 3 illustrates the capability to compute the result for off-axis sources, as well as the fact that diffraction due to diaphragmed beam is naturally taken into account by the INM.

Fig. 3
figure 3

For a source placed off-axis and at a wavelength not focussed on the field optical element, two intermediate images of the INM computations are shown: 1 the first one on the plane of the field optical element, showing the defocus of the beam and the fact that a part of the ‘central core’ of the beam is diaphragmed by the finite diameter of the field lens because of the source being off-axis; 2 the second one the achromatic focal plane, showing the fact that the PSF is not defocussed anymore (the achromatisation actually works), that the zero-order mask does not hide the order zero anymore for this source (because the source is off axis), and that due to the diaphragm of the beam previously mentioned a spike toward the center of the FoV can be seen. The intensity is displayed in logarithmic scale

4.3 Apodisation

Figure 4 presents some results obtained with a 600 zones apodized orthogonal Fresnel array. The apodization was obtained by gradually diminishing the size of the individual rectangular apertures from the center to the edges, w.r.t. their maximal (non apodized) dimensions. Along x, the linear dimension of each aperture is multiplied by:

$${\rm sin}({\rm sin}({\rm cos}^2(\mathrm{x \,distance \,to\, the\, center \,of\, the \,array\, +\, constant}))) $$
(5)

Same equation is applied along y, x and y being therefore independent. The cos2() function drives the apodisation, and the sin(sin()) permits to increase the size of the most external patterns, therefore diminishing the dynamic range but leading to a better transmission (64% of the nominal transmission in this case) and angular resolution. Presently working on the development of apodisation functions for non square but circular Fresnel arrays, the exact form of this apodisation function is outdated but can be found for information in Denis Serre’s PhD thesis. The INM doesn’t deal with the apodisation, as its input is a map of the Fresnel array transmission, independently of how this map has been computed.

Fig. 4
figure 4

Left panel represents a quarter of the PSF at the final focal plane, for one wavelength. Horizontal axis are in number of \(\frac{\lambda}{\mathrm{array\,\,side\,\,size}}\), vertical scale is normalized to the peak intensity and is in logarithmic scale. The Fresnel array involved was an apodized 600 Fresnel zones orthogonal array. The figure on the right panel shows the same result, but this time with the zero-order mask set in. These results illustrate 1) that even with a ‘reasonable’ number of Fresnel zones and no zero-order mask, a good dynamic range can be achieved by using a slight apodisation; 2) that the presence of the zero-order mask significantly increases the photometric dynamic range

5 For the future

Presently the Fresnel Imager INM is usable for the Fresnel Imager. Some improvements could be done that could at the same time be useful for the Fresnel Imager project, but also would make this INM a more flexible tool that could be re-used for other instruments (including focal instrumentation of the Fresnel Imager):

  • implement the ability to take into account non-thin lenses but ‘real’ optical elements, for example coming from Zemax simulations;

  • implement the ability to add defaults on the surfaces: this could be done by the mean of Zernike coefficients, generating a phase mask which would represent the defaults of the optical elements;

  • rewrite the code so that the number of planes where the Fresnel propagation must be performed and the number of optical elements can be arbitrary, so that for example a field optical device with two optical elements or a downstream coronographic stage could be included easily; it involves making not only the propagation algorithm be more flexible, but also adapting the whole process of sampling computation and size of fields optimization;

  • potentially, if an analytical expression of the Fresnel array can be computed, it would on the one hand diminish the computation time, and on the other hand avoid the problems of sampling constraints on the Fresnel array plane;

  • the problem of non sequential reflections might be implemented, not using Fresnel propagation but statistical considerations on the reflectivity of the different elements and estimation of where the straylight would be confined; but this item is far beyond the original goals of the INM.

6 Conclusion

The principles involved in the Fresnel Imager Instrument Numerical Model and their implementation have been presented, as well as some results illustrating the efficiency of the INM. The INM can be used to simulate the results of the ‘small’ prototypes (so-called Generation I, II, III; see other articles of this EXPA “Fresnel Imager” special edition) as well as the results which would be obtained with space-based telescopes.