Using cRIO Controllers and LabVIEW for Detection and Localization of Artillery Activity

The Challenge:

Detecting and determining the location of sound source that corresponds to artillery activity.

The Solution:

cRIO controllers with NI DAQ modules were used for signal acquisition and diagnostics, and GPS module, for synchronization and localization. LabVIEW FPGA and Real-Time module were used to create applications for signal acquisition and localization of sound source.


Reconnaissance and scouting are huge factors during warfare. Ability to find out enemy’s exact location is crucial and developing new techniques for it was always among priorities in military research. One of the techniques was implemented in this project. System is specifically focused on determining the location of artillery and rocket systems by analyzing the sound they produce during their fire. An algorithm was developed for calculating sound source location by using multiple sound acquisition subsystems that are spread on the field. Except location, algorithm can also distinguish different types of artillery on the basis of incoming sound signal. It is also able to determine the aim of friendly artillery by locating sound source of its projectile’s explosion so it can be corrected if needed.

Project task was to configure hardware for subsystems and implement mentioned algorithm in LabVIEW software, alongside communication and synchronization between subsystems, requested user interface and data logging.

System setup:

The system consists of seven subsystems (stations), one for command and six for recon. At least three active recon stations are necessary for system to work.

Main parts of command station are: computer, GPS and weather station.

Main parts of recon stations are: computer, GPS, RTD, multiple-channel acquisition module (MAM) and microphone set.

MAM is connected to microphone set through programmable gain amplifier and it consists of cRIO-9023 that is inside the cRIO-9111 chassis. Modules that are used are:

-          NI 9239, for sound signal acquisition

-          NI 9217, for temperature measurement from RTD

-          NI 9421, for alarm and diagnostics

-          SEA GPS Mobile Module

Subsystems communicate between each other through wireless network or optic cables, using TCP/IP protocol.

Synchronization can be achieved in two ways: by using PPS signal of GPS receiver or by using synchronization pulse generated by cRIO in one of the recon stations.

Software consists of two applications. One is Real-Time application that is uploaded on cRIO, while the other one is user application, run on computer. Application on cRIO acquires data from sensors and processes them.

Application on computer receives data from corresponding cRIO and other MAMs, represents it, logs it if it is requested and sends its data throughout the system.

User interface consists of 5 tabs:

-          “Monitoring”, which main purpose is representing signals from chosen channels inside the system and setting gain for those channels.

-          “Map”, where locations of stations and sound sources are shown on map of the area. In this tab operator starts acquisition, selects relevant part of signal from channel, sends it to processing, receives results of algorithm for sound source localization and performs certain actions inside database.

-          “Settings-statuses-alarms”, where all possible settings, configurations, statuses and alarms are located.

-          “Database - Reports”, used for work with database and writing reports

-          “Administrator”, available only when logged with administrator account, owned by the commander inside command station. This is where missions are created and sent to recon stations, alongside weather data received from weather station. Similar to “Map” tab, commander receives and has overview of map, database and reports from recon stations. Also, in this tab, commander creates user accounts for recon operators.


Use of National Instruments hardware provided use of single controller with simple, fast and easy communication with the subsystems, alongside fast data processing. LabVIEW, programming environment in which all the requirements can be met and satisfied and where user-friendly interface are easily created, made programming easier.