Magnetic position sensor system, device and method using recurrent neural networks

By using recurrent neural networks and simple neural network architectures in magnetic sensor systems, the challenge of high-accuracy position measurement over a wide range of sensor systems is solved. This reduces the sensitivity to external interference fields, temperature changes, and installation errors, and provides a simple and lightweight position determination method.

CN119546926BActive Publication Date: 2026-04-17MELEXIS ELECTRONIC TECH CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
MELEXIS ELECTRONIC TECH CO LTD
Filing Date
2023-07-08
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

Existing magnetic sensor systems struggle to achieve high-accuracy measurements over large areas when determining the relative position of moving sensors or magnetic sources. They are also sensitive to external interference fields, temperature changes, and installation errors, and it is difficult to balance these factors.

Method used

By combining recurrent neural networks (RNNs) with magnetic sensors, multiple magnetic sensors are arranged on a semiconductor substrate. The position of the sensors relative to the magnetic source is determined using a simple neural network architecture. The sensor device can move with 1, 2, or 3 degrees of freedom. The neural network has few training parameters and is insensitive to external interference fields, temperature changes, and installation errors.

Benefits of technology

It achieves high-accuracy position determination over a wide range, with a mean square error of less than ±100 micrometers, reducing sensitivity to external interference fields, temperature changes and installation errors, and the system is simple and lightweight.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119546926B_ABST
    Figure CN119546926B_ABST
Patent Text Reader

Abstract

A method for determining the position (x; x, y) of a sensor device movable relative to a magnetic source, or a magnetic source movable relative to the sensor device; the sensor device comprising at least two magnetic sensors; the method comprising the steps of: a) obtaining a plurality of magnetic sensor signals from the magnetic sensors; b) determining or estimating the position of the sensor device based on the plurality of sensor signals or signals derived therefrom; wherein step b) comprises: determining the position (x; x, y) using an artificial neural network; the artificial neural network being a recurrent neural network trained using up to three hundred trainable parameters per degree of freedom to determine the position. Position sensor system. Position sensor device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention generally relates to the field of magnetic sensor systems, devices and methods, and more specifically to position sensor systems in which the sensor device is movable relative to a magnetic source, or the magnetic source is movable relative to the sensor device. Background Technology

[0002] Magnetic sensors (e.g., current sensors, proximity sensors, position sensors, etc.) are known in the art. They are based on measuring the magnetic field characteristics at the location of one or more sensors. Depending on the application, the measured magnetic field characteristics (one or more) can be used to infer another quantity (such as, for example, current intensity, so-called proximity to a target, the relative position of the sensor device to a magnet, etc.).

[0003] Many variations of magnetic sensor devices, systems, and methods exist to address one or more of the following requirements: using simple or inexpensive magnetic structures; using simple or inexpensive sensor devices; being able to measure over a relatively large range; being able to measure with high accuracy; requiring only simple arithmetic; being able to measure at high speed; being highly robust to positioning errors; being highly robust to external interference fields; providing redundancy; being able to detect errors; being able to detect and correct errors; and having a good signal-to-noise ratio (SNR), etc. Two or more of these requirements often conflict with each other, thus requiring trade-offs.

[0004] Many arrangements for determining position based on signals obtained from magnetic sensors, and the associated algorithms, are known in the art.

[0005] Artificial neural networks are known, and many types exist. They are typically used to solve complex problems for which there are no simple mathematical formulas, such as, for example, image recognition, face recognition, speech recognition, handwriting recognition, computer translation, etc.

[0006] There is always room for improvement or replacement. Summary of the Invention

[0007] The object of embodiments of the present invention is to provide a method for determining the position of a sensor device that is movable relative to a magnetic source (e.g., a permanent magnet), or a magnetic source (e.g., a permanent magnet) that is movable relative to the sensor device. The movement may have at most one, two, or three degrees of freedom. For example, the movement may be a pure translation (i.e., without rotation) along a straight path or along a predefined curved path (one degree of freedom), or a pure translation in a plane (two degrees of freedom), or a pure translation in three dimensions, or a 1D rotation about a stationary axis (typically performed by a handle or lever), or a 2D rotation about a stationary position (typically performed by a joystick).

[0008] Another object of embodiments of the present invention is to provide a magnetic positioning system comprising a magnetic source (e.g., a permanent magnet) and a sensor device movable relative to the magnetic source with 1, 2, or 3 degrees of freedom, or the magnetic source movable relative to the sensor device with 1, 2, or 3 degrees of freedom, wherein the system is configured to determine (or estimate) the position of the sensor device relative to the magnetic source.

[0009] Another object of the present invention is to provide a position sensor device for use in such a position sensor system, wherein the proposed method is performed within the position sensor device itself.

[0010] The object of embodiments of the present invention is to provide a system and method in which the magnetic source is a relatively small permanent magnet, such as a magnet having an external dimension (e.g., length or diameter) of up to 10 mm, or up to 8 mm, or up to 5 mm.

[0011] The object of embodiments of the present invention is to provide a system and method in which relative position can be determined with good accuracy in one, two, or three directions, for example, for a measurement range from -2.5 mm to +2.5 mm, the mean square error (MSE) is less than ±100 micrometers, or less than ±50 micrometers, or less than ±20 micrometers; or for example, the absolute error or mean square error is less than 1% of the measurement range; or for example, the absolute error or mean square error is less than 1% of the maximum external dimension of the magnet (e.g., the maximum value among length, width, and height).

[0012] The purpose of embodiments of the present invention is to provide a relatively simple and lightweight system.

[0013] The object of embodiments of the present invention is to provide systems and methods that are less sensitive to external disturbance fields, and / or less sensitive to temperature changes, and / or less sensitive to demagnetization of magnets, and / or less sensitive to installation errors (e.g., lateral offset in the case of 1D movement and / or height offset, e.g., height offset in the case of 2D movement), and preferably, have two, three, or all of these characteristics.

[0014] The object of embodiments of the present invention is to provide a magnetic sensor system that uses only a single type of magnetic sensor (e.g., only vertical Hall elements or only horizontal Hall elements).

[0015] The object of a particular embodiment of the present invention is to provide a magnetic sensor system having only four or five to nine magnetic sensor elements, wherein the sensor device is movable with one degree of freedom relative to a magnetic source, or the magnetic source is movable with one degree of freedom relative to the sensor device.

[0016] The object of a particular embodiment of the present invention is to provide a magnetic sensor system having only four or five to nine magnetic sensor elements, wherein the sensor device is movable with two degrees of freedom relative to a magnetic source, or the magnetic source is movable with two degrees of freedom relative to the sensor device.

[0017] The object of a particular embodiment of the present invention is to provide a magnetic sensor system having only four or five to sixteen magnetic sensor elements, wherein the sensor device is movable with three degrees of freedom relative to a magnetic source, or the magnetic source is movable with three degrees of freedom relative to the sensor device.

[0018] The purpose of embodiments of the present invention is to provide a method and a system for precise location determination in anti-counterfeiting applications, automotive applications, industrial applications, and / or robotic applications.

[0019] These and other objectives are achieved through embodiments of the present invention.

[0020] According to a first aspect, the present invention provides a method for determining the position (e.g., x, or x, y, or x, y) of a sensor device. A method comprising: a) obtaining multiple sensor signals from the multiple magnetic sensors; b) determining (or estimating) the position of the sensor device relative to the magnetic source based on the multiple magnetic sensor signals and / or signals derived therefrom (e.g., pairwise difference signals, gradient signals, ratios of pairwise difference signals, etc.); wherein step b) includes: determining the position using (e.g., a single) artificial neural network; wherein the artificial neural network is a recurrent neural network (RNN) with a predefined number (N) of trainable parameters trained to determine the position; the number of trainable parameters per degree of freedom is at most 300.

[0021] Artificial neural networks typically consist of an input layer, one or more hidden layers, and an output layer, and are trained to minimize a “cost function,” such as the mean squared error (MSE) or absolute error of the difference between the actual (or ideal) location and the estimated (or predicted) location on the training dataset.

[0022] The main advantage of this invention is that it does not require the sensor elements to be arranged relative to the magnet in a manner that provides orthogonal signals.

[0023] The sensor device may be capable of moving with only one degree of freedom (e.g., pure translation along a straight line or along a curve without rotation), or it may be capable of moving with only two degrees of freedom (e.g., pure translation in a plane without rotation), or it may be capable of moving with three degrees of freedom (e.g., pure translation in three directions without rotation).

[0024] Surprisingly, even when the total number of parameters used is relatively low (e.g., less than 300 parameters per degree of freedom, or less than 250 trainable parameters per degree of freedom, or less than 200 trainable parameters per degree of freedom, or less than 150 trainable parameters per degree of freedom, or less than 100 trainable parameters per degree of freedom; or for a system with exactly 3 degrees of freedom, at most 900 or at most 800 or at most 700 or at most 600 or at most 500 or at most 400 or at most 300 or at most 250 trainable parameters; or for a system with exactly 2 degrees of freedom, at most 600 or at most 500 or at most 400 or at most 300 or at most 200 or at most...), the training parameters are still relatively low. With a very simple neural network architecture (e.g., with only 1, 2, 3, or 4 GRU units) and 150 trainable parameters; or for a system with exactly 1 degree of freedom, at most 300, 250, 200, 175, 150, 125, 100, or 75 trainable parameters), the positional accuracy achievable by this method is surprisingly high, even considering one or more of the following: low or reduced sensitivity to external disturbance fields (also known as “spurious fields”), low or reduced sensitivity to installation tolerances (e.g., air gaps, lateral offsets), and low or reduced sensitivity to temperature changes.

[0025] Even more surprising is the fact that the recurrent neural network (RNN) provides highly accurate results even when the sensor device follows an arbitrary path at an arbitrary speed that it was not explicitly trained on. This offers a significant advantage: the neural network does not need to be trained on various specific movement paths, trajectories, or contours at various specific speeds, but can achieve excellent results when trained on relatively simple movement trajectories (or paths or contours) (e.g., movement at a constant speed). In particular, it was found that even when the sensor device is actually moving (or is moving) at a speed lower or higher than the speed at which the network was trained, the position determination (or estimation) remains very good.

[0026] Preferably, the size of the semiconductor substrate is at most 3.0 mm × 3.0 mm, or at most 2.5 mm × 2.5 mm, or at most 2.0 mm × 2.0 mm, or at most 1.5 mm × 1.5 mm, or at most 1.0 mm × 1.0 mm.

[0027] Preferably, the area of ​​the semiconductor substrate is less than 9.0 mm². 2 or less than 7.0mm 2 or less than 4.0mm 2 or less than 3.0mm 2or less than 2.5mm 2 or less than 2.0mm 2 or less than 1.5mm 2 or less than 1.0 mm 2 The value of .

[0028] Preferably, the maximum distance between the two farthest sensor elements is a value in the range of 1.0 to 4.5 mm, or in the range of 1.5 to 3.0 mm, or in the range of 1.5 mm to 2.5 mm, or in the range of 1.0 mm to 2.0 mm.

[0029] In this embodiment, the sensor device is capable of moving relative to the magnetic source with only one degree of freedom, and the artificial neural network (ANN) is a "simple recurrent network" (SRN) or a "simple recurrent neural network" (SRNN) with up to 300, 250, 200, 150, 100, or 50 trainable parameters. Figure 29 As shown in the diagram.

[0030] In this embodiment, the sensor device is capable of moving relative to the magnetic source with only two degrees of freedom, and the artificial neural network (ANN) is a "simple recurrent network" (SRN) or a "simple recurrent neural network" (SRNN) with up to 600, 500, 400, 300, 250, 200, 150, 100, or 50 trainable parameters. Figure 31 As shown in the diagram.

[0031] In this embodiment, the sensor device is capable of moving relative to the magnetic source with only 3 degrees of freedom, and the artificial neural network (ANN) is a "simple recurrent network" (SRN) or a "simple recurrent neural network" (SRNN) with up to 900, 750, 600, 450, 300, 250, 200, 150, or 100 trainable parameters.

[0032] Before the magnetic sensor signal is input into the neural network, it can be normalized to a predefined range (e.g., from -1.0 to +1.0) by dividing the measured value by a predefined constant stored in the sensor device's non-volatile memory (e.g., flash memory). The predefined constant can be a single value applicable to all sensors, or it can be a specific value for each sensor location.

[0033] In an embodiment, the magnetic sensor signal is normalized by calculating the maximum amplitude of the magnetic sensor signal and by dividing each magnetic sensor signal in the magnetic sensor signal by the absolute value of that amplitude.

[0034] In an embodiment, the recurrent network includes at least one GRU unit, or at least one simple RNN unit, or at least one LSTM unit.

[0035] In an embodiment, the artificial neural network (ANN) includes or consists of up to 12 GRU units, for example, only 1 GRU unit, or up to 2 GRU units, or up to 3 GRU units, or up to 4 GRU units, or up to 5 GRU units, or up to 6 GRU units, preferably organized in up to three, up to two, or up to one hidden layer.

[0036] In an embodiment, the artificial neural network (ANN) includes or is composed of up to 12 simple RNN units, for example, only 1 simple RNN unit, or up to 2 simple RNN units, or up to 3 simple RNN units, or up to 4 simple RNN units, or up to 5 simple RNN units, or up to 6 simple RNN units, preferably organized in up to three, up to two, or up to one hidden layer.

[0037] In an embodiment, the artificial neural network (ANN) includes or consists of up to 12 LSTM units, for example, only 1 LSTM unit, or up to 2 LSTM units, or up to 3 LSTM units, or up to 4 LSTM units, or up to 5 LSTM units, or up to 6 LSTM units, preferably organized in up to three, up to two, or up to one hidden layer.

[0038] In some embodiments of the invention, the sensor device may move relative to the magnetic source with only one or only two degrees of freedom, or the magnetic source may move relative to the sensor device with only one or only two degrees of freedom.

[0039] In some embodiments of the invention, the sensor device may move relative to the magnetic source with more than two degrees of freedom (e.g., three degrees of freedom), or the magnetic source may move relative to the sensor device with more than two degrees of freedom (e.g., three degrees of freedom).

[0040] In this embodiment, the mean square error (MSE) of the position determined by the artificial neural network is less than 2% of the predefined measurement range, or less than 1.5% of the predefined measurement range, or less than 1% of the predefined measurement range.

[0041] In this embodiment, the recurrent neural network has only one hidden layer.

[0042] In an embodiment, the recurrent neural network has only one hidden layer with up to 4 GRU units, or only one hidden layer with up to 4 SRNN units, or only one hidden layer with up to LSTM units.

[0043] In an embodiment, the sensor device may move linearly relative to the magnetic source, or the magnetic source may move linearly relative to the sensor device, wherein the movement is a pure translation (1 degree of freedom). The position to be determined can be specified by a single coordinate (e.g., x). The measurement range may, for example, span a distance of at least ±2.5 mm, or at least ±5.0 mm, or at least ±7.5 mm, or at least ±10 mm, or at least ±15 mm, or at least ±20 mm, or at least ±25 mm.

[0044] In one embodiment, the sensor device may move along a curve relative to the magnetic source, or the magnetic source may move along a curve relative to the sensor device, wherein the movement is a pure translation (1 degree of freedom).

[0045] In an embodiment, the sensor device may move along a curve relative to the magnetic source, or the magnetic source may move along a curve relative to the sensor device, wherein the movement is a combination of translation and rotation, but the rotation is linked to the translation (1 degree of freedom).

[0046] In this embodiment, the sensor device can move in a plane relative to the magnetic source, or the magnetic source can move in a plane relative to the sensor device without rotation (2 degrees of freedom). The position to be determined can be specified by two orthogonal coordinates (e.g., x and y). The measurement range can span, for example, a distance of at least ±2.5 mm, or at least ±5.0 mm, or at least ±7.5 mm, or at least ±10 mm, or at least ±15 mm, or at least ±20 mm, or at least ±25 mm in two directions (e.g., X and Y).

[0047] In one embodiment, the sensor device may be movable on the surface relative to the magnetic source, or the magnetic source may be movable on the surface relative to the sensor device, having rotation, but the rotation depends on the position on the surface (2 degrees of freedom).

[0048] In this embodiment, the magnetic source can be moved relative to the sensor device to rotate about a predefined axis, or the sensor device can be moved relative to the magnetic source to rotate about a predefined axis, without translation (e.g., a magnet mounted on the axis of a rotary button), 1 degree of freedom. The position to be determined can be specified by a single angle.

[0049] In one embodiment, the magnetic source can be moved relative to the sensor device to rotate about a predefined axis, or the sensor device can be moved relative to the magnetic source to rotate about a predefined axis, with translation, but the translation depends on the angular position (e.g., a magnet mounted at a non-zero offset from the axis of the rotary button), 1 degree of freedom.

[0050] In this embodiment, a magnetic source is mounted to a joystick handle that can be independently rotated by two angles (e.g., backward / forward; and left / right). The magnet can perform translation, but this translation depends on the two angle values ​​(two degrees of freedom). The position to be determined can be specified using these two angles. Figure 25 and Figure 26 An example is shown in the image.

[0051] In the embodiments, the number of degrees of freedom is at most 3, and the total number of trainable parameters of the artificial neural network is at most 900, or at most 800, or at most 700, or at most 600, or at most 500, or at most 400, or at most 300, or at most 250, or at most 200, or at most 150, or at most 100.

[0052] In the embodiments, the number of degrees of freedom is at most 2, and the total number of trainable parameters of the artificial neural network is at most 600, or at most 500, or at most 400, or at most 300, or at most 250, or at most 200, or at most 150, or at most 100.

[0053] In the embodiments, the number of degrees of freedom is at most 1, and the total number of trainable parameters of the artificial neural network is at most 300, or at most 250, or at most 200, or at most 150, or at most 100.

[0054] In this embodiment, the magnetic source is a permanent magnet.

[0055] In one embodiment, the sensor device is configured to perform translation-only relative to the magnetic source.

[0056] In one embodiment, the sensor device is configured to perform a combination of translation and rotation relative to a magnetic source, but the rotation depends on the translation.

[0057] In one embodiment, the magnetic source is configured to perform translation-only relative to the sensor device.

[0058] In one embodiment, the magnetic source is configured to perform a combination of translation and rotation relative to the sensor device, but the rotation depends on the translation.

[0059] In this embodiment, the magnetic sensor is a Hall sensor, such as a horizontal Hall sensor and / or a vertical Hall sensor.

[0060] In this embodiment, the recurrent neural network is a stateful recurrent network.

[0061] In one embodiment, the semiconductor substrate includes at least three or only three magnetic sensors located at at least three different locations.

[0062] In one embodiment, the semiconductor substrate includes at least four or only four magnetic sensors (e.g., H1, H2, H3, H4) located at at least four different locations.

[0063] In an embodiment, the semiconductor substrate includes a two-dimensional array or two-dimensional arrangement of magnetic sensors (e.g., a 3×3 array, thus comprising 9 sensor elements).

[0064] At least three magnetic sensors can be collinear, or they can be non-collinear.

[0065] At least four magnetic sensors can be collinear, or they can be non-collinear.

[0066] Simulations have demonstrated the accuracy of a system with a bar magnet (approximately 5 mm in length), where the sensor device can move a distance of approximately 5.0 mm (e.g., from -2.500 mm to +2.500 mm), and where the sensor device has a 1 mm... 2 Up to 4mm 2 The semiconductor substrate includes:

[0067] - Only one horizontal Hall sensor produces an MSE (“mean square error”) of less than 0.005 mm, and a GRU1 (“gated loop unit”) with only about 10 to 20 parameters (e.g., about 13 parameters);

[0068] - Only two horizontal Hall sensors produce an MSE of less than 0.005 mm (e.g., equal to about 0.002 mm) and require a GRU1 with only about 20 to 25 parameters;

[0069] - Only 3 horizontal Hall sensors produce an MSE of less than 0.005 mm (e.g., equal to about 0.0016 mm) and require a GRU1 with only about 20 to 25 parameters;

[0070] - Only 4 horizontal Hall sensors produce an MSE of less than 0.005 mm (e.g., equal to about 0.0011 mm) and require a GRU1 with only about 20 to 25 parameters;

[0071] When considering only the basic function of "determining location", it can be concluded that these examples produce similar results, but their effects may differ in non-ideal situations, such as, for example, in the presence of external disturbance fields.

[0072] Using only horizontal Hall elements without using an IMC (“Integrated Flux Concentrator”) is advantageous, especially since it is cheaper to manufacture (no step is required to provide an IMC).

[0073] In one embodiment, the semiconductor substrate includes at least two 2D magnetic pixels, each capable of measuring a first magnetic field component Bx oriented in the X direction parallel to the semiconductor substrate and a second magnetic field component Bz oriented in the Z direction perpendicular to the semiconductor substrate. The at least two 2D magnetic pixels are located at two distinct positions, for example, spaced apart in the X direction (i.e., the direction of relative movement), or spaced apart in the Y direction (i.e., laterally to the direction of movement), or spaced apart in both the X and Y directions.

[0074] In embodiments, the semiconductor substrate includes, or only includes, horizontal Hall elements configured to measure the magnetic field component perpendicular to the substrate (i.e., horizontal Hall elements without an IMC). Signals obtained from these horizontal elements can be directly input into a neural network. Preferably, the sensitivities of the horizontal elements are matched to each other in a known manner, for example, as described in US2019079142 (A1) or EP3885779 (A1), both of which are incorporated herein by reference or in any other suitable manner. Alternatively or additionally, if the sensor device has at least three horizontal Hall elements, the pairwise difference ΔBz can be input into the neural network. Alternatively or additionally, if the sensor device has three horizontal Hall elements H1, H2, H3 that respectively provide signals Bz1, Bz2, and Bz3, the average value Bz_avg (Bz_average) of these signals can be determined, and the three pairwise differences (Bz1-Bz_avg), (Bz2-Bz_avg), and (Bz3-Bz_avg) can be input into the neural network.

[0075] In an embodiment, the semiconductor substrate includes at least one 2D magnetic pixel, each 2D magnetic pixel including an integrated magnetic concentrator (IMC) and two horizontal Hall elements arranged near the periphery of the IMC and spaced 180° apart from each other. Such a sensor device with one IMC is capable of measuring Bx1 and Bz1 at a first sensor location. If the device also has a second 2D magnetic pixel spaced apart from the first magnetic pixel, it is also capable of measuring Bx2 and Bz2 at a second sensor location. In an embodiment, signals obtained from these horizontal elements (e.g., h1 to h4) are input into a neural network. Alternatively or additionally, the sum and / or difference of the signals obtained from the horizontal Hall elements located on opposite sides of the IMC are input into the neural network. Alternatively or additionally, if the sensor device has at least two IMCs, pairwise differences ΔBx = (Bx1 - Bx2) and / or pairwise differences ΔBz = (Bz1 - Bz2) can be input into the neural network. Optionally, ΔBx / ΔBz or ΔBz / ΔBx can also be input into the neural network. Optionally, the sum of squares (ΔBx) 2 +(ΔBz) 2 It can also be input into a neural network.

[0076] In an embodiment, the semiconductor substrate includes at least one 3D magnetic pixel, each 3D magnetic pixel including an integrated magnetic concentrator (IMC) and four horizontal Hall elements arranged near the periphery of the IMC and spaced 90° apart from each other. Such a sensor device with one IMC is capable of measuring Bx1, By1, and Bz1 at a first sensor location. If the device also has a second 3D magnetic pixel spaced apart from the first 3D pixel, it is also capable of measuring Bx2, By2, and Bz2 at a second sensor location. In an embodiment, the signals obtained from the Hall elements are input into a neural network. Alternatively or additionally, the sum and / or difference of the signals obtained from the horizontal Hall elements located on opposite sides of the IMC are input into the neural network. Alternatively or additionally, if the sensor device has at least two IMCs, the paired differences ΔBx = (Bx1 - Bx2) and / or paired differences ΔBy = (By1 - By2) and / or paired differences ΔBz = (Bz1 - Bz2) can be input into the neural network. Optionally, one or more ratios of these paired differences (e.g., ΔBx / ΔBz, ΔBy / ΔBz, ΔBx / ΔBy) can also be input into the neural network. Optionally, the sum of squares (ΔBx) 2 +(ΔBy) 2 +(ΔBz) 2 It can also be input into a neural network.

[0077] In an embodiment, the semiconductor substrate includes, or includes only, vertical Hall elements configured to measure magnetic field components parallel to the substrate. The vertical Hall elements may all be oriented in a single direction, but this is not strictly necessary, and for example, some may be oriented in the X direction while others may be oriented in the Y direction.

[0078] In the embodiments, the semiconductor substrate includes or only includes MR elements (magnetoresistive elements), such as GMR elements, AMR elements, and XMR elements.

[0079] In an embodiment, the magnetic source is a bipolar magnet (e.g., a bipolar ring or disk magnet magnetized axially or radially, or a bipolar bar magnet).

[0080] In this embodiment, the magnetic source is a quadrupole magnet (e.g., an axially magnetized quadrupole ring or disk magnet).

[0081] In an embodiment, the sensor device further includes a temperature sensor, and step a) further includes: measuring the temperature (e.g., Temp) of the semiconductor substrate using the temperature sensor, and providing the measured temperature as input to a neural network; and step b) includes: determining the position (e.g., x; x, y) of the sensor device relative to a magnetic source based on the plurality of magnetic sensor signals and based on the measured temperature signal. ψ).

[0082] In embodiments where temperature is added as input to the neural network, the training data preferably includes data for at least two, three, four, five, or six different temperatures.

[0083] In an embodiment, the training data includes at least one trajectory at a first temperature less than 0°C, at least one trajectory at a second temperature of at least 80°C, and at least a third trajectory at a third temperature between 0°C and 80°C.

[0084] In an embodiment, the sensor device further includes a temperature sensor, and the method further includes the steps of: measuring the temperature of a semiconductor substrate using the temperature sensor, and using the measured temperature as input to a neural network; and wherein step b) includes: determining the position of the sensor device relative to a magnetic source based on the plurality of magnetic sensor signals and based on the measured temperature; and wherein the network is trained to estimate the position using training data for different temperatures, derived from computer simulations, and / or obtained from or derived from actual measurements.

[0085] In this embodiment, a single recurrent neural network is used for: (1) temperature correction of the magnetic sensor signal, and also for (2) determining the position of the sensor device relative to the magnetic source.

[0086] In an embodiment, the network is trained using training data obtained or derived from simulation data provided by computer simulation and / or measurement data provided by actual measurement to estimate location (e.g., 1D location, 2D location, or 3D location).

[0087] 1D neural networks can be trained in a stateless mode and inference can be performed in a stateful mode. This allows for reduced onboard memory requirements and allows for limiting computational complexity. Using this technique, new predictions can be made for each new input sample.

[0088] 2D neural networks can be trained and inferred in a stateful manner.

[0089] In 2D neural network embodiments, the measurement range is sampled using cyclic Bézier curves (e.g., at least 128, or at least 256, or at least 512 Bézier curves).

[0090] In this embodiment, the start and end points of at least some of these Bézier curves are intentionally chosen to be outside the actual measurement range. For example, if the X and Y ranges extend from -2.5 mm to +2.5 mm, the neural network can be specifically trained for locations where X and Y vary from -3.0 mm to +3.0 mm. Generally, the start and end points of the trajectories can be selected at least 10% outside the actual measurement range. In this embodiment, the simulated data and / or measured data are interpolated to increase the spatial resolution by at least two times.

[0091] In embodiments where the simulated data includes temperature, the measured data is interpolated to increase the temperature resolution by at least 2 times.

[0092] In one embodiment, at least some or all of the actual measurements are performed by physically moving the sensor device relative to the magnetic source or by physically moving the magnetic source relative to the sensor device.

[0093] In the embodiments, at least some or all of the actual measurements are performed by generating a magnetic field using a test device comprising at least one coil (e.g., at least two coils, e.g., at least three coils) and by causing at least one current to flow through said at least one coil.

[0094] In this embodiment, artificial noise is added to the training data.

[0095] In an embodiment, the network is trained using training data derived from computer simulations with added artificial noise, and / or obtained from or derived from actual measurements, or a combination of both, to estimate location (e.g., 1D location, 2D location, or 3D location).

[0096] The applicant argues that while the addition of artificial noise may be known in fields such as speech recognition or facial recognition, it is counterintuitive in the field of magnetic position sensors, where location needs to be accurately determined. In each case, unpredictably, adding artificial noise to a neural network with a relatively simple architecture and / or using a relatively small number of trainable parameters will improve the accuracy of the position sensor system.

[0097] It should be noted that "data obtained from actual measurements" includes "actual noise", so there is no need to add artificial noise, although artificial noise may be added.

[0098] In this embodiment, a magnetic interference field is added to the training data.

[0099] In this embodiment, the network is trained using training data derived from computer simulations and / or obtained or derived from actual measurements, with the magnetic interference field (Bext(Bexternal)) added, to estimate the location.

[0100] However, preferably, for the magnetic interference field of all sensors, the constant value added to all sensors is a uniform but time-varying interference field, meaning that the interference vector or interference value (assuming all sensors are oriented in the same direction) is the same for all sensor locations. The interference field can be added to the simulation results, or it can be added to the actual measurement results, or the actual measurement can include elements that can be performed in an environment with the interference field.

[0101] In other words, in this embodiment, the training data includes simulated data for the superposition of a magnetic field generated by a magnetic source and a uniform external disturbance field. For example, if all sensor elements measure the Bz value, a given value Bz_ext can be added to the sensor signals of all sensors that are measured substantially simultaneously. The value of Bz_ext can vary over time, for example, it can vary relatively slowly over time, for example, as a modulated signal (e.g., an amplitude-modulated or frequency-modulated signal).

[0102] In a particular embodiment, the training data uses at least 10 different values, at least 20 different values, or at least 32 different values ​​of the external field.

[0103] In this embodiment, an installation offset (e.g., Yoffset (Y offset)) is added to the training data.

[0104] In an embodiment, taking into account installation offsets (e.g., offsets in height position (air gap) and / or lateral offsets in the case of a 1D sensor system), the network is trained using training data derived from computer simulations and / or obtained or derived from actual measurements to estimate position.

[0105] In the case of 1D movement along a straight line, the mounting offset may include, for example, one or both of lateral offset (Yoffset) and height offset (Zoffset).

[0106] In the case of 2D movement in a plane, the mounting offset can include a height offset (Zoffset(Z offset)).

[0107] In an embodiment, the training data includes measurement data provided by actual measurements performed on at least three different sensor devices (e.g., three to 50, or three to 25 different sensor devices).

[0108] Preferably, each of the at least three different sensor devices includes a semiconductor substrate obtained from at least three different semiconductor wafers (e.g., from three “corner wafers” (i.e., wafers produced at process corners) – such as from at least three different corner wafers referred to as TT (typical-typical), SS (slow-slow), and FF (fast-fast)).

[0109] In one embodiment, the training data includes multiple trajectories used to approach a location within a hypothetical measurement range from multiple different directions.

[0110] In one embodiment, the sensor device may move relative to the magnetic source with only one degree of freedom, or the magnetic source may move relative to the sensor device with only one degree of freedom, and wherein the training data includes at least two trajectories (e.g., a trajectory for increasing X value and a trajectory for decreasing X value) for approaching various measurement positions of the measurement range in two different directions.

[0111] In one embodiment, the sensor device may move relative to the magnetic source with only two degrees of freedom, or the magnetic source may move relative to the sensor device with only two degrees of freedom, and wherein the training data includes at least four trajectories (e.g., a first trajectory with increasing X and increasing Y values, a second trajectory with increasing X and decreasing Y values, a third trajectory with decreasing X and increasing Y values, and a fourth trajectory with decreasing X and decreasing Y values) for approaching various measurement locations of the measurement range in at least four different directions.

[0112] In one embodiment, the sensor device may move relative to the magnetic source with only 3 degrees of freedom, or the magnetic source may move relative to the sensor device with only 3 degrees of freedom, and wherein the training data includes at least eight trajectories for approaching various measurement locations of the measurement range in at least eight different directions (e.g., a first trajectory with increasing X and Y and Z values, a second trajectory with increasing X and Y but decreasing Z value, a third trajectory with increasing X and Z values ​​but decreasing Y value, a fourth trajectory with increasing X value but decreasing Y and Z value, a fifth trajectory with decreasing X value but increasing Y and Z value, a sixth trajectory with decreasing X and Y values ​​but increasing Z value, a seventh trajectory with decreasing X and Z values ​​but increasing Y value, and an eighth trajectory with decreasing X, Y, and Z values).

[0113] In the embodiments, some or all of the trajectory is defined by Bézier curves.

[0114] In an embodiment, some or all of the trajectory is defined by a Bézier curve that extends at least 10% or at least 20% beyond the conceived measurable range.

[0115] In this embodiment, the sensor device may move relative to the magnetic source along a straight line or a curve. In this case, the method is a "method for determining 1D position".

[0116] In this embodiment, the neural network has only one output node (for providing estimated location values), and the hidden layer comprises only a single GRU unit. In this case, only about 20 to 25 parameters (e.g., about 23 parameters) need to be trained.

[0117] In one embodiment, the sensor device can move relative to a magnetic source in a two-dimensional plane. In this embodiment, step b) may include: determining a first coordinate (x) along a first axis (X) and a second coordinate (y) along a second axis (Y), the second axis (Y) preferably being perpendicular to the X-axis. In this case, the method is a "method for determining 2D position". The neural network may have only two output nodes, and the hidden layer may include only two or only four GRU units.

[0118] In this embodiment, the sensor device can move relative to the magnetic source in three directions. In this embodiment, step b) may include: determining a first coordinate (x) along a first axis (X), a second coordinate (y) along a second axis (Y), and a third coordinate (z) along a third axis (Z), the second axis (Y) preferably being perpendicular to the X-axis, and the third axis (Z) preferably being perpendicular to both the X-axis and the Y-axis. In this case, the method is a "method for determining 3D position". The neural network may have only three output nodes, and the hidden layer may include only three or only six GRU units.

[0119] In an embodiment, step b) further includes: determining one or more additional signals in one or more of the following ways: by determining one or more pairwise differences, by determining one or more magnetic field gradients, by determining at least one average signal and by subtracting the average signal from at least two measured signals, by normalizing the signal (e.g., by scaling all signals), by calculating the ratio of two measured signals, by calculating the ratio of two pairwise differences, by calculating the ratio of two gradients; and feeding at least one of these additional signals into a neural network; and wherein the neural network is trained using training data derived from computer simulations and / or actual measurements to estimate the position, and is trained using one or more of these additional signals.

[0120] In an embodiment, the sensor device includes at least one set of sensors configured to measure parallel magnetic field components (e.g., Bz1 and Bz2), and the sensor device is configured to determine one or more pairwise differences for the one or more sets, and the pairwise differences are input into a neural network, and the neural network is trained to estimate position based on training data including the one or more pairwise differences.

[0121] The advantage of this embodiment is that if paired difference, gradient, or average compensation data is input into the neural network, the neural network does not need to be trained to reduce or eliminate magnetic interference fields.

[0122] Similarly, if the ratio of pairwise differences, the ratio of gradients, or the ratio of average compensated data are fed into the neural network, the neural network does not need to be trained for temperature changes.

[0123] In an embodiment, the sensor device is configured to measure at least two magnetic field components (e.g., Bx1 and Bx2) parallel to the semiconductor substrate and to measure at least two magnetic field components (e.g., Bz3 and Bz4 at the same location or at different locations) perpendicular to the semiconductor substrate, and the sensor device is provided to determine two paired differences ΔBx = (Bx2 - Bx1) and ΔBz = (Bz2 - Bz1), and / or the ratio of these paired differences. The rate, for example, R1 = (ΔBx / ΔBz) or R2 = (ΔBz / ΔBx), and the neural network is configured to receive 6 input signals, namely Bx1, Bx2, Bz1, Bx2, ΔBx and ΔBz, or to receive 7 input signals, namely Bx1, Bx2, Bz1, Bx2, ΔBx, ΔBz and R1, or to receive 7 input signals, namely Bx1, Bx2, Bz1, Bx2, ΔBx, ΔBz and R2.

[0124] In an embodiment, the recurrent neural network includes up to twelve, six, or four gated recurrent units (GRUs).

[0125] In this embodiment, the recurrent neural network includes one to four gated recurrent units (GRUs). The GRUs may use the tanh function and / or the sigmoid function.

[0126] “GRU node” is known in the art and stands for “gated cyclic unit”, which is typically used in linguistic applications such as velocity recognition, text classification, textual analysis, etc., and especially for this reason, but it is not a trivial choice for use in position sensor systems.

[0127] Surprisingly, using four Hall sensor signals as input and a GRU network, only 23 parameters need to be trained, yet its accuracy is very similar to that of the "Kalman filter" (often considered "state-of-the-art"), but its computation speed is about 5 times faster than the "Kalman filter," mainly due to the low number of trainable parameters.

[0128] One or more GRUs may be implemented in hardware, for example as described in US20180046901(A1), the entire contents of which are incorporated herein by reference.

[0129] Preferably, the GRU uses a time series of at least 3 frames, at least 5 frames, at least 10 frames, or at least 20 frames. For example... Figure 10A As can be seen, selecting a larger time series can improve the accuracy of location estimation.

[0130] In the embodiments, the neural network includes up to twelve, up to six, or up to four simple RNN units (SRNN).

[0131] In an embodiment, the neural network includes up to twelve, up to six, or up to four LSTM units.

[0132] According to a second aspect, the present invention also provides a position sensor system comprising: a magnetic source (e.g., a permanent magnet); a sensor device including a semiconductor substrate including a plurality of at least two magnetic sensors located at at least two different locations, or at least four magnetic sensors located at at least two different locations (e.g., each measuring Bx and Bz); and processing circuitry configured to perform the method according to the first aspect.

[0133] The processing circuitry can be implemented on the same substrate as the substrate including the sensor elements, but the invention is not limited thereto. In embodiments, the sensor device may include a sensor chip comprising a semiconductor substrate including a magnetic sensor and, optionally, a temperature sensor, and the processing circuitry is implemented within the processing chip. The sensor chip and the processing chip are communicatively connected to each other. They can be implemented on a single printed circuit board (PCB), but this is not absolutely necessary.

[0134] In an embodiment, the sensor device may move relative to the magnetic source with only one degree of freedom, and the sensor device includes 4 to 25, 4 to 16, or 4 to 9 magnetic sensors, and the sensor device or magnetic source may move along a straight line or a curve, and the number of trainable parameters is at most 150, 100, or 50.

[0135] In an embodiment, the sensor device can move relative to the magnetic source with only 2 degrees of freedom, and the sensor device includes 4 to 25, 4 to 16, or 4 to 9 magnetic sensors, and the sensor device or magnetic source can move in two directions in a virtual plane (e.g., XY) or on a virtual surface, and the number of trainable parameters is up to 300, 250, 200, 150, or 100.

[0136] In this embodiment, the movement of the sensor device relative to the magnetic source is a pure translation without rotation.

[0137] In this embodiment, the movement of the sensor device relative to the magnetic source is purely rotational without translation.

[0138] In this embodiment, the movement of the sensor device relative to the magnetic source is a combination of translation and rotation, but the rotation depends on the translation.

[0139] In this embodiment, the mean square error (MSE) of the position determined by the artificial neural network is less than 2% of the predefined measurement range, or less than 1.5% of the predefined measurement range, or less than 1% of the predefined measurement range.

[0140] In one embodiment, the semiconductor substrate including multiple magnetic sensors has a size of up to 3.0 mm × 3.0 mm.

[0141] In one embodiment, the processing circuitry includes a programmable processor with a 32-bit CPU core and a floating point unit (FPU), and includes up to 2MB or 1MB of flash memory and up to 512KB or 256KB of RAM. The programmable processor is configured to operate at an internal clock frequency of up to 400MHz, 200MHz, or 100MHz. An artificial neural network is implemented in software configured to be executed by the programmable processor.

[0142] The processor can have an FPU. 32 bits CPU core.

[0143] In an embodiment, the semiconductor substrate contains 4 to 25 horizontal Hall elements, or 4 to 16 horizontal Hall elements, or 4 to 9 horizontal Hall elements, preferably without an IMC, and all magnetic sensor elements are horizontal Hall elements, thus there are no vertical Hall elements or magnetoresistive elements.

[0144] In one embodiment, the position sensor system further includes an AI accelerator for performing artificial neural networks.

[0145] AI accelerators can be implemented in either the analog or digital domain.

[0146] According to a third aspect, the present invention also provides a position sensor device, comprising: a semiconductor substrate including at least two magnetic sensors spaced apart from each other and configured to provide at least two magnetic sensor signals; and a processing circuit configured to perform the method according to the first aspect.

[0147] In one embodiment, a semiconductor substrate is implemented in a first chip, and a processing circuit is implemented in a second chip, and the first and second chips are mounted on a printed circuit board (PCB).

[0148] In this embodiment, the processing circuitry may be integrated within the position sensor device. The position sensor device may be in the form of a PCB or a module or component with multiple chips, or it may be in the form of a single package.

[0149] Specific and preferred aspects of the invention are set forth in the appended independent and dependent claims. Features from the dependent claims may be suitably combined with features of the independent claims and other dependent claims, and not merely as expressly set forth in the claims.

[0150] These and other aspects of the invention will be apparent from the embodiments(s) described thereafter, and are illustrated with reference to these embodiments. Attached Figure Description

[0151] Figure 1 It is a perspective view of a position sensor arrangement including a magnet and a sensor device, wherein the magnet can move in a straight line relative to the sensor device.

[0152] Figure 2 It is possible Figure 1 A high-level block diagram of the position sensor device used in the position sensor system.

[0153] Figure 3A It was shown that it would be Figure 1 The amplitudes of the magnetic field components Bx, By, and Bz in a plane XY at a distance of 5.0 mm below the bipolar bar magnet, measured in arbitrary units. Figure 3A It's a grayscale image. Figure 3B This is a shaky image (provided for illustrative purposes only).

[0154] Figure 4A This is a high-level block diagram of a position sensor system proposed in this invention, which is configured to determine the position of a sensor device relative to a magnetic source or the position of a magnetic source relative to a sensor device using a trained artificial neural network (ANN).

[0155] Figure 4B It shows Figure 4A A special case where the ANN is implemented inside the sensor device.

[0156] Figures 5A to 5F ,as well as Figures 6A to 6C Schematic diagram generation can be used in embodiments of the present invention (e.g., for training). Figure 4A or Figure 4B Various examples of training data for artificial neural networks.

[0157] Figure 7 It shows Figure 4A A variant of the block diagram, in which additional signals are derived from the measured signals, and in which these additional signals are also fed into the ANN.

[0158] Figures 8A to 8F An example of a sensor arrangement that can be used in embodiments of the present invention is shown.

[0159] Figure 9A A graph showing several waveforms is presented, representing the change in signal amplitude as the sensor device's position changes. Figure 8E Sensor elements when in Figure 1 It is used in position sensor systems for measurement.

[0160] Figure 9B The diagram shows the addition of Gaussian noise. Figure 9A The signal.

[0161] Figure 10A A graph illustrating the effect of the length of the time series of a recurrent neural network in stateless mode on the mean absolute error for a linear position sensor is shown.

[0162] Figure 10B A graph illustrating the effect of the number of Hall elements on the mean absolute error is shown.

[0163] Figure 10C A graph illustrating the effect of die size on the mean absolute error is shown.

[0164] Figure 11A A block diagram of the neural network proposed in this invention is shown, which uses a hidden layer having a single GRU unit configured to determine a 1D location. The GRU unit receives at least four magnetic sensor signals as input and optionally also receives a temperature signal.

[0165] Figure 11B This illustrates a method for including a single GRU unit (e.g., as shown in the image). Figure 11A The table shows a typical number of trainable parameters for a 1D position sensor circuit (illustrated in the figure). The typical number of trainable parameters depends on the number of input signals.

[0166] Figure 12 (a) to Figure 12 (g) shows an example of a frame sequence that can be used to train a neural network for a 1D position sensor system.

[0167] Figure 13A A block diagram of another neural network trained to estimate 1D location is shown, which includes only two GRU units, as may be used in embodiments of the present invention. Figure 13B The typical number of trainable parameters for an example of this type of network is shown.

[0168] Figure 14A A block diagram of another neural network trained to estimate 1D location is shown, which includes only two GRU units, as may be used in embodiments of the present invention. Figure 14B The typical number of trainable parameters for an example of this type of network is shown.

[0169] Figure 15AA block diagram of another neural network trained to estimate 1D location is shown, which includes only four GRU units, as may be used in embodiments of the present invention. Figure 15B The typical number of trainable parameters for an example of this type of network is shown.

[0170] Figure 16 This is a perspective view of a position sensor system with two degrees of freedom. The system includes a magnet and a sensor device, the magnet being movable relative to the sensor device in the XY plane.

[0171] Figure 17 Multiple (512) Bézier curves are shown, which can be used to train neural networks to determine 2D positions.

[0172] Figure 18A This invention illustrates a method for estimating sensor arrangements (e.g., as shown in the present invention). Figure 16 The network is a 2D recurrent neural network (shown in the diagram). This network has only two GRU units.

[0173] Figure 18B The typical number of trainable parameters for an example of this type of network is shown.

[0174] Figure 19 It shows the use of Figure 17 The 512 trajectories shown are trained Figure 18A An example of the predictions obtained by the neural network shown.

[0175] Figure 20A This invention illustrates a method for estimating sensor arrangements (e.g., as shown in the present invention). Figure 16 A block diagram of another recurrent neural network at a 2D location (shown in the diagram). This network has two fully connected hidden layers, each containing two GRU units, resulting in a total of only four GRU units.

[0176] Figure 20B The typical number of trainable parameters for an example of this type of network is shown.

[0177] Figure 21 This is a table showing the number of trainable parameters for a sensor system having four magnetic sensors arranged in a straight line (e.g., such as...). Figure 8A (as illustrated in the figure), and each layer has one to four GRU units, with only one or only two layers, and an estimate of the resulting accuracy (with respect to MSE in mm).

[0178] Figure 22 This is a table showing the number of trainable parameters for a sensor system having four magnetic sensors arranged on a regular 2×2 grid (e.g., such as...). Figure 8B (as illustrated in the figure), and each layer has one to four GRU units, with only one or only two layers, and an estimate of the resulting accuracy (with respect to MSE in mm).

[0179] Figure 23 This shows what can be used for estimation (e.g., as in...) Figure 1 or Figure 16 The diagram shows a block diagram of another recurrent neural network for a 1D, 2D, or 3D sensor arrangement. The network has three hidden layers, each containing four GRU units, for a total of 12 GRU units.

[0180] Figure 24 A flowchart of a method for determining the position of a sensor device relative to a magnetic source or the position of a magnetic source relative to a sensor device, as proposed by the present invention, is shown, wherein the movement has only one, two, or three degrees of freedom, such as pure translation without rotation (e.g., as shown in the diagram). Figure 1 and Figure 16 (as illustrated in the diagram), or a pure rotation about a stationary axis (e.g., a magnet of a knob or button mounted on a shaft), or a movement with rotation and translation, but where the rotation depends on the translation and the translation depends on the rotation (e.g., as shown in the diagram). Figure 25 or Figure 26 (e.g., a joystick that can move forward / backward and left / right, or a magnet for a knob or button mounted off-axis, as shown in the diagram).

[0181] Figure 25 This is a perspective view of a position sensor system with two degrees of freedom, in which a magnet is mounted to a joystick that can move forward / backward and left / right relative to the sensor device around a reference point located on a semiconductor substrate.

[0182] Figure 26 This is a perspective view of a position sensor system with two degrees of freedom, in which a magnet is mounted to a joystick that can move forward / backward and left / right relative to the sensor device around a reference point located above a semiconductor substrate.

[0183] Figure 27 This is a graph showing the raw output signal (in arbitrary units) of a horizontal Hall element for various amplitudes of magnetic fields at temperatures of –40°C and +80°C.

[0184] Figure 28 The illustration is shown. Figure 11A The table shows the accuracy of the 1D positioning system (GRU1 architecture), which uses 4 input signals (4 magnetic signals) or 5 input signals (4 magnetic signals and temperature).

[0185] Figure 29A table showing the typical number of trainable parameters for various architectures of a 1D localization system utilizing a recurrent neural network with five input signals (four magnetic signals and temperature) is provided; and

[0186] Figure 30 The illustrative accuracy of these systems is shown.

[0187] Figure 31 A table showing the typical number of trainable parameters for various architectures of a 2D localization system utilizing a recurrent neural network with five input signals (four magnetic signals and temperature) is provided; and

[0188] Figure 32 The illustrative accuracy of these systems is shown.

[0189] Figure 33A and Figure 33B This is an illustrative example of a simple neural network.

[0190] These figures are illustrative only and are not restrictive. In the figures, some elements may be enlarged and not drawn to scale for illustrative purposes. No reference numerals in the claims should be construed as limiting the scope. In different figures, the same reference numerals refer to the same or similar elements. Detailed Implementation

[0191] The invention will be described with reference to specific embodiments and particular drawings, but the invention is not limited thereto but is defined only by the claims.

[0192] The terms "first," "second," etc., used in the specification and claims are used to distinguish between similar elements and are not necessarily used to describe a temporal, spatial, hierarchical, or any other order. It should be understood that the terms thus used are interchangeable where appropriate, and the embodiments of the invention described herein can operate in an order different from that described or illustrated herein.

[0193] The terms top, bottom, etc., used in the specification and claims are for descriptive purposes and are not necessarily used to describe relative positions. It should be understood that the terms used so are interchangeable where appropriate, and the embodiments of the invention described herein can operate in orientations different from those described or illustrated herein.

[0194] It should be noted that the term "comprising" as used in the claims should not be construed as limiting itself to the means listed thereafter; it does not exclude other elements or steps. Therefore, the term should be interpreted as specifying the presence of the features, integers, steps, or components stated as mentioned, but does not exclude the presence or addition of one or more other features, integers, steps, or components, or groups thereof. Thus, the scope of the statement "an apparatus comprising means A and B" should not be limited to an apparatus consisting solely of components A and B. It means that, for the purposes of this invention, the only relevant components of the apparatus are A and B.

[0195] Throughout this specification, the reference to "an embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with that embodiment is included in at least one embodiment of the invention. Therefore, the phrase "in an embodiment" or "in an embodiment" appearing in various places throughout this specification does not necessarily refer to the same embodiment, but may refer to different embodiments. Furthermore, in one or more embodiments, as will be apparent to those skilled in the art from this disclosure, particular features, structures, or characteristics may be combined in any suitable manner.

[0196] Similarly, it should be understood that in the description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, drawing, or description for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, this approach of the disclosure should not be construed as reflecting an intention to claim more features than are expressly recited in each claim. Rather, as reflected in the appended claims, the inventive aspect lies in fewer features than all the features of a single foregoing disclosed embodiment. Thus, the claims appended to the Specific Embodiments are thereby expressly incorporated into this Specific Embodiments, wherein each claim itself represents a separate embodiment of the invention.

[0197] Furthermore, while some embodiments described herein include features found in other embodiments but not in those other embodiments, combinations of features from different embodiments are intended to fall within the scope of the invention and form different embodiments as will be understood by those skilled in the art. For example, any embodiment of the claimed embodiments in the appended claims may be used in any combination.

[0198] Numerous specific details are set forth in the description provided herein. However, it should be understood that embodiments of the invention can be practiced without these specific details. In other instances, well-known methods, structures, and techniques have not been shown in detail so as not to obscure the understanding of this specification.

[0199] In this document, the abbreviation "DOF" stands for "Degrees of Freedom".

[0200] In this document, the abbreviation "ANN" refers to "Artificial Neural Network".

[0201] In this document, the abbreviation "RNN" refers to "Recurrent Neural Network".

[0202] In this document, the abbreviation "LSTM" refers to "Long Short-Term Memory Network".

[0203] In this document, the abbreviation "GRU" refers to "Gated Cyclic Unit".

[0204] In this document, unless otherwise mentioned, the abbreviation "MSE" refers to "mean square error" and is expressed in [mm].

[0205] In this document, unless otherwise expressly stated, the term "magnetic sensor device" or "sensor device" refers to a device comprising at least two magnetic sensor elements, preferably integrated in a semiconductor substrate. The sensor device may be included in a package (also referred to as a "chip"), but that is not strictly necessary.

[0206] In this document, the term “sensor element” or “magnetic sensor element” refers to a single vertical Hall element or a single horizontal Hall element or a single magnetoresistive (MR) element (e.g., a GMR element or an XMR element or an AMR element).

[0207] In this document, the term “magnetic sensor” or “magnetic sensor structure” may refer to a set of components or sub-circuits or structures capable of measuring magnetic quantities, such as, for example, a set of at least two magnetic sensor elements, or a Wheatstone bridge containing four MR elements.

[0208] In some embodiments of the present invention, the term "magnetic sensor" or "magnetic sensor structure" may refer to an arrangement including one or more integrated magnetic concentrators (IMCs) (also referred to as "integrated flux concentrators") and two, four, or eight horizontal Hall elements arranged near the periphery of the IMC.

[0209] In this document, the terms "in-plane component of the magnetic field vector" and "orthogonal projection of the magnetic field vector onto the sensor plane" have the same meaning. If the sensor device is or includes a semiconductor substrate, this also means "magnetic field component parallel to the semiconductor substrate." The in-plane component is typically referred to as Bx or By.

[0210] In this document, the terms "out-of-plane component of a vector," "Z-component of a vector," and "orthogonal projection of a vector onto an axis perpendicular to the sensor plane" have the same meaning. The out-of-plane component is typically referred to as Bz.

[0211] Embodiments of the present invention are typically described using an orthogonal coordinate system fixed to a sensor device and having three axes X, Y, and Z, wherein the X and Y axes are parallel to the substrate and the Z axis is perpendicular to the substrate.

[0212] In this document, the terms "spatial derivative," "derivative," "spatial gradient," or "gradient" are used as synonyms. In the context of this invention, the gradient is typically defined as the difference between two values ​​measured at two different locations spaced apart by a distance ranging from 1.0 mm to 3.0 mm. Theoretically, the gradient is calculated as the difference between the two values ​​divided by the distance "dx" between the sensor locations; however, in practice, this division by "dx" is often omitted because the measured signal needs to be scaled anyway.

[0213] For this reason, the terms "magnetic gradient" and "paired difference" can be used interchangeably.

[0214] In this document, horizontal Hall effect plates are typically referred to as H1, H2, etc., and signals from these horizontal Hall effect plates are typically referred to as h1, h2, etc.; vertical Hall effect plates are typically referred to as V1, V2, etc.; and signals from these vertical Hall effect plates are typically referred to as v1, v2, etc.

[0215] In this document, the phrase "a neural network is trained" means that the neural network is trained using "machine learning" (ML) or deep learning techniques. Software used for deep learning is known in the art and is commercially available, for example, from Google.

[0216] In this document, the term "stateful neural network" means that the prediction of one or more output signals is performed on a frame-by-frame basis.

[0217] In this invention, a network topology having a single hidden layer with “n1” components is labeled as “GRU n1”, for example, see Figure 11A Figure 14 Figure 18A .

[0218] In this invention, a network topology with two hidden layers—a first hidden layer with “n1” GRU components and a second hidden layer with “n2” GRU components—is labeled as “GRU n1, n2”, for example, see Figure 13A Figure 15 Figure 20A .

[0219] In this document, the terms “GRU unit” or “GRU component” have the same meaning unless the context clearly indicates otherwise.

[0220] In this invention, a network topology with three hidden layers—a first hidden layer with “n1” GRU components, a second hidden layer with “n2” GRU components, and a third hidden layer with “n3” GRU components—is labeled as “GRUn1, n2, n3”, see, for example. Figure 21 and Figure 22 .

[0221] Similarly, "RNN n1" refers to a network topology with a single hidden layer containing n1 RNN components; "RNN n1n2" refers to a network topology with two hidden layers, namely a first hidden layer with n1 RNN components and a second hidden layer with n2 RNN components; "RNN n1n2 n3" refers to a network topology with three hidden layers, namely a first hidden layer with n1 RNN components, a second hidden layer with n2 RNN components, and a third hidden layer with n3 RNN components.

[0222] Similarly, "LSTM n1" refers to a network topology with a single hidden layer containing n1 LSTM components; "LSTM n1n2" refers to a network topology with two hidden layers, namely a first hidden layer with n1 LSTM components and a second hidden layer with n2 LSTM components; "LSTM n1 n2 n3" refers to a network topology with three hidden layers, namely a first hidden layer with n1 LSTM components, a second hidden layer with n2 LSTM components, and a third hidden layer with n3 LSTM components.

[0223] This invention generally relates to the field of magnetic position sensor systems, devices, and methods. More specifically, the inventors' task is to find methods and systems for precise position determination of objects that can move with only one, two, or three degrees of freedom (DOF), for anti-counterfeiting applications, automotive applications, industrial applications, and / or robotic applications.

[0224] The inventors considered using artificial neural networks, but for commercial viability, the solution had to be "relatively lightweight," for example, in terms of the number of layers, nodes, and / or trainable parameters. Therefore, they had to solve the problem of discovering whether it was possible to build a neural network that was relatively lightweight while simultaneously providing high accuracy and being able to process data in near real-time (e.g., within 10ms). In other words, they had to find out if such a lightweight neural network existed, and / or how many trainable parameters would be needed to achieve sufficient accuracy for the envisioned application.

[0225] Artificial neural networks (ANNs) have existed for decades. According to several sources, at least six types of artificial neural networks are used in machine learning: (1) feedforward neural networks, (2) radial basis function neural networks, (3) Kohonen self-organizing neural networks, (4) recurrent neural networks (RNNs), (5) convolutional neural networks, and (6) modular neural networks.

[0226] Artificial neural networks (ANNs) are typically used to solve highly complex mathematical problems, such as facial recognition, speech recognition, and handwriting recognition. These networks typically require tens of thousands of nodes and need to be trained with thousands of training images or audio clips. The execution of such networks requires a considerable amount of time.

[0227] At least for the reasons mentioned above, the use of artificial neural networks is not an obvious choice for building position sensor systems with only 1, 2, or 3 degrees of freedom, not because such systems are thought to be ineffective, but because such networks are considered to be highly complex and / or require considerable processing power and / or memory resources and / or processing time. And for these and other reasons, they are not suitable for automotive, industrial, and / or robotic applications where near-real-time response (e.g., response within approximately 10 ms) is an absolute requirement.

[0228] Please refer to the attached diagram.

[0229] Figure 1 It is a perspective view of a position sensor arrangement 100 including a magnetic source 101 and a sensor device 102. Figure 1 The magnetic source is a bipolar magnet, but magnets with more than two poles, such as quadrupole magnets, can also be used. The magnet shown is a bar magnet, but this is not necessary for the invention to function, and other magnet shapes, such as toroidal or disc magnets, can also be used. The sensor device is preferably a packaged integrated chip. Figure 1 In one example, sensor device 102 has a fixed position, and magnet 101 is movable along a straight line X. In other embodiments, magnet 101 may have a fixed position, and sensor device may be movable relative to magnet 101. The invention is limited to position sensor systems that allow movement with only one degree of freedom (e.g., Figure 1 (as illustrated in the diagram), or a movement with only 2 degrees of freedom (e.g., Figure 16 , Figure 25 , Figure 26 (as illustrated in the diagram) (e.g., a pure translation along a straight line, or a pure translation along a curve, or a pure translation in a plane XY), or a movement with only 3 degrees of freedom (not shown) (e.g., a pure translation in three dimensions). In Figure 1 In a preferred embodiment of the sensor arrangement, the position (lateral offset) in the Y direction is preferably constant and equal to 0, and the position in the Z direction (height direction) is also preferably constant and typically has a value in the range of 0.1 mm to 10.0 mm, or in the range of 0.1 mm to 5.0 mm, but the actual values ​​of Y and Z may differ slightly due to installation tolerances.

[0230] Figure 2 It shows that it can be used Figure 1 A high-level block diagram of a classic position sensor device 102 used in a position sensor system to determine the position of magnet 101 relative to sensor device 102. The sensor device includes a first magnetic sensor providing a first signal s1 (e.g., a sinusoidal signal) and a second magnetic sensor providing a second signal s2 (e.g., a cosine-like signal). The first and second magnetic sensors can be two horizontal Hall elements spaced apart in the X direction, or two vertical Hall elements spaced apart in the X direction. Sensor device 102 may include a “front end” 103 configured to bias and read out the sensor elements and to digitize the measured signals s1, s2 using an analog-to-digital converter (ADC). In block 104, the digitized signals can be further processed using an arctangent function, and the results can be “linearity corrected” in a “post-processing” block 105, for example, using a lookup table (LUT) with optional interpolation, or using a piecewise linear approximation optionally with programmable data points. Such circuitry is known in the art and therefore does not need to be explained in more detail here. It should be noted that the division of various functions on blocks 103, 104 and 105 is somewhat arbitrary. For example, the functions of blocks 104 and 105 can be implemented in hardware or in software executed by a programmable processor, and the ADC can be regarded as a separate block located between front-end 103 and the programmable processor, etc. Figure 2 The main objective is to show that a classic solution for determining the position X of magnet 101 typically includes trigonometric functions and post-processing steps that are the opposite of the solution proposed in this invention, which will be described further.

[0231] Figure 3A and Figure 3B It shows the distance Figure 1 The amplitudes of the magnetic field components Bx, By, and Bz are measured at various positions (x, y) in a plane XY at a distance of approximately 5.0 mm from the two-pole bar magnet 101. The amplitudes are expressed in arbitrary units. Figure 3A It's a grayscale image. Figure 3BThese are jittery images provided for illustrative purposes. Such charts can be obtained through actual measurement or computer simulation. Figure 3A and Figure 3B In the example shown, the graph provides the amplitudes of Bx, By, and Bz for X and Y values ​​ranging from -4.0 mm to +4.0 mm, while for... Figure 1 The measurement range of the system shown is limited to -2.5 mm to +2.5 mm. It should be understood that this is merely an example, and embodiments of the invention may use other magnets and / or other measurement ranges.

[0232] Figure 4A This is a high-level block diagram of a position sensor system proposed in this invention, which is configured to determine sensor devices (e.g., for sensor arrangements having only one, two, or three degrees of freedom). Figure 1 The sensor device 102) is relative to the magnetic source (e.g., Figure 1 The position of the magnet 101, or the location of the magnetic source (e.g., Figure 1 The magnet 101) is relative to the sensor device (e.g., Figure 1 The location of the sensor device 102), the sensor arrangement such as, for example Figure 1 Arrangement 100 shown in the figure, or Figure 16 The system 1600 shown in the figure, or Figure 25 System 2500, or Figure 26 The system 2600 is an example, but the invention is not limited to these examples. The magnetic source is not in... Figure 4A As shown in the image.

[0233] The proposed system 400 includes at least two, at least three, or at least four magnetic sensors. The magnetic sensors may be Hall elements, such as horizontal Hall elements, vertical Hall elements, magnetoresistive (MR) elements, or combinations thereof. System 400 further includes a "bias and readout circuitry system" for obtaining signals from the magnetic sensors, such as including one or more of the following: a current source, a voltage source, a Wheatstone bridge, etc. The bias and readout circuitry may be part of a front-end block 403, which may be connected to... Figure 2 The front-end block 103 may be the same as or different from the front-end block 403. Block 403 may also include at least one amplifier (not shown) and / or means for sensitivity correction of various sensor elements. System 400 may also include at least one analog-to-digital converter (ADC), which may be part of the front-end block 403, but is not required to be. Magnetic sensors, as well as bias and readout circuitry, will typically be implemented in a sensor device (e.g., an integrated sensor chip). The sensor device may further include a temperature sensor, and block 403 may be further configured to perform temperature correction on the measured signal.

[0234] According to an important aspect of the invention, system 400 includes a trained artificial neural network (ANN) configured to process signals obtained from and / or derived from a magnetic sensor element (e.g., difference signals), and optionally also to process signals obtained from a temperature sensor 406. The ANN can be implemented partly in hardware and partly in software, or entirely in hardware or entirely in software. A portion of the ANN can even be implemented in the analog domain (e.g., using a so-called hardware accelerator).

[0235] In one embodiment, system 400 includes an analog hardware accelerator. In this case, front-end 403 may be configured to provide analog signals to the hardware accelerator, and to digitize at least one output of the hardware accelerator using at least one ADC, and to further process these digitized signals using digital circuitry and / or a programmable processor.

[0236] In one embodiment, system 400 includes a digital hardware accelerator. In this case, front-end 403 may include an ADC and is configured to provide digital signals to the digital hardware accelerator, and is configured to further process at least one digital output provided by the hardware accelerator using digital circuitry and / or a programmable processor.

[0237] In this embodiment, system 400 does not include a hardware accelerator. In this case, front-end 403 may include an ADC and be configured to provide digital signals to a programmable processor that executes the ANN algorithm entirely in software.

[0238] As can be seen from the above, the ANN box 410 can be implemented in various ways, for example:

[0239] i) Completely internal to the sensor device, for example, using a programmable processor or DSP 423, and using one or more analog hardware accelerators 421 and / or one or more digital coprocessors 422, for example, such as Figure 4B The diagram is shown in the figure. Of course, an analog accelerator is typically followed by at least one ADC, and a programmable processor or DSP is typically connected to volatile memory (e.g., RAM) and non-volatile memory (e.g., flash memory), but such details do not need to be shown.

[0240] ii) Completely in an external device, such as another processing device completely outside of a laptop, desktop computer, or sensor device, such as a powerful digital signal processor (DSP) or ECU, etc.

[0241] iii) Partly inside and partly outside the sensor device, for example, in a laptop, desktop computer, or another processing device outside the sensor device, such as a powerful digital signal processor (DSP) or ECU, etc.

[0242] Programmable processors can be integrated into the same semiconductor substrate as the sensor element, or they can be separate chips mounted on the same printed circuit board (PCB) as the sensor device and communicating with it.

[0243] In some embodiments, the sensor device includes a temperature sensor, but temperature correction is not performed by the front end, but by an ANN. In this embodiment, a single neural network is thus used to: perform (1) temperature correction of the magnetic sensor signal, and also to (2) determine the position of the sensor device relative to the magnetic source (or the position of the magnetic source relative to the sensor device).

[0244] In all embodiments of the invention, system 400 uses an artificial neural network (ANN) 410, which is trained to determine 1D or 2D or 3D position based on signals obtained from and / or derived from magnetic sensors, and optionally also based on temperature signals.

[0245] Although Figure 4A While not explicitly shown, when ANN 410 is executed by an external device, the sensor device and the external device must, of course, communicate via, for example, a wired or wireless interface. Any suitable interface can be used to establish such communication. Such interfaces are well known in the art and are not the primary focus of this invention, and therefore are not described in detail.

[0246] Figures 5A to 5F The schematic diagram is generated based on computer simulation and can be used for training. Figure 4A Various examples of "training data" for artificial neural networks.

[0247] The given example assumes the sensor device has four horizontal Hall plates providing signals Bz1, Bz2, Bz3, and Bz4. However, as mentioned above, the invention is not limited to this and may have fewer or more than four sensor elements, and / or may use other magnetic sensor elements, or mixtures of magnetic sensor elements. The number, type, and location of the sensor elements in the simulation must correspond to the actual number, type, and location of the sensor elements in the sensor device. Figures 8A to 8F Several examples are shown in the figure.

[0248] This invention proposes the use of a recurrent neural network (RNN). An RNN is trained using a relatively large set of "training data." The "training data" can be viewed as a list (or file, or sequence) of groups or sets of corresponding values ​​(also called "frames"). A frame for a 1D position sensor system (where the sensor device includes four horizontal Hall elements) can consist of five values: (X, Bz1, Bz2, Bz3, Bz4), where X is the position of the sensor device, and Bz1-Bz4 are values ​​(or signals) obtained from the four magnetic sensor elements for said position.

[0249] The value for position X is not chosen randomly, but rather is chosen based on the assumption that the sensor device follows a specific "trajectory". Figure 12 (a) to Figure 12 (g) illustrates several examples of 1D trajectories, referred to herein as: “constant velocity,” “teleport,” “sine,” “flat top,” “bouncing,” “sharp top,” and “step.” Trajectories can change continuously and relatively smoothly, or they can change abruptly. Thus, for a 1D position sensor system, a “trajectory” can be represented by a list (or file) of the sensor’s position (e.g., X) at different times. Figure 12 (a) to Figure 12 In the example of (g), each trajectory contains 100,000 samples (also written as 100K), but this is not absolutely necessary, and trajectories with smaller or larger numbers of positions will also work. During some experiments, a training set of 100K frames was used, and during others, 64K frames were used to train the network. Both provided sufficient results, but of course, the invention is not limited thereto, and in some embodiments, a neural network of a position sensor system with only one degree of freedom can be trained with a training set containing different numbers of frames, for example, from one thousand (1K) to ten million (10M) frames, or from ten thousand (10K) to one million (1M) frames, or from twenty thousand (20K) to five hundred thousand (500K) frames, or from fifty thousand (50K) to two hundred thousand (200K) frames.

[0250] For each location X, the values ​​Bz1, Bz2, Bz3, and Bz4 that the magnetic sensors of the envisioned sensor device with a specific size and sensor arrangement would measure when the sensor device is at that location can be determined, for example, by simulation tools.

[0251] exist Figure 5A In the example, the neural network was trained "only" to detect position X based on measured sensor signals, and thus the network was not explicitly trained against external disturbance fields, temperature changes, lateral shifts, height shifts, random noise, or combinations thereof. In other words, Figure 5A Simulation tools may assume, for example: magnets are generated as Figure 3A The magnetic field shown in the diagram has a Y (lateral offset) value of exactly 0.0 mm, a Z (height) value of exactly 5.0 mm, an external magnetic interference field (Bext) of exactly 0, a constant temperature, and no random noise. However, in reality, due to various factors such as installation tolerances and environmental influences, these assumptions are only approximately correct. This is the simplest example, providing "basic functionality." The basic idea is to train a neural network that can provide accurate position values ​​based on measured sensor data.

[0252] exist Figure 5B In the example, the simulation tool allows input not only for a value for position X, but also for a value for an external magnetic interference field. When the sensor device contains only a horizontal Hall element, only the Bz component Bz_ext (Bz_external) of the external interference field is relevant. It is assumed that the magnetic interference field (if present) is a uniform field, meaning the interference is the same for all sensor locations. Since the value of Bz_ext is not explicitly measured by the sensor device, it is not explicitly stored in the training data file, but the values ​​of Bz1 through Bz4 are altered due to the external interference field. In the embodiment, the trajectory file contains multiple sub-trajectories, for example, in the range of 2 to 1024 sub-trajectories, or 2 to 512 sub-trajectories, or 2 to 256 sub-trajectories, or 2 to 128 sub-trajectories, or 2 to 64 sub-trajectories, or 2 to 32 sub-trajectories, or 2 to 16 sub-trajectories, or 2 to 8 sub-trajectories, or 2 to 4 sub-trajectories. The X value of each sub-trajectory can be related to... Figure 12 (a) to Figure 12 The trajectories illustrated in (g) are identical or similar, and the value of the external disturbance field Bz_ext along this sub-trajectory can be constant. However, different sub-trajectories will have different values ​​for the external disturbance field Bz_ext (Bz_external). The idea is to train a neural network that can provide accurate position values ​​based on sensor data even in the presence of an external disturbance field, thereby making position sensor systems using such neural networks robust or more robust relative to external disturbance fields.

[0253] exist Figure 5CIn the example, the simulation tool allows input not only a value for location X, but also a temperature value (e.g., the temperature of the semiconductor substrate). In the embodiment, a single temperature on the semiconductor substrate is measured, and the simulation assumes that the temperature distribution on the semiconductor surface of the sensor device is "stable." It should be noted that this assumption allows for different temperatures at various sensor locations. Since the temperature value is explicitly measured by the sensor device, its value "Temp" is added to the training data file as additional input. In the embodiment, the trajectory file contains multiple sub-trajectories, for example, in the range of 2 to 1024 sub-trajectories, or 2 to 512, or 2 to 256, or 2 to 128, or 2 to 64, or 2 to 32, or 2 to 16, or 2 to 8, or 2 to 4. The X value of each sub-trajectory can be... Figure 12 (a) to Figure 12 The trajectories illustrated in (g) are identical or similar, and the temperature value Temp along this sub-trajectory can be constant. However, different sub-trajectories will have different values ​​for temperature. The idea is to train a neural network that can provide accurate position values ​​based on sensor data even with temperature variations in the semiconductor substrate, thereby making position sensor systems using such neural networks robust or more robust to temperature changes.

[0254] exist Figure 5D In the example, the simulation tool allows input not only for the position X but also for the lateral offset. Since the sensor device itself cannot measure the lateral offset, the Yoffset value is not explicitly added to the training data but is "incorporated" into the Bz value. To handle various lateral offset values, a method with multiple sub-trajectories can also be applied here. The idea is to train a neural network that provides accurate position values ​​based on sensor data, even with lateral installation offsets; and thus, a position sensor system using such a neural network is robust or more robust relative to installation tolerances.

[0255] exist Figure 5EIn the example, the simulation tool allows input not only a value for position X but also a value for noise. The idea behind this embodiment is to try to train a neural network to cope with random or pseudo-random noise, such as that that would occur with a Hall sensor. Since the noise for each sensor and for each moment will typically be different, the simulation tool can take five values ​​as input: one value for position X, and one noise value for each sensor element. Of course, it is also possible to implement noise addition within the simulation tool itself. In this embodiment, the amplitude of the noise is predefined and is the same for all sensors. In another embodiment, the amplitude of the noise depends on the signal measured by a particular sensor element (e.g., proportional to the signal measured by a particular sensor element). The idea is to train the neural network to be more robust to noise.

[0256] Various non-ideal factors (e.g., external disturbance fields, temperature changes, lateral shift, noise, etc.) can also be combined, such as... Figure 5F As shown in the diagram.

[0257] Alternative or additional land may be utilized from Figures 5A to 5E The neural network is trained using a combination (e.g., a sum) of various "training data files" or any subset thereof.

[0258] Figures 6A to 6C The diagram illustrates how training data can be generated by performing actual measurements in a test setup, either as an alternative to computer simulation or in addition to computer simulation. It should be noted that actual measurements automatically include noise.

[0259] Figure 6A A relatively simple example is shown, in which the sensor device is physically moved to a known position X relative to the magnet, and the value measured by the sensor is output and stored in a file along with position X. In experiments, the sensor device was physically moved to two thousand (2K) different positions within a 5mm distance (from -2.5mm to +2.5mm) to train the neural network, and the results were good.

[0260] Figure 6B A slightly more complex example is shown, where a magnetic interference field is further applied to the sensor. (See above regarding...) Figure 5B As described, the sensor device can be moved to follow multiple sub-trajectories, and different magnetic interference fields (e.g., Bz_ext) can be applied for each of these sub-trajectories.

[0261] Figure 6C An even more complex example is shown, in which the external temperature of the sensor device is variable.

[0262] exist Figure 6CIn the example, the location is changing and the temperature is changing, but no external disturbance field is applied.

[0263] exist Figure 6C In the example, the location is changing and an external disturbance field is applied, but the temperature remains constant.

[0264] exist Figure 6C In the example, the location is changing, an external disturbance field is applied, and the temperature is changing.

[0265] Of course, it is also possible to combine training data obtained through simulation with training data obtained through actual measurement.

[0266] It should be noted that "obtaining true measurement data from the sensor element of a sensor device" can be achieved by physically moving the sensor device relative to a stationary magnet, but it can also be achieved by using a test apparatus with multiple coils (sometimes referred to as a "3D coil system"), for example, as described in EP3621091(A1) (incorporated herein by reference), which simulates the magnetic field experienced by the sensor element when the sensor device is in a specific position relative to a particular magnet. Generating a magnetic field with coils offers the advantage that the sensor device can remain stationary; and that fine mechanical movement can be replaced by controlling the current flowing through the respective coils of the test apparatus.

[0267] In a particular embodiment, training data is used to train an artificial neural network. The training data source is raw measurement signals obtained from magnetic sensor elements from multiple sensor devices (e.g., at least 5, 10, 20, 50, or 100 sensor devices) and information obtained from temperature sensors present in these sensor devices (e.g., combined with the magnetic sensor elements on the same semiconductor substrate). The training data is measured under various ambient temperatures (e.g., in 20°C increments) when the sensor devices are mechanically positioned at different locations relative to a permanent magnet (e.g., in 1% increments of a predefined measurement range), or when the sensor devices are placed in a test device or a “3D coil system” where a magnetic field is generated at the sensor location by controlling multiple currents.

[0268] In this variant, not only are multiple sensor devices used to obtain raw measurement data, but multiple permanent magnets are also employed. This offers the advantage of also taking into account defects (or manufacturing tolerances) in the magnets.

[0269] The raw measured data is preferably interpolated to improve spatial resolution and may optionally be smoothed or low-pass filtered.

[0270] Multiple sensor devices can be obtained from a single wafer, or from multiple wafers, such as from multiple wafers in the same production batch; and / or from different “corner wafers” (i.e., wafers produced with different “process corners”). Multiple sensor devices used to train a neural network can, for example, include sensor devices obtained from at least three different corner wafers, referred to as TT (typical-typical), SS (slow-slow), and FF (fast-fast), where the first letter indicates NMOS characteristics and the second letter indicates PMOS characteristics.

[0271] Alternatively or additionally, the sensor device can be obtained from different locations on one or more wafers. As an example, five chips can be used per wafer, for example, one chip includes a substrate portion located at the center of the wafer, and four chips include substrate portions located near the edges.

[0272] After the artificial neural network is trained, the training parameters obtained can then be stored, for example, in the non-volatile memory of the specific device being measured, and can also be stored in other devices (the same as the device being actually measured) including substrate portions obtained from the same wafer, and can also be stored in other devices from other wafers from the same production batch.

[0273] Training parameters can be determined for each production batch, or the same parameters can be stored in the sensor device (e.g., in the sensor device's non-volatile memory), which includes a substrate portion obtained from wafers from other production batches.

[0274] Figure 7 A block diagram of a position sensor system 700 is shown, which can be considered as Figure 4A A variant of the block diagram further includes a "preprocessing" block 730, which is configured to receive one or more or all of the measured signals and to generate "additional signals" (e.g., paired difference signals, gradient signals, average signals, the difference between the measured signals and the average signals, the ratio of the measured signals, the ratio of the difference signals, the ratio of the gradients, the normalized signal, etc.) and to provide one or more or all of these additional signals to the artificial neural network 710.

[0275] As an example of a sensor device with four horizontal Hall elements H1 to H4, the normalized signal can be determined according to the following set of formulas:

[0276] sum (total) = h1 + h2 + h3 + h4;

[0277] a1 = h1 / sum;

[0278] a2 = h2 / sum;

[0279] a3 = h3 / sum;

[0280] a4 = h4 / sum;

[0281] Where sum is the total signal, h1 to h4 are the signals obtained from Hall sensors H1 to H4 respectively, a1 is the normalized version of h1, a2 is the normalized version of h2, and so on. The signal sums a1, a2, a3, and a4 are additional signals that can be fed into the ANN.

[0282] Figure 7 The neural network 710 is more than Figure 4A The neural network 410 receives more input signals and therefore needs to be trained with additional training data. Figures 5A to 6C The training data described in [the document] can also be used here, but it needs to be expanded with additional information. Figures 5A to 6C An expanded version of the training data may include multiple frames containing the following values: (x, Bz1, Bz2, Bz3, Bz4, sum, a1, a2, a3, a4) or containing the following values: (x, Bz1, Bz2, Bz3, Bz4, Temp, sum, a1, a2, a3, a4).

[0283] In another example of a sensor device with four horizontal Hall elements H1 to H4, additional data can be determined according to the following set of formulas:

[0284] a1 = (h1 - h2);

[0285] a2 = (h3 - h4);

[0286] a3 = a1 / a2;

[0287] Furthermore, the training data may include multiple frames containing the following values: (x, Bz1, Bz2, Bz3, Bz4, a1, a2, a3) or (x, Bz1, Bz2, Bz3, Bz4, Temp, a1, a2, a3), where Temp is a measured temperature value (e.g., the temperature of a semiconductor substrate).

[0288] However, the present invention is not limited to these examples.

[0289] As another example, if the sensor measures 3D magnetic pixels Bx, By, and Bz at each sensor location, the sum of squares can be determined as sum = (Bx × Bx) + (By × By) + (Bz × Bz), and the three additional signals can be calculated as, for example: a1 = Bx / sum; a2 = By / sum; a3 = Bz / sum.

[0290] The preprocessing block 730 can be implemented in the analog domain, in the digital domain, or partially in the analog domain (e.g., pairwise subtraction) and partially in the digital domain (e.g., calculating ratios). Depending on the implementation, the preprocessing block 730 may include an analog-to-digital converter (ADC), an arithmetic or logic unit (ALU), and so on.

[0291] Using the preprocessing box 730 before the ANN can produce more accurate results.

[0292] Figures 8A to 8F Several examples of sensor arrangements that can be used in embodiments of the present invention are shown, but of course, the invention is not limited to these examples. The results of using position sensor systems with these sensor arrangements and variations thereof will be discussed further. Figures 8A to 8F In the example shown, the sensor device contains only horizontal Hall elements and no flux concentrator. Two different die sizes (or "grid sizes") were simulated: the first die size has an area of ​​approximately 1.0 mm × 1.0 mm, and the second die size has an area of ​​approximately 0.5 mm × 0.5 mm. However, the invention is not limited to these, and other die sizes or grid sizes can also be used. Various arrangements of various numbers of Hall elements were simulated, for example: 1 × 2 on a horizontal line (see example...). Figure 8A ), with 1×4 on the horizontal line as two pairs (see example). Figure 8B ), 1×4 diagonally equidistant (see example) Figure 8C ), at the four intersections of a regular 2×2 grid (see example) Figure 8D ), at the 9 intersections of a regular 3×3 grid (see example) Figure 8E ), 9 pseudo-random locations (see example) Figure 8F However, the present invention is not limited to these examples, and other topologies and other sensor elements (e.g., vertical Hall elements, MR elements, 2D magnetic pixels, 3D magnetic pixels, etc.) may be used.

[0293] Figure 9A It shows that it will be by Figure 8E The diagram shows the analog signal waveforms of signals h1...h9 measured by sensor elements H1...H9 of the sensor device as they move along the X-axis. It can be seen that signals h4, h5, and h6 are close to zero, therefore the positions of sensor elements H4, H5, and H6 are rather poorly chosen for this particular sensor system. This example demonstrates that if the positions of the Hall elements are poorly chosen, using more Hall elements does not necessarily mean more accurate results.

[0294] Figure 9B The example shown has artificially added noise (e.g., Gaussian noise). Figure 9AThe simulation showed that when the ANN was trained with data containing added noise, the accuracy of the predicted location X could actually improve slightly. This is quite surprising.

[0295] Figure 10A It shows when using, such as Figure 8E When a sensor device with an area of ​​1.0 mm × 1.0 mm and 3 × 3 = 9 horizontal Hall elements is arranged as shown, the "length of the time series" of several recurrent neural networks (RNNs) affects the following: Figure 1 Figure A shows a graph illustrating the effect of the mean absolute error (MAE, in mm) of a linear position sensor system.

[0296] Three graphs are shown: the first graph (indicated by black circles) uses an RNN 2 2 architecture (2 layers, each with 2 components) with 37 trainable parameters; the second graph (indicated by black triangles) uses an LSTM 1 architecture (1 layer, with 1 component) with 46 trainable parameters; and the third graph (indicated by black squares) uses a GRU 1 architecture (1 layer, with 1 component) with 35 trainable parameters.

[0297] It should be noted that neural networks with recurrent neural network (RNN) architectures, long short-term memory (LSTM) architectures, and gated recurrent unit (GRU) architectures, as well as methods for training them using deep learning techniques, are known in the field of artificial neural networks, but to the inventors' knowledge, such networks have not been used in the field of magnetic position sensor systems. However, from Figure 10A As can be understood, by increasing the "length of the time series" in a recurrent network, the absolute error in the location determined (or predicted or estimated) by the artificial neural network can be surprisingly reduced. Furthermore, this is another major surprise: the number of trainable parameters for such networks can be surprisingly low, especially compared to neural networks for face recognition, speech recognition, handwriting recognition, and so on, which require tens or even hundreds of thousands of trainable parameters. It should be noted in this regard that artificial networks are generally believed to require a large number of trainable parameters and considerable resources in terms of CPU power and memory requirements, making them unsuitable for or prohibitively expensive for applications such as "positioning sensor systems" used in automotive, industrial, or robotic applications.

[0298] from Figure 10A As can be seen, the “time series with a length of 2” has provided some improvements, and the time series with a length of at least 5 can reduce the mean absolute error (MAE) to about 1 / 2, but time series with a length of at least 10 or at least 20 can also be used.

[0299] Other simulations were performed to test the effects of other parameters, such as die size and the number of Hall elements. For these simulations, time series of length 50 (indicated as "t50" in this document) were used to obtain the "best possible" results and / or to minimize the impact of time series length. However, this does not mean that a time series of length 50 is required in actual implementations, but time series of length 5 or even smaller (e.g., 4, 3, or 2) can also be used.

[0300] For completeness, it should be noted that Recurrent Networks (RNNs) can operate in either a stateless or stateful mode. "Stateless mode" means the network resets its internal state after a given time series. In this case, the network needs to be fed the entire time series, and the length of the time series is crucial. In "stateful mode," a new prediction is generated for each new "frame," and the internal state is not reset after the time series. In this case, the NN's input is not a multi-frame time series, but only a single frame. For this mode, the time series length is not important.

[0301] In a preferred embodiment, the RNN is configured to function in a stateful mode.

[0302] Figure 10B A graph illustrating the effect of the number of Hall elements on the mean absolute error (MAE) is shown. These simulations were performed for a sensor device with a die size of 1.0 mm × 1.0 mm.

[0303] Three graphs are shown: the first graph (indicated by black circles) uses a Dense 8 8 8 architecture (i.e., an RNN with 3 hidden layers, each containing 8 fully connected nodes); the second graph (indicated by black triangles) uses a GRU 1 architecture with a time series length of 50 (t50) (i.e., a single GRU unit); and the third graph (indicated by black squares) uses a GRU 4 4 4 architecture (i.e., an RNN with 3 hidden layers, each containing 4 fully connected nodes, each node containing a GRU unit).

[0304] This chart can be interpreted as follows:

[0305] 1) When using dense neural networks with 3 fully connected hidden layers, the mean absolute error (MAE) typically decreases as the number of sensor elements increases. (This is intuitively expected).

[0306] 2) The MAE curve for the "GRU 1t50" architecture exhibits very surprising characteristics:

[0307] a) The MAE for the GRU architecture is about 1 / 3 of the MAE for dense networks (when using 2 or 3 sensor elements);

[0308] b) The MAE for the GRU architecture has a minimum value when using four sensor elements;

[0309] c) The MAE for the GRU architecture appears to be independent of the number of sensor elements (when using only 4 to 9 sensor elements), and even seems to increase when using more than 7 Hall elements.

[0310] 3) Compared to the “GRU 1t50” architecture, the MAE curve for “GRU 4 4 4t50” offers only minor improvements, but is much more complex in terms of hardware and software resources.

[0311] From the above, we can conclude that the "GRU 1t50" architecture, combined with sensor devices having 2 to 9 sensor elements, preferably 4 to 7 sensor elements, appears to be the optimal solution in terms of both "high accuracy" and "low complexity." Consider... Figure 10A The conclusion is that when the length of the time series is reduced to at least 5, the MAE of the neural network with the "GRU 1 architecture" does not increase significantly. The same conclusion applies to the "GRU 1" architecture using time series of at least 5.

[0312] Figure 10C A graph illustrating the effect of die size on the mean absolute error (MAE) is shown. In this graph, the area of ​​"die size 1" is 1.0 mm × 1.0 mm, and the area of ​​"die size 2" is 0.5 mm × 0.5 mm. Figure 10B Two of the three architectures that produce the minimum MAE (i.e., "GRU 1t50" and "GRU 4 4 4") were simulated to understand how these curves change as die size decreases. It should be noted that... Figure 10C The curves containing black triangles and black squares and Figure 10B The curves in the image are the same, but different vertical proportions are used.

[0313] like Figure 10C As can be seen from this, when the die size increases from 1.0mm... 2 Reduced to 0.25mm 2 At that time, the MAE curve with the black triangle for the “GRU 1t50” architecture will shift slightly upward (i.e., the MAE will increase slightly), but the MAE will typically only deteriorate by about 1.5 times.

[0314] The MAE curve with black squares for the “GRU 4 4 4t50” architecture does not appear to be significantly affected by die size. According to the curve, MAE seems to increase at some points and decrease at others, but as mentioned above, this may be due to the fact that the positions of some sensor elements in the sensor array may be somewhat unfortunately chosen.

[0315] Unsurprisingly, the MAE curve with black squares and black diamonds for “GRU 4 4 4t50” is lower than the MAE curve with black triangles and black circles for the “GRU 1t50” architecture, but the latter has a much simpler network complexity.

[0316] Interestingly, accuracy doesn't decrease like the scaling factor for die size, but the price of silicon dies typically decreases. This allows technicians to make trade-offs between die size and accuracy.

[0317] From the above, we can conclude that the die size is not important for the invention to function.

[0318] Figure 11A A block diagram of a trained artificial neural network (ANN) 1110 proposed in this invention is shown. This ANN 1110 can be used in magnetic position sensor systems with only one degree of freedom, such as... Figure 1 , Figure 4A and Figure 4B as well as Figure 7 The illustrations, or variations thereof, may include another magnet, or the path of relative movement may be curved, etc.

[0319] This ANN has an input layer, a single hidden layer comprising a single GRU component, and an output layer.

[0320] The input layer is configured to receive multiple magnetic sensor signals (e.g., h1, h2, h3, h4), and optionally also to receive temperature signals, for example, from the front-end box 403 (see [link]). Figure 4A and Figure 4B It is also optionally used to receive "additional signals," such as those from, for example, preprocessing box 730 (see...). Figure 7 The pairwise difference, gradient, ratio, etc.

[0321] For a 1D position sensor system, the output is only a single position (e.g., value X).

[0322] Using training data (e.g., Figures 5A to 6C The GRU is trained using any training data (or a combination thereof) described in the training data to determine 1D position (e.g., the value of position x along the X-axis).

[0323] Figure 11B This illustrates a configuration that depends on the number of input signals, used to include a single GRU (e.g., such as...). Figure 11A The table below shows a typical number of trainable parameters for a 1D position sensor system (illustrated in the figure). The number of trainable parameters may increase if "additional signals" are added.

[0324] During the experiment, a specific GRU component from a specific vendor was used. For that specific GRU component, the number N of trainable parameters for a single GRU layer can be calculated using the following formula: N = 3(n 2 The number of parameters is (n×m+2n), where m is the number of inputs and n is the number of outputs. The output of the GRU layer is equal to the number of units. The output of the GRU layer is also appended to the output layer, which is a dense layer with its own parameters. Dense layers are sometimes called “fully connected” layers. As an example, if the NN needs to estimate a variable (e.g., x) based on signals obtained from four magnetic sensors (m=4), then the number of trainable parameters for the GRU layer is N=3×(1+4+2)=3×7=21. For a network with a single output, the output layer can, for example, have 2 additional parameters, thus a total of 23 trainable parameters. If the NN also uses temperature as an input, then n=1, m=5, and N=3×(1+5+2)=3×8=24 for the GRU layer, and assuming 2 parameters for the dense layer, this results in a total of 26 trainable parameters. If the neural network receives 4 magnetic sensor signals, 1 temperature signal, and 3 "additional signals" (e.g., two gradients and the ratio of these gradients) as input, then n = 1, m = 8, and N = 3 × (1 + 8 + 2) = 3 × 11 = 33 for the GRU layer. Assuming the output layer has 2 additional parameters, this means there are a total of 33 + 2 = 35 trainable parameters.

[0325] For GRU parts obtained from another supplier, this number may vary slightly and should therefore only be used as an estimate. Whatever the exact number may be, it is quite surprising that artificial neural networks with fewer than 300, 250, 200, 150, 100, 75, 50, 40, 35, or 30 parameters can provide very accurate results.

[0326] Based on the simulation results, for Figure 1 The 1D position sensor system in A includes a bipolar magnet approximately 5 mm in length, and includes components with a diameter of approximately 0.25 mm. 2 Up to approximately 1.0mm 2 The die size area within the range, and having at least 2 or at least 4 horizontal Hall elements, and having as... Figure 11A The mean absolute error (MAE) of the sensor device with the neural network architecture shown is only about 0.02 mm to about 0.08 mm for a measurement range of -2.5 mm to +2.5 mm, that is, the absolute accuracy is on the order of about 0.4% to about 1.6%.

[0327] Surprisingly, such good accuracy can be achieved using such an extremely simple neural network with far fewer than a thousand trainable parameters—for example, fewer than 300, or even fewer than 100. It's almost unbelievable that a sensor device with only four sensor elements, combined with an ANN having only a single GRU, can perform this work using only about 20 to 25 trainable parameters.

[0328] It should be noted that ANNs can be executed very quickly. As an example, during the experiment, it was executed entirely in software on a laptop with an Intel Core i7-8750H running at 4.1GHz. Figure 11A An ANN with 23 trainable parameters takes only about 0.716ms. This number is only used for a rough estimate to get an order-of-magnitude impression.

[0329] It is expected that executing the same (or similar) algorithms on a fast digital signal processor (DSP) (optionally with at least some hardware acceleration (analog or digital)) will also be fast enough for many applications.

[0330] Figure 12 (a) to Figure 12 (g) shows an example of a "frame sequence" that can be used to train a neural network for a 1D position sensor system. These sequences have been combined with the above. Figures 5A to 5F A discussion was held. Figure 12 (a) to Figure 12 The illustrative sequences shown in (g) are referred to in this paper as: (a) “constant velocity,” (b) “instantaneous movement,” (c) “sine wave,” (d) “flat-top,” (e) “bouncing,” (f) “sharp-top,” and (g) “step.” Another major surprise, not yet discussed above, is that simulations have shown that even when the movement performed by the sensor device is… Figure 12 (a) to Figure 12 Any of the moves shown in (g) (for which the network was not explicitly trained) are distinct, and the positions predicted by the ANN are highly accurate.

[0331] Figure 13A , Figure 14A and Figure 15AThree block diagrams of other trained artificial neural networks (ANNs) 1310, 1410, and 1510 that can be used in magnetic position sensor systems with only one degree of freedom, such as magnetic position sensor systems, are shown. Figure 1 , Figure 4A and Figure 4B as well as Figure 7 The illustrations, or variations thereof, may include another magnet, and / or the path of relative movement may be curved, etc.

[0332] Figures 13A to 1 Each of these neural networks 1310, 1410, and 1510 can be considered as... Figure 11A Variants of ANN 1110, the main difference being that these ANNs include 2 or 4 GRU components, instead of just one. While these networks have a higher number of trainable parameters... Figure 11B The number of networks is less, but these networks are therefore more powerful and should be able to provide at least as good results, perhaps slightly better.

[0333] Figure 13B , Figure 14B and Figure 15B Typical numbers of trainable parameters for these networks are shown, depending on the number of input signals, but of course, the invention is not limited to these examples.

[0334] Figure 16 This is a perspective view of a position sensor system 1600 with two degrees of freedom (DOF). The system 1600 includes a magnet 1601 for generating a magnetic field and a sensor device 1602 for sensing the magnetic field using multiple magnetic sensors.

[0335] The 2D position sensor system 1600 can be considered as Figure 1 The main differences between the variants of the 1D position sensor system 100 are:

[0336] 1) Figure 16 The magnet 1601 can move in a plane parallel to the XY plane;

[0337] 2) The position is defined by two independent variables (e.g., X and Y), therefore the output layer of an ANN needs to provide two independent outputs;

[0338] 3) ANNs need to be trained "for a specific 2D location";

[0339] 4) The sensor device comprises at least four sensor elements, which may be collinear, but preferably not collinear (see [reference]). Figure 21 Compared to Figure 22 );

[0340] 5) ANNs in 2D position sensor systems can be trained and inferred in a stateful manner. In contrast, 1D neural networks can be trained and inferred in a stateless manner.

[0341] Most or all of the above, with the necessary modifications, also apply here.

[0342] For example, Figure 4A , Figure 4B and Figure 7 The block diagram also applies to 2D position sensor systems; since sensor device 1602 includes at least four sensor elements, therefore Figure 8A The sensor arrangement cannot be used, but Figures 8B to 8F The sensor arrangement can be used.

[0343] The appropriate trajectory used to create training data will be Figure 17 As described in [the text]. It will be [described in the text]. Figure 18A and Figure 20A The description illustrates the network topology. Examples of achievable accuracy will be provided in [the document / section]. Figure 19 The diagram in the middle illustrates this. For a sensor with only four sensor elements, the number of trainable parameters and the corresponding achievable accuracy will be... Figure 21 and Figure 22 As described in the text.

[0344] In a preferred embodiment of the 2D position sensor system, the movement is a “pure translation” without rotation. While not absolutely necessary, but preferably, magnet 1601 is a quadrupole magnet, such as an axially magnetized quadrupole disk magnet.

[0345] Figure 17 Multiple 512 Bézier curves are shown, which can be used as "trajectories" to create "training data" for training neural networks to determine 2D positions. In fact, where a single "trajectory" is sufficient for a 1D position sensor system, a relatively large number of trajectories are typically used (in... Figure 17 In the example: 512 trajectories), used to train a 2D position sensor system.

[0346] The above text is in Figures 5A to 6C Much of what is described in [the previous section] also applies here; for example, each trajectory can have several sub-trajectories to cope with external disturbance fields, and / or temperature changes, and / or noise, except that the trajectory of a 2D position sensor system should vary the x and y values ​​within the measurement range, rather than keeping one of them constant. For example... Figure 17 As can be seen, variables x and y vary within an area that at least covers the measurement range, which is defined as a square region where the range of variables x and y can be from -2.5 mm to +2.5 mm.

[0347] It should be noted that other trajectories can, of course (optionally in combination with Bézier curves), be used, such as a set of trajectories parallel to the X-axis, a set of trajectories parallel to the Y-axis, a set of trajectories forming an angle of approximately 10° with the X-axis, and a set of trajectories forming an angle of approximately 20° with the X-axis, and so on.

[0348] and Figures 5A to 5F Similar to what is described in [the text], training data can be provided by a simulation tool that takes not only the value of X as input, but also the value of Y, and optionally, the values ​​of external disturbance fields, temperature, and noise as input. [And...] Figures 6A to 6C Similar to what is described, training data can also be provided by physically moving the magnet relative to the sensor device and capturing the sensed data, or by positioning the sensor device in a test device called a “3D coil system”, in which a magnetic field is generated for each sensor position by controlling the current flowing through the coils, so as to simulate the magnetic field that the sensor of the sensor device would see when physically moving relative to a permanent magnet.

[0349] Compared with the description above ( Figure 6C Similar considerations regarding the number of sensor devices to be used to acquire raw measurement data, including semiconductor substrate portions obtained from several semiconductor wafers and / or from several locations on a semiconductor wafer, also apply here.

[0350] Figure 18A A block diagram of a trained artificial neural network (ANN) 1810 proposed in this invention is shown. This ANN 1810 can be used in a magnetic position sensor system 1600 with only two degrees of freedom, such as... Figure 16 The illustrations shown, or variations thereof, may include, for example, another magnet, or as... Figure 25 or Figure 26 As shown in the diagram.

[0351] The ANN 1810 has an input layer, a single hidden layer comprising two GRU components, and an output layer.

[0352] The input layer is configured to receive multiple magnetic sensor signals (e.g., h1, h2, h3, h4), and optionally also to receive temperature signals, for example, from the front-end box 403 (see [link]). Figure 4A and Figure 4B It is also optionally used to receive "additional signals," such as those from, for example, preprocessing box 730 (see...). Figure 7 The pairwise difference, gradient, ratio, etc.

[0353] The output layer needs to provide two independent output values, such as x and y.

[0354] Use as described above (about Figure 17 The training data described herein is used to train two GRUs to determine 2D locations.

[0355] Figure 18B A typical number of trainable parameters for this network is shown, which depends on the number of input signals, but of course, the invention is not limited to these examples.

[0356] Figure 19 An example of result prediction from a neural network with the topology shown in Figure 18 is illustrated. This neural network uses... Figure 17 The 512 trajectories shown are used for training. The ideal location is indicated by a circle with a radius of 2.5 mm; the location estimated by ANN 1810 is indicated by the point closest to the circle. It can be seen that the absolute error for this example is approximately 0.3 mm, which is about 12% of the measurement range. This ANN has two GRUs, each with only 25 trainable parameters, for a total of 54 trainable parameters for the entire network, and the average MSE is 0.0143.

[0357] Figure 20A This invention illustrates a position sensor system (e.g., such as...) Figure 16 A block diagram of another recurrent neural network 2010 at a 2D location (shown in the diagram). This network can be viewed as... Figure 18A A variant of the Network 1810, with the same input and output layers, but with two hidden layers, each with two GRU units, thus having a total of four GRU units.

[0358] Figure 20B A typical number of trainable parameters for this network is shown, which depends on the number of input signals, but of course, the invention is not limited to these examples.

[0359] Figure 21 This is a table showing the number of trainable parameters for a 2D position sensor system, which includes a bipolar magnet and a sensor device having four magnetic sensors (e.g., such as...) arranged in a straight line. Figure 8C (as illustrated in the figure), and has at least two GRU cells organized in one or more GRU layers, each of which has one or more GRU cells, and an estimate of the accuracy of the obtained MSE in mm.

[0360] It can be seen that the MSE for these sensor systems is approximately 0.23 mm to 0.39 mm, which is about 10% of the measurement range. This indicates that regardless of the number of GRU units used, combined with Figure 16 Using a sensor arrangement with four collinear sensor elements in a bipolar magnet will not produce high accuracy results. However, of course, if an accuracy of about 12% is good enough for some applications, a simple ANN with a single layer of two GRU units (such as...) can achieve similar results. Figure 18A (As shown in the diagram) can be used; this single layer has 54 parameters ( Figure 21 (the first line).

[0361] Figure 22 This is a table showing the number of trainable parameters for a 2D position sensor system, which includes a bipolar magnet 1601 and a sensor device 1602 having four magnetic sensors (e.g., such as...) arranged on a regular 2×2 grid. Figure 8D (as illustrated in the figure), and has one or more layers, each of which has one or more GRU cells, and an estimate of the resulting accuracy (with respect to MSE in mm).

[0362] It can be seen that when using an ANN with a single hidden layer containing only one GRU unit, the MSE for these sensor systems is approximately 0.28 mm, which is about 12% of the measurement range, for example, as... Figure 18A As shown. With Figure 21 The comparison of the tables shows that if the ANN contains only one GRU unit, positioning four sensors on the grid does not really help improve accuracy.

[0363] However, when the ANN includes a hidden layer with at least two GRU units, the MSE drops to a value of at most 0.0143, which is less than 0.3% of the measurement range. The result for a 2-layer ANN with 2 GRU units is 0.0091. It can be seen that the MSE can be further reduced to about 1 / 3, but at the cost of using more GRU units and a greater number of trainable parameters.

[0364] The optimal trade-off between accuracy and complexity appears to be the solution provided in the second row of the table, namely... Figure 18A The ANN architecture illustrated in the figure requires only 54 parameters in total. However, the invention is not limited to this, and other solutions will also be applicable, such as ANNs with two or more hidden layers, each with at least two GRU units. And of course, solutions with more than four sensor elements will also work.

[0365] Figure 23This shows what can be used for estimation (e.g., as in...) Figure 1 , Figure 16 , Figure 25 or Figure 26 The diagram shows, but is not limited to, a block diagram of another recurrent neural network 2310 for 1D, 2D, or 3D locations of sensor arrangements. This network has three hidden layers, each containing four GRU units, resulting in a total of 12 GRU units. Figure 10B and Figure 10C Some performance characteristics of these networks are shown.

[0366] Figure 24 A flowchart of a method 2400 for determining the position (e.g., 1D, 2D, or 3D position) of sensor devices 102, 1602, 2502, and 2602 is shown. Sensor devices 102, 1602, 2502, and 2602 can move relative to magnetic sources 101, 1601, 2501, and 2601 with only one, two, or three degrees of freedom, or magnetic sources 101, 1601, 2501, and 2601 can move relative to sensor devices 102, 1602, 2502, and 2602 with only one, two, or three degrees of freedom. Examples include 1D movement along a straight or curved path, 2D movement in a plane, or 3D movement in three directions, such as pure translation without rotation, or two rotations without translation (e.g.,...). Figure 25 or Figure 26 (as in the example). The method includes the following steps:

[0367] a) Obtain multiple sensor signals (2402) from multiple magnetic sensors;

[0368] b) Determine (2405) the position of the sensor device relative to the magnetic source based on the plurality of magnetic sensor signals and / or signals derived therefrom (referred to as “additional signals”), wherein the position is determined using an artificial neural network (ANN), wherein the artificial neural network is a recurrent neural network trained to determine the position, wherein the ANN has up to 300 trainable parameters per degree of freedom (therefore, for a system with only 1 degree of freedom, there are up to 300 trainable parameters; and for a system with only 2 degrees of freedom, there are up to 600 trainable parameters; and for a system with only 3 degrees of freedom, there are up to 900 trainable parameters).

[0369] In a variant of this method, the sensor device may further include a temperature sensor, and the ANN may further take into account the measured temperature.

[0370] Figure 25This is a perspective view of an illustrative position sensor system 2500 with two degrees of freedom, wherein a permanent magnet 2501 is mounted to a joystick that can move forward / backward and left / right relative to a sensor device 2502 about a reference point Pref (P-reference) located on a semiconductor substrate containing multiple magnetic sensor elements.

[0371] In the example shown, magnet 2501 is an axially magnetized cylindrical magnet, but the invention is not limited thereto, and other magnets may also be used.

[0372] The 2D position of the joystick can be determined by two angle values. ψ can be determined by two coordinates X and Y (e.g., the coordinates of the end of the joystick in the XY plane) or as in EP4105768(A1). Figure 2 The two angles α and β defined in the literature are used to define this, and this literature is incorporated into this paper by reference.

[0373] Sensor device 2502 may include, for example Figure 4A As shown in the figure, or as shown in the figure Figure 4B The architecture is illustrated in the figure. The sensor device includes multiple magnetic sensor elements or magnetic sensor structures, such as multiple horizontal Hall elements, or 2D magnetic pixels (e.g., including an IMC and two horizontal Hall elements; or including two vertical Hall elements; or including MR elements), or 3D magnetic pixels (e.g., including an IMC and four horizontal Hall elements). In a particular embodiment, the sensor device includes only horizontal Hall elements and does not include an IMC.

[0374] Sensor device 2502 includes a recurrent neural network (ANN) with a total of up to 2 × 300 = 600 trainable parameters, but as from Figure 31 As can be understood, the number of trainable parameters can be much smaller, for example, at most 400, 300, 200, or 100, depending on the amount of input supplied to the ANN. ANNs can have, for example, a GRU2 architecture (see example...). Figure 14A The invention may use SRNN2 architecture (similar to GRU2 but using two SRNN units instead of two GRU units), or SRNN3 architecture (with a single hidden layer with three SRNN units), or SRNN4 architecture (with a hidden layer with four SRNN units), but the invention is not limited thereto, and recurrent neural networks using LSTM units instead of GRU units or SRNN units may also be used.

[0375] Figure 26 This is a perspective view of an illustrative position sensor system 2600 with two degrees of freedom, in which a magnet is mounted to a joystick that can move forward / backward and left / right relative to the sensor device about a reference point located above a semiconductor substrate. Sensor system 2600 is... Figure 25 A variant of the sensor system 2500, and designed for Figure 25 Everything mentioned in the system also applies here.

[0376] Figure 27 This is a graph showing real-world measurements of various amplitudes of a magnetic field obtained from a horizontal Hall element (shown in arbitrary units), measured at temperatures of -40°C and +80°C. It can be seen that the amplitude of the signal provided by the horizontal Hall element is highly temperature-dependent. In fact, if the substrate temperature drops from +80°C to -40°C, the signal amplitude almost doubles.

[0377] Although the sensitivity of the Hall element is calibrated in the front-end box 403 (see...) Figure 4A and Figure 4B While technically possible, a preferred embodiment of the invention does not perform temperature correction on the signal in the front-end frame. Instead, it measures the temperature of the semiconductor substrate, digitizes the signal, and feeds it as an additional input to the ANN. It should be noted that measuring the temperature at only one location on the semiconductor substrate is sufficient, and, for example, measuring the temperature of each Hall element individually is not necessary. In this way, the number of input signals applied to the ANN can be significantly reduced, and the complexity of the network can be kept small.

[0378] Figure 28 The illustration is shown. Figure 11A A table showing the accuracy of a 1D positioning system (GRU1 architecture) using 4 input signals (4 magnetic signals) or 5 input signals (4 magnetic signals and temperature) is provided. It can be understood that when temperature is measured and input as an additional input signal to the ANN, the mean squared error (MSE) is significantly improved (reduced), by one-fifth in this example. Although Figure 28 It is not explicitly shown in the document, but the same effect has been achieved in other neural network architectures mentioned in this application (accuracy is improved when the temperature signal is input into the NN, while the number of trainable parameters increases only slightly).

[0379] Figure 29 A table shows the typical number of trainable parameters for various architectures of 1D localization systems using recurrent neural networks with five input signals (four magnetic signals and one temperature signal). It can be seen that these architectures require only about 9 to 31 trainable parameters, which is extremely low, especially compared to other systems that require thousands of trainable parameters to achieve comparable accuracy.

[0380] Figure 30The typical accuracy of these systems is shown. It can be seen that the accuracy of the GRU1 architecture is quite good, but the accuracy of the SRNN2 architecture is even six times higher, while the number of trainable parameters is reduced from 26 to 19. This is completely unexpected. It can be seen that by using the SRNN3 architecture, the accuracy can be further improved to approximately 2.0 times, which is still an extremely simple neural network architecture with a very small number (e.g., much less than 100) of trainable parameters.

[0381] Figure 31 A table is shown illustrating a typical number of trainable parameters for a 2D positioning system using (a) a sensor device with four 1D magnetic pixels (each configured to provide a Bz signal) and a temperature sensor, or (b) a sensor device with four 2D magnetic pixels (each configured to provide both in-plane and out-of-plane components) and a temperature sensor. It can be seen that these architectures require only about 22 to 84 trainable parameters, which is extremely low, especially compared to other systems that require thousands of trainable parameters to achieve comparable accuracy.

[0382] Figure 32 The typical accuracy of these systems is shown. It can be seen that the GRU2 architecture has quite good accuracy, but the SRNN3 architecture has approximately the same accuracy, while reducing the number of trainable parameters to almost half. It can be seen that by using the SRNN4 architecture, the accuracy can be further improved to approximately 2.0 times, and this SRNN4 architecture is still a relatively simple neural network architecture with a very small number (far less than 100) of trainable parameters.

[0383] Figure 33A This is an illustrative example of a "simple neural network". The network may have only a single hidden layer. The units in this layer are SRNN units (simple RNN units). All these units are interconnected, each having one arrow pointing to the other unit, including one arrow feeding back to itself. Each arrow represents a weight. Each "+" represents a bias.

[0384] Figure 33B It is a schematic representation of an RNN3 network, that is, a simple recurrent network with a single hidden layer having only 3 SRNN units.

[0385] Although not explicitly shown, the present invention will also be applicable to recurrent neural networks containing only LSTM units.

[0386] Although no explicit example is given for a system with three degrees of freedom, those skilled in the art who benefit from this disclosure can use the same principles as described above for systems with one or two degrees of freedom, particularly for 3D position systems, in which a magnet can be translated relative to a sensor device (or the sensor device can be translated relative to a magnet), and in which position can be determined by three independent displacement values ​​(x, y, z).

Claims

1. A method for determining the position of a sensor device, the sensor device being movable relative to a magnetic source with one, two, or three degrees of freedom, or the magnetic source being movable relative to the sensor device with one, two, or three degrees of freedom; The sensor device includes a semiconductor substrate, the semiconductor substrate including a plurality of at least two magnetic sensors located at at least two different locations; The method includes the following steps: a) Obtain multiple sensor signals from the plurality of magnetic sensors; b) Determine the position of the sensor device relative to the magnetic source based on the plurality of magnetic sensor signals and / or signals derived therefrom; Step b) includes using an artificial neural network to determine the location; The artificial neural network is a recurrent neural network with a predefined number of trainable parameters, which are trained to determine the position. Its features are, The sensor device further includes a temperature sensor. Furthermore, the method further includes the following steps: measuring the temperature of the semiconductor substrate using the temperature sensor, and providing the measured temperature as an additional input signal to the neural network; Furthermore, the number of trainable parameters is at most 300 per degree of freedom.

2. The method according to claim 1, wherein The sensor device can move relative to the magnetic source with 2 or 3 degrees of freedom.

3. The method according to claim 1 or 2, wherein The movement of the sensor device is a pure translation.

4. The method according to claim 3, wherein The movement is a translation along a straight line, or a translation along a curve, or a translation on a plane surface, or a translation in three directions.

5. The method according to claim 1 or 2, in, The position is determined by an absolute error or mean square error smaller than 1% of the measurement range, or wherein the position is determined by an absolute error or mean square error smaller than 1% of the maximum outer diameter of the magnetic source; and The sensor device can move with only one degree of freedom and has a maximum of 200 trainable parameters; or the sensor device can move with two degrees of freedom and has a maximum of 400 trainable parameters; or the sensor device can move with three degrees of freedom and has a maximum of 600 trainable parameters.

6. The method according to claim 1 or 2, in, The semiconductor substrate includes at least three or only three magnetic sensors located at at least three different locations; Alternatively, the semiconductor substrate may include at least four or only four magnetic sensors located at at least four different positions; Alternatively, the semiconductor substrate may include a two-dimensional array or two-dimensional arrangement of magnetic sensors.

7. The method according to claim 1 or 2, in, The network is trained using training data derived from computer simulations and / or obtained or derived from actual measurements.

8. The method according to claim 1 or 2, in, The network is trained using training data derived from computer simulations with added artificial noise to estimate the location, or the neural network is trained using training data obtained from actual measurements to estimate the location, or the neural network is trained using both training data derived from computer simulations with added artificial noise and training data obtained from actual measurements to estimate the location.

9. The method according to claim 1 or 2, in, The network is trained using training data derived from computer simulations and / or obtained from actual measurements, with the addition of a magnetic interference field, to estimate the location.

10. The method according to claim 1 or 2, in, The network is trained using training data derived from computer simulations and / or obtained from actual measurements, taking into account installation offsets, to estimate the location.

11. The method according to claim 1 or 2, in, Step b) further includes determining one or more additional signals in one or more of the following ways: by determining one or more pairwise differences, by determining one or more magnetic field gradients, by determining at least one average signal and by subtracting the average signal from at least two measured signals, by normalizing the signal, by calculating the ratio of two measured signals, by calculating the ratio of two pairwise differences, by calculating the ratio of two gradients; and feeding at least one of these additional signals into the neural network. Furthermore, the neural network is trained using training data derived from computer simulations and / or actual measurements to estimate the position, and is trained using one or more of these additional signals.

12. The method according to claim 1 or 2, in, The recurrent neural network includes one to four gated recurrent units.

13. The method according to claim 1 or 2, in, The sensor device can move relative to the magnetic source along a straight line or along a curve; Alternatively, the sensor device may be movable relative to the magnetic source within a two-dimensional plane.

14. A position sensor system, comprising: Magnetic source; A sensor device comprising a semiconductor substrate, the semiconductor substrate comprising a plurality of at least two magnetic sensors located at at least two different locations; A processing circuit configured to perform the method according to claim 1 or 2.

15. A position sensor device, comprising: A semiconductor substrate, the semiconductor substrate including at least two magnetic sensors spaced apart from each other and configured to provide at least two magnetic sensor signals; A processing circuit configured to perform the method according to claim 1 or 2.

16. The position sensor device of claim 15, further comprising an AI accelerator for performing the neural network.

17. The position sensor device according to claim 15, wherein, The artificial neural network is implemented in software, which is executed by an embedded digital processor.

Citation Information

Patent Citations

  • Device and system for testing magnetic devices

    EP3621091A1

  • Devices and methods for measuring a magnetic field gradient

    EP3885779A1

  • Device and method for determining an orientation of a magnet, and a joystick

    EP4105768A1

  • Hardware accelerator for compressed GRU on FPGA

    US20180046901A1

  • Stray field rejection in magnetic sensors

    US20190079142A1