t = k * Tsamp;
% Impulse response
- g = sqrt(c / (j * D * lambda^2 * z)) * ...
- exp(j * pi * c / (D * lambda^2 * z) * t .^ 2);
+ g = exp(j * pi * c / (D * lambda^2 * z) * t .^ 2);
- xCD = conv(x, g);
+ lenx = length(x);
+ leng = length(g);
+
+ len_fft = max(lenx, leng);
+
+ G = fft(g, len_fft);
+ X = fft(x, len_fft);
+
+ xCD = ifft(G.' .* X);
+ l = (leng - 1) / 2;
+ if l > 0
+ xCD = [xCD(l:end); xCD(1:l-1)];
+ end
kstart = 1 - kmax;
end