(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022045390
(43)【公開日】2022-03-22
(54)【発明の名称】センサネットワークシステム、シンク、ノード、データ通信処理方法およびプログラム
(51)【国際特許分類】
H04W 4/38 20180101AFI20220314BHJP
H04W 52/18 20090101ALI20220314BHJP
H04W 72/04 20090101ALI20220314BHJP
【FI】
H04W4/38
H04W52/18
H04W72/04 131
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2020150975
(22)【出願日】2020-09-09
(71)【出願人】
【識別番号】504133110
【氏名又は名称】国立大学法人電気通信大学
(74)【代理人】
【識別番号】100205350
【弁理士】
【氏名又は名称】狩野 芳正
(74)【代理人】
【識別番号】100117617
【弁理士】
【氏名又は名称】中尾 圭策
(72)【発明者】
【氏名】湯 素華
(72)【発明者】
【氏名】小花 貞夫
【テーマコード(参考)】
5K067
【Fターム(参考)】
5K067BB27
5K067DD11
5K067EE02
5K067GG03
5K067GG08
5K067HH22
(57)【要約】
【課題】複数のノードが取得したデータを単独のシンクが収集するセンサネットワークシステムにおいてデータ収集の効率と精度を向上させる。
【解決手段】センサネットワークシステムは、データを取得する複数のノードと、複数のタイムスロットを含むデータ収集期間ごとに複数のノードからデータを収集するシンクとを備える。シンクは、それぞれのタイムスロットにおいて、チャネルゲイン閾値を表す情報を含むビーコンを複数のノードに送信する第1の送信制御装置を備える。それぞれのノードは、ビーコンに基づいて、シンクとの間のチャネルゲインを検知するチャネルゲイン検知装置と、データ収集期間の中で一度だけ、通信条件を満たしたタイムスロットでデータをシンクに送信する第2の送信制御装置とを備える。通信条件は、チャネルゲインがチャネルゲイン閾値以上であれば満たされ、タイムスロットがデータ収集期間の最後のタイムスロットであれば満たされる。
【選択図】
図13
【特許請求の範囲】
【請求項1】
それぞれがデータを取得する複数のノードと、
複数のタイムスロットを含むデータ収集期間ごとに前記複数のノードから前記データを収集するシンクと
を備え、
前記シンクは、
前記複数のタイムスロットのそれぞれにおいて、チャネルゲイン閾値を表す情報を含むビーコンを前記複数のノードに送信する第1の送信制御装置
を備え、
前記複数のノードのそれぞれは、
前記ビーコンに基づいて、前記シンクとの間のチャネルゲインを検知するチャネルゲイン検知装置と、
前記データ収集期間の中で一度だけ、所定の通信条件を満たしたタイムスロットで前記データを前記シンクに送信する第2の送信制御装置と
を備え、
前記通信条件は、
前記チャネルゲインが前記チャネルゲイン閾値以上であれば満たされ、
前記タイムスロットが前記データ収集期間の最後のタイムスロットであれば満たされる
センサネットワークシステム。
【請求項2】
請求項1に記載のセンサネットワークシステムにおいて、
前記シンクは、
外部の複数のノードの総数に基づいて、データ収集期間に含まれる複数のタイムスロットの総数を算出し、前記複数のタイムスロットの前記総数に基づいて、前記チャネルゲイン閾値と信号振幅の目標値を算出するパラメータ算出装置と、
前記複数のタイムスロットのそれぞれにおいて、前記複数のタイムスロットの前記総数、前記チャネルゲイン閾値および前記信号振幅の前記目標値を表す情報を含む前記ビーコンを生成するビーコン生成装置と、
前記ビーコンに応じて前記複数のノードから送信された複数のデータを受信する受信制御装置と、
前記データ収集期間に受信した前記複数のデータの総和を得る後処理装置と
をさらに備える
センサネットワークシステム。
【請求項3】
請求項2に記載のセンサネットワークシステムにおいて、
前記第2の送信制御装置は、
前記チャネルゲインが前記チャネルゲイン閾値以上であるときは、前記信号振幅の目標値を前記チャネルゲインに基づいて送信電力を設定し、
前記チャネルゲインが前記チャネルゲイン閾値未満であるときは、前記ノードの最大送信電力に基づいて前記送信電力を設定し、
前記データを表すアナログ値と前記送信電力に基づいて、前記データを電力で表すアナログ信号を生成し、
前記アナログ信号を前記データとして前記シンクに送信する
センサネットワークシステム。
【請求項4】
請求項3に記載のセンサネットワークシステムにおいて、
前記受信制御装置は、
前記それぞれのタイムスロットにおいて、前記複数のノードから同時に送信された前記複数のデータを表す複数の前記アナログ信号を一度に受信して前記複数のアナログ信号の電力の総和を得る加算器
を備える
センサネットワークシステム。
【請求項5】
外部の複数のノードの総数に基づいて、データ収集期間に含まれる複数のタイムスロットの総数を算出し、前記複数のタイムスロットの前記総数に基づいて、チャネルゲイン閾値と信号振幅の目標値を算出するパラメータ算出装置と、
前記複数のタイムスロットのそれぞれにおいて、前記複数のタイムスロットの前記総数、前記チャネルゲイン閾値および前記信号振幅の前記目標値を表す情報を含むビーコンを、前記複数のノードに送信する送信制御装置と、
前記ビーコンに応じて前記複数のノードから送信された複数のデータを受信する受信制御装置と、
前記データ収集期間に受信した前記複数のデータの総和を得る後処理装置と
を備える
シンク。
【請求項6】
データを取得するセンシング装置と、
データ収集期間に含まれる複数のタイムスロットのそれぞれにおいて外部のシンクから送信される、チャネルゲイン閾値を表す情報を含むビーコンを受信するビーコン受信装置と、
前記ビーコンに基づいて、前記シンクとの間のチャネルゲインを検知するチャネルゲイン検知装置と、
前記データ収集期間の中で一度だけ、所定の通信条件を満たしたタイムスロットで前記データを前記シンクに送信する送信制御装置と
を備え、
前記通信条件は、
前記チャネルゲインが前記チャネルゲイン閾値以上であれば満たされ、
前記タイムスロットが前記データ収集期間の最後のタイムスロットであれば満たされる
ノード。
【請求項7】
複数のノードのそれぞれがデータを取得することと、
データ収集期間に含まれる複数のタイムスロットのそれぞれにおいて、チャネルゲイン閾値を表す情報を含むビーコンをシンクから前記複数のノードに送信することと、
前記それぞれのノードが、前記ビーコンに基づいて、前記シンクとの間のチャネルゲインを検知することと、
前記それぞれのノードが、前記データ収集期間の中で一度だけ、所定の通信条件を満たしたタイムスロットで前記データを前記シンクに送信することと、
前記データ収集期間ごとに前記複数のノードから前記データを前記シンクが収集することと
を含み、
前記通信条件は、
前記チャネルゲインが前記チャネルゲイン閾値以上であれば満たされ、
前記タイムスロットが前記データ収集期間の最後のタイムスロットであれば満たされる
データ通信処理方法。
【請求項8】
シンクの演算装置に実行させることによって処理を実現するプログラムであって、
前記処理は、
外部の複数のノードの総数に基づいて、データ収集期間に含まれる複数のタイムスロットの総数を算出することと、
前記複数のタイムスロットの前記総数に基づいて、チャネルゲイン閾値と信号振幅の目標値を算出することと、
前記複数のタイムスロットのそれぞれにおいて、前記複数のタイムスロットの前記総数、前記チャネルゲイン閾値および前記信号振幅の前記目標値を表す情報を含むビーコンを、前記複数のノードに送信することと、
前記ビーコンに応じて前記複数のノードから送信された複数のデータを受信することと、
前記データ収集期間に受信した前記複数のデータの総和を得ることと
を含む
プログラム。
【請求項9】
ノードの演算装置に実行させることによって処理を実現するプログラムであって、
前記処理は、
データを取得することと、
データ収集期間に含まれる複数のタイムスロットのそれぞれにおいて外部のシンクから送信される、チャネルゲイン閾値を表す情報を含むビーコンを受信することと、
前記ビーコンに基づいて、前記シンクとの間のチャネルゲインを検知することと、
前記データ収集期間の中で一度だけ、所定の通信条件を満たしたタイムスロットで前記データを前記シンクに送信することと
を含み、
前記通信条件は、
前記チャネルゲインが前記チャネルゲイン閾値以上であれば満たされ、
前記タイムスロットが前記データ収集期間の最後のタイムスロットであれば満たされる
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、センサネットワークシステムと、このセンサネットワークシステムに用いるシンクおよびノードと、このセンサネットワークシステムを用いるデータ通信処理方法と、シンクおよびノードに用いるプログラムとに関する。
【背景技術】
【0002】
所定の領域に点在する複数の位置で取得したデータを収集して処理するセンサネットワークシステムが知られている。センサネットワークシステムは、複数のセンサノード装置(以下、「ノード」と略す)と単独のシンクサーバ装置(以下、「シンク」と略す)を備える。複数のノードは複数の位置にそれぞれ配置されており、それぞれのノードはその位置でデータを取得してシンクに送信する。シンクは、複数のノードから収集した複数のデータを処理して、所定の領域に関する全体的なデータを得る。
【0003】
通常は、混信を防ぐために、シンクは一度に1つのノードとの間で無線通信を行う。この場合、データ収集をデジタル通信で行うことができる一方で、シンクが全てのノードからデータを収集するためには、ノードの総数と同じ数のタイムスロットが必要となる。つまり、ノードの総数が増加すれば、一度のデータ収集にかかる時間も増加する。
【0004】
LPWA(Low Power, Wide Area:低電力広エリア)の一種であるLoRa(Long Range:長距離)のように、複数のノードが競合する同一の通信チャネルを共有してシンクへ送信するので、ノードが増加すれば、データの収集時間が増加するのみならず、データの衝突が発生する頻度も増加する。
【0005】
シンクが所定の領域の全体的なデータを得るために、それぞれのノードが取得した個別のデータまでは必要ない場合がある。例えば、ある領域の気温を調べるためには、複数の地点で取得した気温の平均値さえ分かれば十分である。そして、この平均値は、シンクとの通信に成功したノードの総数と、これらのノードから収集したデータの総和さえ分かれば算出可能である。
【0006】
上記に関連して、非特許文献1(Wanchun Liu他著、「Over-the-Air Computation Systems: Optimization, Analysis and Scaling Laws」、IEEE Transaction on Wireless Communications、2020年、pp.1536~1276)には、Over-the-Air Computation Systems(以降、「AirComp」と略す)が開示されている。
【0007】
このAirCompでは、複数のノードが単独のシンクにデータを送信するとき、アナログ信号による通信を行う。全てのノードが同時にデータを送信し、シンクがこれらのデータを一度に受信することによって、一度のデータ収集を単独のタイムスロットで行うことができる。また、複数のアナログ信号を同時に受信することによって、シンクはこれらのデータの値の総和を演算することなく得ることができる。
【0008】
このとき、それぞれのノードからシンクに届くデータを表すアナログ信号の電力または電界強度は、データのアナログ値に比例していることが好ましい。しかし、ノードとそれぞれのノードの間のチャネル係数とチャネルゲインは、両者の間の距離や通信環境に応じて異なる。そこで、それぞれのノードは、シンクとの間のチャネルゲインに応じて送信電力を適宜に調整する。こうすることによって、シンクに届くアナログ信号の電力または電界強度は、データのアナログ値に比例する。
【0009】
しかし、実際には、限られた電力で動作するノードの送信電力には上限がある。チャネルゲインが所定の閾値を下回るとき、ノードが最大送信電力を用いてアナログ信号を送信しても、その電力はデータのアナログ値に比例しない。その結果、マルチアクセスチャネルで受信されるアナログデータに歪みが発生し、シンクが得るアナログ値の総和の精度が低下する可能性がある。
【先行技術文献】
【非特許文献】
【0010】
【非特許文献1】Wanchun Liu他著、「Over-the-Air Computation Systems: Optimization, Analysis and Scaling Laws」、IEEE Transaction on Wireless Communications、2020年、pp.1536~1276
【発明の概要】
【発明が解決しようとする課題】
【0011】
データ収集の効率と精度を向上させるセンサネットワークシステム、シンク、ノード、データ通信処理方法およびプログラムを提供する。その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0012】
以下に、(発明を実施するための形態)で使用される番号を用いて、課題を解決するための手段を説明する。これらの番号は、(特許請求の範囲)の記載と(発明を実施するための形態)との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、(特許請求の範囲)に記載されている発明の技術的範囲の解釈に用いてはならない。
【0013】
一実施の形態によれば、センサネットワークシステム(100)は、複数のノード(1)と、シンク(2)とを備える。複数のノード(1)は、それぞれがデータ(x)を取得する。シンク(2)は、複数のタイムスロットを含むデータ収集期間ごとに複数のノード(1)からデータ(x)を収集する。シンク(2)は、第1の送信制御装置(223)を備える。第1の送信制御装置(223)は、複数のタイムスロットのそれぞれにおいて、チャネルゲイン閾値(gth)を表す情報を含むビーコンを複数のノード(1)に送信する。複数のノード(1)のそれぞれは、チャネルゲイン検知装置(122)と、第2の送信制御装置(123)とを備える。チャネルゲイン検知装置(122)は、ビーコンに基づいて、シンク(2)との間のチャネルゲイン(gh)を検知する。第2の送信制御装置(123)は、データ収集期間の中で一度だけ、所定の通信条件を満たしたタイムスロットでデータ(x)をシンク(2)に送信する。通信条件は、チャネルゲイン(gh)がチャネルゲイン閾値(gth)以上であれば満たされ、タイムスロットがデータ収集期間の最後のタイムスロットであれば満たされる。
【0014】
一実施の形態によれば、シンク(2)は、パラメータ算出装置(221)と、送信制御装置(223)と、受信制御装置(224)と、後処理装置(225)とを備える。パラメータ算出装置(221)は、外部の複数のノード(1)の総数(K)に基づいて、データ収集期間に含まれる複数のタイムスロットの総数(N)を算出し、複数のタイムスロットの総数(N)に基づいて、チャネルゲイン閾値(gth)と信号振幅の目標値(α)を算出する。送信制御装置(223)は、複数のタイムスロットのそれぞれにおいて、複数のタイムスロットの総数(N)、チャネルゲイン閾値(gth)および信号振幅の目標値(α)を表す情報を含むビーコンを、複数のノード(1)に送信する。受信制御装置(224)は、ビーコンに応じて複数のノード(1)から送信された複数のデータ(x)を受信する。後処理装置(225)は、データ収集期間に受信した複数のデータ(x)の総和を得る。
【0015】
一実施の形態によれば、ノード(1)は、センシング装置(15)と、ビーコン受信装置(121)と、チャネルゲイン検知装置(122)と、送信制御装置(123)とを備える。ビーコン受信装置(121)は、データ収集期間に含まれる複数のタイムスロットのそれぞれにおいて外部のシンク(2)から送信される、チャネルゲイン閾値(gth)を表す情報を含むビーコンを受信する。チャネルゲイン検知装置(122)は、ビーコンに基づいて、シンク(2)との間のチャネルゲイン(gh)を検知する。送信制御装置(123)は、データ収集期間の中で一度だけ、所定の通信条件を満たしたタイムスロットでデータ(x)をシンク(2)に送信する。通信条件は、チャネルゲイン(gh)がチャネルゲイン閾値(gth)以上であれば満たされ、タイムスロットがデータ収集期間の最後のタイムスロットであれば満たされる。
【0016】
一実施の形態によれば、データ通信処理方法は、複数のノード(1)のそれぞれがデータ(x)を取得すること(S202)と、データ収集期間に含まれる複数のタイムスロットのそれぞれにおいて、チャネルゲイン閾値(gth)を表す情報を含むビーコンをシンク(2)から複数のノード(1)に送信すること(S106)を含む。データ通信処理方法は、さらに、それぞれのノード(1)が、ビーコンに基づいて、シンク(2)との間のチャネルゲイン(gh)を検知すること(S208)を含む。データ通信処理方法は、さらに、それぞれのノード(1)が、データ収集期間の中で一度だけ、所定の通信条件を満たしたタイムスロットでデータ(x)をシンク(2)に送信すること(S211)を含む。データ通信処理方法は、さらに、データ収集期間ごとに複数のノード(1)からデータ(x)をシンク(2)が収集すること(S107)を含む。通信条件は、チャネルゲイン(gh)がチャネルゲイン閾値(gth)以上であれば満たされ、タイムスロットがデータ収集期間の最後のタイムスロットであれば満たされる。
【0017】
一実施の形態によれば、シンク(2)の演算装置(22)に実行させることによって処理を実現するプログラムにおいて、処理は、外部の複数のノード(1)の総数(K)に基づいて、データ収集期間に含まれる複数のタイムスロットの総数(N)を算出すること(S102)と、複数のタイムスロットの総数(N)に基づいて、チャネルゲイン閾値(gth)と信号振幅の目標値(α)を算出すること(S102)を含む。処理は、さらに、複数のタイムスロットのそれぞれにおいて、複数のタイムスロットの総数(N)、チャネルゲイン閾値(gth)および信号振幅の目標値(α)を表す情報を含むビーコンを、複数のノード(1)に送信すること(S106)を含む。処理は、さらに、ビーコンに応じて複数のノード(1)から送信された複数のデータ(x)を受信すること(S107)を含む。処理は、さらに、データ収集期間に受信した複数のデータ(x)の総和を得ること(S109)を含む。
【0018】
一実施の形態によれば、ノード(1)の演算装置(12)に実行させることによって処理を実現するプログラムにおいて、処理は、データ(x)を取得すること(S202)と、データ収集期間に含まれる複数のタイムスロットのそれぞれにおいて外部のシンク(2)から送信される、チャネルゲイン閾値(gth)を表す情報を含むビーコンを受信すること(S203)を含む。処理は、さらに、ビーコンに基づいて、シンク(2)との間のチャネルゲイン(gh)を検知すること(S208)を含む。処理は、さらに、データ収集期間の中で一度だけ、所定の通信条件を満たしたタイムスロットでデータ(x)をシンク(2)に送信すること(S211)を含む。通信条件は、チャネルゲイン(gh)がチャネルゲイン閾値(gth)以上であれば満たされ、タイムスロットがデータ収集期間の最後のタイムスロットであれば満たされる。
【発明の効果】
【0019】
一実施の形態によれば、データ収集の効率と精度を向上させることが出来る。
【図面の簡単な説明】
【0020】
【
図1】
図1は、第1の関連技術によるセンサネットワークシステムの一構成例を示す図である。
【
図2】
図2は、第1の関連技術によるセンサネットワークシステムの一動作例を示す図である。
【
図3】
図3は、第2の関連技術によるセンサネットワークシステムの一動作例を示す図である。
【
図4】
図4は、第2の関連技術によるセンサネットワークシステムの一動作例を示す図である。
【
図5】
図5は、第2の関連技術によるセンサネットワークシステムにおけるチャネルゲイン、送信電力および受信電力係数の一例を示す図である。
【
図6】
図6は、第2の関連技術によるセンサネットワークシステムにおけるチャネルゲイン、送信電力および受信電力係数の別の一例を示す図である。
【
図7】
図7は、第4の関連技術によるセンサネットワークシステムの一動作例を示す図である。
【
図8】
図8は、一実施形態によるセンサネットワークシステムの一構成例を示す図である。
【
図9】
図9は、一実施形態によるノードの一構成例を示す図である。
【
図10】
図10は、一実施形態によるシンクの一構成例を示す図である。
【
図11】
図11は、一実施形態によるシンクの一動作例を示すフローチャートである。
【
図12A】
図12Aは、一実施形態によるノードの一動作例を示すフローチャートの一部である。
【
図12B】
図12Bは、一実施形態によるノードの一動作例を示すフローチャートの一部である。
【
図13】
図13は、一実施形態によるセンサネットワークシステムの一動作例を示す図である。
【
図14】
図14は、一実施形態によるセンサネットワークシステムの一動作例を示す図である。
【
図15】
図15は、一実施形態によるセンサネットワークシステムにおけるチャネルゲイン、送信電力および受信電力係数の一例を示す図である。
【
図16】
図16は、一実施形態によるセンサネットワークシステムと関連技術によるセンサネットワークシステムの間で送信電力の累積分布関数を比較するグラフである。
【
図17】
図17は、一実施形態によるセンサネットワークシステムと関連技術によるセンサネットワークシステムの間で受信電力と目標電力の平均二乗誤差の累積分布関数を比較するグラフである。
【発明を実施するための形態】
【0021】
添付図面を参照して、本発明によるセンサネットワークシステム、シンク、ノード、データ通信処理方法およびプログラムを実施するための形態を以下に説明する。
【0022】
実施形態をよりよく理解するために、関連技術によるセンサネットワークシステムについて先に説明する。
【0023】
図1は、第1の関連技術によるセンサネットワークシステム1000の一構成例を示す図である。センサネットワークシステム1000は、複数のノード101-1~101-Kとシンク102を備える。ここで、ノード101-1~101-Kの総数はKである。複数のノード101-1~101-Kを区別しないとき、これらをノード101-kまたはノード101と総称する。ここで、枝番号kは1からKまでの範囲に含まれる任意の整数である。
【0024】
複数のノード101は、所定の領域の複数の位置にそれぞれ配置されている。それぞれのノード101は、配置されている位置において、センサによって所望のデータを取得する。それぞれのノード101は、取得したデータをシンク102に向けて送信する。複数のノード101がデータを取得するタイミングとシンク102に向けてデータを送信するタイミングは、例えば、それぞれのノード101が内蔵する時計に基づいて制御されてもよいし、外部のシンク102などからノード101に送信される無線信号に基づいて制御されてもよい。
【0025】
図2は、第1の関連技術によるセンサネットワークシステム1000の一動作例を示す図である。
図2の横軸は時間を示している。時刻t
101から時刻t
102にかけて、第1のノード101-1が第1のデータx
1をシンク102に向けて送信する処理P101が実行される。ここで、時刻t
101から時刻t
102までの期間を、第1のタイムスロットと呼ぶ。その後、時刻t
103から時刻t
104までの第2のタイムスロットにおいて、第2のノード101-2が第2のデータx
2をシンク102に向けて送信する処理P102が実行される。同様に全てのノード101-kが1つずつ順番にデータx
kをシンク102に向けて送信する。時刻t
105から時刻t
106までの第Kのタイムスロットにおいて、第Kのノード101-Kが第Kのデータx
Kをシンク102に向けて送信する処理P10Kが実行される。その後、時刻t
107から時刻t
108にかけて、シンク102がデータ処理を行う処理P100が実行される。複数のデータx
1~x
Kを区別しないとき、これらをデータx
kまたはデータxと総称する。
【0026】
図2に示したように、
図1のセンサネットワークシステム1000では、シンク102は一度に1つのノード101との間で無線通信を行うことによって、複数のノード101が取得したデータxを収集する。この場合、複数のノード101の間で混信が発生することを抑制することができ、また、データxをデジタル信号として収集することができる。その一方で、シンク102が全てのノード101からデータxを収集するためには、ノード101の総数Kと同じ数のタイムスロットが必要となる。つまり、ノード101の総数Kが増加すれば、一度のデータ収集にかかる時間も増加する。ノード101の総数Kによっては、一度のデータ収集にかかる時間が長くなりすぎて、センサネットワークシステム1000の現実的な運用が困難になる場合がある。
【0027】
シンク102が所定の領域の全体的なデータxを得るために、それぞれのノード101が取得した個別のデータxまでは必要ない場合がある。例えば、ある領域の気温を調べるためには、複数の地点で取得した気温の平均値さえ分かれば十分である。そして、この平均値は、ノード101の総数Kと、これらのノード101から収集したデータxの総和さえ分かれば算出可能である。
【0028】
このような観点から改良された、第2の関連技術によるセンサネットワークシステム1000が知られている。この第2の関連技術は、Over-the-Air Computation Systems(以降、「AirComp」と略す)と呼ばれている。
【0029】
AirCompによる第2の関連技術によるセンサネットワークシステム1000は、
図1に示した第1の関連技術によるセンサネットワークシステム1000の構成例と同様に、複数のノード101と単独のシンク102を備える。
【0030】
図3は、第2の関連技術によるセンサネットワークシステム1000の一動作例を示す図である。第1のデータx
1は、第1のノード101-1によって第1の送信電力b
1で生成された第1のアナログ信号としてシンク102に送信される。このとき、第1のデータx
1を表す第1のアナログ信号の電力を、b
1x
1と表すことができる。第1のノード101-1が電力b
1x
1を有する第1のアナログ信号を出力する動作を、
図3では仮想的な積算器M101の動作として示している。
【0031】
電力b
1x
1を有する第1のアナログ信号の振幅は、自由空間を伝播してシンク102によって受信されるまでに、第1のチャネル係数h
1の振幅成分で減衰する。シンク102が受信する第1のアナログ信号の電力は、h
1b
1x
1で表すことができる。自由空間が第1のアナログ信号を第1のノード101-1からシンク102まで伝播させる動作を、
図3では仮想的な積算器M102の動作として示している。なお、チャネル係数h
1は、振幅に係る成分と位相に係る成分を含む複素数として表される。このうち、振幅に係る成分は、チャネル係数h1の絶対値を二乗することによって算出することができ、チャネルゲインg
1と呼ばれる。チャネルゲインg
1は、正の実数として表される。
【0032】
同様に、第2のデータx2は、仮想的な積算器M201の動作として示すように、第2のノード101-2によって第2の送信電力b2で生成された、電力b2x2を有する第2のアナログ信号としてシンク102に送信される。仮想的な積算器M202の動作として示すように、第2のアナログ信号の振幅は第2のチャネル係数h2の振幅成分で減衰し、電力h2b2x2を有する第2のアナログ信号としてシンク102によって受信される。同様に、第KのデータxKは、仮想的な積算器M301の動作として示すように、第Kのノード101-Kによって第Kの送信電力bKで生成された、電力bKxKを有する第Kのアナログ信号として送信される。仮想的な積算器M302の動作として示すように、第Kのアナログ信号の振幅は第Kのチャネル係数hKの振幅成分で減衰し、電力hKbKxKを有する第Kのアナログ信号としてシンク102によって受信される。このように、全てのデータxは、それぞれ、全てのノード101によってアナログ信号としてシンク102に送信され、自由空間を伝播し、シンク102によって受信される。
【0033】
図4は、第2の関連技術によるセンサネットワークシステム1000の一動作例を示す図である。
図4の横軸は時間である。まず、時刻t
201から時刻t
202までの期間に、処理P201として、シンク102が全てのノード101に向けたビーコンを送信する。次に、時刻t
203から時刻t
204までの期間に、処理P202として、ビーコンに応じてノード101がシンク102に向けてデータxを送信し、シンク102がデータxを受信し、受信したデータxを処理する。
【0034】
処理P202において、電力b
1x
1、b
2x
2、…、b
Kx
Kをそれぞれ有する全てのアナログ信号は、全てのノード101から同時に送信され、電力h
1b
1x
1、h
2b
2x
2、…、h
Kb
Kx
Kをそれぞれ有する全てのアナログ信号としてシンク102によって一度に受信される。このとき、シンク102では、全てのアナログ信号がそれぞれ有する電力h
1b
1x
1、h
2b
2x
2、…、h
Kb
Kx
Kの総和が得られる。
図3では、この総和を得る動作を、仮想的な加算器A100の動作として示している。
【0035】
なお、
図3では、ノード101からシンク102までの無線通信で発生するノイズを、加算器A100でアナログ信号の電力の総和に加算されるノイズnとして示している。
【0036】
また、
図4の処理P202において、シンク102は、受信したアナログ信号の電力の総和に対する所定の後処理を行う。後処理の一例として、シンク102は、受信したアナログ信号の電力の総和を、受信したアナログ信号の総数で割り算することによって、受信したアナログ信号の電力の平均値を求めてもよい。
図3では、シンク102による後処理を、仮想的な積算器M100による、受信したアナログ信号の電力の総和に係数aを積算する動作として示している。
【0037】
ここで、係数aがノード101の総数Kの逆数であれば、積算器M100は、電力h1b1x1、h2b2x2、…、hKbKxKの平均値を算出することができる。
【0038】
また、1からKまでの任意の整数kにおいて、送信電力bkとチャネル係数hkを掛け算した受信電力係数hkbkの振幅成分の全てが同じ定数αであり、かつ、係数aが、ノード101の総数Kに定数αを掛け算した積Kαの逆数(1/Kα)であれば、積算器M100は、全てのノード101が取得したデータx1~xKの平均値を算出することができる。
【0039】
図5は、第2の関連技術によるセンサネットワークシステム1000におけるチャネル係数h
k、送信電力b
kおよび受信電力係数h
kb
kの一例を示す図である。
図5において、横軸はノード101の番号を、それぞれのノード101が送信するデータx
kに対応させて示しており、縦軸は受信電力係数h
kb
kを対数で示している。ただし、厳密には、
図5では受信電力係数h
kb
kとしてその振幅成分を示している。それぞれのノード101-kにおける受信電力係数h
kb
kは、シンク102で受信されたアナログ信号の電力h
kb
kx
kを、データx
kを表すアナログ値で割り算した商であり、送信電力b
kとチャネル係数h
kを掛け算した積h
kb
kに等しい。
図5に含まれる複数の棒グラフのそれぞれにおいて、下側の黒い部分の長さはチャネル係数h
kの振幅成分の値、すなわちチャネルゲインg
kの値を示し、上側の白い部分の長さは送信電力b
kの値を示している。なお、
図5の横軸において、分かりやすさのために、ノード101の番号はチャネル係数h
kが小さい順番に左から右に配置されている。
【0040】
それぞれのノード101-kは、シンク102との間のチャネル係数hkと定数αに基づいて、送信電力bkを適宜に調整する。このようにすることで、それぞれのノード101-kにおいて、送信電力bkとチャネル係数hkを掛け算した積hkbkの振幅成分を定数αに等しくすることができる。
【0041】
しかし、ノード101の送信電力bkには、ノード101の物理的な性能などに起因する上限値がある。したがって、チャネル係数hkの振幅成分が所定の閾値を下回る場合には、ノード101-kが送信電力bkを最大送信電力に設定しても、送信電力bkとチャネル係数hkを掛け算した積hkbkの振幅成分が定数αより小さい場合が考えられる。
【0042】
図6は、第2の関連技術によるセンサネットワークシステム1000におけるチャネル係数h
k、送信電力b
kおよび受信電力係数h
kb
kの別の一例を示す図である。
図6の例では、第1のデータx
1を取得した第1のノード101-1から第5のデータx
5を取得した第5のノード101-5までの5つのノード101において、チャネル係数h
kの振幅成分が低すぎるため、送信電力b
kを最大送信電力に設定しても、送信電力b
kとチャネル係数h
kを掛け算した受信電力係数h
kb
kの振幅成分が定数αより小さい。そのため、受信電力係数h
kb
kの振幅成分から定数αまでに不足する部分が歪みとして、
図3で加算器A100の演算結果に発生する。言い換えれば、
図6に示す歪みが大きければ大きいほど、シンク102による処理P202の結果における精度が低くなる。
【0043】
歪みの発生を抑制する観点から第2の関連技術を改良した、第3の関連技術によるセンサネットワークシステム1000について説明する。第3の関連技術によるセンサネットワークシステム1000も、
図1の場合と同様に構成されている。ただし、第2の関連技術とは異なり、その応用がフェデレーテッドラーニング(Federated Learning)に限られる。すなわち、ノード101がシンク102に送信する情報は、それぞれのノード101が取得したデータxそのものではなく、それぞれのノード101が過去に取得した複数のデータxに基づいて将来的に取得されるデータxを予測するための機械学習によって得られたモデルである。それぞれのノード101は、データxを取得するたびに自身のモデルを更新し、シンク102からの要求に応じて最新のモデルをシンク102に送信する。シンク102は、複数のノード101から受信したモデルを平均化したモデルを、それぞれのノード101に送信する。
【0044】
ここで、シンク102は、必ずしも毎回、全てのノード101からモデルを受信しなくてもよい。つまり、全てのノード101のうち、ある時刻におけるチャネルゲインg
kが所望の閾値以上である一部のノード101だけが、シンク102にモデルを送信してもよい。つまり、ノード101とシンク102の位置が固定されていたとしても、その間の通信環境は時間によって動的に変化する。この変化には、例えば、チャネルフェージングなどの影響によるチャネル係数の動的な変化が含まれる。そこで、第3の関連技術によるセンサネットワークシステム1000では、ある時刻においてシンク102との間のチャネルゲインg
kが所定の閾値を上回っているノード101だけが、その時刻にシンク102にモデルを送信する。このようにすることで、
図6に示した歪みの発生を抑制することができる。
【0045】
しかし、全てのノード101が同時にデータxをシンク102に送信するとは限らないので、第2の関連技術にそのまま適用できない。
【0046】
チャネルフェージングの影響を抑制する観点から第1の関連技術を改良した第4の関連技術によるセンサネットワークシステム1000について、
図7を参照して説明する。
図7は、第4の関連技術によるセンサネットワークシステム1000の一動作例を示す図である。
図7は、第1のグラフG101、第2のグラフG102および第3のグラフG103を含んでいる。第1のグラフG101、第2のグラフG102および第3のグラフG103は、それぞれ、第1のノード101-1、第2のノード101-2および第3のノード101-3に対応している。
図7のそれぞれのグラフにおいて、横軸は時間を表しており、縦軸はチャネルゲインg
kを示している。それぞれのグラフにおいて、黒い棒グラフは、チャネルゲインg
kの、所定の閾値未満値を表している。また、白い棒グラフは、チャネルゲインg
kの、所定の閾値以上の値を表している。
【0047】
図7に示したように、第4の関連技術では、チャネルフェージングの影響を抑制するために、各ノード101がデータxをシンク102に送信するタイミングの制御を行う。ここで、基本的には、一度に1つのノード101だけが送信を行うように、全てのノード101を集中制御することが好ましい。しかし、多数のノード101を完全に制御することは困難であり、
図7の例に示したように、どのノード101もデータxを送信しない時刻t307が発生し得る。反対に、複数のノード101がデータxを同時に送信する時刻t308も発生し得る。
【0048】
(実施形態)
一実施形態によるセンサネットワークシステム100では、上述した第1の関連技術、第2の関連技術、第3の関連技術および第4の関連技術に鑑みて、データ収集の効率と精度を向上させる。
【0049】
効率の観点において、第1の関連技術では、1度のデータ収集期間にノード101の総数Kと同じ数のタイムスロットを必要としていた。その一方で、一実施形態では、1度のデータ収集期間にノード1の総数Kよりずっと少ない数のタイムスロットで全てのノードがシンクに送信する。
【0050】
また、精度の観点において、第2の関連技術では、それぞれのノード101にはシンク102にデータxを送信する機会が1度しか用意されないため、データxを送信した瞬間にチャネルゲインgkが低すぎたなどの理由により所望の通信条件が満たされていなければ、シンク102が受信するデータxの一部に歪みが発生し得る。その一方で、一実施形態では、それぞれのノードにはシンクにデータxを送信する機会が複数回用意されるため、あるタイムスロットで所望の通信条件が満たされていなければ、その後のタイムスロットで所望の通信条件が満たされたときにシンクへのデータ送信を行える可能性が発生する。その結果、シンクが受信するデータxの一部に歪みが発生する確率が抑制され、データ収集の精度が向上する。
【0051】
図8は、一実施形態によるセンサネットワークシステム100の一構成例を示す図である。センサネットワークシステム100は、
図1のセンサネットワークシステム1000と同様に、複数のノード1-1~1-Kとシンク2を備える。ここで、ノード1-1~1-Kの総数はKである。複数のノード1-1~1-Kを区別しないとき、これらをノード1-kまたはノード1と総称する。ここで、番号kは1からKまでの範囲に含まれる任意の整数である。
【0052】
複数のノード1は、所定の領域の複数の位置にそれぞれ配置されている。それぞれのノード1は、配置されている位置において、センサによって所定のデータxを取得する。それぞれのノード1は、取得したデータxをシンク2に向けて送信する。複数のノード1がデータxを取得するタイミングは、例えば、それぞれのノード1が内蔵する時計に基づいて制御されてもよいし、外部のシンク2などからノード1に送信される無線信号に基づいて制御されてもよい。複数のノード1がシンク2に向けてデータxを送信するタイミングは、後述するように、シンク2から送信されるビーコンに基づいて制御される。
【0053】
図9は、一実施形態によるノード1の一構成例を示す図である。ノード1は、バス10、演算装置12、メモリ装置13、外部記憶装置14およびセンシング装置15を備える。ノード1は、アンテナ112と、図示しない電源装置をさらに備える。演算装置12、メモリ装置13、外部記憶装置14およびセンシング装置15は、バス10を介して相互に接続されている。
【0054】
入出力装置11は、シンク2などの外部の装置との間でデータxの送受信を行う。演算装置12は、メモリ装置13に格納されているプログラムを実行して所定の処理を行う。メモリ装置13は、プログラムとデータを格納して演算装置12に提供する。外部記憶装置14は、非一過性(non-transitory)な記録媒体141に格納されているプログラムとデータを読み出してメモリ装置13に格納する。センシング装置15は、演算装置12の制御下でノード1が配置されている位置における所定のデータxを取得する。
【0055】
入出力装置11は、通信装置111を備える。通信装置111は、アンテナ112に接続されている。演算装置12は、ビーコン受信装置121、チャネルゲイン検知装置122および送信制御装置123を備える。
【0056】
通信装置111は、アンテナ112を介してシンク2などの外部の装置との間で無線通信を行う。ビーコン受信装置121は、演算装置12が所定のプログラムを実行することによって、シンク2から送信されたビーコンを受信する動作を行う仮想的な装置である。チャネルゲイン検知装置122は、演算装置12が所定のプログラムを実行することによって、ノード1とシンク2の間の無線通信におけるチャネル係数hkを検知してその振幅成分であるチャネルゲインgkを算出する動作を行う仮想的な装置である。送信制御装置123は、演算装置12が所定のプログラムを実行することによって、データxを示す信号をシンク2に送信するために通信装置111を制御する動作を行う仮想的な装置である。
【0057】
図10は、一実施形態によるシンク2の一構成例を示す図である。シンク2は、バス20、演算装置22、メモリ装置23および外部記憶装置24を備える。シンク2は、アンテナ212と、図示しない電源装置をさらに備える。演算装置22、メモリ装置23および外部記憶装置24は、バス20を介して相互に接続されている。
【0058】
入出力装置21は、ノード1などの外部の装置との間でデータxの送受信を行う。演算装置22は、メモリ装置23に格納されているプログラムを実行して所定の処理を行う。メモリ装置23は、プログラムとデータを格納して演算装置22に提供する。外部記憶装置24は、非一過性で有形の記録媒体(non-transitory and tangible recording medium)241に格納されているプログラムとデータを読み出してメモリ装置23に格納する。
【0059】
入出力装置21は、通信装置211を備える。通信装置211は、アンテナ212に接続されている。演算装置22は、パラメータ算出装置221、ビーコン生成装置222、送信制御装置223、受信制御装置224および後処理装置225を備える。
【0060】
通信装置211は、アンテナ212を介してノード1などの外部の装置との間で無線通信を行う。パラメータ算出装置221は、演算装置22が所定のプログラムを実行することによって、所定のパラメータを算出する動作を行う仮想的な装置である。ビーコン生成装置222は、演算装置22が所定のプログラムを実行することによって、ビーコンを生成する動作を行う仮想的な装置である。送信制御装置223は、演算装置22が所定のプログラムを実行することによって、ビーコンをノード1に送信するために通信装置211を制御する動作を行う仮想的な装置である。受信制御装置224は、演算装置22が所定のプログラムを実行することによって、ノード1から送信される信号を受信するために通信装置211を制御する動作を行う仮想的な装置である。後処理装置225は、演算装置22が所定のプログラムを実行することによって、ノード1から受信した信号をまとめる処理の動作を行う仮想的な装置である。
【0061】
図11は、一実施形態によるシンク2の一動作例を示すフローチャートである。
図12Aと
図12Bは、それぞれ、一実施形態によるノード1の一動作例を示すフローチャートの一部である。
図11、
図12Aおよび
図12Bを参照して、一実施形態によるセンサネットワークシステム100の動作の一例を説明する。
【0062】
図11のステップS101において、シンク2が動作を開始する。ステップS102において、シンク2のパラメータ算出装置221がパラメータを算出する。算出されるパラメータは、1度のデータ収集期間に含まれるタイムスロットの総数Nと、チャネルゲインの閾値g
thと、信号振幅の目標値αとを含む。ここで、総数Nは、1度のデータ収集期間に含まれるタイムスロットに付与される番号の最大値Nでもある。
【0063】
一例として、パラメータ算出装置221は、まず、タイムスロットの総数Nを決定する。タイムスロットの総数Nは、例えば、ノード1の総数Kより十分に小さい整数の中から選択されてもよい。パラメータ算出装置221は、次に、タイムスロットの総数Nに基づいて、チャネルゲインの閾値gthを算出する。パラメータ算出装置221は、次に、タイムスロットの総数Nおよびチャネルゲインの閾値gthに基づいて、信号振幅の目標値αを算出する。
【0064】
ステップS103において、シンク2は、タイムスロットのスロット番号を初期化する。一例として、スロット番号はゼロに設定される。ステップS104において、シンク2の演算装置22がスロット番号をインクリメントする。ステップS105において、シンク2のビーコン生成装置222が、タイムスロットの総数Nと、チャネルゲインの閾値gthと、信号振幅の目標値αとに基づいて、ビーコンを生成する。ビーコンは、タイムスロットの総数Nと、チャネルゲインの閾値gthと、信号振幅の目標値αをそれぞれ表す情報を含むように生成される。ビーコンは、現在のスロット番号を表す情報をさらに含むように生成されてもよい。ステップS106において、シンク2の送信制御装置223は、通信装置211を制御して、ノード1に向けてビーコンを送信する。
【0065】
その一方で、
図12AのステップS201において、それぞれのノード1が動作を開始する。次いで、ステップS202において、それぞれのノード1のセンシング装置15が演算装置12の制御下でデータx
kを取得する。取得されたデータx
kは、ノード1のメモリ装置13に格納される。ステップS203において、ビーコン受信装置121がシンク2からビーコンを受信したかどうかを演算装置12が判定する。ここで、ビーコンが受信されていない場合(No)は、ステップS203が再度実行される。言い換えれば、ビーコンが受信されるまで、ステップS203が繰り返される。反対に、ビーコンが受信されている場合(Yes)は、ステップS204が実行される。
【0066】
ステップS204において、ビーコン受信装置121は、受信したビーコンからパラメータを取得する。ここで取得されるパラメータには、1度のデータ収集期間に含まれるタイムスロットの総数Nと、チャネルゲインの閾値g
thと、信号振幅の目標値αとが含まれる。ステップS205において、ビーコン受信装置121は、今回受信したビーコンが、今回のデータ収集期間に受信した最初のビーコンであるかどうかを判定する。この判定は、例えば、ビーコンに含まれる情報に基づいて行われてもよい。この場合は、シンク2のビーコン生成装置222が、最初のビーコンであるかどうかを表す情報を含むようにビーコンを生成する。今回受信したビーコンが最初のビーコンである場合(Yes)は、ステップS206においてスロット番号と送信済みフラグを初期化した後、
図12BのステップS207を実行する。ここで、初期化されたスロット番号は、例えばゼロに設定される。また、初期化された送信済みフラグは「未送信」に設定される。反対に、最初のビーコンでない場合(No)は、ステップS206を実行せずにステップS207を実行する。
【0067】
図12BのステップS207において、ノード1の演算装置12がスロット番号をインクリメントする。ステップS208において、チャネルゲイン検知装置122が、受信したビーコンの電力に基づいて、シンク2とノード1の間の無線通信におけるチャネル係数h
kを検知してチャネルゲインg
kを算出する。例えば、シンク2が送信するビーコンの送信電力を表す情報が予めノード1のメモリ装置13に格納されていて、この送信電力と、実際に受信したビーコンの電力とに基づいて、シンク2とノード1の間の無線通信におけるチャネル係数h
kを算出し、このチャネル係数h
kから減衰に係る振幅成分であるチャネルゲインg
kを算出することによって、チャネルゲインg
kの検知を行ってもよい。
【0068】
ステップS209において、ノード1の送信制御装置123が、データxをシンク2に送信する通信条件が満たされているかどうかを判定する。具体的には、現在の送信済みフラグが「未送信」であるという第1の条件を満たし、かつ、検知したチャネルゲインgkが閾値gth以上であり、または、スロット番号が最大値Nであるという第2の条件を満たせば、通信条件が満たされていると判定される。
【0069】
言い換えれば、現在の送信済みフラグが「送信済」であれば、通信条件は満たされていないと判定される。この判定によって、1つのノード1が、1度のデータ収集期間の間に、シンク2へのデータxの送信を、1度だけ行うための制御を実現することができる。
【0070】
また、たとえ現在の送信済みフラグが「未送信」であっても、検知したチャネルゲインgkが閾値gth未満であり、かつ、スロット番号が最大値N未満であれば、通信条件は満たされていないと判定される。この判定によって、今回のタイムスロットでチャネルゲインgkが閾値gthに達していなければ、シンク2へのデータxの送信を次回以降のタイムスロットに持ち越す制御と、今回のタイムスロットが今回のデータ収集期間の最後のタイムスロットである場合にはたとえチャネルゲインgkが閾値gthに達していなくても今回のタイムスロットでシンク2へのデータxの送信を強行する制御とを実現することができる。
【0071】
さらに言い換えれば、ノード1が、データ収集期間の中で一度だけ、所定の通信条件を満たしたタイムスロットでデータxをシンク2に送信する、という前提条件の下では、この所定の通信条件は、チャネルゲインgkがチャネルゲインの閾値gth以上であれば満たされ、タイムスロットがデータ収集期間の最後のタイムスロットであれば満たされる。
【0072】
通信条件が満たされていると判定された場合(Yes)は、ステップS210とステップS211が実行され、その後ステップS212が実行される。反対に、通信条件が満たされていないと判定された場合(No)は、ステップS210とステップS211は実行されずに、ステップS212が実行される。
【0073】
ステップS210において、ノード1の演算装置12が、信号振幅の目標値αとチャネル係数hkに基づいて送信電力bkを算出する。具体的には、信号振幅の目標値αを、チャネル係数hkで割り算した商を算出して送信電力bkとする。ステップS211において、送信制御装置123が、シンク2にデータxを送信し、送信済フラグを立てて「送信済」に設定する。ここで、送信されるデータxkは、電力bkxkを有するアナログ信号としてシンク2に送信される。
【0074】
ステップS212において、ノード1の演算装置12が、現在のスロット番号が最大値Nであるかどうかを判定する。現在のスロット番号が最大値Nである場合(Yes)は、ステップS213を実行した後にステップS202を再度実行する。現在のスロット番号が最大値Nではない場合(No)は、ステップS213を実行せずにステップS203を再度実行する。
【0075】
このように、ノード1は、シンク2が送信したビーコンに応じて、データx
kを表すアナログ信号を生成してシンク2に送信する。シンク2の受信制御装置224は、
図11のステップS107において通信装置211を制御することによって、このアナログ信号としてデータx
kを受信する。
【0076】
ここで、同じタイムスロットのビーコンに応じてアナログ信号をシンク2に送信するノード1は、複数存在する場合がある。この場合、シンク2の受信制御装置224は、複数のアナログ信号として複数のデータx
kを受信する。この動作を、
図13を参照して説明する。
【0077】
図13は、一実施形態によるセンサネットワークシステム100の一動作例を示す図である。第1のデータx
1は、ステップS211において、第1のノード1-1の送信制御装置123が第1の送信電力b
1で生成した第1のアナログ信号として、シンク2に送信される。このとき、第1のデータx
1を表す第1のアナログ信号の電力を、b
1x
1と表すことができる。第1のノード1-1が電力b
1x
1を有する第1のアナログ信号を出力する動作を、
図13では仮想的な積算器M11の動作として示している。
【0078】
電力b
1x
1を有する第1のアナログ信号の電力は、シンク2に到達して受信されるまでに、第1のチャネル係数h
1で減衰する。シンク2が受信する第1のアナログ信号の電力は、h
1b
1x
1で表すことができる。自由空間が第1のアナログ信号を第1のノード1-1からシンク2まで伝播させる動作を、
図13では仮想的な積算器M12の動作として示している。
【0079】
上記の積算器M11と積算器M12の動作として説明した第1のノード1-1の動作が行われたタイムスロットと同じタイムスロットに、別のノード1が同様に動作する場合がある。この場合、例えば、第iのデータxiは、第iのノード1-iの送信制御装置123によって第iの送信電力biで生成された、電力bixiを有する第iのアナログ信号としてシンク2に送信される。また、第iのアナログ信号は第iのチャネル係数hiで減衰し、電力hibixiを有する第iのアナログ信号としてシンク2に到達して受信される。
【0080】
このとき、第1のノード1-1と第iのノード1-iが送信した2つのアナログ信号を、シンク2はマルチアクセスチャネルで同時に受信する。ここで、シンク2は、これら2つのアナログ信号の電力h
1b
1x
1と電力h
ib
ix
iの総和である電力を有する1つのアナログ信号として受信してもよい。この総和を取得する動作を、
図13では仮想的な加算器A1の動作として示している。
図13では、第1のノード1-1と第iのノード1-iからシンク2までの無線通信で発生するノイズを、加算器A1でアナログ信号の電力の総和に加算されるノイズn
1として示している。
【0081】
なお、ここでは1つのタイムスロットで2つのノード1がアナログ信号をシンク2に送信した場合について説明したが、これはあくまでも一例にすぎず、ノード1の数は2より少なくてもよいし、2より多くてもよい。他のタイムスロットで別のノード1がアナログ信号をシンク2に送信する動作については、後述する。
【0082】
シンク2の受信制御装置224がノード1からデータxを受信した後、
図11のステップS108において、シンク2の演算装置22は現在のスロット番号が最大値N未満であるかどうかを判定する。
【0083】
ステップS108において現在のスロット番号が最大値N未満である場合(Yes)は、シンク2はステップS104~ステップS107を再度実行する。このとき、ノード1は
図12AのステップS203~
図12BのステップS211を再度実行する。その結果、前回と同じタイムスロットにおいて通信条件が満たされずにデータxをシンク2に送信しなかったノード1のうち、今回のタイムスロットにおいて通信条件が満たされたノード1は、データxをシンク2に送信する。
【0084】
ここでは、
図13を再度参照して、別のタイムスロットにおける仮想的な積算器M31による送信処理と、仮想的な積算器M32と仮想的な加算器A2による受信処理について説明する。すなわち、
図13の例では、過去のタイムスロットにおける第1のノード1-1と第iのノード1-iの場合と同様に、今回のタイムスロットにおいては第jのノード1-jと第Kのノード1-Kが、通信条件が満たされてデータxをシンク2に送信しており、また、シンク2はこれらのデータxを同時に受信している。今回のタイムスロットにおいても2つのノード1がアナログ信号をシンク2に送信した場合について説明したが、これはあくまでも一例にすぎず、ノード1の数は2より少なくてもよいし、2より多くてもよい。
【0085】
さらに、
図13を再度参照して、さらに別のタイムスロットにおける仮想的な積算器M21による送信処理と、仮想的な積算器M22と仮想的な加算器A3による受信処理についても説明する。すなわち、
図13の例では、過去のタイムスロットにおける第1のノード1-1と第iのノード1-iの場合と同様に、また、前述した別のタイムスロットにおける第jのノード1-jと第Kのノード1-Kの場合と同様に、今回のタイムスロットにおいては第kのノード1-kと第K-1のノード1-(K-1)が、通信条件が満たされてデータxをシンク2に送信しており、また、シンク2はこれらのデータxを同時に受信している。今回のタイムスロットにおいても2つのノード1がアナログ信号をシンク2に送信した場合について説明したが、これはあくまでも一例にすぎず、ノード1の数は2より少なくてもよいし、2より多くてもよい。
【0086】
図11のステップS108において現在のスロット番号が最大値N未満ではない場合(No)は、ステップS109とステップS110を実行し、ステップS102とステップS103を再度実行し、その後、ステップS104を再度実行する。
【0087】
ステップS109において、今回のデータ収集期間に含まれる全てのタイムスロットは終了しているので、シンク2の後処理装置225が、収集されたデータxをまとめる後処理を行う。ここでは、一例として、この後処理によって、ノード1から収集したデータxの平均値を求める場合について、
図13を参照して説明する。
【0088】
タイムスロットごとに受信されたデータxは、それぞれのタイムスロットで受信されたデータxの総和としてメモリ装置23に格納されている。
図13の例では、仮想的な加算器A1の出力値はh
1b
1x
1+h
ib
ix
iである。ここで、前述したように、送信電力b
1、b
iと、チャネル係数h
1、h
iは、h
1b
1の振幅成分=h
ib
iの振幅成分=信号振幅の目標値αの関係を満たしている。したがって、仮想的な加算器A1の出力値はα(x
1+x
i)に等しい。
【0089】
後処理装置225は、この出力値に係数aを掛け算する。この係数aは、1/(Kα)に等しく設定されている。
図13では、後処理装置225によるこの掛け算は、仮想的な積算器M13による後処理として示されている。仮想的な積算器M13の出力値r
1は、(x
1+x
i)/Kに等しい。
【0090】
後処理装置225は、全てのタイムスロットで受信されたデータxの総和について同様の後処理を行う。その結果、
図13の例では、仮想的な積算器M23の出力値r
2として(x
j+x
K)/Kが得られ、仮想的な積算器M33の出力値r
Nとして(x
k+x
K-1)/Kが得られる。
【0091】
さらに、後処理装置225は、これらの出力値r
1、r
2、…、r
Nの総和rを算出する。その結果、総和rとして(1/K)Σxが得られる。この値は、K個のノード1から収集されたデータxの平均値である。
図13の例では、この総和を算出する処理は、仮想的な加算器A0による後処理として示されている。
【0092】
なお、
図13に示した構成の変形例として、後処理において仮想的な加算器A0の前段に接続されている3つの仮想的な積算器M13、M23、M33の代わりに、仮想的な加算器A0の後段に別の1つの仮想的な積算器を配置してもよい。言い換えれば、3つの仮想的な加算器A1、A2、A3の出力の総和を先に得て、その後、この総和に係数aを掛け算しても、データxの平均値が得られる。さらに別の変形例として、上記の変形例の構成から別の仮想的な積算器を取り除いてもよい。この場合は、データxの平均値の代わりに、データxの総和が得られる。
【0093】
ステップS110において、今回のデータ収集期間で行われる全ての処理は終了しているので、シンク2は次のデータ収集期間に移行してステップS102を再度実行する。
【0094】
以上に説明した一実施形態によるセンサネットワークシステム100の動作の全体像について、
図14を参照して説明する。
【0095】
図14は、一実施形態によるセンサネットワークシステム100の一動作例を示す図である。
図14の横軸は時間を示しており、時刻t
01から時刻t
04までの期間は1つのデータ収集期間に対応する。時刻t
01から時刻t
04までの期間は第1のタイムスロットである。第1のタイムスロットのうち、時刻t
01から時刻t
02までの期間においてシンク2がノード1に向けてビーコンを送信する処理P1が実行される。次いで、第1のタイムスロットのうち、時刻t
03から時刻t
04までの期間において、通信条件が満たされたノード1が処理P1のビーコンに応じて
図13の出力値r
1を得るためのデータxをシンク2に送信する処理P2が実行される。
【0096】
同様に、時刻t
05から時刻t
08までの期間は第2のタイムスロットである。時刻t
05から時刻t
06までの期間にシンク2がノード1に向けてビーコンを送信する処理P3が実行される。時刻t
07から時刻t
08までの期間において、第1のタイムスロットでデータxをシンク2に送信しておらず、かつ、通信条件が満たされたノード1が、処理P3のビーコンに応じて
図13の出力値r
2を得るためのデータxをシンク2に送信する処理P4が実行される。
【0097】
さらに同様に、時刻t
09から時刻t
12までの期間は第Nのタイムスロットである。時刻t
09から時刻t
10までの期間にシンク2がノード1に向けてビーコンを送信する処理P5が実行される。時刻t
11から時刻t
12までの期間において、これまでのタイムスロットでシンク2にデータxを送信していない全てのノード1が、処理P5のビーコンに応じて
図13の出力値r
Nを得るためのデータxをシンク2に送信する処理P6が実行される。なお、処理P6において、
図11のステップS109で行われる後処理がさらに実行されてもよい。
【0098】
このように、一実施形態によるセンサネットワークシステム100では、1つのデータ収集期間を複数のタイムスロットに分けて、それぞれのタイムスロットで複数のノード1が、シンク2から送信される同一のビーコンに応じて、同時にデータxをシンク2に送信する。そのため、第1の関連技術の場合とは異なり、1つのデータ収集期間に含まれる複数のタイムスロットの総数を、ノード1の総数Kよりずっと少なく設定することが可能である。
【0099】
一実施形態によるセンサネットワークシステム100では、シンク2がノード1から収集するデータxの精度が向上することを、
図15を参照して説明する。
図15は、一実施形態によるセンサネットワークシステム100におけるチャネル係数h
k、送信電力b
kおよび受信電力係数h
kb
kの一例を示す図である。
図5と
図6の場合と同様に、
図15において、横軸はノード1の番号を、それぞれのノード1が送信するデータx
kに対応させて示しており、縦軸は受信電力係数h
kb
kの振幅成分を対数で示している。
【0100】
ただし、
図15におけるノード1の番号は、
図13におけるノード1の番号とは無関係に、1度目のタイムスロットにおけるチャネル係数h
kの振幅成分が小さい順番で左から右に配置されている。ここで、第1のノード1-1から第kのノード1-kまでは、破線で示した棒グラフの長さが1度目のタイムスロットにおけるチャネル係数h
kの振幅成分を表している。また、全てのノード1において、黒い棒グラフの長さが、それぞれのノード1がシンク2にデータxを送信したタイムスロットにおけるチャネル係数h
kの振幅成分の値を表している。さらに、全てのノード1において、白い棒グラフの長さが、それぞれのノード1がシンク2にデータxを送信したタイムスロットにおける送信電力b
kの値を表している。
【0101】
一実施形態によるセンサネットワークシステム100では、ノード1のそれぞれにおいて、データxをシンク2に送信する機会が、1度のデータ収集期間に複数回、タイムスロットの総数Nと同じ数だけ用意される。したがって、1つのノード1の通信条件がいずれかのタイムスロットにおいて満たされる可能性が、第2の関連技術の場合よりも多い。このことを、
図15では、全てのノード1のうちで第4のノード1-4だけが、全てのタイムスロットでチャネル係数h
4に対応するチャネルゲインg
4が閾値g
thに達することなく、最後の第Nタイムスロットにおいて最大送信電力を用いてデータxをシンク2に送信したことをして示している。その結果、一実施形態によるセンサネットワークシステム100では、第2の関連技術の場合よりも、シンク2がノード1から収集したデータxの歪みが少なくなる可能性が高く、したがってデータxの精度が向上する。
【0102】
図16を参照して、一実施形態によるセンサネットワークシステム100と、一実施形態によるセンサネットワークシステム100の変形例と、第2の関連技術によるセンサネットワークシステム1000との間における、ノード1、101の送信電力の累積分布関数の比較について説明する。
【0103】
図16は、一実施形態によるセンサネットワークシステム100と、関連技術によるセンサネットワークシステム1000の間で送信電力の累積分布関数を比較するグラフである。
図16は、第2の関連技術によるセンサネットワークシステム1000に対応する第1のグラフG11と、一実施形態によるセンサネットワークシステム100に対応する第2のグラフG12と、一実施形態によるセンサネットワークシステム100の変形例に対応する第3のグラフG13とを含んでいる。
図16において、横軸は送信電力を表し、縦軸は累積分布関数を表している。
【0104】
第1のグラフG11、第2のグラフG12および第3のグラフG13は、コンピュータシミュレーションの結果を示している。第1のグラフG11と、第2のグラフG12と、第3のグラフG13とを比較すると、送信電力はほぼ同じである。
【0105】
図17を参照して、一実施形態によるセンサネットワークシステム100と、第2の関連技術によるセンサネットワークシステム1000との間における、受信電力と目標電力の平均二乗誤差の累積分布関数の比較について説明する。
【0106】
図17は、一実施形態によるセンサネットワークシステム100と関連技術によるセンサネットワークシステム1000の間で受信電力と目標電力の平均二乗誤差の累積分布関数を比較するグラフである。
図17は、関連技術によるセンサネットワークシステム1000に対応する第1のグラフG21と、一実施形態によるセンサネットワークシステム100に対応する第2のグラフG22とを含んでいる。
図17において、横軸は受信電力と目標電力の平均二乗誤差を表し、縦軸は累積分布関数を表している。ここで、受信電力はシンク2、102が受信するアナログ信号の電力を表し、チャネルゲインg
kが閾値g
thを下回った場合に発生する歪みを含む可能性がある。その一方で、目標電力は、チャネルゲインg
kが閾値g
thを上回った場合にシンク2、102が受信するアナログ信号の電力を表し、歪みを含まない。
【0107】
第1のグラフG21と第2のグラフG22は、コンピュータシミュレーションの結果を示している。第1のグラフG21と第2のグラフG22を比較すると、一実施形態によるセンサネットワークシステム100では、第2の関連技術によるセンサネットワークシステム1000よりも、受信電力と目標電力の平均二乗誤差が少なく、すなわちシンク2が受信するアナログ信号の歪みを有効に削減できている。
【0108】
このように、一実施形態によるセンサネットワークシステム100では、シンク2が受信するデータxの精度を向上させても、ノード1が消費する電力はほぼ変わらない。
【0109】
以上、発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。また、前記実施の形態に説明したそれぞれの特徴は、技術的に矛盾しない範囲で自由に組み合わせることが可能である。
【符号の説明】
【0110】
100、1000 センサネットワークシステム
1、1-k、1-1~1-K、101、101-k、101-1~101-K ノード
10 バス
11 入出力装置
111 通信装置
112 アンテナ
12 演算装置
121 ビーコン受信装置
122 チャネルゲイン検知装置
123 送信制御装置
13 メモリ装置
14 外部記憶装置
141 記録媒体
15 センシング装置
2、102 シンク
20 バス
21 入出力装置
211 通信装置
212 アンテナ
22 演算装置
221 パラメータ算出装置
222 ビーコン生成装置
223 送信制御装置
224 受信制御装置
225 後処理装置
23 メモリ装置
24 外部記憶装置
241 記録媒体
A0、A1、A2、A3、A100 加算器
P1~P6、P100、P101、P102、P10K、P201、P202 処理
M100、M101、M102、M201、M202、M301、M302 積算器
M11、M12、M13、M21、M22、M23、M31、M32、M33 積算器