応用情報技術者過去問題 平成28年秋期 午後問7

⇄問題文と設問を画面2分割で開く⇱問題PDF

問7 組込みシステム開発

腕時計型脈拍計の設計に関する次の記述を読んで,設問1〜3に答えよ。

 M社は電子計測機器メーカーであり,このたび単機能の腕時計型脈拍計(以下,脈拍計という)を開発することになった。この脈拍計は,LEDとセンサを手首に密着させて,長時間脈拍数を計測・記録するというものである。

〔脈拍数の計測〕
 手首など,体表近くに動脈が存在する部位では,皮膚に照射した光の反射量が脈拍に同期して変化することが知られている。脈拍計はこれを利用して光学的に脈拍を検出する。
  • 光源となるLEDと,入射光の光量に比例した出力が得られる光センサ(以下,センサという)から成る計測ヘッドを手首に密着させ,一定周期でLEDを点滅させて皮膚に光を照射する。
  • LED点灯時のセンサの入射光を測定する。この入射光には,皮膚からの反射光に,計測ヘッドと手首の隙間から入り込む室内光,太陽光などの外乱光が重畳している。
  • LED消灯時にもセンサの入射光を測定する。LED消灯時及び点灯時の測定値を用いて外乱光の影響を除いたものを,反射光の測定値とする。

〔脈拍数計測の方法〕
 1分間に1回,脈拍数を計測して記録する。
  • 1回の脈拍数計測は6秒間で行い,終了後はLEDを消灯する。
  • 6秒間の反射光の測定値の変化を解析し,1分間の脈拍数を算出して記録する。
  • 皮膚の状態などによって反射光の光量が変化する。そのため,脈拍数計測に先立ってLEDの輝度補正を行い,反射光の測定値があらかじめ想定した範囲(以下,適正範囲という)内であることを確認してから脈拍数計測を開始する。ここで,脈拍数計測の時間に輝度補正の時間が加わっても,1回の計測に要する時間は1分以内に収まるものとする。

〔脈拍計のシステム構成要素〕
 脈拍計のシステム構成要素を表1に示す。脈拍計は,制御部及び測定部から構成される。
pm07_1.gif/image-size:525×156
〔コマンド〕
 制御部から測定部に送られるコマンドの一覧を表2に示す。
pm07_2.gif/image-size:510×151
〔コマンド及びタイミング〕
 図1に計測時のタイミングを示す。
pm07_3.gif/image-size:423×116
  • 制御部は,あらかじめ点灯時間設定,消灯時間設定及び輝度設定の各コマンドを送信する。
  • 制御部の動作モードには,輝度補正モードと脈拍数計測モードの二つがある。
  • 制御部は1分ごとに計測開始コマンドを送信する。計測開始コマンドの送信直後には輝度補正モードになる。
  • 測定部は,計測開始コマンドを受信すると,点灯時間設定コマンドで設定された時間だけLEDを点灯し,消灯時間設定コマンドで設定された時間だけLEDを消灯する動作を計測終了するまで繰り返す。ここで,点滅の周波数は50Hzとし,点灯時間と消灯時間の比は6:4とする。
  • 点灯時のLEDの輝度は,輝度設定コマンドで設定された値とする。
  • 測定部は,LEDを点灯した後,センサの入射光を1回測定し,測定値xとして制御部に送信する。また,LEDを消灯した後,センサの入射光を1回測定し,測定値yとして制御部に送信する。
  • 制御部は,続けて受信した測定値x,yから反射光の測定値zを算出し,そのときのモードに従って次の①,②のいずれかを行う。
    1. 輝度補正モードの場合は,zが適正範囲内であるかを判定し,範囲内であれば輝度補正モードを終了して脈拍数計測モードに移行する。範囲内でなければ適切な輝度を計算し,輝度設定コマンドを用いて次の点灯時までに輝度を補正する。所定の回数だけ輝度の補正を行ってもzが適正範囲内に収まらない場合は,脈拍数計測モードに移行せず,計測終了コマンドを送信して,その回の計測を終了する。
    2. 脈拍数計測モードの場合は,反射光の測定値zを用いて,脈拍数解析を行う。所定の回数だけ脈拍数解析を行ったら,解析データから脈拍数を算出して記録し,計測終了コマンドを送信してその回の計測を終了する。
  • 測定部は,計測終了コマンドを受信すると,LEDの点滅及びセンサの入射光の測定を終了する。

〔計測時における制御部の処理〕
 図2に計測時における制御部の処理を示す。
pm07_4.gif/image-size:318×387
 処理手順は次のとおりである。
  • 制御部は,計測開始コマンドを送信する。
  • 反射光測定では,測定部からLED点灯時の測定値x,LED消灯時の測定値yを受信し,外乱光の影響を除去した値zを算出する。
  • zが適正範囲内であれば,輝度補正を終了して脈拍数計測に入る。zが適正範囲内になければ,適切な輝度を計算し,aする。
  • 輝度補正は最大500回とし,500回繰り返してもzが適正範囲内になければ,輝度補正を終了し,bして終了する。
  • 脈拍数解析を300回行った後,解析データから脈拍数を算出して記録し,bして終了する。

設問1

〔コマンド及びタイミング〕について,LEDの点灯時間設定コマンド及び消灯時間設定コマンドによる設定値は,それぞれ何ミリ秒か答えよ。

解答入力欄

  • 点灯時間設定コマンド:ミリ秒
  • 消灯時間設定コマンド:ミリ秒

解答例・解答の要点

  • 点灯時間設定コマンド:12
  • 消灯時間設定コマンド:8

解説

問題文の〔コマンド及びタイミング〕から、LEDの点灯時間設定コマンドと消灯時間設定コマンドによる設定値がそれぞれ何ミリ秒であるかを考えます。

まず、問題文の表2より、点灯時間設定コマンドは「点滅している期間における、LEDが1回点灯する時間(ミリ秒)を設定する」コマンドであることがわかります。また、消灯時間設定コマンドは「点滅している期間における、LEDが1回消灯する時間(ミリ秒)を設定する」コマンドです。

次に、問題文の〔コマンド及びタイミング〕の(4)を読むと、「点滅の周波数は50Hzとし、点灯時間と消灯時間の比は6:4とする。」とあります。「点滅の周波数が50Hz」というのは、「1秒間に50回点滅する」という意味です。このことから、1回の点滅サイクルは「1秒÷50回=0.02秒=20ミリ秒」になるとわかります。

点灯時間と消灯時間の比は6:4ですので、
  • 点灯時間=20ミリ秒×6/10=12ミリ秒
  • 消灯時間=20ミリ秒×4/10=8ミリ秒
となります。

∴点灯時間設定コマンド:12
 消灯時間設定コマンド:8

設問2

〔計測時における制御部の処理〕の図2について,(1)〜(3)に答えよ。
  • 図2及び本文中のabに入れる適切な字句を答えよ。
  • zの算出式を解答群の中から選び,記号で答えよ。
  • 図2の開始から終了までの最短所要時間及び最長所要時間はそれぞれ何秒か。小数点以下を四捨五入して,整数で答えよ。ここで,制御部における,繰返し判定,測定部からの測定値受信及び外乱光の影響を除去した値zの算出,適正範囲内判定,コマンドの送信,輝度計算,脈拍数解析,脈拍数算出・記録の各処理時間,測定部における各処理時間は無視できるものとする。
解答群
  • x+y
  • x−y
  • x/y
  • y/x

解答入力欄

    • a:
    • b:
    • 最短所要時間:
    • 最長所要時間:

解答例・解答の要点

    • a:輝度設定コマンドを送信
    • b:計測終了コマンドを送信
    • 最短所要時間:6
    • 最長所要時間:16

解説

  • aについて〕
    問題文の〔計測時における制御部の処理〕から、zが適正範囲内にない場合に行う処理を考えます。〔コマンド及びタイミング〕の(7)の①に、「範囲内でなければ適切な輝度を計算し、輝度設定コマンドを用いて次の点灯時までに輝度を補正する。」とあります。
    輝度の補正は、制御部から測定部に輝度設定コマンドを送信することで行うので、aには「輝度設定コマンドを送信」が入ります。

    a=輝度設定コマンドを送信

    bについて〕
    〔計測時における制御部の処理〕から、輝度補正が終了した後に行う処理を考えます。問題文の〔コマンド及びタイミング〕の(7)の①に、「所定の回数だけ輝度の補正を行ってもzが適正範囲内に収まらない場合は、脈拍数計測モードに移行せず、計測終了コマンドを送信して、その回の計測を終了する。」とあります。
    よって、bには「計測終了コマンドを送信」が入ります。

    また(7)の②には、「所定の回数だけ脈拍数解析を行ったら,…計測終了コマンドを送信してその回の計測を終了する」とあります。bは脈拍数計測の終了後に行う処理でもあることからも、計測終了コマンドの送信を行うべきであることわかります。

    b=計測終了コマンドを送信

  • zを求める式を考えます。
    問題文の〔計測時における制御部の処理〕の(2)では、zを「外乱光の影響を除去した値」としています。本文の〔脈拍数の計測〕を読むと、「入射光には、皮膚からの反射光に、…外乱光が重畳している」とあり、「LED消灯時及び点灯時の測定値を用いて外乱光の影響を取り除いたものを、反射光の測定値とする」としています。

    この説明から、"LED点灯時の測定値x"と"LED消灯時の測定値y"は、
    • xの値=皮膚からの反射光+外乱光
    • yの値=外乱光
    と考えることができます。

    よって、外乱光除去後の測定値であるzを求めるには、xからyを減じることになります。

    ∴イ:x−y

  • 図2の流れ図を見ながら、開始から終了までの最短所要時間と最長所要時間を考えます。

    この問題には、以下の条件があります。
    「ここで、制御部における、繰返し判定、測定部からの測定値受信及び外乱光の影響を除去した値zの算出、適正範囲内判定、コマンドの送信、輝度計算、脈拍数解析、脈拍数算出・記録の各処理時間、測定部における各処理時間は無視できるものとする。」
    すなわち、図2の流れ図にある処理の中で、輝度補正中にある反射光測定と脈拍数計測中にある反射光測定に要する時間のみ考えれば良いです。
    pm07_5.gif/image-size:480×387
    反射光測定の手順について問題文を探すと、〔コマンド及びタイミング〕の(6)に「測定部は、LEDを点灯した後、センサの入射光を1回測定し、測定値xとして制御部に送信する。また、LEDを消灯した後、センサの入射光を1回測定し、測定値yとして制御部に送信する。」とあります。この説明から、反射光測定はLEDの点滅1回ごとに行うことがわかります。

    輝度補正中にある反射光測定は、最小1回、最大500回行います。
    脈拍数計測中にある反射光測定は、300回行います。

    [最短所要時間]
    輝度補正が1回で終了し、脈拍数測定に進んだケースが該当します。このケースでは、輝度補正中にある反射光測定で1回、脈拍数計測中にある反射光測定で300回、合計301回の測定を行います。

    LEDの点滅時間は、設問1で求めたとおり1回当たり20ミリ秒ですので、最短所要時間は、

     20ミリ秒×(1回+300回)=6,020ミリ秒=6.02秒
     (小数点以下を四捨五入して)6秒

    [最長所要時間]
    輝度補正が最大回数である500回目で終了し、脈拍数測定に進んだケースが該当します。このケースでは、輝度補正中にある反射光測定で500回、脈拍数計測中にある反射光測定で300回、合計800回の測定を行います。

     20ミリ秒×(500回+300回)=16,000ミリ秒=16秒

    よって、最短所要時間は「6秒」、最長所要時間は「16秒」になります。

    ∴最短所要時間:6
     最長所要時間:16

設問3

〔計測時における制御部の処理〕について,輝度補正中の測定値zを脈拍数解析に使用しない理由を,40字以内で述べよ。

解答入力欄

解答例・解答の要点

  • 輝度補正終了前までのzは適正範囲を外れており,脈拍数算出には不適切だから (36文字)

解説

問題文の〔計測時における制御部の処理〕から、輝度補正中の測定値zを脈拍数解析に使用しない理由を考えます。

問題文の〔脈拍数計測の方法〕には、以下のような記述があります。

「皮膚の状態などによって反射光の光量が変化する。そのため、脈拍数計測に先立ってLEDの輝度補正を行い、反射光の測定値があらかじめ想定した範囲(以下、適正範囲という)内であることを確認してから脈拍数計測を開始する。」

この説明から、輝度補正は、zを適正範囲内に整える目的で行われることがわかります。つまり、輝度補正が繰り返されている最中のzは適正範囲外の値になっているということです。適正範囲外の値を用いたのでは正確な脈拍数算出ができません。

よって、「輝度補正終了前までのzは適正範囲を外れており、脈拍数算出には不適切だから」などの解答が適切です。

∴輝度補正終了前までのzは適正範囲を外れており,脈拍数算出には不適切だから
問7成績

平成28年秋期 午後問題一覧

問1 問2 問3 問4 問5 問6 問7 問8 問9 問10 問11 採点講評
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop