This repository contains a software tool that is a Cellular Vehicle-to-Everything (C-V2X) Interoperability Analyzer developed using Python. This interoperability analyzer software tool can be used to automatically access testing packet datasets collected during interoperability testing, analyze and assess C-V2X compatibility and interoperability among commercial on-board units (OBUs) and road-side units (RSUs) based on IEEE 1609.2, IEEE 1609.3, and SAE J2735 standards to achieve and assure devices interoperability.
-
Clone this repository.
Git clone https://github.com/usnistgov/C-V2XInteroperabilityAnalyzer
-
Ensure Python 3.12 and PDM are installed. For example, using pipx:
pipx install pdm
-
Run the analyzer with the target PDML file name as argument.
pdm run src/cv2x-interop-analyzer.py example.pdml
-
Output is printed to stdout, but can be redirected or piped to a text file using the shell.
pdm run src/cv2x-interop-analyzer.py example.pdml > output.txt pdm run src/cv2x-interop-analyzer.py example.pdml | tee output.txt
Download and install the Git software on your Windows machine/laptop. This C-V2X interoperability analyzer software tool is a Python-based, developed with Python3. Python should be added to path upon installation. Below are the packages used and their versions as of development.
• lxml - 4.9.3
• pandas - 2.1.4
• time - standard
• re - standard
• sys – standard
The procedures how to setup and use C-V2X interoperability analyzer software tool are described as follows:
- Clone the repository from the web site:
Git clone https://github.com/usnistgov/C-V2XInteroperabilityAnalyzer
- Install python and its library.
sudo apt-get install python3
python -m pip install lxml
python -m pip install pandas
python -m pip install datetime
python -m pip install time
python -m pip install re
python -m pip install sys
- Run the python script with the target pdml file name as argument.
python C-V2XIoPAnalyzer.py exampl.pdml
- Run and output is printed to stdout but can be redirected or piped to a text file using the shell.
python C-V2XIoPAnalyzer.py example.pdml > output.txt
python C-V2XIoPAnalyzer.py example.pdml | tee output.tx
Third-Party Licenses This repository includes modified C-V2X Interoperability Analyzer source code distributed under the GNU General Public License, Version 2. All modified files include their original attributions in a comment header, and their respective licensing statements can be found in the LICENSES directory.
This repository is maintained by:
Eugene Songh (@eysong) Citation Information You can cite this software in technical publications as:
Eugene Song (2025), C-V2X Interoperability Analyzer, National Institute of Standards and Technology, https://doi.org/10.18434/mds2-3726
C-V2X Interoperability Testing Datasets : https://data.nist.gov/od/id/mds2-3541
C-V2X Interoperability Testing Datasets: Description and Use : https://www.nist.gov/publications/c-v2x-interoperability-testing-datasets-description-and-use