Skip to content

DeadParrot/NHTSA-Tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NHTSA Signal Processing Software

This is an updated collection of the U.S. Department of Transportation, National Highway Traffic Safety Administration (NHTSA) Fortran signal processing applications that can be found on the NHTSA Tools Fortran page. These applications are not actively maintained by NHTSA but are still very useful for working with crash test data and related applications. There is some overlap with the NHTSA Signal Analysis Software applications but there are applications here not in that package and those GUI applications lack the batch processing capability of these console tools.

This package of the NHTSA applications has been updated in a few ways:

  • The source code has been modernized and some bugs have been fixed.
  • Array size limits have been increased.
  • The code has been organized with a cross-platform configuration/build system.
  • Support for building on modern Windows and Linux platforms is included.

Applications

The applications primarily work with NHTSA UDS-1992 format signal files but there are programs to convert to and from UDS format. The applications support batch processing via "hit lists" of files (which can be generated by LisGen) and wildcard file specifications.

The applications include:

  • UDS file display: UDSDump
  • UDS creation: UDSTool
  • Conversion to UDS: ASC2UDS, ATB2UDS, MADY2UDS
  • Conversion from UDS: UDSConv, UDS2XY, UDS2Y, UDS92
  • UDS specification modifications: UDSMod, UDSTool
  • Integration (Integ) and Differentiation (Diffr).
  • Signal modification: Clip, Shift, Trunc.
  • Signal combinations: Multiply, Sum, Subtract, Resultant (Result), Ratio, MaxDiff, and RMSDiff.
  • Signal filtering: BWFilt, FIR100, IIR, and SimFil.
  • Special values: Head Injury Criterion (HIC) and Viscous Criterion (VC).
  • Crash signal refinement: VeCor and RmBias
  • Plotting: LJPlot (LaserJet PCL language)
  • Batch processing support: LisGen

There is also a Perl interface in the Perl directory under bin.

UDS Files

UDS files are a portable binary format used at NHTSA OCR for crash test signal data. The format is detailed in the infomation in the doc directory.

Configuration

The command line development environment is configured on Windows and Linux by running the setProject script for the desired platform, compiler, and build.

  • The setProject script should be run done from a fresh console so that any previous configuration doesn't carry over.
  • The configuration setup no longer supports 32-bit builds but that could easily be added.
  • Python is needed for the makedep.py depdency script. The configuration uses a setPython.64 script to find Python and set up Python environment variables. Python 2.7.x or 3.6.x are supported but adding support for other Pythons would be straightforward: copy the setPython.64 script to a directory early on your PATH and modify it as needed.

Once setProject is run you can build as described below.

Building

The build system uses GNU make. The makefile system uses advanced features of GNU make for a zero-maintenance design.

  • On MinGW the make program must be copied to make.exe in a directory on your PATH.

Instructions for building on Linux and Windows follows.

Linux

To build the NHTSA applications on Linux:

  • cd <path_to_repository>
  • GFortran: source bin/Linux/GCC/64/r/setProject for release builds or source bin/Linux/GCC/64/d/setProject for debug builds
  • Intel Fortran: source bin/Linux/IC/64/r/setProject for release builds or source bin/Linux/IC/64/d/setProject for debug builds
  • cd src/lib
  • mak to build the library
  • cd src/app
  • mak to build the applications

Windows

To build the NHTSA applications on Windows:

  • cd <path_to_repository>
  • GFortran: bin\Windows\GCC\64\r\setProject for release builds or bin\Windows\GCC\64\d\setProject for debug builds
  • Intel Fortran: bin\Windows\IC\64\r\setProject for release builds or bin\Windows\IC\64\d\setProject for debug builds
  • cd src\lib
  • mak to build the library
  • cd src\app
  • mak to build the applications

Running

The executables are designed to be run as console applications. Documentation for the applications is in the doc directory. Command line syntax for each application can be obtained by entering /? or -? or ?. Full usage information can be obtained by entering /?? or -?? or ?? or /help or -help or help.

License

The software has been publicly released by NHTSA with no license restrictions. This repository adds no license restrictions on its use.