Skip to content
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

Separate on board calibrations, support additional loss to antenna, add disk usage to diagnostics #114

Merged
merged 107 commits into from
Mar 27, 2024

Conversation

dboulware
Copy link
Contributor

This introduces significant changes to the handling of calibrations to separate the calibrations performed on board from the initial calibration and introduces a new differential calibration (that cannot be updated) to add additional loss values to move the reference point to the antenna. The y-factor action is updated to create a new sensor calibration if there isn't one, and only saves calibration updates to an onboard calibration file. Calibration annotations are updated in each action to appropriately adjust the gain, noise figure, and reference based on whether or not a differential calibration is used or not. In addition, the compression point is maintained from the initial calibration if present. Finally, this also updates the diagnostic metadata to include disk_usage.

Avoids some redundant additions and subtractions by working internally in dBW instead of dBm
- fully remove calibration from sigan interfaces. all calibration handling happens at the sensor object level
- alter the sigan interface: retry logic and calibration scaling now happens in the sensor acquire_samples method instead of sigan versions.
- dynamically set data reference point as part the measurement result based on which calibration scaling was applied
automatically recompute calibration data in the getter method
- Remove outdated and unnecessary instance variables
- Remove retry logic from acquire_samples to account for changes in the Sensor object
- Remove redundant properties that are the same as the base class
These properties no longer need to be overriden. Subclass constructors can just set the correct instance variables instead.
- simplify recompute_calibration methods
- cal_params is now an argument of acquire_time_domain_samples, and is intended to be used by passing action.parameters dicts which contain the required key/values to match calibration data to the measurement
- add some specific calibration-related exceptions
- update actions and unit tests
scos_actions/actions/acquire_sea_data_product.py Outdated Show resolved Hide resolved
scos_actions/actions/acquire_single_freq_fft.py Outdated Show resolved Hide resolved
scos_actions/actions/acquire_single_freq_tdomain_iq.py Outdated Show resolved Hide resolved
scos_actions/actions/calibrate_y_factor.py Outdated Show resolved Hide resolved
scos_actions/actions/interfaces/measurement_action.py Outdated Show resolved Hide resolved
scos_actions/hardware/sensor.py Show resolved Hide resolved
scos_actions/hardware/sensor.py Outdated Show resolved Hide resolved
scos_actions/actions/interfaces/measurement_action.py Outdated Show resolved Hide resolved
scos_actions/actions/acquire_single_freq_fft.py Outdated Show resolved Hide resolved
scos_actions/actions/acquire_stepped_freq_tdomain_iq.py Outdated Show resolved Hide resolved
…ation. Remove commented out code. Reuse create_capture_segment in stepped frequency IQ action. Use frequency from measurement_result in MeasurementAction. Fix description of the calibration data that will be used in the docstring in Sensor acquire_time_domain_samples.
@dboulware dboulware requested a review from jhazentia March 22, 2024 15:38
Copy link
Member

@jhazentia jhazentia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just some minor comments remaining.

@jhazentia jhazentia merged commit 2763dab into master Mar 27, 2024
4 checks passed
@jhazentia jhazentia deleted the calibrate_to_antenna branch March 27, 2024 16:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants