Sensor testing method and device, electronic equipment, medium and product

By constructing a model to align the vibration data of the vibration table and the sensor, the problem of high testing costs for accelerometers was solved, and sensor error determination was achieved even without customized equipment.

CN121656597APending Publication Date: 2026-03-13CONTINENTAL AUTOMOTIVE SYST CHANGCHUN CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-11
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

Current technologies require customized automated testing equipment for accelerometer testing, which is costly and makes effective testing impossible without such equipment.

Method used

By acquiring vibration data from the vibration table and sensors, a model is constructed to characterize the mapping relationship between the acquisition time and the corresponding relationship between the vibration amount. The vibration data of the vibration table and the vibration data of the sensors are aligned using modeling methods to determine the sensing error of the sensors.

Benefits of technology

Precise alignment of vibration data was achieved without the need for customized automated testing equipment, enabling accurate determination of sensor sensing errors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121656597A_ABST
    Figure CN121656597A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of testing, in particular to a sensor testing method and device, equipment, a medium and a product, and the method comprises the steps: obtaining first vibration data of a vibration table at a plurality of first collection moments and second vibration data collected by a sensor at a plurality of second collection moments; constructing a first model according to the plurality of first acquisition moments and the plurality of second acquisition moments, wherein the first model is used for representing a mapping relationship between the plurality of first acquisition moments and the plurality of second acquisition moments; a second model is constructed according to the first vibration data and the first model, a third model is constructed according to the first model and the second model, the second model is used for representing the corresponding relation between multiple first collection moments and the vibration quantity of the vibration table, and the third model is used for representing the corresponding relation between multiple second collection moments and the vibration quantity of the vibration table; the third model is used for representing the corresponding relationship between the plurality of second acquisition moments and the theoretical vibration quantity corresponding to the sensor; and determining a sensing error of the sensor based on the second vibration data and the theoretical vibration data. Therefore, cost is reduced and test accuracy is guaranteed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of testing technology, specifically to a sensor testing method, apparatus, electronic device, medium, and product. Background Technology

[0002] Accelerometers require functional verification, typically using customized automated testing equipment, which is costly. Therefore, how to test accelerometers without access to such equipment has become a problem that needs to be solved. Summary of the Invention

[0003] This application provides a sensor testing method, apparatus, electronic device, medium, and product. The sensor testing method can solve the problem of comparing the first vibration data output by the vibration table and the second vibration data output by the sensor without using customized automated testing equipment.

[0004] In a first aspect, embodiments of this application provide a sensor testing method, the method comprising: acquiring first vibration data of a vibration table and second vibration data of a sensor, wherein the first vibration data includes vibration amounts of the vibration table at multiple first acquisition moments within a first time period, and the second vibration data includes vibration amounts acquired by the sensor at multiple second acquisition moments within a second time period; constructing a first model based on the multiple first acquisition moments and the multiple second acquisition moments, wherein the first model is used to characterize the mapping relationship between the multiple first acquisition moments and the multiple second acquisition moments; constructing a second model based on the first vibration data, and constructing a third model based on the second vibration data and the second model, wherein the second model is used to characterize the correspondence between the multiple first acquisition moments and the vibration amounts of the vibration table, and the third model is used to characterize the correspondence between the multiple second acquisition moments and the theoretical vibration amounts corresponding to the sensor; and determining the sensing error of the sensor based on the second vibration data and the theoretical vibration data corresponding to the second vibration data, wherein the theoretical vibration data corresponding to the second vibration data is determined based on the second vibration data and the third model.

[0005] Therefore, the terminal can align the waveforms corresponding to the first vibration data and the second vibration data through modeling to determine the theoretical vibration data of the sensor, and determine the sensor's sensing error based on the theoretical vibration data and the second vibration data.

[0006] In some possible implementations provided in the first aspect above, determining the sensor's sensing error based on the second vibration data and the theoretical vibration data corresponding to the second vibration data includes: establishing an optimization model based on the second vibration data and a third model, wherein the optimization model is used to ensure that the difference between the vibration amount of the sensor at multiple second acquisition times and the theoretical vibration amount corresponding to the sensor satisfies a preset condition; obtaining preset parameters of the third model based on the constraints of the optimization model, the preset parameters including the gain coefficient and time offset parameter between the first vibration data and the second vibration data; determining the theoretical vibration data based on the second vibration data and the third model containing the preset parameters; and determining the sensor's sensing error based on the theoretical vibration data and the second vibration data.

[0007] In some embodiments, the constraint conditions include a preset time offset interval of [ The preset gain range is [ ]; ].

[0008] Among the possible implementations provided in the first aspect above, the preset condition includes: the difference between the vibration amount of the sensor at multiple second acquisition times and the theoretical vibration amount corresponding to the sensor is minimized.

[0009] In some possible implementations provided in the first aspect above, based on the constraints of the optimization model, the preset parameters of the third model are obtained, including: determining the initial value of the time offset parameter within a preset time offset interval through grid search; using the initial value of the time offset parameter as the starting point, performing gradient calculation and search direction calculation on the gain coefficient and the time offset parameter to determine the target search direction; determining the optimal step size based on the target search direction; updating the gain coefficient and the time offset parameter according to the target search direction and the optimal step size; determining that the optimization model satisfies the preset convergence condition, and obtaining the currently updated gain coefficient and time offset parameter.

[0010] It can be understood that the preset time offset interval is [ This can be used to limit the time offset parameter from being too large or too small. In addition, the terminal can also set a preset gain range. [] can be used to limit the gain parameter from being too large or too small.

[0011] It is understood that the aforementioned preset time offset interval and preset gain interval can be freely set based on the user's actual needs, and no specific limitations are imposed here.

[0012] Therefore, the terminal can first use a grid search to determine the initial value of the time offset parameter within a preset time offset interval, for example, it can preset... The value is 1.0, and a grid search is performed within a preset time offset interval. The search within the function minimizes the initial value Δt_initial, and the gain coefficient can be adjusted starting from the initial value Δt_initial of the time offset parameter. and time offset parameters Gradient calculation and search direction calculation are performed to determine the target search direction.

[0013] For example, the terminal can start with [Δt_initial, 1.0] and jointly optimize Δt and For example, the limited-memory quasi-Newton algorithm (L-BFGS-B) can be used to calculate the gradient and determine the target search direction using the gradient information of the objective function. The calculation.

[0014] It is understandable that the L-BFGS-B algorithm is a finite-memory quasi-Newton algorithm for large-scale constrained optimization problems, and it is widely used in machine learning for parameter estimation and function optimization problems.

[0015] In some possible implementations provided in the first aspect above, the preset convergence conditions include the gradient norm of the optimization model being less than the gradient tolerance, and / or the numerical change of the optimization model in two consecutive iterations being less than the function value tolerance.

[0016] It is understandable that if any one of the preset convergence conditions is met, the terminal can terminate the adjustment of the time offset parameter Δt and the gain coefficient. The iterative update outputs the updated time offset parameter Δt and gain coefficient. Δt and These are the updated optimal parameters.

[0017] It is understandable that the terminal can systematically evaluate the objective function globally through the aforementioned grid search, providing the L-BFGS-B algorithm with a high-quality, near-global optimum initial point Δt_initial. This enables the L-BFGS-B algorithm, which relies on the initial guess, to effectively obtain the time offset parameter Δt and gain coefficient of the local optimum. .

[0018] In some possible implementations provided in the first aspect above, constructing a second model based on the first vibration data includes: constructing at least two alternative second models based on the first vibration data using at least two different interpolation methods, wherein the at least two different interpolation methods include at least any two of the following: linear interpolation, cubic spline interpolation, and Akima interpolation; and selecting a model that satisfies the target conditions from the at least two alternative second models as the second model.

[0019] Among the possible implementations provided in the first aspect above, the objective condition includes: minimizing the root mean square error between the vibration quantities at multiple second acquisition times based on the output of the alternative second model and the vibration quantities at multiple second acquisition times in the second vibration data.

[0020] Therefore, the terminal can construct multiple alternative second models through various interpolation methods, and select the alternative second model with the smallest root mean square error between the vibration quantities at multiple second acquisition times based on the output of the alternative second model and the vibration quantities at multiple second acquisition times in the second vibration data as the second model, which can most accurately characterize the vibration of the vibration table.

[0021] In some possible implementations provided in the first aspect above, a first model is constructed based on multiple first acquisition times and multiple second acquisition times, including: determining the correlation between the i-th second acquisition time and the first acquisition time of the vibration table based on the i-th second acquisition time, the time interval between each second acquisition time, and the time offset parameter, to obtain the first model, where i is a positive integer.

[0022] Therefore, the terminal can align the acquisition times of the vibration table and the sensor in the manner of the first model, thereby facilitating the determination of the amount of vibration that the sensor should theoretically acquire at the first acquisition time based on the second vibration data and the first vibration data, for example, constructing the third model as shown in the example below.

[0023] Secondly, embodiments of this application also provide a sensor testing device, which includes a data acquisition module, a model building module, and a data processing module. The data acquisition module is used to acquire first vibration data from a vibration table and second vibration data from a sensor. The first vibration data includes the vibration magnitude of the vibration table at multiple first acquisition moments within a first time period, and the second vibration data includes the vibration magnitude collected by the sensor at multiple second acquisition moments within a second time period. The model building module is used to construct a first model based on the multiple first acquisition moments and the multiple second acquisition moments, wherein the first model represents the mapping relationship between the multiple first acquisition moments and the multiple second acquisition moments. The model building module is also used to construct a second model based on the first vibration data, and a third model based on the first model and the second model. The second model represents the correspondence between the multiple first acquisition moments and the vibration magnitude of the vibration table, and the third model represents the correspondence between the multiple second acquisition moments and the theoretical vibration magnitude corresponding to the sensor. The data processing module is used to determine the sensor's sensing error based on the second vibration data and the theoretical vibration data corresponding to the second vibration data, wherein the theoretical vibration data corresponding to the second vibration data is determined based on the second vibration data and the third model.

[0024] Thirdly, embodiments of this application also provide an electronic device, including: one or more processors; one or more memories storing one or more programs, which, when executed by one or more processors, cause the electronic device to perform the sensor testing method proposed in the first aspect and various implementations thereof.

[0025] Fourthly, embodiments of this application also provide a computer-readable medium storing instructions that, when executed on a machine, cause the machine to perform the sensor testing method proposed in the first aspect and various implementations thereof.

[0026] Fifthly, embodiments of this application also provide a computer program product, including a computer program / instructions, which, when executed by a processor, implement the sensor testing method proposed in the first aspect and various implementations thereof.

[0027] It is understood that the beneficial effects of the second to fifth aspects mentioned above can be referenced by the first aspect and the beneficial effects of various implementations of the first aspect, which will not be elaborated here.

[0028] The technical solution provided in this application has at least the following beneficial effects:

[0029] The embodiments of this application can convert the acquired vibration table vibration curve (corresponding to the first vibration data) into theoretical vibration data that can be precisely aligned with the vibration curve (corresponding to the second vibration data) collected by the sensor on the vibration table, thereby determining the accurate sensing error in the absence of automated testing equipment. Attached Figure Description

[0030] Figure 1 A schematic diagram of a sensor testing scenario according to some embodiments of this application is shown;

[0031] Figure 2 A schematic flowchart of a sensor testing method according to some embodiments of this application is shown;

[0032] Figure 3 A schematic diagram of the raw data of vibration table vibration data (corresponding to first vibration data) and sensor measured values ​​(corresponding to second vibration data) according to some embodiments of this application is shown.

[0033] Figure 4 A schematic diagram is shown of the sensor measured values ​​(corresponding to the second vibration data) and the sensor theoretical measured values ​​(corresponding to the theoretical vibration data) obtained after optimization based on an optimization model according to some embodiments of this application;

[0034] Figure 5A partially enlarged schematic diagram is shown of the sensor measured values ​​(corresponding to the second vibration data) and the sensor theoretical measured values ​​(corresponding to the theoretical vibration data) obtained after optimization based on an optimization model according to some embodiments of this application;

[0035] Figure 6 A schematic diagram is shown showing the error calculation results, sensor measured values ​​(corresponding to the second vibration data), and sensor theoretical measured values ​​(corresponding to the theoretical vibration data) proposed according to some embodiments of this application;

[0036] Figure 7 A schematic diagram of the frame structure of a sensor testing device according to an embodiment of this application is shown;

[0037] Figure 8 This diagram illustrates the structure of an electronic device according to some embodiments of the present application. Detailed Implementation

[0038] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions in the embodiments of this application will be described in detail below with reference to the accompanying drawings and specific implementation methods.

[0039] Understandably, without customized automated testing equipment, it's impossible to obtain synchronized vibration data from the vibration table and the sensor. Therefore, it's necessary to determine the sensor's sensing error by comparing the vibration data from both.

[0040] However, since the first vibration data from the vibration table and the second vibration data from the sensor are vibration data collected from different systems, based on different sampling rates, and at asynchronous acquisition times, it is difficult to establish a direct correspondence between the first vibration data and the second vibration data, making it quite difficult to compare the two vibration data.

[0041] Therefore, to solve this problem, this application proposes a sensor testing method, which includes: acquiring first vibration data of a vibration table and second vibration data of a sensor, wherein the first vibration data includes the vibration amount of the vibration table at multiple first acquisition moments within a first time period, and the second vibration data includes the vibration amount acquired by the sensor at multiple second acquisition moments within a second time period; constructing a first model based on the multiple first acquisition moments and the multiple second acquisition moments, wherein the first model is used to characterize the mapping relationship between the multiple first acquisition moments and the multiple second acquisition moments; constructing a second model based on the first vibration data, and constructing a third model based on the first model and the second model, wherein the second model is used to characterize the correspondence between the multiple first acquisition moments and the vibration amount of the vibration table, and the third model is used to characterize the correspondence between the multiple second acquisition moments and the theoretical vibration amount corresponding to the sensor; determining the sensing error of the sensor based on the second vibration data and the theoretical vibration data corresponding to the second vibration data, wherein the theoretical vibration data corresponding to the second vibration data is determined based on the second vibration data and the third model.

[0042] Based on the above scheme, the acquired vibration table vibration curve (corresponding to the first vibration data) can be converted into theoretical vibration data that can be precisely aligned with the vibration curve (corresponding to the second vibration data) collected by the sensor on the vibration table, thus determining the accurate sensing error in the absence of automated testing equipment.

[0043] Figure 1 A schematic diagram of a sensor testing scenario proposed according to some embodiments of this application is shown.

[0044] refer to Figure 1 In this embodiment of the application, the tester can obtain the first vibration data output by the vibration table 200 and the second vibration data output by the sensor 300 through the terminal 100.

[0045] It is understandable that, because no customized automated testing equipment is set up, the multiple first acquisition moments of the first vibration data output by the vibration table 200 and the multiple second acquisition moments of the vibration table 200 (corresponding to the second vibration data) acquired by the sensor 300 may be asynchronous. For example, the vibration table 200 outputs vibration at a higher frequency, while the sensor 300 acquires the vibration at a lower frequency, meaning the sampling rate of the first vibration data is greater than the sampling rate of the second vibration data. Therefore, the terminal 100 can use modeling to align the waveforms corresponding to the first and second vibration data to determine the theoretical vibration data of the sensor 300, and determine the sensor's sensing error based on the theoretical and second vibration data.

[0046] The sensor testing method proposed in the embodiments of this application will be described in detail below with reference to the accompanying drawings.

[0047] Figure 2 A schematic flowchart of a sensor testing method according to some embodiments of this application is shown.

[0048] It is understood that the execution entity of this method can be the terminal 100 that can obtain the first vibration data and the second vibration data, and there are no restrictions here.

[0049] refer to Figure 2 The process of this method is as follows:

[0050] S201, acquire first vibration data of the vibration table and second vibration data of the sensor. The first vibration data includes the vibration amount of the vibration table at multiple first acquisition moments within a first time period, and the second vibration data includes the vibration amount acquired by the sensor at multiple second acquisition moments within a second time period.

[0051] It is understood that terminal 100 can acquire the first vibration data from the vibration table and the second vibration data from the sensor. The first time period is the total test duration of the vibration table 200, and the second time period is the total test duration of the sensor 300. The first time period may include multiple first acquisition moments, and the vibration magnitude corresponding to each first acquisition moment constitutes the first vibration data. Similarly, the second time period may include multiple second acquisition moments, and the multiple second acquisition moments and the vibration magnitude corresponding to each second acquisition moment constitute the second vibration data.

[0052] Because the sampling frequencies of the vibration table 200 and the sensor 300 are different, the first acquisition time and the second acquisition time are not in a one-to-one correspondence. For example, if the sampling rate of the vibration table 200 by the terminal 100 is greater than that of the sensor 300, then if the durations of the first time period and the second time period are the same, the number of first acquisition times is greater than the number of second acquisition times, that is, the sampling frequency of the vibration table 200 is greater.

[0053] In some embodiments, the data output by the sensor 300 is in its original code form, and the data output by the sensor 300 needs to be decoded.

[0054] In some embodiments, the vibration table 200 is a vibration table that outputs continuous vibration and can complete data sampling at intervals of 0.0152 milliseconds.

[0055] In some embodiments, the sensor 300 described above can be a dual-axis accelerometer with a sampling frequency of 2kHz, and therefore its sampling frequency is different from that of the vibration table 200.

[0056] S202, a first model is constructed based on multiple first acquisition times and multiple second acquisition times, wherein the first model is used to characterize the mapping relationship between multiple first acquisition times and multiple second acquisition times.

[0057] It is understandable that the first model can characterize the mapping relationship between multiple first acquisition times and multiple second acquisition times. Based on the mapping relationship between the two, the terminal 100 can determine multiple sampling points from the sampling points of the vibration table 200 (corresponding to the vibration amount corresponding to the first acquisition time) that correspond to the sampling points of the sensor 300 (corresponding to the vibration amount corresponding to the second acquisition time). Thus, if the sampling frequency of the vibration table 200 is high, the terminal 100 can select the sampling points of the vibration table 200 corresponding to the second acquisition time, and then estimate the vibration amount that the sensor 300 can theoretically acquire at each second acquisition time, so as to accurately determine the error of the sensor 300.

[0058] In some embodiments of this application, a first model is constructed based on multiple first acquisition times and multiple second acquisition times, including: determining the correlation between the i-th second acquisition time and the first acquisition time of the vibration table based on the i-th second acquisition time, the time interval between each second acquisition time, and the time offset parameter, thereby obtaining the first model.

[0059] Where i can be a positive integer greater than or equal to 1.

[0060] For example, the time offset parameter can be used to characterize the time difference between each second acquisition moment of the sensor 300 and the corresponding acquisition moment of the vibration table 200.

[0061] In some embodiments, the first model can be expressed as the following formula (1):

[0062] Formula (1);

[0063] in, Used to characterize the first acquisition time of the vibration table 200 corresponding to the i-th sampling point of the sensor 300; The i-th sampling point of sensor 300 is used to characterize the vibration table 200; T(total) is used to characterize the total test time of the vibration table 200 (corresponding to the first time period); and N(sen) is used to characterize the total number of data points contained in the second vibration data. The time interval between each second acquisition moment in the second vibration data is used to characterize the time difference between each second acquisition moment of the sensor 300 and the corresponding acquisition moment of the vibration table 200. Δt is a time offset parameter used to characterize the time difference between each second acquisition moment of the sensor 300 and the corresponding acquisition moment of the vibration table 200.

[0064] Therefore, the terminal 100 can align the acquisition times of the vibration table 200 and the sensor 300 in the manner of the first model, thereby facilitating the determination of the amount of vibration that the sensor should theoretically acquire at the first acquisition time based on the second vibration data and the first vibration data, for example, constructing the third model as shown in the following example.

[0065] S203, construct a second model based on the first vibration data, and construct a third model based on the first and second models. The second model is used to characterize the correspondence between multiple first acquisition times and the vibration amount of the vibration table, and the third model is used to characterize the correspondence between multiple second acquisition times and the theoretical vibration amount corresponding to the sensor.

[0066] It is understood that the first vibration data may include the vibration of the vibration table 200 collected at multiple first acquisition times, and therefore the second model can be constructed based on the first vibration data.

[0067] In some embodiments of this application, in order to reduce the amount of data processing, a second model can be constructed using interpolation.

[0068] For example, constructing a second model based on first vibration data and a first model includes: constructing at least two alternative second models based on the first vibration data using at least two different interpolation methods, wherein the at least two different interpolation methods include at least any two of the following: linear interpolation, cubic spline interpolation, and Akima interpolation; and selecting the model that satisfies the target conditions from the at least two alternative second models as the second model.

[0069] For example, the objective condition includes minimizing the root mean square error between the vibration values ​​at multiple second acquisition times based on the output of the alternative second model and the vibration values ​​at multiple second acquisition times in the second vibration data.

[0070] Therefore, the terminal 100 can construct multiple alternative second models through various interpolation methods, and select the alternative second model with the smallest root mean square error between the vibration amount at multiple second acquisition times based on the output of the alternative second model and the vibration amount at multiple second acquisition times in the second vibration data as the second model, which can most accurately characterize the vibration of the vibration table 200.

[0071] In some embodiments, the second model can be expressed as the following formula (2):

[0072] Formula (2);

[0073] Where j is used to characterize any first acquisition moment of the vibration table during the vibration process; A continuous mathematical model (corresponding to the second model) is used to characterize the shaking table 200. Used to characterize the acceleration value of the vibration table at any time during the vibration process (corresponding to the vibration amount at any time).

[0074] Furthermore, based on the correspondence between the first and second acquisition times of the vibration table 200 and the sensor 300 in the first model, and combined with the second model (corresponding to the continuous vibration model of the vibration table 200), the amount of vibration that the sensor 300 should theoretically acquire at the second acquisition time is predicted, for example, a third model is constructed.

[0075] In some embodiments, the third model can be expressed as the following formula (3):

[0076] Formula (3);

[0077] in, The second model used to characterize the shaking table 200; Used to characterize the vibration table time point corresponding to the i-th second acquisition time of sensor 300; Used to characterize the amount of vibration that sensor 300 should theoretically collect at the i-th second acquisition time; The gain coefficient is used to characterize the system gain between the vibration amount acquired by the vibration table 200 at the same acquisition moment and the theoretical vibration amount acquired by the sensor 300. The way the sensor 300 is mounted on the vibration table 200, such as the angle at which the sensor 300 is fixed to the vibration table 200, can affect the system gain coefficient. The value.

[0078] S204, determine the sensor's sensing error based on the second vibration data and the theoretical vibration data corresponding to the second vibration data, wherein the theoretical vibration data corresponding to the second vibration data is determined based on the second vibration data and the third model.

[0079] For example, determining the sensor's sensing error based on the second vibration data and the theoretical vibration data corresponding to the second vibration data includes: establishing an optimization model based on the second vibration data and a third model, wherein the optimization model is used to ensure that the difference between the vibration amount of the sensor at multiple second acquisition times and the theoretical vibration amount corresponding to the sensor meets a preset condition; obtaining preset parameters of the third model based on the constraints of the optimization model, the preset parameters including the gain coefficient and time offset parameter between the first vibration data and the second vibration data; determining the theoretical vibration data based on the second vibration data and the third model containing the preset parameters; and determining the sensor's sensing error based on the theoretical vibration data and the second vibration data.

[0080] For example, the optimization model can be expressed as the following formulas (4) and (5):

[0081] Formula (4);

[0082] Constraints: Formula (5);

[0083] in, To optimize the objective function; Used to characterize the amount of vibration that sensor 300 should theoretically collect at the i-th second acquisition time; Used to characterize the vibration amount collected by sensor 300 at the i-th second acquisition time; constraints include a preset time offset interval of [ The preset gain range is []. ].

[0084] It is understandable that the preset conditions of this optimization model include: minimizing the difference between the actual vibration measured by the sensor (corresponding to the vibration collected by the sensor at each second acquisition time) and the theoretical vibration of the sensor.

[0085] For example, based on the constraints of the optimization model, the preset parameters of the third model are obtained, including: determining the initial value of the time offset parameter within a preset time offset interval through grid search; using the initial value of the time offset parameter as the starting point, performing gradient calculation and search direction calculation on the gain coefficient and the time offset parameter to determine the target search direction; determining the optimal step size based on the target search direction; updating the gain coefficient and the time offset parameter according to the target search direction and the optimal step size; determining that the optimization model meets the preset convergence condition, and obtaining the currently updated gain coefficient and time offset parameter.

[0086] It can be understood that the preset time offset interval is [ This can be used to limit the time offset parameter from being too large or too small. In addition, the terminal 100 can also set a preset gain range. [] can be used to limit the gain parameter from being too large or too small.

[0087] It is understood that the aforementioned preset time offset interval and preset gain interval can be freely set based on the user's actual needs, and no specific limitations are imposed here.

[0088] Therefore, terminal 100 can first use grid search to determine the initial value of the time offset parameter within a preset time offset interval, for example, it can preset... The value is 1.0, and a grid search is performed within a preset time offset interval. The search within the function minimizes the initial value Δt_initial, and the gain coefficient can be adjusted starting from the initial value Δt_initial of the time offset parameter. and time offset parameters Gradient calculation and search direction calculation are performed to determine the target search direction.

[0089] For example, terminal 100 can start with [Δt_initial, 1.0] and jointly optimize Δt and For example, the limited-memory quasi-Newton algorithm (L-BFGS-B) is used to calculate the gradient as shown in formula (6) and the target search direction as shown in formula (7) using the gradient information of the objective function. Calculation:

[0090] Formula (6);

[0091] Formula (7);

[0092] in, It is the gradient vector. The inverse of the Hessian matrix is ​​used, i.e., the target search direction is calculated using the k-th current gradient vector and the inverse of the k-th Hessian matrix. In the above formula (7), terminal 100 can assume during the initial iteration process... I is the identity matrix, and the search direction is the negative gradient.

[0093] In some embodiments, terminal 100 may assume during the initial iteration process that Given the identity matrix and the search direction being the negative gradient, subsequent iterations can utilize the approximate inverse of the Hessian matrix. To calculate the target search direction .

[0094] It is understandable that the L-BFGS-B algorithm is a finite-memory quasi-Newton algorithm for large-scale constrained optimization problems, and it is widely used in machine learning for parameter estimation and function optimization problems.

[0095] Subsequently, terminal 100 based on the target search direction Determine the optimal step size According to the target search direction and optimal step length Update the time offset parameter Δt and the gain coefficient. As shown in the following formulas (8) and (9):

[0096] Formula (8);

[0097] Formula (9);

[0098] Where x is the gain coefficient and time offset parameters The transpose of the matrix; Let x be the transpose matrix obtained in the k-th iteration. Let x be the transpose matrix obtained in the (k+1)th iteration, where k is a positive integer.

[0099] Therefore, terminal 100 can use the gain coefficient obtained in the kth iteration. and time offset parameters The transpose matrix x is constructed as shown in formula (9), and then combined with the target search direction obtained in the kth iteration. and optimal step length Together, update and iterate to obtain the gain coefficient for the (k+1)th iteration. and time offset parameters .

[0100] Furthermore, the terminal 100 determines that the optimization model meets the preset convergence conditions and obtains the currently updated gain coefficient and time offset parameters.

[0101] In some embodiments of this application, the aforementioned preset convergence condition includes the gradient norm of the optimization model being less than the gradient tolerance. And / or, the numerical change of the optimization model in two consecutive iterations is less than the function value tolerance. .

[0102] For example, the preset convergence condition includes the following formulas (10) and (11):

[0103] Formula (10);

[0104] Formula (11);

[0105] in, For gradient norm, The absolute change in the objective function value between the two iterations. This is a normalization factor used to ensure that the rate of change is relative. It is the numerical change of the optimization model over two consecutive iterations (i.e., the relative rate of change of the optimization model).

[0106] If either formula (10) or formula (11) is satisfied, the terminal 100 can terminate the adjustment of the time offset parameter Δt and the gain coefficient. The iterative update outputs the updated time offset parameter Δt and gain coefficient. Δt and These are the updated optimal parameters.

[0107] It is understandable that the terminal 100 can systematically evaluate the objective function globally through the aforementioned grid search, providing the L-BFGS-B algorithm with a high-quality, near-global optimum initial point Δt_initial. This enables the L-BFGS-B algorithm, which relies on the initial guess, to effectively obtain the time offset parameter Δt and gain coefficient of the local optimum. .

[0108] It is understandable that before determining the sensor's sensing error based on the second vibration data and theoretical vibration data, the terminal 100 can also verify the time-domain waveform of the updated third model determined by the gain coefficient and time offset parameters obtained from the optimized model.

[0109] For example, terminal 100 can use the Pearson correlation coefficient to calculate the linear correlation between the second vibration data and the theoretical vibration data to verify the jointly optimized time-domain waveform. This allows verification of whether the error in the finally calculated second vibration data and theoretical vibration data at each second acquisition time contains content related to the original signal (e.g., the second vibration data). If the error is unrelated to the second vibration data, it indicates that the error is random, and the various models established in the embodiments of this application are valid.

[0110] The linear correlation between the second vibration data and the theoretical vibration data calculated by terminal 100 can be shown by the following formula (12):

[0111] Formula (12);

[0112] in, The covariance of the theoretical vibration data and the second vibration data is used to characterize the trend of both changing together; The standard deviation of the theoretical vibration data is used to characterize the degree of fluctuation in the theoretical vibration data. is the standard deviation of the second vibration data, used to characterize the degree of fluctuation of the second vibration data; r is the linear correlation between the two, and its value can be [-1,1]. If r=1, the two are completely positively linearly correlated; if r=-1, the two are completely negatively linearly correlated; if r=0, the two are not linearly correlated.

[0113] Furthermore, the terminal 100 can use the following formula (13) to calculate the point-by-point error between the actual vibration amount of the sensor 300 (corresponding to the vibration amount at each second acquisition time under the second vibration data) and the theoretical vibration amount, and determine the proportion of the number of sampling points (or second acquisition times) with errors less than the preset error threshold in the total number of sampling points:

[0114] Formula (13);

[0115] in, Used to characterize the error between the actual vibration and the theoretical vibration at the i-th second acquisition time; Used to characterize the vibration value that sensor 300 should theoretically measure at the i-th second acquisition time; The vibration value actually collected by the sensor at the i-th second acquisition time.

[0116] In some embodiments, the preset error threshold can be 2g.

[0117] The verification process proposed in the embodiments of this application will be described in detail below with reference to the relevant accompanying drawings.

[0118] Figure 3 The diagram illustrates the raw data of vibration table vibration data (corresponding to the first vibration data) and sensor measured values ​​(corresponding to the second vibration data) according to some embodiments of this application. In the vibration table vibration data, the horizontal axis represents time in milliseconds (ms), and the vertical axis represents acceleration in g. The horizontal axis of the sensor measured values ​​represents the sampling point number (corresponding to the i-th second acquisition time), and the vertical axis represents acceleration in g.

[0119] Figure 4 The diagram illustrates the measured values ​​(corresponding to the second vibration data) and theoretical measured values ​​(corresponding to the theoretical vibration data) of the sensor obtained after optimization based on an optimization model according to some embodiments of this application. The horizontal axis represents the sampling point number (corresponding to the i-th second acquisition time), and the vertical axis represents the acceleration in g.

[0120] Figure 5 This diagram shows a partially enlarged view of the sensor's measured values ​​(corresponding to the second vibration data) and theoretical measured values ​​(corresponding to the theoretical vibration data) obtained after optimization based on an optimization model according to some embodiments of this application. The horizontal axis represents the sampling point number (corresponding to the i-th second acquisition time), and the vertical axis represents the acceleration in g.

[0121] Figure 6 The diagram illustrates the error calculation results, sensor measured values ​​(corresponding to the second vibration data), and sensor theoretical measured values ​​(corresponding to the theoretical vibration data) proposed according to some embodiments of this application. The horizontal axis represents the sampling point number (corresponding to the i-th second acquisition time), and the vertical axis represents the acceleration in g.

[0122] In some embodiments, terminal 100 is based on Figures 3 to 5It can be determined that the correlation coefficient between the sensor's measured value (corresponding to the second vibration data) and the sensor's theoretical measured value (corresponding to the theoretical vibration data) is 0.9987, which is highly correlated, thus conforming to physical laws, and the time-domain curve optimization verification is successful.

[0123] In some embodiments, terminal 100 is based on Figure 6 It can be determined that the proportion of sampling points with a value less than the preset error threshold of 2g is 93.6%, and the correlation coefficient between the error and the measured value is 0.0508, meaning that the error and the measured value are basically uncorrelated. This verifies that the errors in the finally calculated second vibration data and theoretical vibration data at each second acquisition time do not contain any content related to the original signal (e.g., the second vibration data), and that each error value in the error curve is random. Therefore, the models established in the embodiments of this application are valid.

[0124] The results show that the sensor testing method proposed in this application effectively solves the problem that the vibration amount is difficult to compare due to the different sampling rates and inconsistent data lengths of the first vibration data of the vibration table 200 and the second vibration data of the sensor 300 obtained by the terminal 100. It can accurately calculate the error between the two independent acquisition systems and has high reliability.

[0125] Figure 7 A schematic diagram of the frame structure of a sensor testing device 700 according to an embodiment of this application is shown. The sensor testing device 700 may include a data acquisition module 701, a model building module 702, and a data processing module 703.

[0126] The data acquisition module 701 is used to acquire first vibration data of the vibration table and second vibration data of the sensor. The first vibration data includes the vibration amount of the vibration table at multiple first acquisition moments within a first time period, and the second vibration data includes the vibration amount acquired by the sensor at multiple second acquisition moments within a second time period.

[0127] The model building module 702 is used to build a first model based on multiple first acquisition times and multiple second acquisition times, wherein the first model is used to represent the mapping relationship between the multiple first acquisition times and multiple second acquisition times.

[0128] The model building module 702 is also used to build a second model based on the first vibration data and the first model, and to build a third model based on the first model and the second model. The second model is used to characterize the correspondence between multiple first acquisition times and the vibration amount of the vibration table, and the third model is used to characterize the correspondence between multiple second acquisition times and the theoretical vibration amount corresponding to the sensor.

[0129] The data processing module 703 is used to determine the sensing error of the sensor based on the second vibration data and the theoretical vibration data corresponding to the second vibration data, wherein the theoretical vibration data corresponding to the second vibration data is determined based on the second vibration data and the third model.

[0130] It is understood that the specific execution process of the data acquisition module 701 can be referred to the specific implementation process in step S201 of the example above. For the sake of brevity, it will not be elaborated here.

[0131] It is understood that the specific execution process of the above model construction module 702 can refer to the specific implementation process in steps S202 to S203 of the example above. For the sake of brevity, it will not be elaborated here.

[0132] It is understood that the specific execution process of the data processing module 703 can be referred to the specific implementation process in step S204 of the example above. For the sake of brevity, it will not be repeated here.

[0133] In some embodiments, the terminal 100 described above can be as follows: Figure 8 The example electronic device is 1500.

[0134] According to the sensor testing method provided in the embodiments of this application, this application also provides a computer program product, which includes computer program code. When the computer program code is run on a computer, it causes the computer to perform the steps executed by the electronic device 1500 in any of the above embodiments.

[0135] According to the sensor testing method provided in the embodiments of this application, this application also provides a computer-readable medium storing program code. When the program code is run on a computer, the computer performs the steps executed by the electronic device 1500 in any of the above embodiments.

[0136] The specific structure of the electronic device 1500 will be described in detail below with reference to the accompanying drawings.

[0137] Figure 8 This diagram illustrates the structure of an electronic device 1500 according to some embodiments of the present application.

[0138] like Figure 8As shown, the electronic device 1500 includes one or more processors 1501, system memory 1502, non-volatile memory (NVM) 1503, communication interface 1504, input / output (I / O) device 1505, and system control logic 1506 for coupling the processor 1501, system memory 1502, non-volatile memory 1503, communication interface 1504, and input / output (I / O) device 1505. Wherein:

[0139] Processor 1501 may include one or more processing units, such as data processing units or processing circuits including central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), microprocessors (MCUs), artificial intelligence (AI) processors, field programmable gate arrays (FPGAs), neural network processing units (NPUs), etc., and may include one or more single-core or multi-core processors. In some embodiments, processor 1501 can be used to execute instructions to implement the above-described sensor testing method.

[0140] System memory 1502 is volatile memory, such as random-access memory (RAM), double data rate synchronous dynamic random access memory (DDR SDRAM), etc. System memory 1502 is used for temporary storage of data and / or instructions. For example, in some embodiments, system memory 1502 can be used to store instructions, or it can be used to store original data objects and modified data objects.

[0141] The non-volatile memory 1503 may include one or more tangible, non-transitory computer-readable media for storing data and / or instructions. In some embodiments, the non-volatile memory 1503 may include any suitable non-volatile memory such as flash memory and / or any suitable non-volatile storage device, such as a hard disk drive (HDD), compact disc (CD), digital versatile disc (DVD), solid-state drive (SSD), etc. In some embodiments, the non-volatile memory 1503 may also be a removable storage medium, such as a secure digital (SD) memory card. In other embodiments, the non-volatile memory 1503 may be used to store instructions, or to store original data objects and modified data objects.

[0142] In some embodiments, system memory 1502 and non-volatile memory 1503 may each include a temporary copy and a permanent copy of instruction 1507. Instruction 1507 may include, when executed by at least one of processors 1501, causing electronic device 1500 to implement the sensor testing methods provided in the embodiments of this application.

[0143] Communication interface 1504 may include a transceiver for providing a wired or wireless communication interface for electronic device 1500, thereby enabling communication with any other suitable device via one or more networks. In some embodiments, communication interface 1504 may be integrated into other components of electronic device 1500, for example, communication interface 1504 may be integrated into processor 1501. In some embodiments, electronic device 1500 may communicate with other devices through communication interface 1504. For example, electronic device 1500 may establish a communication connection with other devices through communication interface 1504 to send data change requests, obtain original data objects, and send changed data objects to other devices through the communication connection.

[0144] Input / output (I / O) device 1505 may include input devices such as keyboards and mice, and output devices such as monitors. Users can interact with electronic devices 1500 through input / output (I / O) device 1505. For example, business personnel can input / select the content to be changed through input / output (I / O) device 1505.

[0145] System control logic 1506 may include any suitable interface controller to provide any suitable interface to other modules of electronic device 1500. For example, in some embodiments, system control logic 1506 may include one or more memory controllers to provide an interface to system memory 1502 and non-volatile memory 1503.

[0146] In some embodiments, at least one of the processors 1501 may be packaged together with the logic of one or more controllers for the system control logic unit 1506 to form a system in package (SiP). In other embodiments, at least one of the processors 1501 may also be integrated on the same chip with the logic of one or more controllers for the system control logic unit 1506 to form a system-on-chip (SoC).

[0147] Understandable. Figure 8 The structure of the electronic device 1500 shown is merely an example. In other embodiments, the electronic device 1500 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0148] Various embodiments of the mechanisms disclosed in this application can be implemented in hardware, software, firmware, or a combination of these implementation methods. Embodiments of this application can be implemented as computer modules or module code executing on a programmable system, the programmable system including at least one processor, a storage system (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device.

[0149] Module code can be applied to input instructions to execute the functions described in this application and generate output information. The output information can be applied to one or more output devices in a known manner. For the purposes of this application, the processing system includes any system having a processor such as, for example, a digital signal processor (DSP), a microcontroller, an application-specific integrated circuit (ASIC), or a microprocessor.

[0150] Module code can be implemented using a high-level modular language or an object-oriented programming language to communicate with the processing system. Assembly language or machine language can also be used to implement module code when needed. In fact, the mechanisms described in this application are not limited to any particular programming language. In either case, the language can be a compiled language or an interpreted language.

[0151] In some cases, the disclosed embodiments may be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments may also be implemented as instructions carried or stored thereon on one or more temporary or non-temporary machine-readable (e.g., computer-readable) storage media, which may be read and executed by one or more processors. For example, the instructions may be distributed via a network or through other computer-readable media. Therefore, machine-readable media may include any mechanism for storing or transmitting information in a machine-readable (e.g., computer-readable) form, including but not limited to floppy disks, optical disks, CD-ROMs, magneto-optical disks, read-only memory (ROM), random access memory (RAM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic cards or optical cards, flash memory, or tangible machine-readable storage for transmitting information (e.g., carrier waves, infrared signals, digital signals, etc.) using the Internet in the form of electrical, optical, acoustic, or other forms of propagated signals. Therefore, machine-readable media include any type of machine-readable medium suitable for storing or transmitting electronic instructions or information in a machine-readable (e.g., computer-readable) form.

[0152] In the accompanying drawings, some structural or methodological features may be shown in a specific arrangement and / or order. However, it should be understood that such a specific arrangement and / or order may not be necessary. Rather, in some embodiments, these features may be arranged in a manner and / or order different from that shown in the illustrative drawings. Furthermore, the inclusion of structural or methodological features in a particular figure does not imply that such features are required in all embodiments, and in some embodiments, these features may be omitted or may be combined with other features.

[0153] Various embodiments of the mechanisms disclosed in this application can be implemented in hardware, software, firmware, or combinations of these implementation methods. Embodiments of this application can be implemented as computer programs or program code executable on a programmable system, the programmable system including at least one processor, a storage system (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device.

[0154] Program code can be applied to input instructions to execute the functions described in this application and generate output information. The output information can be applied to one or more output devices in a known manner. For the purposes of this application, the processing system includes any system having a processor such as, for example, a digital signal processor (DSP), a microcontroller, an application-specific integrated circuit (ASIC), or a microprocessor.

[0155] The program code can be implemented using a high-level procedural language or an object-oriented programming language to communicate with the processing system. Assembly language or machine language can also be used when needed. In fact, the mechanisms described in this application are not limited to any particular programming language. In either case, the language can be a compiled language or an interpreted language.

[0156] It should be noted that all units / modules mentioned in the device embodiments of this application are logical units / modules. Physically, a logical unit / module can be a physical unit / module, a part of a physical unit / module, or a combination of multiple physical units / modules. The physical implementation of these logical units / modules themselves is not the most important factor; the combination of functions implemented by these logical units / modules is the key to solving the technical problems proposed in this application. Furthermore, to highlight the innovative aspects of this application, the above-described device embodiments of this application have not introduced units / modules that are not closely related to solving the technical problems proposed in this application. This does not mean that the above-described device embodiments do not contain other units / modules.

[0157] It should be noted that in the examples and description of this application, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one" does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes the element.

[0158] In this specification, references to "some embodiments" or "embodiments" mean that a specific feature, structure, or characteristic described in connection with an embodiment is included in at least one exemplary implementation or technology disclosed according to embodiments of this application. The phrase "in some embodiments" appearing in various places in the specification does not necessarily refer to the same embodiment.

[0159] Furthermore, the language used in this specification has been primarily chosen for readability and instructional purposes and may not have been chosen to depict or limit the disclosed subject matter. Therefore, the embodiments disclosed herein are intended to illustrate, and not limit, the scope of the concepts discussed herein.

Claims

1. A sensor testing method, characterized in that, The method includes: Acquire first vibration data from a vibration table and second vibration data from a sensor. The first vibration data includes the vibration amount of the vibration table at multiple first acquisition moments within a first time period, and the second vibration data includes the vibration amount acquired by the sensor at multiple second acquisition moments within a second time period. A first model is constructed based on the plurality of first acquisition times and the plurality of second acquisition times, wherein the first model is used to characterize the mapping relationship between the plurality of first acquisition times and the plurality of second acquisition times; A second model is constructed based on the first vibration data, and a third model is constructed based on the second vibration data and the second model. The second model is used to characterize the correspondence between multiple first acquisition times and the vibration amount of the vibration table, and the third model is used to characterize the correspondence between multiple second acquisition times and the theoretical vibration amount corresponding to the sensor. The sensing error of the sensor is determined based on the second vibration data and the theoretical vibration data corresponding to the second vibration data, wherein the theoretical vibration data corresponding to the second vibration data is determined based on the second vibration data and the third model.

2. The method according to claim 1, characterized in that, Determining the sensing error of the sensor based on the second vibration data and the corresponding theoretical vibration data includes: An optimization model is established based on the second vibration data and the third model, wherein the optimization model is used to ensure that the difference between the vibration amount of the sensor at the multiple second acquisition times and the theoretical vibration amount corresponding to the sensor meets a preset condition. Based on the constraints of the optimization model, the preset parameters of the third model are obtained. The preset parameters include the gain coefficient and time offset parameter between the first vibration data and the second vibration data. The theoretical vibration data is determined based on the second vibration data and the third model containing the preset parameters; The sensing error of the sensor is determined based on the theoretical vibration data and the second vibration data.

3. The method according to claim 2, characterized in that, The preset conditions include: The difference between the vibration amount of the sensor at the multiple second acquisition times and the theoretical vibration amount corresponding to the sensor is minimized.

4. The method according to claim 2, characterized in that, The preset parameters of the third model, obtained based on the constraints of the optimization model, include: The initial value of the time offset parameter is determined within a preset time offset interval by using a grid search. Starting from the initial value of the time offset parameter, gradient calculation and search direction calculation are performed on the gain coefficient and the time offset parameter to determine the target search direction; The optimal step size is determined based on the target search direction; Update the gain coefficient and the time offset parameter according to the target search direction and the optimal step size; Determine that the optimization model satisfies the preset convergence condition, and obtain the currently updated gain coefficient and the time offset parameter.

5. The method according to claim 4, characterized in that, The preset convergence conditions include the gradient norm of the optimization model being less than the gradient tolerance, and / or the numerical change of the optimization model in two consecutive iterations being less than the function value tolerance.

6. The method according to claim 1, characterized in that, The construction of the second model based on the first vibration data includes: Based on the first vibration data, at least two alternative second models are constructed using at least two different interpolation methods, wherein the at least two different interpolation methods include at least any two of the following: linear interpolation, cubic spline interpolation, and Akima interpolation; Select the model that satisfies the target conditions from at least two alternative second models as the second model.

7. The method according to claim 6, characterized in that, The target conditions include: The root mean square error between the vibration quantities at multiple second acquisition times output by the alternative second model and the vibration quantities at multiple second acquisition times in the second vibration data is minimized.

8. The method according to claim 2, characterized in that, The construction of the first model based on the plurality of first acquisition times and the plurality of second acquisition times includes: Based on the i-th second acquisition time, the time interval between each second acquisition time, and the time offset parameter, the correlation between the i-th second acquisition time and the first acquisition time of the vibration table is determined, and the first model is obtained, where i is a positive integer.

9. A sensor testing device, characterized in that, The device includes a data acquisition module, a model building module, and a data processing module, wherein... The data acquisition module is used to acquire first vibration data of the vibration table and second vibration data of the sensor. The first vibration data includes the vibration amount of the vibration table at multiple first acquisition moments within a first time period, and the second vibration data includes the vibration amount acquired by the sensor at multiple second acquisition moments within a second time period. The model building module is used to build a first model based on the plurality of first acquisition times and the plurality of second acquisition times, wherein the first model is used to characterize the mapping relationship between the plurality of first acquisition times and the plurality of second acquisition times; The model building module is further configured to build a second model based on the first vibration data, and to build a third model based on the first model and the second model, wherein the second model is used to characterize the correspondence between multiple first acquisition times and the vibration amount of the vibration table, and the third model is used to characterize the correspondence between multiple second acquisition times and the theoretical vibration amount corresponding to the sensor; The data processing module is used to determine the sensing error of the sensor based on the second vibration data and the theoretical vibration data corresponding to the second vibration data, wherein the theoretical vibration data corresponding to the second vibration data is determined based on the second vibration data and the third model.

10. An electronic device, characterized in that, include: One or more processors; One or more memories; the one or more memories storing one or more programs, which, when executed by the one or more processors, cause the electronic device to perform the sensor testing method of any one of claims 1-8.

11. A computer-readable medium, characterized in that, The computer-readable medium stores instructions that, when executed on a machine, cause the machine to perform the sensor testing method according to any one of claims 1-8.

12. A computer program product, characterized in that, Includes a computer program / instruction that, when executed by a processor, implements the sensor testing method according to any one of claims 1-8.