Real-time Framework

Since 2010 the DSS-Group is developing KiRAT, this is an acronym that stands for Kiel Real-Time Application Toolkit. First, it was made for audio and speech signal processing. Meanwhile, it also supports medical und underwater applications. The idea of KiRAT is to share common signal processing modules to benefit from each other. This enables a fast development, optimization, and evaluation of new real-time algorithms. KiRAT is mainly divided into two parts:

  • the algorithmic core and
  • the graphical user interface

Algorithmic Core

This part of KiRAT consists of the algorithms for signal processing. Everything is written in ANSI-C, which enables a fast porting to many platforms. Frequently used functions like vector operations or the fast fourier transform are called using an abstraction layer. This leads to the possibility to use processor specific optimized functions. Basically, the algorithmic core is divided into four types of functions:

  • Init: The initialization function of a module is needed to convert user friendly parameters into internal ones. It also allocates dynamic memory for internal signals and parameters. Everything is controlled by using initialization files.

  • Process: The process function is called for each new frame. It consists of the actual processing of the algorithms.

  • Reset: There the internal memory is reset, which leads to a defined state.

  • Deinit: Freeing memory.

KiRAT also supports a low latency multi-channel AD and DA conversion using the port audio library and many other interfaces for external devices. Another benefit is the possibility to measure impulse responses, to record signals and parameters as well as to simulate various types of systems and environments in real-time.

Graphical User Interface (GUI)

The algorithmic core is constructing an algorithmic structure, which offers an additional graphical user interface. This part of KiRAT is written in C++ using the Qt-framework.

The left column enables a fast access to the main functions of the framework. E.g. the processing can be started or stopped using the associated buttons. The upper area is showing the connection between different modules. It can also be recognized how the modules are nested. The lower part mainly consists of monitoring tools. The plotter is used to depict signals and parameters in real-time. There is also the possibility to see the actual memory consumption and the CPU load of every module.

Website News

03.12.2017: Added pictures from our Sylt meeting.

01.10.2017: Started with a Tips and Tricks section for KiRAT.

01.10.2017: Talks from Jonas Sauter (Nuance) and Vasudev Kandade Rajan (Harman/Samsung) added.

13.08.2017: New Gas e.V. sections (e.g. pictures or prices) added.

Recent Publications

J. Reermann, P. Durdaut, S. Salzer, T. Demming, A. Piorra, E. Quandt, N. Frey, M. Höft, and G. Schmidt: Evaluation of Magnetoelectric Sensor Systems for Cardiological Applications, Measurement (Elsevier), ISSN 0263-2241, https://doi.org/­10.1016/­j.measurement.2017.09.047, 2017

S. Graf, T. Herbig, M. Buck, G. Schmidt: Low-Complexity Pitch Estimation Based on Phase Differences Between Low-Resolution Spectra, Proc. Interspeech, pp. 2316 -2320, 2017

Contact

Prof. Dr.-Ing. Gerhard Schmidt

E-Mail: gus@tf.uni-kiel.de

Christian-Albrechts-Universität zu Kiel
Faculty of Engineering
Institute for Electrical Engineering and Information Engineering
Digital Signal Processing and System Theory

Kaiserstr. 2
24143 Kiel, Germany

Recent News

Jugend Forscht

On November 24th, one of our DSS team members, Owe Wisch, took part in the "Jugend forscht Perspektivforum" at the CAU. Thirty young students from the "Jugend forscht" project came to Kiel and participated in three different workshops focusing on career paths in maritime climate protection. Owe Wisch from our chair lead one of the workshops and presented his research topics, beamforming ...


Read more ...