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

01.10.2018: Dissertation of Philipp Bullding added.

14.08.2018: New section about our SONAR "sisters" added.

18.07.2018: New section about our Parkinson voice training game added.

07.07.2018: New lecture Fundamentals of Acoustics by Jan Abshagen added.

03.03.2018: Team wall added.

Recent Publications

E. Elzenheimer, H. Laufs, T. Sander-Thömmes, G. Schmidt: Magnetoneurograhy of an Electrically Stimulated Arm Nerve, Joint Journal of the German Society for Biomedical Engineering in VDE and the Austrian and Swiss Societies for Biomedical Engineering and the German Society of Biomaterials, Volume 63, Number 12, Pages 363-366, September 2018

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

Audiometer

Last Wednesday (17.10.2018) we obtained our first audiometer. With this audiometer we are able to conduct both pure-tone audiometry up to 12.5 kHz and basic speech intelligibility tests. The tests may be perfomed for either air/bone conduction or in the free field. Now we can analyze the hearing capabilities of our test subjects, which will help us when performing subjective tests. Special ...


Read more ...