Skip to main content
Solved

Time of flight measurements


Nicola Nicassio

Hi, I have a huge problem related to the possibility to perform time of flight measurements. 

I read a knowledgebase article about the use of ZOS-API to produce plots of the of  time of flight (if i’m not wrong I read that Zemax allows to compute the path length and then it should be converted in time). 

The main problem is that I don’t know C language and even by reading the documentation i’m not able to fully understand the command lines to be used. 

My basic question is the following: Is there some universal code available to perform the time of flight measurement? 

If so, is there some way to extend the calculation to all sources in the system for a given detector surface?

In particular, could it be possible to to introduce a shift for different sources according to their position?

Another related concern is the following: 

in my system there is a series of adjacent layers, each with a specific refractive index. 

Does Zemax correctly take into account the correct index for the computation for each segment contributing to the whole path length to compute the time of flights?

Sorry for all these questions, but I really don’t know where to start from.

 

Best answer by Jeff.Wilde

There is also a much simpler approach that can work.  Just trace a single Source Ray through the desired path, ending on a detector, and then use the NSRA merit function operand (with Seg# - 1 and Data = 13) to find the accumulated optical phase (from which optical path length, and hence the time-of-flight, can be easily calculated).

 

The Data = 13 setting reports the ray “phase-at” the destination detector (accumulated total phase), while Data = 17 provides directly the total optical path length.

 

 

View original
Did this topic help you find an answer to your question?

4 replies

Forum|alt.badge.img+2

Hi Nicola

In OpticStudio we measure the path length of the rays so that path can be converted into a time.

To do that, in the article you mentioned, we are using the ZOS-API to read the ZRD file. The ZRD file is basically containing all the rays with their segments and history. From that ZRD file, we extract the needed information. We do this via the API but that could potentially be done differently. You could convert the ZRD file to a Matlab / excel file and then work on the ZRD file outside of OpticStudio.

 

For the API, we have created a free tutorial if you are interested: https://www.zemax.com/blogs/free-tutorials/getting-started-with-zos-api

For the index, I will check but the index is available from the API.


Mark.Nicholson
Luminary
Forum|alt.badge.img+3

It would be great to see OS support time-of-flight natively. 


Jeff.Wilde
Luminary
Forum|alt.badge.img+3
  • Luminary
  • 490 replies
  • Answer
  • April 28, 2022

There is also a much simpler approach that can work.  Just trace a single Source Ray through the desired path, ending on a detector, and then use the NSRA merit function operand (with Seg# - 1 and Data = 13) to find the accumulated optical phase (from which optical path length, and hence the time-of-flight, can be easily calculated).

 

The Data = 13 setting reports the ray “phase-at” the destination detector (accumulated total phase), while Data = 17 provides directly the total optical path length.

 

 


Forum|alt.badge.img+2

Yes that works too. It will report the path length for one ray!


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings