module

Kozai::Doppler

Doppler shift on a satellite link.

A satellite in low earth orbit closes at up to about 7.5 km/s at acquisition and recedes just as fast at loss of signal, which on a 435 MHz downlink swings the received frequency by roughly ±10 kHz over a pass. That is far wider than an SSB or a narrow FM channel, so a receiver left on the nominal frequency hears the satellite only briefly in the middle of the pass.

angles = station.look_angles(satellite, Time.utc)
if angles
  tune_to = Kozai::Doppler.downlink(435_000_000.0, angles.range_rate_km_s)
end

Constants

SPEED_OF_LIGHT_KM_S = 299792.458

Speed of light in kilometres per second.

Class methods

maximum_shift(frequency_hz : Float64, maximum_range_rate_km_s : Float64) : Float64

The largest shift a link will see over a pass, in hertz.

Useful for choosing a receiver bandwidth, and for warning that a channel is too narrow to hold the satellite without tuning.

Source
shift(frequency_hz : Float64, range_rate_km_s : Float64) : Float64

How far frequency_hz is shifted, in hertz.

Negative while the satellite is receding.

Source