(57)【要約】【課題】エラー伝搬が生ぜず、高速符号・復号化が可能で、小規模ハードウェア資源により低消費電力で実現可能な無線センサ・ネットワーク・システムの通信技術を提供する。【解決手段】一乃至複数のセンサ・ノード２とネットワーク・ノード１との２種のノードを有する無線センサ・ネットワーク・システムにおいて各ノードに使用される通信モジュールにおいて、送受信制御部は、送受信データ・ブロックをフロント・データとテイル・データの２つのデータ・ブロックにブロック分割し出力するデータ・ブロック分割手段３２、及びデータ・ブロック分割手段３２が出力する各データ・ブロックの先頭に、そのデータ・ブロックがフロント・データであるかテイル・データであるかを識別するためのコントロール・コードを付加するコントロール・コード付加手段３４を備えた構成とした。【選択図】        図３
2005159532.tif 000002
【特許請求の範囲】
【請求項１】
センサに接続されたセンサ・インタフェース、送受信制御部、及び無線送受信部を備えた一乃至複数のセンサ・ノードと、
前記センサ・ノードとの間で無線通信を行う無線送受信部、送受信制御部、及び外部ネットワークとのデータの授受を行うネットワーク・インタフェース部を備えた一乃至複数個のネットワーク・ノードと、
の２種のノードを有する無線センサ・ネットワーク・システムにおいて各ノードに使用される通信モジュールであって、
前記送受信制御部は、
送受信データ・ブロックを、フロント・データとテイル・データの２つのデータ・ブロックにブロック分割し出力するデータ・ブロック分割手段と、
前記データ・ブロック分割手段が出力する各データ・ブロックの先頭に、そのデータ・ブロックがフロント・データであるかテイル・データであるかを識別するためのコントロール・コードを付加するコントロール・コード付加手段と、
を備えていることを特徴とする通信モジュール。
【請求項２】
前記送受信制御部は、
他のノードから送信されたフロント・データ又はテイル・データのデータ・ブロックを前記無線送受信部が受信した場合、当該データ・ブロックに付加されたコントロール・コードを検出するコントロール・コード検出手段と、
前記無線送受信部により受信されたデータ・ブロックＢ１に対して前記コントロール・コード検出手段により検出されたコントロール・コードＣ１と、そのデータ・ブロックＢ１の直前に前記無線送受信部により受信されたデータ・ブロックＢ０のコントロール・コードＣ０とを比較し、コントロール・コードＣ０がフロント・データを特定するコードである場合においてコントロール・コードＣ１がテイル・データを特定するコード以外のコードである場合、データ・ブロックＢ０を削除し、コントロール・コードＣ０がテイル・データを特定するコードである場合においてコントロール・コードＣ１がフロント・データを特定するコード以外のコードである場合、データ・ブロックＢ１の直後に受信されるデータ・ブロックＢ２を削除するデータ処理を行うエラー・ブロック削除手段と、
を備えていることを特徴とする請求項１記載の通信モジュール。
【請求項３】
前記送受信制御部は、
前記データ・ブロック分割手段が出力するフロント・データ及びテイル・データの２つのデータ・ブロックのそれぞれを直流平衡変調符号に符号化するデータ・ブロック符号化手段を備え、
前記コントロール・コード付加手段は、前記データ・ブロック符号化手段により符号化された前記各データ・ブロックの先頭に、そのデータ・ブロックがフロント・データであるかテイル・データであるかを識別するためのコントロール・コードを付加することを特徴とする請求項１又は２記載の通信モジュール。
【請求項４】
前記データ・ブロック分割手段は、前記センサ・インタフェース又は前記無線送受信部から出力される８ビットの送受信データ・ブロックを、４ビットのフロント・データと４ビットのテイル・データの２つのデータ・ブロックにブロック分割し出力するものであり、
前記データ・ブロック符号化手段は、４ビットの各データ・ブロックを６ビットの直流変調符号に符号化することを特徴とする請求項３記載の通信モジュール。
【請求項５】
前記送受信制御部は、
入力されるデータ・ブロックの符号系列とそれに対する直流平衡変調符号との対応関係を表すルックアップ・テーブルが格納された符号化テーブルを備え、
前記データ・ブロック符号化手段は、前記データ・ブロック分割手段が出力するフロント・データ及びテイル・データの２つのデータ・ブロックのそれぞれを、前記符号化テーブルを参照することによって直流平衡変調符号に符号化すること
を特徴とする請求項３又は４記載の通信モジュール。
【請求項６】
前記送受信制御部は、
前記直流平衡変調符号において使用可能なすべての符号系列を、所定の順序でパイロット信号として前記無線送受信部から送信するパイロット信号送信手段と、
前記無線送受信部が他のノードから送信されたパイロット信号を受信した場合において、受信された各直流平衡変調符号のそれぞれについて誤り発生率又は誤り発生数を検出するパイロット信号検査手段と、
前記各直流平衡変調符号のうち、前記パイロット信号検査手段により検出される誤り発生率が低いもの又は誤り発生数が少ないものから順に、必要な個数だけ直流平衡変調符号を選択して前記符号化テーブルに登録する符号選択手段と、
を備えていることを特徴とする請求項５記載の通信モジュール。
【請求項７】
センサに接続されたセンサ・インタフェース、データの送受信制御を行う送受信制御部、及び無線により他のノードとのデータの送受信を行う無線送受信部を備えた一乃至複数のセンサ・ノードと、
前記センサ・ノードとの間で無線通信を行う無線送受信部、データの送受信制御を行う送受信制御部、及び外部ネットワークとのデータの授受を行うネットワーク・インタフェース部を備えた一乃至複数個のネットワーク・ノードと、
の２種のノードを有する無線センサ・ネットワーク・システムにおいて、各ノード間でデータの通信を行うための通信方法であって、
送受信データ・ブロックを、フロント・データとテイル・データの２つのデータ・ブロックにブロック分割するデータ・ブロック分割手順と、
前記データ・ブロック分割手順において生成された各データ・ブロックの先頭に、そのデータ・ブロックがフロント・データであるかテイル・データであるかを識別するためのコントロール・コードを付加するコントロール・コード付加手順と、
を有していることを特徴とする通信方法。
【請求項８】
他のノードから送信されたフロント・データ又はテイル・データのデータ・ブロックを前記無線送受信部が受信した場合、当該データ・ブロックに付加されたコントロール・コードを検出するコントロール・コード検出手順と、
前記無線送受信部により受信されたデータ・ブロックＢ１に対して前記コントロール・コード検出手順で検出されたコントロール・コードＣ１と、そのデータ・ブロックＢ１の直前に前記無線送受信部により受信されたデータ・ブロックＢ０のコントロール・コードＣ０とを比較し、コントロール・コードＣ０がフロント・データを特定するコードである場合においてコントロール・コードＣ１がテイル・データを特定するコード以外のコードである場合、データ・ブロックＢ０を削除し、コントロール・コードＣ０がテイル・データを特定するコードである場合においてコントロール・コードＣ１がフロント・データを特定するコード以外のコードである場合、データ・ブロックＢ１の直後に受信されるデータ・ブロックＢ２を削除するデータ処理を行うエラー・ブロック削除手順と、
を有することを特徴とする請求項７記載の通信方法。
【請求項９】
前記データ・ブロック分割手順で生成されたフロント・データ及びテイル・データの２つのデータ・ブロックのそれぞれを直流平衡変調符号に符号化するデータ・ブロック符号化手順を有し、
前記コントロール・コード付加手順では、前記データ・ブロック符号化手順で符号化された前記各データ・ブロックの先頭に、そのデータブロックがフロント・データであるかテイル・データであるかを識別するためのコントロール・コードを付加する処理を行うことを特徴とする請求項７又は８記載の通信方法。
【請求項１０】
前記データ・ブロック分割手順では、前記センサ・インタフェース又は前記無線送受信部から出力される８ビットの送受信データ・ブロックを、４ビットのフロント・データと４ビットのテイル・データの２つのデータ・ブロックにブロック分割し、
前記データ・ブロック符号化手順では、４ビットの各データ・ブロックを６ビットの直流変調符号に符号化することを特徴とする請求項９記載の通信方法。
【請求項１１】
前記送受信制御部は、入力されるデータ・ブロックの符号系列とそれに対する直流平衡変調符号との対応関係を表すルックアップ・テーブルが格納された符号化テーブルを備えており、
前記データ・ブロック符号化手順では、前記データ・ブロック分割手順で生成されたフロント・データ及びテイル・データの２つのデータ・ブロックのそれぞれを、前記符号化テーブルを参照することによって直流平衡変調符号に符号化すること
を特徴とする請求項９又は１０記載の通信方法。
【請求項１２】
各ノード間でデータの通信を開始するに先立ち、前記直流平衡変調符号において使用可能なすべての符号系列を、所定の順序でパイロット信号として前記無線送受信部から送信するパイロット信号送信手順と、
前記無線送受信部が他のノードから送信されたパイロット信号を受信した場合において、受信された各直流平衡変調符号のそれぞれについて誤り発生率又は誤り発生数を検出するパイロット信号検査手順と、
前記各直流平衡変調符号のうち、前記パイロット信号検査手順で検出された誤り発生率が低いもの又は誤り発生数が少ないものから順に、必要な個数だけ直流平衡変調符号を選択して前記符号化テーブルに登録する符号選択手順と、
を有していることを特徴とする請求項１１記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサ・ノード（sensor node）及びネットワーク・ノード（network node）とを備えた無線センサ・ネットワーク・システムにおいて、各ノード間でのデータ通信を行うための通信技術に関する。
【背景技術】
【０００２】
近年、無線センサ・ネットワーク（wireless sensor network）の研究・開発が進展し、実用化のレベルに達しつつある（例えば、非特許文献１，２参照）。無線センサ・ネットワークとは、温度センサや光センサ等の各種のセンサを備えた小型のセンサ・ノードと、インターネット等の広域ネットワークのインタフェースであるネットワーク・ノードとが無線により結合されたネットワークをいう。
【０００３】
図１３は無線センサ・ネットワークの構成の一例を示す図である（非特許文献２，３参照）。図１３において、無線センサ・ネットワークは、１０個のセンサ・ノード１０１と１個のネットワーク・ノード１０２とにより構成されている。ネットワーク・ノード１０２は、ホスト・コンピュータ１０３にケーブル接続されている。そして、ホスト・コンピュータ１０３は、インターネット１０４にケーブル接続されている。各センサ・ノード１０１及びネットワーク・ノード１０２間は、無線結合されている。各センサ・ノード１０１は、その近傍のセンサ・ノード１０１と無線通信を行うことにより、データの送受信を行う。そして、最終的には、ネットワーク・ノード１０２にデータが集められる。ネットワーク・ノード１０２は、収集されたデータを、ホスト・コンピュータ１０３を通じて、外部（インターネット１０４）に送信することができる。
【０００４】
現在実在するセンサ・ノードとしては、例えば、RSC WINS & Hida，Sensoria WINS（非特許文献４），UCLA's iBadge（非特許文献５），UCLA's Medusa MK-II（非特許文献６），Berkeley's Motes（非特許文献７），Berkeley Piconodes（非特許文献２），MIT's μAMPs（非特許文献８）などが知られている。
【０００５】
図１４はセンサ・ノードの一例を表す斜視図、図１５はセンサ・ノードのハードウェア・アーキテクチャの一例を示す図である（非特許文献１，９参照）。センサ・ノード１０１は、設置スペースを必要としないように、超小型に作られる。環境中に自由に設置できるようにするために、電源は電池（又は太陽電池）１１０とされる。従って、電池１１０の印加電圧を所望の電圧に変換するための直流−直流変換器１１１を備えている。また、センサ・ノード１０１は、センサ１１２、アナログ・デジタル変換器（以下、「ＡＤＣ」という。）１１３、メモリ１１４、マイクロ・コントローラ・ユニット（microcontroller unit : 以下、「ＭＣＵ」という。）１１５、ＲＦトランシーバ（RF transceiver）１１６、及びアンテナ１１７を備えている。センサ１１２は、温度センサや光センサ等の各種のセンサである。センサ１１２において生成されたアナログ信号はＡＤＣ１１３でデジタル・データに変換され、ＭＣＵ１１５に入力される。そして、デジタル・データは、ＭＣＵ１１５からＲＦトランシーバ１１６に送られ、アンテナ１１７よりＲＦ信号として送信される。ＭＣＵ１１５は、通信制御、モジュール間の経路生成制御、及び電源制御を行う。ＭＣＵ１１５による制御は、メモリ１１４に格納されている反応性システムＯＳ（reactive system operating system）１１８によって実行される。
【０００６】
センサ・ノード１０１は、リアルタイム性、ハードウェア規模の制約、低消費電力等の要件が要求されるため、反応性システムＯＳ１１８は、これらの要件に適応したものが使用される。このような反応性システムＯＳ１１８としては、例えば、TinyOSが知られている（非特許文献９参照）。
【０００７】
一般に、センサ・ノード１０１間で通信を行う際の符号化方式は、変調信号が直流成分の影響を受けないように直流平衡変調符号（dc-balanced code）が選択される。通信の際には符号化したデータはVCO（Voltage Controlled Oscillator）を変調してしまうので、直流成分が残っていると中心周波数のチューニング誤差が発生してしまうからである。TinyOSにおいては、センサ・ノード１０１間での弱電力無線通信を行う際に、マンチェスタ符号又は４Ｂ６Ｂ符号（例えば、特許文献１，非特許文献１１参照）を選択して使用することができる（非特許文献１０参照）。これらのコードは直流平衡変調符号である。マンチェスタ符号は、情報のレベルではなく遷移によって符号化する。そのため、ビット・レートは、ボー・レートの半分になる。一方、４Ｂ６Ｂ符号の場合にはビット・レートは、ボー・レートの２／３となる。
【特許文献１】米国特許第４８２４４６３号明細書
【非特許文献１】Deborah Estrin, Akbar Sayeed, and Mani Srivastava, and Mani Srivastava, "Mobicom 2002 Tutorial T5 : Wireless Sensor Networks", 米国, ACM International Conference on Mobile Computing and Networking (MobiCom), 2002年9月
【非特許文献２】J.Rabaey, M.Ammer, J.Silva jr., D.Patel, and S.Roundy, "Picoradio supports ad hoc ultra-low power wireless networking", In IEEE Computer Magazine, 米国, July 2000, pp. 42-48.
【非特許文献３】Philip Buonadonna, Jason Hill, and David Culler, "Active Message Communication for Tiny Networked Sensors", Submitted to Infocom 米国, 2001
【非特許文献４】G.J. Pottie, W.J. Kaiser, "Wireless Integrated Network Sensors", Communications of the ACM, 米国, ２０００年５月, Vol. 43, No. 5, pp.551-8.
【非特許文献５】Ivo Locher, "iBadge", [online], Networked & Embedded Systems Laboratory, University of California, [平成１５年１１月２０日検索], インターネット, ＜URL : http://nesl.ee.ucla.edu/projects/ibadge/＞
【非特許文献６】Andreas Savvides and Mani B. Srivastava, "A Distributed Computation Platform for Wireless Embedded Sensing", Invited paper, to appear in the proceedings of ICCD 2002, Freiburg, Germany
【非特許文献７】J. Hill, R. Szewczyk, A. Woo, S. Hollar, D. Culler, and K. Pister, "System architecture directions for network sensors", ASPLOS 2000, 米国
【非特許文献８】R. Min, M. Bhardwaj, et al., "An architecture for a power-aware distributed micro sensor node", in Proc. IEEE Workshop Signal Processing Systems (SiPS '00), 米国, ２０００年１０月, pp. 581-590.
【非特許文献９】Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kristofer Pister, "System Architecture Directions for Networked Sensors", ACM SIGARCH Computer Architecture News, 米国, ２０００年１２月, Volume 28, Issue 5, pp.93-104, ACM Press   New York, NY, USA
【非特許文献１０】Jerry Zhao and Ramesh Govindan, "Understanding Packet Delivery Performance In Dense Wireless Sensor Networks", The First ACM Conference on Embedded Networked Sensor Systems,Los Angeles, 米国, ２００３年１１月
【非特許文献１１】"ASH Transceiver Software Designer's Guide", [online], ２００２年８月７日, RF Monolithics Inc., [平成１５年１１月２０日検索], インターネット, ＜URL :http://www.rfm.com/corp/apnotes.htm＞
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記センサ・ノード間でデータ通信を行う場合、例えば、４Ｂ６Ｂ符号を使用するときは、図１６に示したように、まず送信する８ビットのデジタル・データのパケットを４ビット・データで構成される２つのデータ・ブロックに分割する。そして、これらを変換表に従って６ビットのデータ・ブロックに変換する。そして、この６ビットのデータ・ブロックが順次送信される。
【０００９】
しかしながら、センサ・ノード間のデータ通信は、弱電力ＲＦ通信であるため、電源や周囲の機器からのノイズやフェージングの影響を極めて受けやすい。そのため、無線通信におけるビット・エラーが頻発する場合がある。１つのデータ・ブロックがビット・エラーにより脱落した場合、そのデータ・ブロックに続いて送信されるパケットにエラーが伝搬し、バースト・エラーを生じる。すなわち、８ビットのデータ・ブロックは２つの４ビットのデータ・ブロックに分割して順次送信されるため、１つのデータ・ブロックが脱落すると、パケットを組み立てるデータ・ブロックの組み合わせにずれが生じる。このずれが伝搬するために、バースト・エラーが発生する。
【００１０】
かかるエラーの発生を防止するため、多くの通信方式においては、誤り訂正符号が用いられる。しかしながら、誤り訂正符号を使用する場合、それを実現するための回路規模が大きくなる。また、演算処理が複雑になればなるほど、センサ・ノードにおけるデータ処理のリアルタイム性が損なわれる。特に、センサ・ノードでは、限られた規模のハードウェア資源を使用してできる限りの低電力で通信を行う必要がある。そのため、複雑な演算処理を伴う符号化はできる限り避けることが望ましい。
【００１１】
一方、無線センサ・ネットワークにおいて、センサ・ノードが送受信するデータは、殆どが、各センサ・ノードのセンサからの出力をデジタル化したデータである。かかるデータは、すべてのデータを正確に送受信することは必ずしも要求されず、データの多少の脱落は許容される。この種のデータは、センサが検出する物理量の全体的な傾向（包絡的な傾向）を掴むために使用されることが殆どだからである。従って、無線センサ・ネットワークでは、誤り訂正符号を用いてまで脱落したデータを復元する要請は少ないという事情がある。
【００１２】
そこで、本発明の目的は、エラー伝搬が生ずることなく、高速の符号化・復号化処理が可能であり、限られた規模のハードウェア資源により低消費電力で実現することが可能な無線センサ・ネットワーク・システムの通信技術を提供することにある。
【課題を解決するための手段】
【００１３】
本発明に係る無線センサ・ネットワーク・システムの通信モジュールの第１の構成は、センサに接続されたセンサ・インタフェース、送受信制御部、及び無線送受信部を備えた一乃至複数のセンサ・ノードと、前記センサ・ノードとの間で無線通信を行う無線送受信部、送受信制御部、及び外部ネットワークとのデータの授受を行うネットワーク・インタフェース部を備えた一乃至複数個のネットワーク・ノードと、の２種のノードを有する無線センサ・ネットワーク・システムにおいて各ノードに使用される通信モジュールであって、前記送受信制御部は、送受信データ・ブロックを、フロント・データ（front data）とテイル・データ（tail data）の２つのデータ・ブロックにブロック分割し出力するデータ・ブロック分割手段と、前記データ・ブロック分割手段が出力する各データ・ブロックの先頭に、そのデータ・ブロックがフロント・データであるかテイル・データであるかを識別するためのコントロール・コード（control code）を付加するコントロール・コード付加手段と、を備えていることを特徴とする。
【００１４】
無線通信においてデータ転送に使用される方式はシリアル通信が一般的である。その際に転送するデータのデータ長は1byte(8bit)を基本としている。また、センサからアナログデータを取り込み、ADCを施し、変換されたディジタルデータも1byteを最小のデータ長として取り扱うのが一般的である。そこで、センサから取得された8bitのディジタルデータを無線で転送する際に直流平衡変調を採用した。また、最小の1byteのデータでの転送を行うという条件を満たすために、もとの8bitのデータを4bitに分割するとともに、6bitへの符号化を施し、フロント・データ、テイル・データを判別するための2bitのコントロール・コードを付加することで、8bitのデータとした。これにより、一般的なシリアル転送と同様に扱うことが可能となる。また、応用範囲も広がる。また、リアルタイム性の維持のために単純な通信方式にすることもできる。また、逆に複雑なプロトコルなどを適用することも容易になる。更に、通常のシリアル転送とは異なり、コントロール・コードが付加されていることにより、無線通信でネックとなるデータ落ちの問題も解決することができる。
【００１５】
また、無線通信における符号誤りの誤り発生に１つのデータ・ブロックが脱落した場合でも、脱落したデータ・ブロックに続くデータ・ブロックのコントロール・コードを参照することにより、そのデータ・ブロックがフロント・データであるかテイル・データであるかを識別することができる。従って、脱落したデータ・ブロックに続くデータ・ブロックからでも、もとのパケットを正確に復元することができる。そのため、エラーの伝搬が防止される。また、コントロール・コード付加手段の演算処理は、コントロール・コードを付加するのみであり、複雑な演算処理を必要としない。また、受信側の演算処理も、コントロール・コードの参照とそれによるパケットの組み立てのみであり、複雑な演算処理を必要としない。従って、少ないハードウェア資源で構成することが可能で、高速で消費電力の少ない演算処理が可能である。従って、無線センサ・ネットワークのノードで使用される通信モジュールに要請される条件を満足することができる。
【００１６】
本発明に係る無線センサ・ネットワーク・システムの通信モジュールの第２の構成は、前記第１の構成において、前記送受信制御部は、他のノードから送信されたフロント・データ又はテイル・データのデータ・ブロックを前記無線送受信部が受信した場合、当該データ・ブロックに付加されたコントロール・コードを検出するコントロール・コード検出手段と、前記無線送受信部により受信されたデータ・ブロックＢ１に対して前記コントロール・コード検出手段により検出されたコントロール・コードＣ１と、そのデータ・ブロックＢ１の直前に前記無線送受信部により受信されたデータ・ブロックＢ０のコントロール・コードＣ０とを比較し、コントロール・コードＣ０がフロント・データを特定するコードである場合においてコントロール・コードＣ１がテイル・データを特定するコード以外のコードである場合、データ・ブロックＢ０を削除し、コントロール・コードＣ０がテイル・データを特定するコードである場合においてコントロール・コードＣ１がフロント・データを特定するコード以外のコードである場合、データ・ブロックＢ１の直後に受信されるデータ・ブロックＢ２を削除するデータ処理を行うエラー・ブロック削除手段と、を備えていることを特徴とする。
【００１７】
この構成によれば、ノード間の無線通信においてエラーが発生してデータ・ブロックが脱落した場合、脱落したデータ・ブロックの直前に受信されたデータ・ブロックがフロント・データであれば、そのデータ・ブロックにより構成されるパケットの前半分が欠落する。また、脱落したデータ・ブロックの直後に受信されたデータ・ブロックがテイル・データである場合にも、そのデータ・ブロックにより構成されるパケットの後半分が欠落する。
【００１８】
そこで、エラー・ブロック削除手段は、送受信制御部により受信されたデータ・ブロックＢ１に対してコントロール・コード検出手段により検出されたコントロール・コードＣ１と、そのデータ・ブロックＢ１の直前に送受信制御部により受信されたデータ・ブロックＢ０のコントロール・コードＣ０とを比較する。そして、コントロール・コードＣ０がフロント・データを特定するコードである場合においてコントロール・コードＣ１がテイル・データを特定するコード以外のコードである場合、データ・ブロックＢ０を削除する。また、コントロール・コードＣ０がテイル・データを特定するコードである場合においてコントロール・コードＣ１がフロント・データを特定するコード以外のコードである場合、データ・ブロックＢ１の直後に受信されるデータ・ブロックＢ２を削除する。これにより、脱落したデータ・ブロックの直前又は直後に受信されたデータ・ブロックにより構成されるパケットの後半分又は前半分が欠落する場合には、そのパケットは削除され、エラーパケットが生成されることが防止される。また、脱落したデータ・ブロックに続いて受信されるデータ・ブロックに対しても、パケットを構成するデータ・ブロックの組み合わせのずれが伝搬することによるバースト・エラーが発生することが防止される。
【００１９】
また、最小のデータ長のデータにコントロール・コードを付加し、受信側で個々のデータについてエラーを判別するため、エラー検出時に破棄されるデータを最小限に抑えることが可能になる。
【００２０】
本発明に係る無線センサ・ネットワーク・システムの通信モジュールの第３の構成は、前記第１又は２の構成において、前記送受信制御部は、前記データ・ブロック分割手段が出力するフロント・データ及びテイル・データの２つのデータ・ブロックのそれぞれを直流平衡変調符号（DC-balanced code）に符号化するデータ・ブロック符号化手段を備え、前記コントロール・コード付加手段は、前記データ・ブロック符号化手段により符号化された前記各データ・ブロックの先頭に、そのデータ・ブロックがフロント・データであるかテイル・データであるかを識別するためのコントロール・コードを付加することを特徴とする。
【００２１】
データ・ブロック符号化手段は、各データ・ブロックを直流平衡変調符号に符号化するため、送信されるデータは直流平衡性能が高いものとなる。ここで、直流平衡とは、長さＮのすべての期間において０と１との数がほぼ等しいことをいう。このように、送信されるデータの直流平衡性能を高めることにより、高域通過フィルタで外部に取り出した情報をもとの信号に挿入する際に信号の欠落が生じない。また、無線送受信部の受信段のアンプに交流結合を採用することができるため、自動利得制御回路の設計が簡単になる。
【００２２】
また、無線通信の際に直流平衡性能を高くするためには、データの符号化が不可欠である。かつ前述の通り、最小のデータ転送単位1byteを維持するにはデータを分割し、受信側で再度結合させるため、フロント・データ、テイル・データを判別するコントロール・コードが必要となる。即ち、上記第３の構成を取ることにより、無線通信回路の簡単化、データ転送の単純化が実現でき、簡単な回路でのリアルタイム通信や、省電力化が可能となる。
【００２３】
本発明に係る無線センサ・ネットワーク・システムの通信モジュールの第４の構成は、前記第３の構成において、前記データ・ブロック分割手段は、前記センサ・インタフェース又は前記無線送受信部から出力される８ビットの送受信データ・ブロックを、４ビットのフロント・データと４ビットのテイル・データの２つのデータ・ブロックにブロック分割し出力するものであり、前記データ・ブロック符号化手段は、４ビットの各データ・ブロックを６ビットの直流変調符号に符号化することを特徴とする。
【００２４】
このように、4B6B符号化を採用することにより、通常ディジタルデータの処理の際に最小のデータ長となる1byteの残りの2bitをコントロール・コードとして利用できるため、直流平衡性能を確保しながら、分割されたデータのエラー判定も実現でき、簡単な方式で効率的なデータ転送を行うことができる。
【００２５】
本発明に係る無線センサ・ネットワーク・システムの通信モジュールの第５の構成は、前記第３又は４の構成において、前記送受信制御部は、入力されるデータ・ブロックの符号系列とそれに対する直流平衡変調符号との対応関係を表すルックアップ・テーブルが格納された符号化テーブルを備え、前記データ・ブロック符号化手段は、前記データ・ブロック分割手段が出力するフロント・データ及びテイル・データの２つのデータ・ブロックのそれぞれを、前記符号化テーブルを参照することによって直流平衡変調符号に符号化することを特徴とする。
【００２６】
このように、符号化をルックアップ・テーブルによって行うことにより、符号化処理の演算が容易となる。また、あらかじめルックアップ・テーブルに登録された符号語を符号化に使用するので、符号化で使用する符号語を容易に変更することが可能である。特に、ノード間の通信に影響を与えるノイズの発生源が特定の機器などである場合には、特定の符号語に対するエラーレートが大きくなる場合が多い。これらのノイズは、ＵＨＰ帯のＲＦ通信を採用した場合には、周囲の環境（地形、建物）やノイズの発生源となる機器の存在などに依存しており、ノードが置かれている場所や環境によってエラーを起こしやすい符号語が変化する。従って、そのような場合、各ノードごとに、エラーを起こしやすい符号語を避けるようにして、符号化に使用する符号語をルックアップ・テーブルに登録しておくことにより、場所や環境に依存したノイズがノード間の通信に与える影響を低減することができる。
【００２７】
また、通信の際にエラーチェックやデータの再送・補正など複雑な処理を行うことによりノイズの影響を低減させるのではなく、ルックアップ・テーブルを変更することで特定のノイズの影響を軽減することができる。また、符号化テーブルとして格納する方式をとることにより、テーブルの変更が容易となり、無線通信に影響を及ぼす周囲の環境の変化に、臨機応変に対応し、通信を安定化させることが可能となる。
【００２８】
本発明に係る無線センサ・ネットワーク・システムの通信モジュールの第６の構成は、前記第５の構成において、前記送受信制御部は、前記直流平衡変調符号において使用可能なすべての符号系列を、所定の順序でパイロット信号として前記無線送受信部から送信するパイロット信号送信手段と、前記無線送受信部が他のノードから送信されたパイロット信号を受信した場合において、受信された各直流平衡変調符号のそれぞれについて誤り発生率又は誤り発生数を検出するパイロット信号検査手段と、前記各直流平衡変調符号のうち、前記パイロット信号検査手段により検出される誤り発生率が低いもの又は誤り発生数が少ないものから順に、必要な個数だけ直流平衡変調符号を選択して前記符号化テーブルに登録する符号選択手段と、を備えていることを特徴とする。
【００２９】
このように、実際の通信の前に、パイロット信号による通信状態の検査を行い、最も良い通信状態を確立することにより、データ通信の際の通信方式を簡素化することができる。また、センサ・ネットワークなどのローカルなネットワーク内では、他のネットワークのプロトコルに左右されることなく、独自にテーブル参照の取り決めが行われるため、テーブル参照の取り決め方法によっては、他のネットワークから、データの機密性を守る効果も期待される。
【００３０】
本発明に係る無線センサ・ネットワーク・システムの通信方法の第１の構成は、センサに接続されたセンサ・インタフェース、データの送受信制御を行う送受信制御部、及び無線により他のノードとのデータの送受信を行う無線送受信部を備えた一乃至複数のセンサ・ノードと、前記センサ・ノードとの間で無線通信を行う無線送受信部、データの送受信制御を行う送受信制御部、及び外部ネットワークとのデータの授受を行うネットワーク・インタフェース部を備えた一乃至複数個のネットワーク・ノードと、の２種のノードを有する無線センサ・ネットワーク・システムにおいて、各ノード間でデータの通信を行うための通信方法であって、送受信データ・ブロックを、フロント・データとテイル・データの２つのデータ・ブロックにブロック分割するデータ・ブロック分割手順と、前記データ・ブロック分割手順において生成された各データ・ブロックの先頭に、そのデータ・ブロックがフロント・データであるかテイル・データであるかを識別するためのコントロール・コードを付加するコントロール・コード付加手順と、を有していることを特徴とする。
【００３１】
本発明に係る無線センサ・ネットワーク・システムの通信方法の第２の構成は、前記第１の構成において、他のノードから送信されたフロント・データ又はテイル・データのデータ・ブロックを前記無線送受信部が受信した場合、当該データ・ブロックに付加されたコントロール・コードを検出するコントロール・コード検出手順と、前記無線送受信部により受信されたデータ・ブロックＢ１に対して前記コントロール・コード検出手順で検出されたコントロール・コードＣ１と、そのデータ・ブロックＢ１の直前に前記無線送受信部により受信されたデータ・ブロックＢ０のコントロール・コードＣ０とを比較し、コントロール・コードＣ０がフロント・データを特定するコードである場合においてコントロール・コードＣ１がテイル・データを特定するコード以外のコードである場合、データ・ブロックＢ０を削除し、コントロール・コードＣ０がテイル・データを特定するコードである場合においてコントロール・コードＣ１がフロント・データを特定するコード以外のコードである場合、データ・ブロックＢ１の直後に受信されるデータ・ブロックＢ２を削除するデータ処理を行うエラー・ブロック削除手順と、を有することを特徴とする。
【００３２】
本発明に係る無線センサ・ネットワーク・システムの通信方法の第３の構成は、前記第１又は２の構成において、前記データ・ブロック分割手順で生成されたフロント・データ及びテイル・データの２つのデータ・ブロックのそれぞれを直流平衡変調符号に符号化するデータ・ブロック符号化手順を有し、前記コントロール・コード付加手順では、前記データ・ブロック符号化手順で符号化された前記各データ・ブロックの先頭に、そのデータ・ブロックがフロント・データであるかテイル・データであるかを識別するためのコントロール・コードを付加する処理を行うことを特徴とする。
【００３３】
本発明に係る無線センサ・ネットワーク・システムの通信方法の第４の構成は、前記第３の構成において、前記データ・ブロック分割手順では、前記センサ・インタフェース又は前記無線送受信部から出力される８ビットの送受信データ・ブロックを、４ビットのフロント・データと４ビットのテイル・データの２つのデータ・ブロックにブロック分割し、前記データ・ブロック符号化手順では、４ビットの各データ・ブロックを６ビットの直流変調符号に符号化することを特徴とする。
【００３４】
本発明に係る無線センサ・ネットワーク・システムの通信方法の第５の構成は、前記第３又は４の構成において、前記送受信制御部は、入力されるデータ・ブロックの符号系列とそれに対する直流平衡変調符号との対応関係を表すルックアップ・テーブルが格納された符号化テーブルを備えており、前記データ・ブロック符号化手順では、前記データ・ブロック分割手順で生成されたフロント・データ及びテイル・データの２つのデータ・ブロックのそれぞれを、前記符号化テーブルを参照することによって直流平衡変調符号に符号化することを特徴とする。
【００３５】
本発明に係る無線センサ・ネットワーク・システムの通信方法の第６の構成は、前記第５の構成において、各ノード間でデータの通信を開始するに先立ち、前記直流平衡変調符号において使用可能なすべての符号系列を、所定の順序でパイロット信号として前記無線送受信部から送信するパイロット信号送信手順と、前記無線送受信部が他のノードから送信されたパイロット信号を受信した場合において、受信された各直流平衡変調符号のそれぞれについて誤り発生率又は誤り発生数を検出するパイロット信号検査手順と、前記各直流平衡変調符号のうち、前記パイロット信号検査手順で検出された誤り発生率が低いもの又は誤り発生数が少ないものから順に、必要な個数だけ直流平衡変調符号を選択して前記符号化テーブルに登録する符号選択手順と、
を有していることを特徴とする。
【発明の効果】
【００３６】
以上のように、本発明によれば、ノード間の無線通信において送信されたデータ・ブロックが脱落した場合であっても、脱落により不完全となったパケットのみを削除して、他のパケットを正確に復元することができる。そのため、エラーの伝搬を防止することができる。そして、少ないハードウェア資源で構成することが可能であり、高速で符号化・復号化処理が可能である。また、センサ・ノードのような限られた電池電源での消費電力の少ない演算処理が可能である。従って、無線センサ・ネットワークのノードで使用される通信モジュールに要請される条件を充足する通信技術を提供することができる。
【発明を実施するための最良の形態】
【００３７】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【実施例１】
【００３８】
図１は本発明の実施例１に係る無線センサ・ネットワーク・システムの全体構成を表す図である。本実施例の無線センサ・ネットワーク・システムは、ネットワーク・ノード１、センサ・ノード２、及びホスト・コンピュータ３により構成される。ネットワーク・ノード１は、図１では１つだけ示しているが、複数であってもよい。センサ・ノード２は、１つのネットワーク・ノード１に対して１乃至複数個存在する。各センサ・ノード２とネットワーク・ノード１とは、無線通信により接続される。また、ネットワーク・ノード１は、ケーブルにより、ホスト・コンピュータ３に接続されている。そして、ホスト・コンピュータ３は、インターネット４に接続されている。これにより、ネットワーク・ノード１は、ホスト・コンピュータ３を介して、インターネット４に接続することができる。
【００３９】
尚、図１では、１つのネットワーク・ノード１に対して複数のセンサ・ノード２が同レベルで接続した構成（この構成は「平面構造（flat structure）」と呼ばれる。）を示しているが、ネットワーク・ノード１とセンサ・ノード２との接続は、図１３に示したような階層構造（hierarchical structure）であってもよい。
【００４０】
各センサ・ノード２は、センサ５、アナログ・デジタル信号処理装置６、及びＲＦトランシーバ（RF transceiver : 高周波無線送受信機）７、及びアンテナ７ａ（図２参照）を備えている。センサ５は、光センサ、温度センサ、音センサ等の各種センサが用いられる。センサ５は、光、温度、音等の物理量を検出し、アナログ電気信号として出力する。アナログ・デジタル信号処理装置６は、センサ５から出力されるアナログ電気信号をデジタル値に変換するとともに、このデジタル信号について各ノード（センサ・ノード２及びネットワーク・ノード１をいう。以下同じ。）間での通信制御を行う。ＲＦトランシーバ７は、各ノード間で実際にＲＦ無線通信を実行する装置である。
【００４１】
図２はネットワーク・ノード及びセンサ・ノードのハードウェア構成を表すブロック図である。ネットワーク・ノード１は、ベース・ボード１０、ＰＣボード１１、及び電池１２の３つのユニットにより構成される。また、センサ・ノード２は、ベース・ボード１０、センサ・ボード１３、及び電池１２の３つのユニットにより構成される。ベース・ボード１０は、ネットワーク・ノード１とセンサ・ノード２とで共通のものが使用される。このように、ネットワーク・ノード１とセンサ・ノード２とで部品の共通化を図ることにより、各ノードを低コストで製造することが可能となる。
【００４２】
ベース・ボード１０には、ノード間の無線通信を行う機能及び電源制御を行う機能を有する回路が搭載されている。従って、ベース・ボード１０は、各ノードの通信モジュール兼電源制御モジュールとして機能する。ＰＣボード１１には、ネットワーク・ノード１とホスト・コンピュータ３との間での通信を行うための回路が搭載されている。センサ・ボード１３には、センサ・ノード２に内蔵されたセンサ５が出力するアナログ信号を処理しデジタル信号に変換する回路と、センサ５に供給する電力を制御する回路とが搭載されている。電池１２は、ベース・ボード１０、ＰＣボード１１、及びセンサ・ボード１３に電力供給を行う。
【００４３】
ベース・ボード１０は、中央処理装置（Central Processing Unit : 以下、「ＣＰＵ」という。）１５、静的ランダム・アクセス・メモリ（Static Random Access Memory : 以下、「ＳＲＡＭ」という。）１６、ＲＦトランシーバ７、クロック１７、及び電力制御装置（Power Controller）１８を備えている。ＣＰＵ１５は、ベース・ボード１０の回路全体の制御、及びＰＣボード１１又はセンサ・ボード１３とのデータ通信の制御を行う。ＳＲＡＭ１６は、ＣＰＵ１５の演算処理に際して生じるデータを一時的に保持するために設けられている。ＲＦトランシーバ７は、図１において説明したものと同様のものである。クロック１７は、ベース・ボード１０とＰＣボード１１又はセンサ・ボード１３とで同期動作を行うための基準クロックを生成する。また、電力制御装置１８は、ノード全体の平均消費電力を抑えるために、動作していないモジュールに対して供給する電力を遮断又は低下させる制御を行う。
【００４４】
尚、センサ５として使用される各種センサへの柔軟な対応と部品の共通化とを図るため、ＣＰＵ１５の代わりに、ＰＩＣ（Programmable Interrupt Controller）、ＰＬＤ（Programmable Logic Device）、ＣＰＬＤ（Complex Programmable Logic Device）、ＦＰＧＡ（Field Programmable Gate Array）のようなプログラマブルなデバイスを使用することもできる。
【００４５】
ＰＣボード１１には、ホスト・コンピュータ３との間での通信を行うための回路として、ＲＳ２３２Ｃドライバ１９が搭載されている。このＲＳ２３２Ｃドライバ１９は、ＲＳ２３２Ｃ（Recommended Standard 232 C）に定められた規格に従って、ホスト・コンピュータ３とＣＰＵ１５との間でシリアル通信の制御を行う。
【００４６】
センサ・ボード１３は、低域通過フィルタ（Low Pass Filter : 以下、「ＬＰＦ」という。）２０、アナログ・デジタル変換器（Analog-Digital Converter : 以下、「ＡＤＣ」という。）２１、及び電力制御装置２２を備えている。ＬＰＦ２０は、センサ５から入力されるアナログ信号の低周波数成分を除去することによりＤＣ成分をカットする。ＡＤＣ２１は、ＬＰＦ２０で低周波除去がされたアナログ信号をデジタル信号に量子化する。この量子化により得られるデジタル信号は、ベース・ボード１０に出力される。電力制御装置２２は、センサ・ボード１３全体の平均消費電力を抑えるために、動作していないモジュールに対して供給する電力を遮断又は低下させる制御を行う。すなわち、センサ５がセンシング動作をしていないときに、センサ・ボード１３の他のモジュールの電源を遮断し又は低消費電力モードにする。
【００４７】
図３は本発明の実施例１に係るセンサ・ノード２における通信モジュールの機能構成を示したブロック図である。尚、ネットワーク・ノード１の通信モジュールの機能構成も図３と同様であるので、ここでは代表的にセンサ・ノード２の通信モジュールの機能構成のみを説明する。
【００４８】
センサ・ノード２の通信モジュールは、パケット生成手段３１、データ・ブロック分割手段３２、データ・ブロック符号化手段３３、コントロール・コード付加手段３４、符号化テーブル３５、コントロール・コード検出手段３６、エラー・ブロック削除手段３７、データ・ブロック復号手段３８、パケット組立手段３９、中央制御部４０、パイロット信号送信手段４１、パイロット信号検査手段４２、及び符号選択手段４３により構成される。これらの機能は、図２のＣＰＵ１５及びＳＲＡＭ１６が協働することによって実現される。尚、図３において、センサ５、ＲＦトランシーバ７、アンテナ７ａ、ＬＰＦ２０、及びＡＤＣ２１は図１、図２と同様のものである。
【００４９】
パケット生成手段３１は、センサ５から出力されＡＤＣ２１により量子化されたセンシング・データを８ビットのパケットとして再構成する。データ・ブロック分割手段３２は、入力される８ビットのパケットを、フロント・データとテイル・データの２つの４ビットのデータ・ブロックにブロック分割して出力する。
【００５０】
データ・ブロック符号化手段３３は、データ・ブロック分割手段３２が出力するフロント・データ及びテイル・データの２つのデータ・ブロックのそれぞれを直流平衡変調符号に符号化する。尚、直流平衡変調符号としては、マンチェスタ符号（ＰＥ（Phase Encoding）符号）やｍＢｎＢ符号、ｍＢｎＴ符号、ｎＢＩＣ符号等を使用することができるが、本実施例においては、４Ｂ６Ｂ符号を採用する。4B6B符号化によって符号化された6bitのデータにコントロール・コード2bitを付加し1byteのデータを形成するためである。
【００５１】
ここで、データ・ブロック符号化手段３３が符号化を行う際の入力と符号ごとの対応関係は、符号化テーブル３５に格納されている。符号化テーブル３５はルックアップ・テーブルである。データ・ブロック符号化手段３３は、４ビットの入力データ・ブロックに対して符号化テーブル３５を参照して高速で符号化を行い、６ビットの符号化データ・ブロックを出力する。尚、図４にデータ・ブロックの符号変換表の一例を示す。
【００５２】
コントロール・コード付加手段３４は、データ・ブロック符号化手段３３が出力する６ビットの符号化データ・ブロックの先頭に、２ビットのコントロール・コードを付加する。コントロール・コードとは、そのデータ・ブロックがフロント・データであるかテイル・データであるかを識別するための符号である。データ・ブロックがフロント・データの場合にはコントロール・コード“０１”が付され、データ・ブロックがテイル・データの場合にはコントロール・コード“１０”が付される。データ・レートを向上する観点からは、コントロール・コードはできるだけ短いほうがよい。一方、コントロール・コードのみでも直流平衡を実現し、データに付加した際にも直流平衡を確実に保持できるようにする必要がある。そのため、本実施例では２ビットのコントロール・コードを使用している。
【００５３】
コントロール・コード検出手段３６は、他のノードから送信されたフロント・データ又はテイル・データのデータ・ブロックをＲＦトランシーバ７が受信した場合、当該データ・ブロックに付加されたコントロール・コードを検出する。
【００５４】
エラー・ブロック削除手段３７は、ＲＦトランシーバ７により受信されたデータ・ブロックＢ１に対してコントロール・コード検出手段３６により検出されたコントロール・コードＣ１と、そのデータ・ブロックＢ１の直前にＲＦトランシーバ７により受信されたデータ・ブロックＢ０のコントロール・コードＣ０とを比較し、通信中にデータ・ブロックに生じたエラーを検出する。すなわち、エラー・ブロック削除手段３７は、コントロール・コードＣ０がフロント・データを特定するコードである場合においてコントロール・コードＣ１がテイル・データを特定するコード以外のコードである場合には、データ・ブロックＢ０を削除する。また、コントロール・コードＣ０がテイル・データを特定するコードである場合においてコントロール・コードＣ１がフロント・データを特定するコード以外のコードである場合、データ・ブロックＢ１の直後に受信されるデータ・ブロックＢ２を削除する。そして、エラー・ブロック削除手段３７は、削除しないデータ・ブロックについては、先頭２ビットのコントロール・コードを削除した、６ビットのデータ・ブロックを出力する。
【００５５】
データ・ブロック復号手段３８は、エラー・ブロック削除手段３７が出力する６ビットのデータ・ブロックを４Ｂ６Ｂ変換により復号し、４ビットの復号データ・ブロックを生成する。ここで、データ・ブロック復号手段３８は、復号を行う場合には、符号化テーブル３５を参照することによって復号処理を行う。
【００５６】
パケット組立手段３９は、復号されたフロント・データ・ブロックとテイル・データ・ブロックとを結合し、もとの８ビットのパケットを復元する。復元されたパケットは、中央制御部４０に出力される。
【００５７】
中央制御部４０は、データ・パケットの流れを制御するものである。パケット生成手段３１からセンサ５が出力したデータが入力された場合には、これをデータ・ブロック分割手段３２に出力する。また、パケット組立手段３９から、他のノードから転送されてきたパケットが入力された場合には、これをデータ・ブロック分割手段３２に出力する。（尚、ネットワーク・ノード１の場合には、中央制御部４０は、パケット組立手段３９から、他のノードから転送されてきたパケットが入力された場合には、これをＰＣボード１１のＲＳ２３２Ｃドライバに出力する。）
【００５８】
パイロット信号送信手段４１、パイロット信号検査手段４２、及び符号選択手段４３は、ノード間でセンシング・データの通信を始める前段階として、各ノード間で発生する特定のノイズの影響を低減するためのモジュールである。
【００５９】
パイロット信号送信手段４１は、直流平衡変調符号において使用可能なすべての符号系列を、所定の順序でパイロット信号としてコントロール・コード付加手段３４に出力する。すなわち、通信に使用可能なすべての符号をパイロット信号としてＲＦトランシーバ７を介して他のノードに送信するものである。パイロット信号検査手段４２は、ＲＦトランシーバ７が他のノードから送信されたパイロット信号を受信した場合において、受信された各直流平衡変調符号のそれぞれについて誤り発生率又は誤り発生数を検出する。符号選択手段４３は、各直流平衡変調符号のうち、パイロット信号検査手段４２により検出される誤り発生率が低いもの又は誤り発生数が少ないものから順に、必要な個数だけ直流平衡変調符号を選択して符号化テーブル３５に登録する。
【００６０】
このようにして、各ノード間では、パイロット信号を使用して、誤り率が最小となる符号語が、通信に使用する符号語として選択され、符号化テーブル３５に格納される。これにより、ノードが置かれている場所や環境に応じて、エラーを起こしやすい符号語の使用を避けて符号化が行われることとなる。そのため、ノードの周囲の環境（地形、建物）やノイズの発生源となる機器の存在などに依存した誤り率の増加を抑えることができる。
【００６１】
尚、上記パイロット信号を使用した符号語の選択動作の詳細については後述する。
【００６２】
以上のように構成された実施例１に係る無線センサ・ネットワーク・システムにおいて、以下その動作と実験例について説明する。
【００６３】
〔１〕符号語の選択
まず、上で述べた符号語の選択動作の詳細について説明する。図５は符号語の選択動作の流れを表すフローチャートである。符号語の選択動作は２つのノード（センサ・ノード２又はネットワーク・ノード１）が協働することによって行われる。以下では、符号語の選択動作を行うノードをＮ１、Ｎ２と記す。また、試験符号（pilot symbol）を送信する側のノードを送信ノードＮ１、試験符号を受信する側のノードを受信ノードＮ２と呼ぶこととする。
【００６４】
まず、送信ノードＮ１の中央制御部４０は、ＲＦトランシーバ７により、受信ノードＮ２に対して覚醒メッセージ（wakeup message）を送信する（Ｓ１）。受信ノードＮ２では、ＲＦトランシーバ７により覚醒メッセージが受信されると、中央制御部４０は、電力制御装置１８に対して覚醒モード切替信号を出力する。電力制御装置１８は、これを受けて、受信ノードＮ２のベース・ボード１０内の符号語の選択動作に関係する各モジュールに電力供給を開始し、覚醒モード（wakeup mode）となる（Ｓ２１）。
【００６５】
次に、送信ノードＮ１の中央制御部４０は、ＲＦトランシーバ７により、受信ノードＮ２に対して試験モード・メッセージ（test mode message）を送信する（Ｓ２）。受信ノードＮ２では、ＲＦトランシーバ７により試験モード・メッセージが受信されると（Ｓ２２）、パイロット信号検査手段４２は、通信試験を行う各符号語に対するエラー・カウンタ{e(k)}を０に初期化する（Ｓ２３）。ここで、エラー・カウンタとは、通信試験を行う符号語に対して、その符号語を通信したときに生じた誤り回数を計数するための変数である。本実施例では、直流平衡変調符号として４Ｂ６Ｂ符号を使用するので、符号語としては、図６に示したような２０個の符号語から１６個を選択して使用することが可能である。エラー・カウンタ{e(k)}は、これらの２０個の符号語に対して１対１対応している。
【００６６】
次に、送信ノードＮ１のパイロット信号送信手段４１、及び受信ノードＮ２のパイロット信号検査手段４２は、内部変数として保持している試験回数を表す変数ｉ及び試験符号のインデックスを表す変数ｊを０に初期化する（Ｓ３，Ｓ２４）。ここで、試験符号とは、図６に示した２０個の通信試験を行う６ビットの符号語をいう。以下、これらの符号語をp(j)（j=0,1,…,19）と記す。
【００６７】
次に、送信ノードＮ１では、パイロット信号送信手段４１が、コントロール・コード付加手段３４に対して、試験符号p(j)を出力する。コントロール・コード付加手段３４は、入力された試験符号p(j)にコントロール・コードを付加して、ＲＦトランシーバ７から受信ノードＮ２に対して送信する（Ｓ４）。受信ノードＮ２では、ＲＦトランシーバ７により試験符号p(j)が受信されると（Ｓ２５）、パイロット信号検査手段４２は、正しい試験符号p(j)が受信されたか否かを検査する（Ｓ２６）。ここで、試験符号は図６に示した表の上から下に向かって順次送信することをあらかじめ定めておく。従って、パイロット信号検査手段４２は、受信された試験符号と図６の順で決められた符号語とを対比することにより正しい試験符号p(j)が受信されたか否かを判定することができる。そして、判定の結果、受信された試験符号が誤りであった場合には、エラー・カウンタe(j)の値を１だけインクリメントする（Ｓ２７）。
【００６８】
次に、送信ノードＮ１のパイロット信号送信手段４１、及び受信ノードＮ２のパイロット信号検査手段４２は、変数ｊを１だけインクリメントする（Ｓ５，Ｓ２８）。その結果、変数ｊの値が最大値Nc（=20）に達していない場合には（Ｓ６，Ｓ２９）、ステップＳ４、ステップＳ２５の動作に戻り、次の試験符号についても同様の試験動作を繰り返す。
【００６９】
ステップＳ６，Ｓ２９において、変数ｊの値が最大値Nc（=20）に達した場合、送信ノードＮ１のパイロット信号送信手段４１、及び受信ノードＮ２のパイロット信号検査手段４２は、変数ｉを１だけインクリメントし、変数ｊを０に初期化する（Ｓ７，Ｓ３０）。そして、変数ｉの値が最大値Ntestに達していない場合には（Ｓ８，Ｓ３１）、ステップＳ４、ステップＳ２５の動作に戻り、再び０番目の試験符号から同様の試験動作を繰り返す。ここで、Ntestは、すべての試験符号に対して行う通信試験の回数を表す。このNtestの値は、誤り特性を十分な精度で検出可能な適度な回数に設定される。
【００７０】
ステップＳ８，Ｓ３１において、変数ｉの値が最大値Ntestに達した場合、受信ノードＮ２の符号選択手段４３は、それまでに得られたエラー・カウンタ{e(k);k=0,…,19}の値を比較して、e(k)の値が小さいものから順に１６個の試験符号p(k)を選択し、これを１６個の符号語c(k)（k=0,…,15）に割り当てる（Ｓ３２）。そして、符号選択手段４３は、選択された符号語｛c(k)｝をＲＦトランシーバ７により送信ノードＮ１に送信する（Ｓ３３）。また、符号選択手段４３は、受信した符号語｛c(k)｝を符号化テーブル３５に格納する（Ｓ３４）。一方、送信ノードＮ１では、ＲＦトランシーバ７が符号語｛c(k)｝を受信すると（Ｓ９）、符号選択手段４３は、受信した符号語｛c(k)｝を符号化テーブル３５に格納する（Ｓ１０）。
【００７１】
以上の動作が終了すると、送信ノードＮ１及び受信ノードＮ２の電力制御装置１８は、再び電力供給を停止して、休眠モード（sleep mode）に遷移する（Ｓ１１，Ｓ３５）。
【００７２】
上述のような動作により、送信ノードＮ１と受信モードＮ２との間で通信を行う際の符号語が選択され、送信ノードＮ１及び受信モードＮ２の符号化テーブル３５に格納される。そして、以後の送信ノードＮ１と受信モードＮ２との間の通信においては、符号化テーブル３５に格納された符号語を使用して通信が行われることになる。
【００７３】
〔２〕センシング・データの通信
次に、センサ・ノード２がセンシング・データの転送を行う場合の動作について説明する。
【００７４】
図７はセンサ・ノード２がセンシング・データの転送を行う場合の動作の全体の流れを表すフローチャートである。センシング・データの転送動作は２つのノード（センサ・ノード２又はネットワーク・ノード１）が協働することによって行われる。以下では、センシング・データの転送動作を行うノードをＮ３、Ｎ４と記す。また、センシング・データを要求する側のノードをデータ要求ノードＮ３、センシング・データを送信する側のノードをデータ送信ノードＮ４と呼ぶこととする。
【００７５】
まず、データ要求ノードＮ３の中央制御部４０は、ＲＦトランシーバ７により、データ送信ノードＮ４に対して覚醒メッセージ（wakeup message）を送信する（Ｓ４１）。データ送信ノードＮ４では、ＲＦトランシーバ７により覚醒メッセージが受信されると、中央制御部４０は、電力制御装置１８に対して覚醒モード切替信号を出力する。電力制御装置１８は、これを受けて、データ送信ノードＮ４のベース・ボード１０内のセンシング・データの転送動作に関係する各モジュールに電力供給を開始し、覚醒モード（wakeup mode）となる（Ｓ５１）。
【００７６】
次に、データ要求ノードＮ３の中央制御部４０は、ＲＦトランシーバ７により、データ送信ノードＮ４に対してデータ要求（data request）を送信する（Ｓ４２）。データ送信ノードＮ４では、データ要求を受信すると（Ｓ５２）、中央制御部４０は、ＲＦトランシーバ７により、データ要求ノードＮ３に対してスタート・メッセージ（start message）を送信する（Ｓ５３）。データ要求ノードＮ３では、スタート・メッセージを受信すると、受信モード（request mode）に遷移する（Ｓ４３）。
【００７７】
続いて、データ送信ノードＮ４は、センシング・データの送信を行い（Ｓ５４）、データ要求ノードＮ３はセンシング・データの受信を行う（Ｓ４４）。このステップＳ４４，Ｓ５４の動作の詳細については後述する。
【００７８】
最後に、すべてのセンシング・データの転送が終わると、データ送信ノードＮ４の中央制御部４０は、送信終了コードＥＯＤ（End of Data）をデータ要求ノードＮ３に対して送信し（Ｓ５５）、休眠モード（sleep mode）に遷移する（Ｓ５６）。データ要求ノードＮ３では、送信終了コードＥＯＤを受信すると（Ｓ４５）、受信モードから休眠モードに遷移する（Ｓ４６）。
【００７９】
図８は図７のステップＳ４５，Ｓ５５の動作の詳細を表す流れ図、図９はパケットの符号化における処理を表す図である。
【００８０】
データ送信ノードＮ４において、中央制御部４０は、データ要求ノードＮ３に対してスタート・メッセージを送信した後（Ｓ５３）、送信するセンシング・データのパケットをパケット生成手段（データの中継の場合には、ＳＲＡＭ１６）から取得する。そして、データ・ブロック分割手段３２は、取得した８ビットのパケットを、２つの４ビットのデータ・ブロック（フロント・データＢ１及びテイル・データＢ２）に分割する（Ｓ７１，図９（ａ）参照）。
【００８１】
次に、データ・ブロック符号化手段３３は、符号化テーブル３５を参照して、分割により得られた２つのデータ・ブロックＢ１，Ｂ２に対して４Ｂ６Ｂ符号化処理を行う（Ｓ７２，図９（ｂ）参照）。そして、コントロール・コード付加手段３４は、フロント・データＢ１に対しては、そのデータ・ブロックの先頭にコントロール・コード“０１”を付加し、テイル・データＢ２に対しては、そのデータ・ブロックの先頭にコントロール・コード“１０”を付加する（Ｓ７３，図９（ｂ）参照）。なお、各コントロール・コードは、直流平衡符号であるため、コントロール・コードの付加によっても、各データ・ブロックの直流平衡性は崩れることはない。
【００８２】
生成された２つの８ビットのデータ・ブロックは、ＲＦトランシーバ７から、データ要求ノードＮ３に無線伝送される（Ｓ７４，Ｓ７５）。
【００８３】
データ送信ノードＮ４は、以上のステップＳ７１〜Ｓ７５までの動作を、すべてのセンシング・データの転送が終了するまで繰り返す（Ｓ７６）。そして、すべてのセンシング・データの転送が終了すると、中央制御部４０が、データ要求ノードＮ３に対してＥＯＤを送信し（Ｓ５５）、前に説明した次の動作に移行する。
【００８４】
一方、データ要求ノードＮ３においては、受信モードにおいて、ＲＦトランシーバ７がデータ・ブロックＢ１を受信した場合（Ｓ６１）、コントロール・コード検出手段３６は、データ・ブロックＢ１の先頭２ビットのコントロール・コードを検出し、それが“０１”であるか否かを検査する（Ｓ６２）。コントロール・コードが“０１”でない場合には、エラー・ブロック削除手段３７は、そのデータ・ブロックを削除して、再び、次のデータ・ブロックＢ１の受信を待つ（Ｓ６１）。
【００８５】
一方、ステップＳ６２において、コントロール・コードが“０１”であった場合、データ・ブロック復号手段３８は、符号化テーブル３５を参照して、４Ｂ６Ｂ逆変換により受信したデータ・ブロックＢ１を４ビットのデータ・ブロックＢ１’に復号する。そして、パケット組立手段３９は、復号されたデータ・ブロックＢ１’を内部レジスタに一時的に格納する（Ｓ６３）。
【００８６】
そして、ＲＦトランシーバ７が次のデータ・ブロックＢ２を受信すると（Ｓ６４）、コントロール・コード検出手段３６は、データ・ブロックＢ２の先頭２ビットのコントロール・コードを検出し、それが“１０”であるか否かを検査する（Ｓ６５）。コントロール・コードが“１０”の場合には、データ・ブロック復号手段３８は、符号化テーブル３５を参照して、４Ｂ６Ｂ逆変換により受信したデータ・ブロックＢ２を４ビットのデータ・ブロックＢ２’に復号する。そして、パケット組立手段３９は、復号されたデータ・ブロックＢ２’と内部レジスタに格納されたデータ・ブロックＢ１’とを結合し、パケットを復元する（Ｓ６６）。中央制御部４０は、復元されたパケットを、ＳＲＡＭ１６に格納する（又は、データ要求ノードＮ３がネットワーク・ノード１の場合には、ＲＳ２３２Ｃドライバ１９を介して、ホスト・コンピュータ３に出力する）。
【００８７】
一方、ステップＳ６５において、コントロール・コードが“１０”でない場合、エラー・ブロック削除手段３７は、コントロール・コードが“０１”であれば（Ｓ６７）、パケット組立手段３９の内部レジスタに格納されたデータ・ブロックを新たに受信されたデータ・ブロックで書き換え（Ｓ６８）、ステップＳ６４に戻る。一方、コントロール・コードが“０１”でもない場合には、エラー・ブロック削除手段３７は、受信したデータ・ブロックＢ２を削除し（Ｓ６９）、ステップＳ６１に戻る。
【００８８】
以上の動作により、誤りが発生したデータ・ブロックが削除されるとともに、組み合わせずれを生じることなく、パケットの復元を行うことができる。
【００８９】
尚、すべてのセンシング・データの送信が終了すると、ＲＦトランシーバ７がＥＯＤを受信して、ステップＳ４５以降の動作に移行する。
【００９０】
〔３〕実験例
最後に、本発明の効果を試作機による実験によって確認したので、以下その結果について説明する。
【００９１】
図１０は実験で使用した実施例１に係るネットワーク・ノード及びセンサ・ノードの外観図である。（ａ）がネットワーク・ノード１であり、（ｂ）がセンサ・ノード２である。本実験において、ＲＦトランシーバ７の無線通信では、３０３．１ＭＨｚの周波数帯域を使用した。また無線通信におけるボー・レートは、１９．２kbpsとした。ベース・ボード１０のクロックは８ＭＨｚを使用した。電池の出力電圧は３．５Ｖ、ベース・ボード１０、ＰＣボード１１、及びセンサ・ボード１３の動作電圧Vccは３．３Ｖとした。また、アンテナ７ａには、ヘリカル（螺旋状）アンテナ（helical antenna）を使用した。
【００９２】
図１１は実験で使用したネットワーク・ノード及びセンサ・ノード、並びに周辺機器の配置図である。実験は室内で行い、ネットワーク・ノード１とセンサ・ノード２との間の距離は５０ｃｍとした。センサ・ノード２側には、センサ５の入力の代わりに、信号発生器（signal generator）によりサイン波を入力した。ネットワーク・ノード１は、ホスト・コンピュータ３とＲＳ２３２Ｃ規格のシリアル・ケーブルにより接続した。各ノードの電源は、電池の代わりに３．３Ｖ出力のＡＣアダプタを使用した。
【００９３】
センサ・ノード２から送信されるデータをネットワーク・ノード１で受信し、ホスト・コンピュータ３に出力される波形データを観測した。
【００９４】
図１２は実験で得られた受信データ波形を示す図である。（ａ）はコントロール・コードを使用しないで通信を行った場合に得られた受信データの波形であり、（ｂ）は実施例１で説明した通信方法により通信を行った場合に得られた受信データの波形である。（ａ）では、喪失したデータ・ブロックからノイズが生じているのが明らかであり、観測は形も汚い。
【００９５】
それに対して、実施例１で説明した通信方法により通信を行った場合、（ｂ）のように、ノイズが除去され、きれいなセンシング・データが得られることが分かる。
【図面の簡単な説明】
【００９６】
【図１】本発明の実施例１に係る無線センサ・ネットワーク・システムの全体構成を表す図である。
【図２】ネットワーク・ノード及びセンサ・ノードのハードウェア構成を表すブロック図である。
【図３】本発明の実施例１に係るセンサ・ノードにおける通信モジュールのモジュール構成を示したブロック図である。
【図４】データ・ブロックの符号変換表の一例を示す図である。
【図５】符号語の選択動作の流れを表すフローチャートである。
【図６】４Ｂ６Ｂ符号化方式で使用可能な符号語の一覧表である。
【図７】センサ・ノードがセンシング・データの転送を行う場合の動作の全体の流れを表すフローチャートである。
【図８】図７のステップＳ４５，Ｓ５５の動作の詳細を表す流れ図である。
【図９】パケットの符号化における処理を表す図である。
【図１０】実験で使用した実施例１に係るネットワーク・ノード及びセンサ・ノードの外観図である。
【図１１】実験で使用したネットワーク・ノード及びセンサ・ノード、並びに周辺機器の配置図である。
【図１２】実験で得られた受信データ波形を示す図である。
【図１３】無線センサ・ネットワークの構成の一例を示す図である。
【図１４】センサ・ノードの一例を表す斜視図である。
【図１５】センサ・ノードのハードウェア・アーキテクチャの構成の一例を示す図である。
【図１６】パケット送信時のデータ・ブロックへの分割を説明する図である。
【符号の説明】
【００９７】
１  ネットワーク・ノード
２  センサ・ノード
３  ホスト・コンピュータ
４  インターネット
５  センサ
６  アナログ・デジタル信号処理装置
７  ＲＦトランシーバ（高周波無線送受信機）
７ａ  アンテナ
１０  ベース・ボード
１１  ＰＣボード
１２  電池
１３  センサ・ボード
１５  中央処理装置（ＣＰＵ）
１６  ＳＲＡＭ
１７  クロック
１８  電力制御装置
１９  ＲＳ２３２Ｃドライバ
２０  低域通過フィルタ（ＬＰＦ）
２１  アナログ・デジタル変換器（ＡＤＣ）
２２  電力制御装置
３１  パケット生成手段
３２  データ・ブロック分割手段
３３  データ・ブロック符号化手段
３４  コントロール・コード付加手段
３５  符号化テーブル
３６  コントロール・コード検出手段
３７  エラー・ブロック削除手段
３８  データ・ブロック復号手段
３９  パケット組立手段
４０  中央制御部
４１  パイロット信号送信手段
４２  パイロット信号検査手段
４３  符号選択手段
【図１】
2005159532.tif 000003
【図２】
2005159532.tif 000004
【図３】
2005159532.tif 000005
【図４】
2005159532.tif 000006
【図５】
2005159532.tif 000007
【図６】
2005159532.tif 000008
【図７】
2005159532.tif 000009
【図８】
2005159532.tif 000010
【図９】
2005159532.tif 000011
【図１０】
2005159532.tif 000012
【図１１】
2005159532.tif 000013
【図１２】
2005159532.tif 000014
【図１３】
2005159532.tif 000015
【図１４】
2005159532.tif 000016
【図１５】
2005159532.tif 000017
【図１６】
2005159532.tif 000018