Measurement fundamentals and conventions#
A FROG measurement records the spectrum of a nonlinear signal as the delay between two copies of the pulse is scanned. croak treats this as one member of the PNPS (parameterised nonlinear process spectra) family: a pulse, a scan parameter and a signal operator define the trace, and retrieval inverts that map. This chapter sets out the framework, the three supported interactions, and the units, grids and transform conventions every later calculation uses.
Which page do I need?#
I want to… |
Read |
|---|---|
understand what the trace encodes and its ambiguities |
|
choose between SHG, PG/TG and SD, or see their signal operators |
|
check units, delay sign or phase sign |
|
understand the discrete Fourier transform and its normalisation |
|
build a grid, choose a wavelength band or handle the SHG carrier |
Key concepts#
All quantities passed to croak are in SI units: seconds, radians per second and
metres. Spectra live on a baseband angular-frequency grid, offset from a
carrier omega0; the absolute frequency is grid.omega + omega0. The
interaction ("shg", "pg" or "sd") fixes the signal operator and hence
the trivial ambiguities: SHG cannot tell the direction of time, while PG and SD
can. A trace is an array of shape (Nomega, Ndelay).
Main entry points#
Grid,gridparams_lambda(): matched time and frequency axes.gaussian_pulse(),sech_pulse(): test pulses with a stated intensity FWHM and spectral phase.maketrace(),get_interaction(): predict a trace for a pulse and interaction.
For a calculation you can follow step by step, see your first retrieval. Continue with preparing and checking data.