A method of determining a temporal waveform I(t) of a sample optical pulse, the method comprising: obtaining a composite optical pulse comprising the sample optical pulse having a temporal waveform I(t) followed by a symmetric and unchirped reference optical pulse having a reference temporal waveform I Ref (t), real, even, and non-negative, the composite pulse comprising a relative delay τ between the pulse waveform I(t) and the reference pulse waveform I Ref (t), such that I C (t)=I(t) + I Ref (t-τ) wherein τ > (T Ref + T), being T Ref and T the temporal width of the optical reference, respectively, sample pulse waveforms; obtaining a measured Fourier transform magnitude squared | I C ( f)| 2 of the composite optical pulse, wherein | I C ( f)| 2 = | I C ( f)| 2 + I Re f ( f)| 2 + 2| I Re f ( f)| I ( f)|cos( φ - φ Re f + φ 0), I ( f)=| I ( f)| e jφ is the Fourier transform of the sample optical pulse waveform, I Re f ( f)=| I Re f ( f)| e jφ Re f is the Fourier transform of the reference optical pulse waveform, and I C (f) is the Fourier transform of the composite waveform with Φ 0 =2πfτ; calculating an inverse Fourier transform of the measured Fourier transform magnitude squared | I C ( f)| 2 to distinctly recover the inverse Fourier transform of └| I ( f)| 2 +| I Re f ( f)| 2 ┘ and the inverse Fourier transform of 2| I Re f ( f)| I ( f)|cos( φ-φ Re f + φ 0), which do not overlap in time; calculating a convolution of I(t) with I Ref (-t) using a t>0 portion of the inverse Fourier transform of 2| I Re f ( f)|| I ( f)|cos( φ - φ Re f + φ 0); calculating the Fourier transform of the convolution and taking the phase as Φ-Φ Ref and the magnitude as |I Ref (f)||I(f)|; using the phase and the magnitude of the Fourier transform of the convolution to determine the magnitude | I ( f)| of the Fourier transform of I(t) and the magnitude | I Re f ( f)| of the Fourier transform of the reference pulse waveform I Ref (t) simultaneously; determining the phase Φ Ref of I Ref (f) by using a Hartley-transform algorithm; determining the phase φ of the Fourier transform of I(t) by adding the phase of the Fourier transform of the convolution and the phase φ Re f; and calculating the sample optical pulse temporal waveform I(t) using the calculated inverse Fourier transform of I ( f)=| I ( f)| e jφ. obtaining a composite optical pulse comprising the sample optical pulse having a temporal waveform I(t) followed by a symmetric and unchirped reference optical pulse having a reference temporal waveform I Ref (t), real, even, and non-negative, the composite pulse comprising a relative delay τ between the pulse waveform I(t) and the reference pulse waveform I Ref (t), such that I C (t)=I(t) + I Ref (t-τ) wherein τ > (T Ref + T), being T Ref and T the temporal width of the optical reference, respectively, sample pulse waveforms; obtaining a measured Fourier transform magnitude squared | I C ( f)| 2 of the composite optical pulse, wherein | I C ( f)| 2 = | I C ( f)| 2 + I Re f ( f)| 2 + 2| I Re f ( f)| I ( f)|cos( φ - φ Re f + φ 0), I ( f)=| I ( f)| e jφ is the Fourier transform of the sample optical pulse waveform, I Re f ( f)=| I Re f ( f)| e jφ Re f is the Fourier transform of the reference optical pulse waveform, and I C (f) is the Fourier transform of the composite waveform with Φ 0 =2πfτ; calculating an inverse Fourier transform of the measured Fourier transform magnitude squared | I C ( f)| 2 to distinctly recover the inverse Fourier transform of └| I ( f)| 2 +| I Re f ( f)| 2 ┘ and the inverse Fourier transform of 2| I Re f ( f)| I ( f)|cos( φ-φ Re f + φ 0), which do not overlap in time; calculating a convolution of I(t) with I Ref (-t) using a t>0 portion of the inverse Fourier transform of 2| I Re f ( f)|| I ( f)|cos( φ - φ Re f + φ 0); calculating the Fourier transform of the convolution and taking the phase as Φ-Φ Ref and the magnitude as |I Ref (f)||I(f)|; using the phase and the magnitude of the Fourier transform of the convolution to determine the magnitude | I ( f)| of the Fourier transform of I(t) and the magnitude | I Re f ( f)| of the Fourier transform of the reference pulse waveform I Ref (t) simultaneously; determining the phase Φ Ref of I Ref (f) by using a Hartley-transform algorithm; determining the phase φ of the Fourier transform of I(t) by adding the phase of the Fourier transform of the convolution and the phase φ Re f; and calculating the sample optical pulse temporal waveform I(t) using the calculated inverse Fourier transform of I ( f)=| I ( f)| e jφ.