The bad data may decrease the accuracy of power system dynamic state estimation, and even lead to the divergency of the results. This paper proposes a robust dynamic estimation algorithm based on Unscented Kalman Filter (UKF). Noise statistical estimator is introduced to deal with time-varying noise in the prediction step. Innovation vectors are used to judge whether the measurement is abnormal or not, and static estimation method based on maximum normal rate is used to identify bad data. The algorithm has been applied to IEEE 14-bus system. The simulation results show that the estimation results are accurate and robust.