Software Radio Beacon Signal Processing
This subproject's goal is to develop a complete signal processing chain that will transform received signals from one or more satellite beacon transmitters into quantities which have useful ionospheric information. In its final form, it will use data from the Beacon Tuner subproject as input and output data to the Beacon Data Management subproject.
Beacon Signal Processing Outline
This drawing gives a general idea of the high-level signal chain flow for a typical beacon receiver.
Project Tasks
NB: Many of these items will be easier and/or necessary to obtain in a team setting! You will definitely not be doing all of this on your own. See the Beacon Team Activities page.
Step 1: Understand The Overall Task
Learn required project tools (see below)
Learn Wiki documentation techniques
Understand basic physics and engineering behind use of orbiting satellite beacon transmitters to yield ionospheric information
Understand the nature of the orbiting beacons:
Frequencies used
Satellite platforms with active beacon receivers
Understand satellite orbital parameters needed in the project:
Data formats for satellite orbital information
Sources for updated satellite orbital data
Methods to calculate satellite position as a function of time, including set/rise/transit time relative to a ground station
Methods to determine relative motion of satellite from a ground receiver station
Understand the nature of ground received beacon satellite transmissions:
Signal parameters which are useful for ionospheric measurements
Characteristics of a typical received satellite beacon signal
Determine signal processing elements
Determine calculated quantities which are useful to the scientific and operational community
Classify received signal characteristics by type, into:
Systematic biases which have no ionospheric information and must be removed
Quantities which contain useful ionospheric information
Identify algorithms which will be used to process received data into calculated quantities:
Parameters needed for algorithm control
Single beacon or multiple beacon data needed?
Step 2: Design The Signal Processing Chain
Write initial functional specification of signal chain, defined as complete series of steps to transform received ground signals into useful ionospheric information. Use block diagram format.
Identify discrete steps in the signal chain. For each, write an applications programming interface (API) specification identifying:
Input data characteristics and format
Output data characteristics and format
Metadata parameters for control of processing, if any
For each input or output data type, identify data class as either:
Persistent - data must be stored and have the capability for retrieval after the signal chain has finished calculations
Ephemeral - data is only needed during signal chain execution and will not be saved thereafter
Identify intersection points of signal chain with other Beacon Project elements:
MIDAS-M Beacon Tuner
Software Radio Beacon Data Management
Step 3: Implement and Test
Design and code in Python an initial test signal chain. Assume that data is available with signal acquisition, lock, and tracking tasks already completed.
Test the initial signal chain with prerecorded GPS beacon receiver data, until results meet expectations.
Design and code full implementation of signal chain functional specification, including pass prediction, signal acquisition, lock, and tracking.
Test full signal chain with MIDAS-M Beacon Tuner project data.
Project Tools
Wiki documentation system
Python programming language Python documentation strings
Python packages:
Numpy for data manipulation
Scipy for scientific computation
Pyephem for satellite orbital calculations
Matplotlib for data visualization / graphing
Orbital element determinations for a given satellite are kept updated at
Celestrak, and you can download any given TLE set from here. The site also has explanations of what TLEs are.
Pyephem will require this data to generate tracks, and that package's documentation has some additional information on orbital elements. Another page which appears to have orbital element sets missing from
Celestrak is located
here. It is unclear whether this page will remain accessible in the future or not, since it appears to be from a single individual rather than an organization.