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

DSS-Retreat 2018

At the end of October (24.10.2018 till 27.10.2018) we spent again a few days on the island Sylt to reflect our past, current, and future research work. This included all Ph.D. topics but also the general direction of our research. Of course, also teaching and team related issues were discussed. Beside all that official work we also enjoyed the time on that beautiful island with several common ...


Read more ...