応用情報技術者 2016年 秋期 午後 問07
腕時計型脈拍計の設計に関する次の記述を読んで、設問1~3に答えよ。
M社は電子計測機器メーカーであり、このたび単機能の腕時計型脈拍計(以下、脈拍計という)を開発することになった。この脈拍計は、LEDとセンサを手首に密着させて、長時間脈拍数を計測・記録するというものである。
〔脈拍数の計測〕
手首など、体表近くに動脈が存在する部位では、皮膚に照射した光の反射量が脈拍に同期して変化することが知られている。脈拍計はこれを利用して光学的に脈拍を検出する。
・光源となるLEDと、入射光の光量に比例した出力が得られる光センサ(以下、センサという)から成る計測ヘッドを手首に密着させ、一定周期でLEDを点滅させて皮膚に光を照射する。
・LED点灯時のセンサの入射光を測定する。この入射光には、皮膚からの反射光に、計測ヘッドと手首の隙間から入り込む室内光、太陽光などの外乱光が重畳している。
・LED消灯時にもセンサの入射光を測定する。LED消灯時及び点灯時の測定値を用いて外乱光の影響を除いたものを、反射光の測定値とする。
〔脈拍数計測の方法〕
1分間に1回、脈拍数を計測して記録する。
・1回の脈拍数計測は6秒間で行い、終了後はLEDを消灯する。
・6秒間の反射光の測定値の変化を解析し、1分間の脈拍数を算出して記録する。
・皮膚の状態などによって反射光の光量が変化する。そのため、脈拍数計測に先立ってLEDの輝度補正を行い、反射光の測定値があらかじめ想定した範囲(以下、適正範囲という)内であることを確認してから脈拍数計測を開始する。ここで、脈拍数計測の時間に輝度補正の時間が加わっても、1回の計測に要する時間は1分以内に収まるものとする。
〔脈拍計のシステム構成要素〕
脈拍計のシステム構成要素を表1に示す。脈拍計は、制御部及び測定部から構成される。

〔コマンド〕
制御部から測定部に送られるコマンドの一覧を表2に示す。

〔コマンド及びタイミング〕
図1に計測時のタイミングを示す。

(1) 制御部は、あらかじめ点灯時間設定、消灯時間設定及び輝度設定の各コマンドを送信する。
(2) 制御部の動作モードには、輝度補正モードと脈拍数計測モードの二つがある。
(3) 制御部は1分ごとに計測開始コマンドを送信する。計測開始コマンドの送信直後には輝度補正モードになる。
(4) 測定部は、計測開始コマンドを受信すると、点灯時間設定コマンドで設定された時間だけLEDを点灯し、消灯時間設定コマンドで設定された時間だけLEDを消灯する動作を計測終了するまで繰り返す。ここで、点滅の周波数は50Hzとし、点灯時間と消灯時間の比は6:4とする。
(5) 点灯時のLEDの輝度は、輝度設定コマンドで設定された値とする。
(6) 測定部は、LEDを点灯した後、センサの入射光を1回測定し、測定値xとしで制御部に送信する。また、LEDを消灯した後、センサの入射光を1回測定し、測定値yとして制御部に送信する。
(7) 制御部は、続けて受信した測定値x、yから反射光の測定値zを算出し、そのときのモードに従って次の①、②のいずれかを行う。
① 輝度補正モードの場合は、zが適正範囲内であるかを判定し、範囲内であれば輝度補正モードを終了して脈拍数計測モードに移行する。範囲内でなければ適切な輝度を計算し、輝度設定コマンドを用いて次の点灯時までに輝度を補正する。所定の回数だけ輝度の補正を行ってもzが適正範囲内に収まらない場合は、脈拍数計測モードに移行せず、計測終了コマンドを送信して、その回の計測を終了する。
② 脈拍数計測モードの場合は、反射光の測定値zを用いて、脈拍数解析を行う。所定の回数だけ脈拍数解析を行ったら、解析データから脈拍数を算出して記録し、計測終了コマンドを送信してその回の計測を終了する。
(8) 測定部は、計測終了コマンドを受信すると、LEDの点滅及びセンサの入射光の測定を終了する。
〔計測時における制御部の処理〕
図2に計測時における制御部の処理を示す。

処理手順は次のとおりである。
(1) 制御部は、計測開始コマンドを送信する。
(2) 反射光測定では、測定部からLED点灯時の測定値&、LED消灯時の測定値yを受し、外乱の影響を除去した値を算出する。
(3) zが適正範囲内であれば、輝度補正を終了して脈拍数計測に入る。zが適正範囲内になければ、適切な輝度を計算し、aする。
(4) 輝度補正は最大500回とし、500回繰り返しても2が適正範囲内になければ、輝度補正を終了し、bして終了する。
(5) 脈拍数解析を300回行った後、解析データから脈拍数を算出して記録し、bして終了する。
設問1:
〔コマンド及びタイミング〕について、LEDの点灯時間設定コマンド及び消灯時間設定コマンドによる設定値は、それぞれ何ミリ秒か答えよ。
模範解答
点灯時間設定コマンド:12
消灯時間設定コマンド:8
解説
解答の論理構成
-
周波数から1周期の時間を求める
【問題文】では「点滅の周波数は50Hz」とあります。周波数 と周期 は の関係なので
です。 -
比率から点灯時間・消灯時間を割り出す
同じく【問題文】には「点灯時間と消灯時間の比は6:4」と明記されています。
・点灯時間
・消灯時間 -
コマンドに設定する値
よって、 「点灯時間設定コマンド」→ “12” ミリ秒
「消灯時間設定コマンド」→ “8” ミリ秒
となります。
誤りやすいポイント
- 周波数「50Hz」を 50 ms と誤読し、周期計算を間違える。
- 比率「6:4」を 3:2 に約分してしまい、20 ms×(3/5)=12 ms/20 ms×(2/5)=8 ms までは同じでも計算根拠を崩す。
- 秒⇔ミリ秒の単位換算漏れで 0.012 s, 0.008 s のまま回答して減点。
FAQ
Q: 周波数が変わったらどう計算しますか?
A: まず で周期を算出し、比率に従って点灯・消灯時間を決めれば同じ手順で求められます。
A: まず で周期を算出し、比率に従って点灯・消灯時間を決めれば同じ手順で求められます。
Q: 比率「6:4」は Duty60% と同義ですか?
A: はい。点灯が 60%、消灯が 40% のデューティ比を意味します。
A: はい。点灯が 60%、消灯が 40% のデューティ比を意味します。
Q: 小数点以下を四捨五入する場面はありますか?
A: 今回は 20 ms が 10 等分できる値のため整数になります。周期が 33 ms などの場合は近似処理が必要になることがあります。
A: 今回は 20 ms が 10 等分できる値のため整数になります。周期が 33 ms などの場合は近似処理が必要になることがあります。
関連キーワード: LED, デューティ比、周期、周波数、矩形波
設問2:〔計測時における制御部の処理〕の図2について、(1)〜(3)に答えよ。
(1)図2及び本文中のa、bに入れる適切な字句を答えよ。
模範解答
a:輝度設定コマンドを送信
b:計測終了コマンドを送信
解説
解答の論理構成
-
a を求める
- 本文の処理 ⑦① には「範囲内でなければ適切な輝度を計算し、輝度設定コマンドを用いて次の点灯時までに輝度を補正する。」とあります。
- 図2でも z が適正範囲外の場合に “輝度計算” → a の順で処理が描かれています。
- よって a には「輝度設定コマンドを送信」が入ります。
-
b を求める
- 本文 ⑦① の末尾と ⑦② の末尾に共通して「計測終了コマンドを送信して、その回の計測を終了する。」と明示されています。
- 図2では輝度補正が最大 “500回”/脈拍数解析が “300回” 終了した後に b を実行してフローが終了しています。これは1回の計測を終える操作です。
- 従って b には「計測終了コマンドを送信」が入ります。
-
以上より
- a:輝度設定コマンドを送信
- b:計測終了コマンドを送信
誤りやすいポイント
- 「輝度設定コマンド」か「点灯時間設定コマンド」かを混同する
輝度補正では LED の明るさだけを変更します。点灯時間・消灯時間は最初に設定済みなので触りません。 - “終了” と聞いて「LED を消灯する」と記述してしまう
制御部が行うべきアクションは“LED 消灯”ではなく計測終了コマンドの送信です。 - 500回/300回という回数に気を取られて本質を見落とす
回数はループ終了条件を示すだけで、コマンド名の判断とは無関係です。
FAQ
Q: 輝度補正が成功した後に再度輝度設定コマンドを送るケースはありますか?
A: ありません。適正範囲に入った時点で輝度補正モードを抜け、脈拍数計測モードへ移行します。以後は輝度を変えずに反射光を取得します。
A: ありません。適正範囲に入った時点で輝度補正モードを抜け、脈拍数計測モードへ移行します。以後は輝度を変えずに反射光を取得します。
Q: 計測終了コマンドはいつ送られますか?
A: 「輝度補正が 500回で打ち切られた場合」または「脈拍数解析を 300回行った後」の2か所で送信されます。いずれも1回の計測を終えるタイミングです。
A: 「輝度補正が 500回で打ち切られた場合」または「脈拍数解析を 300回行った後」の2か所で送信されます。いずれも1回の計測を終えるタイミングです。
Q: 点灯時間と消灯時間の比「6:4」は何を意味しますか?
A: 点滅周波数 “50Hz” の1周期(20ms)のうち、点灯が 12ms、消灯が 8ms になるということです。これらは事前に設定され、計測中は固定です。
A: 点滅周波数 “50Hz” の1周期(20ms)のうち、点灯が 12ms、消灯が 8ms になるということです。これらは事前に設定され、計測中は固定です。
関連キーワード: LED点滅制御、明るさフィードバック、フローチャート、センサ計測、反射光補正
設問2:〔計測時における制御部の処理〕の図2について、(1)〜(3)に答えよ。
(2)zの算出式を解答群の中から選び、記号で答えよ。
解答群
ア:x+y
イ:x-y
ウ:x/y
エ:y/x
模範解答
イ
解説
解答の論理構成
-
測定値の取得
【問題文】では、LED点灯時に得られる値を「測定値x」、LED消灯時に得られる値を「測定値y」と定義しています。
引用:「測定部は、LEDを点灯した後、センサの入射光を1回測定し、測定値xとしで制御部に送信する。また、LEDを消灯した後、センサの入射光を1回測定し、測定値yとして制御部に送信する。」 -
外乱光の性質
LED点灯時の入射光には脈拍に同期する「皮膚からの反射光」と、環境由来の「外乱光」が重畳しています。
引用:「LED点灯時のセンサの入射光を測定する。この入射光には、皮膚からの反射光に、計測ヘッドと手首の隙間から入り込む室内光、太陽光などの外乱光が重畳している。」 -
外乱光の除去方法
LED消灯時に得られる値yには外乱光だけが含まれます。したがって、点灯時の総和xから外乱光yを差し引くことで、純粋な反射光zが得られます。
引用:「LED消灯時及び点灯時の測定値を用いて外乱光の影響を除いたものを、反射光の測定値とする。」 -
算出式の決定
制御部の処理でも「測定値x、yから反射光の測定値zを算出」と記載されており、外乱光の単純減算であることが示唆されています。
引用:「制御部は、続けて受信した測定値x、yから反射光の測定値zを算出し…」 -
解答群との照合
引用:
ア:x+y
イ:x-y
ウ:x/y
エ:y/x
減算は「x-y」に対応するため、正しい選択肢は「イ」となります。
誤りやすいポイント
- 「外乱光は比率で補正する」と思い込み、x/y や y/x を選択してしまう。実際には加算成分なので差し引きで除去します。
- LED点灯・消灯の時間比「6:4」から加算(x+y)を連想してしまうが、時間比は点滅周波数の設定であり外乱光除去とは無関係です。
- 用語「輝度補正」と混同し、輝度調整の算出式だと誤解する。ここで問われているのは反射光zの算出式です。
FAQ
Q: なぜ外乱光を減算で除去できるのですか?
A: LED消灯時は「LED由来の反射光がゼロ」であるため、y には外乱光成分だけが含まれます。LED点灯時の総量xから外乱光yを引けば、残りは反射光だけになります。
A: LED消灯時は「LED由来の反射光がゼロ」であるため、y には外乱光成分だけが含まれます。LED点灯時の総量xから外乱光yを引けば、残りは反射光だけになります。
Q: 減算でマイナスになる心配はありませんか?
A: LEDを点灯すると必ず皮膚からの反射光が増加するので、理論上 x>y となり z=x−y は非負です。不完全接触などで x≦y になる場合は「輝度補正」でLED輝度を上げる処理が行われます。
A: LEDを点灯すると必ず皮膚からの反射光が増加するので、理論上 x>y となり z=x−y は非負です。不完全接触などで x≦y になる場合は「輝度補正」でLED輝度を上げる処理が行われます。
Q: 時間比「6:4」は計算に影響しますか?
A: 影響しません。これは50Hz点滅におけるLED点灯・消灯のデューティ比であり、z の算出は各点灯/消灯サイクルで独立に行われます。
A: 影響しません。これは50Hz点滅におけるLED点灯・消灯のデューティ比であり、z の算出は各点灯/消灯サイクルで独立に行われます。
関連キーワード: 光学式脈拍検出、外乱光補正、反射光解析、LED点滅駆動、センサキャリブレーション
設問2:〔計測時における制御部の処理〕の図2について、(1)〜(3)に答えよ。
(3)図2の開始から終了までの最短所要時間及び最長所要時間はそれぞれ何秒か。小数点以下を四捨五入して、整数で答えよ。ここで、制御部における、繰り返し判定、測定部からの測定値受信及び外乱光の影響を除去した値zの算出、適正範囲内判定、コマンドの送信、輝度計算、脈拍数解析、脈拍数算出・記録の各処理時間、測定部における各処理時間は無視できるものとする。
模範解答
最短所要時間:6
最長所要時間:16
解説
解答の論理構成
-
1回の点滅に要する時間を確定
【問題文】“点滅の周波数は50Hz” とあるので
周期 (=20 ms)。 -
輝度補正で必要な点滅回数を把握
図2の説明で “輝度補正は最大500回” と明示されている。
・最短: z が最初から適正範囲 ⇒ 0回(判定用 1回を含めても ほぼ 0 s と近似)。
・最長: 500回すべて実施。 -
脈拍数計測で必要な点滅回数を把握
図2の手順(5) に “脈拍数解析を300回行った後” とある。
よって脈拍数計測部では必ず300回点滅。 -
周期と回数から所要時間を算出
周期 0.02 s × 回数 で計算する。• 最短所要時間
輝度補正 0回 + 脈拍数計測 300回
• 最長所要時間
輝度補正 500回 + 脈拍数計測 300回
以上より、回答は
最短所要時間:6
最長所要時間:16
誤りやすいポイント
- 「点灯時間と消灯時間の比は6:4」を見て 12 ms+8 ms=20 ms の計算に気を取られ、20 ms をさらに 2 倍してしまう。
- “輝度補正は最大500回” の「最大」を読み飛ばし、常に500回行うと誤解して最短時間を過大評価する。
- 判定処理やコマンド送信に時間が掛かると考えてしまうが、【問題文】では “各処理時間は無視できる” と指示されている。
- 輝度補正で使った点滅を脈拍数300回の中に含めてしまい 15.8 s などの端数を出す。
FAQ
Q: 点灯12 ms/消灯8 ms というデューティ比は計算に入れる必要がありますか?
A: 周期が 20 ms と分かれば十分で、個別の12 ms/8 msを使った追加計算は不要です。
A: 周期が 20 ms と分かれば十分で、個別の12 ms/8 msを使った追加計算は不要です。
Q: 最短ケースでも判定用に 1 回は点滅するのでは?
A: 判定に使われる 1 回は脈拍数解析 300 回の中に取り込み、周期 0.02 s × 300 回の 6 s で近似して良いと判断します(各処理の時間は無視可能という条件のため)。
A: 判定に使われる 1 回は脈拍数解析 300 回の中に取り込み、周期 0.02 s × 300 回の 6 s で近似して良いと判断します(各処理の時間は無視可能という条件のため)。
Q: 300 回という数字はどこから来たのですか?
A: 図2 手順(5) に “脈拍数解析を300回行った後” と明示されています。
A: 図2 手順(5) に “脈拍数解析を300回行った後” と明示されています。
関連キーワード: デューティ比、周期計算、サンプリング周波数、脈拍解析、外乱光補正
設問3:
〔計測時における制御部の処理について〕、輝度補正中の測定値zを脈拍数解析に使用しない理由を、40字以内で述べよ。
模範解答
輝度補正終了前までのzは適正範囲を外れており、脈拍数算出には不適切だから
解説
解答の論理構成
- 【問題文】はまず「脈拍数計測に先立ってLEDの輝度補正を行い、反射光の測定値が…適正範囲…内であることを確認してから脈拍数計測を開始する」と述べています。
- また、コマンド説明の(7)①で「輝度補正モードの場合は、zが適正範囲内であるかを判定し、範囲内であれば…脈拍数計測モードに移行する」とあります。
- したがって輝度補正中に得られる測定値zは、まだ「適正範囲内」に入っていない可能性が高く、脈拍数の信号としては信頼できません。
- 脈拍数解析は微小な周期変動を正確に捉える必要があります。適正範囲外のデータを入力すると、脈拍数を過大・過小に誤算出する恐れがあります。
- よって「輝度補正中の測定値zを脈拍数解析に使用しない理由」は、適正範囲外で精度を満たさないから、となります。模範解答の「輝度補正終了前までのzは適正範囲を外れており、脈拍数算出には不適切だから」と合致します。
誤りやすいポイント
- 輝度補正中もLEDは点滅しているため「zは使える」と誤解しやすい。適正範囲確認前である点を見落とさないこと。
- 「外乱光を除去している=確実に正しいデータ」と短絡しがちだが、輝度不足・過多だとセンサのダイナミックレンジ外となるリスクが残る。
- 輝度補正回数「500回」や脈拍数解析回数「300回」の数値に気を取られ、本質である“適正範囲内かどうか”の判定条件を忘れやすい。
FAQ
Q: 測定値zが適正範囲外だと、具体的にどんな誤差が出るのですか?
A: LED輝度が低過ぎれば信号強度が小さくノイズに埋もれ、高過ぎればセンサが飽和します。いずれもピーク検出が不安定になり、脈拍周期を誤認します。
A: LED輝度が低過ぎれば信号強度が小さくノイズに埋もれ、高過ぎればセンサが飽和します。いずれもピーク検出が不安定になり、脈拍周期を誤認します。
Q: 輝度補正が失敗(500回超過)した場合でも脈拍計測を行えないのですか?
A: はい。「所定の回数だけ輝度の補正を行ってもzが適正範囲内に収まらない場合は…計測終了コマンドを送信して、その回の計測を終了する」とあるため、その1分間の計測自体を中止します。
A: はい。「所定の回数だけ輝度の補正を行ってもzが適正範囲内に収まらない場合は…計測終了コマンドを送信して、その回の計測を終了する」とあるため、その1分間の計測自体を中止します。
Q: 外乱光はLED消灯時の測定値yで完全に差し引けるのですか?
A: 室内光や太陽光が急変すると完全には除去できません。そこでLED輝度を調整し、センサ信号を十分なS/N比で確保する設計になっています。
A: 室内光や太陽光が急変すると完全には除去できません。そこでLED輝度を調整し、センサ信号を十分なS/N比で確保する設計になっています。
関連キーワード: キャリブレーション、ノイズ除去、閾値判定、信号処理


