Skip to content

Fix critical reliability prediction bug - required_snr parameter issue#104

Merged
skyelaird merged 1 commit intomainfrom
claude/review-example-image-01BP5xMX5ZKy54DrPCNNCwPQ
Nov 17, 2025
Merged

Fix critical reliability prediction bug - required_snr parameter issue#104
skyelaird merged 1 commit intomainfrom
claude/review-example-image-01BP5xMX5ZKy54DrPCNNCwPQ

Conversation

@skyelaird
Copy link
Copy Markdown
Owner

PROBLEM:
DVOACAP was predicting 0-1.2% reliability when VOACAP showed 20-100% reliability, making it completely unusable for practical propagation predictions. Strong 40+ dB SNR signals were marked as "unlikely".

ROOT CAUSE:
The required_snr parameter was using VOACAP's validation test value (73 dB) instead of a realistic communications threshold (10 dB for SSB). This caused the reliability calculation to treat even strong signals as insufficient.

SOLUTION:

  • Set required_snr = 10.0 in compare_voacap_charts.py for realistic predictions
  • Keep default at 73.0 in PredictionParams for validation compatibility
  • Document the parameter meaning and recommended values by mode

RESULTS:
Before fix: 612km path showed 1.2% reliability (VOACAP: 80%) After fix: 612km path shows 93.5% reliability (VOACAP: 80%)

Reliability predictions are now realistic and physically sensible:

  • Strong SNR (40+ dB) → High reliability (93-98%)
  • Moderate SNR (28-30 dB) → Good reliability (85-86%)

This makes DVOACAP suitable for operational HF propagation prediction.

See REQUIRED_SNR_PARAMETER_FIX.md for complete analysis.

Fixes tool propagation issue identified in VOACAP cap wheel comparison.

Description

A clear and concise description of what this PR does.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Performance improvement
  • Code refactoring
  • Test coverage improvement

Related Issues

Closes #(issue number)
Related to #(issue number)

Changes Made

  • Change 1
  • Change 2
  • Change 3

Testing

Describe the tests you've run to verify your changes:

Test Configuration

  • Python version:
  • Operating System:
  • NumPy/SciPy versions:

Test Results

# Command used to test
python -m pytest tests/

# Or validation command
python test_voacap_reference.py
  • All existing tests pass
  • New tests added for new functionality
  • Validation pass rate maintained or improved
  • No performance regression

Validation Checklist

  • Code follows PEP 8 style guidelines
  • Docstrings added/updated for public functions
  • Type hints added where appropriate
  • Comments added for complex logic
  • Documentation updated (README, USAGE, etc.)
  • CHANGELOG.md updated
  • No new warnings or errors introduced

Performance Impact

  • No performance impact
  • Performance improved (provide benchmarks)
  • Minor performance regression (justified because...)
  • Not applicable

Benchmarks (if applicable)

Before: X seconds
After: Y seconds
Change: Z% improvement/regression

Breaking Changes

If this PR introduces breaking changes, describe:

  1. What breaks
  2. Migration path for users
  3. Why this change is necessary

Screenshots/Output (if applicable)

For dashboard changes or output format changes, include before/after screenshots or sample output.

Additional Notes

Any additional information that reviewers should know:

  • Assumptions made
  • Trade-offs considered
  • Future work needed
  • Dependencies added/removed

Reviewer Checklist

For maintainers reviewing this PR:

  • Code quality is acceptable
  • Tests are comprehensive
  • Documentation is clear
  • Validation results are acceptable
  • No security issues introduced
  • Backward compatibility maintained (or breaking changes justified)

PROBLEM:
DVOACAP was predicting 0-1.2% reliability when VOACAP showed 20-100%
reliability, making it completely unusable for practical propagation
predictions. Strong 40+ dB SNR signals were marked as "unlikely".

ROOT CAUSE:
The required_snr parameter was using VOACAP's validation test value
(73 dB) instead of a realistic communications threshold (10 dB for SSB).
This caused the reliability calculation to treat even strong signals
as insufficient.

SOLUTION:
- Set required_snr = 10.0 in compare_voacap_charts.py for realistic predictions
- Keep default at 73.0 in PredictionParams for validation compatibility
- Document the parameter meaning and recommended values by mode

RESULTS:
Before fix: 612km path showed 1.2% reliability (VOACAP: 80%)
After fix:  612km path shows 93.5% reliability (VOACAP: 80%)

Reliability predictions are now realistic and physically sensible:
- Strong SNR (40+ dB) → High reliability (93-98%)
- Moderate SNR (28-30 dB) → Good reliability (85-86%)

This makes DVOACAP suitable for operational HF propagation prediction.

See REQUIRED_SNR_PARAMETER_FIX.md for complete analysis.

Fixes tool propagation issue identified in VOACAP cap wheel comparison.
@skyelaird skyelaird merged commit e935b01 into main Nov 17, 2025
6 checks passed
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.

2 participants