How to get 3D speed vectors?
I don't think you can reliably do it from just using measurements from the device's frame of reference.  I think your best bet is to capture the position of the device externally.  Basically motion-capturing.

Depending on your measurement resolution, it might be possible to use non-GPS triangulation methods.  Acoustic beacons, probably.   Radio time-to-distance probably won't work in such a small volume.  And I suspect radio time-to-angle (VOR) probably would not work in an indoor environment.