My suggestion in post#5 doesn't work, I tested it.
It seems that the acceleration signals are filtered, therefore not showing shocks.
Attached a small test program. Hitting the phone on the table doesn't give exploitable signals.
I'm afraid that with the internal transducers you won't get any reliable solution.
Speed calculations won't give you any reliable values either.
A shock acceleration signal looks like this:
I expected getting heigh acceleration values with shocks but there are none, which means that the signals are probably filrered.