Cant find Doppler shift with LFM signal

Im stuck on this one. I hope someone helps me!

Problem: I need to find Dopler shift with array of reflected chirps.

I have bursts of chirps which then i sampled, and calculated fft. Im suposed to calculate Doppler shift using just spectrum. I see it's shifted but have no idea how to calculate the shift. I tried with boxcars in hope it will be easier and i will notice something, but it's the same thing. Also i find some really useful article and also stuck understanding it.

"Unless the target is moving at an extremely high speed relative to the speed of light, the Doppler shift will be small and very difficult to detect from one pulse. The solution to this problem is to transmit a burst waveform containing repeated pulses. Initially, for simplicity, boxcars were used as the pulse so that some insight into how the parameters of the pulse affect the Doppler shift might be gained." source

• If you're able to, I recommend you post all of your code as text so that someone can test it themselves. It will make helping you a lot easier! Commented Jun 19, 2020 at 19:02

1 Answer

The resulting spectrum appears to be your Doppler shift (possibly as a ratio to half the sampling rate, depending on what the horizontal axis on your plot represents). Without seeing all the processing that was done to generate the "Filtered Chirp Sequence" I cannot be certain but I assume it is a complex result from the subsequent plots, which would rotate in phase at the rate of the Doppler offset. To confirm this, run the test or simulation with known 0 Doppler or Clock offset and confirm that the resulting phase is constant from sample to sample.

• Thank you Dan for answering. Last three images i added are for 0 Doppler shift. Did you mean i should plot phase characteristic? I don't see how should i determine the Doppler shift based on spectrum. I tried all sorts of values for Wd but without succes. Commented Jun 13, 2020 at 21:50
• Yes as expected the phase for each of those samples is 0 degrees (note the axis of the imaginary component is 1e-15. As you notice with 0 Doppler your spectrum is at 0 frequency and when you had Doppler the spectrum shifted to the negative, suggesting a negative frequency shift. If you didn't know, frequency is the change in phase versus change in time (for example radians/sec, or 2 pi cycles per second). So measure the change in phase from sample to sample, divide that by the change in time from sample to sample and you have your estimate of frequency (Doppler). Commented Jun 13, 2020 at 22:20
• Compare to your spectrum plot and you will see how they are directly related. Commented Jun 13, 2020 at 22:21
• Here are two variations that i plotted. prnt.sc/sz8xeq prnt.sc/sz8x02 When you say change in phase, you mean I go trough phase of non-shifted and Doppler shifted phase graph and try to calculate the differences. Did i get it corectly? Thank you soo much! Commented Jun 13, 2020 at 22:33
• Yes the slope of that phase is proportional to the frequency offset (unrwrap the phase so that there are not jumps as you have it). This is the change in phase versus the change in frequency. You don't have to evaluate the phase to determine the frequency since you are getting the frequency from the spectrum directly, but this shows you how to confirm what the exact frequency is as long as you pay attention to what units you are actually using. We should avoid a long back and forth chat here as that is discouraged in the comments, but good luck and hope this helped you! Commented Jun 13, 2020 at 22:39