# Anti-Doppler

Started by December 18, 2014
```The 'Doppler' thread got me wondering: How would you undo doppler
effects to a signal without generating too many inaccuracies.  The
pitch shift is gradual, so there's no way to simply precompute some
multirate formula.  I'm sure this kind of thing must be common in some
sectors.  Any ideas on how it's normally implemented?
```
```On Thu, 18 Dec 2014 17:00:50 -0500, Max wrote:

> The 'Doppler' thread got me wondering: How would you undo doppler
> effects to a signal without generating too many inaccuracies.  The pitch
> shift is gradual, so there's no way to simply precompute some multirate
> formula.  I'm sure this kind of thing must be common in some sectors.
> Any ideas on how it's normally implemented?

I think that the pitch shift being gradual means that it would be easier
to precompute a multirate formula!

Are you thinking of doing this blind, with no frequency reference riding
in the signal, or are you thinking of doing where the relative motion of
the RX and TX (or at least the frequency stretch vs. time equation) is
known?

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
```
```Tim Wescott <seemywebsite@myfooter.really> writes:

> On Thu, 18 Dec 2014 17:00:50 -0500, Max wrote:
>
>> The 'Doppler' thread got me wondering: How would you undo doppler
>> effects to a signal without generating too many inaccuracies.  The pitch
>> shift is gradual, so there's no way to simply precompute some multirate
>> formula.  I'm sure this kind of thing must be common in some sectors.
>> Any ideas on how it's normally implemented?
>
> I think that the pitch shift being gradual means that it would be easier
> to precompute a multirate formula!
>
> Are you thinking of doing this blind, with no frequency reference riding
> in the signal, or are you thinking of doing where the relative motion of
> the RX and TX (or at least the frequency stretch vs. time equation) is
> known?

1) determine frequency shift

2) generate resampling filter (farrow filter?)

3) resample?

From the hip... could be garbage...
--
Randy Yates
Digital Signal Labs
http://www.digitalsignallabs.com
```
```Max <MD@nospamforme.com> wrote:

> The 'Doppler' thread got me wondering: How would you undo doppler
> effects to a signal without generating too many inaccuracies.  The
> pitch shift is gradual, so there's no way to simply precompute some
> multirate formula.  I'm sure this kind of thing must be common in some
> sectors.  Any ideas on how it's normally implemented?

If you want to see what can be done, consider exoplanet searches
that look for the doppler shift in a star position due to a planet.

Specifically, consider that there is a doppler shift on this end
due to the earth going around the sun.

But that is done by calculating as well as possible the earth motion.

Note, though, that the position of observes on the earth depends
on what the weather is doing. The angular momentum of solid earth
plus water and atmosphere is conserved, not the solid earth alone.

-- glen

```
```On Thu, 18 Dec 2014 16:13:39 -0600, Tim Wescott
<seemywebsite@myfooter.really> wrote:

>On Thu, 18 Dec 2014 17:00:50 -0500, Max wrote:
>
>> The 'Doppler' thread got me wondering: How would you undo doppler
>> effects to a signal without generating too many inaccuracies.  The pitch
>> shift is gradual, so there's no way to simply precompute some multirate
>> formula.  I'm sure this kind of thing must be common in some sectors.
>> Any ideas on how it's normally implemented?
>
>I think that the pitch shift being gradual means that it would be easier
>to precompute a multirate formula!

Hmmmm...really?  I thought the moving target would be tricky. Can you
explain why it would be easier, Tim?

>Are you thinking of doing this blind, with no frequency reference riding
>in the signal, or are you thinking of doing where the relative motion of
>the RX and TX (or at least the frequency stretch vs. time equation) is
>known?

This is kind of a theoretical question that could turn practical
later.  So at this point, I'm not sure where and how to get clues
about 'correct' frequency.  For now, let's assume that there is a
known starting point, and that frequency will bend down or up from
that point in gradual, continuous fashion, similar to doppler. No
abrupt shifts.

Obviously this type of thing is done often with various interpolation
algorithms. A good first step may be to figure out how to quantify the
distortion that is introduced by the interpolation process. This will
probably be way beyond my current knowledge of DSP, probably deep in
multi-rate theory, but at least it will be a start.
```
```On Thu, 18 Dec 2014 17:17:40 -0500, Randy Yates
<yates@digitalsignallabs.com> wrote:

>Tim Wescott <seemywebsite@myfooter.really> writes:
>
>> On Thu, 18 Dec 2014 17:00:50 -0500, Max wrote:
>>
>>> The 'Doppler' thread got me wondering: How would you undo doppler
>>> effects to a signal without generating too many inaccuracies.  The pitch
>>> shift is gradual, so there's no way to simply precompute some multirate
>>> formula.  I'm sure this kind of thing must be common in some sectors.
>>> Any ideas on how it's normally implemented?
>>
>> I think that the pitch shift being gradual means that it would be easier
>> to precompute a multirate formula!
>>
>> Are you thinking of doing this blind, with no frequency reference riding
>> in the signal, or are you thinking of doing where the relative motion of
>> the RX and TX (or at least the frequency stretch vs. time equation) is
>> known?
>
>1) determine frequency shift
>
>2) generate resampling filter (farrow filter?)
>
>3) resample?
>
>From the hip... could be garbage...

The journey of 1000 steps begins--with a useful Google search key.
"Farrow" does indeed turn up some relevant info (including some from
comp.dsp's own Mr. Nentwig).  Thanks for the starting point. It
appears that polynomial interpolation (curve fitting?) is used as
well.

I originally thought that non-rational ratio sample conversion would
be a pretty routine thing, but maybe not. (Wikipedia actually has a
link to "Farrow Structure" within its page on decimation, but it
suggests that I may be looking for Woody Allen, apparently a known
authority on how Farrows are structured)

Does anyone know if it's difficult to predict the amount of amplitude
distortion induced by common interpolation algorithms?  I'm going to
assume for now that the rate change is gradual (like doppler) and that
it's confined to a range of +/- 1 or 2 percent.  Not sure if that
makes the distortion easier to predict.
```
```this is an interesting theoretical discussion....... but in practice we don't "undo"  the Doppler,  instead  we get the receiver to adapt to the shifted  carrier frequency and the shifted symbol rate.

Theoretically to really UNDO Doppler requires filling or emptying a buffer which you can do for only a limited time until the buffer is full or empty.

This discussion is more relevent to how one could artificially create Doppler in a simulation.

Mark

```
```On 24.12.2014 14:59, Max wrote:

(snip)

> Does anyone know if it's difficult to predict the amount of amplitude
> distortion induced by common interpolation algorithms?  I'm going to
> assume for now that the rate change is gradual (like doppler) and that
> it's confined to a range of +/- 1 or 2 percent.  Not sure if that
> makes the distortion easier to predict.

Max,

Amplitude distortion induced by linear, cubic and piecewise-parabolic
interpolators is considered in the "Interpolation in Digital Modems -
Part II: Implementation and Performance" by F.M. Gardner.

We want an interpolator to be a filter which suppresses unwanted images
while leaving the useful signal bandwidth intact. The problem is that it
isn't perfect for either of these tasks. The more oversampling you have
(meaning "the less values of f*Ts are"), the better your interpolator works.

HTH,
Evgeny.

```
```On Wed, 24 Dec 2014 05:33:58 -0800 (PST), makolber@yahoo.com wrote:

>this is an interesting theoretical discussion....... but in practice we don't "undo"  the Doppler,  instead  we get the receiver to adapt to the shifted  carrier frequency and the shifted symbol rate.
>
>Theoretically to really UNDO Doppler requires filling or emptying a buffer which you can do for only a limited time until the buffer is full or empty.

Hi Mark,

It sounds like the first comments are relevant to a conventional
modem, or a system using a carrier. I was considering the general case
of gradually slipping sample frequencies, where you'd need some type
of non-rational ratio conversion.

It sounds like the only way to do that without generating a lot of
artifacts would be to convert to analog and resample.  IOW, the analog
equivalent of what the rational-ratio converters are doing in digital
domain.

>This discussion is more relevent to how one could artificially create Doppler in a simulation.

You know, now that you mention it, there are probably quite a few
references on how to generate Doppler-type effects, for audio phase
shift effects and such.  I wonder if any of those could be reversed.
```
```On Fri, 26 Dec 2014 03:24:12 -0500, Max <Max@sorrynope.com> wrote:

>On Wed, 24 Dec 2014 05:33:58 -0800 (PST), makolber@yahoo.com wrote:
>
>>this is an interesting theoretical discussion....... but in practice we don't "undo"  the Doppler,  instead  we get the receiver to adapt to the shifted  carrier frequency and the shifted symbol rate.
>>
>>Theoretically to really UNDO Doppler requires filling or emptying a buffer which you can do for only a limited time until the buffer is full or empty.
>
>Hi Mark,
>
>It sounds like the first comments are relevant to a conventional
>modem, or a system using a carrier. I was considering the general case
>of gradually slipping sample frequencies, where you'd need some type
>of non-rational ratio conversion.
>
>It sounds like the only way to do that without generating a lot of
>artifacts would be to convert to analog and resample.  IOW, the analog
>equivalent of what the rational-ratio converters are doing in digital
>domain.

A polyphase filter approach should get you there with less distortion
than another pair of conversions.

>>This discussion is more relevent to how one could artificially create Doppler in a simulation.
>
>You know, now that you mention it, there are probably quite a few
>references on how to generate Doppler-type effects, for audio phase
>shift effects and such.  I wonder if any of those could be reversed.

Eric Jacobsen
Anchor Hill Communications
http://www.anchorhill.com
```