Pulse.spectrogram#
- Pulse.spectrogram(t_fwhm=None, v_range=None, n_t=None, t_range=None)[source]#
Calculate the spectrogram of the pulse through convolution with a Gaussian window.
- Parameters:
- t_fwhmfloat, optional
The full width at half maximum of the Gaussian window. The default derives a fwhm from the bandwidth of the power spectrum.
- v_rangearray_like of float, optional
The target range of frequencies to sample. This should be given as (min, max) values. The default takes the full range of v_grid.
- n_tint or str, optional
The number of sampled delays. Setting to “equal” gives the same number of delays as points in v_grid. The default samples 4 points per fwhm of the Gaussian window.
- t_rangearray_like of float, optional
The range of delays to sample. This should be given as (min, max) values. The default takes the full range of the t_grid.
- Returns:
- v_gridndarray of float
The frequency grid.
- t_gridndarray of float
The time grid.
- spgndarray of float
The amplitude of the spectrogram. The first axis corresponds to frequency and the second axis to time.
- extenttuple of float
A bounding box suitable for use with matplotlib’s imshow function with the origin keyword set to “lower”. This reliably centers the pixels on the v_grid and t_grid coordinates.
Notes
The resolution in both the time and frequency domains is limited by the time-bandwidth product of the Gaussian window. The full width at half maximum of the Gaussian window should be similar to the full width at half maximum of the pulse in order to evenly distribute resolution bandwidth between the time and frequency domains.