The invention relates to the identification of systems, in particular for electronic devices such as filters, for example, or electromechanical devices, e.g. in MEMS form.
The invention relates to a device and a method carrying out an estimation of the output of a system by estimating its impulse response in discrete time.
In the traditional system identification means, quantification operations can be carried out. These operations are generally modeled by adding white noise b to a signal y that is quantified:
yquantified=y+b
This noise is all the weaker as the number of bits on which the quantification is done is higher. Thus, to identify a system using a traditional identification method, it is preferable to have an analog digital converter (ADC) with a high resolution.
In that case, with a small number of measurements, it is possible to be freed from the quantification noise.
In the case where an ADC with low precision is used, a significant number of measuring points may be necessary.
One very widespread traditional identification method is the so-called method “of least squares.” This method consists of making a parameterized model θidéal of the transfer function of the system and minimizing the square deviation between the measured values and estimated values output from the model Ĥθ, the system's input e also being known:
θidéal=arg min(∥Ĥθ(e)−yquantifie∥2)
In the case where the quantification noise is low enough, the quantified signal yquantifié can be likened to the actual signal y. In that case, if the model Ĥθ is linear, the parameterized model θidéal can be expressed analytically. The input e of the system one wishes to identify is generally white noise.
The method of least squares has the drawback, in particular, of requiring that a high-resolution ADC be integrated.
In another method, called “KLV” (Kessler Landau Voda) (
Such a method has several drawbacks. First, the validity of the analytical relationships used is based on an approximation called approximation of the first harmonic of the comparator. Moreover, such a method requires a precise measurement of the amplitude and phase of the oscillations, the amplitude measurement requiring a high resolution ADC.
Another method, called “OBT” (Oscillation-Based Test), close to the KLV method, consists of inserting the system one wishes to identify and having a transfer function H, in a non-linear loop including a comparator 6. The return gain (block referenced 7) is adjusted to observe oscillations preferably having as sinusoidal a shape as possible. In this way, it is possible to deduce, using the first harmonic hypothesis, the parameters of the transfer function H using analytical relationships, as for the KLV method.
This method also has the drawback of requiring a precise measurement of the amplitude of the oscillations at the input of the comparator, i.e. a high-resolution ADC 5 (
An identification method called the “LCM”(Limit Cycle Measurement) method makes it possible to precisely determine the natural frequency and damping of a second order system using two frequency measurements (
A first measurement is done by placing the system to be identified with transfer function H in a loop including a comparator 9 and a differentiator 8 (
A second measurement is done by replacing, in said loop, the differentiator 8 with an integrator 10 (
It is thus possible to obtain a relationship between the frequency of the measured oscillations in output from the comparator 6 and the value of the natural frequency and damping of the system to be identified.
This method is based on two digital measurements, the frequency measurement being done by counting the number of switches of the comparator over a given duration. This method has several drawbacks.
It is only applicable to analog integrator or differentiator filters or on samples. Also, in the case of implementation using a digital circuit, it is necessary to have an Analog Digital Converter (ADC) with a good resolution to inject the output of the integrator into the system.
In the “CLCM” (Complex Limit Cycle Measurement) method, the system to be identified 12 is placed in a non-linear feedback loop including a sampled comparator 13 having a sampling period Ts, a digital programmable digital filter 14, and an ADC 15 (
Depending on the value chosen for the coefficients of the digital filter, binary oscillations or “limit cycles” can be seen in output from the comparator 13. These limit cycles differ from those observed by implementing the KLV method or LCM method in that they have a period that is a multiple of the sampling period Ts. The switching moments of the comparator 13 correspond to sampling moments. Thus, measuring a limit cycle corresponding to a set of coefficients of the programmable filter 14 is completely digital.
This method in particular has the drawback of having to generate long limit cycles to implement it.
The KLV and LCM methods make it possible to establish, at the cost of an approximation, a relationship between the magnitudes measured and parameters one wishes to determine.
The KLV and OBT methods require a high-resolution ADC, while the LCM method requires an ADC with a good resolution. These methods yield insufficient results when the sampling frequency is high.
The CLCM method has a performance that is independent of the sampling frequency, at the cost of heavier processing than that done with the other methods. Moreover, with such a method, good precision requires that long limit cycles be generated, which can be problematic.
The use of the aforementioned closed loop identification methods is particularly problematic when the system to be identified is an electromechanical device in the form of a MEMS. The risk is of not being able to perform the identification at the right operating point, in as much as exciting a MEMS on one of its modes tends to very quickly amplify non-linear phenomena. To offset this, it is possible to add an amplitude gain control (AGC) to the identification system, which may require the use of a high-precision ADC.
The aforementioned identification methods have the drawback of requiring an analog-digital conversion with a significant resolution in output, which makes them more complex to implement and creates cost problems.
The problem arises of finding a new identification method that does not have the aforementioned drawbacks.
The present invention first concerns a method of identifying a system comprising the following steps:
The output signal sk is a binary data signal.
The method according to the invention makes it possible to perform an identification without having to use a high-resolution ADC.
The input signal can be a noise signal.
The system is a device or a group of devices that can be described by a transfer function.
The system can be an electronic device, e.g. a filter, or a sigma-delta converter, or a telecommunications transmission channel, or a DC/DC converter.
According to another possibility, the system can be an electromechanical device, in particular in the form of a MEMS.
The given criterion J is also called “cost function.”
The estimation of the impulse response can also comprise: the application to said calculated elements of the given criterion, of a “passage” function f, said passage function f being predetermined as a function of said signal applied at the input of said system, and such that:
with hi an impulse response element h of said system and ĥi an element of said impulse response estimation ĥ of said system among a plurality of nh impulse response elements.
The estimation of the impulse response can comprise the application to the calculated elements of the given criterion of a passage function f predetermined as a function of the noise signal applied at the input of the system, so as to obtain a plurality of elements ĥ0, . . . , ĥi, . . . , ĥnh−1 of said impulse response estimation ĥ, said elements of said estimation being such that:
(ĥ0, . . . ,ĥi, . . . ,ĥnh−1)=(f(J0), . . . ,f(Ji), . . . ,f(Jnh−1)).
According to one possibility, the input signal is a Gaussian noise signal.
In that case, the passage function follows a given relationship determined as a function of this type of noise.
In the case where the input signal is a Gaussian noise signal, said passage function f can follow the relationship: f(J)=σ′ sin((π/2)(2J−1)), with:
σ′2=σb2+σh2 where σb, represents the ambient noise of the system to be identified modeled as an additive Gaussian white noise at the output of the system and
is the quadratic sum of the different elements of the impulse response.
According to another possibility, the input signal can be a white noise signal.
In that case, the passage function follows a given relationship determined as a function of that type of noise.
In the case where the input signal is a binary white noise signal, said passage function f can follow the relationship:
f(J)=σ√{square root over (2)}((erf−1(1−2J))/√{square root over (1+2(erf−1(1−2J))2)}
The estimation ĥ of the impulse response can comprise:
The signal u is binary in the case of a binary white noise and on several levels in the case of Gaussian noise.
The values uk, . . . , uk−i, uk−nh−1 of the noise signal u are taken at different moments k, k−1, . . . , k−i, k−nh−1.
The calculation of said plurality of nh elements J0, . . . , Ji, . . . , Jnh−1 of said criterion J can comprise: applying the signal sk at the output of said converter taken at a given moment k and a noise signal uk−i, with (0≦i≦nh) at the output of said system, delayed i times relative to said given moment, to a means forming an exclusive OR logic gate.
Calculating said plurality of nh elements J0, . . . , Ji, . . . , Jnh−1 of said given criterion J can comprise:
According to one possible embodiment of the method, the acquisition of the signal sk at the output of said converter can be done for a given number N of samples, the calculation of the given criterion J being dependent on at least one predetermined coefficient λ, with (λ)˜N, with N a given number of samples.
The method can comprise a modification of the value of said coefficient λ during said estimation of said impulse response ĥ.
Varying the coefficient λ can make it possible to modulate the precision and speed of the estimation.
The estimation ŷk of the response also comprises: calculating a convolution between the estimated impulse response ĥ and the noise input signal u.
A comparison of the output signal sk, and the estimation ŝk of that output signal can be done over a given period to determine whether the estimation done is correct.
The modification of said coefficient λ can be done as a function of the evaluation of a second criterion Jt whereof the calculation is similar to that of the cost function J and that makes the comparison between sk and ŝk.
Thus, the modification of said coefficient λ can be done as a function of the evaluation of a second criterion Jt, the evaluation of said second criterion Jt(n+1) at a given moment n+1 being done by iterative calculation including at least one exclusive OR logic operation term XOR between said output signal sk of said converter and an estimation ŝk of that signal, and a term depending on said second criterion Jt(n) calculated at a moment n preceding the given moment.
The modification of the coefficient λ can be done as a function of the evaluation of said second criterion Jt and the result of the application of a predetermined second function ft to said second criterion Jt.
The second function ft can be an affine function, such that:
ft(Jt)=λ=α*Jt+β
(with α>0 and β>0) The coefficients α and β can for example be chosen such that:
The precision of the identification depends very little on the frequency of the sampling and has a good robustness to the measuring noise.
At a given identification precision, the method according to the invention requires fewer measuring points than the identification methods according to the prior art.
The method according to the invention is not based on an approximation, whether a “white noise” or “first harmonic” approximation, but rather on minimizing a criterion that, without approximation, depends on the one-bit quantification operation done by the analog-digital converter.
In the case where the system to be identified is a MEMS or an integrated electronic circuit, the identification method has the following advantages relative to the methods according to the prior art:
The invention also relates to a method of identifying an electronic or electromechanical system, provided to carry out an identification method as defined above.
The invention also relates to a device for identifying an electronic or electromechanical system, comprising:
An analog digital converter can be provided to generate an analog excitation signal of the system.
The means for carrying out said estimation ŷk at the output of the system can also comprise: a second calculation means, provided to apply, to the calculated elements J0, . . . , Ji, . . . , Jnh−1 of said given criterion J, a passage function f predetermined as a function of the noise signal uk transmitted at the input of said system, and such that:
with hi an impulse response element h of said system and ĥi an element of said impulse response estimation ĥ of said system.
The second calculation means can comprise one LUT or several LUTs.
The passage function f can be applied using a LUT, connected at the input, to a multiplexer means, and at the output, to a demultiplexer means.
According to one possible embodiment, the noise signal uk can be a white noise signal.
The means for generating said noise signal uk can comprise a LFSR random sequence generator.
In the case where the input signal uk from the system is a white noise signal, said passage function f can follow the relationship:
f(J)=σ√{square root over (2)}((erf−1(1−2J))/√{square root over (1+2(erf−1(1−2J))2)}
The impulse response estimation means can comprise: a chain of blocks respectively forming a first order delay function or having z−1as z transfer function, said chain being intended to receive said input signal uk, and to transmit values uk, . . . uk−i, uk−nh−1 the delayed noise signal at the output of said blocks, respectively.
The first calculation means can comprise a means forming an exclusive OR logic gate, to perform an exclusive OR logic operation between said output signal sk of said comparator taken at a moment k and said noise signal (uk−I, with 0≦i≦nh) delayed by i relative to said given moment.
The first calculation means can comprise an adding means, to add the result of said logic operation to a term depending on an element of said given criterion calculated previously.
The acquisition of the signal sk at the output of said converter can be done for a given number N of samples, the calculation of the given criterion J by the first calculation means being dependent on at least one predetermined coefficient λ, 1+λ being equal to said given number N.
The device can also comprise: a means for modifying the coefficient value λ during said estimation ĥ of said impulse response.
The first calculating means can comprise a means making it possible to apply said coefficient λ in the form of at least one shift register and/or means for applying a ratio 1/(1+λ) in the form of at least one shift register.
According to another possibility, the first calculating means can comprise a means making it possible to apply a ratio (1/λ) in the form of at least one shift register.
The modification of the coefficient λ can be done as a function of the evaluation of a second criterion Jt. The calculating structure for the second criterion can be similar to that making it possible to calculate the given criterion J.
The identification device can also comprise:
The coefficient λ can be modified as a function of the evaluation of said second criterion Jt, for example using the following relationship:
λ=α*Jt+β(with α>0 and β>0)
The means for performing said estimation ŷk can comprise a means for convolution calculation, provided to calculate a convolution between the estimated impulse response ĥ and the noise input signal.
The present invention will be better understood upon reading the description of embodiments, provided purely for information and non-limitingly, in reference to the appended drawings in which:
a-8B provide examples of cost function calculation units integrated into a device according to the invention and in particular a structure for estimating the output of a system to be identified with the aid of an estimation of the impulse response of that system.
The different parts illustrated in the figures are not necessarily shown according to a uniform scale, to make the figures more legible.
An example of a method according to the invention for identifying a system and a device for carrying out such a method will now be given.
Such a method uses a processing called “BIMBO_inline” (“Basic Identification Method Using Binary Observations,” “inline” meaning that the method uses identification with the aid of binary signals called observations and is done in real time) and can be implemented for example using at least one digital signal processor (DSP), and/or at least one microprocessor and/or at least one FPGA circuit and/or at least one computer.
In
The identification comprises an estimation of the system's output, using an estimation of the impulse response of that system.
The system to be identified is a system capable of being described by a transfer function.
The system to be identified can for example be an electronic device such as a filter, a sigma delta converter, a DC/DC converter, or a telecommunications transmission channel.
The system to be identified can for example be an electromechanical device, for example in the form of a MEMS.
First, a signal u is generated at the input of the system 100.
The signal u is preferably a discrete signal uk with k representing a moment in discrete time. The signal uk can be a spectrally rich signal such as a noise signal, in particular a Gaussian noise or a white noise.
In the case where the signal u is a Gaussian white noise, a digital analog converter can be used to generate the excitation of the observed system, the sign of the noise being exploited in the identification method.
In the case of a binary white noise, a zero order hold can be used to excite the observed system 100 and as input signal for the present structure.
The input signal uk can be produced by a noise generator 110. A noise generator similar to those used in cryptography and which implements a LFSR (Linear Feedback Shift Register”) with a shift register can be used, for example. With such a generator, certain bits of a sequence undergo operations or transformation before being reinserted in a loop. Such a generator is provided to produce pseudo-random sequences. The generator can for example be of the 32nd order LFSR type corresponding to the following primitive polynomial:
1+x+x3+x30.
One example of a LFSR generator is given in
The method comprises several steps for acquiring input and output signals of the system 100 to be characterized or identified.
The response signal yk is then injected in means forming a comparator 120 at the output of which a sampled discrete output signal sk is transmitted. The comparator 120 can be a one-bit ADC. This comparator 120 can be provided to apply a signum S( ). Such a signum S( ) makes it possible to perform the following processing:
o=sign(x) and 0 then o=0
o=sign(x) and x0 then o=1
The aim is to produce an estimation ŷk of the output of the system 100, with the aid of a means 130 in the form of a processing block or a processing module intended to carry out the BIMBO_inline method.
The means 130 can form an approximate parametric model of the unknown system 100. The method makes it possible to make the approximate model converge as closely as possible with the observed actual system 100.
Estimation calculations ĥ of the impulse response of the actual system are done by the means 130, the estimated impulse response having to correspond to that of the observed system, when the parametric model converges towards the actual system. The means 130 can for example be implemented with the aid of a FPGA. According to other possibilities, the means 130 can be implemented with the aid of a digital signal processor (DSP), and/or a microprocessor, and/or a computer.
The calculations of the estimation ĥ are done from the input signal u and the output sign s of the comparator 120, these signals u and s being injected at the input of the means 130. These signals s and u are also called “observations.” In the present case, the observations are in the form of binary signals.
The means 130 thus produces, as output, an estimation ŷk of the output of the system 100, which is injected into a second comparator 140, for example in the form of a second one-bit ADC, to apply the signum to that estimation. The signal Ŝk=S(ŷk), with S( ) being the signum, can then be compared to the signal sk coming from the first comparator 120.
It may be considered that the estimation of ŷk done is satisfactory when s and ŝ are equal over a significant duration. “Significant” duration here refers to a period at least 1000 times the sampling period, for example corresponding to a number N of observation samples in the vicinity of 8000 or 10000.
The method according to the invention makes it possible to obtain an estimation ŷ of the output of the system 100 observed with the aid of an estimation ĥ of its impulse response.
Throughout this description, “impulse response of a system” will refer to the temporal output of that system when it is stimulated by an impulse. In the case of a discrete signal, the impulse response may be considered like the system's response to a Dirac type impulse. The estimation of the system's impulse response 100 can be defined by a set of discrete elements ĥi.
In
The processing done by the means aims to obtain the following relationship:
(h0,h1,h2,. . . ,hnh)=({circumflex over (h)}0,ĥ1,ĥ2,. . . ,ĥnh)
With hi being an element of an impulse response and ĥi being an element of an estimated impulse response.
An error between the signal y and the estimation ŷ of that signal is called a prediction error. At a moment n, the prediction error E can be defined as follows:
ε(n)=y(n)−{circumflex over (y)}(n)
Through successive iterations, the model implemented by the means 130 can be adjusted so as to correct the estimation ŷk produced and thereby maximize the similarities between the signal Sk and its estimation Sk=S(ŷk).
This adjustment is done in particular using a calculation of a given criterion J done by the means 130. This criterion J, which will also be called “cost function,” depends on a set of observation acquired up to a moment n, with:
J(n)=g(y(0). . . y(n),{circumflex over (y)}(0). . . {circumflex over (y)}(n),n)
In the present case, the output s( ) of the comparator 120 is exploited in order to perform the calculation of said cost function. The cost function can therefore also be written:
J(n)=g(s(0). . . s(n),{circumflex over (s)}(0). . . {circumflex over (s)}(n),n)
To make it possible to evaluate an impulse response, a cost function meeting the following general formula can be implemented:
The criterion J has a value between 0 and 1 and is minimal in the zone of the parameter space of the parametric model that will be called the “acceptability zone” of the approximate parametric model.
Two different examples of calculations of the cost function J, including a comparison term between the output signal s and the estimated output signal ŝ, will now be given.
According to a first possibility, one can have S(yk)ε[−1;1] with S( ) being the signum. In that case, when:
yk>0=>S(yk)=1
yk<0=>S(yk)=−1
The signals s and ŝk being coded on one bit.
We therefore have the following relationship:
In this case we note:
With:
A first example of a unit 200 (
With Ji an element of the cost function, and N a number of calculation points or observations, of the processing done. This result Ji will then be used to determine an ith element ĥi of the estimation of the impulse response of the observed system. The result Ji, which is a cost function element, corresponds to a correlation coefficient or a correlation term between the output signal s and the input signal u of the system 100. The cost function element Ji is determined by an iterative calculation including a correlation term between the signal s and the signal u.
In this example, the cost function calculation element Ji unit 200 comprises a means 202 forming a multiplier at the input of which an output signal sk taken at a moment k and an input signal uk-i delayed from i are transmitted.
The unit 200 also comprises a means 204 forming a summer at the output of the multiplier 202, as well as a means 206 forming a first order discrete delay filter, or a z transfer function block equal to z−1 at the output of the summer.
The output of the block 206 is reinjected at the input of the summer 204, while a means 208 forming a divider by N (with N being the number of samples or iterative calculation points on which the calculation is done) at the output of the summer 204. A relooping is thus formed such that an element Ji(n+1) calculated at a given moment depends on an elements Ji(n) previously calculated.
At the output of the means 208, a correlation Csu is obtained between sk and ŝk:
According to a second calculation possibility of the cost function, one can have S(yk)ε[0;1]
In this case, when:
yk>0=>S(yk)=0
yk<0=>S(yk)=1
But the signals s and ŝ can be coded in binary and are capable of adopting a ‘0’ state or a ‘1’ state.
The following calculation can be done:
A second example of a unit 250 for calculating an element Ji of the cost function J according to said second possibility is provided in
With Ji being an element of the cost function, and N a number of samples. The cost function element Ji is thus determined through an iterative calculation including a correlation term between the signal s and the noise signal u.
The unit 250 comprises a means 252 forming an exclusive OR logic gate (XOR) at the input of which the output signal sk of the comparator 120 at a moment k and the input signal uk−i of the system 100 delayed by i are transmitted.
A means 254 forming a summer is provided at the output of the XOR gate, while a means 256 forming a first order delay filter or a z transfer function block equal to z−1 is placed at the output of the summer 254, the output of the block 254 being reinjected at the input of the summer 254. The cost function element Ji thus depends on a cost function element calculated at a preceding moment. A means 258 intended to perform a division by N (with N being a number of samples) is also provided at the output of the unit 250 and delivers the result Ji corresponding to a correlation coefficient between the signal s and the signal u delayed by i sampling periods. This result Ji is then used to estimate the ith element ĥi of the impulse response of the observed system.
δ is defined as a term to term product of elements of the impulse response (h0, . . . , hi, . . . , hnh−1) of the observed system and estimations (ĥ0, . . . , ĥi, . . . , ĥnh) of impulse response elements.
A “passage” function f connecting the cost function J to δ, with
(hi being an impulse response element of the system and ĥi an impulse response estimation element of the system) is also implemented and used by the means 130.
The passage function f is a function chosen so as to make it possible to go from the calculation of an element Ji of the cost function to a value of an element ĥi of the estimation of the impulse response, such that f(Ji)=ĥi. The passage function f is determined as a function of the input signal injected into the system 100.
The passage function f can be carried out using at least one storage unit called LUT (Look Up Table) and which makes an impulse response estimation element ĥi value correspond to a cost function J element Ji value. An example of a LUT 260 is given in
According to one example, in the case where the input signal u is a Gaussian noise, the passage function f from a cost function to an impulse response element can satisfy the following law:
With J being the cost function and σ′2=σb2+σh2 a where σb, represents the ambient noise of the system to be identified modeled as an additive Gaussian white noise at the output of the system and
the quadratic sum of the different elements of the impulse response.
By default one can choose σ′=1. It is then possible to identify the impulse response of the system to the closest gain.
In
According to another example, in the case where the input signal u is a white noise, the passage function f from the cost function to the impulse response can satisfy the following law:
We thus have:
By default, σ can be chosen equal to 1.
In
In
This module first includes a plurality of nh−1 blocks forming a chain of first order discrete delay filters: 2401, . . . , 240i, . . . , 240nh−1 each having a z transfer function equal to: z−1.
At the input of the series of delay filters, the input signal uk of the system 100 at a moment k is transmitted, delayed signals uk−1, . . . , uk−i, . . . , unh−1, are obtained at the output of the filters 2401, . . . , 240i, . . . , 240nh−1, respectively.
A plurality of nh calculation units 2500, . . . , 250i, . . . , 250nh−1 of elements J0, . . . , Ji, . . . , Jnh−1 of the cost function J similar to the unit 250 described above relative to
The cost function element calculation units 2500, . . . , 250i, . . . , 250nh−1 each receive, as input, the output signal sk from the comparator 120 at a moment k and the signals uk, . . . , uk−1, uk−i, . . . , unh−1, respectively, corresponding to delayed input signal values of the system 100.
The structure also includes a plurality of nh means 2600, 2601, . . . , 260i, . . . , 260nh−1 for applying the passage function f( ). The passage function can be that for which the law was provided above, in the case where the input u is a white noise signal. The means 2600, 2601, . . . , 260i, . . . , 260nh−1 can assume the form of nh LUTs of the type described relative to
From the impulse response estimation, it is possible to obtain an estimation ŷ of the output of the system 100. To that end, the following calculation is done by the means 130:
A convolution operation between the estimation ĥ of the impulse response and the binary input u of the observed system 100 is done.
In
Each level of the module 270 includes multiplying means 271 of the two inputs of the level as well as a means 273 for adding the output of the multiplying means 271 to an output from a preceding level, in other words, to add the result of said multiplication to the result of a preceding level. The module 270 for performing the convolution operation delivers, as output, the estimation ŷ of the output y of the system 100.
In
This structure 230 includes nh levels 2310, 2311, . . . , 231i, . . . , 231nh−1, the number of levels nh being able to be provided in particular as a function of the complexity of the system 100 to be identified. The non-zero elements of the impulse response of the system are estimated. If the number of non-zero elements of the impulse response is noted n0, n0 and nh are such that nh>n0.
This structure 230 includes a zero order filter or a z transfer function block: z−0, as well as a plurality of nh−1 blocks 2401, . . . , 240nh−1, having as z transfer function: z−1 or respectively forming a first order delay filter, these blocks being arranged in a series or in a chain of blocks.
The structure 230 also includes nh units 2500, . . . , 250nh−1 for cost function evaluating elements J0, . . . , Jnh−1, units 2600, . . . , 260nh−1 LUTs to apply the passage function f and obtain impulse response estimation elements ĥ0, . . . , ĥnh−1, as well as nh units 2700, . . . , 270i, . . . , 270nh−1 to perform the convolution operation and produce the estimation ŷ.
In
The unit 300 comprises a means 302 forming an exclusive OR logic gate (XOR) at the input of which an output sk of the comparator taken at a moment k is transmitted, and an inlet uk−i of the system delayed by i samples.
The unit 300 comprises a means 304 forming a summer at the output of the XOR gate, a means 306 forming a first order delay filter at the output of the summer 304 and the output of which is reinjected as input of the means 303 to apply a coefficient λ, the output of the means 303 to apply the coefficient λ being transmitted as input of the summer 304. The output of the summer is transmitted at the input of a means 308 for performing a division by (1+λ). At the output of the means 308, an element of said second cost function J′ is obtained.
The sum (1+λ) corresponds to a number N of samples or calculation points or observations.
In this example, the coefficient λ is also chosen such that (1+λ) is equal to a power of 2, such that the means 308 for applying the coefficient 1/(1+λ) is a means for performing a shift of bits from their binary input. The means 308 can for example take the form of a shift register. Relative to a unit like those (reference 200 and 250) described relative to
The coefficient λ is also chosen such that λ is large before one (1<<λ). λ “large” before 1 means that λ is greater than 210.
The coefficient λ can be configurable, possibly configurable during the identification method.
The cost function variation J′ implemented by the unit 300 can use the following relationship:
J′k(n+1)=(1*jk(n)+λ*J′k(n))/(1+λ)
with jk(n) being the output of the means 302 forming a XOR logic gate, λ the coefficient whereof the sum with the unit corresponds to a number N of calculation points or samples.
When λ is chosen such that 1<<λ, we have J′(n)≈J(n), the cost function J being substantially equal to the cost function variation J′.
In
In
This unit 350 comprises a means 352 forming an exclusive OR logic gate (XOR) at the input of which an output sk of the comparator 120 at a moment k is transmitted, and an input signal uk−i of the system 100.
The unit 350 also comprises a means 353a making it possible to apply a ratio (1/λ), at the output pk(n) of the XOR gate, as well as a means 354 forming a summer at the output of the means 353a, a means 356 forming a first order delay filter at the output of the summer 354 and the output of which is reinjected at the input of a means 353b making it possible to apply a ratio (1/λ), the output of the means 353b and the filter 356 being transmitted to the input of the summer 354. At the output of the summer 354, an element of said second cost function variation J″ is obtained.
The sum (1+λ) of the coefficient λ and the unit corresponds to a number N of calculation points.
In this example, the coefficient λ is chosen equal to a power of 2: λ=2^b.
The means 353a and 353b are also capable of performing a shift of their binary input, each to apply the ratio 1/λ, which amounts to applying a shift of b bits to the right.
In relation to the structure 300 described relative to
This other variation of a calculation unit 350 is implemented with a coefficient λ chosen such that λ is large before 1(1<<λ). “Large” λ means that λ is greater than at least 210.
Considering the limited second order development, we have the following relationship:
When λ is chosen such that 1<<λ, we have J″(n)≈J(n), the cost function J being substantially equal to the cost function variation J″.
In
Another example of a structure 530 provided to deliver an estimation ŷ of the output of the system 100 is given in
To that end, a first multiplexer means 362 is provided at the output of the nh units 3500, . . . , 350i, 350nh−1 for calculating the cost function J″ like that (referenced 350) described relative to
As a function of a selection signal transmitted by a control module 365, the first multiplexor means 362 transmits, as output, an input selected from a plurality of its inputs.
As output of the first multiplexer means 362 is a means 360 for example in the form of a LUT, to apply the passage function f.
A demultiplexer means 364 is provided at the output of the LUT 360. The input of the second demultiplexer means 364 is transmitted towards one of its outputs selected by a selection signal delivered by the control module 365. The outputs of the demultiplexer means 364 deliver elements ĥ0, . . . ĥi, ĥnh−1, respectively, for estimating an impulse response.
The control module 365 is thus provided to transmit selection signals towards the multiplexer means 362, and towards the demultiplexer means 364, so as to ensure good routing of the estimated impulse response values.
The structure 430 also includes the nh units 2700, 2701, . . . , 270i, . . . , 270nh−1 to perform the convolution operation leading to the estimation ŷ.
The operation of one or the other of the structures 230, 330, 430, 530 has been presented up to now with a given number of levels nh. This number nh corresponds to a number of elements of the impulse response that one is seeking to identify, and can be modified or adapted.
The number of elements nh of the impulse response identified can be chosen depending on the complexity of the system 100 and the sampling frequency fs. The number nh of elements to be identified is greater than the number of non-zero elements n0 of the impulse response of the observed system: such that nh>n0. This number nh depends on features of the system 100, such as damping, and the sampling frequency fs. The greater the oversampling, the more levels nh will be provided for a given damping. The choice of the number nh is made so as to respect Shannon's theorem. In the case, for example, where the system to be identified is an electrical oscillator, the sampling frequency fs can be provided such that fs>2*fc with fc being the cutting frequency of the oscillator.
The number nh of levels is preferably small before λ, coefficient of the cost function calculation units. For example, λ can be considered to be at least 28 times larger than nh and λ can assume values between 210 and 220.
Another example of a structure 630 provided to deliver an estimation ŷ is given in
In this structure 630, a parallelization of the nh levels has been done, such that the structure 630 has one level.
To that end, at the output of the delay filters 2401, . . . , 240nh−1, a multiplexer means 545 is provided controlled by a control signal transmitted by a control module 565.
At the output of the multiplexing means 545, a unit 550 for calculating the elements of a cost function J″ is provided. This level differs from that (referenced 350) previously described relative to
In order to calculate an element J″(n+1) of the cost function, an earlier cost function element or one previously calculated J″(n) is extracted from the memory 557 and transmitted as output from the multiplexer 558 in order to be injected at the input of a summer and a means for applying a ratio (1/λ).
The multiplexer 558 and the demultiplexer 559 are controlled by signals transmitted by the control module 565.
Once calculated, an element of the cost function is transmitted at the input of the demultiplexer means 559, to be placed in the memory 557.
As the output of the calculation level of J″, a LUT 560 is placed provided to receive a cost function element J″I and produce, as output, a corresponding impulse response element ĥi.
This impulse response element ĥi may be transmitted towards a multiplexer 580 connected to a memory 582, then stored in said memory 582.
A convolution calculation module 570 is also provided at the output of the LUT 560. This module 570 comprises a means 571 forming a multiplier for multiplying the output of the LUT 560 delivering an impulse response estimation element ĥ i, at the output of the multiplexer means 545 delivering an input signal u of the system among the signals uk, . . . , uk−i, . . . , unh−1. A means forming a summer 572 is provided to perform an addition of the output of the multiplier and a multiplexer 574. The output of the summer is reinjected at the input of the multiplexer 574 after having passed through a delay filter 575. The multiplexer 574 is also controlled by the control block 565.
At the output of the summer, an estimation ŷ is obtained.
The value of the coefficient λ can be modified, possibly during the identification method.
The choice of a low coefficient λ, for example less than 28, makes it possible to give substantial weight to the new samples, and to obtain processing in which speed is favored over precision.
The choice of a high coefficient λ (with b>215) makes it possible to favor precision over speed.
The parameter λ can thus be made to evolve during the identification processing, depending on the progress of the impulse response estimation.
Another example of a device for implementing the identification method according to the invention is given in
With such a device, during the processing done, the coefficient λ participating in the calculation of the cost function J is made to evolve.
Feedback or looping back is done at a structure 730 receiving the input signal u of the system and the output signal s of the comparator 120 and provided to deliver an estimation of ŷ. The structure 730 can be one of those 330, 430, 530, 630 previously described, with a control block 680 as output.
The control block 680 can comprise a calculation unit including components similar to those of the calculation unit described relative to
The control block 680 can comprise a means 683 forming an exclusive OR logic gate (XOR) at the input of which the signals sk and ŝk are transmitted.
The level 689 also comprises a means 684 making it possible to apply a ratio (1/λ), for example with the aid of a shift register, at the output of the XOR gate, as well as a means 686 forming a summer at the output of the means 684, a means 687 forming a first order delay filter and with transfer function z−1 at the output of the summer 686 and the output of which is reinjected at the input of a means 685 making it possible to apply a ratio (1/λ), for example with the aid of at least one shift register, the output of the means 685 and the filter 687 being transmitted at the input of the summer 686.
Thus, the calculation level 689 performs the calculation of a second criterion it to estimate the error on ŝk, relative to sk, with it such that:
(N: the number of calculation points equal to 1+λ)
The value of the coefficient λ is controlled, as a function of the obtained value of Jt. A function ft is then applied in order to determine a control law such as:
λ(k)=ƒt(Jt(k))
In the case of
b(k)=ƒt(Jt(k))
The function ft can be applied via a LUT 688.
According to one alternative, the coefficient λ can be steered from the function Jt, while being free from the use of a LUT 680.
A linear relationship can be implemented between the parameter λ and Jt.
λ=α*Jt+β where β≠0 to avoid the case λ=0.
The LUT can then be replaced with this means 780, which includes a multiplier means 781 and a summer means 782.
In
Another example of a device according to the invention is given in
This device comprises a noise generator 110, for example a pseudo-random signal generator of the 32nd order LFSR type, which can for example deliver a signal with an amplitude between 0 and 3 volts. At the output of the generator 110, a level shifter circuit 802 is provided and can deliver a signal for example between −0.5 volts and 0.5 volts. The device also comprises a first buffer circuit 810 at the input of a system 1000 to be identified, and a second buffer circuit 820 at the output of the system 1000. A comparator 120 is provided at the output of the second buffer circuit 820 and delivers the signal s to a means 830, for example one of the structures 130, 230, 330 previously described, to estimate the output of the system 1000. The means 830 also receives a noise signal u coming from the generator. The means 830 can for example be implemented with the aid of a FPGA.
In this example, the system 1000 can be a resonant second order RLC filter, whereof the transfer function H uses the following relationship:
with:
The resonance frequency of the filter can be in the vicinity of 1500 Hz, while the sampling frequency fs chosen is 5 kHz. Such a system 1000 can have an impulse response with the shape of curve C300.
One example of a program implemented using the Matlab tool, to implement an impulse response estimation according to the invention, is provided in the annex. This program includes a function, having for inputs the input signal u and the output signal s, the number of levels nh, the coefficient value λ and the number of points nb_pts for parameter calculations. This function returns data hhat, corresponding to the estimation ĥ of the impulse response h of the observed system.
The implementation of the BIMBO_inline method can be done by a microcomputer including a calculation section with all of the electronic components, software or other, needed for the processing. Thus, for example, the microcomputer in particular includes at least one programmable processor, as well as at least one memory for this processing.
The processor can, for example, be a microprocessor, a DSP, or a central processing unit. The memory can for example be a hard drive, a read-only memory ROM, a CD-ROM, a dynamic random access memory DRAM, or any other type of memory RAM, a magnetic or optical storage element, registers or other volatile or non-volatile memory.
A program, making it possible to implement the method according to the invention, can be resident or recorded on a medium (e.g. floppy disk or CD ROM or DVD ROM or removable hard drive or magnetic medium) that can be read by a computer system or by the microcomputer.
According to one possibility, the BIMBO_inline algorithm and the noise generator can be implemented with the aid of a FPGA, the other elements, in particular the one-bit ADC, being able to take the form of discrete components.
The identification method can be used in the context of BIST (Built In Self Test) systems, i.e. systems with the ability to test themselves. This makes it possible to avoid the use of significant equipment during a test. In this case this involves applying the presented BIMBO_inline method to a system and comparing the desired and actual impulse responses to conclude on proper operation of the system.
The identification method can be used to perform auto-calibration of a system, in particular an electromechanical system. During its operation. Such a system can be considered to evolve over time. The method according to the invention then makes it possible to estimate these evolutions, with the aid of estimations of the impulse response of the system, and to adapt the control system as a function thereof.
The estimation of the impulse response can be completed by a transfer function identification.
The method according to the invention has been tested on a universal active filter UAF42 by the company Texas Instrument and as shown in
By way of comparison, experimental amplitude C402 and gain C502 curves are provided.
In
The presented BIMBO_inline algorithm receives the signals u and s from the noise generator and the comparator, respectively (analog digital converter), and provides an estimation ŷk of the signal yk from the estimation of the impulse response. This estimation of the output of the observed system is used by a parametric adaptation algorithm.
The means 900 and 810 produce a parametric adaptation algorithm and use the output yk of the system. We therefore consider that ŷk=yk.
The block 810 contains the approximate model of the observed system. This approximate model is an IIR type model (modeling in the form of a numerator/denominator transfer function with Infinite Impulse Response). This model is reevaluated at each sampling period by the block 900, which comprises the parametric adaptation algorithm therein, for example the algorithm of least squares. At each sampling period, the approximate model provides an estimation {circumflex over (ŷ)}k of ŷk. The parametric adaptation algorithm will provide a new estimation of the approximate model, including the output, by minimizing the error between {circumflex over (ŷ)}k and ŷk.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/FR2008/051312 | 7/11/2008 | WO | 00 | 4/22/2011 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2010/004098 | 1/14/2010 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
3718813 | Williams | Feb 1973 | A |
4549123 | Hagglund et al. | Oct 1985 | A |
4754391 | Suzuki | Jun 1988 | A |
5056109 | Gilhousen et al. | Oct 1991 | A |
5283729 | Lloyd | Feb 1994 | A |
6026130 | Rahmatullah et al. | Feb 2000 | A |
6421401 | Palin | Jul 2002 | B1 |
6438239 | Kuchen | Aug 2002 | B1 |
6438431 | Wang et al. | Aug 2002 | B1 |
6594365 | Eatwell | Jul 2003 | B1 |
6782043 | Dehghan et al. | Aug 2004 | B1 |
7167683 | Chen | Jan 2007 | B2 |
7480353 | Tanabe | Jan 2009 | B2 |
7551131 | Jin | Jun 2009 | B2 |
7702042 | Desperben et al. | Apr 2010 | B2 |
7903717 | Takahashi et al. | Mar 2011 | B2 |
7974350 | Yoshida | Jul 2011 | B2 |
20100250167 | Colinet et al. | Sep 2010 | A1 |
Number | Date | Country |
---|---|---|
38 17 078 | Nov 1989 | DE |
1 003 154 | May 2000 | EP |
96 34323 | Oct 1996 | WO |
Entry |
---|
Colinet, E. et al., “Digital Self-Calibration Method for MEMS Sensors”, IEEE Transactions on Instrumentation and Measurement, vol. 54, No. 4, pp. 1438-1443, (Aug. 2005). |
Colinet, E. et al., “Auto-Calibrage d' un Micro-Accelerometre Par Une Mesure Frequentielle”, IN: 3eme Colloque Interdisciplinaire En Instrumentation, vol. 1, pp. 355-362, (2004) (with English abstract). |
Colinet, E. et al., “Application of MCLC Method for Estimating the Parameters of MEMS Sensors”, IN: Technical Proceedings of the NSTI Nanotechnology Conference and Trade Show Anaheim, vol. 3, pp. 335-337, ISBN 0-9767985-2-2,(2005). |
Huertas, G. et al., “Oscillation-Based Test in Bandpass Oversampled A/D Converters”, Microelectronics Journal, vol. 34, pp. 927-936, (2003). |
Huertas, G. et al., “Oscillation-Based Test in Oversampled ΣΔ Modulators”, Microelectronics Journal , vol. 33, pp. 799-806, (2002). |
Voda, A. et al. “The Autocalibration of PI Controllers Based on Two Frequency Measurements”, International Journal of Adaptive Control and Signal Processing, vol. 9, pp. 395-421, (1995). |
International Search Report issued Feb. 10, 2009 in PCT/FR08/051312 Jul. 11, 2008. |
Office Action dated Feb. 26, 2013, issued in Japanese Patent Application No. 2011-517189 (English translation). |
J. Juillard, Initialization of the BIMBO self-test method using binary inputs and outputs, Proceedings of the 46th IEEE Conference on Decision and Control, United States, IEEE, Dec. 2007, pp. 578-583. |
Number | Date | Country | |
---|---|---|---|
20110274184 A1 | Nov 2011 | US |