Алгоритм измекрения пульса с помощью камеры телефона ?
Там используется анализ интенсивности освещения, измеряемый камерой. Запишите видео, выделите каким-нибудь видеоредактором только канал интенсивности и «растяните» его динамический диапазон до максимума. Получите пульсирующую картинку. Посчитав период пульсаций — сможете определить частоту сердцебиения.

Для ускорение обработки там используется очень низкое разрешение изображений, снимаемых с камеры, по которым считается моментальное значение интенсивности, усреднённое по всему кадру плюс анализ по типу «плывущего окна», определяющий конкретный текущий минимум и максимум уровня. Далее, считается интервал между максимальными изменениями уровня — он и будет частотой сердцебиения с достаточно приличной точностью. 
Это только вкратце, возможно, разработчики тех приложений применили какой-то более интересный алгоритм.

Микрофоном снять шум сердечных сокращений практически нереально (слишком много внешних помех). Акселерометр тоже вряд ли сможет настолько точно отслеживать перемещения.

Кстати, такие приборчики и раньше делали при помощи лампочки и фотодиода (можете поискать схемы в журналах «Радио»), они работали именно посредством измерения интервала изменения интенсивности светового потока.
«Авторы программы рекомендуют включать во время измерений светодиодную подсветку. Или, при ее отсутствии, проводить измерения в условиях хорошей освещенности. Камера улавливает отток крови при нажатии на объектив, и «видит» пульсацию.»

Но что-то я сомневаюсь.