There is provided a method for analyzing a ballistocardiogram signal to determine a heart rate, the method comprising: determining an initial time estimate for a first heart beat in the ballistocardiogram signal computing, iteratively, estimates for subsequent heart beats in the ballistocardiogram signal using the initial time estimate wherein each iteration in the step of computing comprises evaluating a target function that comprises a weighted sum of a plurality of scoring functions and wherein each iterative step of computing estimates for subsequent heart beats in the ballistocardiogram signal is limited to a target interval after the time estimate found in the previous iterative step of computing.バリストカルジオグラム信号を分析して心拍数を決定する方法を提供する。該方法は、バリストカルジオグラム信号中の第1の心拍の最初の時間推定値を決定する段階と、最初の時間推定値を用いて、バリストカルジオグラム信号中の後続の心拍の推定値を繰り返し計算する段階とを有し、計算するステップの各繰り返しは、複数のスコアリング関数の重み付けした和を含む目標関数の評価を含み、バリストカルジオグラム信号中の後続の心拍の推定値を計算するステップの各繰り返しは、その前の計算するステップの繰り返しで見つけた時間推定値後の目標区間に制限される。