In this paper, we will present a motion pattern recognition based Kalman filter (PRKF), and apply it to the time difference of arrival (TDOA) algorithm of indoor localization. The state matrix in Kalman filter (KF) is determined by the motion pattern which the target node is supposed to act, and this will bring new system error if the assumption is not correct. Considering this, we first create three fuzzy sets using three KFs whose state matrix stand for different motion patterns, then linearly combined the memberships of a target node of the fuzzy sets. Finally, simulation results show that the PRKF can enhance the localization accuracy about more than 20%.