目录

GRS Frequency Synthesizer

Frequency Synthesizer of the SpaceLab's Ground Station.

GitHub commits since latest release (by date)

OverviewDependenciesUsageDocumentationLicense

Overview

The GRS Frequency Synthesizer is an internal component of SpaceLab’s Ground Station software pipeline. It sits between the Station Manager and the IQ Receiver, responsible for computing the effective tuning frequency at any given moment by combining the base center frequency with a Doppler correction offset, and forwarding the result to the IQ Receiver as a tune command.

The IQ Receiver is autonomous and does not depend on the Frequency Synthesizer to operate — it simply reacts to tune commands whenever they arrive. The Frequency Synthesizer is an optional layer that handles the Doppler correction math on top, as well as any changes in the center frequency.

Dependencies

Installation

pip install pyzmq

Usage

The FrequencySynthesizer class is not meant to be run standalone. It is instantiated and managed by the Station Manager:

from frequency_synthesizer import FrequencySynthesizer

synth = FrequencySynthesizer(
    iq_receiver_socket_address="tcp://*:5557",
    station_manager_pub_address="tcp://localhost:5558"
)
synth.run()

To stop it gracefully:

synth.stop()

ZMQ Interface

Subscribed topics (from Station Manager):

Topic Payload Description
freq Frequency (Hz) Sets a new base center frequency
doppler Offset (Hz) Updates the Doppler offset applied on top of the base frequency

Published topics (to IQ Receiver):

Topic Payload Description
tune Frequency (Hz) Effective frequency (center_freq + doppler_offset) to tune the SDR to

Behavior

  • On startup, center_freq is None. The synthesizer will not send any tune command until the Station Manager sends a freq command.
  • If a doppler command arrives before any freq command has been received, it is ignored and a warning is printed.
  • Doppler offset defaults to 0 and is updated whenever a doppler command is received.
  • The effective frequency sent to the IQ Receiver is always center_freq + doppler_offset.
  • It is the Station Manager’s responsibility to ensure the initial center_freq matches the frequency the IQ Receiver was started with.

Note: The Frequency Synthesizer does not compute Doppler shifts itself. It expects the Station Manager (or a dedicated propagator module) to supply pre-computed Doppler offsets.

Documentation

The documentation of this project is generated using the Sphinx tool, and it is available here.

Dependencies

  • Sphinx
  • sphinx-rtd-theme

Building the Documentation

make html

License

This project is licensed under GPLv3 license.

关于

SpaceLab UFSC(巴西弗洛里亚诺波利斯联邦大学航天实验室,FloripaSat 立方星系列)开源仓库 grs-frequency-synthesizer。镜像收录自 https://github.com/spacelab-ufsc/grs-frequency-synthesizer,License:GPL-3.0

337.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号