Fractional time interpolation in free space causing problems when using radar transceiver with LFM waveforms

1 view (last 30 days)
I'm currently attempting to use the radarTransceiver to perform simple detections. When I use a rectangular waveform I receive reasonable results, however an LFM waveform produces a strange effect - the latter half of my pulse has a lower magnitude at the receiver.
I traced the problem to FreeSpace.m line 108
temp = step(obj.cFractionalDelayFilter,complex(x),fracd);
It appears that this function is attempting to apply a fractional time delay, since the range-delay to target is not an integer number of samples. The call seems to perform interpolation on the complex signal, which results in the error. Because there are fewer samples per cycle later in the LFM pulse, the interpolation does a poor job of representing the resulting signal's magnitude.
I can improve the behavior by increasing the number of samples , but even at a sampling frequency of bandwidth*10 I still observe a slight decrease. Ideally I don't want to raise my sampling frequency that high, prefering to stay around 2*bandwidth where this problem is pretty bad (~3db)
So the question is - is there a way to prevent this fractional delay from causing the magnitude to decrease? The magnitude of the signal is much more important than the tiny shift in time associated with the fractional delay, but I can't see an obvious way to disable it.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by