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 and 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.
“Complexity profiler” represents the running time-cost of each module, their average, minimum, and maximum performance, CPU load, and the thread used for running. The tab is located in Visualizations control panel. On the right side the plot of the average and running time of the simulation. The double click is also available to change axis range values for this plot. For example, the following plot illustrates the average and the running time of processing the “Underwater signal processing module” in μs.
The view of the "Complexity profiler".
“Memory management” tab is located in Visualizations control panel. There it shows how much memory individual modules of the software are allocating. It depicts the percentage of the used memory related to each part, their local memory, overhead, maximum total memory, and a stack size initialization.
The view of the "Memory management".
The view of the "Plotter".
The “Plotter” tab is a part of Visualizations control panel and shows a plot of the running signals. The signal is chosen from the drop-list “Plot scenario” on the left (separated into sections “Kirat main signals”, “SONAR signal processing”, and “System simulation” etc.). A time or frequency domain can be used to see the result. Also, several signals can be added to the same plot.
For example, this plot shows the hydrophone 0 input signal in the time domain, which was chosen from the “Kirat main signals” – “Input signals”.
The view of the double-click for autoscale-function in the "Plotter" and the result of it applied to the plot.
By double-clicking with the left mouse button on the plot with a signal, a small window appears. Axis values of the plot (in linear or dB scale) can be modified here, by specifying their range. The outcome data can be exported as a plot or Matlab data.
There are at the bottom buttons “Ok”, “Cancel”, “Apply”, and “Autoscale” buttons. Those stand for closing the window, canceling the changes, saving the changed data, and applying changes, as well as autoscaling the plot.
bEnableWelcomePages | = | true |
iNumWelcomePages | = | 39 |
bSurveyenabled | = | true |
iNumofQuestions | = | 0 |
cHtmlLinkWelcome_0 = "C:/dss_kirat_config/objective_speech_analysis/patient_survey/html/welcome.html"
cHtmlKeywordWelcome_0 = "Nutzung Stimme"
bWelcomePageAnswerNeeded_0 = false
eQuestionTypeWelcome_4 = 0
cSliderLabelLeftWelcome_4 = "still"
cSliderLabelRightWelcome_4 = "äußerst gesprächig"
iSliderMinimumWelcome_4 = 1
iSliderMaximumWelcome_4 = 10
bSliderTickEnabledWelcome_4 = true
iSliderTickIntervalWelcome_4 = 1
iSliderNumOfAdditionalLabelsWelcome_4 = 1
iSliderPositionOfAdditionalLabelsWelcome_0_0 = 6
cSliderAdditionalLabelsWelcome_0_0 = "normal"
eQuestionTypeWelcome_5 = 1
iNumOfAnswersOneOfNWelcome_5 = 5
cAnswerOneOfNWelcome_5_0 = "nie"
cAnswerOneOfNWelcome_5_1 = "selten (fast nie)"
cAnswerOneOfNWelcome_5_2 = "manchmal"
cAnswerOneOfNWelcome_5_3 = "oft (fast immer)"
cAnswerOneOfNWelcome_5_4 = "immer"
eQuestionTypeWelcome_1 = 2
iNumOfAnswersWelcome_1 = 2
cAnswerWelcome_0_0 = "Ja"
cAnswerWelcome_0_1 = "Nein"
With KiRAT you can output a variety of data as CSV files, including:
It is important to notice that the ability to output data as CSV files has to be implemented directly in the code (for features) and is dependent on the specific application. Input data can be recorded directly via a recordings tool.
A possible way to open a CSV file is to use a text editor like Notepad or TextEdit. However, text editors are not designed to work with tabular data, so they may not display the data in a very user-friendly way.
Opening the CSV file in Excel is a much better option. It will display the data in a clear and organized way, and it will make it easy to work with the data. Additionally, Excel can automatically detect the delimiter that is used in the CSV file, and it can also handle CSV files that have a header reo. To ensure that the data is displayed correctly and that you can easily work with it.
Open Excel.
Click the Data tab.
In the Get external data group, click from Text/CSV.
In the Import data dialog window, locate the CSV file you want to open, and click Import.
In the text import wizard dialog box, make sure that the delimited option is selected, and then click Next.
In the delimiters step, select the Comma checkbox, and then click Next.
In the data format step, make sure that the general option is selected for all of the columns, and then click Finish.
The CSV file will be imported into a new Excel worksheet. You can then work with the data as you would with any other Excel data.
A comma-separated values (CSV) file is a plain text file that stores tabular data in a simplified format. It uses commas to separate data fields and newlines to separate records. CSV files are often used to exchange data between different applications because they are simple and easy to read.
The Exo stands for the "extra window" for the real-time control panel of Kirat. It is the one of structures of KiRAT and it is responsible for the graphical user interface (GUI) of KiRAT. A custom GUI window is created and specialized to the user's needs and independent of the common KiRAT style in the rest of the GUI. Users are allowed to interact with KiRAT and visualize its output via exo.
The GUI of the SONAR operator with the demo configuration of the digital ocean.
Users can use the exo to start, stop, and pause KiRAT, as well as to adjust various parameters. Also, the exo can be used to plot various signals or features that are extracted by KiRAT.
The algorithmic core is visualized and can be managed by an overarching algorithmic structure that integrates a graphical user interface (GUI).
The main view of the KiRAT window.
The activated configuration at the figure's panel of “Algorithmic structures” is a simulation setup, where the “Microphone” as well as the “Medical signal processing” are activated. The input from the microphone is processed in the connected structure of the “Medical signal processing”.
This part of KiRAT is the core component of KiRAT and responsible for signal processing algorithms.
Basically, the algorithmic core is divided into four types of functions:
The initialization function of a module is used to convert user parameters to internal parameters. It also allocates dynamic memory for internal signals and parameters. Input parameters and configurations are controlled by initialization files.
The process function is called for every new frame. It consists of the actual processing of the algorithms.
There, the internal memory is reset, resulting in a defined state. Usually is executed when the program is restarted.
Freeing memory in a module when the program gets closed.
KiRAT also supports low-latency multi-channel AD and DA conversion using the Port Audio Library and many other interfaces for external devices. One of the advantages of the algorithmic structure are abilities to measure impulse responses, record signals and parameters, and simulate various types of systems and environments in real time.
KiRAT is a complex software and consists of several structures: algcore, algstruct, and exo. The core functionality of KiRAT includes a user interface that is specifically tailored to the application itself.
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
% Welcome Page
%---------------------------------------------------------