IP Library Granted Patent US 12,307,351
Granted Patent B2
US 12,307,351 · App. 17/015,332 · Granted May 20, 2025

Method and apparatus for trimming sensor output using a neural network engine

Inventors: Vahid Foroutan (Bedford, NH); Khalid Chishti (Pepperell, MA)
Assignee: Allegro MicroSystems, LLC
G06N3/063G06N3/048G06N3/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,307,351
App. No.
17/015,332
Granted
May 20, 2025
Kind
B2
Abstract

A sensor is provided, comprising: a first sensing element that is arranged to generate, at least in part, a first signal; a second sensing element that is arranged to generate, at least in part, a second signal; and a neural network circuit that is configured to output an adjusted signal based on the first signal and the second signal.

Claims (49)

1. A sensor, comprising:

a first sensing element that is arranged to generate, at least in part, a first signal;

a second sensing element that is arranged to generate, at least in part, a second signal, the second signal being indicative of an environmental condition; and

a neural network circuit implementing a neural network that is configured to adjust the first signal based on the second signal, the neural network circuit including a control circuitry, a computation unit, a plurality of registers, and a first switching circuitry that is configured to couple the plurality of registers to the computation unit, the computation unit including an addition unit, a lookup table, and a second switching circuitry that is configured to couple to one another the plurality of registers, the addition unit, and the lookup table, the second switching circuitry being configured to provide, at least in part, a first data path that passes through the lookup table and extends from the addition unit to the plurality of registers, and a second data path that extends from the addition unit through the plurality of registers without passing through the lookup table, the control circuitry being configured to:

(i) cause the second switching circuitry to route, to the lookup table, each of a plurality of affine function values that are calculated by the addition unit,

(ii) cause the second switching circuitry to route, to a different one of the plurality of registers, each of a plurality of activation function values that are retrieved by the lookup table, each of the plurality of activation function values being retrieved based on a different one of the plurality of affine function values in a same clock cycle with the addition unit performing a last calculation of the affine function,

(iii) cause the second switching circuitry to route, to the addition unit, each of the plurality of activation function values from a different one of the plurality of registers, and

(iv) cause a calculation of a weighted sum of the plurality of activation function values so as to produce a value of the first signal that is corrected for changes in sensitivity of the first sensing element that are caused by the environmental condition,

wherein each of the plurality of activation function values corresponds to a different one of a plurality of neurons in a hidden layer of the neural network, and each of the plurality of affine function values also corresponds to a different one of the plurality of neurons in the hidden layer of the neural network.

2. The sensor of claim 1 , wherein the environmental condition includes at least one of temperature, humidity, and stress.

3. The sensor of claim 1 , wherein the first sensing element includes a Giant Magnetoresistance (GMR) element, and the second sensing element includes a temperature sensing element.

4. The sensor of claim 1 , wherein each of the plurality of activation function values is calculated in accordance with the equation of:

A =tan h ( Z )

where A is the activation function value, and Z is one of the plurality of affine function values based on which the activation function value is calculated.

5. A sensor, comprising:

a first sensing element that is arranged to generate, at least in part, a first signal, the first sensing element being one of a magnetic field sensing element, a pressure sensing element, or a light-sensing element;

a second sensing element that is arranged to generate, at least in part, a second signal, the second signal being indicative of an environmental condition; and

a neural network circuit implementing a neural network that is configured to adjust the first signal based on the second signal, the neural network circuit including a control circuitry, a computation unit, a plurality of registers, and a first switching circuitry that is configured to couple the plurality of registers to the computation unit, the computation unit including an addition unit, a lookup table, and a second switching circuitry that is configured to couple to one another the plurality of registers, the addition unit, and the lookup table, the second switching circuitry being configured to provide, at least in part, a first data path that passes through the lookup table and extends from the addition unit to the plurality of registers, and a second data path that extends from the addition unit through the plurality of registers without passing through the lookup table, the control circuitry being configured to:

(i) cause the second switching circuitry to route, to the lookup table, each of a plurality of affine function values that are calculated by the addition unit, each of the plurality of affine function values being a weighted sum of a sample of the first signal and a sample of the second signal,

(ii) cause the second switching circuitry to route, to a different one of the plurality of registers, each of a plurality of activation function values that are retrieved by the lookup table, each of the plurality of activation function values being retrieved based on a different one of the plurality of affine function values in a same clock cycle with the addition unit performing a last calculation of the affine function,

(iii) cause the second switching circuitry to route, to the addition unit, each of the plurality of activation function values from a different one of the plurality of registers, and

(iv) cause calculation of a weighted sum of the plurality of activation function values so as to produce a value of the first signal that is corrected for changes in sensitivity of the first sensing element that are caused by the environmental condition,

wherein each of the plurality of activation function values corresponds to a different one of a plurality of neurons in a hidden layer of the neural network, and each of the plurality of affine function values also corresponds to a different one of the plurality of neurons in the hidden layer of the neural network.

6. The sensor of claim 5 , wherein each of the plurality of activation function values is calculated in accordance with the equation of:

A =tan h ( Z )

where A is the activation function value, and Z is one of the plurality of affine function values based on which the activation function value is calculated.

7. The sensor of claim 5 , wherein the first sensing element includes a magnetic field sensing element.

8. The sensor of claim 5 , wherein the hidden layer is the only hidden layer in the neural network.

9. The sensor of claim 8 , wherein the second sensing element is integrated into the sensor or is separate from the sensor.

10. The sensor of claim 8 , wherein each of the affine function values is calculated in accordance with the equation of:

Z

=

[

W

1

W

2

]

[

V

1

V

2

]

+

B

where W 1 is a first weight value, W 2 is a second weight value, V 1 is a sample of the first signal, V 2 is a sample of the second signal, and B is a bias coefficient.

11. The sensor of claim 8 , wherein the environmental condition includes one of temperature, humidity, and stress.

Assignments (6)
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 053957/FRAME 0874 Recorded Nov 1, 2023
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: ALLEGRO MICROSYSTEMS, LLC
Reel/Frame 065420/0572 →
RELEASE OF SECURITY INTEREST IN PATENTS (R/F 053957/0620) Recorded Jun 22, 2023
From: MIZUHO BANK, LTD., AS COLLATERAL AGENT
To: ALLEGRO MICROSYSTEMS, LLC
Reel/Frame 064068/0360 →
PATENT SECURITY AGREEMENT Recorded Jun 22, 2023
From: ALLEGRO MICROSYSTEMS, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS THE COLLATERAL AGENT
Reel/Frame 064068/0459 →
PATENT SECURITY AGREEMENT Recorded Oct 1, 2020
From: ALLEGRO MICROSYSTEMS, LLC
To: MIZUHO BANK LTD., AS COLLATERAL AGENT
Reel/Frame 053957/0620 →
PATENT SECURITY AGREEMENT Recorded Oct 1, 2020
From: ALLEGRO MICROSYSTEMS, LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 053957/0874 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2020
From: CHISHTI, KHALID; FOROUTAN, VAHID
To: ALLEGRO MICROSYSTEMS, LLC
Reel/Frame 053723/0068 →
Continuity (1)
Related Publication 20220076105A1 · Mar 10, 2022
References Cited (56)
US 7923996B2 · Doogue et al. · 2011 [cited by applicant]
US 8030918B2 · Doogue et al. · 2011 [cited by applicant]
US 8054071B2 · Doogue et al. · 2011 [cited by applicant]
US 8350563B2 · Haas et al. · 2013 [cited by applicant]
US 8680846B2 · Cesaretti et al. · 2014 [cited by applicant]
US 8736260B2 · Foletto et al. · 2014 [cited by applicant]
US 8773123B2 · Doogue et al. · 2014 [cited by applicant]
US 9052349B2 · Haas et al. · 2015 [cited by applicant]
US 9354123B2 · Drouin et al. · 2016 [cited by applicant]
US 9395391B2 · Fernandez et al. · 2016 [cited by applicant]
US 9442170B2 · Drouin et al. · 2016 [cited by applicant]
US 9638764B2 · Cesaretti et al. · 2017 [cited by applicant]
US 9644999B2 · Foletto et al. · 2017 [cited by applicant]
US 10066965B2 · Foletto et al. · 2018 [cited by applicant]
US 10162017B2 · Cesaretti · 2018 [cited by applicant]
US 10636285B2 · Haas et al. · 2020 [cited by applicant]
US 10746818B2 · Cesaretti · 2020 [cited by applicant]
US 10845434B2 · Fernandez et al. · 2020 [cited by applicant]
US 11009565B2 · Fernandez et al. · 2021 [cited by applicant]
US 20090259609A1 · Dmytriw · 2009 [cited by examiner]
US 20120303565A1 · Deng · 2012 [cited by examiner]
US 20140046612A1 · Andelic et al. · 2014 [cited by applicant]
US 20170011288A1 · Brothers · 2017 [cited by examiner]
US 20190026250A1 · Das Sarma · 2019 [cited by examiner]
US 20200160161A1 · Yoo · 2020 [cited by examiner]
US 20210026874A1 · Ikeda · 2021 [cited by examiner]
US 20210034982A1 · Sather · 2021 [cited by examiner]
US 20210279561A1 · Yoshida · 2021 [cited by examiner]
US 20210390367A1 · Liu · 2021 [cited by examiner]
GB 2539681 · 2016 [cited by applicant]
Sarvan et al. (“Implementation of ANN Training Module on Field Programmable Gate Arrays.” 2019 Innovations in Intelligent Systems and Applications Conference (ASYU). IEEE, 2019). (Year: 2019). [cited by examiner]
Allegro MicroSystems LLC, Datasheet “A1340, A1341, and A1343 Sensor Temperature Compensation”, May 3, 2016, 7 pages. [cited by applicant]
Foresee et al. “Gauss-Newton Approximation to Bayesian Learning”, International Conference on Neural Networks, vol. 3, 1997, 6 pages. [cited by applicant]
Hagan et al. “Neural network design , 2 [cited by applicant]
Hagan et al. “Training Feedforward Networks with the Marquardt Algorithm”, IEEE, Transactions on Neural Networks 5, No. 6, Nov. 1994, 5 pages. [cited by applicant]
Hitotumatu “Complex arithmetic through CORDIC.” In Kodai Mathematical Seminar Reports, vol. 26, No. 2-3, Department of Mathematics, Tokyo Institute of Technology, Jun. 4, 1973, 11 pages. [cited by applicant]
Kok et al. “Giant magnetoresistance (GMR): Spinning from Research to Advanced Technology”, ASEAN Journal on Science and Technology for Development 19, No. 2, May 10, 2002, 12 pages. [cited by applicant]
Llamocca-Obregón et al. “A Fixed-Point Implementation of the Expanded Hyperbolic CORDIC Algorithm” Latin American Applied Research 37, No. 1, 2007, 10 pages. [cited by applicant]
MacKay et al. “Information Theory, Inference and Learning Algorithms”, Cambridge University Press, Mar. 28, 2005, 640 pages. [cited by applicant]
MacKay et al. “A Practical Bayesian Framework for Backpropagation Networks” Neural Computation 4, No. 3, 1992, 25 pages. [cited by applicant]
Neal “Bayesian Learning for Neural Networks”, Springer Science & Business Media, vol. 118, 2012, 195 pages. [cited by applicant]
Neal “Bayesian Training of Backpropagation Networks by the Hybrid Monte Carlo Method”, Technical Report CRG-TR-92-1, Dept. of Computer Science, University of Toronto, Apr. 10, 1992, 21 pages. [cited by applicant]
Nguyen et al. “Improving the Learning Speed of 2-Layer Neural Networks by Choosing Initial Values of the Adaptive Weights”, IEEE, IJCNN International Joint Conference on Neural Networks, 1990, 6 pages. [cited by applicant]
Raut et al. “A CORDIC based Configurable Activation Function for ANN Applications”, IEEE Computer Society Annual Symposium on VLSI (ISVLSI), 2020, 6 psges. [cited by applicant]
Sutton et al. “Reinforcement learning: An introduction”, MIT press, 2015, 352 pages. [cited by applicant]
Volder “The Birth of CORDIC”, J. VLSI Signal Process., vol. 25, 2000, 5 pages. [cited by applicant]
Volder “The CORDIC Trigonometric Computing Technique”, IRE Trans. Electron. Computers, vol. EC-8, 1959, 5 pages. [cited by applicant]
Walther “A unified algorithm for elementary functions.” Proceedings of the May 18-20, 1971, Spring Joint Computer Conference, 7 pages. [cited by applicant]
Search Report and Written Opinion dated Nov. 4, 2021 for PCT Application No. PCT/US2021/042499; 27 pages. [cited by applicant]
International Preliminary Reporting on Patentability dated Mar. 23, 2023 for PCT Application No. PCT/US2021/042499; 9 pages. [cited by applicant]
Hagan et al “Training Feedforward Networks with the Marquardt Algorithm”, IEEE Transactions on Neural Networks, vol. 5, No. 6, Nov. 1994, 5 pages. [cited by applicant]
Hu et al. “Expanding The Range Of Convergence Of The CORDIC Algorithm”, IEEE Transactions on Computers, vol. 40, No. 1, Jan. 1991, 9 pages. [cited by applicant]
Communication pursuant to Rules 161(1) and 162 EPC dated Jan. 31, 2023 for European Application No. 21752455.2, 3 pages. [cited by applicant]
Response to Communication pursuant to Rules 161(1) and 162 EPC dated Jan. 31, 2023 filed on Jul. 6, 2023 for European Application No. 21752455.2, 20 pages. [cited by applicant]
Ishwaran “Applications of Hybrid Monte Carlo to Bayesian Generalized Linear Models: Quasicomplete Separation and Neural Networks” Journal of Computational and Graphical Statistics 8, No. 4, 1999, 20 pages. [cited by applicant]
Marquardt “An algorithm for least-squares estimation of nonlinear parameters.” Journal of the society for Industrial and Applied Mathematics 11, No. 2, 1963, 12 pages. [cited by applicant]