www.nutechdsp.com
118th AES Convention Barcelona, Spain - May 28-31, 2005 NU-Tech: implementing DSP Algorithms in a plug-in based software platform for Real Time Audio applications Abstract: This work presents a novel software platform called NU-Tech to implement real-time DSP algorithms in multi-channel scenarios. Running on a common PC, the overall framework is based on a plug-in architecture, allowing the user to connect specific blocks, operating as DSP algorithms, within the available graphical design environment. These blocks, namely NUTs (NU-Tech Satellites), have to be previously written in C++. A strict control over latency times is insured by a proper interface to the hardware layer of the PC sound card. It turns out that NU-Tech is well suited for development, real-time debugging and fine tuning of DSP algorithms. As further application, it fulfils the role of DSP operating core of new stand-alone programs preventing the user to develop them from scratch. Some examples are provided to show the effectiveness of the idea.
What is NU-Tech? NU-Tech is a powerful DSP platform to validate and real-time debug complex algorithms, simply relying on a common PC and a soundcard NU-Tech is based on an easy plug-in architecture NU-Tech gives the developer the freedom to write his own NUTSs (NU-Tech Satellites)in C++, plug them into the GUI and test the final result on a common PC A low-level ASIO 2.0 interface allows minimum and repetable latencies fully exploiting hardware resources
NU-Tech Development Environment
What is a NUTS? A NUTS is a NU-Tech Satellite, basically a standard DLL: Each NUTS has its own fully customizable setting window Windowless NUTSs are allowed Data Type and Precision can be selected Data Type coherence-check between NUTSs Mouse-sensitive pins Each NUTS has its own palette in trace window
Some Graphical NUTSs The setting window can be freely converted to a graphical interface to create customized tools
NUvigator A Navigator NUTS can load multichannel tracks or multiple mono/stereo tracks to easily make comparisons. A real multi-track FFT display allows x-y zooming, x-y mooving and window resizing. Custom FFT windows, resolution and overlap size Logarithmic/Linear view Buttons-free interface: stop to mouse moving around the screen to change functionality. All the functions are where you need them.
NUvigator
The Trace Window Each NUTS can programmatically expose internal variables to be traced during run-time execution without forcing the execution to suspend The variables can be forced during algorithm testing with no need to stop the application and recompile your NUTS to see changes The state of objects on the NUTS' GUI can be altered simply exposing the linked variables. NU-Tech automatically insert a new tab for each NUTS exposing one or more variables The trace window can be hidden for zero CPU overhead
NUTS SDK An SDK is freely downloadable from NU-Tech web site It shows how to develop user defined NUTSs in few steps in C/C++
Target Applications Multi microphone acquisition scenarios Algorithm testing Demonstration platform for the early stage of development Complex routing structures Some examples: Beam-forming Line-array speakers AEC Multichannel automotive audio systems
An Audio Application: Line Array Loudspeaker Array tuning process can be eased by a suitable set of NUTS: parametric equalizers fractional delays etc... just relaying on a common PC equipped with a MIMO sound card
Industry App: Accelometer Control LIS3L02DQ MEMS accelerometer by ST Microelectronics RS232 NUTS reproducing an excitation signal simultaneously acquire acceleration data sensed by the device. A micro sampling standard graphical controller acquires data at their maximum resolution at a rate of 280Hz and communicate them through an RS232/UART interface connection to NU-Tech where special purpose NUTSs show results.
Hands-Free Telephone Demonstrator Leaff has developed a handsfree telephone demonstrator to prove the new ATMEL DIOPSIS 740 capabilities and features. The algorithms developing, testing and tuning have all been performed in NU-Tech Environment A suitable code porting let the application previously developed work on an ATMEL DIOPSIS740 based architecture Validating the NU-Tech based approach
AEC Block Diagram Input signal x[n] Adaptive Filter W[n] Filter output Error signal y[n] Acoustic Impulse Response H[n] d[n] Echoed signal Σ e[n] = d[n] y[n] A frequency domain adaptive filter block LMS algorithm (PBFDAF) can number of multiplications. approach based on significantly reduce the the
NU-Tech AEC Implementation AEC I/O signals are physical soundcard I/O or audio files Main Advantages: Fast Development No need of specific HW (PC with SoundCard) Reuse of Code (NUTSs previously implemented) Swift Deployment (Build an EXE and distribute it)
NU-Tech AEC Real-Time Validation
Car Audio System Plug NU-Tech to the audio system and experiment a number of different solutions: Fine tuning of digital filters, Equalization, Phase correction, Delays and gains can be accomplished A binaural head (or a mic) can be used for post-processing purposes or real-time acoustic parameters inspection
NU-Tech Licensing We have decided to distribute NU-Tech as: Freeware for non-commercial use! This allows anybody who wishes to use NU-Tech for their private projects to do so. Students and teachers educational projects. can use this version for any It is even ok to use this version in a commercial environment, as long as you just want to evaluate the software. As soon as you start using it for commercial projects, you will have to purchase a license.
NU-Tech Framework for stand-alone audio applications Design Professional Audio Applications with limited effort Restricted set of functions to get full control over the framework Create a configuration and use it programmatically NUTSs are standard.dll files so you can easily update your application If you don't need a custom GUI, you can create an executable interface and distribute it with NU-Tech standard
NU-Tech for hartes hartes: Holistic Approach to Reconfigurable real Time Embedded Systems (IST-035143 supported by the FP6 of the EC, under the thematic area "Embedded Systems".) NU-Tech technology is supposed to be the core of one of the tools to be developed, letting Leaff play the role of one of the technology contributors in the consortium. European key players in methodologies and application Industry: Thales, Thomson: multimedia and communications; FAITAL: automotive and audio market; Atmel, ScaleoChip, Leaff: platforms, tools and methodologies Academy: PoliMi, TU Delft, Imperial College; INRIA: tools and methodologies; UNIVPM, Fraunhofer Institut, UAPV, UNIFE: applications
Conclusions NU-Tech is an emerging technology which tries to propose a different approach in the field of embedded systems development process. NU-Tech could represent a good solution to the problem of creating software on time, on budget and with the desired functionality. NU-Tech platform can count on a growing community of users and developers with the aim of improving its features and widening its application areas (SDK) NU-Tech 2.0: with video support (powerful video streaming engine, with syncronization feature, for frame processing and video algorithms)