As said in the introduction, this is really a modeling device, and the application to segmentation is included only as a example. As a consequence, this sub-menu should be viewed mainly as a pedagogical tool. In particular, the limitation on the position of the segmentation points to be described below can be removed with some extra-work.
The basic idea is to model a 1D signal as a weakly self-affine function. Such functions are generalizations of self-similar functions where the similarity ratios are allowed to vary at each scale. In other words, a weakly self-affine function is obtained through a cascading scheme as follows: assume f is defined on [0,1], and that its values at the points k/2^n, k=0, .., n are known for a given n. Then the values of f at the dyadic points k/2^(n+1) can be deduced using only two "multipliers", c(0,n) and c(1,n). These numbers allow to compute respectively the left and the right part of the dyadic tree at level n+1. Thus, the values of f at all points of the form k/2^N is completely determined from the 2N values (c(0,k),c(1,k)), k=1..N. The advantage of such a modeling are that it is reasonably compact, and that it allows to keep track of the fractal properties of the signal. Indeed, contrarily to a "classical" modeling based, e.g., on splines, the fractional dimensions, Hölder exponents and multifractal spectra assume non trivial values. Moreover, all these characteristics may be computed in an analytical way from the (c(0,k),c(1,k)), k=1..N.
In general, a given signal will not be well represented by a single weakly self-affine function. A simple procedure is then applied to segment the signal into subparts that will be well approximated. In this procedure, the dyadic tree is recursively divided until each part is closer to its weakly self-affine approximation than a given threshold in the L2 norm. We thus end up with a collection of weakly self-affine functions, defined on a partition of the dyadic tree, which gives a good representation of the original signal. As a consequence, we have obtained a segmentation of our signal into parts which are "multifractally homogeneous", in the sense that each part is obtained through a simple cascading process.
Let us now proceed to describe the various parameters involved. As usual, the first line of the sub-menu window displays the signal currently analyzed, which may be changed by highlighting another selection in the Variables list in the main window of Fraclab, and then pressing Refresh. Since the procedure that computes the weakly self-affine approximation is based on a wavelet decomposition, you may then choose the analyzing wavelet. In many cases, the simplest wavelet, i.e. the Haar one, will yield the best results. The next parameter is the the Analysis depth : as is customary in wavelet analysis, one usually does not need to analyze all the levels in the dyadic tree. This parameter lets you choose how many levels you wish to include, starting from the fine structure. The default is 5: Usually, you'll get better modeling/segmentation results by leaving aside the low frequency content of the signal, and process only the last levels. Of course, you can also try to analyze the whole signal, in which case you give the maximum depth compatible with the size of the signal: If it has 2^N points, the depth should be not greater than N-1, otherwise you will get the message "Error : The maximal analysis depth is violated" in the Message box of the main window. The next parameter is the threshold that fixes the maximal error between a part and its approximation. In other words, if the whole signal is approximated with an error lower than threshold by a single weakly self-affine function, no segmentation will take place. Otherwise, two subtrees will be analyzed, and further subdivided until the error becomes small enough. Thus, the smaller threshold is, the more segments you will get, with a more faithful representation. The last two parameters, c_min and c_max control the minimum and maximum values of the multipliers that are to be included in the analysis. Without entering into too many details, let us say that the multipliers are obtained as ratios of wavelet coefficients at successive levels. Occasionally, such ratios may become very small or very large. In such cases, the representation by weakly self-affine functions is not well adapted, because it assumes that all the multipliers are close to their mean at a given level. Since extreme values of the multipliers do not contribute much to the fractal properties of the representation, it is best to discard them. More precisely, they are not included in the analysis, and they are processed independently. The values c_min and c_max lets you choose the range of the multipliers that will be used in the analysis. A smaller range means that only a few values will be processed. In this case, you will usually end up with what will appear as a good approximation. This is however a fallacious impression, as only a small fraction of the signal will have been processed. The box % of the coefficients processed at the bottom of the sub-menu lets you control how much of the signal has really been analyzed. A percentage of over 70 is significant, and you should try to reach 75%. Trying to include too many coefficients will in general result in poor approximations. To increase the number of processed coefficients, you may try to change either c_min or c_max, and see which gives best results in terms of the compromise between a good approximation and a large enough number of coefficients processed. It is also worth trying to change the analyzing wavelet, since multipliers are just ratios of wavelet coefficients, and their range is heavily dependent on the analyzing wavelet.
Once you hit compute, the % of the coefficients processed will be updated, and a new window will pop up displaying the original signal in blue, the weakly self-affine approximation in green and the segmentation marks as red crosses. Three new signals will have been added to the Variables list in the main window: wsamod_synt#, where # is a incremental number, is just the weakly self-affine signal. wsamod_newci# contains the vector of multipliers, which you may want to visualize or use for subsequent processing. In particular, you may use it to compute analytically the dimensions, multifractal spectrum and Hölder exponent of the approximation. Finally, wsamod# is a structure used for displaying a graph with appropriate labels and legend.
The Unix/Linux version of Fraclab running Matlab 5.3 will not let you process signals whose length is not exactly 2048 (a weird bug, indeed).
Due to the current implementation based on dyadic wavelets, the segmentation always takes place at dyadic points. Finally, if the input signal has length M, only the first 2^N points will be processed, where N is the largest integer such that 2^N is not larger than M. The remaining part will simply be ignored.