Electronic device, and method for improving performance of geomagnetic sensor thereof
By recognizing multi-offset situations and selectively updating and using appropriate offsets for geomagnetic sensors, the method addresses the challenge of maintaining accurate azimuth measurements in electronic devices, enhancing both accuracy and user experience.
Patent Information
- Application Number
- PCT/KR2024/017014
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-08
- Filing Date
- 2024-11-01
- Publication Date
- 2025-06-19
AI Technical Summary
Geomagnetic sensors in electronic devices face challenges in maintaining accurate azimuth measurements due to environmental factors like holding magnetic objects, which cause offset variations and increase azimuth errors.
The method involves determining whether to update the offset of a geomagnetic sensor based on recognizing multi-offset situations, storing multiple offsets, and selecting the optimal offset for correcting geomagnetic measurement values to improve accuracy.
This approach enhances the accuracy of geomagnetic services and azimuth calculations by adaptively selecting the appropriate offset based on the user's situation, thereby reducing errors and improving user experience.
Smart Images

Figure KR2024017014_19062025_PF_FP_ABST
Abstract
Description
Method for improving the performance of electronic devices and their geomagnetic sensors
[0001] One embodiment disclosed in this document relates to an electronic device and a method for improving the performance of a geomagnetic sensor thereof.
[0002] An example of a sensor embedded in an electronic device is a geomagnetic sensor, which detects geomagnetism (or the Earth's magnetic field) by measuring the voltage value induced by geomagnetism using the Hall effect or a flux gate. The electronic device can use the geomagnetic sensor to calculate azimuth and, based on the calculated azimuth, provide various functions, such as indoor location tracking and compass functions. The electronic device can calibrate the geomagnetic sensor to accurately measure the surrounding magnetic field. The electronic device can correct the geomagnetic measurement value based on the offset (or error value) estimated through geomagnetic calibration.
[0003] The above information may be provided as background art to aid in understanding the present disclosure. No claim or determination is made as to whether any of the above-described matters constitute prior art related to the present disclosure.
[0004] Geomagnetic sensors can experience geomagnetic distortion (e.g., hard iron effect) due to environmental factors. Specifically, offsets can vary depending on whether the user is holding an object (e.g., a magnetic material) that can affect the magnetic field while wearing the electronic device during calibration.
[0005] For example, under the condition that a user wears an electronic device during a round of golf, the estimated offset may be different when holding a golf club with one hand and when not holding a golf club.
[0006] Typically, geomagnetic sensors are calibrated using the most recent offset. Therefore, if the offset is updated while holding a golf club, and then the compass function is used without the club, the azimuth error may increase. Furthermore, electronic devices typically guide users through calibration via the user interface (UI) before using compass functions (e.g., azimuth and direction guidance). Since electronic devices guide users through the UI every time they calibrate, this can be inconvenient for users.
[0007] Various embodiments propose a method and device that can improve the accuracy of services and azimuths related to a geomagnetic sensor by selecting an appropriate offset operation method according to a multiple offset situation.
[0008] However, the problem to be solved in this disclosure is not limited to the problem mentioned above, and may be expanded in various ways without departing from the spirit and scope of this disclosure.
[0009] An electronic device according to one embodiment may include a first sensor that measures geomagnetic information. The electronic device according to one embodiment may include a processor and a memory that stores instructions executable by the processor. The instructions according to one embodiment may cause the electronic device to determine whether to update an offset of the first sensor when recognizing a multi-offset situation. The instructions according to one embodiment may cause the electronic device to store a first offset estimated based on first geomagnetic measurements measured from the first sensor in the memory when a first offset update is determined, and to obtain a second offset estimated based on second geomagnetic measurements measured from the first sensor when a second offset update is determined. The instructions according to one embodiment may cause the second offset to be stored when the second offset is different from the stored first offset. The instructions according to one embodiment may enable selecting one of the stored first offsets and the second offsets to correct a third geomagnetic measurement value measured from the first sensor. The instructions according to one embodiment may enable correcting the third geomagnetic measurement value with the selected offset from the first offset and the second offset.
[0010] A method for improving the performance of a geomagnetic sensor of an electronic device according to one embodiment may include an operation of determining whether to update an offset of the first sensor when recognizing a multi-offset situation. The method according to one embodiment may include an operation of storing a first offset estimated based on first geomagnetic measurements measured from the first sensor at a time when the first offset update is determined. The method according to one embodiment may include an operation of obtaining a second offset estimated based on second geomagnetic measurements measured from the first sensor at a time when the second offset update is determined. The method according to one embodiment may include an operation of storing the second offset when the second offset is different from the stored first offset. The method according to one embodiment may include an operation of selecting one of the stored first offsets and the second offsets for correcting a third geomagnetic measurement value measured from the first sensor. The method according to one embodiment may include an operation of correcting the third geomagnetic measurement value with an offset selected from the first offset and the second offset.
[0011] An electronic device according to one embodiment may include a computer-readable recording medium having recorded thereon a program for implementing a method for improving the performance of a geomagnetic sensor. A non-transitory computer-readable recording medium according to one embodiment of the present disclosure may store at least one command and / or instruction that, when executed, causes the electronic device to perform the method or operation described above.
[0012] Additional aspects will be partly set forth in the following description, and partly will be obvious from the description, or may be understood by reference to the examples presented.
[0013] Electronic devices, methods and recording media according to various embodiments can improve azimuth accuracy by switching to a multi-offset method that stores a plurality of offsets based on multi-offset situation recognition, and correcting geomagnetic measurements by selecting an optimal offset among the stored offsets at the time of confirming azimuth.
[0014] Electronic devices, methods and recording media according to various embodiments can improve service performance related to a geomagnetic sensor by storing offsets in situations where a user wearing the electronic device holds an object that affects a magnetic body, for example, a golf club, and in situations where the user does not hold a golf club, and selecting an optimal offset suitable for the time of measuring the azimuth.
[0015] The effects that can be obtained from the present disclosure are not limited to the effects mentioned above, and other effects that are not mentioned can be clearly understood by a person having ordinary skill in the art to which the present disclosure belongs from the description below.
[0016] In connection with the description of the drawings, the same or similar reference numerals may be used for the same or similar components.
[0017] FIG. 1 is a block diagram of an electronic device within a network environment according to one embodiment.
[0018] Figure 2 illustrates a schematic configuration of an electronic device according to one embodiment.
[0019] Figure 3 illustrates various distortion forms of geomagnetic data according to one embodiment.
[0020] FIG. 4 illustrates a method for improving the performance of a geomagnetic sensor of an electronic device according to one embodiment.
[0021] FIG. 5 is a flowchart illustrating an operation for determining whether to additionally store an offset of an electronic device according to one embodiment.
[0022] FIG. 6 illustrates a method for improving the performance of a geomagnetic sensor of an electronic device according to one embodiment.
[0023] Figure 7 illustrates an example of two-dimensional representation of geomagnetic data according to one embodiment.
[0024] FIG. 8 illustrates a method for improving the performance of a geomagnetic sensor of an electronic device according to one embodiment.
[0025] FIG. 9 illustrates a user interface screen of a situation in which the performance of a geomagnetic sensor of an electronic device is improved according to one embodiment.
[0026] In connection with the description of the drawings, the same or similar reference numerals may be used for the same or similar components.
[0027] The following description, with reference to the accompanying drawings, is provided to facilitate a comprehensive understanding of various embodiments of the present disclosure as defined by the claims and their equivalents. While it includes numerous specific details to aid understanding, these are to be considered merely illustrative. Accordingly, those skilled in the art will recognize that various changes and modifications can be made to the various embodiments described herein without departing from the scope and spirit of the present disclosure. Furthermore, descriptions of well-known functions and configurations may be omitted for clarity and brevity.
[0028] The terms and words used in the following description and claims are not limited to their bibliographic meanings and are merely used by the inventors to facilitate a clear and consistent understanding of the present invention. Therefore, the present invention is not limited to these embodiments. It should be apparent to those skilled in the art that the following description of various embodiments is provided for illustrative purposes only, and is not intended to limit the present invention as defined by the appended claims and their equivalents.
[0029] Expressions in the singular form should be understood to include plural referents unless the context clearly dictates otherwise. Thus, for example, a reference to "component surfaces" may include reference to one or more of those surfaces.
[0030] Electronic devices according to the embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments disclosed in this document are not limited to the aforementioned devices.
[0031] FIG. 1 is a block diagram of an electronic device (101) within a network environment (100) according to one embodiment.
[0032] Referring to FIG. 1, in a network environment (100), an electronic device (101) may communicate with an electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of an electronic device (104) or a server (108) via a second network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) via the server (108). According to one embodiment, the electronic device (101) may include a processor (120), a memory (130), an input module (150), an audio output module (155), a display module (160), an audio module (170), a sensor module (176), an interface (177), a connection terminal (178), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197). In some embodiments, the electronic device (101) may omit at least one of these components (e.g., the connection terminal (178)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (176), the camera module (180), or the antenna module (197)) may be integrated into one component (e.g., the display module (160)).
[0033] The processor (120) may, for example, execute software (e.g., a program (140)) to control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) and perform various data processing or calculations. According to one embodiment, as at least a part of the data processing or calculations, the processor (120) may store commands or data received from other components (e.g., a sensor module (176) or a communication module (190)) in a volatile memory (132), process the commands or data stored in the volatile memory (132), and store result data in a non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or a secondary processor (123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor)) that can operate independently or together therewith. For example, if the electronic device (101) includes a main processor (121) and a secondary processor (123), the secondary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a specified function. The secondary processor (123) may be implemented separately from the main processor (121) or as a part thereof.
[0034] The auxiliary processor (123) may control at least a portion of functions or states associated with at least one component (e.g., a display module (160), a sensor module (176), or a communication module (190)) of the electronic device (101), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (180) or a communication module (190)). In one embodiment, the auxiliary processor (123) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, in the electronic device (101) itself where artificial intelligence is performed, or can be performed through a separate server (e.g., server (108)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include multiple artificial neural network layers.The artificial neural network may be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.
[0035] The memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101). The data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto. The memory (130) can include volatile memory (132) or non-volatile memory (134).
[0036] The program (140) may be stored as software in the memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).
[0037] The input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101). The input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0038] The audio output module (155) can output audio signals to the outside of the electronic device (101). The audio output module (155) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
[0039] The display module (160) can visually provide information to an external party (e.g., a user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. In one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.
[0040] The audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150), output sound through the sound output module (155), or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (101).
[0041] The sensor module (176) can detect the operating status (e.g., power or temperature) of the electronic device (101) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0042] The interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., the electronic device (102)). In one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0043] The connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0044] A haptic module (179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. In one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
[0045] The camera module (180) can capture still images and videos. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
[0046] The power management module (188) can manage power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented, for example, as at least a part of a power management integrated circuit (PMIC).
[0047] A battery (189) may power at least one component of the electronic device (101). In one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0048] The communication module (190) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may operate independently from the processor (120) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (194) (e.g., a local area network (LAN) communication module, or a power line communication module). Among these communication modules, the corresponding communication module can communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules can be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can verify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196).
[0049] The wireless communication module (192) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (192) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), an external electronic device (e.g., the electronic device (104)), or a network system (e.g., the second network (199)). According to one embodiment, the wireless communication module (192) can support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC realization.
[0050] The antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In one embodiment, the antenna module (197) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as the first network (198) or the second network (199), may be selected from the plurality of antennas by, for example, the communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device through the selected at least one antenna. In some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (197).
[0051] In one embodiment, the antenna module (197) may form a mmWave antenna module. In one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high-frequency band.
[0052] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
[0053] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199). Each of the external electronic devices (102 or 104) may be the same or a different type of device as the electronic device (101). According to one embodiment, all or part of the operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 104, or 108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In another embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server utilizing machine learning and / or a neural network. According to one embodiment, the external electronic device (104) or the server (108) may be included in the second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
[0054] Figure 2 illustrates a schematic configuration of an electronic device according to one embodiment.
[0055] Referring to FIG. 2, an electronic device (101) according to one embodiment may be a wearable electronic device that can be worn on a user's body, but is not limited thereto.
[0056] According to one embodiment, the electronic device (101) may include a display (210), a geomagnetic sensor (220), a communication circuit (230), a positioning module (240), a processor (120), and a memory (130).
[0057] The display (210) can visually provide information of the electronic device. For example, the display (210) can display a user interface (UI) related to an application that supports a service provided by the electronic device. As an example, the display (210) may be configured as a touchscreen display. The display (210) may be substantially identical to the display module (160) of FIG. 1 or may include some of its components.
[0058] The geomagnetic sensor (220) may be formed as a sensor that measures the surrounding magnetic field using the Hall effect (e.g., a phenomenon in which a potential difference is generated in a direction orthogonal to the direction of the magnetic field / current when a current flows in a conductor perpendicular to the direction of the magnetic field) or a sensor that uses a flux gate. The geomagnetic sensor (220) may measure the strength and direction (e.g., azimuth) of geomagnetism. For example, the geomagnetic sensor (220) may include a three-axis geomagnetic sensor that may measure geomagnetism (Mx, My, Mz) of the x-axis, y-axis, and z-axis, respectively. The geomagnetic sensor (220) may be a part of the sensor module (176) of FIG. 1. The geomagnetic sensor (220) may transmit geomagnetic measurement values (or geomagnetic data) to the processor (120). The unit of the geomagnetic measurement value may be μT (micro Tesla) or nT (nano Tesla).
[0059] The geomagnetic sensor (220) can be used to display azimuth. For example, the processor (120) can use geomagnetic measurements to display the direction and / or angle of movement of a user when using a navigation or map service, and can provide information on the east, west, south, and north directions when using a compass.
[0060] In the city of FIG. 2, only the geomagnetic sensor (220) is shown, but the electronic device (101) may further include various sensors (e.g., a wearing detection sensor, a motion sensor, an acceleration sensor, and / or a gyro sensor, etc.) in addition to the geomagnetic sensor (220).
[0061] The communication circuit (230) can transmit and receive data with an external electronic device. For example, the communication circuit (230) can receive reference magnetic field information (e.g., magnetic field information based on a world magnetic model (WMM)) from an external electronic device (e.g., the electronic device (102), the electronic device (104), or the server (108) of FIG. 1). As another example, the communication circuit (230) can download information necessary for position measurement of the positioning module (240) through a network. When the positioning module (240) is unavailable, the communication circuit (230) can also be used to calculate the position of the electronic device (101) based on a network (e.g., mobile country code (MCC), mobile network code (MNC, GPS, Lat / Lng, and / or Wi-Fi information).
[0062] The positioning module (240) may include a position sensor that detects the position of the electronic device (101). For example, the positioning module (240) may receive satellite information from a global navigation satellite system (GNSS) to calculate the position of the electronic device (101). According to some embodiments, the positioning module (240) may be implemented as a part of the communication circuit (230) or the communication module (190).
[0063] According to one embodiment, the memory (130) may store instructions executable by the processor (120). Such instructions may include control commands such as arithmetic and logical operations, data movement, or input / output that may be processed by the processor (120). For example, according to one embodiment, a non-transitory computer-readable storage medium may store one or more instructions that, when executed by the electronic device (101), cause the electronic device (101) to perform the illustrated method and / or operation.
[0064] For example, the memory (130) can store information related to the geomagnetic sensor (e.g., offset).
[0065] According to one embodiment, the processor (120) may be operatively, functionally and / or electrically connected to a display (210), a geomagnetic sensor (220), a communication circuit (230), a positioning module (240) and / or a memory (130).
[0066] According to one embodiment, the processor (120) is a configuration capable of performing calculations or data processing related to control and / or communication of each component of the electronic device (101), and may be formed of one or more processors. There is no limitation to the calculation and data processing functions that the processor (120) may implement on the electronic device (101), but in this document, various operations for improving the performance of the geomagnetic sensor (220) can be processed.
[0067] According to one embodiment, the processor (120) can control to operate (or manage) a service related to the geomagnetic sensor (220) in a single offset manner of storing one offset by updating with the latest offset and / or in a multi-offset manner of storing at least two offsets.
[0068] According to one embodiment, the processor (120) may determine whether to additionally store a new offset along with a previous offset (or an existing stored offset) each time a geomagnetic calibration is performed when a multi-offset situation is recognized in which at least two or more rigid distortions may be repeatedly crossed.
[0069] According to one embodiment, the processor (120) can select an optimal offset (e.g., an offset for correction) corresponding to a geomagnetic measurement value (or geomagnetic data) at the time of measuring the azimuth among at least two stored offsets to correct the geomagnetic measurement value.
[0070] An electronic device (101) according to one embodiment includes a first sensor (210) for measuring geomagnetic information, a processor (120), and a memory (130) for storing instructions executable by the processor, wherein the instructions are configured to cause the electronic device (101) or the electronic device (101) according to one embodiment to include a first sensor (210) for measuring geomagnetic information, a processor (120), and a memory (130) for storing instructions executable by the processor, wherein the instructions are configured to cause the electronic device to determine whether to update an offset of the first sensor when recognizing a multi-offset situation, and to store a first offset estimated based on first geomagnetic measurements measured from the first sensor in the memory at a time when the first offset update is determined, and to obtain a second offset estimated based on second geomagnetic measurements measured from the first sensor at a time when the second offset update is determined, and to store the second offset in the stored first offset. If it is different from the offset, the second offset is stored, and one of the stored first offset and the second offset is selected to correct the third geomagnetic measurement value measured from the first sensor, and the third geomagnetic measurement value is corrected with the selected offset from the first offset and the second offset.
[0071] According to one embodiment, the memory may further include instructions for storing the second offset, storing the second offset together with the first offset when the Euclidean distance between the first offset and the second offset is greater than a threshold value, using the Euclidean distance between the first offset and the second offset, under the condition that the validity time of the first offset has not elapsed, and updating the first offset to the second offset and storing it when the validity time of the first offset has elapsed or the Euclidean distance between the second offset and the first offset is less than the threshold value.
[0072] According to one embodiment, the memory may further include instructions for recognizing a multi-offset situation upon detection of a predefined event or execution of a specific application in which a geomagnetic sensor is activated.
[0073] According to one embodiment, the electronic device further comprises a communication circuit and at least one second sensor,
[0074] The memory may further include instructions for recognizing the multiple offset situation based on location information and operation information of the electronic device collected through the communication circuit and the at least one second sensor.
[0075] According to one embodiment, the memory may further include an instruction for selecting an offset having the highest validity among the stored offsets based on information about the difference between the distance A between the third geomagnetic measurement value and each offset and the radius B of each offset as an operation of selecting one of the offsets.
[0076] According to one embodiment, the memory may further include instructions that, when the multiple offset situation is recognized as having ended, cause the second offset to update the previously stored first offset to change it to a single offset manner that stores only one offset.
[0077] According to one embodiment, the memory may further include an instruction for selecting one offset based on at least one previous offset among the offsets stored in the memory as the operation of changing in the single offset manner.
[0078] According to one embodiment, the memory may further include instructions for determining whether to update the offset by performing geomagnetic calibration when the geomagnetic measurements are collected in a pattern similar to an eight-figure calibration motion.
[0079] According to one embodiment, a specific application in which the geomagnetic sensor is activated may include an application providing a geomagnetic measurement service or a golf service application.
[0080] According to one embodiment, the memory may further include instructions for performing in parallel an operation of calibrating the geomagnetic sensor and an operation of estimating and storing the offset. When recognizing a multi-offset situation, the memory may determine whether to update the offset of the first sensor, and, at a time when the first offset update is determined, store a first offset estimated based on first geomagnetic measurements measured from the first sensor in the memory, obtain a second offset estimated based on second geomagnetic measurements measured from the first sensor, and, if the second offset is different from the stored first offset, store the second offset, select one offset for correcting a third geomagnetic measurement value measured from the first sensor among the stored first offset and the second offset, and correct the third geomagnetic measurement value with the selected offset among the first offset and the second offset.
[0081] According to one embodiment, the processor (120) may be configured to store the second offset, and under the condition that the validity time of the first offset has not elapsed, store the second offset together with the first offset by using the Euclidean distance between the first offset and the second offset when the Euclidean distance between the second offset and the first offset is greater than a threshold, and update the first offset to the second offset and store it when the validity time of the first offset has elapsed or the Euclidean distance between the second offset and the first offset is less than the threshold.
[0082] According to one embodiment, the processor (120) may be configured to recognize a multi-offset situation upon detection of a predefined event or execution of a specific application in which a geomagnetic sensor is activated.
[0083] According to one embodiment, the electronic device further includes a communication circuit and at least one second sensor, and the processor (120) may be configured to recognize the multi-offset situation based on location information and operation information of the electronic device collected through the communication circuit and the at least one second sensor.
[0084] According to one embodiment, the processor (120) may be configured to select an offset having the highest validity among the stored offsets based on information about the difference between the distance A between the third geomagnetic measurement value and each offset and the radius B of each offset as an operation of selecting one of the above offsets.
[0085] According to one embodiment, the processor (120) may be configured to change the second offset to a single offset method that updates the previously stored first offset when the multiple offset situation is recognized as being over, thereby storing only one offset.
[0086] According to one embodiment, the processor (120) may be configured to select one offset based on at least one of the previous offsets stored in the memory as an operation for changing in the single offset manner.
[0087] According to one embodiment, the processor (120) may be configured to perform geomagnetic calibration to determine whether to update the offset, if the geomagnetic measurement values are collected in a pattern similar to an 8-character calibration motion, as an operation for determining whether to update the offset.
[0088] According to one embodiment, a specific application in which the geomagnetic sensor is activated may include an application providing a geomagnetic measurement service or a golf service application.
[0089] According to one embodiment, the processor (120) may be configured to perform in parallel an operation of calibrating the geomagnetic sensor and an operation of estimating and storing the offset.
[0090] Figure 3 illustrates various distortion forms of geomagnetic data according to one embodiment.
[0091] Referring to FIG. 3, the geomagnetic sensor (220) may be a sensor that detects geomagnetic measurement values (or geomagnetic data) by measuring a voltage value induced by geomagnetism using the Hall effect or a flux-gate. The geomagnetic sensor (220) may be implemented in three axes (e.g., x-axis, y-axis, z-axis). The geomagnetic measurement values may be distorted due to the surrounding environment that affects the magnetic force.
[0092] For example, rigid distortions (e.g., hard iron effect, spherical center-of-gravity distortion) caused by magnetic materials embedded in or external to the electronic device can affect offset-related behaviors.
[0093] According to one embodiment, when providing a golf guide or golf navigation service, the electronic device (101) can activate the geomagnetic sensor (210) to utilize geomagnetic information in various ways. The electronic device (101) can provide the user with various functions using geomagnetic information, such as location information of the electronic device (101), hole information, distance information to the hole, and hole direction information.
[0094] However, the offset may vary due to differences in the distribution of geomagnetic measurements when the user holds an external magnetic body (e.g., a golf club) while wearing the electronic device (101) and when the user does not hold the external magnetic body.
[0095] The electronic device according to the comparative example (or the conventional one) operates the geomagnetic service in a single-offset manner, storing only the most recently updated offset. However, in cases where distortion situations repeatedly alternate, such as when a golf club is being held or not held, the electronic device according to the comparative example (or the conventional one) may apply a distorted offset that is inappropriate for the situation when providing azimuth due to the application of a single offset, resulting in errors in the final calculated azimuth.
[0096] For example, a distribution of geomagnetic measurements collected while wearing an electronic device and holding a magnetic body (e.g., a golf club) may be measured in a distorted form such as the first sphere (310), and a distribution of geomagnetic measurements collected while wearing an electronic device and not holding a magnetic body may be measured in a distorted form such as the second sphere (320). The center point of each sphere may indicate a geomagnetic offset from the origin of the reference magnetic field (e.g., 0.0.0), and the radius of the sphere may indicate the strength of the magnetic field.
[0097] If the offset of the electronic device is updated while the user is holding the golf club, the electronic device may store the coordinates of the center point (315) of the first sphere (310) as an offset. Thereafter, if the user uses the compass function of the electronic device while not holding the golf club, the azimuth is measured based on the coordinates of the center point (315) of the first sphere (310) that are updated while the golf club is held, and thus an azimuth error may occur. When the user is not holding the golf club, the geomagnetic measurement value must be corrected based on the coordinates of the center point (325) of the second sphere (320) in order to measure an accurate azimuth.
[0098] As described above, a multi-offset situation may occur depending on whether an external magnetic body that can affect the geomagnetic offset is present. Below, operations that can improve the performance of the geomagnetic sensor (220) in a multi-offset situation will be described.
[0099] In the following examples, the operations may be performed sequentially, but are not necessarily sequential. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.
[0100] FIG. 4 illustrates a method for improving the performance of a geomagnetic sensor of an electronic device according to one embodiment.
[0101] In FIG. 4, each operation is performed through the interaction of a processor (120) and a memory (130), and can be operated through software modules implemented in relation to each operation (e.g., configurations implemented on a framework). The processor (120) of the electronic device (101) can control each operation by executing instructions stored in the memory (130).
[0102] In operation 410, the processor (120) can recognize a multi-offset situation. Based on the recognition of the multi-offset situation, the processor (120) can control to manage / operate the geomagnetic service in a multi-offset manner that stores at least two offsets instead of a single-offset manner that stores one offset by updating it with the latest offset.
[0103] In one embodiment, the processor (120) may recognize a multi-offset situation when a predefined event is detected as a multi-offset situation or when a specific application is executed in which a geomagnetic sensor is activated. For example, the electronic device (101) may recognize a multi-offset situation when executing a golf service / golf navigation application that supports service information for golf exercises.
[0104] According to one embodiment, the processor (120) can recognize a multi-offset situation based on location information, motion information, and context information of the electronic device (101). For example, the electronic device (101) can recognize a multi-offset situation based on at least one of whether the electronic device is located within a golf course, whether a golf service application is running, whether exercise records are running, and whether a golf meeting (or schedule) is being recorded.
[0105] In operation 420, the processor (120) can obtain geomagnetic measurement values (or geomagnetic data group) for geomagnetic calibration from the geomagnetic sensor (210).
[0106] For example, a geomagnetic sensor (210) can measure the strength of a magnetic field by measuring a potential difference generated by transmitting a current into the interior of a conductor under the control of a processor (120). The geomagnetic measurement value (or geomagnetic data) includes information about the strength and direction of the surrounding magnetic field, and output values in a three-dimensional space (e.g., x, y, z axis) (e.g., (coordinate values) can be used.
[0107] In operation 430, the processor (120) may perform calibration on the geomagnetic measurements (or geomagnetic data group) to estimate a geomagnetic offset (center point of a sphere) (e.g., a new offset).
[0108] For example, the processor (120) can monitor geomagnetic measurements and determine an offset update point (or geomagnetic calibration point) when data satisfying a pattern similar to an 8-character calibration motion is acquired by monitoring geomagnetic measurements and enabling offset update through the geomagnetic measurements.
[0109] The processor (120) can estimate the offset by performing geomagnetic calibration at the time of offset update. Geomagnetic calibration can find a sphere that can represent geomagnetic measurement values and estimate the center point of the sphere as the offset. For example, the center point of the sphere can be calculated using at least one of the least square algorithm, the gradient descent algorithm, the Gauss-Newton algorithm, or the Levenberg-Marquardt algorithm.
[0110] In operation 440, the processor (120) may compare the estimated offset (e.g., new offset) with the previous offset (or existing stored offset) to determine whether to additionally store the estimated offset or update the previous offset with the newly estimated offset. Hereinafter, a method for determining whether to store a new offset when acquired will be described with reference to FIG. 5.
[0111] According to one embodiment, the processor (120) may store an estimated offset (e.g., a new offset) when the validity time of the previous offset (e.g., a set amount of time elapsed from the time recorded in the timestamp) has elapsed.
[0112] According to one embodiment, the processor (120) may store the estimated offset (e.g., new offset) together with the previous offset if the distance (e.g., Euclidean distance) between the estimated offset (e.g., new offset) and the previous offset is greater than a threshold, provided that the validity time of the previous offset has not elapsed.
[0113] According to another embodiment, the processor (120) may update the previous offset with the estimated offset (e.g., new offset) if the validity time of the previous offset has not elapsed, but the distance (e.g., Euclidean distance) between the estimated offset (e.g., new offset) and the previous offset is less than a threshold.
[0114] The geomagnetic offset information stored in the electronic device (101) may include the fields shown in Table 1 below.
[0115] Timestamp The time at which the geomagnetic offset was estimated X-axis offset value (X-axis value of the center point of the estimated sphere) Y-axis offset value (Y-axis value of the center point of the estimated sphere) Z-axis offset value (Z-axis value of the center point of the estimated sphere)rRadius of the estimated sphere
[0116] In operation 450, the processor (120) may select one of the stored offsets (e.g., a valid offset) based on obtaining a new geomagnetic measurement value (e.g., geomagnetic data measured at the time of measuring the azimuth). In one embodiment, the processor (120) may determine the validity of each offset based on the distance between the stored offsets and the geomagnetic measurement value and the offset radius. For example, as illustrated in FIG. 7, the processor (120) may select the offset with the highest validity for each offset, and a specific description of the valid offset will be described in FIG. 7.
[0117] The validity of each offset can be determined by the following [Mathematical Formula 1].
[0118]
[0119] According to one embodiment, the electronic device (101) can select the offset with the highest validity among the offsets by checking the average validity value over a certain period of time (e.g., 1 second) due to noise of the geomagnetic sensor (220) itself.
[0120] In operation 460, the processor (120) can correct the geomagnetic measurement value (e.g., geomagnetic data measured at the time of measuring the azimuth) with the determined offset.
[0121] For example, the processor (120) can correct the geomagnetic measurement value (or geomagnetic data) by subtracting an offset value from the geomagnetic measurement value (e.g., coordinate value).
[0122] In operation 470, if the processor (120) recognizes that the multi-offset situation has ended, it can change to a single offset that stores only one offset.
[0123] According to one embodiment, when changing from a multi-offset method to a single-offset method, the processor (120) may designate (or select) one of the stored offsets as a single offset. The processor (120) may select one offset as a single offset based on at least one of an offset update time and a Euclidean distance between offsets among the offsets stored in the memory (130).
[0124] For example, the processor (120) may select the most recently updated offset as a single offset, or the most valid offset for the last measured geomagnetic measurement.
[0125] For another example, the processor (120) may select an offset with the highest score based on a score according to an offset update time and a score according to a Euclidean distance between offsets using the following [Mathematical Formula 2].
[0126]
[0127]
[0128]
[0129]
[0130] In [Mathematical Formula 3], Score_Time is a score based on the offset update time. The closer the offset update time (T_offset) is to the current time (T_now), the closer it is to 1. The closer the offset is to 0 as time passes. In [Mathematical Formula 4], Score_Validity is a validity score. The closer it is to 1 as the validity is high. Here, validity offset is the validity of the current offset measured by [Mathematical Formula 1], and validity minmay mean a minimum validity value. The electronic device (101) may select either the update time or the validity as a weight by calculating the weighted average of the scores of Score_Time and Score_Validity. For example, based on [Mathematical Formula 5], if the weight w_Time corresponding to the offset update time is 1, the most recently updated offset may be selected as a single offset, and if the weight w_Validity corresponding to the validity is 1, the offset with the highest validity may be selected as a single offset.
[0131] FIG. 5 is a flowchart illustrating an operation for determining whether to additionally store an offset of an electronic device according to one embodiment.
[0132] Referring to FIG. 5, according to one embodiment, in operation 510, the processor (120) of the electronic device (101) may obtain a newly estimated offset (hereinafter, a new offset, a second offset) by geomagnetic calibration. The processor (120) may obtain the newly estimated offset by performing operations 410 to 430 of FIG. 4. For example, when a multi-offset situation is recognized and an offset update is required or geomagnetic calibration must be performed, the processor (120) may perform geomagnetic calibration to obtain a newly estimated new offset.
[0133] An electronic device (101) operating in a multi-offset manner can store at least one offset (hereinafter, first offsets).
[0134] In operation 520, the processor (120) can remove a timed-out offset from among the offsets stored in the memory (130).
[0135] According to one embodiment, when a new offset (e.g., a second offset) is acquired, the processor (120) may remove, from the offset list, offsets among the previously stored offsets (e.g., first offsets) whose validity time (e.g., a set amount of time elapsed from the time recorded in the timestamp) has elapsed. The validity time may be set (or operated) to variably change depending on the frequency with which the offset is updated.
[0136] In operation 530, the processor (120) can calculate the similarity between the acquired new offset (e.g., the second offset) and the previous offset (or the existing stored offset, the first offset).
[0137] The similarity can be determined by the following [Mathematical Formula 6] using the Euclidean distance between offsets.
[0138]
[0139] In operation 540, the processor (120) can determine whether the new offset and the previous offset are similar.
[0140] In operation 550, the processor (120) may update the previous offset to the new offset if the new offset and the previous offset are similar (yes in operation 540).
[0141] In operation 560, if the new offset is not similar to the previous offset (no in operation 540), the processor (120) may maintain the stored previous offset and additionally store the new offset.
[0142] According to one embodiment, the processor (120) may consider the newly estimated offset (e.g., the second offset) as a new offset and additionally store it if the Euclidean distance between the newly estimated offset (e.g., the second offset) and the offset with the highest similarity among the previous offsets (or the previously stored first offset) is greater than a threshold. Conversely, the processor (120) may update the offset with the highest similarity among the existing offsets (e.g., the first offset) to the newly estimated offset (e.g., the second offset) if the Euclidean distance between the newly estimated offset (e.g., the second offset) and the offset with the highest similarity is less than a threshold.
[0143] In operation 570, the processor (120) determines whether the offset storage process is terminated, and if so, terminates the process of FIG. 5, and if not, returns to operation 510.
[0144] FIG. 6 illustrates a method for improving the performance of a geomagnetic sensor of an electronic device according to one embodiment, and FIG. 7 illustrates a form in which geomagnetic data is represented in two dimensions according to one embodiment.
[0145] Referring to FIG. 6, in operation 610, the processor (120) of the electronic device (101) may detect the occurrence of a multiple offset event. For example, the processor (120) may determine that a multiple offset event has been detected when executing a golf service / golf navigation application that supports service information for golf exercise.
[0146] According to some embodiments, the processor (120) may determine that a multi-offset event has been detected based on the recognition of a multi-offset situation based on location information, motion information, and context information of the electronic device (101).
[0147] In operation 620, the processor (120) can determine whether to update the offset.
[0148] According to one embodiment, the electronic device (101) may be configured to monitor geomagnetic measurements transmitted from a geomagnetic sensor (210) to perform offset update or calibration (or offset update point, or calibration point) when an offset update is possible through the geomagnetic measurements, or a data group satisfying a pattern similar to an 8-character calibration motion is acquired.
[0149] In operation 630, the processor (120) may perform calibration (e.g., first calibration) to obtain an estimated first offset.
[0150] For example, the processor (120) can find a sphere based on geomagnetic measurement values (or geomagnetic data group) required for geomagnetic calibration, and estimate the center point of the sphere as the first offset.
[0151] In operation 640, the processor (120) can compensate the geomagnetic sensor (220) with a first offset.
[0152] For example, the processor (120) can correct the measured geomagnetic measurement value (e.g., geomagnetic data) at the time of measuring the azimuth with a first offset, and execute a service function related to the geomagnetic sensor by reflecting the corrected result.
[0153] In one embodiment, operation 640 may be omitted or may be performed at the time of execution of a geomagnetic service function (e.g., a compass function).
[0154] In operation 650, the processor (120) can perform calibration (e.g., secondary calibration) to obtain an estimated second offset.
[0155] For example, the processor (120) can find a new sphere based on the geomagnetic measurement values (or geomagnetic data group) acquired during geomagnetic calibration, and estimate the center point of the sphere as a second offset.
[0156] In operation 660, the processor (120) can compare the first offset and the second offset to determine whether to store the second offset.
[0157] According to one embodiment, the processor (120) may store the second offset as a new offset when the validity time of the first offset (e.g., a set amount of time elapsed from the time recorded in the timestamp) has elapsed.
[0158] According to one embodiment, the processor (120) may additionally store the second offset as a new offset together with the first offset if the distance (e.g., Euclidean distance) between the second offset and the first offset is greater than a threshold, under the condition that the validity time of the first offset has not elapsed.
[0159] According to one embodiment, the processor (120) may update the first offset to the second offset if the validity time of the first offset has not elapsed, but the distance (e.g., Euclidean distance) between the second offset and the first offset is less than a threshold.
[0160] In operation 670, the processor (120) may select any one of the offsets (e.g., effective offset) for geomagnetic sensor calibration when storing the first offset and the second offset.
[0161] According to one embodiment, the processor (120) may determine the validity of each offset based on the distance between the stored offsets and the geomagnetic measurement value and the offset radius, and select the offset with the highest validity (e.g., a valid offset) for each offset. Operation 670 is identical to operation 450, and the validity of each offset may be determined by [Mathematical Formula 1] mentioned in operation 450.
[0162] If we explain this diagrammatically, <701> As illustrated, it is assumed that there are a first sphere (710) and a second sphere (720) that are secondarily diagrammed geomagnetic measurement values, and a first measurement value (730). For example, the first sphere (710) may be a first offset (offset A) (715) estimated by geomagnetic measurement values collected in a state where a user wearing an electronic device holds a golf club, and the second sphere (720) may be a second offset (offset B) (725) estimated by geomagnetic measurement values collected in a state where a user wearing an electronic device does not hold a golf club. The first measurement value (730) may mean geomagnetic data measured at the time of measuring the azimuth. The electronic device (101) can check the radius (Ra) of the first sphere (710) and the corresponding first offset (offset A), and the radius (Rb) of the second sphere (720) and the corresponding second offset (offset B).
[0163] The electronic device (101) can determine the first offset (offset A) as the effective offset by checking the distance between the first measurement value (730) and each offset. For example, the distance between the first offset (715) and the first measurement value (730) and the radius of the first offset (715) The difference between The distance between the second offset (725) and the measured value and the radius of the second offset The difference between Since it is smaller, it can be determined that the first offset (715) is a more valid offset.
[0164] In operation 680, the processor (120) can calibrate the geomagnetic sensor with the selected offset.
[0165] If we illustrate the data calibration for the geomagnetic sensor in two dimensions, <702> As illustrated, in a distorted state of geomagnetic measurements, the center point (745) of the sphere (740) may have x0, y0 coordinate information (or xyz coordinates when diagrammed in three dimensions). The processor (120) may estimate the center point (745) of the sphere (740) as an offset for the geomagnetic measurements, and may correct the geomagnetic data by moving the center point (745) of the sphere (740) to the origin (755). The moved sphere (750) may mean a corrected state of the support measurement values.
[0166] FIG. 8 illustrates a method for improving the performance of a geomagnetic sensor of an electronic device according to one embodiment.
[0167] Referring to FIG. 8, an electronic device (101) according to one embodiment may support a function of performing in parallel a series of operations for estimating and storing a geomagnetic offset in relation to a geomagnetic sensor and an operation for correcting the geomagnetic offset.
[0168] In operation 810, the processor (120) of the electronic device (101) can obtain a geomagnetic measurement value from the geomagnetic sensor (220).
[0169] In operation 820, the processor (120) can estimate the offset (center point of a sphere) of the geomagnetic sensor by performing calibration on the geomagnetic measurements (or geomagnetic data group).
[0170] For example, the processor (120) can monitor geomagnetic measurements to update the offset through the geomagnetic measurements, or, when data satisfying a pattern similar to the figure-of-eight calibration motion is acquired, the processor (120) can estimate the offset (center point of the sphere) (e.g., new offset).
[0171] In operation 830, the processor (120) may determine whether to store the estimated offset as a new offset. The processor (120) may determine whether to store the estimated offset by determining the validity time of the offset and the similarity between offsets.
[0172] In operation 840, if the processor (120) determines to store the estimated offset as a new offset (yes in operation 830), the processor (120) may store (or additionally store) the estimated offset as an offset.
[0173] If the processor (120) determines not to store the estimated offset as a new offset (no in operation 830), it may proceed to operation 870.
[0174] In operation 850, the processor (120) can select an effective offset for geomagnetic sensor calibration in parallel with operation 820.
[0175] For example, if there is one stored offset, the processor (120) can select that offset as a valid offset.
[0176] For another example, if there are two or more stored offsets, the processor (120) may select the offset with the highest validity among the stored offsets as the valid offset. The operation of selecting the valid offset is identical to operation 450 of FIG. 4, and the processor (120) may select the valid offset by calculating the validity of each offset using [Mathematical Formula 1].
[0177] In operation 860, the processor (120) may calibrate the geomagnetic sensor with the selected effective offset. For example, the processor (120) may calibrate the geomagnetic sensor (220) by subtracting the selected offset value from the geomagnetic measurement value (e.g., coordinate value) obtained at a point in time when azimuth calculation is required.
[0178] In operation 870, the processor (120) determines whether to terminate the process of FIG. 8 (e.g., termination of a service related to a geomagnetic sensor), and if it proceeds to termination, terminates the process of FIG. 8, and if it does not proceed to termination (e.g., maintenance of a service related to a geomagnetic service sensor), it may proceed to operation 810.
[0179] FIG. 9 illustrates a user interface screen of a situation in which the performance of a geomagnetic sensor of an electronic device is improved according to one embodiment.
[0180] Referring to FIG. 9, an electronic device according to one embodiment can support multi-offset operation of a geomagnetic sensor when providing a golf guide or golf navigation service. Even if a user repeatedly holds or does not hold a golf club while wearing the electronic device, the electronic device can minimize azimuth deterioration by compensating the geomagnetic sensor with an optimized offset for each situation.
[0181] For example, in the golf service scenario, the electronic device (101) can recognize a multi-offset situation. For example, the electronic device (101) can execute the geomagnetic sensor (220) in response to the execution of the golf service application and recognize a multi-offset situation. The electronic device (101) can be changed to operate the geomagnetic service in a multi-offset manner. The electronic device (101) <901> As shown in , a first UI screen (910) indicating the start of a golf service application can be displayed on the display (210).
[0182] The electronic device (101) can obtain geomagnetic measurements from the geomagnetic sensor (220) in a multi-offset situation and monitor whether the geomagnetic offset can be updated based on the geomagnetic measurements.
[0183] Electronic device (101) <902> As illustrated, a second UI screen (920) guiding the start of exercise in the first hole of a specific golf course may be displayed. The electronic device (101) may recognize various information such as a movement path on a golf course, swing gesture recognition, swing direction recognition, exercise and rest time recognition based on at least one of location information, motion information, or situational information of the electronic device (101).
[0184] Electronic device (101) <903> As illustrated, a third UI screen (930) guiding the first exercise record in the first hole may be displayed. The electronic device (101) may obtain a first offset by performing calibration based on geomagnetic measurements collected while the user is moving (e.g., while moving while holding a golf club for a golf play, or while swinging for a tee shot, in a club holding situation). At this time, the first offset may be an offset estimated based on geomagnetic measurements collected while the user is holding a golf club.
[0185] When the user enters the pin direction menu to check the first hole direction, the electronic device (101) corrects the geomagnetic measurement based on the first offset, and then based on this <904> As shown in , a fourth UI screen (940) (e.g., azimuth information) that guides the hole direction can be displayed.
[0186] In some cases, the first offset is an estimated offset in a golf club grip situation, so if the geomagnetic measurement is corrected in a non-golf club grip situation, the azimuth information may be somewhat inaccurate.
[0187] Electronic device (101) <905> As illustrated, the electronic device (101) can display a fifth UI screen (950) that guides the secondary movement record in the first hole.
[0188] The electronic device (101) can acquire a second offset by performing calibration using geomagnetic measurements collected while the user is exercising without holding the golf club. Since the previously stored first offset and the newly estimated second offset are different, the electronic device (101) can store the second offset together with the first offset.
[0189] When the movement of the first hole ends and the movement of the second hole starts, the electronic device (101) <906> As shown in , a 6th UI screen (960) guiding the start of exercise in the 2nd hole can be displayed.
[0190] If the user takes a practice swing for a tee shot on hole 2, the electronic device may acquire another offset (e.g., a third offset) from the situation where the golf club is held, and since the other offset is similar to the stored first offset, the existing first offset may be updated with the newly acquired third offset.
[0191] Electronic device (101) <907> As shown in , a 7th UI screen (970) guiding the second exercise record in the second hole can be displayed.
[0192] When the user enters the pin direction menu to check the direction of hole 2, the electronic device (101) <908> As shown in , an 8th UI screen (980) (e.g., azimuth information) guiding the hole direction can be displayed. In this case, since the electronic device (101) has the first offset and the second offset stored, the electronic device (101) can calculate the validity of each offset and select the second offset as the offset with the highest validity. The electronic device (101) can select the second offset estimated in a situation where the golf club is not held as a valid offset, and calculate a more accurate azimuth by correcting the geomagnetic measurement value with the second offset, thereby providing the 8th UI screen (980).
[0193] The electronic device (101) is based on the termination of the golf service application. <909> As shown in the figure, the 9th UI screen (990) that guides the termination can be displayed.
[0194] The electronic device (101) may recognize the end of a multiple offset situation and change to operate in a single offset mode with respect to the geomagnetic service. For example, the electronic device (101) may designate (select) the most recently updated (or stored) offset among the stored offsets as the single offset.
[0195] An electronic device (101) according to one embodiment includes a first sensor for measuring geomagnetic information (e.g., a geomagnetic sensor (220) of FIG. 2), a processor (120), and a memory (130) for storing instructions executable by the processor, wherein the instructions cause the electronic device (101) to determine whether to update an offset of the first sensor when recognizing a multi-offset situation, store a first offset estimated based on first geomagnetic measurements measured from the first sensor in the memory (130) at a time when the first offset update is determined, obtain a second offset estimated based on second geomagnetic measurements measured from the first sensor at a time when the second offset update is determined, and store the second offset when the second offset is different from the stored first offset, select one offset for correcting a third geomagnetic measurement value measured from the first sensor among the stored first offset and the second offset, and store the first offset and the second offset. The third geomagnetic measurement value can be corrected with an offset selected from among the second offsets.
[0196] According to one embodiment, the memory (130) may further include instructions for storing the second offset, under the condition that the validity time of the first offset has not elapsed, storing the second offset together with the first offset when the Euclidean distance between the second offset and the first offset is greater than a threshold using the Euclidean distance between the first offset and the second offset, and updating the first offset to the second offset and storing it when the validity time of the first offset has elapsed or the Euclidean distance between the second offset and the first offset is less than the threshold.
[0197] According to one embodiment, the memory (130) may further include instructions for recognizing a multi-offset situation upon detection of a predefined event or execution of a specific application in which the first sensor or the geomagnetic sensor is activated.
[0198] According to one embodiment, the electronic device (101) further includes a communication circuit and at least one second sensor (220), and the memory (130) may further include instructions for recognizing the multi-offset situation based on location information and operation information of the electronic device collected through the communication circuit and the at least one second sensor.
[0199] According to one embodiment, the memory (130) may further include an instruction for selecting an offset having the highest validity among the stored offsets based on information about the difference between the distance A between the third geomagnetic measurement value and each offset and the radius B of each offset as an operation for selecting one of the offsets.
[0200] According to one embodiment, the memory (130) may further include an instruction that, when the multiple offset situation is recognized as having ended, causes the second offset to update the previously stored first offset and change it to a single offset method that stores only one offset.
[0201] According to one embodiment, the memory (130) may further include an instruction for selecting one offset based on at least one previous offset among the offsets stored in the memory (130) as an operation for changing in the single offset manner.
[0202] According to one embodiment, the memory (130) may further include an instruction for determining whether to update the offset by performing geomagnetic calibration when the geomagnetic measurement values are collected in a pattern similar to an 8-character calibration motion.
[0203] According to one embodiment, the specific application in which the first sensor or the geomagnetic sensor is activated may include an application providing a service related to the geomagnetic sensor or a golf service application.
[0204] According to one embodiment, the memory (130) may further include instructions for performing in parallel an operation of calibrating the first sensor or the geomagnetic sensor and an operation of estimating and storing the offset.
[0205] A method for improving the performance of a geomagnetic sensor of an electronic device (101) according to one embodiment may include, when recognizing a multi-offset situation, an operation of determining whether to update an offset of a first sensor measuring geomagnetic information, an operation of storing a first offset estimated based on first geomagnetic measurement values measured from the first sensor at a time when the first offset update is determined, an operation of obtaining a second offset estimated based on second geomagnetic measurement values measured from the first sensor at a time when the second offset update is determined, an operation of storing the second offset when the second offset is different from the stored first offset, an operation of selecting one of the stored first offsets and the second offsets for correcting a third geomagnetic measurement value measured from the first sensor, and an operation of correcting the third geomagnetic measurement value with the selected offset from the first offset and the second offset.
[0206] In one embodiment, a computer-readable recording medium storing a program for executing a method for improving the performance of a geomagnetic sensor of an electronic device on a computer may include: when recognizing a multi-offset situation, determining whether to update an offset of a first sensor measuring geomagnetic information; storing a first offset estimated based on first geomagnetic measurements measured from the first sensor at a time when the first offset update is determined; obtaining a second offset estimated based on second geomagnetic measurements measured from the first sensor at a time when the second offset update is determined; storing the second offset when the second offset is different from the stored first offset; selecting one offset for correcting a third geomagnetic measurement value measured from the first sensor among the stored first offset and the second offset; and correcting the third geomagnetic measurement value with the selected offset among the first offset and the second offset.
[0207] The embodiments of this document and the terminology used herein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "A or B", "at least one of A and B", "at least one of A or B", "A, B, or C", "at least one of A, B, and C", and "at least one of A, B, or C" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
[0208] The term "module" used in the embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0209] One embodiment of the present document may be implemented as software (e.g., program (140)) including one or more instructions stored in a storage medium (e.g., built-in memory (136) or external memory (138)) readable by a machine (e.g., electronic device (101)). For example, a processor (e.g., processor (120)) of the machine (e.g., electronic device (101)) may call at least one command among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one called command. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.
[0210] According to one embodiment, the method according to one embodiment disclosed in the present document may be provided as a computer program product. The computer program product may be traded between sellers and buyers as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)) or may be provided through an application store (e.g., Play Store). TM ) or directly between two user devices (e.g., smart phones), online distribution (e.g., downloading or uploading). In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0211] According to one embodiment, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and arranged in other components. According to one embodiment, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to one embodiment, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
Claims
1. In electronic devices, A first sensor (210) for measuring geomagnetic information; Processor (120); and Contains instructions in memory (130), The above instructions, when executed by the processor, cause the electronic device to: When a multi-offset situation is detected, it is determined whether to update the offset of the first sensor, At the time when the first offset update is determined, the first offset estimated based on the first geomagnetic measurements measured from the first sensor is stored in the memory, At the time when the second offset update is determined, the second offset estimated based on the second geomagnetic measurements measured from the first sensor is obtained, If the second offset is different from the stored first offset, the second offset is stored, Selecting one of the first and second offsets stored above to correct the third geomagnetic measurement value measured from the first sensor, and An electronic device for correcting the third geomagnetic measurement value by an offset selected from the first offset and the second offset.
2. In paragraph 1, The above instructions, when executed by the processor, cause the electronic device to store the second offset, Under the condition that the validity time of the first offset has not elapsed, if the Euclidean distance between the first offset and the second offset is greater than or equal to a threshold, the second offset is stored together with the first offset, An electronic device that updates and stores the first offset to the second offset when the validity time of the first offset has elapsed or the Euclidean distance is less than the threshold.
3. In paragraph 1, The above instructions, when executed by the processor, cause the electronic device to: An electronic device that determines a multi-offset situation by detecting a predefined event corresponding to a multi-offset situation or by executing a specific application in which the first sensor is activated.
4. In paragraph 1, Communication circuit; and further comprising at least one second sensor, The above instructions, when executed by the processor, cause the electronic device to: An electronic device that determines the multi-offset situation based on location information and operation information of the electronic device collected through the communication circuit and the at least one second sensor.
5. In paragraph 3 or 4, The above instructions, when executed by the processor, cause the electronic device to perform an operation of selecting one of the above offsets: An electronic device that selects an offset with the highest validity among the stored offsets based on information about the difference between the distance A between the third geomagnetic measurement value and each offset and the radius B of each offset.
6. In paragraph 5, The above instructions, when executed by the processor, cause the electronic device to: An electronic device, wherein when the above multi-offset situation is determined to have ended, the second offset updates the previously stored first offset to change the setting to a single offset method that stores only one offset.
7. In paragraph 6, The above instructions, when executed by the processor, cause the electronic device to change in the single offset manner, An electronic device that selects at least one of the offset update time and the Euclidean distance between the offsets among the offsets stored in the memory as a single offset.
8. In paragraph 1, The above instructions, when executed by the processor, cause the electronic device to determine whether to update the offset. An electronic device that determines whether to update an offset by performing a geomagnetic calibration when the above geomagnetic measurements are determined in a pattern similar to a figure-of-eight calibration motion.
9. In paragraph 3, An electronic device in which a specific application in which the first sensor is activated includes an application providing a geomagnetic measurement service or a golf service application.
10. In paragraph 1, An electronic device wherein the above instructions, when executed by the processor, cause the electronic device to perform in parallel the operations of correcting the third geomagnetic measurement value and the operations of estimating and storing the offset.
11. A method for improving the performance of a geomagnetic sensor of an electronic device, When a multiple offset situation is detected, an action is taken to determine whether to update the offset of the first sensor measuring geomagnetic information; An operation of storing a first offset estimated based on first geomagnetic measurements measured from the first sensor at a time point when the first offset update is determined; An operation of obtaining an estimated second offset based on second geomagnetic measurements measured from the first sensor at a time point when the second offset update is determined; An operation of storing the second offset if the second offset is different from the stored first offset; An operation of selecting one of the stored first offsets and the second offsets for correcting a third geomagnetic measurement value measured from the first sensor; and A method comprising the action of correcting the third geomagnetic measurement value with an offset selected from the first offset and the second offset.
12. In paragraph 11, The operation of storing the above second offset is: An operation of storing the second offset together with the first offset when the Euclidean distance between the first offset and the second offset is greater than or equal to a threshold under the condition that the validity time of the first offset has not elapsed, and A method including an operation of updating and storing the first offset to the second offset when the validity time of the first offset has elapsed or the Euclidean distance is less than the threshold.
13. In paragraph 11, The action to detect the above multi-offset situation is: An action that determines a multi-offset situation by detecting a predefined event corresponding to a multi-offset situation or by executing a specific application in which the first sensor is activated, or A method for determining the multiple offset situation based on location information and operation information of an electronic device collected through a communication circuit and at least one second sensor.
14. In paragraph 11, A method according to claim 1, wherein the operation of selecting one of the above offsets is an operation of selecting an offset with the highest validity among the stored offsets based on information about the difference between the distance A between the third geomagnetic measurement value and each offset and the radius B of each offset.
15. In paragraph 14, A method further comprising, when it is determined that a multi-offset situation has ended, changing the setting to a single-offset manner in which the second offset updates the previously stored first offset to store only one offset.
Citation Information
Patent Citations
Electronic apparatus including azimuth detector
JP2015118066A
Azimuth data calculation method, azimuth sensor unit, and portable electronic apparatus
KR1020070031415A
Method and Apparatus for calculation azimuth
KR1020150013986A
Monopolar type hybrid capacitance scale and its thermal deformation control method
KR102691230B1
Techniques for magnetometer calibration using selected measurements over time
US20180180683A1