measuring jack themes technologies tooltips linux measuring jack themes technologies tooltip linux limejack claim limejack limejack

Start | Language  de en fr | Menu | Map | Search

You are here: start » en » limejack » tulivu » documentation_v1

Tulivu - Version 1.0.0 - Documentation - Simulation Tool on Activ Noise Control and Active Vibration Control

  • developed by Prof.Dr. R.-K. Schulz and Dipl.-Phys. M. Glugla
  • translated by Lukas Lindemann-Sperfeld

Tulivu Tulivu in its origin Swahili meaning is a synonym for peace and silence and is often used as an African forename.

Active Vibration Control (AVC) / Active Noise Control (ANC)

As a tool for research and development on Activ Noise Control and Active Vibration Control Tulivu helps to get new impression.

Its open source code stands under warranty of the GNU Licence GPL 2. Therefor Tulivu is an easy to edit script solving several configuration the way you want to. You can script Tulivu for testing different Algorithms or you can diversify experimental settings quickly.

Tulivu bands other programs and libraries together and creates a good working tool out of them.


To install Tulivu please download the ZIP-Files or TAR-Files and extract them in a directory of your choice. Don't forget to verify the system requirements. Tulivu is now ready to run.

System Requirements

Tulivu is designed for i386 architecture and Debian distribution. Otherwise please check the program paths. When using the application Tulivu interconnects with other programs and libraries. Please check the settings on your machine.

Needed Program Libaries

  • Xorg (xlib, tested with version 1:7.1.0-19)
  • XForms (libforms, tested with version 1.0-7)
  • GSL (libgsl, tested with version 1.8-2)

Needed Program Tools

  • gnuplot (tested with version 4.0.0-5)
  • awk (tested with version 1:3.1.5.df)
  • convert (imagemagick, tested with version 7:
  • echo (coreutils, tested with version 5.97-5.3)
  • mv (coreutils, tested with version 5.97-5.3)
  • rm (coreutils, tested with version 5.97-5.3)

Needed Multimedia Tools

  • sox (tested with version 12.17.9-1)
  • text2wave (festival, tested with version 1.4.3-17.2)
  • jpeg2yuv (mjpegtools, tested with version 1:1.8.0-0.4)
  • mpeg2enc (mjpegtools, tested witht version 1:1.8.0-0.4)
  • yuv2lav (mjpegtools, tested with version 1:1.8.0-0.4)
  • mpg123 (tested with version 0.61-5)
  • lame (tested with version 3.97-0.0)
  • mplex (mjpegtools, tested with version 1:1.8.0-0.4)
  • lavaddwav (mjpegtools, tested with version 1:1.8.0-0.4)

To run Tulivu in its whole complexity it is recommended to have one of the following browsers installed.

  • konqueror (tested with version 4:3.5.5a.d)
  • iceweasel (tested with version
  • epiphany (tested with version 2.14.3-7)


When compiling Tulivu's source code please use the FreePascal compiler (2.0.4-1).

Starting the Program and Preparation

You will start Tulivu at prompt with the following line ./tulivu example.config. Your favorite output mode can be changed in the configuration file.

Configuration File

Any settings are saved in a text file and can changed easily. As an Example check this configuration:

#                                   #
#   Configuration File for Tulivu   #
#                                   #
# Version 1.0.0 (2008/02/25 11:21:17)
# settings saved at 25.02.2008 11:21:25

SampleRate       =                     22000 # [Hz]
Frequency        =            200.0000000000 # [Hz]
FrequencyNoise   =              0.0000000000 # [%], Noise of Frequency, Rel. Standard Deviation
FrequencySweep   =              0.0000000000 # [Hz/Frame], Frequency Step per Frame
Amplitude        =             69.9999988100 # [%]
AmplitudeNoise   =              0.0000000000 # [%], Noise of Amplitude, Rel. Standard Deviation
AmplitudeOffset  =              0.0000000000 # [%]
Term             =             10.0000000000 # [s]
StartAdaption    =             50.0000000000 # [%], Rel., Adaption Begin
DisturbPeriod    =              2.0000000000 # [s], Period of Disturb Signal
x-Delay          =              0.0044999998 # [s], Delay by ADC on x(n)
y-Delay          =              0.0138636362 # [s], Delay by DAC on y(n)
e-Delay          =              0.0051818183 # [s], Delay by ADC on e(n)
d-Delay          =              0.0008636363 # [s], Delay by Geometrical Arrangement
Mu               =              0.0099999998 # Step size
Leaky            =              1.0000000000 # Leaky Factor
Title            =   Tulivu - AVC Simulation # Simulation Title
InputFile        =               avc-sim.wav # Input File Name
Speech           = This is a simulation for an active vibration control. This is a simulation for an active vibration control.
Signal           =                         0 # 0:Sinus, 1:Rectangle, 2:Triangle, 3:Dirac Peak, 4:White Noise, 5:Input File, 6:Speech
Algorithm        =                         0 # 0: LMS, 1: Real World Genetic Algorithm
Output           =                         1 # 0:No, 1:X11, 2:Video, 3:Headline(stdout), 4:Stdout
Scale            =                         0 # Use Scale Factors, 0:No, 1:Yes
ScaleFile        =     scalefactors.spectrum # File Including Scale Factors as a Function of Frequency (Duct Spectrum)
Result           =                         0 # Put a Result into the Configuration File, 0:No, 1:Yes
DelayPlot        =                         1 # Plot all Delays, 0:No, 1:Yes
HumAmplitude     =              0.0000000000 # Rel. Amplitude of 50Hz Power Supply System

The Syntax Tulivu uses is very simple:

variable_1 = 33 # an other commentary
Variable_2 : 33.3
Variable_3 : 34
Variable_4 : These line is stored in variable 4! # But at this point commentary is to be continued.

By personalizing variables it makes working less complicated when using Tulivu at the same time in different configuration. But for running Tulivu serious some variables must be defined, e.g.

  • SampleRate: integer, number of samples in the Simulation
  • Frequency: real, frequency of the disturbing signal
  • FrequencyNoise: real, noise of frequency as standard deviation percent
  • FrequencySweep: real, sweep rate in Hz/Frame
  • Amplitude: real, amplitude in the simulation percent (100 % relates 1 a.u.)
  • AmplitudeNoise: real, noise of amplitude as standard deviation percent
  • AmplitudeOffset: real, amplitude offset in the simulation percent (100 % relates 1 a.u.)
  • Term: real, seconds of simulation duration
  • StartAdaption: real, adaption starting point relative to simulation duration percent
  • DisturbPeriod: real, period of a raw disturb signal in seconds
  • x-Delay: real, delay of the reference signal in seconds
  • y-Delay: real, delay of the control signal in seconds
  • e-Delay: real, delay of the error signal in seconds
  • d-Delay: real, delay of the disturb signal in seconds
  • Mu: real, increment by LMS, step size
  • Leaky: real, leaky factor by LMS
  • Title: string, title of simulation
  • InputFile: name of audio file (*.wav,*.mpeg), spoken text will be used as a disturb signal
  • Speech: string, text being read as a disturb signal
  • Signal: integer, shape of signal, 0:Sinus, 1:Rectangle, 2:Triangle, 3:Dirac Peak, 4:White Noise, 5:Input File, 6:Speech
  • Algorithm: integer; used algorithm, 0: LMS, 1: Real World Genetic Algorithm (without an object function)
  • Output: integer; 0: No Output in a Gnuplot Window, 1:X11 window, 2:video file (No Output in a Gnuplot Window)3:Stdout with headline, 4:Stdout without headline
  • Scale: integer; use scale factors, 0:No, 1:Yes
  • ScaleFile: file name; file including scale factors as a function of frequency (duct spectrum)
  • Result: integer, put a result into the configuration file, 0:No, 1:Yes
  • DelayPlot: integer; plot all delays, 0:No, 1:Yes
  • HumAmplitude: real, rel. amplitude of 50 Hz power supply system percent (100 % stands for 1 a.u.)


As far as the avc.config is updated, Tulivu starts at the prompt or as a GUI applet. By including a control unit and a live gnuplot X11 session Tulivu provides a simple to use Simulation with all its features. By choosing a number in the output configuration you will find out what mode is your favorite.

Modus Output
0 only controll unit, No Output in a Gnuplot Window
1 controll unit and gnuplot window
2 only controll unit, video file, No Output in a Gnuplot Window
3 stdout, data with header and no X11 output
4 stdout, data without header and no X11 output

When using Tulivu in mode 2 gnuplot generates several JPEG files out of the simulated data which afterwards will be converted with an other tool into a video file (AVI, MPEG2). Parallel Tulivu is generating an audio file (WAV, MPEG3) and an opening image (PNG). Starting Tulivu in mode 3 or 4, it is easy to work systematically step by step with several parameter range. Using Tulivu in this output option you have to generate for any parameter variation its own configuration file. A shell script runs Tulivu with the right configuration file and stores the data.

Control of the running program

After starting Tulivu there is popup a control unit including several buttons and a gnuplot X11 window as far as the configuration file is concerned.

Control Unit

The control unit includes some sub-menu which will be focused in the next step. There are although following buttons:

  • Save: save the actual configuration in a text file
  • Pause: pause simulation
  • Exit: exit simulation

Slider Sub-menu

Tulivu Several scroll bars are included in the Slider Sub-menu for adaption control:

  • Mu: Increment LMS algorithm used, step size
  • Leaky: Leaky factor LMS algorithm used
  • Amp.[%]: Amplitude of the disturbing signal, 100 % stands for 1 a.u.
  • Freq.[Hz]: Frequency of the disturbing signals in Hertz
  • A.-Noise: Rel. noise of the amplitude in percent
  • F.-Noise: Rel. noise of the frequency in percent
  • x: Delay of the reference signal in samples
  • d: Delay in the duct in samples
  • e: Delay of the error signal in samples
  • y: Delay of the control signal in samples

Input Sub-menu

Tulivu In the Sub-menu Input there are some shapes for the disturbing signal and some parameter to manipulate a runing Tulivu session. The disturb signal can set to:

  • Sinus
  • Rectangle
  • Triangle
  • Dirac Peak
  • White Noise
  • Input File: disturbing signal from a sound file, sox starts sound file conversion, eg. *.wav, *.mpeg …
  • Speech: spoken English as a disturb signal,

The value in the input field takes effect on several parameters:

  • Term [s]: Time the Simulation runs
  • Disturb Period [s]: Disturbance's period, null means that there is none
  • Sweep [s]: Term of one sweep between max and min frequency, zero means that there is none
  • Offset [%]: Disturbance amplitude per cent, 100 % stands for 1 a.u.
  • x-Delay [s]: Delay of the reference signal
  • d-Delay [s]: Delay of the disturb signal
  • y-Delay [s]: Delay of the control signal
  • e-Delay [s]: Delay of the error signal

Output Sub-menu

Tulivu In Sub-menu Output are information about several parameter and about characteristical settings of the simulation.

  • Frequency, current: current frequency including frequency noise
  • Amplitude, current: current amplitude including amplituden noise
  • Mu, corrected : corrected LMS increment (LMS with delay compensation)
  • Loop : number of running loops; The simulation had done, by klicking there will be an acustical beep.
  • Energy : energy of the error signal
  • Power : average energy for one sample (average power) of the error signal
  • Frame Calc. Time : CPU's time for one loop
  • Start : time the simulation starts
  • End : forcast time the simulation ends
  • Frame Size : size of a frame in sample
  • Sample Rate : samplerate
  • Sample Time : term of one samples
  • Frame Time : term of one frame
  • Frame Group : number of grouped frames
  • Float/Word/Int : size of used value typs (float, word, int)

Scale Sub-menu


The secondary path consisting of the control signal, the reference signal and the error signal shows a frequency dependent funktionalism.

Sub-menu Scale shows the second path spektrum of its transfer funktion which can be used in the configuration file for scaling the error signal.

Config Sub-menu

In submenu Config it is possible to change settings in the used configuration file which updates the simulation after a restart of Tulivu.


Info Sub-menu

In Sub-menu Info there is information about license and version of this applet and the authors contact data.


Graphical Output

Tulivu == Gnuplot

By using Gnuplot for calculating graphical output of the data Tulivu provides any session is standardised. In the X11 window there is shown:

  • upper abscissa: time [s]
  • lower abscissa: frequency [Hz]
  • ordinate: amplitude [a.u.], intensity [a.u.]
  • red line: reference signal or disturb signal without delays
  • magenta line: reference signal with delays
  • orange line: disturb signal with delays (duct)
  • green line:control signal without delays
  • brown line: control signal with delays
  • blue line: error signal without delays
  • cyano line: error signal with delays
  • cyano line: spectrum of the reference signal
  • magenta line: coefficients

To do list for next version

These listing lets you give an overview of features taken effect in the next version of simulation tool Tulivu.

  1. Standardisation of used FIR routines
  2. Establishment of OGG for audio and video data
  3. Internationalising by manipulating the date
  4. Normalisation of output audio data
  5. Using a FIR filter to scale the error signal
  6. Generating audio and video data from measurement data to compare them directly with the simulation
  7. Integration of several new control algorithm (GA with objekt funktion)
  8. Integration of spectum of the error signal into the spectrum of the reference signal
  9. Seperation of the source code in groups with the result of modulare using and development
  10. Installation Guide
  11. Creating a DTD for the XML configuration files for using it as a control script into a measurement (e.g. sweep term, scattering )
  12. Establishment of XML as markup for configuration files
  13. Standardisation of delay order in Sub-menu Slider and Input
  14. Desensitisation of the noise slider
  15. Integration of dynamic variation of any parameter
  16. Creation of a control unit for the trigger
  17. Creation of a control unit for used algorithm
  18. OS independence of the source code
Disclaimer | Impressum | Privacy | Copyleft