Method for eliminating absolute measurement drift of accelerometer
1. A method for eliminating absolute measurement drift of an accelerometer is characterized by comprising the following steps:
s1, acquiring acceleration signals of a time period, and splicing the acceleration signals into an acceleration signal sequence;
s2, carrying out Fourier transform on the acceleration signal sequence obtained in the step S1 to obtain a frequency domain signal of the acceleration signal;
s3, moving the zero frequency component of the frequency domain signal obtained in the step S2 to the center of the frequency spectrum to form a new sequence, and constructing a frequency sequence for the formed new sequence;
s4, filtering the frequency sequence constructed in the step S3, and calculating frequency domain displacement according to the filtered frequency sequence to obtain a new multidimensional vector of the frequency domain displacement;
s5, carrying out inverse zero frequency translation on the multidimensional vector obtained in the step S4, and carrying out inverse discrete Fourier transform on the multidimensional vector after the inverse zero frequency translation to obtain a high-frequency displacement sequence;
s6, acquiring the acceleration signal in the same time period as the step S1, calculating the low-frequency displacement in the time period and splicing the low-frequency displacement into a low-frequency displacement sequence;
s7, comparing the lengths of the high-frequency displacement array obtained in the step S5 and the low-frequency displacement array obtained in the step S6, and interpolating one group of data with less elements until the length of the other group of data is equal to that of the other group of data;
and S8, performing high-frequency filtering on the low-frequency displacement number sequence processed in the step S7 to obtain a new low-frequency displacement number sequence, and fusing the obtained new low-frequency displacement number sequence and the high-frequency displacement number sequence to obtain a real displacement number sequence.
2. The method of claim 1, wherein the frequency domain signal of the acceleration signal in step S2 is represented as:
wherein a (N) is an element in the acceleration signal, A (k) is an element in the frequency domain signal of the acceleration signal, k is an element index, and N is the number of the elements;
a (k) and A (N-k) represent frequencies ofSignal component of fsIs the sampling frequency of the acceleration signal.
3. The method of claim 2, wherein the step S3 of moving the zero-frequency component of the frequency domain signal to the center of the frequency spectrum to form a new sequence comprises:
when N is an even number, whenElements in A0When in useElements in A0
When N is an odd number, whenElements in A0When in useElements in A0
Wherein A0 is a new series, and A0(n) is an element in A0.
4. The method of claim 3, wherein the step S3 is to construct a frequency series for the new series by:
when N is an even number, the elements in F
When N is an odd number, the elements in F
Wherein F represents the frequency sequence, and F (n) is the element in F.
5. The method of claim 4, wherein the filtering in step S4 is performed by:
for each element in F, if | F (n) | < FtIf the corresponding element a0(n) in a0 is 0; if | F (n) | is not less than FtThen the corresponding value of A0(n) is retained, where ftIs the filtering threshold frequency.
6. The method of claim 5, wherein the multidimensional vector of frequency domain displacement in the step S4 is represented as:
where D0(n) is an element in the new frequency domain shifted multidimensional vector, a0(n) is an element in the filtered frequency series, and D0(n) is 0 when F (n) is 0.
7. The method of claim 6, wherein the inverse zero frequency translation of the multidimensional vector in the step S5 is performed by:
when N is an even number, whenWhen D is an elementWhen in useElements in D0
When N is an odd number, whenWhen D is an elementWhen in useWhen D is an element
8. The method of claim 7, wherein the high frequency displacement sequence in step S5 is represented as:
where D (n) is the element in the high frequency shift sequence and D (k) is the kth element in the new multi-dimensional vector of frequency domain shifts.
9. The method of claim 8, wherein the true displacement sequence in step S8 is represented by:
m(n)=d(n)+u(n);
wherein m (n) is an element in the real displacement sequence, u (n) is an element in the new low-frequency displacement sequence, and d (n) is an element in the high-frequency displacement sequence.
Background
At present, the displacement of one point can be directly measured by adopting a laser displacement sensor or an ultrasonic sensor, and the displacement can also be calculated by firstly measuring acceleration data and then carrying out numerical integration or frequency domain integration. The numerical integration method is to interpolate and integrate the acceleration data in a period of time to obtain the speed of each moment in the period of time, and then interpolate and integrate the speed to obtain the displacement of each moment in the period of time. The frequency domain integration method utilizes the relation that the displacement function of the harmonic wave is equal to the acceleration function divided by the square of the negative harmonic wave circular frequency, and performs the multiplication operation on the complex number representing each frequency component of the acceleration in the frequency domain to transform the obtained frequency domain displacement signal into the time domain displacement signal.
The method for solving the displacement by numerical integration of the acceleration data has great errors. Firstly, the integral of each step accumulates the error of the previous step, and each integral also accumulates the error of the previous step, which includes the error caused by truncation error and interpolation; for frequency domain integration, fourier transformation of a segment of the acceleration signal may produce low frequency errors that are significantly amplified during frequency domain integration, since fourier transformation may cause signal leakage. Such algorithms often fail to find the correct displacement.
Disclosure of Invention
In view of the above-mentioned deficiencies in the prior art, the present invention provides a method for eliminating the absolute measurement drift of an accelerometer.
In order to achieve the purpose of the invention, the invention adopts the technical scheme that:
a method of eliminating accelerometer absolute measurement drift, comprising the steps of:
s1, acquiring acceleration signals of a time period, and splicing the acceleration signals into an acceleration signal sequence;
s2, carrying out Fourier transform on the acceleration signal sequence obtained in the step S1 to obtain a frequency domain signal of the acceleration signal;
s3, moving the zero frequency component of the frequency domain signal obtained in the step S2 to the center of the frequency spectrum to form a new sequence, and constructing a frequency sequence for the formed new sequence;
s4, filtering the frequency sequence constructed in the step S3, and calculating frequency domain displacement according to the filtered frequency sequence to obtain a new multidimensional vector of the frequency domain displacement;
s5, carrying out inverse zero frequency translation on the multidimensional vector obtained in the step S4, and carrying out inverse discrete Fourier transform on the multidimensional vector after the inverse zero frequency translation to obtain a high-frequency displacement sequence;
s6, acquiring the acceleration signal in the same time period as the step S1, calculating the low-frequency displacement in the time period and splicing the low-frequency displacement into a low-frequency displacement sequence;
s7, comparing the lengths of the high-frequency displacement array obtained in the step S5 and the low-frequency displacement array obtained in the step S6, and interpolating one group of data with less elements until the length of the other group of data is equal to that of the other group of data;
and S8, performing high-frequency filtering on the low-frequency displacement number sequence processed in the step S7 to obtain a new low-frequency displacement number sequence, and fusing the obtained new low-frequency displacement number sequence and the high-frequency displacement number sequence to obtain a real displacement number sequence.
Further, the frequency domain signal of the acceleration signal in step S2 is represented as:
wherein a (N) is an element in the acceleration signal, A (k) is an element in the frequency domain signal of the acceleration signal, k is an element index, and N is the number of the elements;
a (k) and A (N-k) represent frequencies ofSignal component of fsIs the sampling frequency of the acceleration signal.
Further, the specific way of moving the zero frequency component of the frequency domain signal to the center of the frequency spectrum to form a new sequence in step S3 is as follows:
when N is an even number, whenElements in A0When in useElements in A0n=0,1,...,N-1;
When N is an odd number, whenElements in A0When in useElements in A0n=0,1,...,N-1;
Wherein A0 is a new series, and A0(n) is an element in A0.
Further, the manner of constructing the frequency sequence for the formed new sequence in step S3 is as follows:
when N is an even number, the elements in Fn=0,1,...,N-1;
When N is an odd number, the elements in Fn=0,1,...,N-1;
Wherein F represents the frequency sequence, and F (n) is the element in F.
Further, the filtering manner in step S4 is as follows:
for each element in F, if | F (n) | < FtIf the corresponding element a0(n) in a0 is 0; if | F (n) | is not less than FtThen the corresponding value of A0(n) is retained, where ftIs the filtering threshold frequency.
Further, the multidimensional vector of the frequency domain displacement in the step S4 is represented as:
where D0(n) is an element in the new frequency domain shifted multidimensional vector, a0(n) is an element in the filtered frequency series, and D0(n) is 0 when F (n) is 0.
Further, the specific way of performing the inverse zero frequency translation on the multidimensional vector in step S5 is as follows:
when N is an even number, whenWhen D is an elementWhen in useElements in D0n=0,1,...,N-1;
When N is an odd number, whenWhen D is an elementWhen in useWhen D is an elementn=0,1,...,N-1。
Further, in step S5, the high frequency shift sequence is represented as:
where D (n) is the element in the high frequency shift sequence and D (k) is the kth element in the new multi-dimensional vector of frequency domain shifts.
Further, the expression manner of the real displacement sequence in step S8 is as follows:
m(n)=d(n)+u(n);
wherein m (n) is an element in the real displacement sequence, u (n) is an element in the new low-frequency displacement sequence, and d (n) is an element in the high-frequency displacement sequence
The invention has the following beneficial effects:
1. high-frequency displacement calculated by the acceleration data and low-frequency displacement after filtering are fused, and accurate displacement is obtained.
2. The method is based on Fourier transform, and the numerical method related to the Fourier transform is very mature and easy to obtain at present. Meanwhile, the method has clear logic, simple steps and easy programming realization.
3. Different from the traditional numerical integration method, the method directly calculates the displacement by the acceleration without introducing intermediate quantity, thereby avoiding the transmission of errors.
Drawings
FIG. 1 is a schematic flow chart of the method for eliminating the absolute measurement drift of the accelerometer.
Fig. 2 is a diagram illustrating results of the first experiment according to the embodiment of the present invention.
FIG. 3 is a diagram showing the results of experiment two according to the embodiment of the present invention.
FIG. 4 is a diagram showing the results of experiment three according to the present invention.
Detailed Description
The following description of the embodiments of the present invention is provided to facilitate the understanding of the present invention by those skilled in the art, but it should be understood that the present invention is not limited to the scope of the embodiments, and it will be apparent to those skilled in the art that various changes may be made without departing from the spirit and scope of the invention as defined and defined in the appended claims, and all matters produced by the invention using the inventive concept are protected.
A method for eliminating absolute measurement drift of an accelerometer is characterized by comprising the following steps:
s1, acquiring acceleration signals of a time period, and splicing the acceleration signals into an acceleration signal sequence;
for the embodiment, an accelerometer directly measures acceleration signals of a measuring point in a period of time to obtain a series with the length of N, wherein each element a (N) in a represents an acceleration value of the measuring point at N moments, and N is 0, 1.
S2, carrying out Fourier transform on the acceleration signal sequence obtained in the step S1 to obtain a frequency domain signal of the acceleration signal;
for the embodiment, a is subjected to discrete fourier transform to obtain a frequency domain signal of the acceleration, the length of the frequency domain signal is N, which is marked as a, and each element in ak-0, 1. Wherein A (k) and A (N-k) represent a frequency ofSignal component of fsIs the sampling frequency of the acceleration signal.
S3, moving the zero frequency component of the frequency domain signal obtained in the step S2 to the center of the frequency spectrum to form a new sequence, and constructing a frequency sequence for the formed new sequence;
in this embodiment, the zero frequency component of the acceleration frequency domain signal is moved to the center of the frequency spectrum to form a new sequence, and the length of the new sequence is N, which is denoted as a 0.
For the case where N is an even number, whenElements in A0When in useElements in A0n=0,1,...,N-1;
For the case where N is odd, whenElements in A0When in useElements in A0n=0,1,...,N-1;
And constructing an arithmetic progression which represents the frequency corresponding to each element in A0, wherein the arithmetic progression has the length of N and is marked as F.
For N being an even number, the elements in Fn=0,1,...,N-1;
For the case where N is odd, the elements in Fn=0,1,...,N-1。
S4, filtering the frequency sequence constructed in the step S3, and calculating frequency domain displacement according to the filtered frequency sequence to obtain a new multidimensional vector of the frequency domain displacement;
in this embodiment, the acceleration signal is filtered. For each element in F, if | F (n) | < FtThen, let the corresponding element a0(n) in a0 obtained in step S3 be 0; if | F (n) | is not less than FtN-1, wherein f is 0, 1tThe threshold frequency for filtering can be specified according to the actual requirement.
Then, frequency domain displacement calculation is carried out to construct a new n-dimensional vector D0, and each element in D0 is led toWhere a0(N) is processed in step 5, in particular, when F (N) is 0, D0(N) is 0, N is 0, 1.
S5, carrying out inverse zero frequency translation on the multidimensional vector obtained in the step S4, and carrying out inverse discrete Fourier transform on the multidimensional vector after the inverse zero frequency translation to obtain a high-frequency displacement sequence;
in this embodiment, the inverse zero frequency shift D0 results in D,
for the case where N is an even number, whenWhen D is an elementWhen in useElements in D0n=0,1,...,N-1;
For the case where N is odd, whenWhen D is an elementWhen in useWhen D is an elementn=0,1,...,N-1。
Then, inverse discrete Fourier transform is carried out on the D to calculate each element in the high-frequency displacement D and Dd (N) represents a high-frequency displacement value of a measuring point at the moment N, wherein N is 0, 1.
S6, acquiring the acceleration signal in the same time period as the step S1, calculating the low-frequency displacement in the time period and splicing the low-frequency displacement into a low-frequency displacement sequence;
in this embodiment, other methods, such as leveling measurement, are used to directly measure the low-frequency displacement of the same time period, and obtain a series with a length L, which is denoted as u0, where each element u0(n) in u0 represents the low-frequency displacement value of the measurement point at n times, where n is 0, 1.
S7, comparing the lengths of the high-frequency displacement array obtained in the step S5 and the low-frequency displacement array obtained in the step S6, and interpolating one group of data with less elements until the length of the other group of data is equal to that of the other group of data;
the comparison step S5 calculates the high frequency displacement series d, and performs spline interpolation on a group of data with less data points until the data is as long as another group of data. The two groups of data after interpolation have the same length, which is still recorded as u0 and d, and the length is recorded as K, and K is max (N, L).
And S8, performing high-frequency filtering on the low-frequency displacement number sequence processed in the step S7 to obtain a new low-frequency displacement number sequence, and fusing the obtained new low-frequency displacement number sequence and the high-frequency displacement number sequence to obtain a real displacement number sequence.
For the low-frequency displacement u0 processed in the step 7, the high-frequency component is filtered out by adopting the same method as the method, and the filtering threshold is ftWhere f istAnd f in step 5tAnd obtaining a new low-frequency displacement signal recorded as u. The fused displacement obtained by superimposing u and d is denoted as m, where m (n) is d (n) + u (n), and n is 0, 1.
Example 1 analog signals
The method comprises the following steps: simulating superposition of two displacement signals, wherein the initial term of the high-frequency displacement signal is 0, the amplitude is 10mm, and the frequency is 4 hz; the initial phase of the low frequency displacement signal isAmplitude was 3mm and frequency was 0.5 hz. The signal length is 10s and the sampling frequency is 100 hz.
Step two: and (4) deriving the superposed displacement signals twice to obtain an acceleration signal.
Step three: according to the method, the acceleration signal obtained in the step 1 is used for solving the displacement and filtering threshold value ftThe calculated result was compared with the analog signal, taking 1hz, and the result is shown in FIG. 2.
Example 2 analog signals
The method comprises the following steps: changing the parameters in example 1, the opposite case from example one was simulated, i.e., the low frequency displacement signal amplitude was small and the high frequency displacement signal amplitude was large. The initial term of the high-frequency displacement signal is 0, the amplitude is 2mm, the frequency is 5hz, and the initial term of the low-frequency displacement signal isAmplitude was 20mm and frequency was 0.7 hz. The signal length is 10s and the sampling frequency is 20 hz.
Step two: and (4) deriving the superposed displacement signals twice to obtain an acceleration signal.
Step three: according to the method, the acceleration signal obtained in the step 1 is used for solving the displacement and filtering threshold value ftThe calculated results were compared to the simulated signal at 0.8hz and the results are shown in FIG. 3.
Example 3 measured signals
The method comprises the following steps: the displacement of a certain vibration device in a certain time period is actually measured by adopting a laser displacement meter, an accelerometer and a certain low-frequency displacement meter.
Step two: according to the method, the high-frequency displacement calculated by fusing the acceleration signal and the displacement measured by the low-frequency displacement meter, and the filtering threshold ftTaking 0.3hz, and comparing the calculated result with the measured data of the laser displacement meter, wherein the result is shown in the attached figure 4.
The three examples show that the method can be used for calculating accurate displacement by fusing the low-frequency displacement signal and the acceleration signal.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The principle and the implementation mode of the invention are explained by applying specific embodiments in the invention, and the description of the embodiments is only used for helping to understand the method and the core idea of the invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present invention.
It will be appreciated by those of ordinary skill in the art that the embodiments described herein are intended to assist the reader in understanding the principles of the invention and are to be construed as being without limitation to such specifically recited embodiments and examples. Those skilled in the art can make various other specific changes and combinations based on the teachings of the present invention without departing from the spirit of the invention, and these changes and combinations are within the scope of the invention.
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种玻璃线轮廓检测机