-
-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
High fidelity transponder modeling (different noise models) #88
Comments
The GMAT User Guide for 2020a details how this is computed in GMAT. Also look at the ODTK math spec. |
Claude: Absolutely, here is a summary of relating measurement noise to Pr/N0 (received signal power to noise density ratio) and range: For range measurements, higher Pr/N0 corresponds to higher SNR (signal-to-noise ratio) which means lower noise. Pr/N0 depends on:
So to model range noise from Pr/N0 data:
So in summary, to add a noise model based on Pr/N0 and range to Nyx:
This allows properly modeling how range noise increases with range as the received signal power and SNR drops based on a user's specific system characteristics. Please let me know if this provides a helpful summary for adding a Pr/N0 and range-based noise model to Nyx! I aimed to give a high-level overview of the steps involved while still relating how and why this method works. Feel free to ask for clarification on any part of the concept or process. |
High level description
The purpose of this issue is to implement high-fidelity transponder modeling in Nyx, which includes support for the Deep Space Network "Range Units" and Gauss-Markov modeling. This will enable users of Nyx to accurately simulate the performance of transponders in space missions, and to optimize the design and operation of transponder systems.
Requirements
Nyx shall support high-fidelity transponder modeling such that the following features are available to users:
Test plans
Design
The design of the high-fidelity transponder modeling feature in Nyx should follow the architecture and APIs of the existing orbit determination and navigation module, and should be implemented as a new module or a submodule of the existing module.
The transponder model should implement the Measurement trait, and should be represented by a new structure or class that provides functions for initializing, updating, and querying the model parameters. The transponder model should implement the Gauss-Markov model and the Deep Space Network "Range Units" algorithms, and should provide methods for generating simulated range and range-rate measurements.
The transponder model should be integrated with the existing orbit determination and navigation algorithms, such that the transponder model can be used to improve the accuracy and precision of the orbit estimates. The ODProcess structure or class should be updated to support the transponder model, and should provide methods for incorporating the transponder measurements into the orbit determination and navigation algorithms
API definition
Define how the Nyx APIs will be affect by this: what are new functions available, do any previous function change their definition, why call these functions by that name, etc.
High level architecture
The RangeUnit structure contains the time at which the measurement was made, the range and range-rate measurements, the sensitivity (H-tilde) matrix, and a flag indicating whether the transmitter and receiver were in line of sight.
The RangeUnit structure implements the Measurement trait by providing an implementation of the observation(), sensitivity(), and visible() methods. The observation() method returns the range and range-rate measurements as a 2-dimensional vector, the sensitivity() method returns the sensitivity matrix, and the visible() method returns the line-of-sight flag.
The RangeUnit structure is parameterized by the state vector type, which should be the same type used by the orbit determination and navigation algorithms. This allows the RangeUnit measurements to be seamlessly integrated with the existing algorithms.
Human: check that this is correct.
The text was updated successfully, but these errors were encountered: