Skip to content

gabrielguerrer/rng_rava_diagnostics_py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RAVA Python Diagnostics

The RAVA Diagnostics app introduces a test suite designed to evaluate the statistical properties of randomness produced by the RAVA circuit. It comprises three distinct sub-applications:

  • Quick Tests: Conducted on relatively small samples generated in real-time to detect significant errors within the RAVA circuit.

  • Acquisition: Generation of large files comprising pulse counts, bytes, or numbers extracted from an RAVA device. (This sub-app is imported from the RAVA Python Driver package).

  • Detailed Tests: Analyzes the statistical distribution of bias and correlation metrics associated with the random bytes obtained through the Acquisition module. Moreover, it explores the normality of pulse count distributions across different sampling intervals. Additionally, it implements a visualization of the reports generated by the NIST Tests, offering an insightful representation of its results. Lastly, a reporting feature generates a PDF file summarizing the information from the Detailed Tests. This document is designed to facilitate the quality assessment of a specific instance of the RAVA circuit.

The Diagnostics suite is an open-source implementation of the tests outlined in the article presenting the RAVA circuit. For more details, refer to IEEE Access, DOI: 10.1109/ACCESS.2023.3327325.

Installation and usage

The diagnostics code is available as the rng_rava_diag PyPI package. To install it, run:

pip install rng_rava_diag

Requirements: rng_rava, numpy, matplotlib, scipy, lmfit

To run the diagnostics app, execute:

python3 -m rng_rava_diag

Documentation

Driver Compatibility

Regarding the RAVA Python Driver:

  • Driver v1.1.0 to latest is compatible with Diagnostics from v1.0.0 to latest

Associated projects

Contact

gabrielguerrer [at] gmail [dot] com

RAVA logo