Measure 3-D length using smart-phone's accelerometer

I'm wondering if we can measure 3-D length only by our smart-phone's accelerometer. And we all know these low cost IMUs are not accurate.

You can model accelerometer's error this way: $$a = f*a' + g + b + \eta$$

where $a$ is the actual acceleration, $f$ is a 3x3 matrix modeling scaling, misalignments, cross-axis and ... errors. $g$ is gravity, $b$ is bias and $\eta$ is noise.

I'v found a good method to calibrate(compute $f$ and $b$) smart-phone's accelerometer: Estimate smartphone accelerometer bias

Now I have to:

1) remove $g$

2) remove $\eta$

How can I do that accurately? As I mentioned above, this problem requires good accuracy.

If you believe accelerometers are not accurate enough for this problem, and other sensors should be used (Sensor Fusion), please share your idea.

• How do you intend to use the accelerometer for 3D lengths? – Cherny Jun 17 '18 at 10:42
• By moving smartphone and compute displacement from acceleration information. @Cherny – HsnVahedi Jun 17 '18 at 10:49
• So I don't believe it's accurate enough since your measurement is an integral of the acceleration, and it usually turns out highly inaccurate. Usually sensor fusion is used for this purpose, but the accelerometer is only relevant because it can measure very frequently – Cherny Jun 17 '18 at 10:50
• Thanks! I agree with you. It seems accelerometer is not enough for computing 3-D displacement. But what about 1-D displacement? I mean you move accelerometer in a line. By knowing that the sensor's data instances are collected when the movement was 1-D line, Can you correct the data and estimate the 1-D displacement?@Cherny – HsnVahedi Jun 17 '18 at 11:02
• Welcome! you mean project the estimated 3D location on the 1D line? if so then I believe it's still about the same error, since projection will just give you the 1D error – Cherny Jun 17 '18 at 11:05