A method for detecting cardiac arrhythmia based on a photoplethysmographic (PPG) signal is provided. The method includes: receiving a PPG signal and a motion signal corresponding to a motion made by a user; extracting PPG signal segments and motion signal segments corresponding to a time period from the PPG signal and the motion signal, respectively, at every time period; filtering out motion artifact noise in the PPG signal segments according to the PPG signal segments and the motion signal segments, and converting the PPG signal segments and the motion signal segments into PPG spectrum diagrams and motion spectrum diagrams, respectively; obtaining an estimated heart rate according to the PPG spectrum diagrams and the motion spectrum diagrams; and determining whether cardiac arrhythmia is present based on the filtered PPG signal segments and the estimated heart rate.