Wednesday 4 January 2017

digital communications - How to estimate and compensate for doppler shift in wireless signals?


I was wondering what good method(s) exist for the estimation (and subsequent compensation) of doppler shift for transmitted signals, be they acoustic or RF, in the context of comms.



The question: Specifically, if the degree of doppler shift is varying over the duration of a packet, how best to estimate (track it?) and then compensate for it. Assume we have a trainer sequence. You may also assume the signal passband BW is on the order of its carrier. (e.g, if the passband signal exists from 2500-7500 Hz, its BW is 5000Hz, as is its carrier.)


Some additional background for context:



  • One method I found during my research:

    • Since I have a trainer sequence and know its frequency, first I estimate its received frequency.

    • Next, I resample the entire packet by a ratio that is related to the speed of the wave in the medium, my known transmitted frequency, and my new estimated doppler shifted frequency.

    • This works well in simulations, but the weak points are that the frequency estimation must be very accurate, and it also assumes the doppler shift is not changing during the duration of the packet.





Are there any other methods that can be utilized to solve the problem when the doppler is changing during the duration of the packet? What is the opinion of the above aforementioned method?


Many thanks!



Answer



This is a very common communications problem. Look in a textbook for "frequency synchronization"; whole books have been written on these and related topics. The technique that you would choose is a function of the specifics of your system. There are two common sources of frequency offset:




  • Differences in frequency between the reference oscillator at the transmitter and receiver. This error is usually small, depending upon the precision of the timebases available, and can be mitigated at some cost. Cheap crystal oscillators typically achieve 50 parts per million of error or better (although this does drift as the crystal ages). If you have a larger budget, you can use something like a Rubidium standard, which provides ~1 part per trillion of frequency error. A cheaper and increasingly common approach is to use a GPS receiver that has precision frequency output (typically 10 MHz). The highly accurate timebase available from the GPS constellation can be used to train the reference precisely on-frequency.





  • Physical dynamics effects between the transmitter and receiver. One notable example in which this comes into play are for satellite communications applications (especially in lower orbits), where the satellite is moving (and accelerating) very rapidly relative to any observer on the Earth. The high radial velocity of the satellite toward the receiver will cause a Doppler shift, and any change in that velocity caused by its orbit will cause that shift to change over time. In applications where you have these sort of dynamics, you typically can't mitigate it much, so you're left with building a receiver that tolerates the effects.




So how does a receiver synchronize with the transmitter in these cases?




  • One common approach useful for phase- or frequency-modulated signals is to use a phase-locked loop. Design of PLLs is a complex topic in itself, but in essence, they are feedback systems can be used to acquire and track phase and frequency offset while your receiver is in operation. If you only need frequency synchronization, then you can use a frequency-locked loop instead; while they will not provide phase synchronization for you, they often have better acquisition properties.




  • As an alternative to a feedback loop, there are also feedforward approaches to estimating frequency or phase offset. One feedforward approach would take advantage of your training sequence to estimate the frequency error based on how the phase offset changes over the course of the sequence. If the frequency offset changes as time goes on, however, you would need to repeat the estimation procedure to allow your receiver to catch up.





  • Another technique is to design your system to be robust to (reasonably small) frequency offsets. Differentially-encoded phase modulation is an example of this (although frequency error will show up as a phase offset after differential decoding, which must be handled). Frequency-modulated waveforms such as FSK also have some level of resistance to frequency offset, as long as the offset is small relative to the amount of frequency deviation used by the transmitter.




This very short summary really just scratches the surface of some of the more well-known approaches. Synchronization can be a difficult problem to solve in practical ways, and there has been much research over the years on different ways to do it. It's going to depend upon exactly how your system is structured, and one very important variable: the target SNR. There isn't a single "correct" answer. I will make one textbook recommendation; while it is very expensive, "Synchronization Techniques for Digital Receivers" by Mengali is a comprehensive text on timing, phase, and frequency synchronization.


No comments:

Post a Comment

readings - Appending 内 to a company name is read ない or うち?

For example, if I say マイクロソフト内のパートナーシップは強いです, is the 内 here read as うち or ない? Answer 「内」 in the form: 「Proper Noun + 内」 is always read 「ない...