(57)【特許請求の範囲】
【請求項１】
キャリアセンスにより通信チャンネルの空き状態が検出され、その状態が衝突回避時間継続すると、前記通信チャンネルによるデータ送信を開始し、該データ送信の完了後、送信完了信号を出力する通信手段と、
時刻を計時する計時手段と、
前記計時手段による計時時刻に基づき、送信データに送信時刻を付加して、前記通信手段に出力することにより、前記通信手段から送信時刻を付加した送信データを送信させる送信時刻付加処理、及び、該送信時刻付加処理により前記送信データを前記通信手段に出力した後、前記通信手段から前記送信完了信号が出力されるまで、前記計時手段による計時時刻に基づき前記通信手段に出力した送信データの送信時刻を更新する送信時刻更新処理を、予め設定されたプログラムに従い実行する制御手段と、
を備えたことを特徴とする無線通信装置。
【請求項２】
前記制御手段は、前記送信時刻更新処理を一定時間毎に実行することを特徴とする請求項１に記載の無線通信装置。
【請求項３】
前記制御手段が前記送信時刻付加処理により前記送信データに付加する送信時刻、及び、前記送信時刻更新処理により前記送信データの送信時刻を更新する時刻は、
前記計時手段による計時時刻に、前記送信時刻更新手段の実行間隔である一定時間若しくは該一定時間よりも短い設定時間を加えた時刻であることを特徴とする請求項２に記載の無線通信装置。
【請求項４】
前記制御手段が前記送信時刻付加処理により前記送信データに付加する送信時刻、及び、前記送信時刻更新処理により前記送信データの送信時刻を更新する時刻は、
前記計時手段による計時時刻Ｔcur と、
前記通信手段が前記送信データに対応した送信信号の出力を開始してから、該送信信号に対応した送信電波がアンテナから放射されるまで遅延時間Ｔtxdly と、
前記通信手段の前記衝突回避時間を構成する一定の待ち時間ＤＩＦＳと、
前記通信手段の前記衝突回避時間を構成するバックオフ時間を設定するのに用いられるスロットタイムslottime及びコンテンションウィンドウの値ＣＷと、
前記制御手段が前記計時手段から時刻を取得してから、該時刻に基づき送信時刻を付加した送信データが前記通信手段に届くか、或いは、該時刻に基づき前記通信手段の送信データが更新されるまでの遅延時間Ｔtxswdly と、
をパラメータとする次式（１）を用いて設定されること、
送信時刻＝Ｔcur＋Ｔtxdly＋ＤＩＦＳ
＋slottime×ＣＷ／２＋Ｔtxswdly  …（１）
を特徴とする請求項２に記載の無線通信装置。
【請求項５】
前記通信手段は、前記送信完了信号に加えて、前記キャリアセンスによる前記通信チャンネルの空き状態の判定結果を表すＣＣＡ信号を出力するよう構成されており、
前記制御手段において、前記送信信号付加処理では、前記ＣＣＡ信号に基づき前記通信チャンネルが空き状態か否かを判定して、前記通信チャンネルが空き状態であるときに、前記計時手段による計時時刻に基づき送信データに送信時刻を付加して、前記通信手段に出力することを特徴とする請求項１に記載の無線通信装置。
【請求項６】
前記制御手段において、前記送信時刻更新処理では、前記通信手段から前記送信完了信号が出力されるまで、前記ＣＣＡ信号に基づき前記通信チャンネルが使用状態から空き状態に変化したか否かを判断して、前記通信チャンネルが使用状態から空き状態に変化する度に、前記計時手段による計時時刻に基づき前記通信手段に出力した送信データの送信時刻を更新することを特徴とする請求項５に記載の無線通信装置。
【請求項７】
前記制御手段が前記送信時刻付加処理により前記送信データに付加する送信時刻、及び、前記送信時刻更新処理により前記送信データの送信時刻を更新する時刻は、
前記計時手段による計時時刻Ｔcur と、
前記通信手段が前記送信データに対応した送信信号の出力を開始してから、該送信信号に対応した送信電波がアンテナから放射されるまで遅延時間Ｔtxdly と、
前記通信手段の前記衝突回避時間を構成する一定の待ち時間ＤＩＦＳと、
前記通信手段の前記衝突回避時間を構成するバックオフ時間を設定するのに用いられるスロットタイムslottime及びコンテンションウィンドウの値ＣＷと、
前記制御手段が前記計時手段から時刻を取得してから、該時刻に基づき送信時刻を付加した送信データが前記通信手段に届くか、或いは、該時刻に基づき前記通信手段の送信データが更新されるまでの遅延時間Ｔtxswdly と、
をパラメータとする次式（１）、若しくは、前記各パラメータに前記送信時刻の設定回数ｎを加えたものをパラメータとする次式（２）又は（３）を用いて設定されること、
送信時刻＝Ｔcur＋Ｔtxdly＋ＤＩＦＳ
＋slottime×ＣＷ／２＋Ｔtxswdly  …（１）
送信時刻＝Ｔcur＋Ｔtxdly＋ＤＩＦＳ
＋slottime×ＣＷ／２／ｎ＋Ｔtxswdly  …（２）
送信時刻＝Ｔcur＋Ｔtxdly＋ＤＩＦＳ
＋slottime×（ＣＷ／２−ｎ）＋Ｔtxswdly  …（３）
を特徴とする請求項６に記載の無線通信装置。
【請求項８】
前記通信手段は、前記送信完了信号及びＣＣＡ信号に加えて、前記衝突回避時間を構成するバックオフ時間を表すバックオフ値ＢＯを出力するよう構成されており、
前記制御手段が前記送信時刻付加処理により前記送信データに付加する送信時刻、及び、前記送信時刻更新処理により前記送信データの送信時刻を更新する時刻は、
前記計時手段による計時時刻Ｔcur と、
前記通信手段が前記送信データに対応した送信信号の出力を開始してから、該送信信号に対応した送信電波がアンテナから放射されるまで遅延時間Ｔtxdly と、
前記通信手段の前記衝突回避時間を構成する一定の待ち時間ＤＩＦＳと、
前記通信手段から出力されたバックオフ値ＢＯと、
前記バックオフ値ＢＯと共に前記通信手段の前記衝突回避時間を構成するバックオフ時間を設定するのに用いられるスロットタイムslottimeと、
前記制御手段が前記計時手段から時刻を取得してから、該時刻に基づき送信時刻を付加した送信データが前記通信手段に届くか、或いは、該時刻に基づき前記通信手段の送信データが更新されるまでの遅延時間Ｔtxswdly と、
をパラメータとする次式（４）を用いて設定されること、
送信時刻＝Ｔcur＋Ｔtxdly＋ＤＩＦＳ
＋slottime×ＢＯ＋Ｔtxswdly  …（４）
を特徴とする請求項６に記載の無線通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＳＭＡ方式のアクセス制御によって送信権を取得し、データ送信を開始する無線通信装置に関し、詳しくは、送信時刻を付加した送信データを送信する無線通信装置に関する。
【背景技術】
【０００２】
従来、キャリアセンスによって送信権を取得するＣＳＭＡ方式のアクセス制御を行い、このアクセス制御によって送信権を取得できたときに、データ送信を開始する無線通信装置が知られている。
【０００３】
こうしたＣＳＭＡ方式の無線通信装置においては、キャリアセンスにより通信チャンネルの空きを検出すると、ランダムに設定される衝突回避時間が経過する間、通信チャンネルの空き状態が継続するかどうかを判定して、通信チャンネルの空き状態が衝突回避時間継続すると、送信権を取得できたと判断してデータ送信を開始する。
【０００４】
また、衝突回避時間としては、ＩＥＥＥ８０２．１１規格のＣＳＭＡ／ＣＡ方式のように、ＤＩＦＳ（Distributed Inter Frame Space ）と呼ばれる一定の待機時間と、タイムスロットにバックオフ値ＢＯ（乱数）を乗じることで決定されるバックオフ時間とで構成するものが一般的である。
【０００５】
ところで、こうしたＣＳＭＡ方式の無線通信装置は、ランダム送信を行うものであることから、例えば、共通の通信チャンネルを利用して複数の無線通信装置が無線通信を行う無線通信システムにおいて、全ての無線通信装置をＣＳＭＡ方式の無線通信装置にて構成すると、特定の無線通信装置が他の無線通信装置よりも重要性の高い重要情報を送信しようとしても、通信チャンネルで送信権を取得するのに時間がかかり、重要情報を速やかに送信できないことがある。
【０００６】
そこで、この種の無線通信システムにおいては、ＣＳＭＡ方式でランダムにデータ送信を開始する無線通信装置（ランダム送信装置）とは別に、ＴＤＭＡ方式で重要情報を定期的に送信する無線通信装置（定期送信装置）を設け、定期送信装置が定期送信する定期送信期間中は、ランダム通信装置によるランダム送信を禁止することが提案されている（例えば、特許文献１等、参照）。
【０００７】
そして、この提案の無線通信システムでは、定期送信装置が定期送信する際に、送信データに定期送信期間を表す定期送信期間情報を含めることで、ランダム送信装置に定期送信期間を通知し、更に、定期送信期間情報を受信したランダム送信装置がランダム送信を行う際には、送信データに定期送信期間情報を含めることで、定期送信装置からの送信電波が届かないエリアに位置する他のランダム送信装置に対し、定期送信期間情報を転送するようにされている。
【０００８】
従って、上記提案の無線通信システムによれば、ランダム送信装置がランダム送信を行うランダム送信期間を制限して、定期送信装置から周囲のランダム送信装置に重要情報を優先的に送信させることができる。
【０００９】
また、上記提案の無線通信システムにおいては、定期送信装置やランダム送信装置が定期送信期間情報を送信する際に、送信データに送信時刻を付加し、定期送信期間情報を受信したランダム送信装置側では、送信データに付加された送信時刻に基づき、自身の時計の時刻を補正することで、自身の時計の時刻を、定期送信期間情報の送信元である定期送信装置の時計の時刻と同期させることも提案されている。
【００１０】
なお、このように、定期送信期間情報の送信元と受信側とで時計の時刻を同期させるのは、定期送信期間情報を受信したランダム送信装置側で、定期送信装置が実際に定期送信を行う定期送信期間を正確に把握して、その定期送信期間と重複しないようにランダム送信期間を設定できるようにするためである。
【００１１】
また、このようにＣＳＭＡ方式の無線通信装置が送信データに送信時刻を付加する技術は、上記特許文献１に記載の無線通信システムに限らず、例えば、無線通信ネットワークにおいて、複数の無線通信装置間で送信クロックと受信クロックとを同期させる場合や、複数の無線通信間で無線通信を停止するスリープ状態への移行タイミングやスリープ状態からの復帰タイミングを一致させる場合にも適用できる（例えば、特許文献２等参照）。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２０１０−２１８７０号公報
【特許文献２】特開２００６−１０９４３３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
ところで、上記提案の無線通信システムにおいて、ＣＳＭＡ方式のランダム送信端末が送信データに送信時刻を付加するのは、送信データをベースバンドの送信信号に変換して変調部に出力するデータ送信部である。
【００１４】
つまり、送信時刻は、送信データの生成時に付加するようにすると、その送信データがデータ送信部に入力されてから、データ送信部にて送信権を取得して送信信号への変換及び変調部への出力を開始するまでの遅れ時間によって、送信時刻が、時計にて計時される現在時刻と異なる時刻になってしまう。
【００１５】
このため、上記提案の無線通信システムにおいては、マイクロコンピュータ等からなるデータ処理部がソフトウェア処理にて送信データを生成するときではなく、データ送信部がＣＳＭＡ方式のアクセス制御により送信権を取得して、送信データを送信信号に変換するとき（つまり送信データの送信を開始するとき）に、送信時刻を送信データに付加するようにしているのである。
【００１６】
しかしながら、このようにするには、データ送信部内に送信時刻を付加するための回路を設ける必要があり、その回路構成が複雑になって、無線通信装置のコストアップを招くという問題があった。
【００１７】
本発明は、こうした問題に鑑みなされたものであり、ＣＳＭＡ方式のアクセス制御によって送信権を取得し、送信時刻を付加した送信データを送信する無線通信装置において、送信データに送信時刻を付加する回路を別途設けることなく、正確な送信時刻を付加した送信データを送信できるようにすることを目的とする。
【課題を解決するための手段】
【００１８】
かかる目的を達成するためになされた請求項１に記載の無線通信装置において、データ送信時には、まず、制御手段が、計時手段による計時時刻に基づき送信データに送信時刻を付加し、その送信時刻付加後の送信データを通信手段に出力する送信時刻付加処理を、予め設定されたプログラムに従い実行する。
【００１９】
すると、通信手段が、キャリアセンスにより通信チャンネルの空き状態を検出し、その空き状態が、後述の待ち時間ＤＩＳＦ（一定時間）とバックオフ時間（ランダム時間）とで決定される衝突回避時間継続すると、通信チャンネルによるデータ送信を開始する。
【００２０】
また、通信手段は、データ送信が完了すると、送信完了信号を出力する。
一方、制御手段においては、送信時刻付加処理によって送信データを通信手段に出力すると、その後、通信手段から送信完了信号が出力されるまで、計時手段による計時時刻に基づき通信手段に出力した送信データの送信時刻を更新する送信時刻更新処理を、予め設定されたプログラムに従い実行する。
【００２１】
このように、本発明の無線通信装置によれば、送信時刻を付加した送信データが通信手段に入力されてから、データ送信が開始されるまでの間、制御手段にて、送信時刻更新処理が実行されて、通信手段内の送信データに付加されている送信時刻が更新されることから、通信手段から送信される送信データには、正確な送信時刻が付加されることになり、この送信データを受信する装置と当該無線通信装置との間で計時時刻のずれが生じて、通信に支障を来すのを防止できる。
【００２２】
また、本発明では、通信手段から送信データと共に送信される送信時刻を正確な時刻にするために、従来のように、通信手段によるデータ送信時（換言すれば、送信データを送信信号に変換するとき）に送信データに送信時刻を付加するのではなく、制御手段でのソフトウェア処理によって、通信手段に一旦出力した送信データの送信時刻を更新するようにしている。
【００２３】
このため、本発明の無線通信装置によれば、通信手段から送信データと共に送信される送信時刻を正確な時刻にするために、従来のように、通信手段に、データ送信時に送信時刻を送信データに付加する回路を設ける必要がなく、制御手段が実行するソフトウェア処理（プログラム）として送信時刻付加処理及び送信時刻更新処理を追加するだけでよいため、無線通信装置の回路構成を簡単にして、コストダウンを図ることができる。
【００２４】
ここで、制御手段は、送信時刻付加処理によって通信手段に送信データを出力した後は、送信時刻更新処理を繰り返し実行することになるが、請求項２に記載のように、その送信時刻更新処理は、一定時間毎に定期的に行うようにすればよい。
【００２５】
そして、この場合、制御手段が送信時刻付加処理により送信データに付加する送信時刻、及び、送信時刻更新処理により送信データの送信時刻を更新する時刻には、計時手段による計時時刻をそのまま設定するのではなく、請求項３に記載のように、送信時刻更新手段の実行間隔である一定時間、若しくはその一定時間よりも短い設定時間（例えば、一定時間の２分の１の時間）を加えた時刻、に設定するようにするとよい。
【００２６】
つまり、通信手段から送信データが送信されるのは、制御手段にて送信時刻更新処理が実行されてからその処理が次に実行されるまでの間であるので、上記のように構成すれば、その送信データに付加される送信時刻を、実際の送信時刻に近づけることができる。
【００２７】
また、送信データに付加される送信時刻を、より正確に設定できるようにするには、請求項４に記載のように、制御手段が送信時刻付加処理により送信データに付加する送信時刻、及び、送信時刻更新処理により送信データの送信時刻を更新する時刻を、次式（１）を用いて設定するようにするとよい。
【００２８】
送信時刻＝Ｔcur＋Ｔtxdly＋ＤＩＦＳ
＋slottime×ＣＷ／２＋Ｔtxswdly  …（１）
つまり、制御手段が送信時刻を付加した送信データを生成してから、通信手段側でＣＳＭＡ方式のアクセス制御によって送信権が取得され、送信データが送信信号に変換されて、その送信信号に対応した送信電波がアンテナから放射されるまでの時間は、下記のａ）〜ｄ）の時間と、キャリアセンスにて通信チャンネルの空き状態を検出するのに要する時間とを加算したものになる。
【００２９】
ａ）通信手段が送信データに対応した送信信号の出力を開始してから、その送信信号に対応した送信電波がアンテナから放射されるまでの遅延時間Ｔtxdly 。
ｂ）通信手段の衝突回避時間を構成する一定の待ち時間ＤＩＦＳ。
【００３０】
ｃ）通信手段の衝突回避時間を構成するバックオフ時間。
ｄ）制御手段が前記計時手段から時刻を取得してから、該時刻に基づき送信時刻を付加した送信データが前記通信手段に届くか、或いは、該時刻に基づき前記通信手段の送信データが更新されるまでの遅延時間Ｔtxswdly 。
【００３１】
そして、通信チャンネルの空き状態は直ぐに検出されることがあるので、空き状態の検出に要する時間を無視すれば、データ送信時に送信データに付加される送信時刻としては、制御手段が送信時刻を送信データに付加するときの時刻に、上記ａ）〜ｄ）の時間を加算した時刻とすればよいことになる。
【００３２】
また、上記ｃ）のバックオフ時間は、通常、乱数からなるバックオフ値ＢＯとスロットタイムslottimeとを用いてランダムに設定されるが、そのバックオフ値ＢＯの最大値はコンテンションウィンドウの値ＣＷ（詳しくはその初期値である最小値ＣＷｍｉｎ）により制限されることから、バックオフ時間は、スロットタイムslottimeとコンテンションウィンドウの値ＣＷ（詳しくはその初期値である最小値ＣＷｍｉｎ）とを用いて、概ね「slottime×ＣＷ／２」として推定できる。
【００３３】
このため、請求項４に記載の無線通信装置によれば、通信手段から送信させる送信データに付加する送信時刻を、上述の（１）式を用いて設定することで、通信手段からアンテナを介して送信データと共に送信される送信時刻を、実際の送信時刻により近づけることができるようになり、請求項３に記載のものに比べて、送信データに付加される送信時刻の精度を向上することができる。
【００３４】
次に、請求項５に記載のように、通信手段が、送信完了信号に加えて、キャリアセンスによる通信チャンネルの空き状態の判定結果を表すＣＣＡ（Clear Channel Assessment）信号を出力するよう構成されている場合、制御手段にて実行される送信信号付加処理では、ＣＣＡ信号に基づき通信チャンネルが空き状態か否かを判定して、通信チャンネルが空き状態であるときに、計時手段による計時時刻に基づき送信データに送信時刻を付加して、通信手段に出力するようにするとよい。
【００３５】
そして、このようにすれば、制御手段側で送信データに付加する送信時刻と、その送信データを通信手段が実際に送信する際の送信時刻との差を小さくすることができる。
また、請求項５に記載の無線通信装置においては、更に請求項６に記載のように、制御手段にて実行される送信時刻更新処理では、通信手段から送信完了信号が出力されるまで、ＣＣＡ信号に基づき通信チャンネルが使用状態から空き状態に変化したか否かを判断して、通信チャンネルが使用状態から空き状態に変化する度に、計時手段による計時時刻に基づき通信手段に出力した送信データの送信時刻を更新するようにするとよい。
【００３６】
そして、このようにすれば、制御手段は、通信手段側で通信チャンネルが使用状態から空き状態になったことが検出される度に、計時手段による計時時刻に基づき送信データの送信時刻を更新するようになるので、制御手段により更新される送信データの送信時刻と通信手段が実際に送信する際の送信時刻との差を小さくすることができる。
【００３７】
また、請求項６に記載の無線通信装置において、制御手段が送信時刻付加処理により送信データに付加する送信時刻、及び、送信時刻更新処理により送信データの送信時刻を更新する時刻は、上述した（１）式、若しくは、（１）式と同じパラメータに、送信時刻の設定回数ｎを加えたものをパラメータとする次式（２）又は（３）を用いて設定するようにするとよい。
【００３８】
送信時刻＝Ｔcur＋Ｔtxdly＋ＤＩＦＳ
＋slottime×ＣＷ／２／ｎ＋Ｔtxswdly  …（２）
送信時刻＝Ｔcur＋Ｔtxdly＋ＤＩＦＳ
＋slottime×（ＣＷ／２−ｎ）＋Ｔtxswdly  …（３）
そして、このようにすれば、通信手段にて通信チャンネルの空き状態が検出された時刻を基準として、その後、通信手段がデータ送信を開始して、その送信信号がアンテナから放射されるのに要する時間を加えた時刻が、送信データに付加する送信時刻として設定され、更新されることになる。
【００３９】
よって、請求項６に記載の無線通信装置によれば、請求項４に記載のものに比べ、送信データと共に送信される送信時刻を、実際の送信時刻により近づけることができるようになり、送信データに付加される送信時刻の精度をより向上することができる。
【００４０】
なお、上記（２）式又は（３）式では、上記ｃ）のバックオフ時間を推定するにあたって、送信時刻の設定回数ｎを用い、その設定回数ｎが多くなるほど、バックオフ時間が短くなるようにしているが、これは、通信手段が、キャリアセンスによって通信チャンネルの空き状態が検出されてからデータ送信を開始するまでの衝突回避時間を計時するのに用いるバックオフ時間は、通信チャンネルの空き状態が検出されているときの経過時間に応じて短くなり、その間に、通信チャンネルの使用状態が検出されると、使用状態検出前の時間に保持されるためである。
【００４１】
つまり、上記（２）式又は（３）式では、ＣＣＡ信号の変化によって送信時刻の設定回数ｎが増加するに従い、バックオフ時間を短くすることにより、通信手段の動作に応じてバックオフ時間（換言すれば衝突回避時間）を更新し、送信データに付加する送信時刻を、実際に送信データを送信する時刻に近づけるようにしているのである。
【００４２】
よって、請求項６に記載の無線通信装置において、制御手段が送信時刻付加処理により送信データに付加する送信時刻、及び、送信時刻更新処理により送信データの送信時刻を更新する時刻を、上記（２）式又は（３）式を用いて設定するようにすれば、送信データに付加される送信時刻の精度をより向上することができるようになる。
【００４３】
次に、請求項８に記載の無線通信装置は、請求項６に記載のものにおいて、通信手段が、送信完了信号及びＣＣＡ信号に加えて、衝突回避時間を構成するバックオフ時間を表すバックオフ値ＢＯを出力するよう構成されている。
【００４４】
そして、制御手段が送信時刻付加処理により送信データに付加する送信時刻、及び、送信時刻更新処理により送信データの送信時刻を更新する時刻は、次式（４）を用いて設定するようにされている。
【００４５】
送信時刻＝Ｔcur＋Ｔtxdly＋ＤＩＦＳ
＋slottime×ＢＯ＋Ｔtxswdly  …（４）
つまり、（４）式では、通信手段から出力されるバックオフ値ＢＯとスロットタイムslottimeとからバックオフ時間「slottime×ＢＯ」を求め、計時手段による計時時刻Ｔcur に、このバックオフ時間「slottime×ＢＯ」と、上記ａ）、ｂ）、ｄ）に記載の遅延時間Ｔtxdly 、一定の待ち時間ＤＩＦＳ、及び、遅延時間Ｔtxswdlyとを加えることで、送信データに付加する送信時刻を求めるようにされている。
【００４６】
このため、請求項８に記載の無線通信装置によれば、請求項７に記載のものに比べ、アンテナを介して送信データと共に送信される送信時刻を、実際の送信時刻により近づけることができるようになり、送信データに付加される送信時刻の精度をより向上することができる。
【図面の簡単な説明】
【００４７】
【図１】第１実施形態の無線通信装置の構成及び動作を表す説明図であり、（ａ）はその構成を表すブロック図、（ｂ）はその動作を表すタイムチャートである。
【図２】図１に示すデータ処理部１０にてデータ受信時及びデータ送信時にそれぞれ実行される受信処理及び送信処理を表すフローチャートである。
【図３】第２実施形態の無線通信装置の構成及び動作を表す説明図であり、（ａ）はその構成を表すブロック図、（ｂ）はその動作を表すタイムチャートである。
【図４】図３に示すデータ処理部１０にてデータ送信時に実行される送信処理を表すフローチャートである。
【図５】第３実施形態の無線通信装置の構成及び動作を表す説明図であり、（ａ）はその構成を表すブロック図、（ｂ）はその動作を表すタイムチャートである。
【図６】図５に示すデータ処理部１０にてデータ送信時に実行される送信処理を表すフローチャートである。
【発明を実施するための形態】
【００４８】
以下に本発明の実施形態を図面と共に説明する。
［第１実施形態］
本実施形態の無線通信装置は、例えば、特許文献１に記載の無線通信システムにおいてＣＳＭＡ方式のデータ送信を行うランダム送信端末として利用されるものであり、データ処理部１０と、ベースバンド部２０と、アナログ部３０とから構成されている。
【００４９】
データ処理部１０は、マイクロコンピュータ等から構成されて、予め設定されたプログラムに従い送信データ及び受信データを処理するソフトウェア部（Ｓ／Ｗ）１２と、現在時刻を計時するタイマ部１４とから構成されている。なお、ソフトウェア部１２は、本発明の制御手段に相当し、タイマ部１４は、本発明の計時手段に相当する。
【００５０】
また、ベースバンド部２０は、データ処理部１０のソフトウェア部１２から入力される送信データを処理してベースバンドの送信信号に変調し、アナログ部３０に出力すると共に、アナログ部３０から入力されるベースバンドの受信信号から受信データを復調して、データ処理部１０のソフトウェア部１２に出力するものである。
【００５１】
そして、ベースバンド部２０において、送信データを処理する送信系ＴＸには、ＭＡＣ層に関する規定動作を行うＴＸ−ＭＡＣ部（Media Access Control：メディアアクセス制御部）２６、及び、物理層に関する規定動作を行うＴＸ−ＰＨＹ部（PHYsical：物理部）２８が備えられ、受信信号を処理する受信系ＲＸには、ＲＸ−ＰＨＹ部２２及びＲＸ−ＭＡＣ部２４が備えられている。
【００５２】
そして、ＲＸ−ＰＨＹ部２２は、アナログ部３０から入力される受信信号のキャリアセンスを行うことにより、通信チャンネルが空き状態か否かを識別して、通信チャンネルが空き状態であるときオフ状態、通信チャンネルが使用状態（所謂ビジー）であるときオン状態となるＣＣＡ（Clear Channel Assessment）信号をＴＸ−ＭＡＣ部２６に出力する。
【００５３】
また、ＴＸ−ＭＡＣ部２６は、図１（ｂ）に示すように、データ処理部１０のソフトウェア部１２から送信データが入力されると、その後、ＲＸ−ＰＨＹ部２２から入力されるＣＣＡ信号に基づき通信チャンネルが空き状態となったこと（ＣＣＡ：オフ）を検知し、通信チャンネルの空き状態が、一定の待ち時間ＩＦＳ（Inter Frame Space ）にバックオフ時間を加えた衝突回避時間の間継続したか否かを監視する。
【００５４】
そして、ＣＣＡ信号のオフ状態（通信チャンネルの空き状態）が衝突回避時間（ＩＦＳ＋バックオフ時間）継続すると、ＴＸ−ＭＡＣ部２６は、通信チャンネルで送信権が得られたものとして、送信データをＴＸ−ＰＨＹ部２８に出力し、送信データをベースバンドの送信信号に変換（変調）させることで、データ送信を実行する。
【００５５】
またこのように、送信データをＴＸ−ＰＨＹ部２８に出力することで、データ送信が完了すると、ＴＸ−ＭＡＣ部２６は、データ処理部１０のソフトウェア部１２に送信完了信号を出力することで、データ送信が完了したことを通知する。
【００５６】
なお、ＴＸ−ＭＡＣ部２６は、衝突待避時間が経過するまでに、ＣＣＡ信号がオン状態（つまり通信チャンネルが使用状態（ビジー））になると、次に、ＣＣＡ信号がオフ状態になるのを待って、再度、衝突回避時間（ＩＦＳ＋バックオフ時間）の経過を監視する。
【００５７】
次に、アナログ部３０は、ベースバンド部２０から出力されるベースバンドの送信信号を送信用の高周波信号（ＲＦ）に周波数変換してアンテナ２から無線送信させると共に、アンテナ２からの受信信号（ＲＦ）をベースバンドの受信信号に周波数変換してベースバンド部２０に入力するものであり、高周波回路部（ＲＦ部）３２にて構成されている。
【００５８】
次に、データ処理部１０のソフトウェア部１２は、通信用のドライバ若しくはファームウェアとして、ＣＰＵ等の演算処理回路が実行するソフトウェア処理により実現されるものであり、当該通信装置に接続された外部装置（特許文献１に記載の無線通信システムにおいては、車両に搭載された電子制御装置（ＥＣＵ））から入力される送信データをベースバンド部２０のＴＸ−ＭＡＣ部２６に出力し、ベースバンド部２０のＲＸ−ＭＡＣ部２４から入力される受信データを、外部装置に出力する。
【００５９】
そして、送信データをベースバンド部２０のＴＸ−ＭＡＣ部２６に出力する際には、タイマ部１４にて計時された現在時刻に基づき送信データに送信時刻を付加し、ベースバンド部２０のＲＸ−ＭＡＣ部２４から受信データが入力された際には、その受信データに付加された送信時刻に基づき、タイマ部１４の時刻を補正する。
【００６０】
以下、このようにデータ処理部１０のソフトウェア部１２において、データ受信時及びデータ送信時に実行される受信処理及び送信処理について、図２（ａ）及び（ｂ）に示すフローチャートに沿って説明する。
【００６１】
図２（ａ）に示すように、受信処理は、ベースバンド部２０のＲＸ−ＭＡＣ部２４にて受信データ（フレーム）が復調されたときに実行される処理であり、処理が開始されるとまずＳ１１０（Ｓはステップを表す）にて、そのフレームを受信し、続くＳ１２０にて、タイマ部１４から計時時刻（現在時刻）Ｔcur を読み込む。
【００６２】
そして、続くＳ１３０では、Ｓ１１０で受信したフレームから送信時刻Ｔtxを読み込み、その送信時刻ＴtxとＳ１２０で読み込んだ現在時刻Ｔcur とを用いて、受信データの送信元の時計（タイマ部）と自身のタイマ部１４との計時時刻の差（時刻差）Ｔdiffを算出する。
【００６３】
なお、この時刻差Ｔdiffの算出には、例えば、次式（５）が用いられる。
Ｔdiff＝Ｔcur−
（Ｔtx＋Ｔprop＋Ｔrxdly＋Ｔrxswdly）  …（５）
但し、Ｔprop：受信データの送信元のアンテナから自身のアンテナ２までの送信電波の伝送に要する時間であり、アンテナ間の距離に応じて設定されるか一定値として設定される時間、Ｔrxdly ：アンテナ２で電波の受信を開始してからＲＸ−ＭＡＣ部２４で受信を完了するまでの遅延時間、Ｔrxswdly ：ＲＸ−ＭＡＣ部２４でフレーム受信を完了してからソフトウェア部１２で現在時刻を保持するまでの遅延時間、である。
【００６４】
そして、Ｓ１３０にて、時刻差Ｔdiffが算出されると、Ｓ１４０に移行して、その算出された時刻差Ｔdiffは、予め設定されたしきい値以上か否かを判断し、時刻差Ｔdiffがしきい値未満であれば、そのまま当該受信処理を終了する。
【００６５】
また、時刻差Ｔdiffがしきい値以上であれば、Ｓ１５０に移行して、タイマ部１４による計時時刻を、その時刻差Ｔdiffに基づき補正することで、受信データを送信してきた無線通信装置との間でタイマ部１４の時刻を同期させ、当該受信処理を終了する。
【００６６】
なお、図２（ａ）に示す受信処理は、受信データから送信時刻を取得してタイマ部１４の計時時刻を補正するのに実行される処理であり、この受信処理終了後は、Ｓ１１０にて取り込んだ受信データ（フレーム）から送信時刻受信時刻等の不要なデータ（送信時刻Ｔtx等）を除去して外部装置に出力する、通常の受信処理に移行する。
【００６７】
一方、図２（ｂ）に示すように、送信処理では、まずＳ２１０にて、外部装置から入力される送信データを受信する。
そして、続くＳ２２０では、タイマ部１４から計時時刻（現在時刻）Ｔcur を読み込み、Ｓ２３０にて、その読み込んだ現在時刻Ｔcur に基づき送信データの送信時刻Ｔtxを算出し、その算出した送信時刻Ｔtxを送信データに付加する。
【００６８】
なお、この送信時刻Ｔtxは、例えば、上述した（１）式を用いて算出される。
但し、本実施形態では、（１）式におけるＴtxdly は、ＴＸ−ＭＡＣ部２６が送信データの送信を開始してから、アンテナ２がその送信データに対応した送信電波の放射を開始するまでの遅延時間となり、Ｔtxswdly は、ソフトウェア部１２（詳しくはＳ２２０の処理）でタイマ部１４から現在時刻を取得してから、以降の処理にて、送信時刻Ｔtxを付加した送信データがＴＸ−ＭＡＣ部２６に届くか、或いは、ＴＸ−ＭＡＣ部２６に届いた送信データが更新されるまでの遅延時間、となる。
【００６９】
上記のようにＳ２３０にて、送信時刻を付加した送信データを生成すると、Ｓ２４０に移行して、その送信データをＴＸ−ＭＡＣ部２６に出力し、Ｓ２５０に移行する。
Ｓ２５０では、Ｓ２４０にて送信データを出力してから一定時間が経過するのを待ち、その一定時間の待機中に、ＴＸ−ＭＡＣ部２６から送信完了信号が入力されたか否かを判断する。
【００７０】
そして、一定時間の待機中にＴＸ−ＭＡＣ部２６から送信完了信号が入力された場合（つまり送信データの送信が完了している場合）には、Ｓ２９０に移行して、Ｓ２１０にて受信し、内部のメモリ内に保持している送信データをクリアし、当該送信処理を一旦終了する。
【００７１】
また、Ｓ２５０にて、一定時間の待機中にＴＸ−ＭＡＣ部２６から送信完了信号が入力されない（つまり送信データの送信が完了していない）と判断された場合には、Ｓ２６０に移行して、タイマ部１４から計時時刻（現在時刻）Ｔcur を読み込み、Ｓ２７０に移行する。
【００７２】
次に、Ｓ２７０では、Ｓ２３０と同様、その読み込んだ現在時刻Ｔcur に基づき、上述した（１）式を用いて、送信データの送信時刻Ｔtxを算出し、その算出した送信時刻ＴtxをＳ２１０にて読み込んだ送信データに付加することで、ベースバンド部２０から送信させるべき送信データを更新する。
【００７３】
そして、続くＳ２８０では、Ｓ２７０にて更新した送信データをＴＸ−ＭＡＣ部２６に出力することにより、ＴＸ−ＭＡＣ部２６に保持されている送信データを更新（上書き）し、Ｓ２５０に移行する。
【００７４】
この結果、Ｓ２５０〜Ｓ２８０の処理は、ＴＸ−ＭＡＣ部２６から送信完了信号が入力されるまで、一定時間毎に繰り返し実行されて、ＴＸ−ＭＡＣ部２６に保持された送信データの送信時刻が、一定時間毎に更新されることになる。
【００７５】
以上説明したように、本実施形態の無線通信装置においては、外部装置から送信データが入力されて、データ送信が必要なときには、ソフトウェア部１２にて送信処理が実行される。
【００７６】
そして、この送信処理では、タイマ部１４から現在時刻Ｔcur を読み取り、この現在時刻Ｔcur に基づき、（１）式を用いて、送信データがベースバンド部２０にて受信信号に変換されてアナログ部３０を介してアンテナ２から放射されるのに要する時間を加えた送信時刻Ｔtxを算出し、その算出した送信時刻Ｔtxを送信データに付加して、ＴＸ−ＭＡＣ部２６に出力する、といった手順で、送信時刻付加処理（Ｓ２１０〜Ｓ２４０）を実行する。
【００７７】
また、この送信処理では、送信時刻付加処理（Ｓ２１０〜Ｓ２４０）にて、送信時刻Ｔtxを付加した送信データをＴＸ−ＭＡＣ部２６に出力した後は、一定時間毎に、ＴＸ−ＭＡＣ部２６から送信完了信号が入力されてデータ送信が完了したかどうかを判断し、データ送信が完了していなければ、再度、タイマ部１４から現在時刻Ｔcur を読み取り、この現在時刻Ｔcur に基づき（１）式を用いて送信時刻Ｔtxを算出し、その算出した送信時刻Ｔtxにて、ＴＸ−ＭＡＣ部２６に保持されている送信データを更新する、送信時刻更新処理（Ｓ２５０〜Ｓ２８０）を実行する。
【００７８】
従って、本実施形態の無線通信装置によれば、外部装置から送信要求（換言すれば送信データ）が入力されてから、ベースバンド部２０のＴＸ−ＭＡＣ部２６にて送信権を取得できたと判断されるまでの時間が長くなっても、ベースバンド部２０及びアナログ部３０を介してアンテナ２から放射される送信信号には、ほぼ正確な送信時刻が付加されることになり、この送信データを受信する装置と当該無線通信装置との間で、タイマ部１４による計時時刻に大きなずれが生じ、通信に支障を来すのを防止できる。
【００７９】
そして、本実施形態では、送信データに付加される送信時刻を正確な時刻にするために、従来のように、ベースバンド部２０に送信データと現在時刻とを入力することで、ベースバンド部２０に設けた専用の回路にて、ＴＸ−ＭＡＣ部２６にて送信権を取得できたときに送信時刻を付加した送信データを生成するのではなく、データ処理部１０のソフトウェア部１２にて実行されるソフトウェア処理（送信処理）によって、送信時刻を付加した送信データを生成し、更に、データ送信が実施されるまで、その送信データの送信時刻を一定時間毎に更新する。
【００８０】
このため、本実施形態の無線通信装置によれば、従来のように、ベースバンド部２０に、送信時刻を送信データに付加する専用の回路を設ける必要がなく、データ処理部１０のソフトウェア部１２にて実行されるソフトウェア処理（プログラム）として、図２（ｂ）に示す送信処理を追加するだけで、送信データに付加される送信時刻を正確に設定できることから、無線通信装置の回路構成を簡単にして、コストダウンを図ることができる。
【００８１】
なお、本実施形態では、送信データに付加する送信時刻は、上述した（１）式を用いて算出するものとして説明したが、送信時刻は、例えば、タイマ部１４から得られる現在時刻Ｔcur に、送信データの更新間隔である一定時間（Ｓ２５０にて判定される一定時間）、若しくは、その一定時間よりも短い設定時間（例えば、一定時間の２分の１の時間）を加えた時間にしてもよい。
［第２実施形態］
次に、上記実施形態では、ベースバンド部２０のＴＸ−ＭＡＣ部２６からは、次段のＴＸ−ＰＨＹ部２８への送信データの出力（換言すればデータ送信）が完了すると、送信完了信号をソフトウェア部１２に出力することで、その旨を通知するものとしたが、図３（ａ）に示す第２実施形態の無線通信装置のように、ベースバンド部２０のＴＸ−ＭＡＣ部２６からは、送信完了信号に加えて、ＲＸ−ＰＨＹ部２２から入力されるＣＣＡ信号についても、ソフトウェア部１２に出力するように構成してもよい。
【００８２】
そして、このようにすれば、ソフトウェア部１２では、ＣＣＡ信号に基づき、通信チャンネルが空き状態であるか（ＣＣＡ：オフ）、通信チャンネルが使用状態（ビジー）であるか（ＣＣＡ：オン）を検知できることから、図３（ｂ）に示すように、通信チャンネルが空き状態になったとき（ＣＣＡ：オフ）に、送信時刻を算出して送信データに付加することで、送信データに付加された送信時刻と、その送信データの実際の送信時刻との差（つまり送信データに付加する送信時刻の誤差）を、より小さくすることができる。
【００８３】
以下、このようにするために第２実施形態のソフトウェア部１２にて実行される送信処理ついて、図４に示すフローチャートに沿って説明する。
図４に示す送信処理では、Ｓ２１０にて、外部装置から入力される送信データを受信すると、Ｓ２１２に移行して、ベースバンド部２０のＴＸ−ＭＡＣ部２６から入力されるＣＣＡ信号がオン状態であるかオフ状態であるかを判断する。
【００８４】
そして、ＣＣＡ信号がオフ状態である場合（通信チャンネルが空き状態）である場合）には、そのままＳ２２０に移行し、逆に、ＣＣＡ信号がオン状態（通信チャンネルが使用状態（ビジー）である場合には、Ｓ２１４にて、ＣＣＡ信号がオフ状態になるまで待機し、ＣＣＡ信号がオフ状態になると、Ｓ２２０に移行する。
【００８５】
そして、第１実施形態の送信処理と同様、Ｓ２２０では、タイマ部１４から計時時刻（現在時刻）Ｔcur を読み込み、Ｓ２３０では、その読み込んだ現在時刻Ｔcur に基づき送信データの送信時刻Ｔtxを算出し、その算出した送信時刻Ｔtxを送信データに付加する。また、続くＳ２４０では、Ｓ２３０にて生成した送信データをＴＸ−ＭＡＣ部２６に出力する。
【００８６】
このようにＳ２４０にて、送信データをＴＸ−ＭＡＣ部２６に出力すると、ＴＸ−ＭＡＣ部２６側では、送信データの送信が完了するか、或いは、ＣＣＡ信号がオン状態となって送信権を取得できなかった状態（送信待機状態）となる。
【００８７】
このため、本実施形態では、Ｓ２４０にて送信データをＴＸ−ＭＡＣ部２６に出力すると、続くＳ２４２に移行して、ＴＸ−ＭＡＣ部２６からの入力信号（送信完了信号・ＣＣＡ信号）が変化するのを待つ。
【００８８】
そして、ＴＸ−ＭＡＣ部２６からの入力信号が変化すると、Ｓ２５２にて、その変化した入力信号を識別して、ＴＸ−ＭＡＣ部２６から送信完了信号が入力されていれば、Ｓ２９０に移行して、送信データをクリアした後、当該送信処理を一旦終了する。
【００８９】
また、Ｓ２５２にて、ＣＣＡ信号がオフ状態からオン状態に変化したと判断されると、Ｓ２５６に移行して、その後、ＣＣＡ信号がオフ状態に変化するのを待ち、ＣＣＡ信号がオフ状態に変化すると（つまり、通信チャンネルが空き状態になると）、Ｓ２６０に移行して、タイマ部１４から計時時刻（現在時刻）Ｔcur を読み込む。
【００９０】
そして、続くＳ２７０では、Ｓ２３０と同様、その読み込んだ現在時刻Ｔcur に基づき送信データの送信時刻Ｔtxを算出し、その算出した送信時刻ＴtxをＳ２１０にて読み込んだ送信データに付加することで、ベースバンド部２０から送信させるべき送信データを更新する。
【００９１】
また、続くＳ２８０では、Ｓ２７０にて更新した送信データをＴＸ−ＭＡＣ部２６に出力することにより、ＴＸ−ＭＡＣ部２６に保持されている送信データを更新（上書き）し、Ｓ２４２に移行する。
【００９２】
なお、Ｓ２３０及びＳ２７０にて、現在時刻Ｔcur に基づき送信時刻Ｔtxを算出する際には、第１実施形態と同様、上述した（１）式を用いて算出するようにしてもよく、或いは、上述した（２）式又は（３）式を用いて算出するようにしてもよい。
【００９３】
但し、Ｓ２３０及びＳ２７０において、上述した（２）式又は（３）式を用いて送信時刻Ｔtxを算出する場合には、Ｓ２３０にて送信時刻Ｔtsを算出して送信データを設定してから、Ｓ２７０にて送信時刻を算出して送信データを更新した回数（送信時刻の設定回数）ｎをカウントする必要があるため、Ｓ２３０では、そのカウント値ｎとして初期値「１」を使用し、Ｓ２７０にて送信時刻Ｔtxを更新する際には、更新の度にカウント値ｎをインクリメント（＋１）する必要はある。
【００９４】
また、（２）式又は（３）式で、送信時刻の設定回数ｎを用いるのは、上述したように、バックオフ時間は、通常、通信チャンネルが空き状態から使用状態（ビジー）になったときには、更新されずに、それまでの値が保持され、通信チャンネルが空き状態なった時間に応じて短くなるためである。
【００９５】
従って、Ｓ２３０及びＳ２７０において、上記（２）式又は（３）式を用いて送信時刻Ｔtxを算出する場合には、ベースバンド部２０のＴＸ−ＭＡＣ部２６を、バックオフ時間をクリアすることなく、送信データを更新（上書き）できるようにする必要はある。
【００９６】
以上説明したように、本実施形態の無線通信装置においては、ベースバンド部２０のＴＸ−ＭＡＣ部２６から、データ処理部１０のソフトウェア部１２には、送信完了信号と、ＣＣＡ信号とを送信するようにされている。
【００９７】
そして、ソフトウェア部１２では、送信データを更新するのに用いる送信時刻の算出タイミングを、ＴＸ−ＭＡＣ部２６から入力されるＣＣＡ信号がオフ状態となって、通信チャンネルが空き状態となったタイミングに設定する。
【００９８】
従って、本実施形態の無線通信装置によれば、ソフトウェア部１２において、送信データの送信時刻を、通信チャンネルが使用状態（ビジー）から空き状態に変化したタイミングを基準にして、より正確に算出（推定）することができるようになり、第１実施形態の無線通信装置に比べて、送信データに付加される送信時刻と、実際に送信データが送信される送信時刻との差を小さくすることができ、送信データに付加される送信時刻の精度をより向上することができる。
［第３実施形態］
第２実施形態では、ベースバンド部２０のＴＸ−ＭＡＣ部２６からソフトウェア部１２には、送信完了信号とＣＣＡ信号とが出力されるものとして説明したが、図５（ａ）に示す第３実施形態の無線通信装置のように、これら各信号に加えて、ＴＸ−ＭＡＣ部２６から、バックオフ時間の設定に用いられる乱数であるバックオフ値ＢＯがＣＣＡ信号と共に出力されるようにしてもよい。
【００９９】
そして、本実施形態では、図５（ｂ）に示すように、ＴＸ−ＭＡＣ部２６からソフトウェア部１２には、通常、ＣＣＡ信号がオフ状態になったときに、乱数にて設定されるバックオフ値ＢＯの初期値が出力され、その後、ソフトウェア部１２からＴＸ−ＭＡＣ部２６に送信時刻を付加した送信データが入力されてから、ＴＸ−ＭＡＣ部２６が送信完了信号を出力するまでは、ＣＣＡ信号がオン状態になる度に、ＴＸ−ＭＡＣ部２６からソフトウェア部１２にバックオフ値ＢＯの現在値が出力されるようにする。
【０１００】
また、本実施形態のソフトウェア部１２においては、図６に示すフローチャートに沿って送信処理を実行する。
すなわち、この送信処理は、基本的には、図４に示した第２実施形態の送信処理と同じであり、第２実施形態の送信処理と異なる点は、Ｓ２１２又はＳ２１４にてＣＣＡ信号がオフ状態（換言すれば通信チャンネルが空き状態）であると判定されてからＳ２２０に移行する間、及び、Ｓ２５２にてＣＣＡ信号のオン状態への変化が検出されてからＳ２５６に移行する間に、それぞれ、ＴＸ−ＭＡＣ部２６からバックオフ値ＢＯを取得するＳ２１６及びＳ２５４の処理をそれぞれ実行し、更に、Ｓ２３０及びＳ２７０にて送信時刻Ｔｔｘを算出（推定）する際には、上記上述した（４）式を用いる点である。
【０１０１】
このように構成された本実施形態の無線通信装置によれば、ＴＸ−ＭＡＣ部２６にてバックオフ時間を初期設定するのに用いられ、バックオフ時間の経過に従い更新されるバックオフ値ＢＯに基づき、バックオフ時間（slottime×ＢＯ）が正確に算出され、そのバックオフ時間に基づき、送信データに付加する送信時刻Ｔtxが算出されることになるので、アンテナ２を介して送信データと共に送信される送信時刻を、実際の送信時刻により近づけることができるようになり、送信データに付加される送信時刻の精度をより向上することができる。
【０１０２】
以上、本発明を適用した３つの実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内にて、種々の態様をとることができる。
【０１０３】
例えば、上記実施形態では、無線通信装置は、特許文献１に記載の無線通信システムにおいて、車両に搭載されてＣＳＭＡ方式によるランダム送信を行うランダム送信装置として利用されるものとして説明したが、本発明の無線通信装置は、送信データに送信時刻を付加する無線通信装置であれば適用できる。
【符号の説明】
【０１０４】
２…アンテナ、１０…データ処理部、１２…ソフトウェア部、１４…タイマ部、２０…ベースバンド部、２２…ＲＸ−ＰＨＹ部、２４…ＲＸ−ＭＡＣ部、２６…ＴＸ−ＭＡＣ部、２８…ＴＸ−ＰＨＹ部、３０…アナログ部。
【図１】
0005434940.tif 000002
【図２】
0005434940.tif 000003
【図３】
0005434940.tif 000004
【図４】
0005434940.tif 000005
【図５】
0005434940.tif 000006
【図６】
0005434940.tif 000007