These functions are generation, buffer related and complex functions.
The buffer is a memory place where you can store values for further use.
| Buttons | Shortcut | Result and Explanation |
![]() |
copy a signal part to the buffer. When clicking on this button, the following dialog appears :![]() You select from the combobox, the signal from which you wish to copy. You select or type the abscisse of first and the last point copied. As usual, if you try to copy a portion of the signal that is not in memory, it will not work. | |
![]() |
Create a new signal with the content of the buffer. | |
![]() |
This one is funny. %a is the abscisse. Here y=x. You may think that it has no use, but you are wrong. Each time, you wish to generate a signal, it is very useful. You want to create a sinusoide : sin ( 2 * %pi * %a / 100 ) (period of one hundred point). All generated signals make an extensive use of %a. They are poor formulas around this animal. | |
![]() |
you get a graphical dialog allowing you to generate different signals (square, triangle, sinusoide, complex sinusoide, dirac, ramp, constant, sery of dirac).![]() Square signals ![]() if modulo(x+phase,period) < (period*cyclique)y=max elsey=min In other terms, if you need something precise, try. It allows also to have dirac series (we speak of "peigne de Dirac" in french, but I am sure that Dirac had not a single remaining hair). Triangle signal ![]() During cycle portion of the period, it raises from moyenne-amplitude/2 to moyenne+amplitude/2. During the rest of the period it goes down the other direction. if (modulo(x+phase,period))<(period*cyclique)y=(modulo(x+phase,period)/period/cyclique-0.5)*amplitude+mean_value elsey=mean_value-amplitude*((modulo(x+phase,period)/period-cyclique)/(1-cyclique)-0.5) Sinusoidal signal ![]() While for other signals, the phase is in points, here it is absolute ; 2*PI will introduce a full period. y=mean_value+amplitude*sin(2*%pi*x/period+phase) Complex sinusoide ![]() y=mean_value+amplitude*exp(%i*2*%pi*x/period+phase); Ramp ![]() y=a*x+bBasically, it is the graphical interface above something trivial to do directly with siglab. Really a function for lazy boys (mail to me, we will create a club). Dirac ![]() Generate a impulse at the abscisse given between the maximum and the minimum value. Sery of Dirac ![]() Generate impulses each period between the maximum and the minimum value. The first impulse is at the abscisse given in phase. Constant signal ![]() Generate a constant signal y=c . IMPORTANT REMARKS :
| |
![]() |
There is a window function in a scilab. It gives you a window either rectangular, triangular, Hamming, Hanning, Kaiser or Chebichev. I had an empty button and then implemented it.![]() Rectangle, triangle, Hamming and Hanning window have the same parameters :
Kaiser window has a parameter : beta. I suppose it means something for those who know. You may find information in the window command documentation of scilab. ![]() Chebichev window has 2 parameters : main lobe width and side lobe height. There are restrictions on the values ( main > 0, and 0< lobe < 0.5). I never succeeded to generate any signal with chebichev. You are warned. ![]() | |
![]() |
With noise generation, it is possible to generate an uniform noise, a gaussian one or a random serie of bits. Noise generation corresponds to the generation of values. It is not a function. Hence, the first point and the width (the number of points) that will be generated will always be asked. The values are then stored in a matrix. This kind of signal are called "matrix file". They are treated as a file, except that the values are in memory. It is only possible to apply delays to matrix file signals. Uniform noise ![]() Parameters are the following :
Gaussian noise ![]() Parameters are the following :
I used the following formula : y = mean + variance * gaussian random signal(with 0 mean, and variance 1) Complex uniform noise ![]() Parameters are the same as those of a uniform noise. The real part is a uniform noise with an amplitude the amplitude which is given divide by sqrt(2) and a mean the real part of the mean given. The imaginary part is a uniform noise with an amplitude the amplitude which is given divide by sqrt(2) and a mean the imaginary part of the mean given. Complex gaussian noise ![]() Parameters are the same as those of a gaussian noise. In fact 2 noises are generated one for the real and one for the imaginary part, and then both are added. The variance is treated as being the amplitude, and is then stored in the 2 signals. Random bits ![]() Parameters are the following :
Values of bits will be 0, 1. If you wish to have other values for 1 and 0 just do operations on this signal. | |
![]() |
Filtering of a signal. The filter coefficients are in the buffer memory. You will only filter the signal which is visible in the graphic window and nothing else. The result is a new memory file signal. ![]() The parameters are the following :
| |
![]() |
Filtering of a signal in using part of another one as a filter. The filtering is only done on the Signal 2 portion which is displayed. The result is a matrix file signal.![]() The parameters are the following :
| |
![]() |
fft of a part of a signal![]() A fft is applied on the signal choosed in the combobox between the value start and end,with a width 'width fft'. The window type applied is chosen from the Window combobox. The choices are the window ones : rectangular, triangular, Hamming, Hanning, Kaiser, Chebichev. | |
![]() |
inverse Fast Fourier (préfet de l'Isère) Transform on a part of signal. As with fft, a window may be applied to the signal. | |
![]() |
Correlation between 2 signals![]() Allow to process the correlation of 2 signals. The parameters are the following :
Please refer to the correlation man page of scilab to learn more. | |
![]() |
Convolution of 2 signals.![]() Convolution of 2 signals. The user interface allows to choose the 2 signals. The convolution is done on the signal portions that are displayed in the graphic window. |
![]() | 05/03/2000 | SigLab |





































