WO1999008200A1 - Method for analysing an electroencephalographic signal - Google Patents

Method for analysing an electroencephalographic signal Download PDF

Info

Publication number
WO1999008200A1
WO1999008200A1 PCT/FR1998/001786 FR9801786W WO9908200A1 WO 1999008200 A1 WO1999008200 A1 WO 1999008200A1 FR 9801786 W FR9801786 W FR 9801786W WO 9908200 A1 WO9908200 A1 WO 9908200A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
points
identifier
cloud
distances
Prior art date
Application number
PCT/FR1998/001786
Other languages
French (fr)
Inventor
Philippe Guillemant
Marc Rey
Original Assignee
Centre National De La Recherche Scientifique
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Centre National De La Recherche Scientifique filed Critical Centre National De La Recherche Scientifique
Priority to EP98942721A priority Critical patent/EP1004083A1/en
Priority to JP2000506595A priority patent/JP2002517262A/en
Publication of WO1999008200A1 publication Critical patent/WO1999008200A1/en

Links

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • A61B5/316Modalities, i.e. specific diagnostic methods
    • A61B5/369Electroencephalography [EEG]

Definitions

  • the present invention relates to a method for analyzing complex signals, such as electroencephalogram signals.
  • EEG signals cannot be considered either as regular or as completely random. They can then include so-called non-linear or chaotic elements.
  • parameters such as the correlation or complexity dimension (DC), which allow to indicate the degree of complexity of a complex signal, notably chaotic.
  • the DC increases from 1 when the analyzed signal evolves from a regular periodic signal to a random signal.
  • the significance of the DC can be enriched by the comparison with the aspect of the raw signal and the spectral analysis of the signal.
  • Figure 1 is intended to illustrate the calculation of a correlation dimension (DC) value.
  • a value of DC is calculated on a cloud of a large number of points in a space of any dimension d called "phase space".
  • Figure 1 represents a cloud of points in a space of dimension 2.
  • At each point of the cloud we make the radius r of a ball grow and we count, for each ray, the number of points found inside the ball. What we are trying to determine is the rate of increase of the number of points of a ball as a function of the increase in its radius.
  • the points fill the space uniformly.
  • the number of points inside a ball increases with the square of the radius of the ball.
  • the size increases with the cube of the radius.
  • the number increases with the radius raised to the power d.
  • the DC is equal to the power of the rate of increase, that is to say that it is equal to 2, 3 or d for a random point cloud in a space of dimension 2, 3 or d, respectively.
  • the points of the cloud are grouped on a regular line.
  • the rate of increase is then proportional to the radius of the ball, whatever the dimension of the space, that is to say that the DC is equal to 1.
  • the points of the corresponding cloud are grouped according to more or less complex figures called "attractors".
  • the DC has a value between 1 and the dimension d of the phase space. It is advantageous to choose a dimension of the phase space always greater than the DC of the attractor.
  • Figure 2 illustrates a practical example of calculating a DC value.
  • To calculate the number of points being in a ball of variable radius centered on each point of a cloud amounts in practice to calculate all the distances between the points of the cloud and to classify them in a histogram of integral of correlation.
  • the limits of the histogram classes are defined exponentially, for example by powers of 2.
  • the x-th class contains the number of distances between 0 and 2 1 .
  • the numbers are expressed according to a basic logarithmic scale 2.
  • General- Lately, to refine the calculation, the limits of the classes are non-integer powers of 2, for example of the form 2 ⁇ - /.
  • the degree of the rate of increase that is to say the DC
  • the slope should be calculated at the beginning of the correlation integral, but the edge effects, notably due to the calculation on a finite number of points, as well as the noise in the signal, make this calculation imprecise.
  • the slope is calculated shortly after the start of the integral.
  • Figure 2 illustrates a slope of 2 obtained for the enrollments of the third, fourth and fifth classes, which provides a DC equal to 2.
  • FIG. 3 illustrates a method conventionally used to create a point cloud in a phase space from a sampled signal, in order to be able to calculate correlation dimensions.
  • Successive digital samples SQ, SI ... are illustrated in the form of vertical bars of heights corresponding to the values of the samples. These samples are generally 8 to 12 bit samples.
  • k 0, 1
  • a cloud of n points P ⁇ to P] ⁇ + nl with d coordinates each. To do this, we often proceed by taking the coordinates of each point of successive samples of the analyzed signal. In other words, for a point P ⁇ of the cloud (1 k, k + 1..
  • the distance between a point of coordinates x to x ⁇ and a point of coordinates y ⁇ to g is expressed in usual Euclidean space by:
  • such a distance represents 16 difference calculations, 15 sum calculations and 16 absolute value calculations, that is to say 47 instructions to which must be added at least the instructions necessary to classify the distance in the histogram of FIG. 2.
  • the minimum sampling frequency used for electroencephalograms is 64 Hz, which means that these calculations must be carried out 64 times per second, and this for each of the signals of EEG. Given the number of distances to be calculated, the mass of the calculations is considerable and cannot be carried out in real time with equipment of reasonable cost.
  • An object of the present invention is to provide a chaotic type signal analysis method, which requires low computing power to calculate a parameter representative of a complex phenomenon, such as the correlation dimension.
  • the present invention aims in particular to make possible a calculation in real time with low cost hardware.
  • Another object of the present invention is to provide, in real time, easily interpretable visual information of a complex phenomenon.
  • the present invention is based on the observation that, to calculate a parameter such as the correlation dimension, it is useless to consider the distances greater than a certain threshold, since such a parameter is determined by the slope at the start of an integral of correlation of the distances (figure 2).
  • the present invention proposes to calculate only short distances below a given threshold. In other words, it offers a solution to identify high distances above the threshold without having to calculate them.
  • the present invention provides a method for analyzing a signal or several simultaneous signals, comprising the steps consisting in converting into digital samples successive values of the signal or signals; forming in a discretized space of dimension of a cloud of n points each of which has d coordinates taken regularly among successive samples of the signal (s); partition the space of dimension d into hypercubes; and calculate the distances between points inside each hypercube
  • the method comprises the steps consisting in creating for each point a hypercube identifier by a reduction in resolution of a number consisting of the bits of the coordinates of the point, so that points having the same identifier are found in the same hypercube; to organize the points of the cloud in a linked list, so that the points having the same identifier are consecutive in the list; and to create a table listing the identifiers of the points of the linked list, this table providing, for each identifier listed, access to a first of the points having this identifier, and information making it possible to find all the points with the same identifier by browsing the linked list starting from the first point.
  • the method comprises, for each new point of the cloud, the steps consisting in determining the identifier of the point; and look up the identifier in the table. If the identifier exists in the table, the point is inserted in the list of points with the same identifier, and the information in the table is updated to find all the points with the same identifier. If the identifier does not exist in the table, the new point is inserted at the end of the linked list, and the table is updated with the new identifier and the information allowing access to the new point.
  • the method is applied to the calculation of the correlation dimension of the point cloud, and it comprises, for each new and i-th point of the cloud, the steps consisting in calculating the distances between the new point and points with the same identifier; classifying the distances in a correlation integral histogram; to calculate the distances between the ( ⁇ -n) th point of the cloud and the points having the same identifier as the (i-n-th point; to downgrade from the histogram the distances calculated for the (i-n-th point; and to provide the degree of population growth rate of the histogram as a correlation dimension.
  • the method is applied to an EEG signal.
  • the present invention provides a method for analyzing a signal or several simultaneous signals, comprising the steps consisting in converting successive values of the signal (s) into digital samples; forming in a discretized space of dimension of a cloud of n points, each of which has co-ordinates taken regularly among successive samples of the signal (s); to define a single passing line by all the points in space, this line being such that close points in space have close ranks on the line; and using the ranks of the points on said line to provide information representative of the analyzed signal (s).
  • said line is defined so that the rank of a point on the line is made up of the bits of the coordinates of the point, grouped by equal weights.
  • the method comprises the steps consisting in associating with each point an identifier obtained by a reduction in resolution of the rank of the point on said line; to order the points of the cloud in a list linked by their ranks on the line; and to create a table listing the identifiers of the points in the linked list, this table providing, for each identifier listed, access to a first of the points having this identifier, and information making it possible to find all the points of the same identifier by browsing the list linked from the first point.
  • the method comprises, for each new point of the cloud, the steps consisting in determining the identifier of the point; and look up the identifier in the table. If the identifier exists in the table, the point is inserted in the list of points with the same identifier, respecting the order of the ranks on said line, and the information in the table is updated to find all the points of the same identifier.
  • the table is updated with the new identifier and the information allowing access to the new point.
  • the method is applied to the calculation of the correlation dimension of the point cloud, and it comprises, for each new and i-th point of the cloud, the steps consisting in calculating the distances between the new point and the points whose rows on said line are within a predetermined margin around the row on the line of the new point; classifying the distances in a correlation integral histogram; to calculate the distances between the (i-nth point of the cloud and the points whose rows on the line are included in the predetermined margin around the row on the line of the (i-nth point; to downgrade the calculated distances from the histogram for the (i-nth point of the cloud; and providing the degree of the rate of increase of the histogram counts as a correlation dimension.
  • the method comprises the steps of define a set of sub-clouds, this set containing all the points of the cloud; in each sub-cloud, define a set of neighborhoods in the form of intervals on said line; calculate the distances between the points of each interval, by excluding the distances already calculated on a previous interval; to classify the distances in a correlation integral histogram; when the distances have been calculated in all the neighborhoods of a sub-n uage, to calculate the degree of the rate of increase in the numbers of the histogram as a correlation dimension of the sub-cloud, and to classify this correlation dimension in a second histogram; and to display each number of the second histogram in a color or shade of gray corresponding to the number, on an axis associated with the classes of the second histogram.
  • the method comprises, for each point of the cloud, the steps consisting in reducing, if necessary, the resolution of the rank of the point on said line to constitute an effective rank; to create two coordinates, one consisting of the bits of even weight of the rank effective, the other consisting of the bits of odd weight; and illuminating on a screen the pixel having said two coordinates, reduced to the scale of the screen.
  • FIGS. 1 and 2 previously described, illustrate a conventional method for calculating the correlation dimension
  • FIG. 3 illustrates a conventional method for transforming successive samples of a signal into a point cloud in space so as to be able to calculate the correlation dimension
  • FIG. 4 is intended to illustrate a first solution according to the invention for excluding from the calculations the long distances
  • FIG. 5 represents the points of a cloud, organized according to the invention in a linked list in order to allow a particularly fast and memory-efficient calculation
  • Figures 6 and 7 are intended to illustrate a second optimized solution according to one invention to exclude calculations long distances
  • FIG. 8A represents a histogram of the correlation dimensions in a given point cloud
  • FIG. 8B illustrates a possible representation of the evolution of the histogram of FIG. 8A for a point cloud which changes over time.
  • a first solution according to the invention for calculating only the short distances between points consists in partitioning the space of the phases into contiguous neighborhoods within which the calculation of the distances is limited.
  • the neighborhoods thus define, by their size, a certain threshold beyond which the distances are no longer calculated.
  • the neighborhoods are HC hypercubes.
  • the hypercubes are chosen so that the hypercube to which a point belongs is identified by the most significant bits of each or some of the coordinates of the point. For example, we consider points of coordinates X Q to ⁇ 5, each coordinate x ⁇ being expressed in binary by Xj_ (7) XJ_ (6) x ⁇ (0), where x ⁇ (j) is the bit of weight of the coordinate x ⁇ . Then, the hypercube to which a point belongs is identified, for example, by the binary identifier x 0 (7) x 0 (6) x 1 (7) x 1 (6). . .x 15 (7) x 15 (6).
  • This identifier consists of the two most significant bits of each of the point coordinates.
  • all the points having coordinates whose two most significant bits are identical belong to the same hypercube.
  • we know the hypercube to which a point belongs by examining the two most significant bits of each of its coordinates.
  • FIG. 5 illustrates one such means.
  • the points P of the cloud to be processed, as and when they are acquired, are inserted into a linked list, and this so that points belonging to the same hypercube are consecutive in the list.
  • the points belonging to the same hypercube are shown in FIG. 5 on the same horizontal.
  • each point P is stored at a specific address A with its coordinates.
  • each point In order to be able to establish the links between the different points of the list, each point also stores the address Aprec of the point which precedes it in the list and the address Asuiv of the point which succeeds it in the list.
  • a table listing all the identifiers HC1, HC2 ... hypercubes in which there are points in the linked list.
  • This table also contains, for each hypercube identifier, information allowing to find in the linked list all the points of the corresponding hypercube.
  • the table contains the Aprem address of the first point belonging to the hypercube in the linked list.
  • the table can contain either the number N of points contained in the hypercube, or the Adern address of the last point of the hypercube in the linked list.
  • the table may, as shown, contain all this information which, although it is redundant, will, depending on the type of operation performed, speed up processing.
  • the hypercube identifiers are stored in consecutive places in the table. They can be arranged in ascending or chronological order. The chronological order is simpler, because it suffices to put each new identifier behind the last identifier in the table.
  • the point is inserted in the linked list, for example after the last point belonging to the hypercube HC3, indicated in the table by the address Adern.
  • the addresses Aprec and Asuiv of the new point and of the two points surrounding it are suitably updated. Furthermore, the Adern address for the HC3 identifier receives the address of the new point and the number N3 is updated to indicate the new number of points contained in the HC3 hypercube.
  • the distances between the new point and each of the other points belonging to the hypercube HC3 are calculated.
  • the other points of the hypercube are found immediately by going up the linked list point by point.
  • the distance calculation stops when we have crossed N3-I points, or when we meet the Aprem address point. If the hypercube identifier of the new point does not exist in the table, this identifier is added behind the last identifier of the table, the Adern and Aprem addresses for this new identifier both indicating the address of the new point.
  • the new point is inserted at the end of the list.
  • each new point is inserted into the list after the last point belonging to the same hypercube.
  • each new point could be inserted elsewhere, provided that it is consecutive in the list with the points belonging to the same hypercube.
  • the distances calculated in the hypercube where the new point arrives are classified so classic in a histogram of the type of figure 2 as they are calculated.
  • n memory locations may be provided at successive addresses A for storing the points, these locations being used circularly.
  • the new point PL arriving in the hypercube HC3 will be stored at the address where the point P ⁇ - n was stored, which was, for example, in the hypercube HC ⁇ .
  • the distances between this point and the other points of the hypercube HC ⁇ are recalculated in order to remove the effects caused by the point P ⁇ - nr and therefore only reflect the effects caused by the n current points P ⁇ -n + 1 to P ⁇ .
  • the distances calculated for the point P ⁇ - are downgraded from the histogram of FIG. 2, that is to say that, instead of incrementing the numbers of the corresponding classes at the distances found, we decrement them.
  • the hypercube identifiers are arranged in ascending order. Points are assigned ranks established from their coordinates, and ranked in the list by increasing ranks. The hypercube identifiers then correspond to the ranks truncated on a greater or lesser number of most significant bits.
  • FIGS. 6 and 7 are intended to illustrate an optimized solution according to the invention making it possible to define in a simple and precise manner a neighborhood of any point of the phase space and to quickly find the points of a cloud located at the inside this neighborhood.
  • This solution therefore applies particularly well to the correlation dimension to avoid unnecessarily calculating the distances leaving the neighborhood, but it also applies to other parameters whose determination is based on calculations in a neighborhood of a point.
  • the principle of this solution could be used for other applications, an example of which will be cited later.
  • This solution consists in defining a single line which passes through all the points of the phase space. It is possible to define such a line, because the space is discretized because the coordinates of the points are numbers of finite resolution, in binary practice. This line also has the property of being such that neighboring points in space are neighboring on the line, whatever the scale (or the size) of the neighborhood considered. Fractal lines of dimension d meet these properties. By doing so for parameters such as the DC, it will suffice to limit the distance calculations to the points which have neighboring ranks on the fractal line, since these points will then be neighboring in space.
  • Figure 6 illustrates a 2-dimensional example of such a fractal line. The points are grouped four by four into squares, the four points of a square being connected in Z. Then, the squares are grouped four by four according to larger squares and are connected in Z in each larger square. The larger squares are grouped four by four according to even larger squares and are connected in Z in each even larger square, and so on.
  • the points are grouped by hypercubes of increasing size, instead of squares.
  • the connections could be defined in many other ways, for example in N, in C, in X, in U ...
  • the advantage of the fractal line illustrated in FIG. 6 is that its setting in equation is particularly simple and immediately generalizable to any space of dimension d.
  • the equation consists in expressing the rank of any point on the line according to its coordinates.
  • the rank of this point on a fractal line of the type of figure 6, generalized to the space of dimension d is expressed by the binary number: x 0 (7) X (7). . .x d __ (7) x 0 (6) x 1 (6). . .x d _ 1 (6) x Q (S). . .x Q (0) x 1 (0). . .x d _ 1 (0).
  • this rank which we can call fractal rank, is expressed by:
  • This fractal rank can be compared to the Cartesian decimal address conventionally used to obtain the memory location of a mul datum expressed by:
  • the Cartesian address is obtained by juxtaposing the lines of the matrix of the bits of the coordinates of a point, while the fractal rank of the point is obtained by juxtaposing the lines of the transpose of this matrix.
  • FIG. 7 illustrates more precisely the method using the rank on the fractal line thus defined to avoid the calculation of distances greater than a given threshold.
  • Line fractal is shown stretched along a horizontal axis, so that the rows of points simply correspond to abscissas on this axis.
  • its rank Rc on the fractal line is calculated from its coordinates.
  • the calculation of this rank is carried out by a simple recombination of the bits of the coordinates of the point.
  • We define around the point Pc a neighborhood in which we will limit the search for points to calculate the distances. This neighborhood is none other than an interval of rows, preferably centered on the row Rc.
  • the interval is equal to Rc JM, where M is a predefined threshold.
  • M is a predefined threshold.
  • the points of this interval, close to the point Pc on the fractal line, are also close to the point Pc in space thanks to the aforementioned properties of this fractal line. This defines a neighborhood centered on each point to be analyzed, which provides more precise results than when the neighborhoods are fixed, as in Figure 4.
  • fractal line of the type of FIG. 6 is not perfect, that is to say that it has singular points which will be close in space but distant on the line, or vice versa.
  • the number of these points is however generally negligible, especially if the neighborhoods are large.
  • each hypercube identifier being made up of a limited number of bits of most significant of the ranks of the points of the list, for example of the most significant d bits.
  • each memory location associated with a point as illustrated in dotted lines at the bottom of FIG. 5, also contains the rank R of the point on the fractal line.
  • the rank R of the new point is compared to the rank of each point encountered in order to find the location in the list of the new point. When the location is found, the new point is inserted as previously described.
  • the rank R will generally be expressed on a large number of bits (128 for coordinates of 8 bits and a space of dimension 16). A row of this size is not practical to handle, in particular because it is not compatible with the numbers currently treatable by the usual programming languages. Thus, it is preferable to work on an effective rank R 'obtained by reducing the resolution of the rank R. For this, for example, the row R is truncated, divided by a factor greater than 1, or brought to a power less than 1, such than 1 / d.
  • the number of bits of effective rank R ′ thus obtained is less than or equal to that of the largest number processable in the programming language used, such as a number of 64 bits of type "double float" (floating point number of double precision) in C language.
  • the neighborhood threshold M used is expressed on at most as many bits as the effective rank, the bits of the threshold M being to be compared with the most significant bits of the effective ranks.
  • this list is traversed starting from the new point in both directions, point by point, to calculate the distances, until the point that we meet has a rank outside the margin defined by the threshold M. It is clear that the course is likely to extend beyond the limits defined by the hypercube identifiers, in particular if the new point is, in the list, at the beginning or at the end of the points with the same identifier. It will be noted that the size of the neighborhood considered, defined by the value M, can be chosen to be different for each point without this causing any complication of the processing. This allows a local adaptation of the size of the neighborhood to the local nature of the point cloud analyzed.
  • the density of points is locally high, we will choose a smaller neighborhood to reduce the number of distance calculations.
  • the density can simply be considered high when the number of points encountered in the course of the list starting from the new point exceeds a predetermined threshold.
  • the other aspects of the calculations for example the correlation dimension and the sliding calculation, are identical to those described above.
  • the calculation of the correlation dimension described so far is a global calculation on a point cloud. It could be interesting to observe the variations of the correlation dimension for the same point cloud, i.e. to observe, not only the behavior over time of the correlation dimension, but also its behavior in space at a given time.
  • the objective in this case is to obtain, for a point cloud at a given time, the distribution of the values of the correlation dimension (DC). More specifically, several DCs are calculated, each for a sub-cloud distinct from the global cloud, the different sub-clouds together containing all the points of the global cloud.
  • DC correlation dimension
  • FIG. 8A represents an example of a histogram of distribution of the values of the DC, obtained for a cloud of points at a given instant.
  • FIG. 8B illustrates a solution for representing over time the evolution of the histogram of FIG. 8A.
  • the values of DC that is to say the classes of the histogram, are represented on the ordinate.
  • a proportional color or gray level is displayed.
  • FIG. 8A illustrates the evolution of a histogram centered on the same value, but which widens over time.
  • sub-clouds must have a large number of points, for example example 1000. Then, the global cloud necessarily has significantly more points, for example 10000.
  • the sub-clouds for which the DCs are calculated can be defined in a fixed manner and correspond to overlapping or non-overlapping intervals of the fractal line. They can also be defined dynamically in relation to each new point acquired in real time. In each sub-cloud we go through the points one by one. For each point encountered in the route, a neighborhood is defined in which the distances are calculated, to classify them in a histogram of the type of FIG. 2, associated with the sub-cloud.
  • the present invention allowing a real-time calculation of parameters, such as the correlation dimension, including the computation was until now particularly long, facilitates the study of the possible applications of these parameters.
  • the inventors have found that the evolution of the correlation dimension of an EEG signal makes it possible to evaluate the effectiveness of anesthesia administered to a patient. It was even possible to determine a threshold for the correlation dimension, below which the patient could be considered to have sufficient anesthesia, and above which more anesthetic should be administered. Of course, such monitoring of the anesthesia state of a patient is only useful if it can be carried out in real time, which allows the invention.
  • the present invention has been described essentially in relation to the calculation of the correlation dimension. Of course, it applies to the calculation of any parameter which requires the calculation of distances between points in a neighborhood, and in general the so-called “non-linear" parameters of a signal.
  • the method of analysis exposed based on the calculation of the fractal rank of a point, is particularly well suited to the calculation of the exponent of Lyapounov Ll.
  • L1 we consider each point of a cloud and the points which are closest to it, in order to follow their respective evolutions as long as their distances remain below a certain threshold.
  • this principle of fractal rank can be used directly to provide visual information representative of one or more complex signals, without using any intermediate parameter.
  • an imager can be produced which displays visual information in the form of an image.
  • the screen will display pixels which are all the closer to each other as the corresponding points are close in the phase space.
  • This result is obtained thanks to the conservation property of the neighborhoods of the fractal rank and to the fact that the bits of the fractal rank of a point are distributed in a substantially balanced manner, as regards their weights, in the two corresponding coordinates.
  • a pixel of the screen will correspond to a minimal hypercube of the phase space, and the pixel will be illuminated for any point located inside this hypercube.
  • the screen will display a reduced resolution image at a reduced resolution.
  • This high resolution image can be processed as are high resolution images by any conventional image editing software.
  • the imager On a completely random analyzed signal, the imager will provide an image containing noise spread over the image like a television on but not receiving a broadcast.
  • the imager can be used to detect a disorganization, possibly of chaotic origin, in a very structured signal at the start, such as a multi-periodic signal.
  • a disorganization possibly of chaotic origin
  • a very structured signal at the start such as a multi-periodic signal.
  • the simple figure displayed by the imager becomes irregular in a more obvious way than would reveal the observation of the raw signal. Indeed, non-linearities are particularly difficult to observe on raw signals.

Abstract

The invention concerns a method for analysing one signal or several simultaneous signals, comprising steps which consist in converting into digital samples the successive values of the signal(s); forming in a discretized space of dimension d a scatter diagram of n dots each of which has d co-ordinates taken regularly among the successive samples of the signal(s); partitioning the space of dimension d into hypercubes; and computing the distances between the dots inside each hypercube.

Description

PROCÉDÉ D'ANALYSE D'UN SIGNAL D'EEG METHOD FOR ANALYZING AN EEG SIGNAL
La présente invention concerne un procédé d'analyse de signaux complexes, tels que les signaux d'électroencéphalogrammeThe present invention relates to a method for analyzing complex signals, such as electroencephalogram signals.
(EEG), pour en extraire des paramètres dont l'évolution est plus significative pour l'observateur que l'évolution brute des signaux.(EEG), to extract parameters whose evolution is more significant for the observer than the raw evolution of the signals.
Un tel procédé d'analyse constitue un complément important de 1 ' analyse spectrale traditionnelle..Such an analysis method constitutes an important complement to the traditional spectral analysis.
De nombreux signaux, tels que -les signaux d'EEG, ne peuvent être considérés, ni comme réguliers, ni comme totalement aléatoires. Ils peuvent alors comporter des éléments dits non linéaires ou chaotiques. Il existe des paramètres, tels que la dimension de corrélation ou de complexité (DC), qui permettent d'indiquer le degré de complexité d'un signal complexe, notamment chaotique. La DC croît à partir de 1 lorsque le signal analysé évolue d'un signal régulier périodique vers un signal aléatoire.Many signals, such as EEG signals, cannot be considered either as regular or as completely random. They can then include so-called non-linear or chaotic elements. There are parameters, such as the correlation or complexity dimension (DC), which allow to indicate the degree of complexity of a complex signal, notably chaotic. The DC increases from 1 when the analyzed signal evolves from a regular periodic signal to a random signal.
On a constaté que l'évolution de tels paramètres peut fournir des informations facilement interprétables par l'observateur, même non spécialiste, sur le signal analysé. Par exemple, l'évolution de la DC d'un signal d'EEG permet d'identifier immé- diatement qu'un individu dort ou qu'il est éveillé.It has been found that the evolution of such parameters can provide information easily interpretable by the observer, even a non-specialist, on the signal analyzed. For example, the evolution of the DC of an EEG signal makes it possible to immediately identify that an individual is sleeping or that he is awake.
En effet, quand un individu dort, son activité cérébrale est plus lente, ce qui tend à rendre le signal d'EEG plus simple et à fournir une faible DC. Lorsque 1 ' individu est réveillé, son activité cérébrale s'accélère et le signal d'EEG devient plus complexe, ce qui fournit une DC élevée. L'évolution de la DC d'un signal d'EEG permet également de facilement déceler des crises d'epilepsie.Indeed, when an individual sleeps, his brain activity is slower, which tends to make the EEG signal more simple and to provide a low DC. When the individual is awakened, their brain activity accelerates and the EEG signal becomes more complex, which provides a high DC. The evolution of the DC of an EEG signal also makes it easy to detect epileptic seizures.
La signification de la DC peut être enrichie par la confrontation avec 1 ' aspect du signal brut et 1 ' analyse spectrale du signal.The significance of the DC can be enriched by the comparison with the aspect of the raw signal and the spectral analysis of the signal.
Les procédés classiques de calcul des paramètres repré- sentatifs de signaux complexes, notamment de la dimension de corrélation, exigent toutefois une telle puissance de calcul que l'on ne peut, avec des moyens raisonnables (tels qu'un ordinateur de bureau de type PC) , réaliser les calculs en temps réel. Ce problème est aggravé dans le cas des EEG où l'on doit analyser plusieurs signaux simultanés. Ainsi, pour calculer l'évolution de la DC d'un signal d'EEG, on commence par numériser et enregistrer les signaux d'EEG pour en extraire ultérieurement l'évolution de la DC. La surveillance de l'état électrique cérébral nécessite un enregistrement du signal EEG qui dure plusieurs heures, et le calcul de l'évolution de la DC de ces signaux enregistrés dure avec les procédés classiques nettement plus longtemps.The conventional methods of calculating the parameters representative of complex signals, in particular of the correlation dimension, however require such a computing power that one cannot, with reasonable means (such as a PC type desktop computer ), perform the calculations in real time. This problem is compounded in the case of EEGs where multiple signals have to be analyzed simultaneously. Thus, to calculate the evolution of the DC of an EEG signal, we start by digitizing and recording the EEG signals to later extract the evolution of the DC. Monitoring the electrical brain condition requires recording the EEG signal which lasts several hours, and calculating the evolution of the DC of these recorded signals takes much longer with conventional methods.
De tels inconvénients de temps de calcul freinent considérablement les recherches sur les applications de ces paramètres et interdisent la surveillance en temps réel de l'état d'un individu (sommeil, éveil, epilepsie, et autres) par une personne non spécialiste, voire par une machine.Such drawbacks in computing time considerably hamper research on the applications of these parameters and prohibit real-time monitoring of an individual's condition (sleep, wakefulness, epilepsy, and others) by a non-specialist, or even by a machine.
La figure 1 est destinée à illustrer le calcul d'une valeur de dimension de corrélation (DC) . Une valeur de DC se calcule sur un nuage d'un grand nombre de points dans un espace de dimension quelconque d appelé "espace des phases". Pour des raisons de clarté, la figure 1 représente un nuage de points dans un espace de dimension 2. En chaque point du nuage, on fait croître le rayon r d'une boule et on compte, pour chaque rayon, le nombre de points se trouvant à l'intérieur de la boule. Ce que l'on cherche à déterminer, c'est le taux d'accroissement de l'effectif des points d'une boule en fonction de l'augmentation de son rayon.Figure 1 is intended to illustrate the calculation of a correlation dimension (DC) value. A value of DC is calculated on a cloud of a large number of points in a space of any dimension d called "phase space". For reasons of clarity, Figure 1 represents a cloud of points in a space of dimension 2. At each point of the cloud, we make the radius r of a ball grow and we count, for each ray, the number of points found inside the ball. What we are trying to determine is the rate of increase of the number of points of a ball as a function of the increase in its radius.
Lorsque le nuage de points correspond à un phénomène aléatoire, les points remplissent uniformément l'espace. Alors, dans un espace de dimension 2, l'effectif de points à l'intérieur d'une boule (un cercle) croît avec le carré du rayon de la boule. Dans un espace tridimensionnel, l'effectif croît avec le cube du rayon. Dans un espace de dimension d, l'effectif croît avec le rayon élevé à la puissance d. La DC est égale à la puissance du taux d'accroissement, c'est-à-dire qu'elle est égale à 2, 3 ou d pour un nuage de points aléatoires dans un espace de dimension 2, 3 ou d, respectivement.When the point cloud corresponds to a random phenomenon, the points fill the space uniformly. Then, in a space of dimension 2, the number of points inside a ball (a circle) increases with the square of the radius of the ball. In a three-dimensional space, the size increases with the cube of the radius. In a space of dimension d, the number increases with the radius raised to the power d. The DC is equal to the power of the rate of increase, that is to say that it is equal to 2, 3 or d for a random point cloud in a space of dimension 2, 3 or d, respectively.
Lorsque le nuage de points correspond à un phénomène régulier ou périodique, les points du nuage se regroupent sur une ligne régulière. Le taux d'accroissement est alors proportionnel au rayon de la boule, quelle que soit la dimension de l'espace, c'est-à-dire que la DC est égale à 1.When the point cloud corresponds to a regular or periodic phenomenon, the points of the cloud are grouped on a regular line. The rate of increase is then proportional to the radius of the ball, whatever the dimension of the space, that is to say that the DC is equal to 1.
Lorsque le phénomène est chaotique, les points du nuage correspondant se regroupent selon des figures plus ou moins complexes appelées "attracteurs" . Dans ce cas, la DC a une valeur comprise entre 1 et la dimension d de l'espace des phases. On a intérêt à choisir une dimension de l'espace des phases toujours supérieure à la DC de l'attracteur. La figure 2 illustre un exemple pratique de calcul d'une valeur de DC. Calculer le nombre de points se trouvant dans une boule de rayon variable centrée sur chaque point d'un nuage revient en pratique à calculer toutes les distances entre les points du nuage et à les classer dans un histogramme d'intégrale de corrélation. Les limites des classes de l'histogramme sont définies de manière exponentielle, par exemple par puissances de 2. Sur la figure 2, la x-ème classe contient l'effectif des distances comprises entre 0 et 21. Par ailleurs, les effectifs sont exprimés selon une échelle logarithmique de base 2. Généra- lement, pour affiner le calcul, les limites des classes sont des puissances non entières de 2, par exemple de la forme 2^-/ .When the phenomenon is chaotic, the points of the corresponding cloud are grouped according to more or less complex figures called "attractors". In this case, the DC has a value between 1 and the dimension d of the phase space. It is advantageous to choose a dimension of the phase space always greater than the DC of the attractor. Figure 2 illustrates a practical example of calculating a DC value. To calculate the number of points being in a ball of variable radius centered on each point of a cloud amounts in practice to calculate all the distances between the points of the cloud and to classify them in a histogram of integral of correlation. The limits of the histogram classes are defined exponentially, for example by powers of 2. In Figure 2, the x-th class contains the number of distances between 0 and 2 1 . Furthermore, the numbers are expressed according to a basic logarithmic scale 2. General- Lately, to refine the calculation, the limits of the classes are non-integer powers of 2, for example of the form 2 ^ - /.
Avec les échelles logarithmiques utilisées, le degré du taux d'accroissement, c'est-à-dire la DC, est directement égale à la pente de la partie ascendante de l'intégrale. En théorie, la pente devrait être calculée en début d' intégrale de corrélation, mais les effets de bord, dus notamment au calcul sur un nombre fini de points, ainsi que le bruit dans le signal, rendent ce calcul imprécis. Ainsi, la pente est calculée peu après le début de l'intégrale. A titre d'exemple, la figure 2 illustre une pente de 2 obtenue pour les effectifs des troisième, quatrième et cinquième classes, ce qui fournit une DC égale à 2.With the logarithmic scales used, the degree of the rate of increase, that is to say the DC, is directly equal to the slope of the ascending part of the integral. In theory, the slope should be calculated at the beginning of the correlation integral, but the edge effects, notably due to the calculation on a finite number of points, as well as the noise in the signal, make this calculation imprecise. Thus, the slope is calculated shortly after the start of the integral. For example, Figure 2 illustrates a slope of 2 obtained for the enrollments of the third, fourth and fifth classes, which provides a DC equal to 2.
La figure 3 illustre un procédé classiquement utilisé pour créer un nuage de points dans un espace des phases à partir d'un signal échantillonné, afin de pouvoir calculer des dimensions de corrélation. Des échantillons numériques successifs SQ , SI... sont illustrés sous forme de barres verticales de hauteurs correspondant aux valeurs des échantillons. Ces échantillons sont généralement des échantillons de 8 à 12 bits. On souhaite donc créer, à partir des échantillons du signal, et pour chaque nouvel échantillon k (k = 0 , 1. . . ) , un nuage de n points P^ à P]ζ+n-l de d coordonnées chacun. Pour cela, on procède souvent en prenant pour coordonnées de chaque point d échantillons successifs du signal analysé. En d'autres termes, pour un point P^ du nuage (1 = k, k+1. . . k+n-1 ) , on prend pour coordonnées les échantillons S± à S±+d-1 ' 0n P^ut également prendre les coordonnées parmi les échantillons selon un pas p, c'est-à-dire, pour le point P±, prendre les échantillons S±,FIG. 3 illustrates a method conventionally used to create a point cloud in a phase space from a sampled signal, in order to be able to calculate correlation dimensions. Successive digital samples SQ, SI ... are illustrated in the form of vertical bars of heights corresponding to the values of the samples. These samples are generally 8 to 12 bit samples. We therefore wish to create, from the samples of the signal, and for each new sample k (k = 0, 1...), A cloud of n points P ^ to P] ζ + nl with d coordinates each. To do this, we often proceed by taking the coordinates of each point of successive samples of the analyzed signal. In other words, for a point P ^ of the cloud (1 = k, k + 1.. K + n-1), we take as coordinates the samples S ± to S ± + d-1 ' 0n P ^ ut also take the coordinates among the samples according to a step p, that is to say, for the point P ±, take the samples S ±,
S±+D' S±+2Ό' • ' S±+ (d-l)p' Dans Ie as où on analyse plusieurs signaux simultanés (EEG), on peut créer autant de points que de signaux, ou ne créer qu'un seul point en prenant pour coordonnées les échantillons pris au même instant de ces différents signaux.S ± + D ' S ± + 2 Ό ' • 'S ± + (dl) p ' In I e as where we analyze several simultaneous signals (EEG), we can create as many points as signals, or create only a single point taking as coordinates the samples taken at the same time from these different signals.
La DC doit être calculée sur un nombre n de points relativement élevé, par exemple 1000, pour commencer à être significative. Par ailleurs, pour obtenir une dynamique conve- nable de la DC, on choisit souvent un espace des phases de dimension d = 16.The DC must be calculated on a relatively high number n of points, for example 1000, to start to be significant. Furthermore, to obtain a suitable dynamic nable of the DC, we often choose a phase space of dimension d = 16.
La distance entre un point de coordonnées x à x± et un point de coordonnées yη à g s'exprime dans l'espace euclidien habituel par :The distance between a point of coordinates x to x ± and a point of coordinates yη to g is expressed in usual Euclidean space by:
Figure imgf000007_0001
Figure imgf000007_0001
Toutefois, pour simplifier les calculs, on préfère utiliser une autre distance équivalente exprimée sous la forme :However, to simplify the calculations, we prefer to use another equivalent distance expressed in the form:
1616
Σ - y±l i = l Une telle distance représente toutefois 16 calculs de différence, 15 calculs de somme et 16 calculs de valeur absolue, c'est-à-dire 47 instructions auxquelles il faut ajouter au moins les instructions nécessaires à classer la distance dans l'histogramme de la figure 2. Par ailleurs, la fréquence minimale d'échantillonnage utilisée pour les électroencéphalogrammes est de 64 Hz, ce qui veut dire que 1 'on doit effectuer ces calculs 64 fois par seconde, et ceci pour chacun des signaux d'EEG. Compte tenu du nombre de distances à calculer, la masse des calculs est considé- rable et ne peut être effectuée en temps réel avec un matériel de coût raisonnable.Σ - y ± li = l However, such a distance represents 16 difference calculations, 15 sum calculations and 16 absolute value calculations, that is to say 47 instructions to which must be added at least the instructions necessary to classify the distance in the histogram of FIG. 2. Furthermore, the minimum sampling frequency used for electroencephalograms is 64 Hz, which means that these calculations must be carried out 64 times per second, and this for each of the signals of EEG. Given the number of distances to be calculated, the mass of the calculations is considerable and cannot be carried out in real time with equipment of reasonable cost.
Bien entendu, comme une partie des résultats nécessaires au calcul d'une valeur de DC peut servir au calcul de la valeur suivante, on peut envisager un calcul de type glissant, mais ceci limiterait le choix du pas et la masse des calculs reste considérable.Of course, as part of the results necessary for the calculation of a value of DC can be used for the calculation of the following value, one can envisage a calculation of sliding type, but this would limit the choice of the step and the mass of calculations remains considerable.
Un objet de la présente invention est de prévoir un procédé d'analyse de signal de type chaotique, qui nécessite une faible puissance de calcul pour calculer un paramètre représenta- tif d'un phénomène complexe, tel que la dimension de corrélation. La présente invention vise notamment à rendre possible un calcul en temps réel avec un matériel de faible coût. Un autre objet de la présente invention est de fournir en temps réel une information visuelle facilement interprétable d'un phénomène complexe.An object of the present invention is to provide a chaotic type signal analysis method, which requires low computing power to calculate a parameter representative of a complex phenomenon, such as the correlation dimension. The present invention aims in particular to make possible a calculation in real time with low cost hardware. Another object of the present invention is to provide, in real time, easily interpretable visual information of a complex phenomenon.
La présente invention est basée sur la constatation du fait que, pour calculer un paramètre tel que la dimension de corrélation, il est inutile de considérer les distances supérieures à un certain seuil, étant donné qu'un tel paramètre est déterminé par la pente au début d'une intégrale de corrélation des distances ( figure 2 ) . Ainsi, la présente invention propose de ne calculer que les faibles distances inférieures à un seuil donné. En d'autres termes, elle propose une solution pour identifier les distances élevées supérieures au seuil sans avoir à les calculer.The present invention is based on the observation that, to calculate a parameter such as the correlation dimension, it is useless to consider the distances greater than a certain threshold, since such a parameter is determined by the slope at the start of an integral of correlation of the distances (figure 2). Thus, the present invention proposes to calculate only short distances below a given threshold. In other words, it offers a solution to identify high distances above the threshold without having to calculate them.
Selon une première solution pour atteindre ces objets, la présente invention prévoit un procédé d'analyse d'un signal ou de plusieurs signaux simultanés, comprenant les étapes consistant à convertir en échantillons numériques des valeurs successives du ou des signaux ; à former dans un espace discrétisé de dimension d un nuage de n points dont chacun a d coordonnées prises de manière régulière parmi des échantillons successifs du ou des signaux ; à partitionner l'espace de dimension d en des hypercubes ; et à calculer les distances entre points à 1 ' intérieur de chaque hypercubeAccording to a first solution for achieving these objects, the present invention provides a method for analyzing a signal or several simultaneous signals, comprising the steps consisting in converting into digital samples successive values of the signal or signals; forming in a discretized space of dimension of a cloud of n points each of which has d coordinates taken regularly among successive samples of the signal (s); partition the space of dimension d into hypercubes; and calculate the distances between points inside each hypercube
Selon un mode de réalisation de la présente invention, le procédé comprend les étapes consistant à créer pour chaque point un identificateur d'hypercube par une réduction de résolution d'un nombre constitué des bits des coordonnées du point, de manière que des points ayant le même identificateur se trouvent dans le même hypercube ; à organiser les points du nuage dans une liste enchaînée, de manière que les points ayant un même identificateur soient consécutifs dans la liste ; et à créer une table répertoriant les identificateurs des points de la liste enchaînée, cette table fournissant, pour chaque identificateur répertorié, un accès à un premier des points ayant cet identifi- cateur, et une information permettant de retrouver tous les points de même identificateur en parcourant la liste enchaînée à partir du premier point.According to an embodiment of the present invention, the method comprises the steps consisting in creating for each point a hypercube identifier by a reduction in resolution of a number consisting of the bits of the coordinates of the point, so that points having the same identifier are found in the same hypercube; to organize the points of the cloud in a linked list, so that the points having the same identifier are consecutive in the list; and to create a table listing the identifiers of the points of the linked list, this table providing, for each identifier listed, access to a first of the points having this identifier, and information making it possible to find all the points with the same identifier by browsing the linked list starting from the first point.
Selon un mode de réalisation de la présente invention, le procédé comprend, pour chaque nouveau point du nuage, les étapes consistant à déterminer l'identificateur du point ; et à chercher l'identificateur dans la table. Si l'identificateur existe dans la table, on insère le point dans la liste des points de même identificateur, et on met à jour les informations de la table permettant de retrouver tous les points de même identifica- teur. Si l'identificateur n'existe pas dans la table, on insère le nouveau point à une extrémité de la liste enchaînée, et on met à jour la table avec le nouvel identificateur et les informations permettant d'accéder au nouveau point.According to an embodiment of the present invention, the method comprises, for each new point of the cloud, the steps consisting in determining the identifier of the point; and look up the identifier in the table. If the identifier exists in the table, the point is inserted in the list of points with the same identifier, and the information in the table is updated to find all the points with the same identifier. If the identifier does not exist in the table, the new point is inserted at the end of the linked list, and the table is updated with the new identifier and the information allowing access to the new point.
Selon un mode de réalisation de la présente invention, le procédé est appliqué au calcul de la dimension de corrélation du nuage de points, et il comprend, pour chaque nouveau et i-ème point du nuage, les étapes consistant à calculer les distances entre le nouveau point et les points ayant le même identificateur ; à classer les distances dans un histogramme d'intégrale de corrélation ; à calculer les distances entre le (±-n)è e point du nuage et les points ayant le même identificateur que le (i-njème point ; à déclasser de l'histogramme les distances calculées pour le (i-njème point ; et à fournir le degré du taux d'accroissement des effectifs de 1 'histogramme en tant que dimension de corréla- tion.According to an embodiment of the present invention, the method is applied to the calculation of the correlation dimension of the point cloud, and it comprises, for each new and i-th point of the cloud, the steps consisting in calculating the distances between the new point and points with the same identifier; classifying the distances in a correlation integral histogram; to calculate the distances between the (± -n) th point of the cloud and the points having the same identifier as the (i-n-th point; to downgrade from the histogram the distances calculated for the (i-n-th point; and to provide the degree of population growth rate of the histogram as a correlation dimension.
Selon un mode de réalisation de la présente invention, le procédé est appliqué à un signal d'EEG.According to an embodiment of the present invention, the method is applied to an EEG signal.
Selon une deuxième solution pour atteindre les objets susmentionnés, la présente invention prévoit un procédé d'analyse d'un signal ou de plusieurs signaux simultanés, comprenant les étapes consistant à convertir en échantillons numériques des valeurs successives du ou des signaux ; à former dans un espace discrétisé de dimension d un nuage de n points dont chacun a d coordonnées prises de manière régulière parmi des échantillons successifs du ou des signaux ; à définir une ligne unique passant par tous les points de l'espace, cette ligne étant telle que des points proches dans l'espace aient des rangs proches sur la ligne ; et à exploiter les rangs des points sur ladite ligne pour fournir une information représentative du ou des signaux ana- lysés.According to a second solution for achieving the abovementioned objects, the present invention provides a method for analyzing a signal or several simultaneous signals, comprising the steps consisting in converting successive values of the signal (s) into digital samples; forming in a discretized space of dimension of a cloud of n points, each of which has co-ordinates taken regularly among successive samples of the signal (s); to define a single passing line by all the points in space, this line being such that close points in space have close ranks on the line; and using the ranks of the points on said line to provide information representative of the analyzed signal (s).
Selon un mode de réalisation de la présente invention, ladite ligne est définie de manière que le rang d'un point sur la ligne soit constitué des bits des coordonnées du point, regroupés par poids égaux. Selon un mode de réalisation de la présente invention, le procédé comprend les étapes consistant à associer à chaque point un identificateur obtenu par une réduction de résolution du rang du point sur ladite ligne ; à ordonner les points du nuage dans une liste enchaînée par leurs rangs sur la ligne ; et à créer une table répertoriant les identificateurs des points de la liste enchaînée, cette table fournissant, pour chaque identificateur répertorié, un accès à un premier des points ayant cet identificateur, et une information permettant de retrouver tous les points de même identificateur en parcourant la liste enchaî- née à partir du premier point.According to an embodiment of the present invention, said line is defined so that the rank of a point on the line is made up of the bits of the coordinates of the point, grouped by equal weights. According to an embodiment of the present invention, the method comprises the steps consisting in associating with each point an identifier obtained by a reduction in resolution of the rank of the point on said line; to order the points of the cloud in a list linked by their ranks on the line; and to create a table listing the identifiers of the points in the linked list, this table providing, for each identifier listed, access to a first of the points having this identifier, and information making it possible to find all the points of the same identifier by browsing the list linked from the first point.
Selon un mode de réalisation de la présente invention, le procédé comprend, pour chaque nouveau point du nuage, les étapes consistant à déterminer l'identificateur du point ; et à chercher l'identificateur dans la table. Si l'identificateur existe dans la table, on insère le point dans la liste des points de même identificateur en respectant 1 'ordre des rangs sur ladite ligne, et on met à jour les informations de la table permettant de retrouver tous les points de même identificateur. Si l'identificateur n'existe pas dans la table, on cherche dans la table les identificateurs, précédent et suivant, encadrant le nouvel identificateur, on insère le nouveau point dans la liste après le dernier point ayant 1 ' identificateur précédent et le premier point ayant l'identificateur suivant, et on met à jour la table avec le nouvel identificateur et les informations permettant d'accéder au nouveau point. Selon un mode de réalisation de la présente invention, le procédé est appliqué au calcul de la dimension de corrélation du nuage de points, et il comprend, pour chaque nouveau et i-ème point du nuage, les étapes consistant à calculer les distances entre le nouveau point et les points dont les rangs sur ladite ligne sont compris dans une marge prédéterminée autour du rang sur la ligne du nouveau point ; à classer les distances dans un histogramme d'intégrale de corrélation ; à calculer les distances entre le (i-njème point du nuage et les points dont les rangs sur la ligne sont compris dans la marge prédéterminée autour du rang sur la ligne du (i-njème point ; à déclasser de l'histogramme les distances calculées pour le (i-njèrne point du nuage ; et à fournir le degré du taux d' accroissement des effectifs de l'histogramme en tant que dimension de corrélation. Selon un mode de réalisation de la présente invention, le procédé comprend les étapes consistant à définir un ensemble de sous-nuages, cet ensemble contenant tous les points du nuage ; dans chaque sous-nuage, à définir un ensemble de voisinages sous forme d'intervalles sur ladite ligne ; à calculer les distances entre les points de chaque intervalle, en excluant les distances déjà calculées sur un intervalle précédent ; à classer les distances dans un histogramme d'intégrale de corrélation ; lorsque les distances ont été calculées dans tous les voisinages d'un sous-nuage, à calculer le degré du taux d'accroissement des effectifs de l'histogramme en tant que dimension de corrélation du sous-nuage, et à classer cette dimension de corrélation dans un deuxième histogramme ; et à afficher chaque effectif du deuxième histogramme en une couleur ou nuance de gris correspondant à l'effectif, sur un axe associé aux classes du deuxième histogramme.According to an embodiment of the present invention, the method comprises, for each new point of the cloud, the steps consisting in determining the identifier of the point; and look up the identifier in the table. If the identifier exists in the table, the point is inserted in the list of points with the same identifier, respecting the order of the ranks on said line, and the information in the table is updated to find all the points of the same identifier. If the identifier does not exist in the table, we look in the table for the identifiers, previous and next, framing the new identifier, we insert the new point in the list after the last point having the previous identifier and the first point having the following identifier, and the table is updated with the new identifier and the information allowing access to the new point. According to an embodiment of the present invention, the method is applied to the calculation of the correlation dimension of the point cloud, and it comprises, for each new and i-th point of the cloud, the steps consisting in calculating the distances between the new point and the points whose rows on said line are within a predetermined margin around the row on the line of the new point; classifying the distances in a correlation integral histogram; to calculate the distances between the (i-nth point of the cloud and the points whose rows on the line are included in the predetermined margin around the row on the line of the (i-nth point; to downgrade the calculated distances from the histogram for the (i-nth point of the cloud; and providing the degree of the rate of increase of the histogram counts as a correlation dimension. According to an embodiment of the present invention, the method comprises the steps of define a set of sub-clouds, this set containing all the points of the cloud; in each sub-cloud, define a set of neighborhoods in the form of intervals on said line; calculate the distances between the points of each interval, by excluding the distances already calculated on a previous interval; to classify the distances in a correlation integral histogram; when the distances have been calculated in all the neighborhoods of a sub-n uage, to calculate the degree of the rate of increase in the numbers of the histogram as a correlation dimension of the sub-cloud, and to classify this correlation dimension in a second histogram; and to display each number of the second histogram in a color or shade of gray corresponding to the number, on an axis associated with the classes of the second histogram.
Selon un mode de réalisation de la présente invention, le procédé comprend, pour chaque point du nuage, les étapes consistant à réduire, le cas échéant, la résolution du rang du point sur ladite ligne pour constituer un rang effectif ; à créer deux coordonnées, l'une constituée des bits de poids pair du rang effectif, l'autre constituée des bits de poids impair ; et à illuminer sur un écran le pixel ayant lesdites deux coordonnées, ramenées à l'échelle de l'écran.According to an embodiment of the present invention, the method comprises, for each point of the cloud, the steps consisting in reducing, if necessary, the resolution of the rank of the point on said line to constitute an effective rank; to create two coordinates, one consisting of the bits of even weight of the rank effective, the other consisting of the bits of odd weight; and illuminating on a screen the pixel having said two coordinates, reduced to the scale of the screen.
Ces objets, caractéristiques et avantages, ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles : les figures 1 et 2, précédemment décrites, illustrent un procédé classique de calcul de dimension de corrélation ; la figure 3 illustre un procédé classique pour transformer des échantillons successifs d'un signal en un nuage de points dans 1 'espace afin de pouvoir calculer la dimension de corrélation ; la figure 4 est destinée à illustrer une première solution selon l'invention pour exclure des calculs les distances élevées ; la figure 5 représente les points d'un nuage, organisés selon 1 ' invention dans une liste enchaînée afin de permettre un calcul particulièrement rapide et économe en mémoire ; les figures 6 et 7 sont destinées à illustrer une deuxième solution optimisée selon 1 ' invention pour exclure des calculs les distances élevées ; la figure 8A représente un histogramme des dimensions de corrélation dans un nuage de points donné ; et la figure 8B illustre une représentation possible de l'évolution de l'histogramme de la figure 8A pour un nuage de points qui change dans le temps.These objects, characteristics and advantages, as well as others of the present invention will be explained in detail in the following description of particular embodiments given without limitation in relation to the attached figures, among which: FIGS. 1 and 2, previously described, illustrate a conventional method for calculating the correlation dimension; FIG. 3 illustrates a conventional method for transforming successive samples of a signal into a point cloud in space so as to be able to calculate the correlation dimension; FIG. 4 is intended to illustrate a first solution according to the invention for excluding from the calculations the long distances; FIG. 5 represents the points of a cloud, organized according to the invention in a linked list in order to allow a particularly fast and memory-efficient calculation; Figures 6 and 7 are intended to illustrate a second optimized solution according to one invention to exclude calculations long distances; FIG. 8A represents a histogram of the correlation dimensions in a given point cloud; and FIG. 8B illustrates a possible representation of the evolution of the histogram of FIG. 8A for a point cloud which changes over time.
Comme le représente la figure 4 en dimension 2, une première solution selon l'invention pour ne calculer que les faibles distances entre points consiste à partitionner 1 'espace des phases en des voisinages jointifs à l'intérieur desquels on limite le calcul des distances. Les voisinages définissent ainsi, par leur taille, un certain seuil au delà duquel on ne calcule plus les distances. Dans un espace de dimension d quelconque, les voisinages sont des hypercubes HC. Comme on le verra ci-après, on peut identifier de manière particulièrement simple et rapide les points qui se trouvent à l'intérieur d'un même hypercube afin de calculer les seules distances nécessaires. Cette solution pourrait à priori sembler imprécise, car, de part et d'autre d'une frontière entre deux hypercubes, on peut trouver deux points proches, donc à une distance qui devrait être comptabilisée. Or, cette distance n'est pas comptabilisée, car les deux points sont dans des hypercubes distincts. En réalité, étant donné que le nombre de points du nuage ( 1000 = 2^-0) est négligeable par rapport au nombre de points possibles (212^) dans un espace typique de dimension 16 à coordonnées définies sur 8 bits, il est généralement très peu probable que deux points proches soient dans des hypercubes distincts. Cette probabilité peut être rendue suffisamment faible en réduisant le nombre d'hypercubes.As shown in FIG. 4 in dimension 2, a first solution according to the invention for calculating only the short distances between points consists in partitioning the space of the phases into contiguous neighborhoods within which the calculation of the distances is limited. The neighborhoods thus define, by their size, a certain threshold beyond which the distances are no longer calculated. In a space of any dimension, the neighborhoods are HC hypercubes. As we will see below, we can identify in a particularly simple and fast way the points which are inside a same hypercube in order to calculate the only necessary distances. This solution could a priori seem imprecise, because, on both sides of a border between two hypercubes, one can find two close points, therefore at a distance which should be counted. However, this distance is not counted, because the two points are in separate hypercubes. In reality, given that the number of points in the cloud (1000 = 2 ^ -0) is negligible compared to the number of possible points (2 12 ^) in a typical space of dimension 16 with coordinates defined on 8 bits, it is generally very unlikely that two close points are in separate hypercubes. This probability can be made sufficiently low by reducing the number of hypercubes.
Les hypercubes sont choisis de manière que 1 'hypercube auquel appartient un point soit identifié par les bits de poids fort de chacune ou certaines des coordonnées du point. Par exem- pie, on considère des points de coordonnées XQ à ±5, chaque coordonnée x± étant exprimée en binaire par Xj_( 7 )XJ_ ( 6 ) x±(0) , où x±(j) est le bit de poids de la coordonnée x^. Alors, l'hypercube auquel appartient un point est identifié, par exemple, par l'identificateur binaire x0( 7)x0(6)x1 ( 7)x1 (6) . . .x15( 7 )x15(6) .The hypercubes are chosen so that the hypercube to which a point belongs is identified by the most significant bits of each or some of the coordinates of the point. For example, we consider points of coordinates X Q to ± 5, each coordinate x ± being expressed in binary by Xj_ (7) XJ_ (6) x ± (0), where x ± (j) is the bit of weight of the coordinate x ^. Then, the hypercube to which a point belongs is identified, for example, by the binary identifier x 0 (7) x 0 (6) x 1 (7) x 1 (6). . .x 15 (7) x 15 (6).
Cet identificateur est constitué des deux bits de poids fort de chacune des coordonnées du point. Ainsi, tous les points ayant des coordonnées dont les deux bits de poids fort sont identiques appartiennent à un même hypercube. Autrement dit, on connaît l'hypercube auquel appartient un point en examinant les deux bits de poids fort de chacune de ses coordonnées.This identifier consists of the two most significant bits of each of the point coordinates. Thus, all the points having coordinates whose two most significant bits are identical belong to the same hypercube. In other words, we know the hypercube to which a point belongs by examining the two most significant bits of each of its coordinates.
En pratique, on obtient de bons résultats, en termes de précision et de faible puissance de calcul, en identifiant les hypercubes par le bit de poids le plus fort de chaque coordonnée, c'est-à-dire en utilisant un identificateur du type x0( 7)x1 ( 7) . . .x15( 7) . Un tel identificateur permet de définir 22^ hypercubes de même taille.In practice, good results are obtained, in terms of accuracy and low computing power, by identifying the hypercubes by the most significant bit of each coordinate, that is to say by using an identifier of the type x 0 (7) x 1 (7). . .x 15 (7). Such an identifier makes it possible to define 22 ^ hypercubes of the same size.
On obtient encore de bons résultats en diminuant le nombre d'hypercubes en limitant l'identificateur aux bits de quelques unes des coordonnéesWe still get good results by reducing the number of hypercubes by limiting the identifier to the bits of some of the coordinates
Afin de diminuer le nombre d'hypercubes, on peut aussi appliquer une fonction monotone réductrice quelconque sur l'identificateur de 16 bits ci-dessus, ou sur un identificateur de 128 bits constitué de tous les bits des coordonnées, pour générer un identificateur effectif de plus faible résolution. Par exemple on peut diviser 1 ' identificateur de départ par un facteur supérieur à 1, ou le porter à une puissance inférieure à 1 (1/2, 1/16...). Dans ce cas, les hypercubes ne sont plus nécessairement de même taille.In order to reduce the number of hypercubes, we can also apply any monotonic reducing function on the 16-bit identifier above, or on a 128-bit identifier made up of all the coordinate bits, to generate an effective identifier of lower resolution. For example, we can divide the starting identifier by a factor greater than 1, or bring it to a power less than 1 (1/2, 1/16 ...). In this case, the hypercubes are no longer necessarily the same size.
Une fois que les hypercubes sont définis de la manière décrite ci-dessus, il faut également prévoir un moyen efficace pour identifier les couples de points qui se trouvent à l'intérieur d'un même hypercube. La figure 5 illustre un tel moyen. Les points P du nuage à traiter, au fur et à mesure qu'on les acquiert, sont insérés dans une liste enchaînée, et ceci de manière que des points appartenant à un même hypercube soient consécutifs dans la liste. Les points appartenant à un même hypercube sont repré- sentes à la figure 5 sur une même horizontale.Once the hypercubes are defined in the manner described above, it is also necessary to provide an effective means for identifying the pairs of points which are inside the same hypercube. Figure 5 illustrates one such means. The points P of the cloud to be processed, as and when they are acquired, are inserted into a linked list, and this so that points belonging to the same hypercube are consecutive in the list. The points belonging to the same hypercube are shown in FIG. 5 on the same horizontal.
Comme cela est illustré en bas de la figure 5, chaque point P est stocké à une adresse A spécifique avec ses coordonnées. Afin de pouvoir établir les liens entre les différents points de la liste, chaque point stocke également l'adresse Aprec du point qui le précède dans la liste et 1 ' adresse Asuiv du point qui le succède dans la liste.As illustrated at the bottom of FIG. 5, each point P is stored at a specific address A with its coordinates. In order to be able to establish the links between the different points of the list, each point also stores the address Aprec of the point which precedes it in the list and the address Asuiv of the point which succeeds it in the list.
Alors, "insérer" un nouveau point d'adresse An dans la liste signifie que l'on met à jour :So, "inserting" a new An address point in the list means that we update:
• 1 'adresse Asuiv du point précédent pour pointer vers l'adresse An du nouveau point, • l'adresse Aprec du point suivant pour pointer vers l'adresse An, et• the Asuiv address of the previous point to point to the An address of the new point, • the address Aprec from the next point to point to the address An, and
• les adresses Aprec et Asuiv du nouveau point pour pointer vers les adresses des points précédent et suivant. L' adresse Aprec du premier point de la liste et• the Aprec and Asuiv addresses of the new point to point to the addresses of the previous and next points. The Aprec address of the first point in the list and
1 'adresse Asuiv du dernier point de la liste sont sans signification.The Asuiv address of the last point in the list is meaningless.
Par ailleurs, on utilise une table répertoriant tous les identificateurs HC1, HC2... des hypercubes dans lesquels se trouvent des points de la liste enchaînée. Cette table contient également, pour chaque identificateur d'hypercube, des informations permettant de retrouver dans la liste enchaînée tous les points de l'hypercube correspondant. Pour cela, par exemple, la table contient 1 ' adresse Aprem du premier point appartenant à l'hypercube dans la liste enchaînée. Ensuite, pour que l'on puisse facilement à partir de ce premier point retrouver tous les points appartenant à l'hypercube, la table peut contenir, soit le nombre N de points contenus dans l'hypercube, soit l'adresse Adern du dernier point de l'hypercube dans la liste enchaînée. La table pourra, comme cela est représenté, contenir toutes ces informations qui, bien qu'elles sont redondantes, permettront, selon le type d'opération effectuée, d'accélérer le traitement.Furthermore, we use a table listing all the identifiers HC1, HC2 ... hypercubes in which there are points in the linked list. This table also contains, for each hypercube identifier, information allowing to find in the linked list all the points of the corresponding hypercube. For this, for example, the table contains the Aprem address of the first point belonging to the hypercube in the linked list. Then, so that we can easily from this first point find all the points belonging to the hypercube, the table can contain either the number N of points contained in the hypercube, or the Adern address of the last point of the hypercube in the linked list. The table may, as shown, contain all this information which, although it is redundant, will, depending on the type of operation performed, speed up processing.
Les identificateurs d'hypercube sont rangés à des emplacements consécutifs de la table. Ils peuvent être rangés par ordre croissant ou par ordre chronologique. L'ordre chronologique est plus simple, car il suffit de ranger chaque nouvel identificateur derrière le dernier identificateur de la table.The hypercube identifiers are stored in consecutive places in the table. They can be arranged in ascending or chronological order. The chronological order is simpler, because it suffices to put each new identifier behind the last identifier in the table.
Lorsque 1 'on a besoin d'un identificateur dans la table, celle-ci est parcourue identificateur par identificateur jusqu'à ce qu'on trouve celui qu'on cherche. Le nombre d'identificateurs à parcourir est en général nettement plus faible que le nombre de points du nuage analysé.When one needs an identifier in the table, it is scanned identifier by identifier until we find the one we are looking for. The number of identifiers to browse is generally much lower than the number of points in the cloud analyzed.
L'organisation des données de la figure 5 est utilisée de la manière suivante. Lorsque l'on acquiert un nouveau point, on dispose de ses coordonnées, à partir desquelles on commence par retrouver l'identificateur d'hypercube correspondant. La table d'identificateurs est alors parcourue.The data organization in Figure 5 is used as follows. When you acquire a new point, you have its coordinates, from which you start by finding the corresponding hypercube identifier. The identifier table is then scanned.
Si on trouve l'identificateur, par exemple HC3, on insère le point dans la liste enchaînée, par exemple après le dernier point appartenant à l'hypercube HC3, indiqué dans la table par l'adresse Adern.If the identifier is found, for example HC3, the point is inserted in the linked list, for example after the last point belonging to the hypercube HC3, indicated in the table by the address Adern.
Comme on l'a précédemment indiqué, pour opérer cette insertion, et comme cela est symbolisé dans la figure, les adresses Aprec et Asuiv du nouveau point et des deux points l'encadrant sont convenablement mises à jour. Par ailleurs, 1 ' adresse Adern pour 1 ' identificateur HC3 reçoit 1 'adresse du nouveau point et le nombre N3 est mis à jour pour indiquer le nouveau nombre de points contenus dans 1 'hypercube HC3.As previously indicated, to operate this insertion, and as symbolized in the figure, the addresses Aprec and Asuiv of the new point and of the two points surrounding it are suitably updated. Furthermore, the Adern address for the HC3 identifier receives the address of the new point and the number N3 is updated to indicate the new number of points contained in the HC3 hypercube.
Ensuite, on calcule les distances entre le nouveau point et chacun des autres points appartenant à l'hypercube HC3. Les autres points de 1 'hypercube sont trouvés immédiatement en remontant la liste enchaînée point par point. Le calcul de distances s'arrête lorsqu'on a parcouru N3-I points, ou bien lorsque l'on rencontre le point d'adresse Aprem. Si l'identificateur d'hypercube du nouveau point n'existe pas dans la table, cet identificateur est ajouté derrière le dernier identificateur de la table, les adresses Adern et Aprem pour ce nouvel identificateur indiquant toutes les deux l'adresse du nouveau point. Le nouveau point est inséré en fin de liste.Next, the distances between the new point and each of the other points belonging to the hypercube HC3 are calculated. The other points of the hypercube are found immediately by going up the linked list point by point. The distance calculation stops when we have crossed N3-I points, or when we meet the Aprem address point. If the hypercube identifier of the new point does not exist in the table, this identifier is added behind the last identifier of the table, the Adern and Aprem addresses for this new identifier both indicating the address of the new point. The new point is inserted at the end of the list.
Comme on vient de le décrire à titre d'exemple ci- dessus, chaque nouveau point est inséré dans la liste après le dernier point appartenant au même hypercube. Bien entendu, chaque nouveau point pourrait être inséré ailleurs, pourvu qu'il soit consécutif dans la liste avec les points appartenant au même hypercube.As just described by way of example above, each new point is inserted into the list after the last point belonging to the same hypercube. Of course, each new point could be inserted elsewhere, provided that it is consecutive in the list with the points belonging to the same hypercube.
Dans le cas où le procédé est utilisé pour calculer la dimension de corrélation (DC) , les distances calculées dans 1'hypercube où arrive le nouveau point sont classées de manière classique dans un histogramme du type de la figure 2 au fur et à mesure qu'elles sont calculées.In the case where the method is used to calculate the correlation dimension (DC), the distances calculated in the hypercube where the new point arrives are classified so classic in a histogram of the type of figure 2 as they are calculated.
Dans le cadre d'un calcul glissant sur n points, on pourra prévoir n emplacements mémoire à des adresses A succes- sives pour stocker les points, ces emplacements étant utilisés circulairement. Ainsi, dans 1 'exemple de la figure 5, le nouveau point P-L arrivant dans l'hypercube HC3 sera stocké à l'adresse où était stocké le point P±-n, qui se trouvait, par exemple, dans 1'hypercube HC^. Avant d'écraser ce point P±-n, on recalcule les distances entre ce point et les autres points de l'hypercube HC^ dans le but de supprimer les effets provoqués par le point P±-nr et donc de ne refléter que les effets provoqués par les n points courants P±-n+1 à P±.In the context of a sliding calculation on n points, n memory locations may be provided at successive addresses A for storing the points, these locations being used circularly. Thus, in the example of FIG. 5, the new point PL arriving in the hypercube HC3 will be stored at the address where the point P ± - n was stored, which was, for example, in the hypercube HC ^ . Before overwriting this point P ± - n , the distances between this point and the other points of the hypercube HC ^ are recalculated in order to remove the effects caused by the point P ± - nr and therefore only reflect the effects caused by the n current points P ± -n + 1 to P ±.
Dans le cadre du calcul de la DC, les distances calcu- lées pour le point P±- sont déclassées de l'histogramme de la figure 2, c'est-à-dire que, au lieu d' incrémenter les effectifs des classes correspondant aux distances trouvées, on les décrémente.In the context of the calculation of the DC, the distances calculated for the point P ± - are downgraded from the histogram of FIG. 2, that is to say that, instead of incrementing the numbers of the corresponding classes at the distances found, we decrement them.
Bien entendu, comme cela est symbolisé dans la figure, en supprimant le point P±-n dans la liste, on met à jour les adresses Aprec et Asuiv des points qui 1 'encadraient et le nombre Ni dans la table, et le cas échéant l'adresse Adern ou Aprem.Of course, as symbolized in the figure, by deleting the point P ± - n in the list, we update the addresses Aprec and Asuiv of the points which framed it and the number Ni in the table, and if necessary Adern or Aprem address.
Bien qu'il soit nécessaire de mettre à jour l'histogramme à chaque nouveau point, il suffit en pratique de fournir quatre valeurs de DC par seconde, calculées de manière classique à partir de l'histogramme, tous les f/4 points, f étant la fréquence d'échantillonnageAlthough it is necessary to update the histogram at each new point, in practice it suffices to provide four values of DC per second, conventionally calculated from the histogram, every f / 4 points, f being the sampling frequency
Dans certains cas, et notamment pour maîtriser le temps de calcul en fonction du signal analysé, il peut être utile de modifier le nombre et donc la taille des hypercubes en cours d'analyse. Alors, pour que la gestion de la liste enchaînée soit simple, les identificateurs d'hypercube sont rangés par ordre croissant. Les points sont affectés de rangs établis à partir de leurs coordonnées, et rangés dans la liste par rangs croissants. Les identificateurs d'hypercube correspondent alors aux rangs tronqués sur un plus ou moins grand nombre de bits de poids fort. Ainsi, par exemple, lorsque la taille d'un hypercube diminue en augmentant le nombre de bits (la résolution) de son identificateur, les points qui appartenaient à cet hypercube, mais qui se retrouvent dehors, appartiendront à des hypercubes adjacents, grâce à la contiguïté des rangs des points dans la liste.In some cases, and in particular to control the calculation time as a function of the signal analyzed, it may be useful to modify the number and therefore the size of the hypercubes being analyzed. So, for the management of the linked list is simple, the hypercube identifiers are arranged in ascending order. Points are assigned ranks established from their coordinates, and ranked in the list by increasing ranks. The hypercube identifiers then correspond to the ranks truncated on a greater or lesser number of most significant bits. So, for example, when the size of a hypercube decreases by increasing the number of bits (the resolution) of its identifier, the points which belonged to this hypercube, but which are found outside, will belong to adjacent hypercubes, thanks to the contiguity of the ranks of the points in the list.
Les figures 6 et 7 sont destinées à illustrer une solution optimisée selon 1 ' invention permettant de définir de manière simple et précise un voisinage d'un point quelconque de l'espace des phases et de trouver rapidement les points d'un nuage situés à l'intérieur de ce voisinage. Cette solution s'applique donc particulièrement bien à la dimension de corrélation pour éviter de calculer inutilement les distances sortant du voisinage, mais elle s'applique également à d'autres paramètres dont la détermi- nation est basée sur des calculs dans un voisinage d'un point. Le principe de cette solution pourra être utilisé pour d'autres applications, dont on citera un exemple plus loin.FIGS. 6 and 7 are intended to illustrate an optimized solution according to the invention making it possible to define in a simple and precise manner a neighborhood of any point of the phase space and to quickly find the points of a cloud located at the inside this neighborhood. This solution therefore applies particularly well to the correlation dimension to avoid unnecessarily calculating the distances leaving the neighborhood, but it also applies to other parameters whose determination is based on calculations in a neighborhood of a point. The principle of this solution could be used for other applications, an example of which will be cited later.
Cette solution consiste à définir une ligne unique qui passe par tous les points de l'espace des phases. Il est possible de définir une telle ligne, car l'espace est discrétisé du fait que les coordonnées des points sont des nombres de résolution finie, en pratique binaires. Cette ligne présente en outre la propriété d'être telle que des points voisins dans l'espace soient voisins sur la ligne, quelle que soit l'échelle (ou la taille) du voisinage considéré. Les lignes fractales de dimension d répondent à ces propriétés. En procédant ainsi pour les paramètres tels que la DC, il suffira de limiter les calculs de distances aux points qui ont des rangs voisins sur la ligne fractale, puisque ces points seront alors voisins dans l'espace. La figure 6 illustre un exemple en dimension 2 d'une telle ligne fractale. Les points sont regroupés quatre par quatre en carrés, les quatre points d'un carré étant reliés en Z. Ensuite, les carrés sont regroupés quatre par quatre selon des carrés plus grands et sont reliés en Z dans chaque carré plus grand. Les carrés plus grands sont regroupés quatre par quatre selon des carrés encore plus grands et sont reliés en Z dans chaque carré encore plus grand, et ainsi de suite.This solution consists in defining a single line which passes through all the points of the phase space. It is possible to define such a line, because the space is discretized because the coordinates of the points are numbers of finite resolution, in binary practice. This line also has the property of being such that neighboring points in space are neighboring on the line, whatever the scale (or the size) of the neighborhood considered. Fractal lines of dimension d meet these properties. By doing so for parameters such as the DC, it will suffice to limit the distance calculations to the points which have neighboring ranks on the fractal line, since these points will then be neighboring in space. Figure 6 illustrates a 2-dimensional example of such a fractal line. The points are grouped four by four into squares, the four points of a square being connected in Z. Then, the squares are grouped four by four according to larger squares and are connected in Z in each larger square. The larger squares are grouped four by four according to even larger squares and are connected in Z in each even larger square, and so on.
En dimension d, les points sont regroupés par hypercubes de taille croissante, au lieu de carrés. Bien entendu, les liaisons pourraient être définies de nombreuses autres manières, par exemple en N, en C, en X, en U... L'avantage de la ligne fractale illustrée en figure 6 est que sa mise en équation est particulièrement simple et immédiatement généralisable à un espace de dimension d quelconque. La mise en équation consiste à exprimer le rang d'un point quelconque sur la ligne en fonction de ses coordonnées.In dimension d, the points are grouped by hypercubes of increasing size, instead of squares. Of course, the connections could be defined in many other ways, for example in N, in C, in X, in U ... The advantage of the fractal line illustrated in FIG. 6 is that its setting in equation is particularly simple and immediately generalizable to any space of dimension d. The equation consists in expressing the rank of any point on the line according to its coordinates.
Si les coordonnées d'un point sont XQ, x^ . . . x-d-l > chaque coordonnée XJ_ étant exprimée, par exemple, sur e = 8 bits XJ (7) , x (6) . . . x (0) , le rang de ce point sur une ligne fractale du type de la figure 6, généralisée à l'espace de dimension d, est exprimé par le nombre binaire : x0 (7)X (7) . . .xd__ (7)x0 (6)x1 (6) . . .xd_1 (6)xQ (S) . . .xQ (0)x1 (0) . . .xd_1 (0) .If the coordinates of a point are XQ, x ^. . . xdl > each coordinate XJ_ being expressed, for example, on e = 8 bits XJ (7), x (6). . . x (0), the rank of this point on a fractal line of the type of figure 6, generalized to the space of dimension d, is expressed by the binary number: x 0 (7) X (7). . .x d __ (7) x 0 (6) x 1 (6). . .x d _ 1 (6) x Q (S). . .x Q (0) x 1 (0). . .x d _ 1 (0).
En d'autres termes, ce rang de ed bits (128 bits lorsque d = 16 et e = 8) , est constitué des bits des coordonnées du point, regroupés par poids égaux. En décimal, ce rang, que l'on pourra appeler rang fractal, s'exprime par :In other words, this rank of ed bits (128 bits when d = 16 and e = 8), is made up of the bits of the coordinates of the point, grouped by equal weights. In decimal, this rank, which we can call fractal rank, is expressed by:
Figure imgf000019_0001
Figure imgf000019_0001
Ce rang fractal peut être comparé à l'adresse cartésienne décimale classiquement utilisée pour obtenir l'emplacement mémoire d'une donnée mul exprimée par :This fractal rank can be compared to the Cartesian decimal address conventionally used to obtain the memory location of a mul datum expressed by:
Figure imgf000019_0002
Figure imgf000019_0002
L'adresse cartésienne est obtenue en juxtaposant les lignes de la matrice des bits des coordonnées d'un point, tandis que le rang fractal du point est obtenu en juxtaposant les lignes de la transposée de cette matrice.The Cartesian address is obtained by juxtaposing the lines of the matrix of the bits of the coordinates of a point, while the fractal rank of the point is obtained by juxtaposing the lines of the transpose of this matrix.
La figure 7 illustre plus précisément le procédé utilisant le rang sur la ligne fractale ainsi définie pour éviter le calcul des distances supérieures à un seuil donné. La ligne fractale est représentée étirée selon un axe horizontal, de sorte que les rangs des points correspondent tout simplement à des abscisses sur cet axe. Lorsque 1 'on acquiert un nouveau point courant Pc, on calcule à partir de ses coordonnées son rang Rc sur la ligne fractale. Comme on vient de le voir, le calcul de ce rang s'effectue par une simple recombinaison des bits des coordonnées du point. On définit autour du point Pc un voisinage dans lequel on limitera la recherche des points pour calculer les distances. Ce voisinage n'est autre qu'un intervalle de rangs, de préférence centré sur le rang Rc. Par exemple, l'intervalle est égal à Rc JM, où M est un seuil prédéfini. Les points de cet intervalle, voisins du point Pc sur la ligne fractale, sont également voisins du point Pc dans 1 'espace grâce aux propriétés susmentionnées de cette ligne fractale. On définit de cette manière un voisinage centré sur chaque point à analyser, ce qui fournit des résultats plus précis que lorsque les voisinages sont fixes, comme à la figure 4.FIG. 7 illustrates more precisely the method using the rank on the fractal line thus defined to avoid the calculation of distances greater than a given threshold. Line fractal is shown stretched along a horizontal axis, so that the rows of points simply correspond to abscissas on this axis. When acquiring a new current point Pc, its rank Rc on the fractal line is calculated from its coordinates. As we have just seen, the calculation of this rank is carried out by a simple recombination of the bits of the coordinates of the point. We define around the point Pc a neighborhood in which we will limit the search for points to calculate the distances. This neighborhood is none other than an interval of rows, preferably centered on the row Rc. For example, the interval is equal to Rc JM, where M is a predefined threshold. The points of this interval, close to the point Pc on the fractal line, are also close to the point Pc in space thanks to the aforementioned properties of this fractal line. This defines a neighborhood centered on each point to be analyzed, which provides more precise results than when the neighborhoods are fixed, as in Figure 4.
Bien entendu, une ligne fractale du type de la figure 6 n'est pas parfaite, c'est-à-dire qu'elle présente des points singuliers qui seront proches dans l'espace mais éloignés sur la ligne, ou inversement. Le nombre de ces points est toutefois généralement négligeable, notamment si les voisinages sont grands.Of course, a fractal line of the type of FIG. 6 is not perfect, that is to say that it has singular points which will be close in space but distant on the line, or vice versa. The number of these points is however generally negligible, especially if the neighborhoods are large.
Afin d'identifier rapidement les points situés dans le même voisinage qu'un point courant Pc, les points sont insérés dans une liste enchaînée au fur et à mesure qu'on les analyse, comme cela a été décrit en relation avec la figure 5. En plus, tous les points de la liste seront ordonnés selon leurs rangs sur la ligne fractale. Pour accélérer la recherche de l'emplacement où un nouveau point doit être inséré dans la liste enchaînée, on conservera la table d'identificateurs d'hypercube de la figure 5, chaque identificateur d'hypercube étant constitué d'un nombre limité de bits de poids fort des rangs des points de la liste, par exemple des d bits de poids fort. La table d'identificateurs d'hypercube sert ici seulement à retrouver de manière approchée l'emplacement de chaque nouveau point dans la liste enchaînée, ce nouveau point devant être inséré dans la liste entre les deux points dont les rangs encadrent le rang du nouveau point. Pour accélérer les opérations de classement par rangs, chaque emplacement mémoire associé à un point, comme cela est illustré en pointillés en bas de la figure 5, contient également le rang R du point sur la ligne fractale.In order to quickly identify the points located in the same neighborhood as a current point Pc, the points are inserted in a linked list as they are analyzed, as has been described in relation to FIG. 5. In addition, all the points on the list will be ordered according to their ranks on the fractal line. To speed up the search for the location where a new point must be inserted in the linked list, we will keep the hypercube identifier table in Figure 5, each hypercube identifier being made up of a limited number of bits of most significant of the ranks of the points of the list, for example of the most significant d bits. The hypercube identifier table is used here only to approximate the location of each new point in the linked list, this new point to be inserted in the list between the two points whose ranks frame the rank of the new point . To speed up the classification operations by ranks, each memory location associated with a point, as illustrated in dotted lines at the bottom of FIG. 5, also contains the rank R of the point on the fractal line.
Lorsqu'on traite un nouveau point, on commence par cal- culer son rang fractal R (par réorganisation des bits de ses coordonnées). Ce rang, après avoir subi une réduction de résolution adéquate (par exemple une troncature)constitue un identificateur d'hypercube, lequel identificateur est recherché dans la table. Si l'identificateur existe, on parcourt de proche en proche les points de la liste, de préférence en remontant à partir du premier point associé à l'identificateur, c'est-à-dire celui indiqué par l'adresse Aprem.When we process a new point, we start by calculating its fractal rank R (by reorganizing the bits of its coordinates). This rank, after having undergone an adequate resolution reduction (for example a truncation) constitutes a hypercube identifier, which identifier is sought in the table. If the identifier exists, the points in the list are scanned step by step, preferably going up from the first point associated with the identifier, that is to say that indicated by the address Aprem.
Le rang R du nouveau point est comparé au rang de chaque point rencontré afin de trouver l'emplacement dans la liste du nouveau point. Lorsque l'emplacement est trouvé, le nouveau point est inséré de la manière précédemment décrite.The rank R of the new point is compared to the rank of each point encountered in order to find the location in the list of the new point. When the location is found, the new point is inserted as previously described.
Le rang R sera généralement exprimé sur un grand nombre de bits (128 pour des coordonnées de 8 bits et un espace de dimension 16). Un rang d'une telle taille n'est pas pratique à manipuler, notamment parce qu'il n'est pas compatible avec les nombres couramment traitables par les langages de programmation usuels. Ainsi, on préférera travailler sur un rang effectif R ' obtenu en réduisant la résolution du rang R. Pour cela, par exemple, le rang R est tronqué, divisé par un facteur supérieur à 1, ou porté à une puissance inférieure à 1, telle que 1/d. De préférence, le nombre de bits du rang effectif R ' ainsi obtenu est inférieur ou égal à celui du plus grand nombre traitable dans le langage de programmation utilisé, tel qu'un nombre de 64 bits de type "double float" (nombre à virgule flottante de précision double) en langage C.The rank R will generally be expressed on a large number of bits (128 for coordinates of 8 bits and a space of dimension 16). A row of this size is not practical to handle, in particular because it is not compatible with the numbers currently treatable by the usual programming languages. Thus, it is preferable to work on an effective rank R 'obtained by reducing the resolution of the rank R. For this, for example, the row R is truncated, divided by a factor greater than 1, or brought to a power less than 1, such than 1 / d. Preferably, the number of bits of effective rank R ′ thus obtained is less than or equal to that of the largest number processable in the programming language used, such as a number of 64 bits of type "double float" (floating point number of double precision) in C language.
Une telle réduction de résolution n'affecte pas les résultats des comparaisons si le seuil de voisinage M utilisé est exprimé sur au plus autant de bits que le rang effectif, les bits du seuil M étant à comparer aux bits de poids fort des rangs effectifs. Si l'identificateur d'hypercube du nouveau point n'existe pas dans la table, on cherche dans cette table les deux identificateurs, précédent et suivant, qui l'encadrent. Le nou- veau point est alors inséré dans la liste après le dernier point fourni par 1 ' identificateur précédent et avant le premier point fourni par l'identificateur suivant. Le nouvel identificateur d'hypercube est rajouté à la table, les adresses Adern et Aprem pour ce nouvel identificateur indiquant toutes les deux 1 'adresse du nouveau point.Such a reduction in resolution does not affect the results of the comparisons if the neighborhood threshold M used is expressed on at most as many bits as the effective rank, the bits of the threshold M being to be compared with the most significant bits of the effective ranks. If the hypercube identifier of the new point does not exist in the table, we look in this table for the two identifiers, previous and next, which surround it. The new point is then inserted into the list after the last point provided by the preceding identifier and before the first point provided by the following identifier. The new hypercube identifier is added to the table, the addresses Adern and Aprem for this new identifier both indicating the address of the new point.
Une fois que le nouveau point est inséré dans la liste, cette liste est parcourue à partir du nouveau point dans les deux sens, point par point, pour calculer les distances, jusqu'à ce que le point que l'on rencontre ait un rang hors de la marge définie par le seuil M. Il est clair que le parcours est susceptible de s'étendre au-delà des limites définies par les identificateurs d'hypercube, notamment si le nouveau point est, dans la liste, au début ou à la fin des points de même identificateur. On remarquera que la taille du voisinage considéré, définie par la valeur M, peut être choisie différente pour chaque point sans que cela n'entraîne une complication du traitement. Ceci permet une adaptation locale de la taille du voisinage à la nature locale du nuage de points analysé. Par exemple, si la densité de points est localement élevée, on choisira un voisinage plus petit pour réduire le nombre de calculs de distance. La densité peut être considérée comme élevée tout simplement lorsque le nombre de points rencontrés dans le parcours de la liste à partir du nouveau point dépasse un seuil prédéterminé. Les autres aspects des calculs, par exemple de la dimension de corrélation et le calcul glissant, sont identiques à ceux décrits plus haut.Once the new point is inserted in the list, this list is traversed starting from the new point in both directions, point by point, to calculate the distances, until the point that we meet has a rank outside the margin defined by the threshold M. It is clear that the course is likely to extend beyond the limits defined by the hypercube identifiers, in particular if the new point is, in the list, at the beginning or at the end of the points with the same identifier. It will be noted that the size of the neighborhood considered, defined by the value M, can be chosen to be different for each point without this causing any complication of the processing. This allows a local adaptation of the size of the neighborhood to the local nature of the point cloud analyzed. For example, if the density of points is locally high, we will choose a smaller neighborhood to reduce the number of distance calculations. The density can simply be considered high when the number of points encountered in the course of the list starting from the new point exceeds a predetermined threshold. The other aspects of the calculations, for example the correlation dimension and the sliding calculation, are identical to those described above.
Le calcul de la dimension de corrélation décrit jusqu'à maintenant est un calcul global sur un nuage de points. Il pourrait être intéressant d'observer les variations de la dimension de corrélation pour un même nuage de points, c'est-à-dire d'observer, non seulement le comportement dans le temps de la dimension de corrélation, mais également son comportement dans l'espace à un instant donné.The calculation of the correlation dimension described so far is a global calculation on a point cloud. It could be interesting to observe the variations of the correlation dimension for the same point cloud, i.e. to observe, not only the behavior over time of the correlation dimension, but also its behavior in space at a given time.
Le procédé qui vient d'être décrit, utilisant une ligne fractale, est particulièrement bien adapté à ce cas.The process which has just been described, using a fractal line, is particularly well suited to this case.
L'objectif dans ce cas est d'obtenir, pour un nuage de points à un instant donné, la distribution des valeurs de la dimension de corrélation (DC). Plus spécifiquement, on calcule plusieurs DC, chacune pour un sous-nuage distinct du nuage global, les différents sous-nuages contenant ensemble tous les points du nuage global.The objective in this case is to obtain, for a point cloud at a given time, the distribution of the values of the correlation dimension (DC). More specifically, several DCs are calculated, each for a sub-cloud distinct from the global cloud, the different sub-clouds together containing all the points of the global cloud.
La figure 8A représente un exemple d'histogramme de distribution des valeurs de la DC, obtenu pour un nuage de points à un instant donné.FIG. 8A represents an example of a histogram of distribution of the values of the DC, obtained for a cloud of points at a given instant.
Comme le nuage de points varie dans le temps, l'histogramme de la figure 8A varie également.As the scatter plot varies over time, the histogram in Figure 8A also varies.
La figure 8B illustre une solution pour représenter dans le temps l'évolution de l'histogramme de la figure 8A. Les valeurs de DC, c'est-à-dire les classes de l'histogramme, sont représentées en ordonnée. Pour chaque valeur d'effectif on affiche une couleur ou un niveau de gris proportionnel. A titre d'exemple, la figure 8A illustre l'évolution d'un histogramme centré sur une même valeur, mais qui s'élargit dans le temps.FIG. 8B illustrates a solution for representing over time the evolution of the histogram of FIG. 8A. The values of DC, that is to say the classes of the histogram, are represented on the ordinate. For each workforce value, a proportional color or gray level is displayed. By way of example, FIG. 8A illustrates the evolution of a histogram centered on the same value, but which widens over time.
Ces résultats sont obtenus en utilisant le procédé décrit en relation avec la figure 6, de la manière suivante.These results are obtained using the method described in relation to Figure 6, as follows.
Pour que les valeurs de la DC soient significatives, les sous-nuages doivent comporter un grand nombre de points, par exemple 1000. Alors, le nuage global comporte nécessairement nettement plus de points, par exemple 10000.For DC values to be significant, sub-clouds must have a large number of points, for example example 1000. Then, the global cloud necessarily has significantly more points, for example 10000.
Les sous-nuages pour lesquels on calcule les DC peuvent être définis de manière fixe et correspondre à des intervalles se chevauchant ou non de la ligne fractale. Ils peuvent également être définis de manière dynamique par rapport à chaque nouveau point acquis en temps réel. Dans chaque sous-nuage on parcourt les points un par un. Pour chaque point rencontré dans le parcours, on définit un voisinage dans lequel on calcule les distances, pour les classer dans un histogramme du type de la figure 2, associé au sous-nuage.The sub-clouds for which the DCs are calculated can be defined in a fixed manner and correspond to overlapping or non-overlapping intervals of the fractal line. They can also be defined dynamically in relation to each new point acquired in real time. In each sub-cloud we go through the points one by one. For each point encountered in the route, a neighborhood is defined in which the distances are calculated, to classify them in a histogram of the type of FIG. 2, associated with the sub-cloud.
Bien entendu, des voisinages successifs auront un certain nombre de points en commun pour lesquels il ne faut calculer qu'une fois les distances. Ainsi, lorsqu'un nouveau voisinage est défini, on ne considère dans ce nouveau voisinage que les points qui n'étaient pas dans le voisinage précédent, et on calcule seulement les distances qui impliquent ces points. Une solution simple pour cela consiste à avancer point par point dans la liste enchaînée et à ne calculer que les distances entre chaque nouveau point et les points se trouvant derrière lui à l'intérieur du voisinage associé.Of course, successive neighborhoods will have a certain number of points in common for which it is only necessary to calculate the distances once. Thus, when a new neighborhood is defined, we consider in this new neighborhood only the points which were not in the previous neighborhood, and we only calculate the distances which imply these points. A simple solution for this consists of advancing point by point in the linked list and only calculating the distances between each new point and the points behind it inside the associated neighborhood.
On produit ainsi, pour le sous-nuage, un histogramme permettant de calculer une valeur de DC, laquelle valeur est classée dans un histogramme du type de la figure 8A. La valeur de DC calculée 10000 points plus tôt est déclassée de cet histogramme pour obtenir un résultat glissant, après quoi l'histogramme est affiché sous forme d'une raie verticale en dégradé selon la figure 8B.We thus produce, for the sub-cloud, a histogram making it possible to calculate a value of DC, which value is classified in a histogram of the type of FIG. 8A. The DC value calculated 10,000 points earlier is downgraded from this histogram to obtain a sliding result, after which the histogram is displayed in the form of a vertical line in gradient according to FIG. 8B.
Le nombre de valeurs de DC calculées pour un nuage glo- bal restant raisonnable (10000), les valeurs successives pourront être stockées afin de pouvoir les déclasser rapidement de l'histogramme des DC, plutôt que de devoir les recalculer, comme cela est fait pour les distances.The number of DC values calculated for a global cloud remaining reasonable (10000), the successive values can be stored in order to be able to quickly downgrade them from the DC histogram, rather than having to recalculate them, as is done for the distances.
La présente invention, permettant un calcul en temps réel de paramètres, tels que la dimension de corrélation, dont le calcul était jusqu'à maintenant particulièrement long, facilite l'étude des applications possibles de ces paramètres.The present invention, allowing a real-time calculation of parameters, such as the correlation dimension, including the computation was until now particularly long, facilitates the study of the possible applications of these parameters.
En particulier, les inventeurs ont constaté que l'évolution de la dimension de corrélation d'un signal d'EEG permettait d'évaluer l'efficacité d'une anesthesie administrée à un patient. Il a même été possible de déterminer un seuil pour la dimension de corrélation, en dessous duquel on pouvait considérer que le patient était suffisamment anesthesie, et au-dessus duquel il fallait administrer davantage d'anesthésiant. Bien entendu, une telle surveillance de l'état d' anesthesie d'un patient n'est utile que si elle peut s'effectuer en temps réel, ce que permet l'invention.In particular, the inventors have found that the evolution of the correlation dimension of an EEG signal makes it possible to evaluate the effectiveness of anesthesia administered to a patient. It was even possible to determine a threshold for the correlation dimension, below which the patient could be considered to have sufficient anesthesia, and above which more anesthetic should be administered. Of course, such monitoring of the anesthesia state of a patient is only useful if it can be carried out in real time, which allows the invention.
La présente invention a été décrite essentiellement en relation avec le calcul de la dimension de corrélation. Bien entendu, elle s'applique au calcul de tout paramètre qui nécessite le calcul de distances entre points dans un voisinage, et de façon générale les paramètres dits "non linéaires" d'un signal.The present invention has been described essentially in relation to the calculation of the correlation dimension. Of course, it applies to the calculation of any parameter which requires the calculation of distances between points in a neighborhood, and in general the so-called "non-linear" parameters of a signal.
En particulier, le procédé d'analyse exposé, reposant sur le calcul du rang fractal d'un point, est particulièrement bien adapté au calcul de l'exposant de Lyapounov Ll. Pour cet exposant Ll, on considère chaque point d'un nuage et les points qui lui sont les plus proches, pour suivre leurs évolutions respectives aussi longtemps que leurs distances restent inférieures à un certain seuil. On cherche à calculer la vitesse de divergence de trajectoires voisines, sachant qu'une trajectoire est construite à partir de points qui se succèdent dans 1 'ordre chronologique.In particular, the method of analysis exposed, based on the calculation of the fractal rank of a point, is particularly well suited to the calculation of the exponent of Lyapounov Ll. For this exponent L1, we consider each point of a cloud and the points which are closest to it, in order to follow their respective evolutions as long as their distances remain below a certain threshold. We seek to calculate the speed of divergence of neighboring trajectories, knowing that a trajectory is constructed from points which follow one another in chronological order.
Pour calculer 1 'exposant Ll selon 1 ' invention, on suit la trajectoire de chaque nouveau point parallèlement à celles de ses plus proches voisins qui ne diffèrent initialement de lui que d'un certain rang fractal M-, et on interrompt le suivi de deux trajectoires lorsque les deux points respectifs de ces trajectoires deviennent distants d'un rang fractal M+ . L'ensemble des distances récoltées le long de deux trajectoires voisines permet alors de calculer une estimation locale de l'exposant Ll, l'ensemble de ces estimations permettant de calculer une valeur moyenne ou médiane globale, ou de construire accessoirement un histogramme.To calculate the exponent L1 according to the invention, we follow the trajectory of each new point parallel to those of its closest neighbors which differ initially from it only by a certain fractal rank M-, and we interrupt the tracking of two trajectories when the two respective points of these trajectories become distant by a fractal rank M +. The set of distances collected along two neighboring trajectories then makes it possible to calculate a local estimate of the exponent L1, all of these estimates making it possible to calculate a global mean or median value, or incidentally to construct a histogram.
Le principe du rang fractal a été décrit ci-dessus dans le cadre d'applications où l'on détermine des voisinages dans lesquels on calcule des distances, notamment pour le calcul de paramètres spécifiques dont on cherche à afficher l'évolution.The principle of the fractal rank has been described above in the context of applications where neighborhoods are determined in which distances are calculated, in particular for the calculation of specific parameters whose evolution is sought to be displayed.
Toutefois, ce principe du rang fractal peut être exploité directement pour fournir une information visuelle représentative d'un ou plusieurs signaux complexes, sans utiliser de paramètre intermédiaire. On pourra notamment réaliser un imageur qui affiche une information visuelle sous forme d'image.However, this principle of fractal rank can be used directly to provide visual information representative of one or more complex signals, without using any intermediate parameter. In particular, an imager can be produced which displays visual information in the form of an image.
Pour cela, on utilise toujours un nuage de points généré de 1 'une des manières précédemment décrites dans un espace des phases à partir d'un ou plusieurs signaux et on affecte un rang fractal à chaque point. A partir du rang fractal d'un point, après une éventuelle réduction de résolution, on effectue l'opération inverse de celle utilisée pour définir le rang fractal, mais ceci vers un espace de dimension 2. Par exemple, on génère deux cordonnées, l'une constituée des bits de poids pair du rang, et l'autre constituée des bits de poids impair. Ces deux coordonnées constituent les coordonnées d'un pixel que 1 'on illumine sur un écran de l' imageur. Bien entendu, ces coordonnées sont, le cas échéant, ramenées à une échelle correspondant à la définition de l'écran par une nouvelle réduction de résolution.For this, we always use a point cloud generated in one of the ways previously described in a phase space from one or more signals and we assign a fractal rank to each point. From the fractal rank of a point, after a possible reduction in resolution, we perform the opposite operation to that used to define the fractal rank, but this towards a space of dimension 2. For example, we generate two coordinates, l one consisting of the bits of even rank weight, and the other consisting of the bits of odd weight. These two coordinates constitute the coordinates of a pixel which one illuminates on a screen of the imager. Of course, these coordinates are, if necessary, reduced to a scale corresponding to the definition of the screen by a further reduction in resolution.
En procédant ainsi, l'écran affichera des pixels qui sont d'autant plus proches les uns des autres que les points correspondants sont proches dans l'espace des phases. On obtient ce résultat grâce à la propriété de conservation des voisinages du rang fractal et au fait que les bits du rang fractal d'un point sont répartis de manière sensiblement équilibrée, quant à leurs poids, dans les deux coordonnées correspondantes.By doing so, the screen will display pixels which are all the closer to each other as the corresponding points are close in the phase space. This result is obtained thanks to the conservation property of the neighborhoods of the fractal rank and to the fact that the bits of the fractal rank of a point are distributed in a substantially balanced manner, as regards their weights, in the two corresponding coordinates.
Etant donné, que le rang fractal comporte un nombre élevé de bits, l'opération de mise à l'échelle des deux coordon- nées correspondantes entraîne une perte d' information pour les phénomènes très localisés dans l'espace des phases. Ainsi, un pixel de l'écran correspondra à un hypercube minimal de l'espace des phases, et le pixel sera illuminé pour tout point situé à l'intérieur de cet hypercube. Pour refléter au mieux la réalité, on peut prévoir d'illuminer le pixel avec une intensité ou une couleur correspondant au nombre de points situés dans l'hypercube minimal.Since the fractal rank has a high number of bits, the operation of scaling the two corresponding coordinates results in a loss of information for the very localized phenomena in the phase space. Thus, a pixel of the screen will correspond to a minimal hypercube of the phase space, and the pixel will be illuminated for any point located inside this hypercube. To best reflect reality, we can plan to illuminate the pixel with an intensity or a color corresponding to the number of points located in the minimum hypercube.
En fait, l'écran affichera avec une résolution réduite une image de résolution élevée. Cette image de résolution élevée pourra être traitée comme le sont les images de résolution élevée par tout logiciel de retouche d'image classique. On pourra notamment prévoir un utilitaire de changement de plan à l'aide duquel on choisit un rectangle de 1 'écran à afficher en plein écran afin de rendre apparents des détails qui n'étaient pas affichables. Sur un signal analysé complètement aléatoire, l' imageur fournira une image contenant du bruit étalé sur 1 ' image comme le ferait un téléviseur allumé mais ne recevant pas d'émission. Mais dès que la moindre influence, aussi minime soit elle, tend à structurer le signal, sous une forme totalement indétectable lorsqu'on observe l'évolution du signal brut, cette influence n'échappe pas à l'utilisateur de l' imageur qui observe alors une image dans laquelle apparaît une accumulation de pixels localisée ou une modification de couleur ou de niveau de gris d'au moins un pixel. En effet, une quelconque structuration tend à créer une rupture locale de la répartition uniforme des points de l'espace des phases.In fact, the screen will display a reduced resolution image at a reduced resolution. This high resolution image can be processed as are high resolution images by any conventional image editing software. One could in particular provide a plan change utility with the help of which one chooses a rectangle of one screen to display in full screen in order to make apparent details which were not displayable. On a completely random analyzed signal, the imager will provide an image containing noise spread over the image like a television on but not receiving a broadcast. But as soon as the slightest influence, however small it may be, tends to structure the signal, in a completely undetectable form when we observe the evolution of the raw signal, this influence does not escape the user of the imager who observes then an image in which appears a localized accumulation of pixels or a change in color or gray level of at least one pixel. Indeed, any structure tends to create a local rupture of the uniform distribution of the points of the phase space.
Inversement, l' imageur peut servir à déceler une désorganisation, éventuellement d'origine chaotique, dans un signal très structuré au départ, tel qu'un signal multi-périodique. Dans ce cas, la figure simple qu'affiche l' imageur devient irrégulière d'une façon plus évidente que ce que révélerait 1 'observation du signal brut. En effet, les non-linéarités sont particulièrement difficiles à observer sur les signaux bruts. Conversely, the imager can be used to detect a disorganization, possibly of chaotic origin, in a very structured signal at the start, such as a multi-periodic signal. In this case, the simple figure displayed by the imager becomes irregular in a more obvious way than would reveal the observation of the raw signal. Indeed, non-linearities are particularly difficult to observe on raw signals.

Claims

REVENDICATIONS
1. Procédé d'analyse d'un signal ou de plusieurs signaux simultanés, comprenant les étapes suivantes : convertir en échantillons numériques des valeurs successives du ou des signaux ; - former dans un espace discrétisé de dimension d un nuage de n points dont chacun a d coordonnées prises de manière régulière parmi des échantillons successifs du ou des signaux ; partitionner 1 'espace de dimension d en des hypercubes ; - calculer les distances entre points seulement à1. Method for analyzing a signal or several simultaneous signals, comprising the following steps: converting successive values of the signal (s) into digital samples; - form in a discretized space of dimension of a cloud of n points each of which has d coordinates taken regularly among successive samples of the signal (s); partition the space of dimension d into hypercubes; - calculate the distances between points only at
1 ' intérieur de chaque hypercube caractérisé en ce qu' il comprend les étapes suivantes : créer pour chaque point un identificateur d'hyper- cube par une réduction de résolution d'un nombre constitué des bits des coordonnées du point, de manière que des points ayant le même identificateur se trouvent dans le même hypercube ; organiser les points du nuage dans une liste enchaînée, de manière que les points ayant un même identificateur soient consécutifs dans la liste ; et - créer une table répertoriant les identificateurs des points de la liste enchaînée, cette table fournissant, pour chaque identificateur répertorié, un accès à un premier des points ayant cet identificateur, et une information permettant de retrouver tous les points de même identificateur en parcourant la liste enchaînée à partir du premier point.1 interior of each hypercube characterized in that it comprises the following steps: create for each point a hyper-cube identifier by reducing the resolution of a number made up of the bits of the coordinates of the point, so that points having the same identifier are in the same hypercube; organize the points of the cloud in a linked list, so that the points with the same identifier are consecutive in the list; and - create a table listing the identifiers of the points in the linked list, this table providing, for each identifier listed, access to a first of the points having this identifier, and information making it possible to find all the points of the same identifier by browsing the linked list starting from the first point.
2. Procédé d'analyse selon la revendication 4, caractérisé en ce qu' il comprend les étapes suivantes pour chaque nouveau point du nuage : déterminer l'identificateur du point ; - chercher l'identificateur dans la table ; et si l'identificateur existe dans la table, insérer le point dans la liste des points de même identificateur, et mettre à jour les informations de la table permettant de retrouver tous les points de même identificateur ; si l'identificateur n'existe pas dans la table, insérer le nouveau point à une extrémité de la liste enchaînée, et mettre à jour la table avec le nouvel identificateur et les informations permettant d'accéder au nouveau point. 2. Analysis method according to claim 4, characterized in that it comprises the following steps for each new point of the cloud: determining the identifier of the point; - look for the identifier in the table; and if the identifier exists in the table, insert the point in the list of points with the same identifier, and update the information in the table allowing all the points with the same identifier to be found; if the identifier does not exist in the table, insert the new point at one end of the linked list, and update the table with the new identifier and the information allowing access to the new point.
3. Procédé d'analyse selon la revendication 1 ou 2, caractérisé en ce qu'il est appliqué au calcul de la dimension de corrélation du nuage de points, et en ce qu'il comprend les étapes suivantes pour chaque nouveau et i-ème point du nuage : calculer les distances entre le nouveau point et les points ayant le même identificateur ; classer les distances dans un histogramme d' intégrale de corrélation ; calculer les distances entre le (i-njème point du nuage et les points ayant le même identificateur que le (i-n)ème point ; déclasser de 1 'histogramme les distances calculées pour le (i-n)ème point ; et fournir le degré du taux d'accroissement des effectifs de l'histogramme en tant que dimension de corrélation. 3. Analysis method according to claim 1 or 2, characterized in that it is applied to the calculation of the correlation dimension of the point cloud, and in that it comprises the following steps for each new and i-th cloud point: calculate the distances between the new point and the points with the same identifier; classify the distances in a correlation integral histogram; calculate the distances between the (i-nth point of the cloud and the points having the same identifier as the (in) th point; downgrade from the histogram the distances calculated for the (in) th point; and provide the degree of the rate d increase in the size of the histogram as a correlation dimension.
4. Procédé d'analyse selon l'une quelconque des revendications 1 à 3, appliqué à un signal d'EEG. 4. Analysis method according to any one of claims 1 to 3, applied to an EEG signal.
PCT/FR1998/001786 1997-08-12 1998-08-11 Method for analysing an electroencephalographic signal WO1999008200A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP98942721A EP1004083A1 (en) 1997-08-12 1998-08-11 Method for analysing an electroencephalographic signal
JP2000506595A JP2002517262A (en) 1997-08-12 1998-08-11 Method for analyzing EEG signals

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR97/10453 1997-08-12
FR9710453A FR2767402A1 (en) 1997-08-12 1997-08-12 METHOD FOR ANALYZING AN EG signal

Publications (1)

Publication Number Publication Date
WO1999008200A1 true WO1999008200A1 (en) 1999-02-18

Family

ID=9510359

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR1998/001786 WO1999008200A1 (en) 1997-08-12 1998-08-11 Method for analysing an electroencephalographic signal

Country Status (4)

Country Link
EP (1) EP1004083A1 (en)
JP (1) JP2002517262A (en)
FR (1) FR2767402A1 (en)
WO (1) WO1999008200A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003509149A (en) * 1999-09-22 2003-03-11 ユニバーシティ・オブ・フロリダ Seizure alerts and predictions
GB2381895A (en) * 2001-11-06 2003-05-14 Fujitsu Ltd Retrieval system using distance index

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
KAVITHA V ET AL: "Nonlinear prediction of chaotic electrical activity of the brain", PROCEEDINGS OF THE FIRST REGIONAL CONFERENCE, IEEE ENGINEERING IN MEDICINE AND BIOLOGY SOCIETY AND 14TH CONFERENCE OF THE BIOMEDICAL ENGINEERING SOCIETY OF INDIA , NEW DELHI , INDIA 15-18 FEB 1995, ISBN 0-7803-2711-X, 1995, NEW YORK, NY, USA, IEEE, USA, pages 3/39 - 40, XP002063664 *
SKIDMORE T A ET AL: "ANALYZING THOUGHT-RELATED ELECTROENCEPHALOGRAPIC DATA USING NONLINEAR TECHNIQUES", PROCEEDINGS OF THE ANNUAL CONFERENCE OF THE ENGINEERING IN MEDICINE AND BIOLOGY SOCIETY, PHILADELPHIA, NOV. 1 - 4, 1990, vol. VOL. 2, no. CONF. 12, 1 November 1990 (1990-11-01), PEDERSEN P C;BANU ONARAL, pages 853 - 854, XP000236310 *
STELTER P ET AL: "Calculation of the fractal dimension via the correlation integral", CHAOS, SOLITONS AND FRACTALS, 1991, UK, vol. 1, no. 3, ISSN 0960-0779, pages 273 - 280, XP002063663 *
THEILER J: "Efficient algorithm for estimating the correlation dimension from a set of discrete points", PHYSICAL REVIEW A (GENERAL PHYSICS), 1 NOV. 1987, USA, vol. 36, no. 9, ISSN 0556-2791, pages 4456 - 4462, XP002063661 *
YAYLALI I ET AL: "Detection of seizures from small samples using nonlinear dynamic system theory", IEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING, JULY 1996, IEEE, USA, vol. 43, no. 7, ISSN 0018-9294, pages 743 - 751, XP002063662 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003509149A (en) * 1999-09-22 2003-03-11 ユニバーシティ・オブ・フロリダ Seizure alerts and predictions
GB2381895A (en) * 2001-11-06 2003-05-14 Fujitsu Ltd Retrieval system using distance index
US6845377B2 (en) 2001-11-06 2005-01-18 Fujitsu Limited Retrieval system and method using distance index
GB2381895B (en) * 2001-11-06 2005-11-16 Fujitsu Ltd Retrieval system and method using distance index

Also Published As

Publication number Publication date
FR2767402A1 (en) 1999-02-19
JP2002517262A (en) 2002-06-18
EP1004083A1 (en) 2000-05-31

Similar Documents

Publication Publication Date Title
CN110210542B (en) Picture character recognition model training method and device and character recognition system
FR2974433A1 (en) EVALUATION OF IMAGE QUALITY
EP0840252B1 (en) Digital image-processing method for the automatic extraction of ribbon-like objects
FR2798493A1 (en) METHOD OF IDENTIFYING AN ALVEOLAR NERVOUS ZONE IN A JAW IMAGE
EP3639190B1 (en) Descriptor learning method for the detection and location of objects in a video
EP0576584B1 (en) Image processing method by hierarchical queues
FR2831753A1 (en) Contrast matching method for image systems, involves forming filter ratio by filtering generated images and multiplying image by filter ratio to form adjusted image
FR2773247A1 (en) PROCESS FOR PROCESSING A Noisy MULTIDIMENSIONAL IMAGE AND MEDICAL IMAGING APPARATUS IMPLEMENTING THIS PROCESS
WO1999008200A1 (en) Method for analysing an electroencephalographic signal
EP3712775A1 (en) Method and device for determining the overall memory size of an overall memory area allocated to data from a neural network in view of its topology
FR2846502A1 (en) GERM SELECTION METHOD FOR KEY IMAGE GROUPING
FR3024791A1 (en) METHOD FOR DETERMINING, IN ONE IMAGE, AT LEAST ONE AREA SUFFICIENT TO REPRESENT AT LEAST ONE FINGER OF AN INDIVIDUAL
WO1999008201A1 (en) Method for analysing a phase-spacing-eeg
EP0076209B1 (en) Automatic device for the statistical analysis of an object
EP0368718A1 (en) Method for the selection of an object in an n-dimensional reference system, and for the display of the selected object
FR2910673A1 (en) IMAGE PROCESSING METHOD AND DEVICE IMPLEMENTING SAID METHOD
EP0206853B1 (en) Method and device for the identification of closed contours of objects placed on a surface
Breus Flexible Variable Star Extractor-new software for variable stars detection using CCD photometry
FR2816734A1 (en) Method of search, selection and site map representation of web pages, uses identification of links between identified pages to reduce set of pages presented to user
EP3163462A1 (en) Method for estimating a convolution product
CN113268623B (en) Artificial intelligence gastroscope image identification processing system
JP7359163B2 (en) Discrimination device, cell cluster discrimination method, and computer program
EP2192555B1 (en) Anzeige von parametrisierten Daten
FR3113155A1 (en) A method of identifying a dental implant visible in an input image using at least one convolutional neural network.
BE1021546B1 (en) METHOD AND SYSTEM FOR STORING WAVEFORM DATA.

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 1998942721

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1998942721

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1998942721

Country of ref document: EP