Thanks for your inquiry.
The bias values for x/y/z are the hard-iron of your Android 9 device. After you remove these bias values, you should be able to move the sphere or ellipsoid of the 3D plot from your figure-8 motion to the origin. BMM150 values on the 3D plot are in the unit of uT. You can use BMM150 API on the Github at https://github.com/BoschSensortec/BMM150-Sensor-API to convert BMM150 raw data in signed integers to uT.
The 3x3 matrix is for soft-iron and mismatch of sensitivity compensation. Please do Google search for Android magnetometer calibration algorithms.
... View more