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

Need to add APD to algorithm extension #31

Closed
MichaelCotton opened this issue May 2, 2022 · 3 comments · Fixed by #42
Closed

Need to add APD to algorithm extension #31

MichaelCotton opened this issue May 2, 2022 · 3 comments · Fixed by #42

Comments

@MichaelCotton
Copy link
Collaborator

with options for downsampling

@aromanielloNTIA
Copy link
Member

aromanielloNTIA commented Jun 24, 2022

Working on this now. Here are some thoughts and questions:

  • I think it makes sense to add a ProbabilityDistributionAnnotation segment, rather than a specific APD segment. This is general enough to support other types of distributions which may be generated. It might look like:
name required type unit description
function true string N/A The estimated probability distribution function, e.g., "cumulative_distribution", "probability_density", "amplitude_probability_distribution"
units true string N/A Data units, e.g., "dBm", "volts", "watts".
probability_units true string N/A The unit of the probability values, generally either "dimensionless" or "percent".
number_of_samples false integer N/A Number of samples used to estimate the probability distribution function. In the case of a downsampled result, this number may be larger than the length of the data.
reference false string N/A Data reference point, e.g., "signal analyzer input", "preselector input", "antenna terminal".
probability_start false double probability_units Probability of the first data point.
probability_stop false double probability_units Probability of the last data point.
probability_step false double probability_units Step size between data points. This should only be used if the probability step size is constant between all data points.
probabilities false double[] probability_units An array of the probabilities for all data points. This must be used if the probability step size is not constant (i.e. if the probability axis cannot be specified fully using probability_start, probability_stop, and probability_step.
  • I will need to think some more on the best way to document downsampling, since there are multiple ways to do it. It's almost like the algorithm annotation needs an algorithm annotation... but let's try to avoid that rabbit hole.
  • Other than the APD/CDF/PDF, which distributions may be common for RF analysis? Keeping them in mind would be helpful to make this as general as possible.

@aromanielloNTIA
Copy link
Member

Adding to the above definition for a ProbabilityDistributionAnnotation segment, to account for downsampling. After thinking through a few ways to do this, they all result in adding tons of new keys to describe a variety of possible ways to downsample the data. I think that a single string containing a human-readable description of the downsampling applied would be a better solution.

name required type unit description
downsampled false boolean N/A Whether or not the probability distribution data has been downsampled
downsampling_method false string N/A The method used for downsampling, e.g "Uniform downsampling by a factor of 2" or "Distribution binned by amplitude with a resolution of 0.5 dB"

@aromanielloNTIA
Copy link
Member

Implementation differs from what is described above, but the Graph object added in #42 supports metadata for (optionally downsampled) APD results. This issue should be closed as resolved when it is merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants