Skip to main content

I have an ensemble of sequential 128x128 2D wavefront errors generated by a freestream atmospheric propagation code.  The code outputs phase in radians at each point in the 2D grid.  I load these 2D arrays into Excel, enter a wavelength in microns, and convert to wavefront error in waves using WFE = wavelength * phase / 2π.  For one screen example I’m getting a P-V WFE of 1.8 waves.  Then I use a macro to write the first line of the Grid Phase DAT output file:

128  128  increment  increment  1

then the macro converts the 128x128 2D array phase in radians (not wavefront error) values into a linear string of 16384 phase values, without specifying derivative values.

QUESTION: when I import the DAT file into a Grid Phase surface, and set the Diffraction Order to 1, I’m getting outrageously large values for wavefront error.  I had to reduce the diffraction order to around 0.01 to get the wavefront errors and Zernike fits to more or less agree with the Excel values.

What am I doing wrong?  I looked and there is no Knowledgebase on specifically using the Grid Phase surface for wavefront error simulation.

Thanks, Mike

Hey Mike, you start with phase in radians, convert to wavefront error in waves, and then convert back to phase in radians. Why are you doing that, and are you restoring the original phase in radians?

  • Mark

Not quite.  I keep the phase data and import it into Zemax.  I only convert phase to wavefront error at a specified wavelength in Excel, to try to reconcile the Excel wavefront error with what I’m seeing in Zernike Fringe and WFE plots at the same wavelength in Zemax.  I’m having to put in values like 0.001 or so in the diffraction order to get the two to agree.  The lens is in centimeters.  Do I need to input the Excel wavelength in centimeters?

WFE = wavelength x phase / 2π

That’s exact, and what I’m doing in Excel.

Why doesn’t Zemax give me exactly the same WFE with the diffraction order set to +1?


Reply