Magnetometer in Smartphones — was es ist, Typen und Funktionsprinzip

Autor: IT Sectr Veröffentlicht: 2026-03-22 Lesezeit: 10 Min.

Ein Magnetometer ist ein Sensor, der die Stärke des Erdmagnetfelds misst, um die Himmelsrichtungen zu bestimmen. In mobilen Geräten fungiert er als digitaler Kompass und bietet bei richtiger Kalibrierung eine Genauigkeit von bis zu 1–2 Grad. Laut Bosch Sensortec Application Note, 2024 verbrauchen moderne MEMS-Magnetometer nur 0.5–2 mA und passen in ein 1.5×1.5×0.7 mm Gehäuse.

Wichtige Erkenntnisse

  • Magnetometer — Hall-Sensor, der das Magnetfeld entlang dreier Achsen mit einem Bereich von ±1300 µT misst.
  • Digitaler Kompass auf Magnetometerbasis benötigt Kalibrierung — ohne sie erreicht der Fehler 30–40 Grad.
  • Android API verwendet Sensor.TYPE_MAGNETIC_FIELD für den Zugriff auf Daten in Mikrotesla (µT).
  • Sensor Fusion kombiniert Magnetometer mit Gyroskop und Beschleunigungsmesser für präzise Orientierung.
  • Hard Iron und Soft Iron — Arten magnetischer Verzerrungen, verursacht durch das Metallgehäuse und die Lautsprecher des Telefons.

Was ist ein Magnetometer in einem Smartphone

Ein Magnetometer in einem mobilen Gerät ist ein dreiachsiger Magnetfeldsensor basierend auf dem Hall-Effekt. Er misst die Projektionen des magnetischen Induktionsvektors auf die X-, Y- und Z-Achse. In Kombination mit einem Beschleunigungsmesser bestimmt das Magnetometer den Azimut — den Winkel zwischen der Nordrichtung und der Telefonachse.

Arten von Magnetometern in mobilen Geräten

Moderne Smartphones verwenden MEMS-Magnetometer basierend auf dem anisotropen magnetoresistiven Effekt (AMR) und dem Hall-Effekt. AMR-Sensoren (AKM-Serie von Asahi Kasei Microdevices) bieten eine Empfindlichkeit von 0.15 µT/LSB und einen Bereich von ±1200 µT — genug, um das Erdfeld (25–65 µT) zu messen.

ParameterWert
TechnologieAMR / Hall-Effekt
Bereich±1200 — ±1300 µT
Stromverbrauch0.5–2 mA
Größe1.5×1.5×0.7 mm
Empfindlichkeit0.15 µT/LSB

Warum das Magnetometer für ein Smartphone wichtig ist

Ohne einen digitalen Kompass können Navigations-Apps die Bewegungsrichtung nicht bestimmen. Google Maps verwendet das Magnetometer, um die Kartenausrichtung relativ zur Blickrichtung des Benutzers anzuzeigen. Wenn der Sensor ausfällt, zeigt die App nur den Standort auf der Karte ohne den blauen Richtungspfeil an.

Wie der Hall-Sensor funktioniert

Der Hall-Effekt ist ein physikalisches Phänomen, bei dem an den Kanten einer leitenden Platte eine Potenzialdifferenz entsteht, wenn sie einem Magnetfeld ausgesetzt wird. MEMS-Magnetometer verwenden Dünnschichtstrukturen aus Permalloy (NiFe), deren Widerstand sich unter dem Einfluss eines externen Magnetfelds (AMR-Effekt) ändert.

AMR-Sensorstruktur

Jeder der drei Kanäle (X, Y, Z) besteht aus vier Magnetowiderständen, die in einer Wheatstone-Brücke geschaltet sind. Das Magnetfeld ändert den Widerstand der Widerstände um 2–3%, was von einem Differenzverstärker in Spannung umgewandelt wird. Ein integrierter 16-Bit-ADC digitalisiert das Signal mit einer Frequenz von bis zu 100 Hz.

Z-Achsen-Messung

Zur Messung der vertikalen Feldkomponente wird ein integrierter Magnetfeldkonzentrator (IMC) verwendet. Dies ist eine Dünnschichtstruktur aus NiFe, die das horizontale Feld in die vertikale Ebene ablenkt, sodass eine einzelne AMR-Brücke alle drei Achsen messen kann.

Wie unterscheidet sich ein Magnetometer von einem Gyroskop

Das Magnetometer bestimmt die Orientierung relativ zum Erdmagnetfeld (absolute Referenz), während ein Gyroskop nur die Winkeländerung (relative Daten) misst. Das Gyroskop liefert auf kurzen Intervallen genaue Daten, akkumuliert jedoch Driftfehler. Das Magnetometer drifftet nicht, ist aber anfällig für magnetische Störungen.

Sensor Fusion mit Magnetometer

Android kombiniert Daten von drei Sensoren über SensorManager.getRotationMatrix. Das Magnetometer wird verwendet, um die Gyroskopdrift über lange Intervalle zu korrigieren. Ohne Magnetometer akkumuliert das Gyroskop in 5 Minuten einen Fehler von 10–20 Grad. Laut Google ARCore (2024) erreicht der Fusionsalgorithmus mit Magnetometer eine Genauigkeit von 1–3 Grad.

kotlin
val accelerometerReading = FloatArray(3)
val magnetometerReading = FloatArray(3)
val rotationMatrix = FloatArray(9)
val orientationAngles = FloatArray(3)

SensorManager.getRotationMatrix(
    rotationMatrix, null,
    accelerometerReading,
    magnetometerReading
)
SensorManager.getOrientation(
    rotationMatrix, orientationAngles
)
// orientationAngles[0] — Azimut im Bogenmaß

Magnetische Verzerrungen: Hard Iron und Soft Iron

Hard Iron — ein permanentes Magnetfeld, das durch ferromagnetische Materialien im Telefon erzeugt wird: Lautsprechermagnete, Vibrationsmotor, Metallrahmen. Hard-Iron-Verzerrung tritt als konstanter Offset (Bias) entlang jeder Achse auf. Soft Iron — eine Änderung der Feldrichtung, verursacht durch magnetisch permeable Materialien, die die Feldlinien verzerren.

Kalibrierungsalgorithmus

Das Standard-Kalibrierungsverfahren für Magnetometer ist das Drehen des Telefons in einer Acht. Während des Vorgangs zeichnet der Sensor Punkte im dreidimensionalen Raum auf. Ohne Verzerrungen liegen die Punkte auf einer Kugel mit einem Radius von 25–65 µT. Hard Iron verschiebt den Kugelmittelpunkt, Soft Iron verwandelt sie in ein Ellipsoid. Der Kalibrierungsalgorithmus berechnet Offset- und Skalierungsparameter.

kotlin
data class CalibrationParams(
    val biasX: Float,
    val biasY: Float,
    val biasZ: Float,
    val scaleX: Float,
    val scaleY: Float,
    val scaleZ: Float
)

fun applySoftIronCorrection(
    raw: FloatArray, p: CalibrationParams
): FloatArray {
    return floatArrayOf(
        (raw[0] - p.biasX) * p.scaleX,
        (raw[1] - p.biasY) * p.scaleY,
        (raw[2] - p.biasZ) * p.scaleZ
    )
}

Software-Verzerrungskorrektur

Der Entwickler kann eine eigene Magnetometer-Kalibrierung implementieren, indem er Daten während der Bewegung des Geräts sammelt. Der Ellipsoid-Fitting-Algorithmus findet Hard-Iron- und Soft-Iron-Parameter, indem er die Summe der quadrierten Abweichungen von der Kugel minimiert. Die Bibliothek Apache Commons Math bietet eine Implementierung der nichtlinearen kleinsten Quadrate (Levenberg-Marquardt) für diese Aufgabe — die Genauigkeit nach der Software-Kalibrierung erreicht 0.5 Grad.

Empfehlungen zur Störungsminderung

Zur Minimierung von Hard Iron platzieren Hersteller das Magnetometer im oberen Teil des Telefons, fern von Lautsprecher und Vibrationsmotor. Apple-Ingenieure verwendeten im iPhone 16 Pro Max (2024) eine Permalloy-Folienabschirmung für das Magnetometer, wodurch der Lautsprechereinfluss um das Vierfache reduziert wurde. Das Samsung Galaxy S24 Ultra verwendet eine zusätzliche Kompensationsschaltung, die den Lautsprecherstrom in Echtzeit misst, um das induzierte Feld zu subtrahieren. Hüllen mit magnetischen Halterungen (z. B. in Auto-Haltern) erzeugen starke Verzerrungen — nach der Verwendung kann das Magnetometer bis zur erneuten Kalibrierung die falsche Richtung anzeigen.

Programmatischer Zugriff auf das Magnetometer in Android

Android bietet zwei Sensoren: TYPE_MAGNETIC_FIELD (kalibrierte Daten in µT) und TYPE_MAGNETIC_FIELD_UNCALIBRATED (Rohdaten mit Verzerrungsschätzung). Für Navigations-Apps wird die Verwendung des kalibrierten Sensors empfohlen — das System wendet automatisch die integrierte Kalibrierung basierend auf der letzten Acht-Bewegung an.

Registrierung und Verarbeitung

SENSOR_DELAY_NORMAL (200 ms) ist für einen Kompass ausreichend, SENSOR_DELAY_FASTEST (0 ms) — nur für spezielle Forschungsanwendungen. Nach dem Empfang der Werte können Sie diese über getRotationMatrix + getOrientation in Azimut umwandeln. Es ist wichtig, die Sensorgenauigkeit über event.accuracy zu überprüfen — SENSOR_STATUS_UNRELIABLE bedeutet, dass eine Kalibrierung erforderlich ist.

kotlin
override fun onSensorChanged(event: SensorEvent) {
    if (event.sensor.type == Sensor.TYPE_MAGNETIC_FIELD) {
        val accuracy = event.accuracy
        if (accuracy == SensorManager.SENSOR_STATUS_UNRELIABLE) {
            showCalibrationHint()
            return
        }
        System.arraycopy(event.values, 0,
            magnetometerReading, 0, 3)
    }
}

Anwendungen des Magnetometers in mobilen Apps

Das Magnetometer wird nicht nur für den Kompass verwendet. AR-Anwendungen, einschließlich Pokemon GO, verwenden das Magnetometer, um die Kameraausrichtung relativ zur realen Welt zu bestimmen. Ohne Magnetometer wechselt ARCore in den Screen-Axis-Modus — die Ausrichtung wird nur durch das Gyroskop bestimmt, was die Genauigkeit verringert.

  • Navigation — Bestimmung des Bewegungsazimuts in Google Maps, Yandex.Maps, MAPS.ME. Die Kompassgenauigkeit wirkt sich direkt auf die Routenqualität aus.
  • Metalldetektoren — Apps zum Auffinden von Metallgegenständen verwenden das Magnetometer, um Magnetfeldanomalien zu erkennen.
  • Geophysik und Bildung — Messung des Magnetfelds für Bildungsprojekte. Der Sensor ermöglicht die Untersuchung des Erdmagnetfelds in Schulen.
  • VR und 360-Grad-Video — die Kopfausrichtung in VR-Headsets wird durch das Magnetometer korrigiert, um die Gyroskopdrift zu kompensieren.

Magnetometer in der Fahrzeugnavigation

In Fahrzeugnavigationssystemen basierend auf Android Auto wird das Magnetometer verwendet, um die Bewegungsrichtung zu bestimmen, wenn das GPS-Signal in Tunneln und dichten Stadtgebieten verloren geht. In Kombination mit Odometriedaten von den Autorädern (über OBD-II) ermöglicht das Magnetometer eine fortgesetzte Navigation für bis zu 5 Minuten ohne GPS mit einer Positionierungsgenauigkeit von 10–20 Metern. Laut Google Maps Engineering Blog (2024) reduziert der hybride Algorithmus den Routenverlust in Stadtcanyons um 40%.

Magnetometer in Navigations-Apps

Navigations-Apps verwenden das Magnetometer zur Bestimmung des Bewegungsazimuts — des Winkels zwischen Norden und der aktuellen Ausrichtung des Benutzers. In Google Maps werden Magnetometerdaten mit dem GPS-Track und dem Bewegungshistorien kombiniert, um den blauen Richtungspfeil anzuzeigen. Wenn das GPS-Signal verloren geht (in Tunneln, Unterführungen), bleibt das Magnetometer die einzige Orientierungsinformationsquelle.

Zukunft der Magnetometer

Die neue Generation von 3-Achs-Magnetometern mit integriertem ASIC (BMM350 von Bosch, 2024) verbraucht nur 0.35 mA und unterstützt bis zu 200 Hz. Die Entwicklung von Quantenmagnetometern und NV-Zentren in Diamant für mobile Geräte hat das Laborstadium noch nicht verlassen. Es wird erwartet, dass die Genauigkeit mobiler Magnetometer bis 2028 0.01 µT erreichen wird.

Häufig gestellte Fragen

Wie kalibriere ich das Magnetometer am Telefon?

Zeichnen Sie eine Acht mit dem Telefon in der Luft — dies ist die Standardgeste zur Kalibrierung des digitalen Kompasses. Wenn der Kompass immer noch falsch anzeigt, überprüfen Sie die Hülle: Magnetische Halterungen und Metallelemente erzeugen starke Hard-Iron-Verzerrungen.

Warum zeigt der Kompass am Telefon die falsche Richtung an?

Hauptgründe: Magnetische Störungen durch Telefonlautsprecher und Vibrationsmotor, fehlende Kalibrierung nach dem Wechsel der Hülle, Einfluss naher Metallgegenstände. In Innenräumen mit Stahlbetonkonstruktionen wird das Magnetfeld besonders stark verzerrt.

Kann ich mein Telefon als Metalldetektor verwenden?

Ja, Metalldetektor-Apps verwenden das eingebaute Magnetometer zur Erkennung von Magnetfeldanomalien. Die Erkennungstiefe überschreitet jedoch 10–20 cm nicht, und das Gerät unterscheidet nicht zwischen Metalltypen — es ist eher ein Bildungswerkzeug.

Was ist der Unterschied zwischen TYPE_MAGNETIC_FIELD und TYPE_MAGNETIC_FIELD_UNCALIBRATED?

TYPE_MAGNETIC_FIELD gibt Daten nach der Kalibrierung durch das System zurück. TYPE_MAGNETIC_FIELD_UNCALIBRATED liefert Rohwerte plus eine Bias-Schätzung, sodass der Entwickler seine eigene Kalibrierung anwenden kann.

Wie erhalte ich den Azimut aus Magnetometerdaten?

Verwenden Sie SensorManager.getRotationMatrix mit Beschleunigungsmesser- und Magnetometerdaten, dann getOrientation — das erste Array-Element (Azimut) wird in Radiant angegeben. Zur Anzeige des Kompasses konvertieren Sie in Grad: Math.toDegrees(azimuth).

Zusammenfassung

  • Magnetometer — dreiachsiger Magnetfeldsensor, der in mobilen Geräten als digitaler Kompass fungiert.
  • AMR-Technologie basierend auf dem Hall-Effekt ermöglicht die Messung des Erdfelds mit 0.15 µT/LSB Genauigkeit.
  • Hard Iron und Soft Iron — magnetische Verzerrungen durch Telefonkomponenten, die eine Acht-Kalibrierung erfordern.
  • Android API bietet TYPE_MAGNETIC_FIELD und TYPE_MAGNETIC_FIELD_UNCALIBRATED mit Daten in µT.
  • Sensor Fusion kombiniert Magnetometer mit Gyroskop und Beschleunigungsmesser für präzise (1–3 Grad) Orientierung.
  • Anwendungen umfassen Navigation, AR-Apps, Metalldetektoren und Gyroskopdrift-Korrektur in VR.
  • Moderne Sensoren verbrauchen ab 0.35 mA bei 200 Hz mit einer Größe von 1.5×1.5 mm.

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch