KR20120080651A - 모바일 전자 디바이스의 정확한 자기 컴퍼스 - Google Patents

모바일 전자 디바이스의 정확한 자기 컴퍼스 Download PDF

Info

Publication number
KR20120080651A
KR20120080651A KR1020127014535A KR20127014535A KR20120080651A KR 20120080651 A KR20120080651 A KR 20120080651A KR 1020127014535 A KR1020127014535 A KR 1020127014535A KR 20127014535 A KR20127014535 A KR 20127014535A KR 20120080651 A KR20120080651 A KR 20120080651A
Authority
KR
South Korea
Prior art keywords
state
determining
calibration
dynamic
sensor
Prior art date
Application number
KR1020127014535A
Other languages
English (en)
Inventor
빅터 컬릭
크리스토퍼 브루너
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20120080651A publication Critical patent/KR20120080651A/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C17/00Compasses; Devices for ascertaining true or magnetic north for navigation or surveying purposes
    • G01C17/38Testing, calibrating, or compensating of compasses
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C17/00Compasses; Devices for ascertaining true or magnetic north for navigation or surveying purposes
    • G01C17/02Magnetic compasses
    • G01C17/28Electromagnetic compasses
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R33/00Arrangements or instruments for measuring magnetic variables
    • G01R33/02Measuring direction or magnitude of magnetic fields or magnetic flux

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Telephone Function (AREA)
  • Measuring Magnetic Variables (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)
  • Measuring Fluid Pressure (AREA)

Abstract

호스트 디바이스의 소프트웨어 및 하드웨어 모드들의 변경에 적어도 부분적으로 기초한 불일정 센서 에러들 및 특히 불일정 컴퍼스 에러들의 교정 및 정정을 위한 방법들 및 장치가 여기에 설명된다. 각각의 모드 및 모드들의 조합에 의해 센서에서 유도된 불일정 에러들은 하나 이상의 호스트 디바이스들의 제조 전 테스트 동안에 판정될 수도 있는 교정 시에 판정된다. 교정 결과들은 호스트 디바이스의 소프트웨어 및/또는 하드웨어에 포함될 수 있다. 정상 동작 동안, 센서 정정이 활성 모드 또는 모드들의 조합에 부분적으로 기초하여 센서 측정들에 적용될 수 있다.

Description

모바일 전자 디바이스의 정확한 자기 컴퍼스{ACCURATE MAGNETIC COMPASS IN MOBILE ELECTRONIC DEVICE}
본 발명은 전자 센서들의 분야에 관한 것이다. 특히, 본 발명은 전자 센서들의 정확도를 향상시키는 분야에 관한 것이다.
전자 및 전자기계적 디바이스들은 전자 센서들을 더욱 더 충족시키고 있다. 디바이스들은 자율적 모니터링 및 관련 기능 특징들을 지원하도록 센서들에 의해 제공되는 정보에 의존한다. 예를 들어, 디바이스들은 가속도, 자기 헤딩, 광 레벨들 등을 모니터링하도록 전자 센서들을 구현할 수도 있다.
이러한 센서들을 포함시키는 비용이 감소함에 따라, 센서들을 구현하는 디바이스들의 개수 및 타입들이 증가하고 있다. 또한, 센서들의 품질이 향상됨에 따라, 센서 출력들에서의 미세한 변경들을 모니터링하거나 이와 달리 그러한 변경들에 응답하도록 하는 호스트 디바이스의 능력이 향상된다. 그러나, 센서 구현의 정확도는 센서 자체의 정확도에만 의존하는 것이 아니라, 센서 정확도를 열화시키도록 동작할 수도 있는 다양한 외부 힘들에도 의존한다. 센서들의 정확도는 외부 힘들의 열화 효과를 최소화시키면서 유지되어야 한다.
호스트 디바이스의 소프트웨어 및 하드웨어 모드들의 변경에 부분적으로 기초한 불일정 센서 에러들 및 특히 불일정 컴퍼스 에러들의 교정 및 정정을 위한 방법들 및 장치가 여기에서 설명된다. 각각의 모드 및 모드들의 조합에 의해 센서에서 유도된 불일정 에러들은 하나 이상의 호스트 디바이스들의 제조 전 테스트 동안에 결정될 수도 있는 교정 시에 판정된다. 교정 결과들은 호스트 디바이스의 소프트웨어 및/또는 하드웨어에 포함될 수 있다. 정상 동작 동안, 센서 정정이 활성 모드 또는 모드들의 조합에 부분적으로 기초하여 센서 측정들에 적용될 수 있다.
본 발명의 양태들은 동적 센서 정정 방법을 포함한다. 이 방법은 센서 출력 값을 판정하는 단계; 센서를 갖는 호스트 디바이스의 동작 상태를 판정하는 단계; 센서 및 동적 상태에 기초하여 교정 값을 판정하는 단계; 및 정정된 센서 출력 값을 생성하도록 교정 값을 상기 센서 출력 값에 적용하는 단계를 포함한다.
본 발명의 양태들은 동적 센서 정정 장치를 포함한다. 이 장치는 호스트 디바이스의 동적 상태를 판정하도록 구성된 상태 모니터; 및 상태 모니터에 커플링되며, 센서 출력 값을 판정하고, 호스트 디바이스의 상태에 기초하여 교정을 판정하고, 교정 및 호스트 디바이스의 상태에 적어도 부분적으로 기초하여 정정된 센서 출력 값을 출력하도록 구성된 정정 모듈을 포함한다.
본 발명의 양태들은 동적 센서 정정 장치를 포함한다. 이장치는 센서 출력 값을 판정하는 수단; 센서를 갖는 호스트 디바이스의 동적 상태를 판정하는 수단; 센서 및 동적 상태에 기초하여 교정 값을 판정하는 수단; 및 정정된 센서 출력 값을 생성하도록 교정 값을 센서 출력 값에 적용하는 수단을 포함한다.
본 발명의 양태들은, 프로세서에 의해 실행될 때, 동적 센서 정정을 수행하는, 인코딩된 하나 이상의 프로세서 판독가능 명령들을 갖는 저장 매체를 포함한다. 인코딩된 하나 이상의 프로세서 판독가능 명령들은 센서 출력 값을 판정하는 명령들; 센서를 갖는 호스트 디바이스의 동적 상태를 판정하는 명령들; 센서 및 동적 상태에 기초하여 교정 값을 판정하는 명령들; 및 정정된 센서 출력 값을 생성하도록 교정 값을 센서 출력 값에 적용하는 명령들을 포함한다.
본 개시물의 실시형태들의 특징들, 목적들 및 이점들은 도면들과 결부시킬 때 하기에서 설명되는 상세한 설명으로부터 더욱 명백해질 것이며, 도면에서 동일한 엘리먼트들은 동일한 참조부호들을 포함한다.
도 1 은 모바일 디바이스의 실시형태의 단순화된 기능 블록도이다.
도 2 는 상태 테이블의 실시형태의 단순화된 기능 블록도이다.
도 3 은 교정 테이블의 실시형태의 단순화된 기능 블록도이다.
도 4 는 전자적 기계적 컴퍼스를 보상하도록 구성된 정정 모듈의 실시형태의 단순화된 기능 블록도이다.
도 5 는 전자 자기 컴퍼스 출력과 같은 센서 출력을 동적으로 정정하는 실시형태의 단순화된 흐름도이다.
센서가 동적으로 변화하는 센서 환경에서 구현될 때 센서 출력의 정확도를 유지시키는 방법들 및 장치들이 여기에서 설명된다. 광범위한 디바이스 동작 모드들을 통해 센서 정확도를 유지시키도록 하는 동적 교정 및 정정 방법 및 장치가 여기에서 설명된다.
모바일 디바이스와 같은 호스트 디바이스에 추가하는 것을 가능하게 하는, 감소한 비용, 사이즈 및 전력 소비를 갖는 센서의 실시예는 2-축 또는 3-축 자력계이다. 자력계는 센서 근처에서 자기장의 방향 및/또는 강도를 측정하는 데 사용될 수 있는 타입의 센서이다. 자력계의 실시예는, 인가된 자기장에 비례하는 전압을 생성하고 그 자기장의 극성을 감지하는 데 사용될 수 있는 고체 상태 홀 효과 센서 (solid-state Hall effect sensor) 이다. 자력계의 다른 실시예는 플럭스게이트 자력계 (fluxgate magnetometer) 이다.
자력계 출력, 및 때때로 가속도계 출력들과 같은 다른 센서 데이터에 기초하여, 모바일 디바이스 프로세서는 자기 헤딩을 계산할 수 있는데, 자기 헤딩은 지구 자극 (Earth magnetic pole) 에 대한 방향을 나타내는 자북 (magnetic meridian) 에 대한 디바이스 방위를 지칭한다. 자이로스코프 데이터 또는 일부 다른 각속도 센서로부터의 데이터와 같은 다른 센서 데이터는, 이용 가능할 때, 컴퍼스 에러들을 필터링하는 데에도 이용될 수 있다. 자기 헤딩이 결정된 후, 자기 헤딩 값은, 자침 편차 테이블의 도움으로, 자오선 (Geographical Meridian) 에 대한 진성 헤딩 값으로 변환될 수 있다.
모바일 디바이스는 포지션 위치 또는 내비게이션 애플리케이션들에 도움을 주도록 자력계와 같은 전자 자기 컴퍼스를 통합할 수도 있다. 일 실시예에서, 모바일 디바이스는 "포인트-앤드-클릭" 애플리케이션을 구현할 수도 있으며, 사용자는 디바이스를 특정 객체로 향하게 하고, 디바이스 소프트웨어는 결정되거나 이와 달리 공지된 위치 및 시간, 헤딩 및 맵 데이터베이스를 이용하여 객체를 식별한다.
모바일 디바이스는, 예를 들어 셀룰러 전화, GPS 수신기, 개인용 내비게이션 디바이스 (PND) 등, 또는 이들의 일부 조합일 수도 있다. "모바일 디바이스"라는 용어는 열거된 예시적 디바이스들로 국한되는 것이 아니라, 적어도, 위성 신호 수신, 보조 데이터 수신, 및/또는 포지션 관련 프로세싱이 디바이스 또는 PND 에서 일어나는지의 여부와는 무관하게, 예컨대 단거리 무선, 적외선, 유선 접속 또는 다른 접속에 의해, PND 와 통신하는 디바이스들을 포함하는 것으로 의도된다. 또한, "모바일 디바이스"는, 예컨대 인터넷, WiFi, 또는 다른 네트워크를 통해, 위성 신호 수신, 보조 데이터 수신, 및/또는 포지션 관련 프로세싱이 디바이스, 서버, 또는 네트워크와 연계된 다른 디바이스에서 일어나는지의 여부와는 무관하게, 서버 또는 다른 통신 디바이스와 통신할 수 있는, 무선 통신 디바이스, 컴퓨터, 랩톱 등을 포함하는 모든 디바이스들을 포함하는 것으로 의도된다. 상기 사항들의 임의의 동작가능 조합도 "모바일 디바이스"로 간주된다.
컴퍼스 정확도에 대한 제한 팩터는 모바일 디바이스의 내부 또는 외부의 함철 객체 (ferrous object) 들의 존재를 포함할 수 있다. 함철 디바이스들로부터 비롯된 자기장은, 지구 자장에 중첩될 때, 일반적으로 자력계의 근처에서 자북 방향의 왜곡을 초래한다. 이러한 왜곡들은 컴퍼스 에러에 기여한다.
센서 성능에 대한 외부 객체들의 영향을 완화시키는 것은 어렵지만, 많은 경우들에 있어서, 내부 함철 재료들의 효과는 교정될 수 있다. 함철 재료들은 센서의 포지션에 대해 변할 수 있는 위치의 기계적 구조물들에 포함될 수도 있다. 예를 들어, 모바일 디바이스는, 예컨대 크램쉘 (clamshell) 스타일 전화기를 갖는, 힌지형 구조물 또는 힌지형 디스플레이 패널을 가질 수도 있다. 다른 이동가능 기계적 구조물들은 슬라이딩가능 키패드 커버 등을 포함한다. 이러한 이동가능 기계적 구조물들 각각은 센서 교정에 영향을 미치거나 센서 교정에 대한 영향의 효과를 방지하거나 이와 달리 덮을 수 있는 함철 재료들을 가질 수도 있다. 기계적 구조물들의 효과는 또한 교정될 수도 있다. 교정은 팩토리 교정 또는 사용자 교정 절차 중 하나 이상의 것일 수도 있다. 이러한 정적 교정은 함철 객체들이 자력계에 대해 일정한 포지션에 머무르는 동안에는 적합할 수도 있다.
그러나, 다른 소스의 자력계 또는 다른 컴퍼스 에러들은 모바일 디바이스 내부의 전기 전류들에 의해 유도된 자기장이다. 전류 흐름으로부터 유도된 자기장들의 효과는 자기장들을 유도하는 전류선들로부터 자력계를 물리적으로 충분히 멀리 위치시킴으로써 완화될 수도 있다. 불운하게도, 모바일 디바이스들이 물리적 사이즈가 축소됨에 따라, 전류 선을 유도하는 자기장으로부터 물리적으로 먼 위치에서 자력계를 하우징하는 능력은 제한된다. 또한, 디바이스 설계자 관점으로부터, 컴퍼스 성능은 부차적일 수도 있고, 이와 달리 모바일 디바이스 내에서의 무선 모뎀, GPS 수신기, 사진기 또는 디스플레이의 성능과 관련하여 우선순위를 낮출 수도 있다. 이와 같이, 자력계 또는 다른 센서는 결국 최적이 아닌 위치들에 있게 된다. 자력계의 경우, 최적이 아닌 위치들은 스피커, 배터리, 스위치 모드 전원, 또는 일부 다른 고전류 부품들 근처의 위치들일 수 있다.
전기 전류들에 의해 유도된 자기장으로부터 비롯된 자력계 에러는 교정될 수 있다. 그러나, 교정은 전기 전류가 일정하게 유지되는 시간 동안에 유효하다. 일반적으로, 모바일 디바이스 내의 전기 전류는 시간에 따라 또는 간헐적으로 가변적일 것이며, 이는 일반적인 교정 방법들을 이용하여 그 효과를 교정하기 어렵게 만든다. 일반적으로, 가변 컴퍼스 에러는 변화하는 이벤트들에 의해 야기되었고, 프로세스들은 사용자가 허용해야만 하는 발생 에러들을 생성했다.
변화하는 소프트웨어 및 하드웨어 디바이스 모드들 또는 상태들에 의해 야기된 불일정 컴퍼스 에러들의 동적 교정 및 정정을 위한 방법들 및 장치가 여기에서 설명된다. 사소하지 않은 컴퍼스 에러들에 기여하는 모드들 또는 디바이스 상태들이 식별될 수 있다. 이러한 모드들의 일부 또는 모든 조합에 의해 유도된 에러들은 하나 또는 여러 디바이스들에 대한 제조 전 테스트 중에 교정될 수 있으며, 교정 결과들은 모바일 디바이스에 포함될 수 있다. 모바일 디바이스들의 제조 중에, 동일한 구성들을 갖는 모바일 디바이스들에 대한 교정 테이블이 사용될 수 있고, 이에 의해 각각의 제조 디바이스에 대해 개별적인 교정들을 수행할 필요성을 최소화할 수 있다. 동작 동안, 모드 또는 모드들의 조합에 따라 컴퍼스 측정치들에 교정이 가해질 것이다.
도 1 은 모바일 디바이스 (100) 의 실시형태의 단순화된 기능 블록도이다. 도 1 의 모바일 디바이스 (100) 는 포지션 위치 적용가능 무선 통신 디바이스로서 예시된다. 그러나, 모바일 디바이스 (100) 는 그러한 구성으로 국한되지 않는다.
모바일 디바이스 (100) 는 기저대역 프로세서 (130) 에 커플링된 무선 통신 송수신기 (110), 글로벌 내비게이션 위성 시스템 (Global Navigation Satellite System: GNSS) 수신기 (114), 및 센서들 (170) 을 포함한다. 센서들 (170) 중 하나 이상의 센서들의 출력은 정정 모듈 (174) 을 사용하여 보상되거나 이와 달리 정정될 수 있다. 상태 모니터 (164) 는 모바일 디바이스 (100) 의 상태 또는 모드들을 모니터링할 수 있고, 정정 모듈 (174) 에 상태 또는 모드 정보를 제공할 수 있다.
무선 통신 송수신기 (110) 의 다양한 스테이지들의 이득은 자동 이득 제어 (Automatic Gain Control: AGC) 모듈 (152) 을 사용하여 제어될 수 있다. 동적 센서 교정 및 정정과 관련된 하나 이상의 기능들 또는 프로세스들을 포함하는 모바일 디바이스 (100) 내의 하나 이상의 기능들 또는 프로세스들은, 메모리 (162) 에 인코딩된 하나 이상의 소프트웨어 명령들을 실행하는 프로세서 (160) 를 사용하여 제어되거나 이와 달리 구현될 수도 있다.
모바일 디바이스 (100) 는 전원 (190) 에서 처리되거나 이와 달리 컨디셔닝되는 배터리 (192) 전력으로부터 동작할 수도 있다. 로컬 입력 및 출력은 사용자 인터페이스 (180) 를 사용하여 구현된다.
무선 통신 송수신기 (110) 는 수신기 및 송신기를 포함할 수 있다. 수신기 및 송신기는, 예를 들어 무선 통신 송수신기 (110) 에 의한 동시 송신 및 수신을 허용하는 듀플렉서 (104) 를 통해 공통 통신 안테나 (102-1) 에 인터페이스할 수 있다. 시분할 다중 액세스 (TDMA) 송수신기 (110) 구성에서, 듀플렉서 (104) 는 송신/수신 (T/R) 스위치로 대체되어, 송신기 또는 수신기 중 하나를 안테나 (102-1) 에 선택적으로 커플링할 수도 있다.
무선 통신 송수신기 (110) 내의 수신기는 듀플렉서 (104) 를 통해 안테나 신호들을 수신하는 저잡음 증폭기 (122) 와 같은 증폭기를 포함할 수 있다. LNA (122) 의 출력은 수신된 신호를 RF 대역으로부터 기저대역 주파수들로 직접적으로 변환하도록 구성된 수신 믹서 (124) 에 커플링된다. 수신 믹서 (124) 는 수신 RF 중심 주파수에 기초한 주파수로 튜닝된 국부 발진기 (150) 에 의해 구동될 수 있다.
수신 믹서 (124) 로부터의 기저대역 출력은, 원치 않는 믹서 생성물을 제거하고 대역 신호들을 필터링하도록 구성된 기저대역 필터 (126) 에 커플링된다. 기저대역 필터 (126) 의 출력은 기저대역 프로세서 (130) 의 수신 신호 입력에 커플링되기 전에 증폭기 (128) 에 커플링된다.
무선 통신 송수신기 (110) 내의 송신기는 수신기에 대해 상보적인 방식으로 동작한다. 송신 신호는 기저대역 프로세서 (130) 의 송신 출력에서 생성된다. 무선 통신 송수신기 (110) 의 일 실시예에서, 기저대역 프로세서 (130) 로부터의 송신 출력은 송신/수신 주파수 오프셋에 기초하여 결정된 간헐적 주파수인 것일 수도 있다. 다른 실시예에서, 기저대역 프로세서 (130) 로부터의 송신 출력은 기저대역의 것일 수도 있다.
기저대역 프로세서 (130) 로부터의 출력은 송신 신호 대역폭 외부의 신호들을 감쇄시키도록 구성될 수 있는 필터 (142) 에 커플링된다. 필터 (142) 로부터의 출력은 송신 증폭기 (144) 에 커플링된다. 송신 증폭기 (144) 의 출력은 송신 신호를 국부 발진기 (150) 로부터의 신호와 결부시켜 희망 동작 주파수로 주파수 변환하도록 구성된 송신 믹서 (146) 에 커플링된다.
송신 믹서 (146) 로부터의 출력은 송신 신호를 희망 RF 전력 레벨로 증폭하도록 구성된 고전력 증폭기 (148) 에 커플링된다. 고전력 증폭기 (148) 로부터의 출력은 송신을 위해 듀플렉서 (104) 를 통해 안테나 (102-1) 에 커플링된다.
자동 이득 제어 AGC 모듈 (152) 은 무선 통신 송수신기 (110) 의 송신기 및 수신기에서의 이득들을 제어하도록 구성될 수 있고, 기저대역 프로세서 (130) 에서의 하나 이상의 이득들을 제어하도록 구성될 수 있다. AGC 모듈 (152) 은, 예를 들어 하나 이상의 검출기들, 증폭기들, 및 트랜지스터들, 전압 조절기들, 또는 트랜스컨덕턴스 디바이스들을 포함하여, 다양한 이득들을 제어할 수 있다. 일부 실시형태들에서, AGC 모듈 (152) 의 기능들 중 일부는 프로세서 (160) 에 의해 실행되는 메모리에 인코딩된 프로세서 판독가능 명령들을 이용하여 수행될 수도 있다.
ACG 모듈 (152) 은, 예를 들어 감쇄 값, 전압, 전류 등, 또는 이들의 일부 조합을 제어하여, 이득들을 제어할 수 있다. 예를 들어, AGC 모듈 (152) 은 수신기의 LNA (122) 를 선택적으로 인에이블링할 수도 있고 디스에이블링할 수도 있으며, 증폭기로의 전류 바이어스를 조정하여 수신 증폭기 (128) 의 이득을 선택적으로 제어할 수도 있다.
AGC 모듈 (152) 은, 예를 들어 고전력 증폭기 (148) 뿐 아니라 송신 증폭기 (144)의 전류 또는 전압을 제어함으로써, 송신기에서의 이득들을 제어할 수도 있다. AGC 모듈 (152) 은 실질적으로 연속해서 또는 미리 정의된 수의 스테이지 또는 이득 양자화를 통해 이득들을 제어하도록 구성될 수 있다. AGC 모듈 (152) 은 개별적 이득 단계들에서의 다른 증폭기들, 예컨대 증폭기 (148) 를 제어하면서 연속적 이득 범위 전체에 걸쳐 일부 증폭기들, 예컨대 증폭기 (144) 를 제어할 수 있다.
GNSS 수신기 (114) 는, 예를 들어 글로벌 포지셔닝 시스템 (GPS) 수신기일 수 있고, 또는 러시안 글로나스 시스템, 유럽 갈릴레오 시스템, 또는 위성 시스템들의 조합으로부터의 위성들을 이용하는 임의의 시스템과 같은 하나 이상의 다른 위성 포지셔닝 시스템들로부터의 신호들에 대해 동작하도록 구성될 수도 있다. GNSS 수신기 (114) 는 안테나 (102-2) 를 통해 포지셔닝 위성 운송수단들로부터 신호들을 수신할 수 있고, 수신기에 대한 포지션 고정 (position fix) 을 계산할 수 있다. 포지션 고정은 모바일 디바이스 (100) 에서 원격으로 수행될 수도 있고, 또는 모바일 디바이스 (100) 가 통신 중일 수도 있는 하나 이상의 원격 프로세서들, 서버들, 또는 엔티티들과 결합하여 수행될 수도 있다.
하나 이상의 센서들 (170) 은 포지션, 방위, 헤딩, 가속, 또는, 모바일 디바이스 (100) 와 관련된 다른 파라미터를 결정하도록 구성될 수 있다. 일 실시예에서, 센서들 (170) 은 모바일 디바이스 (100) 의 헤딩을 결정하는 데 사용될 수 있는 자력계 (172) 를 포함한다.
사용자 인터페이스 (180) 는 사용자 디스플레이들, 키패드들, 마이크로폰들, 확성기 등, 또는 이들의 일부 조합을 포함할 수 있다. 사용자 인터페이스는 또한 통신 또는 다른 전자 데이터 및 신호들을 교환하기 위한 하나 이상의 포트들을 포함할 수 있다.
상태 모니터 (164) 는 하나 이상의 센서들 (170) 의 정확도에 영향을 주도록 결정된 모바일 디바이스 내의 다양한 하드웨어 및 소프트웨어의 하나 이상의 상태들 또는 모드들을 모니터링하도록 구성된다.
임의의 수의 상이한 이벤트들, 동작 상태들, 또는 센서 정확도에 영향을 미칠 수도 있는 모드들이 존재한다. 상태들은 전기적일 수도 있고, 또는 기계적일 수도 있으며, 또는 이들의 조합일 수도 있다. 자력계 (172) 의 실시예에서, 전류 흐름의 변동은 자력계 (172) 에 의해 나타나는 헤딩의 정확도에 영향을 미치는 자기장들을 유도할 수 있다. 전자 디바이스에서 전기 전류들의 변경을 야기하는 이벤트들의 실시예들은, 오프될 수도 있고 또는 온될 수도 있는, 사용자 인터페이스 (180) 의 디스플레이 백라이트를 포함한다. 또한, 백라이트가 턴 온될 때, 저레벨, 중레벨, 고레벨과 같은 여러 백라이트 레벨들이 존재할 수도 있으며, 이러한 레벨들 각각은 배터리 (192) 로부터의 상이한 전류를 요구한다. 센서 정확도에 대한 각각의 기여자의 효과는 시간 및 온도에 따라 변함이 없을 수도 있고, 또는 시간, 온도 등에 기초하여 변할 수도 있다. 전류 흐름에서 변경들을 야기하는 다른 이벤트들 또는 모드들은, 기동 시에 일반적으로 전류 스파이크들을 야기하는, 링어 (ringer), 진동자 (vibrator), 또는 신호 발신기 (beeper) 를 포함한다. 기계적 상태들의 실시예들은 힌지 커버, 슬라이딩가능 커버 등을 포함한다.
배터리 (192) 가 충전 중일 때 모바일 디바이스 (100) 에서의 전류 흐름은, 배터리 (192) 가 방전되어 있거나 이와 달리 충전되고 있지 않을 때와는 상이할 것이다. 충전 중인 배터리 (192) 의 경우, 전류 변화뿐 아니라 그것의 방향은 배터리 (192) 가 충전 중인지 아닌지의 여부에 기초하여 변할 수도 있다.
무선 송수신기 (모뎀) 또는 사진기 기동과 같은 모바일 디바이스 (100) 내부의 하드웨어의 임의의 모드 변경은 전류 분포에 영향을 미칠 것이다. 무선 통신 송수신기 (110) 는 송신기 및 수신기를 독립적으로 기동시킬 수도 있다. 마찬가지로, GNSS 수신기 (114) 는 선택적으로 기동되거나 기동되지 않을 수도 있다.
프로세서 (160) 의 계산 부하가 낮을 때, 전력 관리 능력을 갖는 프로세서들에서의 클록 속도는 낮아질 수도 있다. 클록 속도를 감소시키는 것은, 일반적으로 전력 소비 및 전류를 각각 감소시킨다. 예를 들어, 전력 최적화를 갖는 GPS 디바이스들에서, 프로세싱 클록 속도는, 대규모의 계산들이 GPS 포지션을 계산하는 데 요구되고 맵을 재묘사할 때, 일반적으로 1 초에 1 회 피크에 달할 것이다. 피크 계산 부하 동안, 유도된 자력계 에러도 마찬가지로 피크에 달할 수도 있다.
강한 GPS 신호들이 이용가능할 경우, GNSS 수신기 (114) 는 낮은 듀티 사이클 모드에 진입할 수 있고, GNSS 수신기 (114) 의 일부는, 예를 들어 매초 500 ms 동안 셧다운된다. 주기적 셧다운은 GNSS 수신기 (114) 에 의해 소비되는 전류에서 유사한 주기적 사이클을 생성한다.
다양한 상태들, 모드들, 프로세스들, 및 이벤트들은, 전류 흐름에 영향을 미치거나 자기장들에 기계적으로 영향을 미치고, 그에 의해, 유도된 자기장들 및 자력계 (172) 와 같은 자기 센서에 영향을 미치는 존재들의 타입들의 실시예들로서 제공된다. 실시예들은 배타적 리스트인 것으로 의도되지 않으며, 여기서 일반적으로 센서 정확도에 영향을 미치는 상태들로 지칭되는, 많은 다른 하드웨어 또는 소프트웨어 상태들, 모드들, 또는 이벤트들이 존재할 수도 있다.
다양한 상태들은 논리적으로 상호 배타적, 독립적 또는 종속적일 수도 있다는 것을 알 수 있다. 예를 들어, 기동된 GNSS 수신기는 기동되지 않은 GNSS 수신기와는 논리적으로 상호 배타적이다. 마찬가지로, GNSS 수신기 상태는 일반적으로 디스플레이 백라이트 상태와는 논리적으로 독립적이다.
대조적으로, 일부 상태들은 논리적으로 종속적일 수도 있다. 예를 들어, 통신 수신기 AGC 상태는 통신 수신기 기동 상태에 논리적으로 의존적이다. 수신기 AGC 상태의 값들은 통신 수신기가 에너지를 공급받지 않으면 중요하지 않다.
다양한 상태들간의 논리적 관계들은 다양한 전류들과 그들의 대응하는 유도된 자기장들 사이의 상호 작용을 결정하는 데 도움이 될 수도 있다. 그러나, 상태들간의 논리적 관계는 모바일 디바이스 (100) 내의 전류 흐름의 관계들과 정확히 대응하지 않을 수도 있다. 예를 들어, 일부 독립적 상태들은 모바일 디바이스 (100) 내의 하드웨어를 공유할 수도 있고, 양측 상태들의 존재는 상태들 중 일부만이 존재할 때에 비해 모바일 디바이스 (100) 내에서의 전류 흐름을 증가시키지 않을 수도 있다. 예를 들어, GNSS 수신기 (114) 는 기저대역 프로세서 (130) 에 중간 데이터 및 정보를 제공할 수도 있는데, 기저대역 프로세서 (130) 는 또한 무선 통신 송수신기 (110) 에 의해서도 사용된다. 활성 GNSS 포지셔닝 상태는 에너지가 공급된 기저대역 프로세서 (130) 에 대응할 수도 있다. 무선 통신 상태의 기동은, GNSS 포지셔닝 상태 및 무선 통신 상태가 논리적으로 독립적이라 하더라도, 기저대역 프로세서 (130) 에 의한 추가적인 전류 소비를 가져오지 않을 수도 있다.
따라서, 정정 모듈 (174) 에 의해 센서들 (170) 로부터의 출력에 제공되는 보상은 일반적으로 각각의 개별적인 상태에 대한 보상의 중첩에 불과한 것이 아니다. 대신, 정정 모듈 (174) 은 상태 모니터 (164) 로부터의 상태들을 결정할 수 있고, 다양한 상태들간의 상호관계를 고려하는 센서들 (170) 각각에 누적되는 정정을 적용할 수 있다.
동적 센서 보상 및 정정을 제공하기 위해, 현저한 센서 에러를 야기하는 모바일 디바이스 (100) 에서의 하드웨어 및 소프트웨어 프로세스들을 포함하는 상태들이 식별된다. 상태 모니터 (164) 는 각각의 식별된 상태들을 모니터링하도록 구성된다. 상태 모니터 (164) 는 소프트웨어 상태들과 같은 상태들을 직접적으로 모니터링하도록 구성될 수 있고, 또는 상태들을 간접적으로 모니터링하거나 이와 달리 추론하도록 구성될 수 있다.
각각의 상태 및 상태들의 조합에 대해, 센서가 교정된다. 예를 들어, 자력계 또는 전자 컴퍼스를 교정하는 프로세스는 상태들 각각 및 상태들의 조합에 대해 컴퍼스 에러를 교정하거나 이와 달리 측정하는 것을 포함할 수 있다. 교정은, 필요 시, 각각의 자력계 축에 대해 개별적으로 이루어질 수 있다.
일부 상태들은 일시적일 수도 있고, 짧은 시간 주기 동안에 활성일 수도 있다. 이러한 짧은 일시적 상태들은, 그럼에도 불구하고, 센서 정확도에 대해 현저한 효과를 가질 수도 있다. 예를 들어, 배터리 충전기가 초기에 모바일 디바이스 (100) 에 접속될 때, 모바일 디바이스 (100) 내의 전류 흐름에는 상당한 변경이 있을 수도 있다. 배터리 (192) 외부로부터 배터리 (192) 내부로의 전류 흐름 변경뿐 아니라 초기 배터리 충전과 관련된 유입 전류가 존재할 수도 있다. 전류 흐름 변경 및 임의의 유입 전류는 전자 컴퍼스 정확도에 대한 현저한 효과를 가질 수도 있다. 그러나, 현저한 효과들은 극히 짧게 유효할 수도 있다.
이러한 천이 상태들의 일시적 특성은 유도된 센서 에러를 정확하게 측정 및 교정하기 어렵게 만들 수 있다. 전화 진동자는, 전자 자기 컴퍼스의 정확도에 대해 악영향을 갖지만 일반적으로 짧은 규정된 시간 주기 동안에만 동작하는 디바이스의 일 실시예이다. 이러한 짧은 천이 상태들에 대해, 정정 모듈 (174) 은 센서 판독을 무시하거나, 판독을 잡음으로 마킹하거나, 또는 이와 달리 일시적 효과들을 보상하도록 구성될 수도 있다. 예를 들어, 전자 컴퍼스에서, 정정 모듈은 일시적 상태의 온셋에 대응하는 시간에, 디스플레이된 헤딩을 프리즈 (freeze) 시킬 수도 있다. 정정 모듈 (174) 은, 예를 들어 천이 상태 동안 센서 출력의 버퍼링되거나 등록된 값을 제공할 수 있다.
정정 모듈 (174) 은 정정 값을 정정된 센서 출력들에 합산하도록 구성될 수 있다. 다른 실시형태에서, 정정 모듈의 일부 또는 모든 기능은 메모리 (162) 와 같은 프로세서 판독가능 저장 디바이스 상에서 인코딩된 하나 이상의 명령들 및 정보로서 구현될 수도 있다. 하나 이상의 명령들 및 정보는, 프로세서 (160) 에 의해 액세스 및 실행될 때, 센서 정정을 구현할 수 있다. 일 실시형태에서, 실시간 컴퍼스 정정 알고리즘이 모바일 디바이스 (100) 소프트웨어 내에서 구현된다. 알고리즘은, 프로세서 (160) 에 의해 실행될 때, 디바이스 상태들 및 이들의 조합들을 식별하고, 교정 결과에 기초하여 적절한 정정을 자력계 판독에 도입할 수 있다.
정정 모듈 (174) 은 정적 교정 테이블과 같은 기존 정정 테이블을 증가시키는 데 사용될 수 있다. 다른 실시형태들에서, 정정 모듈 (174) 은 센서를 교정하는 데 사용될 수 있다. 센서용 교정 테이블은 팩토리 교정, 사용자 개시 교정, 또는 자동 교정의 결과로서 교정 및 생성될 수도 있다.
팩토리 교정은, 디바이스가 초기에 제조, 공급, 또는 고용될 때, 수행될 수 있고, 또는 이와 달리 로딩될 수 있다. 팩토리 교정은 개별적인 디바이스 단위로 수행될 수도 있지만, 유사한 디바이스들의 샘플 세트로부터 수행된 교정에 기초하여 로딩될 가능성도 있다.
사용자 교정은 수동으로 그리고 디바이스에 대해 일반적으로 국부적으로 개시될 수 있는 교정 프로세스를 나타낸다. 사용자 교정은, 미리 정해진 세트의 키 눌림과 같은 미리 정해진 세트의 동작 시, 또는 디바이스를 연속으로 특정 정적 배향에 놓거나 디바이스를 특정한 미리 정해진 방식으로 회전시키는 것과 같은 특정 조작들을 사용자가 수행할 때, 개시될 수도 있다.
자동 교정은, 사용자 참여 없이 백그라운에서 일어날 수도 있다. 자동 교정은, 노후화, 이벤트들, 또는 노후화와 이벤트의 조합에 기초하여 개시될 수도 있다. 예를 들어, 자동 교정은 호스트 디바이스가 희망 방위에 배치되어 있거나 특정 방식으로 이동할 때 개시될 수도 있다. 자동 교정은, "Calibrating Multi-Dimensional Sensor for Offset, Sensitivity, and Non-Orthogonality"라는 명칭으로 Christopher Brunner 이 출원하고, 본 개시물과 동일한 양수인이 권한을 가지며, 그 전체가 여기에서 참조로서 인용되는, 미국 특허 출원 대리인 관리번호 091412 에서 설명된다.
사용자 및 자동 교정은 팩토리 교정을 증가시키거나 팩토리 교정을 대체하는 데 이용될 수 있다. 예를 들어, 모든 파라미터들 또는 상태들이 팩토리 교정에서 교정될 수 있는 것은 아니며, 팩토리 교정은 디바이스들의 샘플링에 기초할 수도 있지만, 반대로 각각의 유일한 디바이스가 자신의 특성을 가질 수도 있다. 예를 들어, 배터리들은 일반적으로 그들 자신의 자기적 특성들을 갖는다. 유사하게, 팩토리 교정의 파라미터들은 실제 디바이스 조건들과는 상이한 조건들에서 교정되었을 수도 있다. 예를 들어, 팩토리 교정은 전체 동작 온도 범위를 스패닝하지 않을 수도 있고, 또는 상대적으로 강한 지구 자기장을 갖는 영역에서 수행될 수도 있으며, 그 후, 디바이스는 수평 자기장 강도가 훨씬 더 약한 위치에서 사용된다.
사용자 및 자동 교정은, 팩토리 교정이 에러가 있게 되거나, 손실되거나, 또는 이와 달리 무효인 경우에 특히 유용할 수도 있다. 예를 들어, 호스트 디바이스는 우연히 자화될 수도 있어, 팩토리 교정을 무효로 만들 수도 있다. 팩토리 교정은, 예를 들어 호스트 디바이스가 드롭되어 그것의 마운트 상에서 시프트되게 하거나 마운팅 보드가 호스트 디바이스 하우징에 대해 시프트될 수도 있기 때문에, 부적당하게 될 수도 있다.
모든 타입들의 교정은 일반적으로, 모니터링될 수도 있는 호스트 디바이스 상태들을 해결한다. 즉, 사용자 또는 자동 교정이 특정 상태에서 디바이스에 대해 일어나면, 교정 결과들은 이 상태에 대응하는 것으로 마킹되어야 하고, 디바이스가 이 상태에 있을 때 추후에 적용되어야 한다. 효과적으로 모니터링될 수도 있지만 제어하기가 곤란한 특정 상태의 실시예는 디바이스 온도이다.
동일한 상태에서 동일한 파라미터가 가능한 교정들 (팩토리, 사용자, 자동) 중 하나 이상의 것을 이용하여 교정되었다면, 결과들은 각각의 교정 품질에 따른 가중치들 및 하나의 교정 타입 또는 교정 노후화에 대해 제공된 특정 성질로 평균화될 수 있다.
도 2 는 상태 테이블 (200) 의 실시형태의 단순화된 블록도이다. 상태 테이블 (200) 은, 예를 들어 도 1 의 상태 모니터 (164) 에 의해 유지되거나 이와 달리 유도될 수 있다. 상태 모니터는 주기 단위로, 또는 이벤트 단위로, 또는 이들의 일부 조합 단위로 업데이트될 수도 있다.
도 2 의 상태 테이블 (200) 은 상태 모니터에 의해 모니터링될 수도 있는 상태들의 타입의 실시예이다. 상태 테이블 (200) 에 예시된 상태들의 수는 간결성을 위해 제한되며, 모니터링될 수 있는 상태들의 타입들의 배타적인 리스팅으로 의도되지 않는다. 이전과 같이, "상태"라는 용어는, 여기에서, 하드웨어로 구현되든, 소프트웨어로 구현되든, 또는 이들의 조합으로 구현되든, 상태, 모드, 또는 프로세스를 지칭한다. 또한, 상태 테이블 (200) 의 상태들은 천이 상태들을 포함할 수도 있다. 천이 상태들은, 예를 들어 상태 테이블 (200) 에서 하나의 상태로부터 다른 상태로의 천이를 예시할 수 있다.
일 실시형태에서, 상태 테이블 (200) 은 메모리에 구현될 수 있고, 하나 이상의 프로세서들에 의해 기록될 수 있다. 예를 들어, 소프트웨어 동작을 제어하는 각각의 프로세서는 상태들의 변경 시에 상태 테이블을 업데이트할 수도 있다. 또한, 하나 이상의 프로세서들은 모바일 디바이스 내에서 하드웨어 상태들을 모니터링, 샘플링, 또는 이와 달리 폴링 (poll) 하고, 하드웨어 모니터링에 따라 상태 테이블 (200) 을 업데이트하도록 구성될 수 있다. 일부 경우들에 있어서, 프로세서 외의 하드웨어가 상태 테이블 (200) 에 직접적으로 액세스하여 편집할 능력을 가질 수도 있다.
다른 실시형태에서, 상태 테이블 (200) 은 하드웨어 구현될 수 있다. 예를 들어, 상태 테이블 내의 각각의 비트는 검출기, 전류 작동 스위치, 전압 모니터 등, 또는 이들의 조합과 같은 하드웨어 모니터에 대응할 수 있다. 전류 모니터는, 예를 들어 도 1 의 기저대역 증폭기 또는 고전력 증폭기와 같은 모듈 또는 증폭기에 인가되는 바이어스 전류를 모니터링할 수 있고, 바이어스 전류에 기초하여 증폭기의 상태를 판별하고 리포팅할 수 있다. 전류 모니터 출력은 상태 테이블 (200) 의 엔트리와 같은 상태를 직접적으로 리포팅하도록 구성될 수도 있다. 마찬가지로, 전압 모니터는 디바이스 또는 모듈이 전압의 인가를 통해 활성화되는 경우에 그 디바이스 또는 모듈에 대한 바이어스 전압에 기초하여 상태를 모니터링 및 리포팅할 수도 있다.
또 다른 실시형태들은 상태 테이블 (200) 을 구현하고 업데이트하기 위한 소프트웨어 및 하드웨어의 조합을 이용할 수도 있다. 소프트웨어에 대해 동작하는 프로세서는 소프트웨어 상태들을 모니터링 및 리포팅할 수도 있고, 하드웨어 상태들 및 하드웨어 모니터들 중 일부는 다른 하드웨어 상태들을 모니터링 및 리포팅하는 데 이용될 수도 있다. 일부 실시형태들에서, 프로세서 실행 소프트웨어는 하드웨어와 결합하여 상태를 모니터링 및 리포팅하도록 동작할 수도 있다.
예를 들어, 기계적 특징의 상태는 직접적으로 모니터링될 수도 있고, 또는 소프트웨어에 의해 모니터링될 수도 있다. 소프트웨어는 센서들, 스위치들, 검출기들 등을 사용하여 하나 이상의 기계적 특징들의 상태를 모니터링할 수도 있다. 예를 들어, 센서 또는 스위치는 폴딩 커버 또는 슬라이딩 커버의 포지션을 나타내는 데 사용될 수도 있다. 대안으로, 소프트웨어는 하나 이상의 관련 파라미터들에 기초하여 기계적 특징의 상태를 추론할 수도 있고, 유추할 수도 있으며, 또는 이와 달리 간접적으로 결정할 수도 있다. 예를 들어, 소프트웨어는 키 눌림의 검출 시에 키패드 커버가 개방 상태에 있다는 것을 추론할 수도 있다. 마찬가지로, 디스플레이 커버는 백라이트가 온 상태일 때 개방 포지션에 있는 것으로 유추될 수도 있다. 다른 기계적 특징들이 마찬가지 방식으로 감지되거나 이와 달리 판별될 수도 있다.
도 2 의 상태 테이블 (200) 실시예는 다수의 독립적 상태들 및 일부 의존적 상태들을 예시한다. 상태 테이블 (200) 은 송신기 활성 (202), 수신기 활성 (204), GNSS 수신기 활성 (206) 및 백라이트 활성 (208) 에 대한 상태 엔트리를 포함한다. 상태 테이블 (200) 은 또한 여러 의존적 상태 엔트리들도 포함한다. 이들은 송신기 활성 (202) 상태에 따른 중요도를 갖는 2-비트 송신기 AGC 상태 (212) 를 포함한다. 마찬가지로, 수신기 LNA 상태 (222) 및 2-비트 수신기 AGC 상태 (224) 는 수신기 활성 (204) 상태에 의존적이다.
송신기 AGC 상태 (212) 및 수신기 AGC 상태 (224) 와 같은 의존적 상태들의 값은 이들이 의존적이라는 상태에 기초해서만 중요할 수도 있다. 예를 들어, 시간 t0 에서, 송신기 ACG 상태 (212) 의 상태 비트들 (250-2) 은, 송신기가 활성 상태가 아닌 것을 송신기 활성 상태 비트 (250-1) 가 표시하기 때문에, "돈 케어(don't care)" 상태로 설정될 수도 있다. "돈 케어" 상태는, AGC 상태 (212) 의 모든 가능한 조합에 대해, 모바일 디바이스의 상태가 본질적으로 같다는 것을 나타낸다.
추후 시간 t1 에서, 상태 테이블 (200) 에서의 상태 비트들은 모바일 디바이스 상태에서의 변경을 나타내도록 변화한다. 상태 테이블은, 이벤트들 등, 또는 이들의 일부 조합에 기초하여 주기적으로 업데이트될 수도 있다. 시간 t1 에서, 수신기 활성 비트 (26-1) 는, 수신기가 활성임을 나타내고, 그에 따라 대응하는 수신기 AGC 비트들 (260-2) 의 상태는 센서 교정에 대한 영향을 갖는 모바일 디바이스의 상태를 유효하게 나타낸다.
도 2 의 상태 테이블 (200) 의 실시예는 활성 하이 로직을 이용하지만, 본 발명은 임의의 특정 논리적 관례로 국한되지 않는다. 또한, 상태 테이블 (200) 의 엔트리들은 이진일 필요가 없지만, 심지어 수치일 필요가 없는 일부 다른 표시일 수도 있다.
전술된 바와 같이, 다양한 상태들의 논리적 독립성은 반드시 센서에 대한 효과의 독립성과 같을 필요가 없다. 따라서, 상태 테이블 (200) 의 상이한 인스턴스들은 상태들의 각각의 개별 조합이 고유한 센서 정정에 대응할 수도 있는 다양한 상태들의 가능한 조합을 나타낼 수 있다.
도 3 은 교정 테이블의 실시형태의 단순화된 블록도이다. 교정 테이블 (300) 은, 예를 들어 도 1 의 정정 모듈 (174) 에 구현될 수 있다. 교정 테이블 (300) 은 상태 값 엔트리들 (310) 및 교정 값들 (320) 을 포함한다. 도 3 의 교정 테이블에서, 각각의 디바이스 상태 값은 정정 팩터, 보상 값, 또는 교정 오프셋으로서 구현될 수도 있는 대응 교정 값과 일치한다.
많은 디바이스 상태들 및 추가의 컴퍼스 에러를 야기할 수도 있는 상태들의 다수의 조합들은 교정 테이블을 준비하는 업무를 과도하게 복잡하게 보이게 만드는 것처럼 보인다. 그러나, 에러가 일반적으로 제공된 모델의 모든 디바이스들에 대해 비슷할 것이기 때문에, 실제 교정 (에러 측정) 은, 예컨대 제조 전 테스트 동안, 단일 디바이스 또는 디바이스들의 샘플에 대해 이루어질 수도 있다. 교정 결과들은 동일한 모델의 모든 디바이스들에 대해 공통 교정 테이블 내에 포함될 수 있다.
교정 테이블 (300) 이 교정 값들 (320) 과 직접 맵핑하는 상태 값 엔트리들 (310) 을 예시하고 있지만, 맵핑은 직접적일 필요가 없다. 상태 값 엔트리들 (310) 을 대응하는 교정 값들 (320) 에 맵핑하는 다른 방식들이 존재하며, 본 발명은 임의의 특정 맵핑 방식으로 국한되지 않는다. 예를 들어, 각각의 상태 값 엔트리 (310) 는 메모리 내의 어드레스와 관련될 수 있고, 메모리 내의 어드레스는 대응하는 교정 값 (320) 을 저장할 수 있다. 마찬가지로, 각각의 상태 값 엔트리 (310) 는 대응하는 교정 값 (320) 을 보유하는 어드레스를 가리키는 포인터와 관련될 수 있다.
모바일 디바이스는 상태 모니터에 이용 가능하지 않은 상태들 또는 상태들의 조합들을 입력하는 것이 가능하다는 것에 유의한다. 예를 들어, 디스플레이 상의 픽처의 화소들의 조명은 자력계에 영향을 미칠 수도 있고, 스크린 상태들의 수는 상태 모니터에서 추적되기에는 너무 클 수도 있다. 다른 실시예: 자력계에 영향을 주는 디바이스의 상태는 소프트웨어 제한들로 인해 상태 모니터에 이용가능하지 않게 제조될 수 없다.
이러한 이유로, 상태 모니터에 의해 리포팅되는 상태 또는 상태들의 조합에 대해 다수의 유효 교정 값들이 존재할 수도 있다. 이것이 그러한 경우라면, 예를 들어, 상태 모니터에 의해 리포팅된 동일한 상태에 대한 자동 교정에 의해 획득된 다수의 교정 값들이 저장될 수도 있다.
상태 모니터가 모든 관련 상태들을 추적할 수 없다면, 교정 값은 어떤 교정 세트가 가장 잘 피팅하는지에 기초하여 상태 모니터에 의해 리포팅된 상태 또는 상태들의 조합과 관련된 다수의 교정 값들로부터 선택될 수 있다. 피팅 기준은 3-D 자력계의 교정된 자력계 샘플들이 스피어 (sphere) 상에 위치되는 것을 이용할 수도 있다.
상태 값 엔트리들 (310) 에 의해 구현된 상태들의 각각의 개별 조합은, 그 조합에 대한 정정이 각각의 개별 상태에 대한 정정 값들의 합산과는 개별적일 수도 있는, 상태들의 조합에 기인할 수 있는 에러들의 정정을 허용하도록 교정 값 (320) 에 대응한다. 일부 상태 값들은 동일한 교정 값에 맵핑할 수도 있다. 예를 들어, 의존적 상태들에 대한 상태 값들의 특정 조합들은 그들이 의존하는 독립적 상태의 상태에 의존하여 동일한 교정 값에 맵핑할 수도 있다.
교정 테이블 (300) 은 또한 각각의 상태 값 엔트리 (310) 에 대해 단 하나의 교정 값만을 예시한다. 그러나, 다른 실시형태들에서는, 하나 이상의 추가 파라미터들이 교정 값에 영향을 미칠 수도 있다. 예를 들어, 전자 자기 컴퍼스와 같은 센서에 대해 리턴된 교정 값은 헤딩이 놓인 사분면에 부분적으로 의존할 수도 있다. 또한, 센서에 대해 리턴된 교정 값은 온도 또는 일부 다른 파라미터에 의존할 수도 있다. 일부 경우들에 있어서, 이러한 추가 파라미터들 각각은 추가 상태 값으로서 모니터링될 수도 있다. 대안으로, 추가의 하나 이상의 파라미터들은 호스트 디바이스의 상태들에 배타적이지 않을 수도 있다. 추가 파라미터들이 상태 값들에 추가되는 경우, 교정 테이블 (300) 은 각각의 상태 엔트리에 대해 파라미터 값들의 범위에 대한 교정 값들을 저장하도록 구성될 수 있다. 대안으로, 교정 테이블 (300) 은, 파라미터들에 기초하고, 교정 테이블 (300) 로부터 리턴된 교정 값들에 적용되는 하나 이상의 추가 정정들을 정정할 수 있다.
도 4 는 전자 자기 컴퍼스 (172) 로서 도 4 에 예시된, 센서를 보상하도록 구성된 정정 모듈 (174) 의 실시형태의 단순화된 기능 블록도이다. 전자 컴퍼스 (172) 는 자기장에 기초하여 헤딩을 감지하고, 헤딩을 나타내는 신호를 출력한다. 정정 모듈 (174) 은 센서 출력을 수신하고, 상태 모니터 (164) 로부터 상태 값을 수신하며, 교정 값을 판정한다. 정정 모듈 (174) 은 교정 값을 센서 출력에 합산하여, 정정된 센서 출력을 생성한다. 상태 모니터 (164) 가 하나 이상의 일시적 상태들의 존재를 나타내면, 정정 모듈 (174) 은, 예를 들어 일시적 상태의 듀레이션 동안 이전에 정정된 센서 출력을 공급함으로써, 정정된 센서 출력을 프리즈시킬 수도 있다.
도 4 의 실시형태에서, 정정 모듈 (174) 은 센서 출력을 수신하도록 구성된 레지스터 (410) 를 포함한다. 레지스터 (410) 는, 예를 들어 샘플링-및-홀딩 모듈, R-S 래치, D 플립-플롭, 또는 일부 다른 저장 디바이스일 수 있다. 레지스터 (410) 의 타입은, 예를 들어 전자 자기 컴퍼스 (172) 와 같은 센서가 아날로그 출력을 제공하는지 디지털 출력을 제공하는지에 의존할 수 있다.
레지스터 (410) 의 출력은 제 1 합산기 (420) 의 제 1 입력에 커플링된다. 교정 값은 합산기 (420) 의 제 2 입력에 커플링된다. 합산기 (420) 는 교정 값과 센서 출력을 합산하여 정정된 센서 출력을 생성하도록 구성된다. 정정된 센서 출력은 합산기 (420) 의 출력으로부터 저역 통과 필터와 같은 필터 (430) 에 커플링될 수 있다. 저역 통과 필터 (430) 는 정정된 센서 출력으로부터 잡음을 제거하도록 구성될 수 있다. 또한, 저역 통과 필터 (430) 는 센서 응답 시간을 약화시키거나 이와 달리 늦추도록 구성될 수 있다. 저역 통과 필터 (430) 의 출력은 정정된 센서 출력이다. 일부 실시형태들에서, 저역 통과 필터 (430) 는 생략되고, 제 1 합산기 (420) 는 정정된 센서 출력을 제공한다.
정정 모듈 (174) 은 상태 모니터 (164) 와 결합하여 교정 값들을 판정한다. 정정 모듈 (174) 은 또한 상태 모니터 (164) 의 출력에 커플링되거나 이와 달리 상태 테이블로의 액세스를 갖는다.
상태 모니터가 모든 관련 상태들을 추적할 수 없다면, 교정 값은 어떤 교정 세트가 가장 잘 피팅하는지에 기초하여 상태 모니터에 의해 리포팅된 상태 또는 상태들의 조합과 관련된 다수의 교정 값들로부터 선택될 수 있다. 피팅 기준은 3-D 자력계의 교정된 자력계 샘플들이 스피어 상에 위치한다는 것을 이용할 수도 있다.
일 실시형태에서, 정정 모듈 (174) 은 메모리 (462) 에 저장된 명령들에 따라서 동작하는 프로세서 (460) 를 포함한다. 프로세서 (460) 는 상태 테이블 값들에 액세스하거나 이와 달리 상태 모니터 (164) 로부터 그러한 상태 테이블 값들을 수신한다.
프로세서 (460) 는 상태 값들을 이용하여 도 3 의 교정 테이블 (300) 과 같은 룩업 테이블에 액세스한다. 교정 테이블 (300) 은 정정 모듈 (174) 로부터 떨어진 것으로 예시된다. 그러나, 일부 실시형태들에서, 교정 테이블 (300) 은 정정 모듈 (174) 의 일부일 수 있다. 프로세서 (460) 는 상태 값에 적어도 부분적으로 기초하여 교정 테이블 (300) 로부터 교정 값을 취출한다. 프로세서 (460) 는 교정 값을 교정 레지스터 (470) 에 기록한다.
교정 레지스터 (470) 는 교정 값을 교정 값 필터 (480) 에 제공한다. 교정 값 필터 (480) 는 교정 값에 존재하는 임의의 잡음을 필터링하도록 구성되고, 교정 값의 응답 시간을 약화시키거나 이와 달리 제어하도록 구성될 수 있다. 교정 필터 (480) 의 특정 구조가 도 4 에 예시되지만, 정정 모듈은 임의의 특정 필터 구조로 국한되지 않으며, 심지어 교정 값 필터 (480) 를 생략할 수도 있다.
교정 값 필터 (480) 는 레지스터 (470) 로부터 교정 값을 수신하도록 구성된 제 1 입력을 갖는 제 2 합산기 (482) 를 포함한다. 제 2 합산기 (482) 의 출력은 제 1 합산기 (420) 에 커플링된 교정 값을 나타낸다.
제 2 합산기 (482) 의 출력은 또한 지연 모듈 (484) 의 입력에 커플링된다. 지연 모듈 (484) 의 출력은 신호 스케일러 (486) 에 커플링된다. 신호 스케일러 (486) 은 지연된 교정 값을 스케일링하고, 스케일링된 값을 제 2 합산기 (482) 의 제 2 입력에 커플링한다.
상태 모니터가 천이 상태 또는 이와 달리 일시적 상태를 나타내는 상태들에서, 프로세서 (460) 는 프로세싱되는 센서 값을 프리즈시킬 수 있다. 예를 들어, 프로세서는 레지스터 (410) 및 교정 레지스터들 (470) 을 프리즈시켜, 일시적 상태의 발생 이전에 존재한 값들을 보유하게 할 수 있다.
상태 모니터 (164) 가 상태 값들을 끊임없이 업데이트하기 때문에, 정정 모듈 (174) 은 모바일 디바이스의 상태에 기초하여 센서 출력을 동적으로 정정할 수 있다. 이 방식으로, 센서 출력은 더 정확하다.
도 5 는 전자 자기 컴퍼스 출력과 같은 센서 출력을 동적으로 정정하는 방법 (500) 의 실시형태의 단순화된 흐름도이다. 방법 (500) 은 도 1 의 모바일 디바이스, 및 특히 상태 모니터 및 교정 테이블과 결합하여 동작하는 도 4 의 정정 모듈에 의해 구현될 수 있다.
방법 (500) 은 정정 모듈이 센서 출력을 수신하는 블록 (510) 에서 시작한다. 예를 들어, 정정 모듈은 전자 자기 컴퍼스로부터 헤딩 판독을 수신할 수도 있다. 정정 모듈은 센서 출력 값을 등록하거나 이와 달리 저장할 수도 있다.
정정 모듈은 블록 (520) 으로 진행하고, 디바이스 상태를 판정한다. 일 실시형태에서, 상태 모니터는 센서 정확도에 영향을 미치는 호스트 디바이스의 그러한 센서 상태들을 추적한다. 상태 모니터는 상이한 센서들에 대한 상이한 디바이스 상태들을 추적할 수도 있다. 전자 자기 컴퍼스에 대해, 상태 모니터는, 전류 흐름에 의해 유도된 자기장이 컴퍼스 판독의 정확도에 영향을 미칠 수도 있기 때문에, 디바이스 내에서의 전류 흐름의 변경들에 관련되는 그러한 디바이스 상태들을 추적할 수도 있다.
정정 모듈이 상태 값에 액세스하여 판독할 수도 있고, 또는 상태 모니터가 상태 값을 정정 모듈에 제공할 수 있다. 일단 정정 모듈이 현재 디바이스 상태를 판정하면, 정정 모듈은 블록 (530) 으로 진행한다. 정정 모듈이 상태 값들을 검사하여, 일시적 상태 동안의 센서의 교정이 효율적이거나 실현가능하지 않은 그러한 짧은 시간에 일반적으로 유효하게 유지되는 상태를 나타내는 일시적 상태들의 존재를 판별한다. 예를 들어, 일시적 상태의 결과로서 생성된 전류 스파이크는 센서의 출력 신호 대역폭과 관련하여 짧은 시간 동안 존재할 수도 있고, 그에 따라 센서의 교정은 일시적 상태 동안 실현가능하지 않다. 정정 모듈은, 예를 들어 상태 값들에 마스크를 적용하여 일시적 상태의 존재를 판정할 수 있다.
결정 블록 (540) 에서, 정정 모듈은 적어도 하나의 일시적 상태가 존재하는지를 판정한다. 그러한 경우, 정정 모듈은 블록 (542) 로 진행하여, 일시적 상태의 발생 이전에 정정 모듈에 제공된, 유효한 정정된 센서 출력 또는 센서 입력 값을 프리즈시킨다. 정정 모듈은 블록 (542) 로부터 블록 (570) 으로 진행한다. 대안으로, 정정 모듈은 일시적 상태의 듀레이션 동안 무효이거나 이와 달리 에러가 있는 센서 출력의 표시를 출력할 수 있다.
결정 블록 (540) 에서, 정정 모듈이 어떠한 일시적 상태도 존재도 존재하지 않는다는 것을 판정하면, 정정 모듈은 블록 (550) 으로 진행한다. 블록 (550) 에서, 정정 모듈은 상태 값에 기초하여 교정 또는 정정 값을 판정한다. 예를 들어, 정정 모듈은 상태 값에 기초하여 룩업 테이블로부터 교정 값을 취출할 수 있다.
정정 모듈은 블록 (560) 으로 진행하고, 교정 값으로 센서 출력을 정정한다. 예를 들어, 정정 모듈은 센서 출력에 교정 오프셋을 합산하여 센서 출력을 정정하도록 구성될 수 있다.
정정 모듈은 블록 (570) 으로 진행하여, 정정된 센서 값을 출력한다. 일시적 상태가 존재하는 경우, 정정 모듈은 이전의 정정된 센서 값을 출력한다.
전자 자기 컴퍼스에 대한 것과 같은 센서 출력의 동적 교정은 동적 호스트 디바이스 상태들을 모니터링함으로써 수행될 수 있다. 교정 값은 호스트 디바이스 상태들에 기초하여 판정될 수 있고, 센서 출력 값에 적용되어 센서 출력 값을 동적으로 정정하게 할 수 있다.
여기에서 설명된 방법은 애플리케이션에 따라 다양한 수단에 의해 구현될 수도 있다. 예를 들어, 이러한 방법들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수도 있다. 하드웨어 구현의 경우, 프로세싱 유닛들이 하나 이상의 ASIC들 (application specific integrated circuits), DSP들 (digital signal processors), DSPD들 (digital signal processing devices), PLD들 (programmable logic devices), FPGA들 (field programmable gate arrays), 프로세서들, 제어기들, 마이크로제어기들, 마이크로프로세서들, 전자 디바이스들, 여기서 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 또는 이들의 조합 내에서 구현될 수도 있다.
펌웨어 및/또는 소프트웨어 구현에 있어서, 방법들은 여기에 설명된 기능들을 수행하는 모듈들 (예를 들어, 절차, 기능 등) 로 구현될 수도 있다. 명령들을 유형적으로 구체화하는 임의의 기계 판독가능 매체는 여기서 설명된 방법들을 구현하는 데 이용될 수도 있다. 예를 들어, 소프트웨어 코드들은 메모리에 저장되거나 이와 달리 인코딩될 수도 있고, 프로세서에 의해 실행될 수도 있다. 메모리는 프로세서 내부에 구현될 수도 있고, 또는 프로세서 외부에 구현될 수도 있다. 여기서 사용된 바와 같이 "메모리"라는 용어는 임의의 타입의 롱텀, 숏텀, 휘발성, 비휘발성, 또는 다른 메모리를 지칭하며, 임의의 특정 타입의 메모리 또는 메모리들의 수, 또는 메모리가 저장되는 매체 타입으로 국한되지 않는다.
하나 이상의 예시적인 실시형태에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 기능들은 하나 이상의 명령들 또는 컴퓨터 판독가능 매체 상의 코드 상에 저장되거나 이를 통해 송신될 수도 있다. 컴퓨터 판독가능 매체는 물리적 컴퓨터 저장 매체를 포함한다. 송신 매체는 물리적 송신 매체를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수도 있다. 비 제한적인 예시의 방식으로, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 저장장치, 자기 디스크 저장장치 또는 다른 자기 저장 디바이스, 또는 컴퓨터에 의해 액세스 될 수 있고 명령들 또는 데이터 구조들 형태로 원하는 프로그램 코드를 운반 또는 저장하는데 이용될 수 있는 임의의 다른 매체를 포함할 수 있다. 상기의 조합은 또한 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
방법 또는 프로세서에서의 다양한 단계들 또는 동작들은 도시된 순서대로 수행될 수도 있고, 또는 다른 순서로 수행될 수도 있다. 또한, 하나 이상의 프로세스 또는 방법 단계들이 생략될 수도 있고, 또는 하나 이상의 프로세스 또는 방법 단계들이 그 방법들 및 프로세스들에 추가될 수도 있다. 추가 단계, 블록, 또는 동작이 시작 시, 종료 시, 또는 그 방법들 및 프로세스들의 중간 개재된 기존의 엘리먼트들에 추가될 수도 있다.
개시되어 있는 실시형태들에 대한 상기의 설명은 당업자로 하여금 본 발명을 제조 또는 이용할 수 있도록 제공된다. 당업자는 이들 실시형태에 대한 다양한 변형들을 명백히 알 수 있으며, 여기에서 정의된 일반적인 원리들은 본 발명의 사상 또는 범위를 벗어나지 않고도 다른 실시형태들에 적용될 수도 있다. 따라서, 본 발명은 여기에서 설명된 실시형태들에 제한되는 것이 아니라, 여기에서 개시된 원리 및 신규한 특징들과 부합하는 최광의 범위를 부여하려는 것이다.

Claims (33)

  1. 센서 출력 값을 판정하는 단계;
    센서를 갖는 호스트 디바이스의 동적 상태를 판정하는 단계;
    상기 센서 및 상기 동적 상태에 기초하여 교정 값을 판정하는 단계; 및
    정정된 센서 출력 값을 생성하도록 상기 교정 값을 상기 센서 출력 값에 적용하는 단계를 포함하는, 동적 센서 정정 방법.
  2. 제 1 항에 있어서,
    상기 센서 출력 값을 판정하는 단계는 전자 자기 컴퍼스로부터의 출력 값을 판정하는 단계를 포함하는, 동적 센서 정정 방법.
  3. 제 1 항에 있어서,
    상기 센서 출력 값을 판정하는 단계는 저장 레지스터로부터 센서 출력 값을 취출하는 단계를 포함하는, 동적 센서 정정 방법.
  4. 제 1 항에 있어서,
    상기 동적 상태를 판정하는 단계는 GNSS (Global Navigation Satellite System) 수신기를 갖는 모바일 디바이스의 동적 상태를 판정하는 단계를 포함하는, 동적 센서 정정 방법.
  5. 제 1 항에 있어서,
    상기 동적 상태를 판정하는 단계는 하드웨어 상태를 판정하는 단계를 포함하는, 동적 센서 정정 방법.
  6. 제 1 항에 있어서,
    상기 동적 상태를 판정하는 단계는 소프트웨어 상태를 판정하는 단계를 포함하는, 동적 센서 정정 방법.
  7. 제 1 항에 있어서,
    상기 동적 상태를 판정하는 단계는 일시적 상태의 존재를 판정하는 단계를 포함하는, 동적 센서 정정 방법.
  8. 제 1 항에 있어서,
    상기 동적 상태를 판정하는 단계는 무선 통신 송수신기 상태를 판정하는 단계를 포함하는, 동적 센서 정정 방법.
  9. 제 1 항에 있어서,
    상기 동적 상태를 판정하는 단계는 GNSS 수신기 상태를 판정하는 단계를 포함하는, 동적 센서 정정 방법.
  10. 제 1 항에 있어서,
    상기 동적 상태를 판정하는 단계는 증폭기 상태를 판정하는 단계를 포함하는, 동적 센서 정정 방법.
  11. 제 10 항에 있어서,
    상기 증폭기 상태는 증폭기 이득 상태를 포함하는, 동적 센서 정정 방법.
  12. 제 1 항에 있어서,
    상기 동적 상태를 판정하는 단계는 디스플레이 백라이트 상태를 판정하는 단계를 포함하는, 동적 센서 정정 방법.
  13. 제 1 항에 있어서,
    상기 동적 상태를 판정하는 단계는 배터리 충전 상태를 판정하는 단계를 포함하는, 동적 센서 정정 방법.
  14. 제 1 항에 있어서,
    상기 동적 상태를 판정하는 단계는 모바일 디바이스 내의 상태들의 조합을 판정하는 단계를 포함하는, 동적 센서 정정 방법.
  15. 제 1 항에 있어서,
    상기 동적 상태를 판정하는 단계는:
    모바일 디바이스 내의 복수의 상태들 각각을 모니터링하는 단계; 및
    상기 모니터링에 기초하여 상태 테이블을 업데이트하는 단계를 포함하는, 동적 센서 정정 방법.
  16. 제 1 항에 있어서,
    상기 교정 값을 판정하는 단계는 교정 테이블로부터 상기 동적 상태에 대응하는 교정 값을 취출하는 단계를 포함하는, 동적 센서 정정 방법.
  17. 제 16 항에 있어서,
    상기 교정 값을 판정하는 단계는:
    상기 동적 상태에서 적어도 하나의 일시적 상태의 존재를 판정하는 단계; 및
    이전 교정 값을 유지하는 단계를 더 포함하는, 동적 센서 정정 방법.
  18. 제 16 항에 있어서,
    상기 교정 값을 판정하는 단계는 상태 모니터에 의해 리포팅된 동적 상태에 대응하는 다수의 교정 값들로부터 선택하는 단계를 더 포함하는, 동적 센서 정정 방법.
  19. 제 1 항에 있어서,
    상기 교정 값을 상기 센서 출력 값에 적용하는 단계는 상기 교정 값을 상기 센서 출력 값과 합산하는 단계를 포함하는, 동적 센서 정정 방법.
  20. 제 1 항에 있어서,
    상기 교정 값을 상기 센서 출력 값에 적용하는 단계는 이전 교정 값을 이전 센서 출력 값에 합산하는 단계를 포함하는, 동적 센서 정정 방법.
  21. 호스트 디바이스의 동적 상태를 판정하도록 구성된 상태 모니터; 및
    상기 상태 모니터에 커플링되며, 센서 출력 값을 판정하고, 상기 호스트 디바이스의 상태에 기초하여 교정을 판정하고, 상기 교정 및 상기 호스트 디바이스의 상태에 적어도 부분적으로 기초하여, 정정된 센서 출력 값을 출력하도록 구성된 정정 모듈을 포함하는, 동적 센서 정정 장치.
  22. 제 21 항에 있어서,
    상기 상태 모니터는 모바일 디바이스 내의 동적 하드웨어 상태 또는 동적 소프트웨어 상태 중 적어도 하나를 판정하도록 구성된, 동적 센서 정정 장치.
  23. 제 21 항에 있어서,
    상기 상태 모니터는, 모바일 디바이스 내의 복수의 상태들 각각을 모니터링하고 상기 모니터링에 기초하여 상태 테이블을 업데이트하도록 구성된, 동적 센서 정정 장치.
  24. 제 21 항에 있어서,
    교정 테이블을 더 포함하고,
    상기 정정 모듈은, 상기 상태 모니터로부터의 동적 상태를 판정하고 상기 동적 상태에 기초하여 상기 교정 테이블로부터 교정 값을 취출하도록 구성된, 동적 센서 정정 장치.
  25. 제 24 항에 있어서,
    상기 교정 테이블은 복수의 가능한 동적 상태들 각각을 대응하는 교정 값에 맵핑하는, 동적 센서 정정 장치.
  26. 제 21 항에 있어서,
    상기 정정 모듈은, 상기 상태 모니터로부터의 일시적 상태의 존재를 판정하고 상기 일시적 상태의 존재 시에 상기 정정된 센서 출력 값을 선택적으로 프리즈 (freeze) 시키도록 구성된, 동적 센서 정정 장치.
  27. 제 21 항에 있어서,
    상기 정정 모듈은:
    상기 센서 출력 값을 수신하고 저장하도록 구성된 제 1 레지스터; 및
    상기 제 1 레지스터에 커플링된 제 1 입력 및 교정 값을 수신하도록 구성된 제 2 입력을 갖는 합산기로서, 상기 합산기의 출력은 상기 정정된 센서 출력 값을 제공하는, 상기 합산기를 포함하는, 동적 센서 정정 장치.
  28. 센서 출력 값을 판정하는 수단;
    센서를 갖는 호스트 디바이스의 동적 상태를 판정하는 수단;
    상기 센서 및 상기 동적 상태에 기초하여 교정 값을 판정하는 수단; 및
    정정된 센서 출력 값을 생성하도록 상기 교정 값을 상기 센서 출력 값에 적용하는 수단을 포함하는, 동적 센서 정정 장치.
  29. 제 28 항에 있어서,
    상기 동적 상태를 판정하는 수단은 하드웨어 상태, 소프트웨어 상태, 무선 통신 송수신기 상태, GNSS 수신기 상태, 디스플레이 백라이트 상태, 자동 이득 제어 (AGC) 상태, 또는 배터리 충전 상태 중 적어도 하나를 판정하도록 구성된, 동적 센서 정정 장치.
  30. 제 28 항에 있어서,
    상기 동적 상태를 판정하는 수단은:
    모바일 디바이스 내의 복수의 상태들 각각을 모니터링하는 수단; 및
    상기 모니터링에 기초하여 상태 테이블을 업데이트하는 수단을 포함하는, 동적 센서 정정 장치.
  31. 제 28 항에 있어서,
    상기 교정 값을 판정하는 수단은:
    상기 동적 상태에서 적어도 하나의 일시적 상태의 존재를 판정하는 수단; 및
    이전 교정 값을 유지하는 수단을 더 포함하는, 동적 센서 정정 장치.
  32. 동적 센서 정정을 수행하는 프로세서에 의해 실행될 때, 인코딩된 하나 이상의 프로세서 판독가능 명령들을 갖는 저장 매체로서,
    상기 인코딩된 하나 이상의 프로세서 판독가능 명령들은:
    센서 출력 값을 판정하는 명령들;
    센서를 갖는 호스트 디바이스의 동적 상태를 판정하는 명령들;
    상기 센서 및 상기 동적 상태에 기초하여 교정 값을 판정하는 명령들; 및
    정정된 센서 출력 값을 생성하도록 상기 교정 값을 상기 센서 출력 값에 적용하는 명령들을 포함하는, 인코딩된 하나 이상의 프로세서 판독가능 명령들을 갖는 저장 매체.
  33. 제 32 항에 있어서,
    상기 동적 상태를 판정하는, 상기 저장 매체 상의 인코딩된 하나 이상의 프로세서 판독가능 명령들은:
    하드웨어 상태를 판정하는 명령들,
    소프트웨어 상태를 판정하는 명령들,
    무선 통신 송수신기 상태를 판정하는 명령들,
    GNSS 수신기 상태를 판정하는 명령들,
    디스플레이 백라이트 상태, AGC 상태를 판정하는 명령들, 또는
    배터리 충전 상태를 판정하는 명령들 중 적어도 하나를 포함하는, 인코딩된 하나 이상의 프로세서 판독가능 명령들을 갖는 저장 매체.
KR1020127014535A 2009-11-04 2010-11-03 모바일 전자 디바이스의 정확한 자기 컴퍼스 KR20120080651A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/612,529 US8880373B2 (en) 2009-11-04 2009-11-04 Accurate magnetic compass in mobile electronic device
US12/612,529 2009-11-04

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020147025370A Division KR20140125425A (ko) 2009-11-04 2010-11-03 모바일 전자 디바이스의 정확한 자기 컴퍼스

Publications (1)

Publication Number Publication Date
KR20120080651A true KR20120080651A (ko) 2012-07-17

Family

ID=43926326

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020127014535A KR20120080651A (ko) 2009-11-04 2010-11-03 모바일 전자 디바이스의 정확한 자기 컴퍼스
KR1020147025370A KR20140125425A (ko) 2009-11-04 2010-11-03 모바일 전자 디바이스의 정확한 자기 컴퍼스

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020147025370A KR20140125425A (ko) 2009-11-04 2010-11-03 모바일 전자 디바이스의 정확한 자기 컴퍼스

Country Status (7)

Country Link
US (1) US8880373B2 (ko)
EP (1) EP2496912B1 (ko)
JP (2) JP5867405B2 (ko)
KR (2) KR20120080651A (ko)
CN (1) CN102612637B (ko)
TW (1) TW201139986A (ko)
WO (1) WO2011066073A2 (ko)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8898034B2 (en) * 2009-06-03 2014-11-25 Apple Inc. Automatically identifying geographic direction
US7891103B2 (en) 2009-06-05 2011-02-22 Apple Inc. Magnetometer accuracy and use
US9116002B2 (en) * 2009-08-27 2015-08-25 Apple Inc. Context determination to assist location determination accuracy
US8645093B2 (en) * 2009-11-04 2014-02-04 Qualcomm Incorporated Calibrating multi-dimensional sensor for offset, sensitivity, and non-orthogonality
US8880373B2 (en) * 2009-11-04 2014-11-04 Qualcomm Incorporated Accurate magnetic compass in mobile electronic device
US8626465B2 (en) 2010-03-30 2014-01-07 Apple Inc. Calibrating sensor measurements on mobile devices
US8531180B2 (en) * 2010-03-30 2013-09-10 Apple Inc. Determining heading using magnetometer data and angular rate data
US8717009B2 (en) 2010-10-06 2014-05-06 Apple Inc. Magnetometer calibration
EP2447670A3 (en) * 2010-10-26 2014-12-17 BlackBerry Limited System and Method for Performing a Background Calibration for a Magnetometer
EP2447730B1 (en) * 2010-10-26 2014-11-12 BlackBerry Limited System and method for determining quality of calibration parameters for a magnetometer
US20120098525A1 (en) * 2010-10-26 2012-04-26 Research In Motion Limited System and Method for Calibrating a Magnetometer According to Device States
US8615253B2 (en) 2011-06-03 2013-12-24 Apple Inc. State estimation using motion context and multiple input observation types
US9541393B2 (en) * 2011-06-30 2017-01-10 Qualcomm Incorporated Reducing power consumption or error of digital compass
US9329038B2 (en) 2011-09-30 2016-05-03 Apple Inc. Electronic devices with calibrated compasses
US9046365B2 (en) 2011-10-27 2015-06-02 Apple Inc. Electronic devices with magnetic field compensating conductive traces
US9228838B2 (en) 2011-12-20 2016-01-05 Fluke Corporation Thermal imaging camera with compass calibration
US8997121B2 (en) * 2012-09-10 2015-03-31 Intel Corporation Providing support for position-related applications
US9423252B2 (en) 2012-09-11 2016-08-23 Apple Inc. Using clustering techniques to improve magnetometer bias estimation
US9939497B2 (en) * 2013-03-15 2018-04-10 Intel Corporation Dynamically calibrating magnetic sensors
US9151610B2 (en) 2013-06-08 2015-10-06 Apple Inc. Validating calibrated magnetometer data
CN103776435A (zh) * 2013-06-27 2014-05-07 中国人民解放军镇江船艇学院 磁罗经自差智能化校正装置
US20150115936A1 (en) * 2013-10-28 2015-04-30 Freescale Semiconductor, Inc. Signal error compensation for a magnetometer in a sensor package
US9625290B1 (en) 2013-11-26 2017-04-18 Google Inc. Dynamic calibration of MEMS sensors
JP2016514272A (ja) * 2014-03-10 2016-05-19 インテル コーポレイション 磁気センサの動的校正
CN105091872B (zh) * 2014-05-12 2019-04-26 中兴通讯股份有限公司 一种电子指南针消除干扰方法及装置
CN105277995B (zh) * 2014-06-20 2019-06-11 中兴通讯股份有限公司 地磁传感器的干扰补偿方法及装置
JP2016031245A (ja) * 2014-07-25 2016-03-07 旭化成エレクトロニクス株式会社 物理量データ補正装置、方位角検出装置、およびプログラム
EP3180872B1 (en) 2014-08-12 2019-07-31 ABL IP Holding LLC System and method for estimating the position and orientation of a mobile communications device in a beacon-based positioning system
US9683845B2 (en) * 2014-09-26 2017-06-20 Intel Corporation Virtual gyroscope using dual magnetometers for electronic devices
US10209075B2 (en) 2014-09-30 2019-02-19 Nxp Usa, Inc. Orientation determination for devices generating electromagnetic interference
KR102377001B1 (ko) 2015-03-16 2022-03-22 삼성전자주식회사 모션 인식 서비스 제공 방법 및 그 전자 장치
US10330796B2 (en) 2015-12-14 2019-06-25 Higher Ground Llc Magnetic compass confirmation for avoidance of interference in wireless communications
EP3249353B1 (de) 2016-05-24 2021-09-08 Safran Vectronix AG Optoelektronisches messgerät mit magnetkompass und kompensationsfunktionalität
CN107526112B (zh) * 2016-06-21 2020-02-14 中兴通讯股份有限公司 抗充电地磁干扰的方法和装置
CN108110779B (zh) * 2018-01-10 2021-08-13 河北冀研能源科学技术研究院有限公司 一种电站内储能系统对电站负荷偏差的响应方法
CN109737940A (zh) * 2019-01-30 2019-05-10 深圳市沃感科技有限公司 一种电子罗盘实时自由校准方法及装置
CN109737939B (zh) * 2019-01-30 2021-05-14 深圳市沃感科技有限公司 一种实现电子罗盘全方位安装的方法及装置
KR20200116693A (ko) * 2019-04-02 2020-10-13 삼성전자주식회사 디스플레이 제어 방법 및 그 전자 장치
CN114777755A (zh) * 2022-03-08 2022-07-22 维沃移动通信有限公司 电子罗盘校准方法、装置、电子设备及存储介质

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5644851A (en) * 1991-12-20 1997-07-08 Blank; Rodney K. Compensation system for electronic compass
US5694037A (en) 1995-07-26 1997-12-02 Lucent Technologies Inc. System and method for calibrating multi-axial measurement devices using multi-dimensional surfaces in the presence of a uniform field
US5761094A (en) * 1996-01-18 1998-06-02 Prince Corporation Vehicle compass system
US7216055B1 (en) 1998-06-05 2007-05-08 Crossbow Technology, Inc. Dynamic attitude measurement method and apparatus
US6301794B1 (en) * 1999-05-27 2001-10-16 Johnson Controls, Inc. Vehicle compass system with continuous automatic calibration
US6577976B1 (en) * 1999-09-17 2003-06-10 Hrl Laboratories, Llc Method for dynamic autocalibration of a multi-sensor tracking system and apparatus incorporating it therein
US6401047B1 (en) 2000-01-13 2002-06-04 Delphi Technologies, Inc. System using information on a communications bus to eliminate magnetic noise
US6980092B2 (en) * 2000-04-06 2005-12-27 Gentex Corporation Vehicle rearview mirror assembly incorporating a communication system
US20030140510A1 (en) 2002-01-31 2003-07-31 Siemens Vdo Automotive Corporation Interruption of vehicle compass calibration in response to vehicle accessory interference
US7149627B2 (en) 2002-03-01 2006-12-12 Gentex Corporation Electronic compass system
JP4709744B2 (ja) 2003-02-24 2011-06-22 ジェンテックス コーポレイション 電子コンパスシステム
JP4151784B2 (ja) 2003-04-03 2008-09-17 旭化成エレクトロニクス株式会社 計測装置、方位角計測装置及びキャリブレーションプログラム、並びにキャリブレーション方法
US6877237B1 (en) * 2004-03-05 2005-04-12 Honeywell International Inc. Method and system for acquiring calibration data for an electronic compass
JP4434818B2 (ja) * 2004-03-31 2010-03-17 京セラ株式会社 携帯通信端末とその地磁気センサの誤差補正方法
JP4393916B2 (ja) 2004-04-27 2010-01-06 京セラ株式会社 磁気センサ付き携帯電話機
CN102566751B (zh) 2004-04-30 2016-08-03 希尔克瑞斯特实验室公司 自由空间定位装置和方法
EP1605232A3 (en) 2004-06-11 2010-12-29 Yamaha Corporation Method and apparatus for measuring magnetic offset of geomagnetic sensor and portable electronic apparatus
JP2006005540A (ja) 2004-06-16 2006-01-05 Yamaha Corp 携帯端末
TWI250302B (en) 2004-09-20 2006-03-01 Wintecronics Co Ltd Mutual angle correction method for navigation device, and the device thereof
WO2006035505A1 (ja) 2004-09-29 2006-04-06 C & N Inc 磁気センサの制御方法、制御装置、および携帯端末装置
US7895254B2 (en) * 2004-11-15 2011-02-22 Qualcomm Incorporated Eigenvalue decomposition and singular value decomposition of matrices using Jacobi rotation
US7711762B2 (en) * 2004-11-15 2010-05-04 Qualcomm Incorporated Efficient computation for eigenvalue decomposition and singular value decomposition of matrices
US7602855B2 (en) * 2005-04-01 2009-10-13 Interdigital Technology Corporation Method and apparatus for singular value decomposition of a channel matrix
US7275008B2 (en) 2005-09-02 2007-09-25 Nokia Corporation Calibration of 3D field sensors
JP2007256161A (ja) 2006-03-24 2007-10-04 Citizen Holdings Co Ltd 電子方位計
WO2007114236A1 (ja) 2006-03-30 2007-10-11 Kyocera Corporation 携帯電子機器及び地磁気センサ較正方法
CN101421585B (zh) 2006-03-30 2011-08-03 京瓷株式会社 便携式电子器件及地磁传感器校正方法
JP2007271454A (ja) 2006-03-31 2007-10-18 Yamaha Corp 携帯端末、および該携帯端末における磁気センサデータの取込方法
WO2008021396A2 (en) * 2006-08-17 2008-02-21 Interdigital Technology Corporation Method and apparatus for providing efficient precoding feedback in a mimo wireless communication system
KR20080026395A (ko) 2006-09-20 2008-03-25 삼성전자주식회사 자기 환경을 고려한 컴퍼스 센서의 교정 방법 및 장치와이를 이용한 방위각 측정 방법 및 장치
US8462109B2 (en) * 2007-01-05 2013-06-11 Invensense, Inc. Controlling and accessing content using motion processing on mobile devices
US20080317156A1 (en) * 2007-03-02 2008-12-25 Samsung Electronics Co., Ltd. Method and apapratus for reducing updating rate of channel status in a communication system
US7937845B2 (en) 2007-04-02 2011-05-10 Nxp B.V. Low cost electronic compass with 2D magnetometer
WO2008122905A1 (en) 2007-04-04 2008-10-16 Nxp B.V. Sensor compensation in orientation sensing system
CN101652631A (zh) 2007-04-04 2010-02-17 Nxp股份有限公司 方位感测系统的自动校准
CN101578571A (zh) * 2007-07-09 2009-11-11 索尼株式会社 电子设备及其控制方法
US7930148B1 (en) 2007-08-20 2011-04-19 PNI Sensor Corporation Spherical calibration and reference alignment algorithms
US7826999B1 (en) * 2007-08-20 2010-11-02 Pni Corporation Magnetic tilt compensated heading compass with adaptive zoffset
US20100309008A1 (en) 2007-11-30 2010-12-09 Nokia Corporation Controlling operation of a positioning module
TWI362482B (en) 2007-12-31 2012-04-21 Htc Corp Portable electronic device with electronic compass and method for calibrating compass
JP4861357B2 (ja) * 2008-02-28 2012-01-25 京セラ株式会社 傾斜センサ内蔵小型電子機器及び補正方法
US8044841B1 (en) * 2009-03-02 2011-10-25 Lockheed Martin Corporation Geometry and sensitivity weighted dynamic multi-sensor selection system and method
US8437970B2 (en) * 2009-06-05 2013-05-07 Apple Inc. Restoring and storing magnetometer calibration data
US8880373B2 (en) * 2009-11-04 2014-11-04 Qualcomm Incorporated Accurate magnetic compass in mobile electronic device
US8645093B2 (en) * 2009-11-04 2014-02-04 Qualcomm Incorporated Calibrating multi-dimensional sensor for offset, sensitivity, and non-orthogonality
US9541393B2 (en) * 2011-06-30 2017-01-10 Qualcomm Incorporated Reducing power consumption or error of digital compass

Also Published As

Publication number Publication date
KR20140125425A (ko) 2014-10-28
US8880373B2 (en) 2014-11-04
EP2496912A2 (en) 2012-09-12
WO2011066073A2 (en) 2011-06-03
JP6246159B2 (ja) 2017-12-13
JP5867405B2 (ja) 2016-02-24
TW201139986A (en) 2011-11-16
JP2013510317A (ja) 2013-03-21
CN102612637B (zh) 2016-03-16
EP2496912B1 (en) 2016-04-13
US20110106474A1 (en) 2011-05-05
JP2015143715A (ja) 2015-08-06
WO2011066073A3 (en) 2011-09-01
CN102612637A (zh) 2012-07-25

Similar Documents

Publication Publication Date Title
KR20120080651A (ko) 모바일 전자 디바이스의 정확한 자기 컴퍼스
US8645093B2 (en) Calibrating multi-dimensional sensor for offset, sensitivity, and non-orthogonality
US9146285B2 (en) Methods and devices for detecting magnetic interference affecting the operation of a magnetometer
US8577633B2 (en) Gyro zero turn rate offset correction over temperature in a personal mobile device
CA2755635C (en) System and method for determining quality of calibration parameters for a magnetometer
EP2447668B1 (en) System and method for calibrating a magnetometer according to device states
CA2755616C (en) System and method for calibrating a magnetometer according to a quality threshold
US20090198469A1 (en) Method and System for Compensating Temperature Readings from a Temperature Sensing Crystal Integrated Circuit
EP2447669A1 (en) System and method for calibrating a magnetometer using partial and full calibrations
CA2803376C (en) Methods and devices for detecting magnetic interference affecting the operation of a magnetometer
JP5073252B2 (ja) 携帯電子機器および地磁気センサのキャリブレーション方法
JP2006337165A (ja) 磁気方位検出手段付き携帯機器及びそのキャリブレーション方法
CA2755593A1 (en) System and method for performing a background calibration for a magnetometer
US10648808B2 (en) Optoelectronic measuring device with magnetic compass and compensation functionality
Ma et al. Factor graph localization algorithm based on robust estimation
CA2766748C (en) System and method for calibrating an accelerometer
WO2008012990A1 (fr) Dispositif électronique portable et procédé de contrôle de celui-ci
US20220170999A1 (en) Method for compensating for an influence of a magnetic interference source on a measurement of a magnetic field sensor in a device and a device
CN117538805A (zh) 识别方法、装置、手表及存储介质
JP2007232414A (ja) 携帯電子機器

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
A107 Divisional application of patent
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20140911

Effective date: 20150417