In the paper, The averaging method for finding exactly periodic dispersion-managed solitons , there is an expression for the chirp $C$ of a signal given by-

$C = \frac{\text{Im}\int_{-\infty}^{\infty} u^2u_t^2 dt}{|u|^4dt}$

I am writing a program to calculate the chirp on MATLAB. The chirp function I have written so far is-

function c = chirp(signal)
u = signal;
ut = gradient(signal);
utc = conj(ut);
numval = imag(sum(u.^2 .* utc.^2));
denval = sum(abs(u).^4);
c = numval/denval;

However, this is giving incorrect answers. Any help pointing me in the right direction would be much appreciated.

  • 1
    $\begingroup$ I lack access to the paper, so I will work with what I can see. (1) Since this involves the evolution of solitons, I assume that $u$ is a function of both space ($x$ or $\mathbf{x}$) and time ($t$). The integral in the numerator involves the time-derivative, but your code uses what I assume is a space derivative (gradient). (2) Does using a more sophisticated numerical integration method (say, trapz) for the integrals yield any improvement? $\endgroup$ – Joe Mack Sep 16 at 21:02
  • $\begingroup$ I'm not sure if using trapz helped at all. And gradient appears to be fine as well. The gradient does give the time derivative. As it turns out, my input to the Chirp function was probably not very accurate. Increasing the precision in my program helped. $\endgroup$ – Paddy Sep 17 at 20:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.