Spectrum Instrumentation Develops Julia based SDK for Programming its Digitizers

Spectrum Instrumentation, a leading manufacturer of advanced scientific test and measurement equipment announced that it has created a Software Development Kit (SDK) for programming its full range of over 200 different digitizers, generators, and digital I/O products using Julia. Julia is a relatively new software language, that has recently surged in popularity. It delivers comparable speed and functionality to programming in C while also allowing scientific and numerical computing. The fight against the Coronavirus does not only take place in medical laboratories but also in computing. Handling the huge amounts of data for vaccine development requires advanced tools.

A key feature of Julia is that it has been specifically designed for high-performance applications that require fast processing of data, like machine learning and scientific computing. For example, libraries include optimized source C and Fortran code for linear algebra, random number generation, signal processing, and even string processing. Furthermore, Julia offers parallelism. Call the desired script with a given number of cores and parallelize directly from a command line. Additionally, it is possible to send tasks to different threads, or run loops in parallel, directly from code. The result is a language that offers similar speeds to C while allowing coding that is more comparable to Python or MATLAB. Companies around the world use Julia in a wide range of applications. 

Julia and Spectrum Instrumentation make a perfect fit as the Spectrum products are ideal for acquiring or generating the fast electronic signals found in AI applications or robotics. The company offers an extensive range of digitizers for the acquisition of analog or digital signals, in the DC to GHz frequency range, with high precision and dynamic range. The digitizers are complemented by an extensive line-up of high-resolution Arbitrary Waveform Generators (AWGs). These products are perfect for control signal generation, waveform replay, and simulation. The products are available in a variety of form factors including tiny PCIe cards, which can plug directly into a PC, or LXI boxes that connect to a network or PC via Ethernet, plus PXIe modules for off-the-shelf installation into automated test systems.

Combining Julia with Spectrum Instrumentation products also helps to speed up processing and reduce latency. The Spectrum products offer ultrafast data transfers with a variety of different acquisition and generation modes (such as single, multiple, gated, and FIFO) which helps to optimize testing throughputs. It is a key benefit for situations that require fast decision making and it is one of the reasons why Spectrum products can be found working in applications involving autonomous vehicles, robotics, drones, imaging devices, medical appliances, and control systems. Their general-purpose design means they can also be used with almost any sensor (accelerometers, transducers, photodiodes, detectors, MEMS, etc.) that is commonly found in AI machines.

As an example, Dr. Josef Höffner from the Leibniz Institute for Atmospheric Physics in Germany develops high-performance LIDAR (Light Detection and Ranging) systems to measure temperature and wind speed in the atmosphere. Now a Julia user, he says: “We perform complex data acquisition and control, with 30 high-speed signals, using three Spectrum Instrumentation cards, operating in closed-loop operation 24/7. Our laser makes 500 pulses per second and we have to calculate, in real-time, what has to happen next and adjust the controls. For that, we have to get the result quickly. That means fast electronics, fast evaluation, and then fast control of the hardware. We have found Julia offers a unique combination of speed and dynamic programming, simplifying the software development.”

The new SDK supporting Julia is available free of charge to all Spectrum customers. Spectrum products include an industry-leading 5-year warranty with free software and firmware updates for each unit’s lifetime. Additionally, customers get support directly from Spectrum’s hardware and software engineers.

Click here to learn more about Julia.