How to enhance Pedestrian Dead Reckoning using Particle filter?
How to determine the initial position pdf distribution? I have a Bluetooth beacon to detect the starting position. Particle filter requires a cluster of point at the start, right?


No, the distribution of a particle filter does not need to be a cluster when it starts.  A classic case is for a robot to figure out where it is.  At first it does not know where it is.  It takes sensor readings wherever it happens to be at, but that is usually not enough to localize it (if all you needed was a single set of readings, you wouldn't need a particle filter).  Instead, it moves around and takes more readings.  All of the many spread out particles represent possible positions.  As it moves and takes more readings more and more of the possible positions become highly unlikely, until the distribution collapses to a single cluster.  At that point the robot "knows" (or at least thinks it knows) where it's at.


  I don't think in my case the distribution is Gaussian. Then what should it be?


Without giving us more information there is no way to answer that question.  Since it sounds like your initial estimate comes solely from your bluetooth beacon, you will probably need to generate an empirical data-based model of its accuracy.


  Should I do the particle filtering on the smartphone or pass the data back and do it on the computer using Matlab? Will the computation very intense.


Either way.  The computational load will largely depend on how many particles you use.  There is no right answer as to how many particles you need.  More particles means more computation but also lower chance of getting a wrong answer.