以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、本実施の形態では、車両に搭載された車載カメラと、LED信号機との間で、光通信によってデータを送受信する光通信システムに、本発明を適用した場合を例に説明する。
図1に示すように、第1の実施の形態に係る光通信システム10は、例えば、LED信号機を用いて構成され、LED信号機のLEDを高速に点滅させてデータを送信する光送信装置12と、車両に搭載された車載カメラを用いて構成され、車載カメラによって光送信装置12のLEDを撮像してデータを受信する光受信装置14とを備えている。
図2に示すように、光送信装置12は、LED信号機に設けられ、かつ、複数のLEDを二次元配列(例えば、16×16)した発光源としてのLEDアレイ16と、送信データ生成装置18から送信データを入力するためのインタフェース20と、インタフェース20によって入力された送信データに基づいて、LEDアレイ16の各LEDを駆動するための駆動信号を生成する信号生成部22と、信号生成部22によって生成された駆動信号に基づいて、LEDアレイ16の各LEDを駆動する駆動回路24とを備えている。各LEDは、多量のデータを送信するために、高速にスイッチング(オンオフ)される。
光送信装置12のLEDアレイ16の複数のLEDは、任意の形に並べられている。また、送信すべきデータが、各LEDの輝度の変化に変調される。LEDは、点灯及び消灯によって輝度を変化させるが、本実施の形態では、その輝度を高速に変化させるため、人間の目では輝度の変化をはっきりと見ることが出来ない。また、並べられたLED全てを用いる必要はなく、一部のLEDのみの輝度を変化させるようにしてもよい。
ここで、LEDの輝度は光の強さを表し、複数のLEDの各々の輝度の変化を用いて情報が伝送される。LEDの輝度の変化は、LEDの点灯時間の変化によって実現される。
光送信装置12の信号生成部22は、コンピュータで構成され、CPU、プログラムを記憶したROM、データ等を記憶するRAM、HDD、データの入出力を行なうためのI/Oポート、及びこれらを接続するバスを含んで構成されている。
信号生成部22は、送信データ生成装置18で生成された送信データに基づいて、輝度係数xu,vを算出する。ここで、下付き文字u,vは、u行v列の位置に配置されているLEDを表わす。この輝度係数xu,vに応じて、u行v列の位置に配置されているLEDの輝度が駆動され、光伝送が行われる。
信号生成部22は、入力された送信データに基づき、LEDを駆動するための輝度値を算出する。ここで、この操作を符号化と呼ぶことにする。また、送信データ生成装置18で生成される送信データが64ビット同時に処理される場合を考え、送信データをdm,nと表わす。ただしm,n=1,2,・・・,8である。
符号化を行うにあたり、送信データを以下の(1)式に示すような8×8の行列形に配置する。
ただし、D11、D12、D21、D22はそれぞれ4×4の正方行列であり、dm,n={−1、1}である。
信号生成部22は、2次元高速ハールウェーブレット変換(2D FHWT)を用いて符号化を行なう。信号生成部22を、ハードウエアとソフトウエアとに基づいて定まる機能実現手段毎に分割した機能ブロックで説明すると、図3に示すように、データが持つ空間周波数成分に応じて、送信データを各LEDに割り当てるマッピング部30と、各LEDに割り当てられた送信データに対して、2次元高速ウェーブレッド逆変換(2D IFHWT)を行うウェーブレット逆変換部32と、2次元高速ウェーブレッド逆変換されたデータの正規化を行うと共に、バイアスを付加する正規化バイアス付加部34と、正規化バイアス付加部34の出力データに基づいて、駆動信号を生成する駆動信号生成部36とを備えている。
マッピング部30は、送信データを、3段階の空間周波数成分の点灯パターンを持つデータに分けて、複数のLEDに割り当てる。例えば、上記(1)式におけるD11の部分に対応するLED群に、低い空間周波数成分の点灯パターンを持つデータが割り当てられ、この部分の合計のデータレートは例えば16Rbである。また、D12とD21との部分に対応するLED群には、それほど高くない空間周波数成分の点灯パターンを持つデータが割り当てられ、この部分の合計のデータレートは例えば32Rbである。また、D22の部分に対応するLED群には、高い空間周波数成分の点灯パターンを持つデータが割り当てられ、この部分の合計のデータレートは例えば16Rbである。
ウェーブレット逆変換部32は、上記(1)式の形になった送信データに対して、スケール1の2次元高速ハールウェーブレット逆変換を行う。逆変換後、送信データと同じく8×8の行列が得られ、出力行列の各要素x´u,vは以下の(2)式で表される。
ここで、H8 m,n は、以下の(3)式に示すような8×8の行列H8のm行n列の要素を表す。
上記のx´u,v の取り得る値の範囲は、−2≦x´u,v≦2である。x´u,v の取り得る値を0から1の範囲にするために、正規化バイアス付加部34は、以下の(4)式のように、バイアスを加えた後に正規化する。
上述した処理の結果、xu,v の取り得る値は、{0,1/4,1/2,3/4,1}の5通りとなる。
駆動回路24は、信号生成部22によって生成された駆動信号に基づいて、LEDアレイ16を点滅させて、送信すべきデータを送信する。
光受信装置14は、図4に示すように、車載の光通信用カメラ(2次元イメージセンサ)で構成され、かつ、光送信装置12のLEDアレイ16を高速に連続して撮像する高速カメラ40と、高速カメラ40によって撮像された画像データに対して、種々の画像処理を行って、デジタルデータである画像を生成すると共に、生成された画像に基づいて、データ復調を行なう画像処理部42とを備えている。光受信装置14は、画像処理部42の出力データを、出力装置60に出力する。
高速カメラ40は、レンズ等の光学系44と、CCDイメージセンサ又はCMOSイメージセンサで構成される撮像素子46と、及び撮像素子46からの出力信号に基づいて、撮像した画像データを生成する信号処理回路48とを備えている。
高速カメラ40は、光送信装置12のLEDアレイ16の点滅を撮像し、LEDアレイ16の各LEDの輝度は、LEDの点灯時間の変化で表されるため、LEDの輝度を撮影するために、高速カメラ40は、1シンボル期間の点灯の変化を捉えて、LEDの輝度を検出する。
画像処理部42は、コンピュータで構成され、CPU、プログラムを記憶したROM、データ等を記憶するRAM、HDD、高速カメラ40とデータの入出力を行なうためのI/Oポート、及びこれらを接続するバスを含んで構成されている。
画像処理部42は、適切な処理を施すことでLEDに関する相対位置(u行v列に関する情報)と輝度値に関する情報Ru,vとを得る。以下、このRu,vから送信データを再生することを復調と呼ぶ。
画像処理部42をハードウエアとソフトウエアとに基づいて定まる機能実現手段毎に分割した機能ブロックで説明すると、図5に示すように、高速カメラ40によって撮像された画像からLED1つ1つの位置を検出すると共に、各LEDの輝度値を取得する輝度値取得部62と、取得した各LEDの輝度値に逆バイアスを加える逆バイアス部64と、逆バイアスが加えられた各LEDの輝度値に対して、2次元高速ハールウェーブレット変換(2D FHWT)を行なうウェーブレット変換部66と、2次元高速ハールウェーブレット変換を行なった各LEDの輝度値について、値が0より大きいか否かを判定して、各LEDの輝度を+1、−1で表わされる出力データに変換する閾値判定部68と、±1で表わされる出力データに基づいて、受信データ系列を生成するデータ生成部70とを備えている。
輝度値取得部62は、撮像された画像から、LEDアレイ16の位置を検出し、1つのLEDが光っている範囲を見付け、LEDの位置を検出すると共に、見付かった範囲から、輝度値を検出する。
また、撮像画像から得られたRu,vを8×8の正方行列とすると、逆バイアス部64は、以下の(5)式のように、行列のそれぞれの要素x´u,vに逆バイアスを加える。
ただし、bはバイアス値であり、以下の(6)式に示すようにRu,v の平均値から算出される値である。なお、本実施の形態では、適切なバイアス値を求めるために時間的に平均する必要もあるため、時間のパラメータi を考慮して計算している。
ウェーブレット変換部66は、逆バイアスを加えた行列に対して、以下の(7)式のように、2次元高速ハールウェーブレッド変換(2D FHWT)を行なう。
閾値判定部68は、閾値判定を行い、出力データを得る。上記(7)のd´m,nのハットが正の値であれば、dm,nのハットの推定値d´m,nのハットを1とし、d´m,nのハットが負の値であれば、dm,nのハットの推定値dm,nのハットを−1として、出力データに変換する。
また、画像処理部42は、所定の送信データ(例えば、同期用プリアンブルデータ)を記憶したデータ記憶部72と、データ生成部70によって生成された受信データ、及びデータ記憶部72に記憶された送信データを比較して、受信データの品質としてビット誤り率を算出する誤り率算出部74と、ビット誤り率と光送信装置12のLEDアレイ16までの距離との関係を表わした距離決定テーブルデータを記憶したテーブル記憶部76と、算出されたビット誤り率及び距離決定テーブルデータに基づいて、光送信装置12のLEDアレイ16までの距離を計測する距離計測部78とを備えている。
ここで、本実施の形態の原理について説明する。説明を簡単にするため、光送信装置12によって次の2つの点灯パターンによって伝送する場合を考える。2つの点灯パターンは、図6(A)に示すような空間周波数成分が高い点灯パターンと、図6(B)に示すような空間周波数成分が低い点灯パターンとである。これらの点灯パターンは、光送信装置12のLEDアレイ16の各LEDの輝度値を制御することで生成される。すなわち、点灯パターンは、送信データに依存する。
上記の空間周波数成分が高い点灯パターンが伝送された場合には、光受信装置14の高速カメラ40によって、図6(C)に示すような空間周波数成分が高い画像が撮像され、上記の空間周波数が低い点灯パターンが伝送された場合には、光受信装置14の高速カメラ40によって、図6(D)に示すような空間周波数が低い画像が撮像される。
このように、LEDアレイ16の個々のLEDを個別に変調した場合、点灯パターンの空間周波数成分に応じて、撮像される画像の空間周波数が高くなる場合と低くなる場合とがある。
次に、それぞれの点灯パターンによる送信データを、光送信装置12のLEDアレイ16との距離を変えて受信する場合について説明する。
光送信装置12のLEDアレイ16との距離が近い場合には、高速カメラ40で撮像された画像によって、光送信装置12のLEDアレイ16の個々のLEDを、くっきりと判別することができる。このため、図6(A)に示すように空間周波数が高い点灯パターンをしっかり捉えることができる。
また、光送信装置12のLEDアレイ16を、15m離れた位置から高速カメラ40によって撮像した場合には、図7(A)に示すように、撮像画像によって、光送信装置12のLEDアレイ16の各々のLEDをきれいに判別することができる。これより、空間周波数が高い点灯パターンを正確に受信できる。なお、上記図7(A)におけるLEDアレイ16の点灯パターンは、全てのLEDが点灯しているパターンである。
一方、光送信装置12のLEDアレイ16との距離が遠い場合には、高速カメラ40によって撮像された画像で、光送信装置12のLEDアレイ16の個々のLEDを、くっきりと判別することが困難である。LEDアレイ16との距離が遠い場合には、たとえ、ある程度の間隔を設けてLEDが配置されているLEDアレイであっても、高速カメラ40によって、複数のLEDをひとつの点光源としてしか捉えることができないためである。
言い換えると、LEDアレイ16との距離が遠い位置で、光受信装置14がデータを受信する場合、高速カメラ40の撮像画像において、複数の点光源が重なって捉えられるため、空間周波数の高周波成分が失われてしまうことになる。
光送信装置12のLEDアレイ16を、50m離れた位置から高速カメラ40によって撮像した場合には、図7(B)に示すように、撮像画像において、個々のLEDが重なってしまうため、ぼやけており、空間周波数の高周波成分が失われてしまう。
以上説明したように、通信距離と撮像画像の空間周波数との間には、通信距離が伸びるほど、撮像画像において高い空間周波数成分が減少する関係があることが分かる。これは、通信路が、通信距離に応じた低域通過フィルタでモデル化できることを意味している。すなわち、光受信装置14の高速カメラ40で撮像した画像が持つ空間周波数成分を解析することで、通信距離の推定が可能となる。
また、光受信装置14において復調した受信データの品質と、高速カメラ40によって撮像した画像が持つ空間周波数成分との間には、受信データの品質が低くなるほど、撮像画像が持つ空間周波数成分が低くなり、受信データの品質が高くなるほど、撮像画像が持つ空間周波数成分が高くなる関係がある。
そこで、本実施の形態では、画像処理部42において、復調された受信データの信頼性に基づいて、光送信装置12のLEDアレイ16までの距離を計測する。例えば、光送信装置12のLEDアレイ16までの距離が遠い場合には、受信データの品質が低く、光送信装置12のLEDアレイ16までの距離が近い場合には、受信データの品質が高くなる。このように、受信データの品質を求めることで、光送信装置12のLEDアレイ16までの距離を計測する。
データ記憶部72には、比較対象の基準となる送信データとして、同期用プリアンブルデータを記憶しておく。
誤り率算出部74は、復調された受信データのうちの同期用プリアンブルデータと、記憶された同期用プリアンブルデータとを比較して、誤ったデータ数を求め、誤りデータ数を全受信データ数で除算することで、受信データ品質としてのビット誤り率を算出する。
テーブル記憶部76には、予め実験等により求められたビット誤り率と、光送信装置12のLEDアレイ16までの距離との関係を表わした距離決定テーブルを記憶しておく。
次に、第1の実施の形態に係る光通信システム10の作用について説明する。まず、送信データ生成装置18によって送信データが生成され、光送信装置12に入力される。そして、光送信装置12において、入力された送信データに応じた点滅パターンで、LEDアレイ16を点滅させて、データの伝送を行なう。
また、光受信装置14において、高速カメラ40によって、光送信装置12のLEDアレイ16を連続して撮像する。そして、画像処理部42において、図8に示す通信測距処理ルーチンを実行する。
まず、ステップ100において、高速カメラ40によって撮像された画像を取得し、ステップ102において、上記ステップ100で取得した画像に基づいて、受信データを復調する。
そして、ステップ104において、上記ステップ102で復調された受信データが、同期用プリアンブルデータであるか否かを判定し、同期用プリアンブルデータでない場合には、ステップ106で、上記ステップ102で復号化された受信データを、受信データ系列として出力装置60に出力して、上記ステップ100へ戻る。
一方、上記ステップ104で、復調された受信データが、同期用プリアンブルデータである場合には、ステップ108において、データ記憶部72に記憶された基準となる同期用プリアンブルデータを読み込む。
そして、ステップ110において、上記ステップ102で復調された同期用プリアングルデータと、上記ステップ108で読み込まれた基準となる同期用プリアンブルデータとを比較して、誤りデータ数を計測し、誤りデータ数及び全受信データ数に基づいて、誤りビット率を算出する。
次のステップ112では、テーブル記憶部76から、距離決定テーブルを読み込み、ステップ114において、上記ステップ112で読み込んだ距離決定テーブルから、上記ステップ110で算出された誤りビット率に対応する距離を決定し、光送信装置12のLEDアレイ16までの距離を計測する。
そして、ステップ116において、上記ステップ114で計測された距離を出力装置60に出力して、上記ステップ100へ戻る。
次に、本実施の形態に係る距離計測方法に関する実験結果について説明する。
実験は、試作した光送信装置を用いて行なった。この試作した光送信装置は、送信データ生成装置及び信号生成部を実現するFPGA、駆動回路(Driver Circuit)、及びLEDアレイで構成した。
光送信装置では、FPGAと駆動回路とをI/Oポートで接続し、駆動回路をLEDアレイに接続した。個々のLEDは、実際のLED信号機で用いられているものを用い、また、実際のLED信号機よりLEDの数が少なく、かつ、LEDの間隔(2cm)が実際のLED信号機のLED配置と同じLEDアレイを用いた。
また、光送信装置では、送信データに対して64ビットごとに符号化を行なった。64ビットのデータを、データに応じた点灯パターンが持つ空間周波数成分ごとに3グループに分割し、スケール1の2次元高速ハールウェーブレット逆変換を行うことで、データを空間周波数軸上に割り当てた。その後、正規化した後バイアスを加え、非負の値にしてLEDの輝度を変調した。
また、実験で用いた光受信装置は、光通信用カメラと画像処理装置であるPCとで構成した。光受信装置では、まず光通信用カメラで光送信装置のLEDアレイの画像を撮影した。そして、撮影された画像に対して画像処理を行い、各LEDに対応する輝度値を求めて、輝度値に逆バイアスをかけた。そして、求められた数値に対してスケール1の2次元高速ハールウェーブレット変換を行い、その後閾値判定を行い、受信データ系列を得た。
また、実験諸元を以下に示す。実験は、室内で行ない、LEDの点灯周期を1/2000sとし、データレートを128kbpsとした。また、光通信用カメラの撮影速度を4000fps(LED点灯周波数の2倍)とし、光通信用カメラの画素数を160 x 128pixelとし、レンズのフォーカスを無限遠とした。また、レンズの焦点距離を35mm、レンズの絞りを3.5、通信距離を10〜50mとした。また、室内の蛍光灯を全て点灯させた状態で実験を行った。
次に、実験結果について説明する。光送信装置のLEDアレイと光受信装置との通信距離が、10m、30m、及び50mの各々である場合に、光受信装置において、図9(A)〜(C)に示す受信画像が撮像された。上記図9の画像は、いずれも光送信装置の64個のLEDが全て最大輝度で点灯しているときに撮影されたものである。
通信距離が10mである場合には、受信画像内のLED64個の領域が示すピクセル数は、46×46pixelであり、通信距離が50mである場合には、受信画像内のLED64個の領域が示すピクセル数は、11×11pixelであった。また、通信距離が30mである場合には、受信画像内のLED64個の領域が示すピクセル数は、15×15pixelとなっており、LEDひとつあたり約2×2pixelのサイズになった。
なお、実験では、カメラレンズのフォーカスを無限遠に設定し、ズームは固定のままにした。このため、通信距離が遠くなれば、画像内のLEDのサイズが小さくなった。
上記の実験において、通信距離を変えて、上記(1)式のD11の部分に対応するLED群に割り当てられた低い空間周波数成分の点灯パターンを持つデータ、D12、D21の部分に対応するLED群に割り当てられた中ぐらい空間周波数成分の点灯パターンを持つデータ、及びD22の部分に対応するLED群に割り当てられた高い空間周波数成分の点灯パターンを持つデータの各々についてビット誤り率を算出すると、図10に示すような通信距離とビット誤り率との関係が得られた。通信距離が30mよりも短い場合には、いずれの空間周波数成分の点灯パターンを持つデータにおいても、誤りが発生しなかった。すなわち、全てのデータが誤り無く受信できるのは通信距離が30mとなる位置までであり、ビット誤り率に基づいて、30mより遠い通信距離の推定が可能になることがわかった。
本実施の形態では、受信画像全体に基づいて復調された受信データに基づいて、ビット誤り率を算出するため、上記図10の関係において、各空間周波数成分の点灯パターンを持つデータに対する値を平均することにより得られるビット誤り率と通信距離との関係を用いて、ビット誤り率から通信距離を計測すればよい。
以上説明したように、第1の実施の形態に係る光通信システムによれば、光受信装置において、復調された送信データのビット誤り率に基づいて、光送信装置のLEDアレイまでの距離を計測することにより、簡易な装置構成で、伝送効率を低下させずに、距離を計測することができる。
また、光送信装置から送信された送信データを、光受信装置によって受信すると共に、受信した送信データに基づいて、光送信装置のLEDアレイまでの距離を計測することができる。
なお、上記の実施の形態では、LEDアレイを用いた場合を例に説明したが、これに限定されるものではなく、発光素子として、レーザーダイオード(LD)を用いても良い。
また、受信データの品質として、ビット誤り率を算出し、ビット誤り率に基づいて、光送信装置のLEDアレイまでの距離を計測する場合を例に説明したが、誤りデータ数に基づいて、光送信装置のLEDアレイまでの距離を計測するようにしてもよい。この場合には、誤りデータ数と通信距離との関係を示す距離決定テーブルを予め求めて、テーブル記憶部に記憶しておけばよい。
次に、第2の実施の形態について説明する。なお、第1の実施の形態と同様の構成となっている部分については、同一符号を付して説明を省略する。
第2の実施の形態では、誤り訂正符号化を用いて受信データに対して誤り訂正を行なっている点と、復調された受信データ及び誤り訂正を行なった受信データを比較して、ビット誤り率を算出している点とが主に第1の実施の形態と異なっている。
第2の実施の形態に係る光送信装置では、誤り訂正符号化によって、送信データを符号化し、符号化された送信データに応じて、LEDアレイ16を駆動して、データ伝送を行なう。
図11に示すように、第2の実施の形態に係る光受信装置の画像処理部242は、輝度値取得部62と、逆バイアス部64と、ウェーブレット変換部66と、閾値判定部68と、データ生成部70と、データ生成部70によって生成された受信データに対して、誤り訂正を行なう誤り訂正部272と、データ生成部70によって生成された誤り訂正を行なっていない受信データ及び誤り訂正を行なった受信データを比較して、受信データの品質としてビット誤り率を算出する誤り率算出部274と、テーブル記憶部76と、距離計測部78とを備えている。
誤り訂正部272は、データ生成部70によって生成された受信データ系列に対して、誤り訂正を行い、最終的な受信データを得る。なお、誤り訂正符号化方式については、従来既知の技術を用いればよく、本実施の形態では、誤り訂正符号化方式に関する説明を省略する。
誤り率算出部274は、誤り訂正部272によって得られたデータを、正しい受信データとし、データ生成部70によって生成された受信データ及び誤り訂正を行なった受信データを比較して、誤ったデータ数を求め、誤りデータ数を全受信データ数で除算することで、ビット誤り率を算出する。
なお、光通信システムの他の構成及び他の処理については、第1の実施の形態と同様であるため、説明を省略する。
このように、光受信装置において、復調された送信データと誤り訂正を行なった送信データとを比較して、ビット誤り率を算出し、光送信装置のLEDアレイまでの距離を計測することにより、簡易な装置構成で、伝送効率を低下させずに、距離を計測することができる。
また、光受信装置側で送信データが未知であっても、光送信装置のLEDアレイまでの距離を計測することができる。
また、誤り訂正を行なって送信データを復調することにより、より正確なデータ品質を得ることができる。
なお、上記の実施の形態において、誤り訂正能力が固定である場合を例に説明したが、これに限定されるものではなく、誤り訂正能力を調整することができるように構成してもよい。これによって、距離決定テーブルが示す通信距離とビット誤り率との関係を調整することができるため、計測できる距離の範囲を調整することができる。
次に、第3の実施の形態について説明する。なお、第3の実施の形態に係る光通信システムの構成は、第1の実施の形態と同様の構成となっているため、同一符号を付して説明を省略する。
第3の実施の形態では、データに応じた点灯パターンの空間周波数成分の段階毎に、ビット誤り率を算出している点が、第1の実施の形態と主に異なっている。
第3の実施の形態に係る光受信装置14では、データ記憶部72に、空間周波数成分の各段階に分けて、送信データを記憶している。
誤り率算出部74は、データ生成部70で生成された受信データを、データに応じた点灯パターンの空間周波数成分の各段階に分けて、空間周波数成分の段階毎に、データ記憶部72に記憶された既知の送信データと比較して、誤りデータ数を求め、ビット誤り率を算出している。
テーブル記憶部76には、上記図10に示したように、予め実験等により求められたビット誤り率と、光送信装置12のLEDアレイ16までの距離との関係を表わした距離決定テーブルを、空間周波数成分の段階毎に記憶しておく。
ここで、上記図10に示すように、上記(1)式におけるD11の部分に対応するLED群には、空間周波数成分が低い点灯パターンのデータが割り当てられているため、光送信装置12のLEDアレイ16との距離が遠距離でも、データ品質が劣化しにくい。すなわち、遠距離でも誤りなく送信データを受信することができることになる。従って、低い空間周波数成分の点灯パターンを持つデータに対する距離決定テーブルは、通信距離が遠くなっても、ビット誤り率が上昇しにくい関係を示している。
また、D22の部分に対応するLED群には、空間周波数成分が高い点灯パターンのデータが割り当てられているため、光送信装置12のLEDアレイ16との距離が遠距離になるとデータ品質が低く、近距離になるとデータ品質が高くなる。従って、高い空間周波数成分を持つ点灯パターンのデータに対する距離決定テーブルは、光送信装置12のLEDアレイ16との距離が遠くなると、ビット誤り率が上昇し、光送信装置12のLEDアレイ16との距離が近くなると、ビット誤り率が低下する関係を示している。
また、D12とD21との部分に対応するLED群には、空間周波数成分が中ぐらいの点灯パターンのデータが割り当てられているため、光送信装置12のLEDアレイ16との距離に対するデータ品質の特性は、D11の部分の特性とD22の部分の特性との中間の特性となる。従って、中ぐらいの空間周波数成分を持つ点灯パターンのデータに対する距離決定テーブルは、高い空間周波数を持つ点灯パターンのデータに対する距離決定テーブルが示す関係と低い空間周波数を持つ点灯パターンのデータに対する距離決定テーブルが示す関係との中間の関係を示している。
例えば、データの点灯パターンが持つ空間周波数成分の各段階におけるビット誤り率が10−2である場合には、データの点灯パターンが持つ空間周波数成分の低い順に、光送信装置12のLEDアレイ16との距離が28m、31m、35mとなる。
距離計測部78は、何れかの段階の空間周波数成分を持つ点灯パターンのデータについて、距離決定テーブルに基づいて、算出されたビット誤り率に対応する距離を決定し、光送信装置12のLEDアレイ16までの距離を計測する。
例えば、低い空間周波数成分の点灯パターンのデータについて、距離決定テーブルに基づいて、算出されたビット誤り率に対応する通信距離を決定することができない場合(算出されたビット誤り率に対応する通信距離が複数ある場合や、復調された受信データに誤りがなかった場合)には、中ぐらい空間周波数成分の点灯パターンのデータ又は高い空間周波数成分の点灯パターンのデータについて、距離決定テーブルに基づいて、算出されたビット誤り率に対応する光送信装置12のLEDアレイ16までの距離を決定する。
なお、光通信システムの他の構成及び他の処理については、第1の実施の形態と同様であるため、説明を省略する。
このように、データに応じた点灯パターンの空間周波数成分の段階毎に、ビット誤り率を算出し、何れかの段階の空間周波数成分の点灯パターンのデータについて、ビット誤り率と距離決定テーブルとに基づいて、光送信装置のLEDアレイまでの距離を計測することにより、距離を計測可能な空間周波数成分の点灯パターンのデータを選択して、通信距離を計測することができるため、精度よく通信距離を計測することができる。
次に、第4の実施の形態について説明する。なお、第1の実施の形態と同様の構成となっている部分については、同一符号を付して説明を省略する。
第4の実施の形態では、2次元高速ウォルシュ変換の符号化方式を用いている点が主に第1の実施の形態と異なっている。
図12に示すように、第4の実施の形態に係る光送信装置の信号生成部422は、2次元高速ウォルシュ変換(2D FWT)を用いて符号化を行なう。信号生成部422は、データの送信パターンが持つ空間周波数成分に応じて、送信データを各LEDに割り当てるマッピング部430と、各LEDに割り当てられた送信データに対して、2次元高速ウォルシュ逆変換(2D IFWT)を行うウォルシュ逆変換部432と、2次元高速ウォルシュ逆変換されたデータの正規化を行うと共に、バイアスを付加する正規化バイアス付加部434と、正規化バイアス付加部434の出力データに基づいて、駆動信号を生成する駆動信号生成部36とを備えている。
マッピング部430は、送信データを、10段階の空間周波数成分を持つ点灯パターンのデータに分けて、複数のLEDに割り当てる。4×4ポイント2次元高速ウォルシュ変換を用いた場合に、例えば、図12に示すように、4×4のデータが、点灯パターンの周波数成分に応じて、高周波数成分から低周波数成分までの10段階に分けられる。図13に示すように、最も低い周波数成分の点灯パターンのデータ、5番目に低い周波数成分の点灯パターンのデータ、3番目に高い周波数成分の点灯パターンのデータ、及び最も高い周波数成分の点灯パターンのデータの各々の合計のデータレートは、4Rbであり、その他の周波数成分の点灯パターンのデータの合計のデータレートは、8Rbである。
ウォルシュ逆変換部432は、上記(1)式の形になった送信データに、4回に分けて、4×4ポイント2次元高速ウォルシュ逆変換を行う。逆変換後、送信データと同じく8×8の行列が得られる。出力行列の各要素x´u,vは以下の(8)式で表される。
ここで、W4 m,n は、以下の(9)式に示すような4×4の行列W4のm行n列の要素を表す。
上記のx´u,v の取り得る値の範囲は、−1≦x´u,v≦1である。x´u,v の取り得る値を、0から1の範囲にするために、正規化バイアス付加部434は、以下の(10)式のように、バイアスを加えた後に正規化する。
上記の処理の結果、xu,v の取り得る値は、{0,1/16,1/8,3/16,1/4,5/16,3/8,7/16,1/2,9/16,5/8,11/16,3/4,13/16,7/8,15/16,1}の17通りとなる。
図14に示すように、画像処理部442は、輝度値取得部62と、取得した各LEDの輝度値に逆バイアスを加える逆バイアス部464と、逆バイアスが加えられた各LEDの輝度値に対して、2次元高速ウォルシュ変換(2D FWT)を行なうウォルシュ変換部466と、2次元高速ウォルシュ変換を行なった各LEDの輝度値について、値が0より大きいか否かを判定して、各LEDの輝度を+1、−1で表わされる出力データに変換する閾値判定部468と、データ生成部70と、データ記憶部72と、誤り率算出部74と、テーブル記憶部76と、距離計測部78とを備えている。
撮像画像から得られたRu,vを8×8の正方行列とすると、逆バイアス部464は、以下の(11)式のように、行列のそれぞれの要素x´u,vに逆バイアスを加える。
ここで、bはバイアス値であり、以下の(12)式に示すようにRu,v の平均値から算出される。なお、本実施の形態では、適切なバイアス値を求めるために時間的に平均する必要もあるため、時間のパラメータi を考慮して算出している。
ウォルシュ変換部466は、逆バイアスを加えた行列に対して、以下の(13)式のように、4×4ポイント2次元高速ウォルシュ変換(2D FWT)を行なう。
閾値判定部468は、閾値判定を行い、出力データを得る。d´m,nのハットが正の値であれば、dm,nのハットの推定値d´m,nのハットを1とし、d´m,nのハットが負の値であれば、dm,nのハットの推定値dm,nのハットを−1として、出力データに変換する。
なお、光通信システムの他の構成及び他の処理については、第1の実施の形態と同様であるため、説明を省略する。
上記の第1の実施の形態〜第4の実施の形態では、2次元高速ハールウェーブレット変換を用いた場合、又は2次元高速ウォルシュ変換を用いた場合について説明したが、これに限定されるものではなく、2次元高速フーリエ変換、2次元離散コサイン変換等の2次元直交変換を利用して、送信データの符号化及び復調を行なうようにしてもよい。