EP2119073A1 - Procede de generation de signaux mutuellement orthogonaux dont le spectre est controle - Google Patents

Procede de generation de signaux mutuellement orthogonaux dont le spectre est controle

Info

Publication number
EP2119073A1
EP2119073A1 EP08775694A EP08775694A EP2119073A1 EP 2119073 A1 EP2119073 A1 EP 2119073A1 EP 08775694 A EP08775694 A EP 08775694A EP 08775694 A EP08775694 A EP 08775694A EP 2119073 A1 EP2119073 A1 EP 2119073A1
Authority
EP
European Patent Office
Prior art keywords
complex
spectra
signals
matrix
mutually orthogonal
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
EP08775694A
Other languages
German (de)
English (en)
Inventor
Bruno Lozach
José Bollo
Alain Le Guyader
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Publication of EP2119073A1 publication Critical patent/EP2119073A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/10Code generation
    • H04J13/12Generation of orthogonal codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/0007Code type
    • H04J13/004Orthogonal

Definitions

  • the present invention relates to a method of generating mutually orthogonal signals whose spectrum is controlled.
  • Spectral spread audio tattooing uses time signals with a broad spectrum - the extended spectrum.
  • the tattoo uses either one or more signals stored in a dictionary for symbol modulation.
  • signals whose inter-correlation product is zero it is preferred to use signals whose inter-correlation product is zero, as this facilitates correlation detection.
  • Cross-correlation of signals is a particular form of the dot product. It can thus be said that to look for signals that are not correlated with one another is to choose a family of mutually orthogonal signals.
  • tattooing we need signals whose spectrum is under control, that is to say that correspond to a particular template.
  • an AAC (Advanced Audio Coding) coded signal at 24 kbit / s per channel occupies a band in the order of
  • the tattoo must be as discreet as possible, it will be modulated and formatted taking into account the properties of psychoacoustics. To guarantee a precise shaping, below the masking curve guaranteeing the inaudibility of the mark, the signal to be modulated must have a perfectly white spectrum.
  • the generation of real time signals of mutually orthogonal given length is generally done, either by an orthogonalization technique of a family of time signals, generally random, or by use of the rows or columns of the actual Hadamard matrices.
  • orthogonalization technique of a family of time signals, generally random, or by use of the rows or columns of the actual Hadamard matrices.
  • Each of these techniques of the prior art has the disadvantage of producing signals whose power spectrum is difficult to control.
  • variations of dynamics of 60 dB and more are observed on the power spectrum, the spectrum being chopped and not very regular.
  • the technique of actual Hadamard matrices can produce only signals of length 2 or multiples of 4.
  • WO-A-0077962 discloses a method for generating orthogonal complex spectra in low numbers, typically seven, by discretizing the phase of each complex sample. This method has the disadvantage of providing only a limited number of sequences.
  • the present invention provides a method of generating a plurality of discrete spectra s (i) of Q dimension, mutually orthogonal and with controlled power, where i denotes the spectrum number, these spectra representing time signals in the spectral domain and being of constant ⁇ module in a set of spectral line designation G and zero everywhere else, the method being remarkable in that it consists of:
  • the invention allows the generation mutually orthogonal discrete spectra of any length, in desired number and at controlled power. In addition, it is not necessary to construct the entire complex Hadamard matrix.
  • the step of determining at least a portion of the complex Hadamard matrix consists in obtaining a column of a rotation matrix calculated from predetermined rotation and permutation keys applied to a matrix. of reference Hadamard.
  • the method further comprises a step of decomposition of the order d R of the reference Hadamard matrix into a product of factors and a sub-step of calculating the least common multiple of the set. of these factors for the determination of the reference Hadamard matrix.
  • choosing the least common multiple means that the phases of the complex spectrum generated will be as far apart as possible. This increases the robustness to noise.
  • the method further comprises a step of determining a signal
  • T denotes the number of temporal dimensions
  • F qJ denotes the Fourier matrix of order q ⁇ , so as to generate a plurality of mutually orthogonal time signals s (i).
  • the present invention also proposes a method for generating a family of time signals, which is remarkable in that it consists in combining mutually orthogonal time signal families generated by a method as briefly described above and whose spectral supports are disjoint.
  • the use of families of complex spectra with disjoint power spectra makes it possible to quantify the signal in the transformed domain by using progressive signal frequency modeling by orthogonal complex spectra. This way of proceeding gives directly to each step optimal scale factors for the complex spectra, without requiring reoptimization of the preceding factors, contrary to the prior art, which uses a Gram-Schmidt method for this reoptimization.
  • the present invention also provides the use of mutually orthogonal complex time signals or spectra generated by a method as briefly described above for spectral spreading in spread spectrum transmission systems.
  • these signals or spectra are spread spectrum in the transmitted band and power of value 1, unlike the Hadamard sequences used in the current American system IS95 code division multiple access.
  • audio coders they can be used as quantization dictionaries in predictive coders.
  • the quantization is performed by two fast algorithms: on the one hand, by fast Fourier transform for the passage in the frequency domain and, on the other hand, for the scalar product involved in the quantization.
  • the present invention also provides the use of mutually orthogonal complex time signals or complex spectra generated by a method as briefly described above for audio tattooing and its detection.
  • these spectra can be directly used for tattooing in the frequency domain, their ideally white power spectrum in the transmitted band (s) allowing their precise shaping by psychoacoustic weighting, which is an important property to ensure the character inaudible tattoo.
  • the spectra of the prior art do not allow this precise formatting, since their power spectrum has a significant variation in dynamics.
  • the complex spectra of the invention also have the advantage of being easily modulated as such, in defined frequency bands, in code access multiplex transmission systems.
  • the time domain signals in audio tattooing, they can be directly used for spread spectrum tattooing, where a symbol of K b bits is represented by K b orthogonal signals.
  • K b bits is represented by K b orthogonal signals.
  • the present invention also provides the use of mutually orthogonal complex spectrums with controlled power spectrum generated by a method as briefly described above for encoding or representing audio signals, the audio signals being quantized by means of a dictionary or family of dictionaries with real or complex values.
  • these spectra can be used as quantization dictionaries for the signals coming from a discrete Fourier transform.
  • the quantization is for example performed by a fast algorithm whose structure is derived from the way in which the dictionary is constructed, in a particular embodiment, by Kronecker products of small-size basic matrices.
  • the present invention also provides the use of mutually orthogonal complex time signals or spectrums with controlled power spectrum generated by a method as briefly described above for the optimization of metrology excitation data.
  • the fact that the generated sequences have an ideally flat spectrum in the band is likely to improve the accuracy of the detection compared to the current use of the pseudo-noise sequences generated by shift registers, whose correlation function has a parasitic term with respect to its ideal value, which is a Dirac.
  • the invention proposes a device for generating a plurality of discrete spectra S (i) of dimension Q that are mutually orthogonal and with controlled power, i denoting the number of the spectrum, these spectra representing time signals in the spectral domain and being of constant ⁇ module in a set of spectral line designation G and zero anywhere else, the device being remarkable in that it comprises:
  • the present invention further provides a computer program product that can be loaded into a programmable apparatus, characterized in that it includes instruction sequences for implementing a method as briefly described above, when this program is loaded and executed by the programmable device.
  • FIG. 1 is a graph representing the power spectrum of the signals generated, in a particular embodiment of the invention.
  • FIG. 2 is a flowchart illustrating the main steps of a time signal generation method according to the present invention, in a particular embodiment
  • FIGS. 3 to 6 are flowcharts detailing various operations performed to obtain a column of a matrix of rotations of a complex Hadamard matrix according to the present invention, in a particular embodiment
  • FIG. 7 is a flowchart illustrating the process according to the present invention in all its generality
  • FIG. 8 is a flowchart illustrating in more detail the so-called "band calculation” method implemented in the flowchart of FIG. 7;
  • FIG. 9 is a flowchart illustrating in more detail the so-called "band preparation” step implemented in the flowchart of FIG. 8;
  • FIG. 10 is a flowchart illustrating in greater detail the spectral calculation step implemented in the flowchart of FIG. 8;
  • FIG. 11 is a flowchart illustrating in more detail the so-called "exponential" step implemented in the flowchart of FIG. 10;
  • FIG. 12 is a flowchart illustrating in greater detail the step of calculating the extension of FIG. 9 in the case of complex spectra;
  • Fig. 13 is a flowchart illustrating in more detail the step of extending Fig. 10 in the case of complex spectra
  • Fig. 14 is a flowchart illustrating in more detail the step of preparing the extension in the case of complex spectra
  • Fig. 15 is a flowchart illustrating in more detail the step of extending Fig. 10 in the case of real signals
  • FIGS. 16 to 19 illustrate examples of application of the present invention, in particular embodiments; and - Figure 20 schematically shows a device adapted to implement the present invention, in a particular embodiment.
  • the invention applies to the case of real or complex discrete signals. Below are some notations and definitions that will be used in the rest of the description.
  • the number of signals generated is noted Ns.
  • the signals to be generated will be noted s (i), where 0 ⁇ i ⁇ Ns, where i is the variable that designates the signal number.
  • Each signal s (i) can be seen indifferently, either as a signal of length Ls, or as an application of [0; Ls-1] c N (N being the set of natural numbers), or as a vector of dimension ls. This last interpretation, that is to say the vectorial interpretation, is preferred here.
  • each signal s (i) is a vector of E Ls (the Cartesian product of the vector space E at the power Ls) where E is either the body of the reals 9? (in the case of a real-valued signal), that is the body of the complexes C (in the case of a signal with complex values).
  • E is either the body of the reals 9? (in the case of a real-valued signal), that is the body of the complexes C (in the case of a signal with complex values).
  • the values of the signal s (i) are denoted s (i) [n], where 0 ⁇ n ⁇ Ls, where n is the variable which designates the time sample.
  • F ( ⁇ ) -F ( ⁇ ) n1 (n) (1.2) where F (n) denotes the conjugate matrix of F (n) , F (n) denotes the transposed matrix of the matrix F (n) and (n) denotes the identity matrix of order n.
  • F and F are respectively the Discrete Fourier Transform (DFT) matrix and the inverse Discrete Fourier transform matrix.
  • DFT Discrete Fourier Transform
  • F the matrix F will be used in two different contexts: to transform a complex spectrum with a controlled power spectrum into a time signal, and
  • the power spectrum of the time signal is given as a function of the complex spectrum by:
  • 1. Note that Fourier matrices are complex Hadamard matrices.
  • the complex Hadamard matrices also have the following properties: - if H is a complex Hadamard matrix, if P, Q are permutation matrices, if C, D are diagonal matrices whose non-null elements of the diagonal have a module of 1, then PCHD Q is also a complex Hadamard matrix; - If G and H are two complex Hadamard matrices of respective orders g and h, then G ® H is a complex gham Hadamard matrix.
  • the operation ⁇ 8> is the product of Kronecker or tensor product.
  • the low frequency F min is linked to the index S min and to the sampling frequency F e by: s 1 ⁇ mIn - F min - p
  • Ls is the number of samples of the DFT defined by equation (1.3).
  • Phases are the only degrees of freedom of the system.
  • the signals form a free family in the space of the signals of length Ls, they are orthogonal to each other, or, in other words, they are not correlated with each other.
  • the spectrum of signals Frequencies are then perfectly white over the entire frequency band and the correlation function of the orthogonal temporal signals, derived by inverse Fourier transform, is equal to a Dirac distribution, an interesting property in many applications.
  • the time signals will be real when the property of symmetry with complex conjugate (equation (1.5)) will be verified.
  • ⁇ s (i> is (i) M, w ,, (Wi ⁇ ) ⁇ *: tr 2
  • the module 20 calculates the ith column of a matrix of rotations of a complex Hadamard matrix H cle whose generation depends on a key.
  • z ⁇ (n) 0 2 ⁇ ⁇ 1 , to go from the entire rotation to the corresponding complex number of module 1.
  • a key is used to obtain distinct signal families. In an application of the present invention tattooing signal files, this allows for separate tattoos that can be superimposed without interacting.
  • the key is an integer which makes it possible to generate two permutations of Ns elements and twice Ns integer rotations of order ⁇ , that is to say a number from 1 to [NS! . ⁇ NS ] 2 .
  • the keys are used to initialize a generator making it possible to extract the necessary information.
  • the introduction of the key allows to introduce a secret in the process of generating the sequences and thus to restrict the possibility of their use to the owners of the key only.
  • the module 22 transforms a vector of rotations of Z dR into a complex vector with a discrete spectrum of C Ls .
  • the complex spectrum s (i) can be used as such, which has been shown in Figure 2 by an arrow output algorithm. Otherwise, the generation of mutually orthogonal time signals is performed by the module 24 which transforms a complex vector s (i) in C Ls and controlled spectrum into a controlled discrete spectrum time vector of E Ls .
  • the module 24 is an application module of a reverse discrete Fourier transform of order Ls. This operation is well known to those skilled in the art. It does not depend on i.
  • this module calculates a column of the matrix H cle .
  • This has the advantage of avoiding the construction of the complete matrix and thus simplifying and accelerating calculations.
  • the matrix of the rotations is expressed thus: ⁇ ⁇
  • H r ef is the reference complex Hadamard matrix canonically constructed by the process as a function of d R ;
  • auxiliary functions ⁇ c hg, ⁇ c iecoi, Pcie hg and p c iecoi is trivial.
  • the permutations can be performed for example by scrambling algorithms well known in cryptography and the rotations can be initialized by a random function for introducing a secret. In the context of the description of the process, these calculated and known auxiliary functions are assumed.
  • d R - 100 DF (d R ) - ⁇ 2; 2; 5; 5 ⁇ and Nf - 4.
  • the complex Hadamard matrix H ref of reference constructed by the method is defined by:
  • n i + f i- ( n 2 + f 2 - (n 3 + • • • ))
  • H ref is an integer matrix
  • Figure 3 shows the organization of the process of calculating the ith column of the rotation matrix H de [.] [I].
  • Step 302 consists in performing the permutation ⁇ c ie, cor (i) and then to calculate directly ref H [.] [ ⁇ collar key (i)]. To this last matrix is added, at step 304, the contribution of the rotations according to equation (1.8).
  • a basic example of workflow a) and b) is illustrated in the flowchart of Figure 4.
  • a variable n is initialized to the value dR, a variable D to the value 2, a variable i to the value 0 and a variable ⁇ to the value 1.
  • test 402 consisting in checking if n is congruent to zero modulo D, that is, if n is a multiple of D.
  • test 402 If the test 402 is negative, a test 404 consisting in verifying if n is 1 is carried out.
  • test 404 If the test 404 is negative, the value of the variable D (step 406) is incremented by one unit and the test 402 is returned. If the test 404 is positive, the variable Nf, which designates the number of factors, is assigned. from the decomposition of dR, the value of i (step 408) and the algorithm ends.
  • test 402 If the test 402 is positive, a test 410 is performed consisting in checking whether ⁇ is congruent to zero modulo D.
  • step 412 If the test 410 is negative, the variable ⁇ is assigned the value of the variable D. ⁇ (step 412) and step 414 is passed. If the test 410 is positive, it goes directly to step 414.
  • Step 414 consists in assigning the variable n the value of the variable n / D, incrementing the value of the variable i by one, and assigning the variable fi the value of the variable D. Then, we return to test 402. Returning to FIG. 3, the operation 302 for calculating the column
  • I j and q are calculated progressively.
  • a variable I is initialized to the value 0 and a variable c to the value of the auxiliary function ⁇ c ié, ⁇ ⁇ (i) -
  • a variable j is initialized to the value 1 and a variable a to the value 0 (step 504). Then, one tests during a test 506 if j> Nf, Nf denoting the number of prime factors of dR. If the 506 test is positive, the value of the variable a to the variable H ref [1] [c] (step 508), the value of the variable I (step 510) is incremented by one unit and returns to the test 502.
  • the next step 516 is to assign the value of a + - - c, - I, to
  • step 518 the value of variable j is incremented by one and the value of variable x is assigned to variable I and the value of variable y to variable c.
  • operation 304 consists of calculating the column H of [.] [I] by calculating the
  • an initialization step 600 firstly consists in initializing a variable I at the value 0, a variable c at the value of the auxiliary function ⁇ c ié, coi (i), a variable h the value of H ref [c] and a variable r to the value of the auxiliary function p c ie, cor (i) [.] -
  • the set Q makes it possible to express the values of a signal f of A as a function of Q in E, ie f: Q ⁇ E; x ⁇ -> f (x).
  • a signal is comparable to f, an element of the set of functions of Q in E, denoted by F (Q 1 E), ie f ⁇ F (Q 1 E).
  • the set F (Q 1 E) is known as a vector space, and thus, as before, we will equate the signals f with vectors of the vector space F (Q 1 E).
  • a key named key has been associated to them, possibly unique, which allows the generation of a variety of weakly correlated signals families.
  • G is the definition of the constraints of the system: each constraint cg has
  • FIG. 7 illustrates the process according to the present invention in all its generality.
  • the constraint G is segmented into its constraints by ego band, cgi, cg 2 , etc.
  • Each band g a gives rise to the generation (via the modules 70, 71, 72, etc.) of a signal s a (i) and of its variant s a (i) in the Fourier domain, having a controlled spectrum .
  • the signals thus created are multiplied (via the modules 700, 701, 702, etc.) by a factor c a which controls the power of the signal in this band.
  • the signals are then added in a module
  • the factors c a can be modified without changing the orthogonality (non correlation) of the spectra and signals, they modify only the balancing of the power of the signals s (i, c) and s (i, c).
  • the method in all its generality illustrated in FIG. 7 uses the so-called "band calculation" method (in the modules 70, 71, 72, etc.).
  • the band calculation is illustrated in more detail on the flowchart of FIG. 8. It includes a step 80 called “band preparation” which makes it possible to determine once and for all the generation parameters that will be used by the so-called “calculation” method. spectral "illustrated by block 82.
  • Spectral calculation method allows the generation of the complex spectrum S (i) of the ith band signal g a.
  • the signal s (i) is obtained at the output of the module 84, by a discrete inverse Fourier transform of its complex spectrum s a (i), by a simple implementation of the formula
  • the band preparation step is illustrated in greater detail in the flowchart of FIG. 9.
  • This mechanism is composed of a so-called "extension calculation” module 90 which determines, as a function of the constraint cg a and the dimensions of the system, the dimension a, R Hadamard matrices (and thus the maximum number of the family of signals) and PRLG extension data to be used for the extension.
  • the preparation module 300 is the one described above in conjunction with FIGS. 3 and 4.
  • the flowchart of FIG. 10 shows in greater detail the organization of the spectral calculation step implemented by the block 82 of FIG. 8. This step includes:
  • a so-called "exponential” step 106 which consists of calculating the complex numbers corresponding to the calculated rotations and normalizing them by a scale factor making it possible to obtain the power property controlled.
  • an initialization step 110 firstly consists of initializing a variable I at the value 0. Then a test 112 consists in checking whether the value of the variable I has reached the maximum number d a , R of family signals. If this is the case, the procedure ends. Otherwise, we calculate
  • FIGS. 12 and 13 show the calculation steps in the case of complex signals. This case is the simplest because there is no symmetrization constraint.
  • FIG. 12 illustrates in greater detail the step 90 of calculating the extension of FIG. 9 in the case of complex signals.
  • a step 120 the value of the band g a is assigned to the variable prlg a .
  • a step 122 the value of
  • FIG. 13 illustrates in greater detail step 108 of extension of FIG. 10 in the case of complex spectra.
  • the variable s (i) [.] Is initialized to the value 0 and during a step
  • step 140 we begin with steps of initialization of d a , R at the value 0 (step 140), extension data prg a to the empty set (step 142) and variable I to the value 0 (step 144). .
  • J a, R is assigned to the variable k the value of g a [l] (step 150). Note that the value of ⁇ a is different depending on whether the signals are real or complex.
  • step 160 add k to the extension data (step 160), increment by one unit the value of d a , R (step 162) and then go to step 154.
  • This extension of preparation removes the elements of g which is undesirable.
  • the dimension d a , R can have a value different from
  • the variable I is then incremented by one unit (step 166) and then returns to test 134.
  • a first example concerns the tattooing of audio files.
  • FIG. 16 shows, by way of nonlimiting example, that the method according to the invention makes it possible to provide time signals or their Fourier variants with discrete spectra controlled at the level of the modulation of the messages.
  • the data received from the transmission channel are processed in order to reconstitute the messages sent.
  • the process of Figure 16 can be used to power a read-only memory (ROM), which avoids boarding the process.
  • ROM read-only memory
  • the binary message is modulated (within a block 1600) by the signal allocated to the user #i for whom the binary data is intended.
  • the signal is then processed to be transmitted on the mobile radio channel 1602.
  • the user #i performs the correlation of the received signal (block 1604). Since the signals are orthogonal, the user # i will only detect, in the stream he receives, the data that is intended for him.
  • These signals can also be used in metrology, where they can make it possible to optimize the excitation data to be supplied to the studied system, as shown in FIG. 17. This makes it possible to increase the relevance of the result of the measurement performed on the system. system studied.
  • the method of Figure 17 can be used to power a ROM, which avoids boarding the process.
  • a typical case of use in metrology is the measurement of the impulse response of acoustic rooms.
  • a long periodic signal sequence is emitted by a loudspeaker, each period of which is flat spectrum or controlled according to the case.
  • the periodic signal will be filtered by the impulse response of the room.
  • the signal is retrieved from a microphone for processing.
  • the percussion response of the room is obtained by making the cross correlation between the signal received by the microphone and the transmitted sequence.
  • the transmitted sequence has a correlation function equal to a Dirac distribution. This is precisely the case of the time signals which are the subject of the present invention.
  • Correlation is performed by taking a sequence of twice the size of the desired impulse response.
  • An efficient way of performing the correlation is to perform the discrete Fourier transform of the received signal, to multiply the frequency signal obtained by the conjugate complex of the Fourier transform of the orthogonal sequence and to perform a fast inverse Fourier transform of the received signal. resulting signal.
  • the signals are generated in the spectral domain, it is sufficient to store in ROM the frequency version of the sequence.
  • These signals can also be used as a basis for encoding or representing signals.
  • these signals may be used in digital audio coding as illustrated by way of example in FIG. 18.
  • the use of orthogonal complex spectrums in the frequency domain makes it possible to code the speech or audio signal directly in this domain.
  • the quantization noise shaping can be performed so that the noise faithfully follows the masking curve over the specified frequency bands.
  • the coding device illustrated in FIG. 18 comprises a dictionary in which the complex spectra generated according to the method of the invention are stored. This type of dictionary is used in the coding or decoding of audio signals to implement the quantization and inverse quantization step.
  • the signals are generated by Kronecker products of base matrices
  • the scalar product of the signal to be quantified by all the waveforms of the dictionary can then be efficiently obtained by a fast algorithm involving butterflies such as of the Fast Fourier Transform (TFR) or that of the actual Hadamard transform.
  • TFR Fast Fourier Transform
  • the dictionary is expanded by taking different matrices as generating matrices. For example, for an order 2, there are 64 possible basic matrices, the elements of each matrix being orthogonal and chosen in (1, -1, i, -i). More specifically, Figure 18 illustrates the use of mutually orthogonal complex spectra in a time-domain predictive coder.
  • the contribution of the filtering of an emitted signal s e (n) with zero excitation (block 180) is first removed from the signal (subtractor 182) to give the target t.
  • the target t in the frequency domain is obtained by Fast Fourier Transform of t (block 184).
  • the complex samples of the signal are quantized by a quantizer 186 defined by a dictionary containing the Ns orthogonal complex vectors s (0), ..., s (Ns - 1).
  • Ns - 1 The numerator is equal to the scalar product of t ⁇ h ⁇ by all the waveforms of the dictionary generated by a Kronecker product of elementary matrices for which an effective algorithm of the "Hadamard transform" type is realized.
  • the resulting structure is based on a butterfly structure similar to that of the TFR.
  • the computation of the optimal index amounts to computation of the index i op t which maximizes [t ⁇ s (i)] 2 .
  • a particular example of implementation is obtained by segmenting the spectrum into frequency bands, contiguous or not, of variable length, possibly with areas of zero amplitude at high frequencies.
  • Fig. 19 shows an example of using mutually orthogonal signals in the case of audio tattooing.
  • the complex signals or spectra are generated according to the description given above, the method illustrated being either on-board or off-line, the signals being stored once and for all in a ROM.
  • the resynchronization and the correlation are first carried out between the received signal and the set of signals of the reception dictionary.
  • the detected signal is the one that gives the maximum correlation.
  • FIG. 2 A device 200 implementing the methods in accordance with the invention is illustrated in FIG. This device may be for example a microcomputer 200 connected to different peripherals, at least some of which may provide information to be processed according to the invention.
  • the device 200 may comprise a communication interface 2000 connected to a network (not shown).
  • the device 200 furthermore comprises storage means 2002, such as a hard disk. It may also include a reader of 2004 information carriers such as floppy disks, CD-ROMs or memory cards 2006.
  • the information carrier 2006 and the storage means 2002 may contain software implementation data of the invention. as well as the code of the invention which, once read by the device 200, will be stored on the storage means 2002.
  • the program enabling the device to implement the invention may be stored in read-only memory (by example a ROM) 2008.
  • the program can be received via the network, to be stored in the same manner as described above.
  • the device 200 is connected to a microphone 2010 via an input / output card 2012.
  • the data to be processed according to the invention will in this case be an audio signal.
  • This same device includes a 2014 screen to visualize the information to be processed or to interface with the user, who can set some modes of treatment, using a keyboard 2016, a mouse or any other way.
  • a CPU 2018 executes the instructions for implementing the invention, instructions stored in the ROM 2008 or in the other storage elements.
  • the programs and processing methods stored in one of the (non-volatile) memories, for example the ROM 2008 are transferred to a random access memory (for example, a RAM) 2020, which then contains the executable code of the invention as well as the variables necessary for the implementation of the invention.
  • a communication bus 2022 allows communication between the different sub-elements of the microcomputer 200 or linked to it.
  • the representation of the bus 2022 is not limiting and in particular, the central unit 2018 is capable of communicating instructions to any sub-element of the microcomputer 200 directly or via another sub-element of the microcomputer 200.
  • the device described here is likely to contain all or part of the treatment described in the invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)

Abstract

On engendre une pluralité de spectres discrets ^s(i) de dimension Q, mutuellement orthogonaux et à puissance contrôlée, i désignant le numéro du spectre. Les spectres représentent des signaux temporels dans le domaine spectral et sont de module μ constant dans un ensemble G de désignation de raies spectrales et nul partout ailleurs. Le procédé consiste à : déterminer (20) au moins une partie d'une matrice de Hadamard complexe H d'ordre dR = w dans le cas de spectres de signaux réels et dR = 2.w dans le cas de spectres de signaux complexes; déterminer (22) le prolongement P de la matrice H à partir de G et de la dimension Q; et obtenir (22) les spectres à puissance contrôlée s(i) = μ.P(H[.][i]), où H[.][i] désigne la ième colonne de la matrice H. A partir de ces spectres complexes discrets, on engendre (24) également une pluralité de signaux temporels s(i) mutuellement orthogonaux.

Description

PROCEDE DE GENERATION DE SIGNAUX MUTUELLEMENT ORTHOGONAUX DONT LE SPECTRE EST CONTROLE
La présente invention se rapporte à un procédé de génération de signaux mutuellement orthogonaux dont le spectre est contrôlé.
Elle a des domaines d'application nombreux et variés, parmi lesquels le tatouage de fichiers de signaux tels que des signaux audio.
Le tatouage audio par étalement spectral utilise des signaux temporels dont le spectre est large - on parle de spectre étendu. Le tatouage utilise soit un, soit plusieurs signaux stockés dans un dictionnaire pour la modulation de symboles. Quand plusieurs signaux sont utilisés, on préfère utiliser des signaux dont le produit d'inter-corrélation est nul, car cela facilite la détection par corrélation. L'intercorrélation des signaux est une forme particulière du produit scalaire. On peut donc dire que rechercher des signaux non corrélés entre eux revient à choisir une famille de signaux mutuellement orthogonaux.
Dans le cadre du tatouage, on a besoin de signaux dont le spectre est sous contrôle, c'est-à-dire qui correspondent à un gabarit particulier. A titre d'exemple, un signal codé en AAC (codage audio avancé, en anglais "Advanced Audio Coding") à 24 kbit/s par voie occupe une bande de l'ordre de
7 kHz, d'où l'intérêt de contrôler le spectre de la marque en limitant sa largeur de bande à 7 kHz. De plus, le tatouage se doit d'être aussi discret que possible, il sera donc modulé et mis en forme en tenant compte des propriétés de la psychoacoustique. Pour garantir une mise en forme précise, en dessous de la courbe de masquage garantissant l'inaudibilité de la marque, le signal à moduler doit avoir un spectre parfaitement blanc.
La génération de signaux temporels réels de longueur donnée mutuellement orthogonaux se fait généralement, soit par une technique d'orthogonalisation d'une famille de signaux temporels, généralement aléatoires, soit par utilisation des lignes ou colonnes des matrices de Hadamard réelles. Chacune de ces techniques de l'art antérieur présente l'inconvénient de produire des signaux dont le spectre de puissance est difficile à contrôler. A titre d'exemple, on observe pour la technique d'orthogonalisation, des variations de dynamique de 60 dB et plus sur le spectre de puissance, le spectre étant haché et peu régulier. En outre, la technique des matrices de Hadamard réelles ne peut produire que des signaux de longueur 2 ou multiples de 4.
Dans les systèmes de transmission avec des mobiles à accès multiple à répartition par code (en anglais "Code Division Multiple Access"), par exemple dans les systèmes CDMA tels que la norme IS95 (International Standard 95), les signaux utilisés pour séparer les utilisateurs sont des séquences d'Hadamard orthogonales et réelles dont le spectre dépend du numéro de la séquence. Cette façon de procéder est décrite dans l'ouvrage de Pierre LESCUYER intitulé "UMTS, les origines, l'architecture, la norme", Dunod, 2ème édition, 2002. A titre d'exemple, la première ligne de la matrice d'Hadamard ne contient que des 1. Il en résulte que cette étape doit être suivie d'une étape d'étalement de spectre proprement dite, ou embrouillage, avant la modulation (pages 116 à 119 de l'ouvrage précité), ce qui augmente la complexité d'un tel système.
Le document WO-A-OO 77962 décrit un procédé permettant d'engendrer des spectres complexes orthogonaux en faible nombre, typiquement sept, en discrétisant la phase de chaque échantillon complexe. Cette méthode présente notamment l'inconvénient de ne fournir qu'un nombre de séquences restreint.
Pour améliorer la situation, on cherche à engendrer des signaux réels et des spectres complexes mutuellement orthogonaux de longueur arbitraire et dont les spectres de puissance puissent être contrôlables dans la mesure de la longueur des signaux engendrés et du nombre de signaux orthogonaux voulu.
Ainsi, la présente invention propose un procédé de génération d'une pluralité de spectres discrets s(i) de dimension Q, mutuellement orthogonaux et à puissance contrôlée, i désignant le numéro du spectre, ces spectres représentant des signaux temporels dans le domaine spectral et étant de module μ constant dans un ensemble G de désignation de raies spectrales et nul partout ailleurs, le procédé étant remarquable en ce qu'il consiste à :
- déterminer au moins une partie d'une matrice de Hadamard complexe H d'ordre dR = w dans le cas de spectres de signaux réels et dR = 2.w dans le cas de spectres de signaux complexes ;
- déterminer le prolongement P de la matrice H à partir de G et de la dimension Q ; et
- obtenir les spectres à puissance contrôlée s(i) = μ.P(H[.][i]), où H[.][i] désigne la ième colonne de la matrice H. Ainsi, l'invention permet la génération de spectres discrets mutuellement orthogonaux de longueur quelconque, en nombre voulu et à puissance contrôlée. En outre, il n'est pas nécessaire de construire la matrice de Hadamard complexe entière.
Dans un mode particulier de réalisation, l'étape de détermination d'au moins une partie de la matrice de Hadamard complexe consiste à obtenir une colonne d'une matrice des rotations calculée à partir de clés prédéterminées de rotation et de permutation appliquées à une matrice de Hadamard de référence.
Ce système d'utilisation de clés permet d'engendrer des familles de spectres variées et peu corrélées. Dans un mode particulier de réalisation, le procédé comporte en outre une étape de décomposition de l'ordre dR de la matrice de Hadamard de référence en un produit de facteurs et une sous-étape de calcul du plus petit commun multiple de l'ensemble de ces facteurs pour la détermination de la matrice de Hadamard de référence. Ainsi, le fait de choisir le plus petit commun multiple signifie que les phases du spectre complexe engendré seront éloignées le plus possible les unes des autres. Cela permet d'accroître la robustesse au bruit.
Dans un mode particulier de réalisation, le procédé comporte en outre une étape consistant à déterminer un signal
s(i)[k] = , où : • i désigne le numéro du signal,
• Q désigne un ensemble de coordonnées,
• X désigne le nombre de dimensions spatiales,
• T désigne le nombre de dimensions temporelles et • F(qJ désigne la matrice de Fourier d'ordre qα, de façon à engendrer une pluralité de signaux temporels s(i) mutuellement orthogonaux.
La présente invention propose également un procédé de génération d'une famille de signaux temporels, remarquable en ce qu'il consiste à combiner des familles de signaux temporels mutuellement orthogonaux engendrés par un procédé tel que succinctement décrit ci-dessus et dont les supports spectraux sont disjoints.
L'utilisation de familles de spectres complexes à spectres de puissance disjoints permet de quantifier le signal dans le domaine transformé en utilisant une modélisation progressive en fréquence du signal par des spectres complexes orthogonaux. Cette façon de procéder donne directement à chaque étape des facteurs d'échelle optimaux pour les spectres complexes, sans nécessiter de réoptimisation des facteurs précédents, contrairement à l'art antérieur, qui utilise une méthode de Gram-Schmidt pour cette réoptimisation. La présente invention propose également l'utilisation de signaux temporels ou spectres complexes mutuellement orthogonaux engendrés par un procédé tel que succinctement décrit ci-dessus pour l'étalement spectral dans des systèmes de transmission à étalement de spectre.
En effet, de par leur construction, ces signaux ou spectres sont à spectre étalé dans la bande transmise et de puissance de valeur 1 , contrairement aux séquences de Hadamard utilisées dans le système américain actuel IS95 d'accès multiple à répartition par codes. Dans les codeurs audio, ils peuvent être utilisés comme dictionnaires de quantification dans les codeurs prédictifs. Dans ce cas, la quantification est effectuée par deux algorithmes rapides : d'une part, l'un par transformée de Fourier rapide pour le passage dans le domaine fréquentiel et, d'autre part, pour le produit scalaire intervenant dans la quantification. La présente invention propose également l'utilisation de signaux temporels ou spectres complexes mutuellement orthogonaux engendrés par un procédé tel que succinctement décrit ci-dessus pour le tatouage audio et sa détection. En tatouage audio, ces spectres peuvent être directement utilisés pour le tatouage dans le domaine fréquentiel, leur spectre de puissance idéalement blanc dans la ou les bandes transmises permettant leur mise en forme précise par pondération psychoacoustique, ce qui constitue une propriété importante pour assurer le caractère inaudible du tatouage. Les spectres de l'art antérieur ne permettent pas cette mise en forme précise, vu que leur spectre de puissance présente une variation de dynamique non négligeable. Les spectres complexes de l'invention présentent également l'avantage d'être facilement modulés tels quels, dans des bandes de fréquence définies, dans les systèmes de transmission à multiplexage à accès par codes. Quant aux signaux dans le domaine temporel, en tatouage audio, ils peuvent être directement utilisés pour le tatouage à étalement de spectre, où un symbole de Kb bits est représenté par Kb signaux orthogonaux. On constate par ailleurs les mêmes avantages que ceux mentionnés ci-dessus pour les spectres complexes. La présente invention propose également l'utilisation de spectres complexes mutuellement orthogonaux à spectre de puissance contrôlé engendrés par un procédé tel que succinctement décrit ci-dessus pour le codage ou la représentation de signaux audio, les signaux audio étant quantifiés à l'aide d'un dictionnaire ou d'une famille de dictionnaires à valeurs réelles ou complexes.
En effet, dans les codeurs audio, ces spectres peuvent être utilisés comme dictionnaires de quantification pour les signaux issus d'une transformée de Fourier discrète. Dans ce cas, la quantification est par exemple effectuée par un algorithme rapide dont la structure est dérivée de la façon dont est construit le dictionnaire, dans un cas particulier de réalisation, par produits de Kronecker de matrices de base de faible dimension. La présente invention propose également l'utilisation de signaux temporels ou spectres complexes mutuellement orthogonaux à spectre de puissance contrôlé engendrés par un procédé tel que succinctement décrit ci- dessus pour l'optimisation de données d'excitation de métrologie. Pour le calcul de la réponse impulsionnelle de salles acoustiques en métrologie, le fait que les séquences engendrées aient un spectre idéalement plat dans la bande est de nature à améliorer la précision de la détection par rapport à l'utilisation courante des séquences de pseudo-bruit engendrées par des registres à décalage, dont la fonction de corrélation possède un terme parasite par rapport à sa valeur idéale, qui est un Dirac.
Corrélativement, l'invention propose un dispositif de génération d'une pluralité de spectres discrets s(i) de dimension Q mutuellement orthogonaux et à puissance contrôlée, i désignant le numéro du spectre, ces spectres représentant des signaux temporels dans le domaine spectral et étant de module μ constant dans un ensemble G de désignation de raies spectrales et nul partout ailleurs, le dispositif étant remarquable en ce qu'il comporte :
- un module pour déterminer au moins une partie d'une matrice de Hadamard complexe H d'ordre dR = w dans le cas de spectres de signaux réels et dR = 2.w dans le cas de spectres de signaux complexes ; - un module pour déterminer le prolongement P de la matrice H à partir de G et de la dimension Q ; et
- un module pour obtenir les spectres à puissance contrôlée s(i) = μ.P(H[.][i]), où H[.][i] désigne la ième colonne de la matrice H.
La présente invention propose en outre un produit programme d'ordinateur pouvant être chargé dans un appareil programmable, remarquable en ce qu'il comporte des séquences d'instructions pour mettre en œuvre un procédé tel que succinctement décrit ci-dessus, lorsque ce programme est chargé et exécuté par l'appareil programmable.
Les caractéristiques particulières et les avantages du procédé de génération d'une famille de signaux temporels, des diverses utilisations des signaux temporels ou spectres complexes, du dispositif de génération d'une pluralité de spectres discrets et du produit programme d'ordinateur étant similaires à ceux du procédé de génération d'une pluralité de spectres discrets, ils ne sont pas répétés ici.
D'autres aspects et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit de modes particuliers de réalisation, donnés à titre d'exemples non limitatifs. La description se réfère aux dessins qui l'accompagnent, dans lesquels :
- la figure 1 est un graphique représentant le spectre de puissance des signaux engendrés, dans un mode particulier de réalisation de l'invention ;
- la figure 2 est un organigramme illustrant les principales étapes d'un procédé de génération de signaux temporels conforme à la présente invention, dans un mode particulier de réalisation ;
- les figures 3 à 6 sont des organigrammes détaillant différentes opérations effectuées pour obtenir une colonne d'une matrice des rotations d'une matrice de Hadamard complexe conformément à la présente invention, dans un mode particulier de réalisation ;
- la figure 7 est un organigramme illustrant le procédé conforme à la présente invention dans toute sa généralité ;
- la figure 8 est un organigramme illustrant plus en détails le procédé dit de "calcul bande" mis en œuvre dans l'organigramme de la figure 7 ; - la figure 9 est un organigramme illustrant plus en détails l'étape dite de "préparation bande" mise en œuvre dans l'organigramme de la figure 8 ;
- la figure 10 est un organigramme illustrant plus en détails l'étape de calcul spectral mise en œuvre dans l'organigramme de la figure 8 ;
- la figure 11 est un organigramme illustrant plus en détails l'étape dite "d'exponentielle" mise en œuvre dans l'organigramme de la figure 10 ;
- la figure 12 est un organigramme illustrant plus en détails l'étape de calcul du prolongement de la figure 9 dans le cas des spectres complexes ;
- la figure 13 est un organigramme illustrant plus en détails l'étape de prolongement de la figure 10 dans le cas des spectres complexes ; - la figure 14 est un organigramme illustrant plus en détails l'étape de préparation du prolongement dans le cas des spectres complexes ; - la figure 15 est un organigramme illustrant plus en détails l'étape de prolongement de la figure 10 dans le cas des signaux réels ;
- les figures 16 à 19 illustrent des exemples d'application de la présente invention, dans des modes particuliers de réalisation ; et - la figure 20 représente de façon schématique un dispositif adapté à mettre en œuvre la présente invention, dans un mode particulier de réalisation.
L'invention s'applique au cas des signaux discrets réels ou complexes. On introduit ci-dessous quelques notations et définitions qui seront utilisées dans le reste de la description.
Par convention, les variables d'indice commencent à zéro. Ainsi, un vecteur v de dimension 3 aura trois composantes notées: v[θ], v[i] , v[2] . De même, pour les matrices, on notera m[l][c] la composante de la ligne I et de la colonne c (commençant à zéro) de la matrice m.
Le nombre de signaux engendrés est noté Ns. Les signaux à engendrer seront notés s(i), où 0≤i<Ns, i étant la variable qui désigne le numéro du signal.
Chaque signal s(i) peut être vu indifféremment, soit comme un signal de longueur Ls, soit comme une application de [0;Ls-1] c N (N étant l'ensemble des entiers naturels), soit comme un vecteur de dimension Ls. On privilégiera ici cette dernière interprétation, c'est-à-dire l'interprétation vectorielle.
Du point de vue vectoriel, chaque signal s(i) est un vecteur de ELs (le produit cartésien de l'espace vectoriel E à la puissance Ls) où E est soit le corps des réels 9? (dans le cas d'un signal à valeurs réelles), soit le corps des complexes C (dans le cas d'un signal à valeurs complexes). Les valeurs du signal s(i) sont notées s(i)[n], où 0≤n<Ls, n étant la variable qui désigne l'échantillon temporel.
Dans la suite, on utilisera des matrices de Fourier d'ordre (ou dimension) quelconque qui seront notées F(n). La matrice de Fourier d'ordre n est la matrice carrée définie par F(n) <≡ Cnxn et F(n)[l][c] = e " (1.1 )
Cette matrice présente les propriétés suivantes : F(n)[l][c]| = 1 et t -
F(π)-F(π) = nl(n) (1.2) où F(n) désigne la matrice conjuguée de F(n) , 'F(n) désigne la matrice transposée de la matrice F(n) et l(n) désigne la matrice identité d'ordre n. On en
déduit F(-n 1, = -- ÏÇ) -
'F et F sont respectivement la matrice de Transformation de Fourier Discrète (TFD) et la matrice de transformation de Fourier discrète inverse. Dans la présente invention, la matrice F sera utilisée dans deux contextes différents : - pour transformer un spectre complexe à spectre de puissance contrôlé en un signal temporel, et
- comme matrice de Hadamard réelle ou complexe de base pour engendrer les matrices de Hadamard d'ordre quelconque par produits de Kronecker. Le problème qu'on se propose de résoudre est de trouver une famille
S de Ns signaux telle que le produit scalaire de deux signaux s(i) et s(j), noté (s(i)|s(j)) , est nul si i est différent de j, ce qui revient à dire que les signaux sont mutuellement orthogonaux selon le produit scalaire considéré.
Autrement dit, en utilisant les notations mathématiques introduites précédemment, il s'agit de trouver S = {s(i)} tel que (s(i)| s(j)) = 0 <=> i ≠ j .
On considérera les produits scalaires usuels :
- dans le cas réel (E = 9î ) : (a|b)='a.b
- dans le cas complexe (E = C ) : (a|b)='ïï.b
On aura aussi à considérer les spectres complexes discrets s(i) <≡ CLs définis à partir des signaux temporels s(i) par : s(i) - FLs 1 • s(i) (1.3) En d'autres termes, le spectre complexe est obtenu par TFD du signal réel. Les spectres sont dits discrets car provenant de la TFD d'un signal discret, c'est-à-dire échantillonné dans le temps à une fréquence donnée Fe.
Le spectre de puissance du signal temporel est donné en fonction du spectre complexe par :
P.(i)M - |s(i)[k]|2 = (s(i)[k]|s(i)[k]) = l(ïjjkj s(i)[k]
Dans la suite, on dira donc indifféremment que le signal temporel et le spectre complexe sont à puissance contrôlée.
Les matrices F(Ls) et F(Ls) étant orthogonales (équation (1.2)), le signal temporel est donné en fonction du spectre complexe par : s(i) = F(LB) s(i) (1.4) c'est-à-dire par transformée de Fourier discrète inverse du spectre complexe.
Pour que le signal s(i) soit réel (E = 9î ), on montre qu'une condition nécessaire et suffisante est que les égalités suivantes soient vérifiées : s(i)[0] = s(i)[O] et Vk e [i-Ls - iJs(i)[k] = s(i)[Ls - k] (1.5)
En d'autres termes, pour que la transformation de Fourier inverse d'un spectre complexe soit réelle, le spectre complexe s(i) doit vérifier la propriété de symétrie précédente.
Les matrices de Hadamard complexes sont les matrices carrées H d'ordre quelconque noté d (c'est-à-dire H e Cdxd ) ayant les propriétés suivantes : ι H.H = d.l(d) (propriété d'orthogonalité) et |H[l][c]| = 1 . On remarque que les matrices de Fourier sont des matrices de Hadamard complexes. Les matrices de Hadamard complexes présentent en outre les propriétés suivantes : - si H est une matrice de Hadamard complexe, si P, Q sont des matrices de permutation, si C, D sont des matrices diagonales dont les éléments non nuls de la diagonale ont un module de 1 , alors P. C. H. D. Q est aussi une matrice de Hadamard complexe ; - si G et H sont deux matrices de Hadamard complexes d'ordres respectifs g et h, alors G ® H est une matrice de Hadamard complexe d'ordre g. h. L'opération <8> est le produit de Kronecker ou produit tensoriel.
On rappelle que : (G ® H)[I][C] = (G[lg][cg])(H[lh][ch]) (1.6) où I = lg .h + lh et c = cg .h + ch .
On décrit à présent le principe de base de la solution proposée par la présente invention.
Pour la solution discrète de base, on souhaite que la famille S des signaux réels recherchés vérifie les propriétés suivantes :
(s(i)|s(i)) = 1
(s(i)|s(j)) = 0 « i ≠ j (1 7) k e [Smιn -Smax] u [Ls - Smax -Ls - Smιn] « |s(i)[k]| = μ k * [Smιn -Smax] u [Ls - Smax -Ls - Smιn] « s(i)[k] = 0
Ces propriétés sont illustrées par le graphique de la figure 1 qui représente la valeur du spectre de puissance des signaux engendrés.
Ces propriétés expriment le fait que les signaux temporels ont une puissance unitaire sur une période, que le spectre complexe de ces signaux est de module constant, μ, entre un index de fréquence basse Smin et un index de fréquence haute Smax et nul partout ailleurs.
La fréquence basse Fmin est liée à l'index Smin et à la fréquence d'échantillonnage Fe par : s 1^ mIn - F min — p
où Ls est le nombre d'échantillons de la TFD définie par l'équation (1.3).
Les phases sont les seuls degrés de liberté du système. De plus, les signaux forment une famille libre dans l'espace des signaux de longueur Ls, ils sont orthogonaux entre eux, ou, autrement dit, ils sont non corrélés entre eux. On peut noter que le cas particulier Smin = 0 et Smax = Ls / 2, où il n'y a pas d'échantillon nul, est pris en compte dans l'équation (1.7) du fait de la périodicité du spectre complexe s(i) (période Ls). Le spectre des signaux fréquentiels est alors parfaitement blanc sur toute la bande de fréquences et la fonction de corrélation des signaux temporels orthogonaux, déduits par transformée de Fourier inverse, est égale à une distribution de Dirac, propriété intéressante dans de nombreuses applications. Les signaux temporels seront réels lorsque la propriété de symétrie avec complexe conjugué (équation (1.5)) sera vérifiée.
En remarquant que les signaux temporels sont donnés par transformée de Fourier inverse des spectres complexes (équation (1.4)), on montre que :
(s(i)|s(j)> = (F(Ls).s(i)|F(Ls).s(j))^tI(r).tF^;.F(Ls).s(j) = Ls.('ê(ï).s(j)) = Ls.<s(i)|s(j)> .
On ramène alors le problème de l'orthogonalité des signaux dans le domaine des spectres complexes s(i) .
Les raies spectrales en dehors de la réunion d'intervalles [Smιn---Smax]u[Ls-Smax---Ls-Smιn] étant nulles, il suffit d'assurer l'orthogonalité pour les valeurs des signaux à spectre discret s(i) pour ke[Smιn---Smax]u[Ls-Smax"-Ls-Smιn]. Notons w= 1 + Smax - Smin le nombre correspondant à la moitié du nombre de raies de module μ.
Cette opération, qui restreint l'étude aux valeurs non nulles, est appelée restriction. On la note R:CLs →C2w. Son opération inverse est appelée prolongement et est notée P : C2 w → CLs .
Dans le cas réel, il suffit de restreindre pour k e [Smιn---Smax]. Les valeurs restantes, d'indice k e [Ls-Smax---Ls-Smιn], se déduisent des précédentes par conjugaison suivant la propriété s(i)[k] = s(i)[Ls - k] des signaux réels, rappelée plus haut. On a alors : R:CLs →Cw et P : Cw → CLs . Notons r(i) la restriction de s(i). Notons dR la dimension de la restriction r(i) , c'est-à-dire r(i) e CdR . Dans le cas de signaux réels, on a dR = w et dans le cas de signaux complexes, on a dR = 2.w. On a f(i) = R(s(i)) et on cherche une famille R = {f(i)} de Ns vecteurs r(i), telle que s(i) = F(Ls).P(r(i)),
c'est-à-dire S = F(Ls).P(R). La satisfaction des propriétés requises pour les s(i) amène à écrire les propriétés suivantes pour les r(i) :
J |r(i)[p]| - μ Vi Vp [(f(i)| f(j)) = O o i ≠ j
Ces propriétés ou contraintes sont voisines de celles des vecteurs des matrices de Hadamard complexes. La solution à ce problème est donc obtenue en choisissant pour la famille R une famille libre issue d'une matrice de Hadamard complexe H d'ordre dR multipliée par μ.
Dans le cas simple où r(i) correspond à la ième colonne de la matrice H, ce qu'on note r(i) = μ.H[.][i], on a : s(i) = F(Ls).P(μ.H[.][i]) = μ.F(Lβ).P(H[.][i])
(s(i)|s(j)> = Ls.['ê(i).s(j)] = Ls.['p(P(i)).P(P(j
(s(i)| S(J)) = ^ ('HTm™.) = - (('HΉW
R R
Ainsi :
<s(i>is(i)M,,w,,(Wiω) <*: tr2
L'analyse de dimensionnalité montre que la relation suivante doit être respectée : Ns≤dR, et, dans le cas réel, dR ≤ |Ls et dans le cas complexe, dR≤Ls. Ce sont les contraintes du système.
On écrira synthétiquement que S est une famille libre de μ. F. P(H), où F est la matrice de Fourier, P est le prolongement déduit de Smax et Smin et H est la matrice de Hadamard complexe d'ordre dR déduit de Smax et Smin. On a expliqué ci-dessus comment on construit une famille S de signaux temporels s(i) ayant les propriétés de l'équation (1.7) :
II suffit de trouver une matrice de Hadamard complexe H puis de prendre :
s(i) = μ.F(Ls).P(H[.][i]) avec μ = 1 où P est le prolongement déduit de Smax et Smιn et de la nature de E (cas réel ou cas complexe), et où F(Ls) est la matrice de Fourier d'ordre Ls, ce qui, en d'autres termes, correspond à l'opération dite "transformée de Fourier discrète inverse dans le domaine complexe", qui est souvent notée TFD(L 1 S) . On a alors souvent une des deux définitions suivantes :
TFD(^(X) = -^. F(Ls).x ou TFD(L 1 s)(x) = F(Ls).x .
Cette transformation de Fourier discrète sera avantageusement réalisée par une Transformée de Fourier Rapide, opération bien connue de l'homme du métier.
Ce procédé de construction des s(i), l'objet de base de la présente invention, est schématisé sur la figure 2.
Le module 20 calcule la ième colonne d'une matrice des rotations d'une matrice de Hadamard complexe H cle dont la génération dépend d'une clé.
Les rotations sont exprimées par des nombres entiers, c'est-à-dire :
Hcle[.][i] e ZdR .
La valeur θ permet, par la formule zθ(n) = 0ë 1 , de passer de la rotation entière au nombre complexe de module 1 correspondant. Une clé est utilisée de façon à obtenir des familles de signaux distinctes. Dans une application de la présente invention au tatouage de fichiers de signaux, cela permet d'avoir des tatouages distincts qui peuvent se superposer sans interagir.
La clé est un nombre entier qui permet d'engendrer deux permutations de Ns éléments et deux fois Ns rotations entières d'ordre θ, c'est- à-dire un nombre de 1 à [NS!.ΘNS ]2 . Dans la pratique, ces nombres étant généralement très grands, on utilise les clés pour initialiser un générateur permettant d'extraire l'information nécessaire. L'introduction de la clé permet d'introduire un secret dans le processus de génération des séquences et donc de restreindre la possibilité de leur utilisation aux seuls possesseurs de la clé.
Le module 22 transforme un vecteur de rotations de ZdR en un vecteur complexe à spectre discret de CLs .
La transformation dépend de la nature du signal mais ne dépend pas de i.
Dans le cas de signaux réels :
Smιn < k < Smax
Ls - Smax < k < Ls - Smιn autrement
Dans le cas de signaux complexes :
Smιn < k < Smax =* s(i)[k] = μ.zθ(Hcle[k - Smιn][i])
Ls - Smax ≤ k ≤ Ls - Smιn => s(i)[k] = μ.zθ(H[k + 2.Smax -M - Ls - SJi]) autrement =^> s(i)[k] = 0
Dans le cas où on se limite à la génération de spectres complexes mutuellement orthogonaux, la procédure est terminée à ce stade.
Le spectre complexe s(i) peut être utilisé comme tel, ce qui a été représenté sur la figure 2 par une flèche de sortie de l'algorithme. Sinon, la génération de signaux temporels mutuellement orthogonaux est réalisée par le module 24 qui transforme un vecteur complexe s(i) dans CLs et à spectre contrôlé en un vecteur temporel à spectre discret contrôlé de ELs .
Le module 24 est un module d'application d'une transformée de Fourier discrète inverse d'ordre Ls. Cette opération est bien connue de l'homme du métier. Elle ne dépend pas de i.
On détaille ci-dessous les opérations effectuées par le module 20 de calcul de Hcle[.][i] .
On a vu ci-dessus que ce module calcule une colonne de la matrice Hcle . Cela présente l'avantage d'éviter la construction de la matrice complète et donc, de simplifier et d'accélérer les calculs. Formellement, la matrice des rotations s'exprime ainsi : ~ θ
^cIe ~ /^ - 'n0~'de ) , 0U ^cIe = RcIe hg- PcIe hg- H ref. PcIe col -RcIe col, OÙ :
2πv- 1
- Pcie hg et Pcie coi sont les matrices de permutation correspondant aux permutations σcιe hg θt σcιe coi ; - Rcie hg et Rcie coi sont des matrices diagonales de rotations (des lignes et des colonnes) correspondant aux rotations Rcie hg[x][x] = zθ(pcie hg(x)) et RciecoiMM = zθ(Pcie coi(x))- En pratique, n'importe quelles rotations peuvent être utilisées et pas seulement les rotations d'ordre θ, c'est-à-dire que les matrices Rcie ιιg et Rcie coi peuvent aussi être définies comme les matrices diagonales Rcle hg[x][x] = e 2π/l p^(x) et Rcle col[x][x] = e 2π/l p(x) . En pratique, l'application des rotations est optionnelle ;
- Href est la matrice de Hadamard complexe de référence canoniquement construite par le procédé en fonction de dR ;
- θ est le plus petit ordre de la racine de l'unité qui permet d'exprimer les rotations par des entiers.
Le calcul devient :
L'expression des fonctions auxiliaires σcie hg, σciecoi, Pcie hg et pciecoi est triviale. Les permutations peuvent être effectuées par exemple par des algorithmes d'embrouillage bien connus en cryptographie et les rotations peuvent être initialisées par une fonction aléatoire pour introduction d'un secret. Dans le cadre de la description du procédé, on suppose ces fonctions auxiliaires calculées et connues.
Le nombre dR, qui représente l'ordre de Href, la matrice de Hadamard complexe de référence, s'écrit comme un produit de nombres. On note DF(dR)
= {f,} une décomposition de dR en un produit de facteurs f, (ainsi, dR = ) qu'on ordonne arbitrairement selon un indice i variant de 1 à Nf, où Nf désigne le nombre de facteurs de la décomposition de dR, c'est-à-dire Nf = |DF(dR )| . Dans la pratique, on peut prendre pour DF la décomposition en facteurs premiers.
Par exemple, dR - 100 => DF(dR) - {2;2;5;5} et Nf - 4 .
La matrice de Hadamard complexe Href de référence construite par le procédé est définie par :
H ret. = R Vni l ® R Vfi , I ® --- ® R Vfm ,I = i< ®ι<Nf R "n' (1.9)
Les matrices de base F(f ) , i = 1 , ..., Nf peuvent être des matrices de
Fourier telles que définies plus haut. Plus généralement, on peut prendre des matrices de Hadamard complexes de taille fi. La génération de Href par un produit de Kronecker à partir de matrices de base peut être mise à profit dans le cas où le produit scalaire de tous les spectres complexes par un vecteur x est requis, soit (s(i)|x^ i = 0, ..., Ns-1 , pour effectuer les calculs avec une complexité minimale. Il en résulte un algorithme de complexité dRlog2dR ayant une structure proche de celle de la transformée d'Hadamard. Selon la définition de Href par l'équation (1.9), l'ordre de la racine de l'unité est le plus petit commun multiple de l'ensemble des facteurs de dR, d'où θ = ppcm(DF(dR)) = ppcm({fι}). Par exemple, θ(100) = 10.
Si on prend pour DF la décomposition en facteurs premiers de dR, cette façon de procéder possède l'avantage que θ est le plus petit possible, ce qui signifie que les phases du spectre complexe sont le plus éloignées possible les unes des autres. Incidemment, cela permet d'accroître la robustesse au bruit.
Le calcul des matrices d'entiers Href [l][c] utilise le fait qu'un nombre n tel que 0≤n<dR se décompose de manière unique dans le système numérique déduit de DF(dR), à savoir :
n = Σ MV]IM = ∑n' -b| = ni + fi-(n2 +f2-(n3 + • • •))
"l≤i≤Nf ^ 1<j<ι J "l≤i≤Nf
Cela constitue en fait une généralisation de l'équation (1.6) au cas de la décomposition de dR en un produit de facteurs. Ainsi, ayant défini, c'est-à-dire décomposé le numéro de ligne I = ∑l,.b, et le numéro de colonne c = ∑c,. b, , on obtient, à l'issue des calculs
"l≤i≤Nf "l≤i≤Nf suivants :
H1BfPl[C] θ I, .c
H-[I][C] = ii≤≤Iii≤≤NNff- - -ciππ.v — I ψ 1I 2*^ la valeur cherchée : θ ~
Le facteur — étant entier, Href est une matrice d'entiers, ce qu'on
cherchait effectivement à obtenir.
La figure 3 montre l'organisation du processus de calcul de la ième colonne de la matrice des rotations H[.][i] .
L'étape 300 de préparation consiste à : a) calculer la décomposition de dR en un produit de facteurs fi, notée DF(dR) = {fi} ; b) calculer le plus petit commun multiple de l'ensemble DF(dR), noté θ = ppcm(DF(dR)) ; c) calculer avec la clé les fonctions auxiliaires σcié,iig, σcié,coi, Pcié.iig et
L'étape 302 consiste à effectuer la permutation σcié,coi(i) puis à calculer directement Href [.][σclé col(i)] . A cette dernière matrice est ajoutée, à l'étape 304, la contribution des rotations conformément à l'équation (1.8).
Un exemple élémentaire de déroulement des opérations a) et b) est illustré sur l'organigramme de la figure 4. Lors d'une étape 400 d'initialisation, on initialise une variable n à la valeur dR, une variable D à la valeur 2, une variable i à la valeur 0 et une variable θ à la valeur 1.
Puis on effectue un test 402 consistant à vérifier si n est congru à zéro modulo D, c'est-à-dire si n est un multiple de D.
Si le test 402 est négatif, on procède à un test 404 consistant à vérifier si n vaut 1.
Si le test 404 est négatif, on incrémente d'une unité la valeur de la variable D (étape 406) et on retourne au test 402. Si le test 404 est positif, on attribue à la variable Nf, qui désigne le nombre de facteurs de la décomposition de dR, la valeur de i (étape 408) et l'algorithme se termine.
Si le test 402 est positif, on effectue un test 410 consistant à vérifier si θ est congru à zéro modulo D.
Si le test 410 est négatif, on attribue à la variable θ la valeur de la variable D.θ (étape 412) et on passe à l'étape 414. Si le test 410 est positif, on passe directement à l'étape 414.
L'étape 414 consiste à attribuer à la variable n la valeur de la variable n/D, à incrémenter d'une unité la valeur de la variable i et à attribuer à la variable fi la valeur de la variable D. On retourne ensuite au test 402. En retournant à la figure 3, l'opération 302 de calcul de la colonne
Θ Λ
Href [ ][σclé col(i)] consiste à calculer les Href [l][c] = ∑ hr I c où c = σcié,coi(i). i≤i≤Nf l T J1 J
Un exemple élémentaire de mise en œuvre de cette étape est illustré par l'organigramme de la figure 5.
Les Ij et q sont calculés progressivement. Ainsi, lors d'une étape d'initialisation 500, on initialise une variable I à la valeur 0 et une variable c à la valeur de la fonction auxiliaire σcié,ι(i)-
Puis on vérifie lors d'un test 502 si I = dR. Si le test 502 est positif, l'algorithme se termine. Sinon, on initialise une variable j à la valeur 1 et une variable a à la valeur 0 (étape 504). Ensuite, on vérifie lors d'un test 506 si j > Nf, Nf désignant le nombre de facteurs premiers de dR. Si le test 506 est positif, on attribue la valeur de la variable a à la variable Href [l][c] (étape 508), on incrémente d'une unité la valeur de la variable I (étape 510) et on retourne au test 502.
Si le test 506 est négatif, on attribue la valeur de (le signe [J
désignant la partie entière) à la variable x et on calcule Ij = I - x.f, (étape 512).
Ensuite, on attribue la valeur de à la variable y et on calcule η = c - y.fj (étape 514).
L'étape 516 suivante consiste à attribuer la valeur de a + — - c, - I, à
la variable a.
Puis, au cours de l'étape 518, on incrémente d'une unité la valeur de la variable j et on attribue la valeur de la variable x à la variable I ainsi que la valeur de la variable y à la variable c.
On retourne ensuite au test 506.
En retournant à la figure 3, l'opération 304 consiste à calculer la colonne Hde[.][i] en calculant les
Hcle [l][i] - Hrefcle lιg (l)][σcle col (i)] + pcle lιg (I) + pcle col (i) .
Une réalisation de cette opération est illustrée par l'organigramme de la figure 6.
Comme le montre la figure 6, une étape d'initialisation 600 consiste tout d'abord à initialiser une variable I à la valeur 0, une variable c à la valeur de la fonction auxiliaire σcié,coi(i), une variable h à la valeur de Href [.][c] et une variable r à la valeur de la fonction auxiliaire pcié,coi(i)-
Puis lors d'un test 602, on vérifie si I = dR. Si ce test est positif, l'algorithme se termine. Sinon, on attribue à la variable Hde[l][i] la valeur de l'expression r + h[σcié,hg(l)] + Pcié,hg(l) (étape 604). On incrémente ensuite d'une unité la valeur de la variable I (étape
606) puis on retourne au test 602. On expose à présent comment le procédé de base de génération de signaux temporels mutuellement orthogonaux décrit ci-dessus est appliqué dans toute sa généralité, conformément à la présente invention.
On a vu ci-dessus que le procédé de base engendre des signaux temporels mutuellement orthogonaux ou des spectres complexes mutuellement orthogonaux selon un gabarit de spectre de puissance tel que représenté sur la figure 1. Cette approche était didactique et permettait d'exposer le fonctionnement de base : la génération des Hde[l][i] .
Dans toute sa généralité, la présente invention permet d'engendrer des familles S = {s(i)} de signaux discrets mutuellement orthogonaux de l'espace A d'évolution du système :
A _ t γi2x xYx )Zi XZ2>< XZτ = EY1XY2X XYxXZ1 XZ2 X Zτ ayant X dimensions spatiales réelles (E = 9Î ) ou complexes (E = C) et T dimensions temporelles et d'engendrer la famille S = (s(i)} de leurs spectres complexes mutuellement orthogonaux dans :
ZpY1XY2X xYx xZτ _ pYi Xγ2χ XYxXZ1XZ2X Z1- selon des contraintes spectrales qui apparaîtront au cours de la description du procédé dans sa plus grande généralité.
Notons [n] l'ensemble [n] = {0;1 ;2;...;n-2;n-1} des entiers positifs ou nuls inférieurs à n.
Notons Q = [Yi]χ...χ[Yx]χ[Zi]χ... χ[Zτ] = [qo]x- --x[qx+τ-i] l'ensemble Q des coordonnées du système, c'est-à-dire que les éléments de Q sont des coordonnées. Pour des raisons pratiques, on définit les c\\ en correspondance avec les dimensions Yi et Z1 du système. Q définit les dimensions du système : |Q| , son nombre d'éléments ou coordonnées est le nombre de libertés du système A.
L'ensemble Q permet d'exprimer les valeurs d'un signal f de A comme une fonction de Q dans E, soit f : Q ^ E;x ι-> f(x) . Autrement dit, un signal est assimilable à f, un élément de l'ensemble des fonctions de Q dans E, noté F(Q1E), soit f <≡ F(Q1E). L'ensemble F(Q1E) est connu comme étant un espace vectoriel, et donc, comme précédemment, on assimilera les signaux f aux vecteurs de l'espace vectoriel F(Q1E).
Par définition des spectres complexes dans le domaine de Fourier, on a, pour tout signal f de F(Q1E) : et
Notons QP l'ensemble des parties de Q (QP = ^(Q)), c'est-à-dire l'ensemble qui contient tous les sous-ensembles de Q. Soit G = {cga = (ga,cléa) / ga <≡ QP et a e [n]} une famille de n parties ga de Q mutuellement disjointes, c'est-à-dire telles que si a ≠ b alors ga ngb = 0. Les ga sont appelées "bandes". On leur associe une clé appelée cléa, éventuellement unique, qui permet la génération d'une grande variété de familles de signaux faiblement corrélés. G est la définition des contraintes du système : chaque contrainte cga
= (ga,cléa) exprime quelles sont les fréquences spatio-temporelles composant la bande ga ; les fréquences hors ga ont une amplitude nulle.
Le procédé dans toute sa généralité permet de créer n familles Sa =
{sa(i)} de signaux et Sa = {sa(i)} leurs versions dans le domaine de Fourier, ayant des spectres respectant les contraintes déterminées par G et formalisées par les propriétés suivantes :
1. le spectre d'une famille Sa est contrôlé par sa bande ga, soit k e ga « |s(i)[k]| = μa
Va e [n], Vi e Sa ,Vk e Q (1.10) k * ga « Is(J)[K]I = 0
2. les familles sont décorrélées entre elles, soit V(a,b) e [n^a ≠ b ^ (vf e Sa,Vg e Sb,(f|g) = O et (f|g) = θ)
3. les signaux d'une famille sont décorrélés entre eux, soit Va e [n], V(U) e |Sa|2,(sa(i)|sa(j)) = 0 « (sa(i)|sa(j)) = 0 « i ≠ j
4. la puissance d'un signal est contrôlée, soit
Va e [n],Vi e Sa,(sa(i)|sa(i)) = 1
Le procédé permet, à partir des familles Sa = {sa(i)} de signaux et Sa = (sa(i)} de leurs spectres complexes, d'engendrer une famille S = {s(i)} de signaux mutuellement orthogonaux (décorrélés) et la famille S = (s(i)} de leurs spectres complexes eux-mêmes orthogonaux, et dont le spectre de puissance dans chacune des bandes ga est indépendant et quelconque.
Le procédé permet, à partir des familles S3 = {sa(i)} de signaux et Sa = (sa(i)} de leurs spectres complexes, d'engendrer une famille S = {s(i)} de signaux selon deux méthodes différentes dont le choix dépend de l'usage auquel la famille S est destinée :
- dépendance des bandes entre elles, ce qui signifie que l'orthogonalité dans une bande implique l'orthogonalité dans les autres bandes, et donc que les signaux de la famille S sont orthogonaux entre eux ;
- indépendance des bandes entre elles, ce qui signifie que les signaux des familles Sa peuvent être combinés sans restriction et implique que les signaux de la famille S ne sont pas toujours orthogonaux deux à deux.
L'organigramme de la figure 7 illustre le procédé conforme à la présente invention dans toute sa généralité.
La contrainte G est segmentée en ses contraintes par bande ego, cgi, cg2, etc. Chaque bande ga donne lieu à la génération (via les modules 70, 71 , 72, etc.) d'un signal sa(i) et de sa variante sa(i) dans le domaine de Fourier, ayant un spectre contrôlé. Les signaux ainsi créés sont multipliés (via les modules 700, 701 , 702, etc.) par un facteur ca qui contrôle la puissance du signal dans cette bande. Les signaux sont ensuite additionnés dans un module
7000 pour donner le spectre complexe s(i,c) et/ou les signaux s(i,c) cherché(s).
Les facteurs ca peuvent être modifiés sans changer l'orthogonalité (non corrélation) des spectres et signaux, ils ne modifient que l'équilibrage de la puissance des signaux s(i,c) et s(i,c). Le procédé dans toute sa généralité illustré sur la figure 7 utilise le procédé dit de "calcul bande" (dans les modules 70, 71 , 72, etc.).
Le calcul bande est illustré plus en détails sur l'organigramme de la figure 8. Il inclut une étape 80 dite de "préparation bande" qui permet de déterminer une fois pour toutes les paramètres de génération qui seront utilisés par le procédé dit de "calcul spectral" illustré par le bloc 82.
Le procédé de calcul spectral permet la génération du spectre complexe sa(i) du ième signal de la bande ga. Le signal s(i) est obtenu en sortie du module 84, par une transformée de Fourier discrète inverse de son spectre complexe sa(i) , par une simple mise en œuvre de la formule
s(i)[k] , éventuellement optimisée selon les techniques classiques de transformation de Fourier rapide.
L'étape de préparation bande est illustrée plus en détails sur l'organigramme de la figure 9. Ce mécanisme est composé d'un module dit de "calcul du prolongement" 90 qui détermine, en fonction de la contrainte cga et des dimensions du système, la dimension da,R des matrices de Hadamard (et donc le nombre maximal de signaux de la famille) et les données de prolongement prlga qui seront utilisées pour le prolongement. Le module de préparation 300 est celui décrit plus haut en liaison avec les figures 3 et 4. L'organigramme de la figure 10 montre plus en détails l'organisation de l'étape de calcul spectral mise en œuvre par le bloc 82 de la figure 8. Cette étape comprend :
- l'étape 302 de calcul de Href [ .][σa de c0|(i)] illustrée sur la figure 3 et explicitée sur la figure 5 ; - l'étape 304 de calcul de Ha de[.][i] illustrée sur la figure 3 et explicitée sur la figure 6 ;
- une étape 106 dite "d'exponentielle" qui consiste à calculer les nombres complexes correspondant aux rotations calculées et à les normaliser par un facteur d'échelle permettant d'obtenir la propriété de puissance contrôlée. La formule est : Ha clé[l][i] = . Cette étape est illustrée plus en détails sur la figure 11 ;
- une étape 108 de prolongement qui permet de constituer le spectre complexe sa(i) à puissance contrôlée cherché. Comme le montre la figure 11 , une étape 110 d'initialisation consiste tout d'abord à initialiser une variable I à la valeur 0. Puis un test 112 consiste à vérifier si la valeur de la variable I a atteint le nombre maximal da,R de signaux de la famille. Si tel est le cas, la procédure se termine. Sinon, on calcule
^^ H3 de [I][I]
Ha clé[l][i] = μa.e θ au cours d'une étape 114, puis on incrémente la variable I d'une unité (étape 116) et on retourne au test 112.
Les opérations de prolongement 108 (figure 10) et de calcul du prolongement 90 (figure 9) diffèrent selon la nature du signal cherché, c'est-à- dire selon qu'on cherche un signal réel (E = 9î ) ou complexe (E=C).
Les organigrammes des figures 12 et 13 montrent les étapes du calcul dans le cas des signaux complexes. Ce cas est le plus simple car il n'y a pas de contrainte de symétrisation.
La figure 12 illustre plus en détails l'étape 90 de calcul du prolongement de la figure 9 dans le cas des signaux complexes. Lors d'une étape 120, on attribue la valeur de la bande ga à la variable prlga. Puis lors d'une étape 122, on attribue la valeur de |ga| à la variable da,R. On calcule
ensuite μa = (étape 124), ce qui termine la procédure. Le respect de la propriété de puissance contrôlée, c'est-à-dire (sa(i)|sa(i)^ = 1 , amène en effet à
poser μ a
La figure 13 illustre plus en détails l'étape 108 de prolongement de la figure 10 dans le cas des spectres complexes. Au cours d'une première étape 130, on initialise la variable s(i)[.] à la valeur 0 et au cours d'une étape
132, on initialise une variable I à la valeur 0. Puis un test 134 consiste à vérifier si la variable I est égale à da,R. Si tel est le cas, la procédure se termine. Sinon, on calcule, au cours d'une étape 136, s(i)[pr IgJk]] = Ha clé[l][i] . On incrémente ensuite la valeur de I d'une unité (étape 138) puis on retourne au test 134.
Dans le cas des signaux réels, il convient d'assurer l'égalité sa(i) = sa(i). Cette égalité est vraie quand Vk e Q, sa(i)[k] = sa(i)[k] . Cette définition utilise la définition du conjugué de la coordonnée k. Cette bijection de Q dans Q est définie de la façon suivante : k = (K0 , K1 , . . . , Kx+J-1 ) -w- k = (k0 , K1 , . . . , Kx+J-1 ) f k. = 0 <=> k. = 0 où < _ . On voit que k, = k, et q, pair => q, /2 = q, 12 .
[k, ≠ O o k, = q, - k, Cette contrainte est prise en compte lors de l'étape dite de
"préparation du prolongement" illustrée en détails par l'organigramme de la figure 14.
On commence par des étapes d'initialisation de da,R à la valeur 0 (étape 140), des données de prolongement prlga à l'ensemble vide (étape 142) et de la variable I à la valeur 0 (étape 144).
On procède ensuite à un test 146 pour vérifier si I = |ga| . Si tel est le
1 cas, on calcule μa = , = (étape 148) et la procédure se termine. Sinon,
Ja,R on attribue à la variable k la valeur de ga[l] (étape 150). On remarquera que la valeur de μa est différente selon que les signaux sont réels ou complexes. Puis un test 152 consiste à déterminer si k = k . Si tel est le cas, on incrémente d'une unité la valeur de la variable I (étape 154) puis on retourne au test 146. Sinon, on vérifie si k e prlga (test 156). Si tel est le cas, on passe à l'étape 154. Sinon, on détermine lors d'un test 158 si k e prlga . Si tel est le cas, on passe à l'étape 154. Sinon, on ajoute k aux données de prolongement (étape 160), on incrémente d'une unité la valeur de da,R (étape 162) puis on passe à l'étape 154. Cette préparation du prolongement supprime les éléments de ga qui sont indésirables. Ainsi, la dimension da,R peut avoir une valeur différente de
Le prolongement dans le cas des signaux réels est illustré par l'organigramme de la figure 15. La procédure est identique à celle du cas complexe illustré sur la figure 13 pour ce qui concerne les étapes 130 à 136 décrites plus haut. Dans le cas des signaux réels, l'étape 136 est en outre suivie d'une étape 164 consistant à calculer sa(i)[prlga[k]] = Ha cle[l][i] . On incrémente ensuite la variable I d'une unité (étape 166) puis on retourne au test 134.
Cette procédure assure la propriété nécessaire aux réels :
Vk <≡ Q, sa(i)[k] = sa(i)[k] . Dans ce cas, le calcul montre que le facteur μa doit 1 valoir μa =
Le nombre maximal de signaux de la famille S engendrée selon G est donné selon les cas d'usages :
- dépendance des bandes entre elles, ce qui signifie que l'orthogonalité dans une bande implique l'orthogonalité dans les autres bandes,
= min S 'a3 = min d ae[n] ae[n] a R '
- indépendance des bandes entre elles, |S| = ]~[|Sa| = ]~[da R . ae[n] ae[n] L'invention trouve à s'appliquer dans de nombreux domaines. Un premier exemple concerne le tatouage des fichiers audio.
Les signaux orthogonaux sont également très utiles en transmission, où ils sont adaptés aux modulations orthogonales, bi-orthogonales et CDMA. La figure 16 montre, à titre d'exemple non limitatif, que le procédé conforme à l'invention permet de fournir des signaux temporels ou leurs variantes de Fourier à spectres discrets contrôlés au niveau de la modulation des messages. A la démodulation, les données reçues du canal de transmission sont traitées afin de reconstituer les messages émis. Le procédé de la figure 16 peut être utilisé pour alimenter une mémoire morte (ROM), ce qui évite d'embarquer le procédé.
Sur la figure 16, le message binaire est modulé (au sein d'un bloc 1600) par le signal alloué à l'utilisateur #i à qui est destinée la donnée binaire. Le signal est ensuite traité pour être émis sur le canal radio mobile 1602. En réception, l'utilisateur #i effectue la corrélation du signal reçu (bloc 1604). Du fait que les signaux sont orthogonaux, l'utilisateur #i ne va détecter, dans le flux qu'il reçoit, que les données qui lui sont destinées.
Ces signaux peuvent également être utilisés en métrologie, où ils peuvent permettre d'optimiser les données d'excitation à fournir au système étudié, comme l'illustre la figure 17. Cela permet d'augmenter la pertinence du résultat de la mesure effectuée sur le système étudié. Le procédé de la figure 17 peut être utilisé pour alimenter une ROM, ce qui évite d'embarquer le procédé. Un cas typique d'utilisation en métrologie est celui de la mesure de la réponse impulsionnelle des salles acoustiques.
Pour effectuer cette mesure, on émet par un haut-parleur une longue séquence périodique de signal dont chaque période est à spectre plat ou contrôlé suivant les cas. Le signal périodique sera filtré par la réponse impulsionnelle de la salle. On récupère le signal sur un microphone pour traitement. La réponse percussionnelle de la salle est obtenue en faisant l'intercorrélation entre le signal reçu par le microphone et la séquence émise.
Pour obtenir une réponse de salle précise, il est nécessaire que la séquence émise ait une fonction de corrélation égale à une distribution de Dirac. C'est justement le cas des signaux temporels qui font l'objet de la présente invention.
La corrélation est effectuée en prenant une séquence de taille double de celle de la réponse impulsionnelle désirée. Une façon efficace de réaliser la corrélation est d'effectuer la transformée de Fourier discrète du signal reçu, de multiplier le signal fréquentiel obtenu par le complexe conjugué de la transformée de Fourier de la séquence orthogonale et d'effectuer une transformation de Fourier inverse rapide du signal résultant. Comme les signaux sont engendrés dans le domaine spectral, il suffit de stocker en ROM la version fréquentielle de la séquence.
Ces signaux peuvent aussi être utilisés comme base pour le codage ou la représentation des signaux. Par exemple, ces signaux peuvent être utilisés en codage audionumérique comme illustré à titre d'exemple par la figure 18. L'utilisation des spectres complexes orthogonaux dans le domaine fréquentiel permet de coder le signal de parole ou audio directement dans ce domaine.
Comme les spectres complexes utilisés ont une étendue contrôlée en fréquence, la mise en forme du bruit de quantification peut être effectuée de façon que le bruit suive fidèlement la courbe de masquage sur les bandes de fréquence spécifiées.
Le dispositif de codage illustré à la figure 18 comporte un dictionnaire dans lequel les spectres complexes générés selon le procédé de l'invention sont stockés. Ce type de dictionnaire est utilisé dans le codage ou le décodage de signaux audio pour mettre en oeuvre l'étape de quantification et de quantification inverse.
Dans un exemple particulier, les signaux sont engendrés par des produits de Kronecker de matrices de base, le produit scalaire du signal à quantifier par toutes les formes d'onde du dictionnaire peut alors être obtenu efficacement par un algorithme rapide faisant intervenir des papillons comme celui de la Transformée de Fourier Rapide (TFR) ou celui de la transformée de Hadamard réelle.
Pour une matrice de dimension Ns engendrée par des produits de Kronecker conformément à l'équation (1.9), le débit par échantillon sera donné par :
Débit = log2(Ns)/Ns
Pour des valeurs usuelles de Ns d'une dizaine, ce débit sera relativement faible. Pour augmenter le débit, le dictionnaire est élargi en prenant des matrices différentes comme matrices génératrices. Par exemple, pour un ordre 2, il existe 64 matrices de base possibles, les éléments de chaque matrice étant orthogonaux et choisis dans (1 , -1 , i, -i). Plus précisément, la figure 18 illustre l'utilisation des spectres complexes mutuellement orthogonaux dans un codeur prédictif temporel.
La contribution du filtrage d'un signal émis se(n) avec une excitation nulle (bloc 180) est d'abord retranchée du signal (soustracteur 182) pour donner la cible t. La cible t dans le domaine fréquentiel est obtenue par Transformée de Fourier Rapide de t (bloc 184). Les échantillons complexes du signal sont quantifiés par un quantificateur 186 défini par un dictionnaire contenant les Ns vecteurs complexes orthogonaux s(0),...,s(Ns - 1) .
Des opérations inverses de celles qui viennent d'être décrites sont effectuées après passage dans un canal de transmission 188, pour finalement aboutir à un signal reçu srec(n).
La quantification revient à minimiser le critère suivant :
E, = |t - ghs(i)|2 i = 0,...,Ns - 1 où h est une matrice diagonale de pondération perceptuelle dans le domaine des fréquences et g désigne le gain de normalisation. En minimisant Ej, on trouve : t ' h ' s(i) , ^ j . . . - - , . - . g = — — (ou désigne ICI la matrice transposée) s(i) h ' hs(i) et l'indice iopt qui minimise le critère d'erreur est donné par : Ns - 1 Le numérateur est égal au produit scalaire de tτhτ par toutes les formes d'onde du dictionnaire engendré par un produit de Kronecker de matrices élémentaires pour lequel un algorithme efficace du type "transformée de Hadamard" est réalisé. La structure résultante est basée sur une structure en papillon analogue à celle de la TFR. Dans le cas particulier où le gain de normalisation g est connu, le calcul de l'indice optimal se résume à calculer l'indice iopt qui maximise [tτs(i)]2 . Un exemple particulier de mise en œuvre est obtenu en segmentant le spectre en bandes de fréquence, contigϋes ou non, de longueur variable, avec éventuellement des zones d'amplitude nulle aux fréquences élevées.
Dans le premier cas, on peut par exemple coder l'ensemble du spectre par zones de fréquence croissante ou d'importance perceptuelle croissante (déduite dans ce cas des facteurs d'échelle), au moyen de familles de spectres orthogonaux complexes comme représenté sur la figure 18, chaque zone du spectre étant quantifiée par une matrice engendrée par produits de
Kronecker. Les calculs de produits scalaires intervenant dans la quantification sont effectués par des transformations rapides utilisant la structure des matrices. On peut ainsi, progressivement, obtenir un train binaire hiérarchique, propriété recherchée en compression des signaux.
La figure 19 représente un exemple d'utilisation des signaux mutuellement orthogonaux dans le cas du tatouage audio. Les signaux ou spectres complexes sont engendrés conformément à la description donnée ci- dessus, le procédé illustré étant soit embarqué, soit fonctionnant "hors ligne", les signaux étant stockés une fois pour toutes dans une ROM.
Si on veut transmettre un message binaire d'indice i, on va filtrer et moduler le signal d'indice i (bloc 190) et ajouter le résultat de cette opération au signal audio (additionneur 192).
Après transmission (bloc 194), en réception, on effectue d'abord la resynchronisation puis la corrélation (bloc 196) entre le signal reçu et l'ensemble des signaux du dictionnaire de réception. Le signal détecté est celui qui donne le maximum de corrélation. Le fait que les signaux sont à spectre contrôlé permet de ne pas perturber inutilement le signal en insérant la marque potentiellement audible dans des zones du spectre qui, de toute façon, ne seront pas transmises par les codées.
On pourrait en outre envisager d'utiliser les signaux obtenus conformément à l'invention dans le domaine du filtrage numérique.
Un dispositif 200 mettant en œuvre les procédés conformes à l'invention est illustré sur la figure 20. Ce dispositif peut être par exemple un micro-ordinateur 200 connecté à différents périphériques, dont au moins certains sont susceptibles de fournir des informations à traiter selon l'invention.
Le dispositif 200 peut comporter une interface de communication 2000 reliée à un réseau (non représenté). Le dispositif 200 comporte par ailleurs un moyen de stockage 2002, tel qu'un disque dur. Il peut aussi comporter un lecteur de supports d'informations 2004 tels que des disquettes, CD-ROM ou encore cartes mémoire 2006. Le support d'informations 2006 et le moyen de stockage 2002 peuvent contenir des données d'implantation logicielle de l'invention ainsi que le code de l'invention qui, une fois lu par le dispositif 200, sera stocké sur le moyen de stockage 2002. En variante, le programme permettant au dispositif de mettre en œuvre l'invention pourra être stocké en mémoire morte (par exemple une ROM) 2008. En seconde variante, le programme pourra être reçu par l'intermédiaire du réseau, pour être stocké de façon identique à celle décrite précédemment.
Le dispositif 200 est relié à un microphone 2010 par l'intermédiaire d'une carte d'entrées/sorties 2012. Les données à traiter selon l'invention seront dans ce cas du signal audio.
Ce même dispositif comporte un écran 2014 permettant de visualiser les informations à traiter ou de servir d'interface avec l'utilisateur, qui pourra paramétrer certains modes de traitement, à l'aide d'un clavier 2016, d'une souris ou de tout autre moyen.
Une unité centrale (CPU) 2018 exécute les instructions relatives à la mise en œuvre de l'invention, instructions stockées dans la mémoire morte 2008 ou dans les autres éléments de stockage. Lors de la mise sous tension, les programmes et méthodes de traitement stockés dans une des mémoires (non volatile), par exemple la ROM 2008, sont transférés dans une mémoire vive (par exemple, une RAM) 2020, qui contient alors le code exécutable de l'invention ainsi que les variables nécessaires à la mise en œuvre de l'invention. Un bus de communication 2022 permet la communication entre les différents sous-éléments du micro-ordinateur 200 ou liés à lui. La représentation du bus 2022 n'est pas limitative et notamment, l'unité centrale 2018 est susceptible de communiquer des instructions à tout sous-élément du microordinateur 200 directement ou par l'intermédiaire d'un autre sous-élément du micro-ordinateur 200.
Le dispositif décrit ici est susceptible de contenir tout ou partie du traitement décrit dans l'invention.

Claims

REVENDICATIONS
1. Procédé de génération d'une pluralité de spectres discrets s(i) de dimension Q, mutuellement orthogonaux et à puissance contrôlée, i désignant le numéro du spectre, lesdits spectres représentant des signaux temporels dans le domaine spectral et étant de module μ constant dans un ensemble G de désignation de raies spectrales et nul partout ailleurs, ledit procédé étant caractérisé en ce qu'il consiste à :
- déterminer (20) au moins une partie d'une matrice de Hadamard complexe H d'ordre dR = w dans le cas de spectres de signaux réels et dR = 2.w dans le cas de spectres de signaux complexes ;
- déterminer (22) le prolongement P de la matrice H à partir de G et de la dimension Q ; et
- obtenir (22) lesdits spectres à puissance contrôlée s(i) = μ P(H[.][i]), où H[.][i] désigne la ième colonne de la matrice H.
2. Procédé selon la revendication 1 , caractérisé en ce que l'étape (20) de détermination d'au moins une partie de la matrice de Hadamard complexe consiste à obtenir une colonne (Hcle[.][i] ) d'une matrice des rotations calculée à partir de clés prédéterminées de rotation et de permutation appliquées à une matrice de Hadamard de référence (Href ).
3. Procédé selon la revendication 2, caractérisé en ce qu'il comporte en outre une étape de décomposition de l'ordre dR de ladite matrice de Hadamard de référence en un produit de facteurs (f,) et une sous-étape de calcul du plus petit commun multiple (θ) de l'ensemble desdits facteurs pour la détermination de la matrice de Hadamard de référence.
4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte en outre une étape (24) consistant à déterminer un signal
s(i)[k] = [kN][x[α]] où : • i désigne le numéro du signal,
• Q désigne un ensemble de coordonnées,
• X désigne le nombre de dimensions spatiales,
• T désigne le nombre de dimensions temporelles et • F(qJ désigne la matrice de Fourier d'ordre qα, de façon à engendrer une pluralité de signaux temporels s(i) mutuellement orthogonaux.
5. Procédé de génération d'une famille de signaux temporels t(i), caractérisé en ce qu'il consiste à combiner des familles de signaux temporels mutuellement orthogonaux engendrés par un procédé selon la revendication 4 et dont les supports spectraux sont disjoints.
6. Utilisation de signaux temporels ou spectres complexes mutuellement orthogonaux engendrés par un procédé selon l'une quelconque des revendications précédentes pour l'étalement spectral dans des systèmes de transmission à étalement de spectre.
7. Utilisation de signaux temporels ou spectres complexes mutuellement orthogonaux engendrés par un procédé selon l'une quelconque des revendications 1 à 5 pour le tatouage audio et sa détection.
8. Utilisation de spectres complexes mutuellement orthogonaux à spectre de puissance contrôlé engendrés par un procédé selon l'une quelconque des revendications 1 à 4 pour le codage ou la représentation de signaux audio, les signaux audio étant quantifiés à l'aide d'un dictionnaire ou d'une famille de dictionnaires à valeurs réelles ou complexe.
9. Utilisation de signaux temporels ou spectres complexes mutuellement orthogonaux à spectre de puissance contrôlé engendrés par un procédé selon l'une quelconque des revendications 1 à 5 pour l'optimisation de données d'excitation de métrologie.
10. Dispositif de génération d'une pluralité de spectres discrets s(i) de dimension Q, mutuellement orthogonaux et à puissance contrôlée, i désignant le numéro du spectre, lesdits spectres représentant des signaux temporels dans le domaine spectral et étant de module μ constant dans un ensemble G de désignation de raies spectrales et nul partout ailleurs, ledit dispositif étant caractérisé en ce qu'il comporte :
- des moyens pour déterminer au moins une partie d'une matrice de Hadamard complexe H d'ordre dR = w dans le cas de spectres de signaux réels et dR = 2.w dans le cas de spectres de signaux complexes ;
- des moyens pour déterminer le prolongement P de la matrice H à partir de G et de la dimension Q ; et
- des moyens pour obtenir lesdits spectres à puissance contrôlée s(i) = μ.P(H[.][i]), où H[.][i] désigne la ième colonne de la matrice H.
11. Dispositif de codage de signaux audio, caractérisé en ce qu'il comporte un dictionnaire dans lequel sont stockés des spectres complexes mutuellement orthogonaux engendrés par un dispositif conforme à la revendication 10.
12. Produit programme d'ordinateur pouvant être chargé dans un appareil programmable, caractérisé en ce qu'il comporte des séquences d'instructions pour mettre en œuvre un procédé selon l'une quelconque des revendications 1 à 5, lorsque ce programme est chargé et exécuté par l'appareil programmable.
EP08775694A 2007-03-09 2008-03-07 Procede de generation de signaux mutuellement orthogonaux dont le spectre est controle Withdrawn EP2119073A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0753737A FR2913548A1 (fr) 2007-03-09 2007-03-09 Procede de generation de signaux mutuellement orthogonaux dont le spectre est controle
PCT/FR2008/050391 WO2008122744A1 (fr) 2007-03-09 2008-03-07 Procede de generation de signaux mutuellement orthogonaux dont le spectre est controle

Publications (1)

Publication Number Publication Date
EP2119073A1 true EP2119073A1 (fr) 2009-11-18

Family

ID=38477097

Family Applications (1)

Application Number Title Priority Date Filing Date
EP08775694A Withdrawn EP2119073A1 (fr) 2007-03-09 2008-03-07 Procede de generation de signaux mutuellement orthogonaux dont le spectre est controle

Country Status (4)

Country Link
US (1) US8154984B2 (fr)
EP (1) EP2119073A1 (fr)
FR (1) FR2913548A1 (fr)
WO (1) WO2008122744A1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2934696A1 (fr) * 2008-08-01 2010-02-05 Groupe Ecoles Telecomm Procede de generation de sequences de codes pour des communications a acces multiples par repartition de codes et systeme associe.
US8416641B2 (en) * 2010-04-28 2013-04-09 Semiconductor Components Industries, Llc Acoustic distance measurement system having cross talk immunity
US10868628B1 (en) * 2019-04-02 2020-12-15 Huawei Technologies Co., Ltd. Method and apparatus for generating and implementing spectrally-efficient orthogonal codes for wireless communications

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL114471A0 (en) * 1994-07-12 1996-01-31 Usa Digital Radio Partners L P Method and system for simultaneously broadcasting and analog signals
US6724741B1 (en) * 1998-06-29 2004-04-20 L-3 Communications Corporation PN code selection for synchronous CDMA
US6314125B1 (en) * 1998-12-09 2001-11-06 Qualcomm Incorporated Method and apparatus for the construction and transmission of binary quasi orthogonal vectors
CA2376858C (fr) 1999-06-11 2006-02-14 Templex Technology, Inc. Systeme et appareil de communication avec code orthogonal synchrone
US7242722B2 (en) * 2003-10-17 2007-07-10 Motorola, Inc. Method and apparatus for transmission and reception within an OFDM communication system
US20070036202A1 (en) * 2005-03-11 2007-02-15 Hongya Ge Code, signal and conjugate direction design for rapidly-adaptive communication receivers and electromagnetic, acoustic and nuclear array processors

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2008122744A1 *

Also Published As

Publication number Publication date
US20100103811A1 (en) 2010-04-29
WO2008122744A1 (fr) 2008-10-16
FR2913548A1 (fr) 2008-09-12
US8154984B2 (en) 2012-04-10

Similar Documents

Publication Publication Date Title
Rekik et al. Speech steganography using wavelet and Fourier transforms
EP2681889B1 (fr) Procede de modulation d&#39;un signal multiporteuse de type oqam, programme d&#39;ordinateur et modulateur correspondants
EP2603862B1 (fr) Procédé d&#39;analyse de signaux fournissant des fréquences instantanées et des transformées de fourier glissantes et dispositif d&#39;analyse de signaux
EP2828848B1 (fr) Procédé et système pour incorporer et détecter un motif
Ahani et al. A sparse representation-based wavelet domain speech steganography method
FR3098973A1 (fr) Procédé de séparation d’un signal acoustique de mélange en une pluralité de M contributions sonores ; Produit programme d’ordinateur et support lisible d’informations associés.
CN112309426A (zh) 语音处理模型训练方法及装置和语音处理方法及装置
EP2119073A1 (fr) Procede de generation de signaux mutuellement orthogonaux dont le spectre est controle
Kumar et al. Secured speech watermarking with DCT compression and chaotic embedding using DWT and SVD
Galleani et al. Direct time-frequency characterization of linear systems governed by differential equations
EP3200384B1 (fr) Procédé d&#39;execution de calcul cryptographique et application a la classification par machines a vecteurs de support
CN105283915A (zh) 数字水印嵌入装置、数字水印检测装置、数字水印嵌入方法、数字水印检测方法、数字水印嵌入程序以及数字水印检测程序
EP3482524B1 (fr) Procédé de génération des paramètres caractérisant un protocole cryptographique
Hoffmann Rate of convergence for parametric estimation in a stochastic volatility model
Adrian et al. Synthesis of perceptually plausible multichannel noise signals controlled by real world statistical noise properties
WO2012085215A1 (fr) Procede et systeme pour l&#39;authentification multi-modale multi-seuil utilisant le partage de secret
EP2126904B1 (fr) Procede et dispositif de codage audio
Kurada et al. Speech bandwidth extension using transform-domain data hiding
Mirarab et al. A novel wavelet based ICA technique using Kurtosis
Saadi et al. A novel adaptive watermark embedding approach for enhancing security of biometric voice/speech systems
EP2045957B1 (fr) Calcul de preuve d&#39;appartenance d&#39;un secret à un intervalle, mettant en oeuvre und décomposition binaire
Gunjal et al. Optimised adaptive speech coder for software defined radio
Rao et al. Speech Steganography Using DWT with IPDP-MLE Approach for Defence Applications
Kumar et al. A Novel Speech Steganography Mechanism to Securing Data Through Shift Invariant Continuous Wavelet Transform with Speech Activity and Message Detection
WO2010000966A1 (fr) Procédé de simulation d&#39;un circuit électronique comportant au moins une partie analogique avec une densité spectrale de puissance

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20090828

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR

RIN1 Information on inventor provided before grant (corrected)

Inventor name: LOZACH, BRUNO

Inventor name: LE GUYADER, ALAIN

Inventor name: BOLLO, JOSE

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20110128

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ORANGE

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

INTG Intention to grant announced

Effective date: 20161012

RIN1 Information on inventor provided before grant (corrected)

Inventor name: LOZACH, BRUNO

Inventor name: LE GUYADER, ALAIN

Inventor name: BOLLO, JOSE

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20170223