(57)【要約】【課題】伝送路状態が一定でない場合であっても、最適な通信特性を維持することができるとともに、伝送効率が低下することを防止可能な通信装置を提供する。【解決手段】電力線７００を介して、他のＰＬＣモデム１００へのデータの伝送を行うＰＬＣモデム１００であって、データを格納する通信フレームを生成する通信フレーム生成部２１と、電力線７００の通信特性を取得する通信特性取得部２３と、通信特性に基づいて、通信フレームのフレーム長を制御する通信フレーム制御部２２とを備える。【選択図】図１５
2010166399.tif 000002
【特許請求の範囲】
【請求項１】
伝送路を介して、他の通信装置へのデータの伝送を行う通信装置であって、
前記データを格納する通信フレームを生成する通信フレーム生成部と、
前記伝送路の通信特性を取得する通信特性取得部と、
前記通信特性に基づいて、前記通信フレームのフレーム長を制御する通信フレーム制御部と
を備える通信装置。
【請求項２】
請求項１に記載の通信装置であって、
前記伝送路は、電力線である
通信装置。
【請求項３】
請求項２に記載の通信装置であって、
前記通信特性取得部は、前記通信特性として前記電力線のインピーダンス変動に対応する情報を取得する
通信装置。
【請求項４】
請求項３に記載の通信装置であって、
前記通信フレーム制御部は、前記インピーダンス変動に対応する情報に基づいて、前記電力線のインピーダンスの変化点を推定し、当該インピーダンスの変化点に基づいて、前記通信フレームのフレーム長を制御する
通信装置。
【請求項５】
請求項４に記載の通信装置であって、
前記通信特性取得部は、前記インピーダンス変動に対応する情報として、前記通信フレームを伝送した際の当該通信フレームにおける所定時間区間毎の伝送エラーに関する伝送エラー情報を取得し、
前記通信フレーム制御部は、前記伝送エラー情報に基づいて、前記インピーダンスの変化点を推定する
通信装置。
【請求項６】
請求項５に記載の通信装置であって、
前記通信特性取得部は、前記伝送エラー情報を前記所定時間区間毎に蓄積し、
前記通信フレーム制御部は、前記伝送エラー情報の蓄積数が所定数以上である第１の時間区間と前記第１の時間区間よりも後の第２の時間区間を抽出し、前記第１の時間区間を前記電力線の第１のインピーダンスの変化点として、前記第２の時間区間を前記電力線の第２のインピーダンスの変化点として推定する
通信装置。
【請求項７】
請求項６に記載の通信装置であって、
前記通信フレーム制御部は、前記推定した第１のインピーダンスの変化点と前記第２のインピーダンスの変換点との距離に基づいて、前記推定したインピーダンスの変化点の位置を補正する
通信装置。
【請求項８】
伝送路を介して、他の通信装置へのデータの伝送を行う通信方法であって、
前記データを格納する通信フレームを生成し、
前記伝送路の通信特性を取得し、
前記通信特性に基づいて、前記通信フレームのフレーム長を制御する
通信方法。
【請求項９】
伝送路を介して、他の通信装置へのデータの伝送を行う通信装置に用いられる集積回路であって、
前記データを格納する通信フレームを生成する通信フレーム生成部と、
前記伝送路の通信特性を取得する通信特性取得部と、
前記通信特性に基づいて、前記通信フレームのフレーム長を制御する通信フレーム制御部と
を備える集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信パラメータを状況に応じて決定し、決定された通信パラメータを利用し所定の伝送路を用いて通信を行う通信装置に関する。
【背景技術】
【０００２】
複数の通信装置間で通信を行う際には、一の通信装置が、固定長あるいは可変長の通信フレームを作成し、この通信フレームのペイロードに送信対象のデータの一部分あるいは全体を格納し、通信フレーム単位で順次データを伝送路に送信することができる。
【０００３】
データが送信される伝送路の特性は一定ではなく、環境変化や時間の経過に伴って逐次変化する。伝送路が電力線の場合には、電力線に様々な電気機器が接続されるため、様々なノイズが現れる。さらに、交流電源波形（ＡＣ波形）に伴ってインピーダンスが変動し、伝送路の特性が変化することもある。
【０００４】
具体的には、図２４に例を示すように、電力線を用いて通信を行う電力線通信装置が電力線通信信号（以下、ＰＬＣ信号ともいう）を電力線に送信すると、電力線の特性に応じて、ＰＬＣ信号の振幅や波形が変動することがある。このような変動は、電力線に関するインピーダンス（Ｚ）の変動（以下、Ｚ変動ともいう）に伴って発生することが多い。そして、Ｚ変動は、図２４に示すように交流電源波形（ＡＣ波形）に同期して周期的に発生することが多い。
【０００５】
図２４に示す例では、時刻ｔ１、ｔ２、ｔ３、ｔ４でそれぞれインピーダンスが二値的に変動している。ここでは、このようなＺ変動のタイミングは、交流電源波形の山と谷のピークの近傍で発生している。
【０００６】
図２４において、ＰＬＣ信号のフレームＦ１１は、時刻ｔ１の前から時刻ｔ２の後まで電力線７００上に現れているので、Ｚ変動の影響を受ける。ＦＣ（フレームコントロール部：ヘッダに相当する）に後続するフレームの通信パラメータは、ＦＣの送信区間のインピーダンスに応じて制御される。したがって、フレームＦ１１のペイロードに含まれている複数のデータパケットのうち、時刻ｔ１までに現れるデータパケットはＦＣと同様のインピーダンスとなるため伝送エラーが生じないが、時刻ｔ１以降のデータパケットはＦＣと異なるインピーダンスとなるため全てエラーになる。
【０００７】
また、フレームＦ１２もＺ変動の影響を受ける。但し、フレームＦ１２には途中に既知情報であるパイロットシンボル（パイロット信号）Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５が含まれている。パイロット信号に後続する信号の通信パラメータは、パイロット信号の送信区間のインピーダンスに応じて制御されるため、フレーム１２は、フレームＦ１１よりもＺ変動による影響は小さい。しかし、パイロットシンボルを挿入したフレームＦ１２であっても、Ｚ変動の始期（例えばｔ１）または終期（例えばｔ２）をまたぐデータパケットについては、エラーになってしまう。
【０００８】
また、フレームＦ１３もＺ変動の影響を受ける。ＦＣ（フレームコントロール部：ヘッダに相当する）に後続するフレームの通信パラメータは、ＦＣの送信区間のインピーダンスに応じて制御されるため、ＦＣの送信区間がＺ変動の始期（例えばｔ１）または終期（例えばｔ２）をまたぐ場合には、全てエラーになってしまう。
【０００９】
なお、交流電源波形に伴うノイズの影響を軽減するための技術として、交流電源波形のゼロクロス点を検出し、ゼロクロス点の近傍で電源周期よりも十分に短い期間でデータ伝送を行うことが知られている。
【００１０】
【特許文献１】特開昭５９−１４３４３５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、送信する通信フレームのフレーム長を単に十分に短くなるよう制限する場合には、伝送効率が低下するのは避けられない。
【００１２】
本発明は、伝送路状態が一定でない場合であっても、最適な通信特性を維持することができるとともに、伝送効率が低下することを防止可能な通信装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の通信装置は、伝送路を介して、他の通信装置へのデータの伝送を行う通信装置であって、前記データを格納する通信フレームを生成する通信フレーム生成部と、前記伝送路の通信特性を取得する通信特性取得部と、前記通信特性に基づいて、前記通信フレームのフレーム長を制御する通信フレーム制御部とを備える。
【００１４】
この通信装置によれば、伝送路状態が一定でない場合であっても、最適な通信特性を維持することができるとともに、伝送効率が低下することを防止可能である。例えば、通信特性が劣化する可能性がある時間区間においてのみ通信フレームの伝送を実施しないように制御することができる。
【００１５】
また、本発明の通信装置は、前記伝送路が、電力線である。
【００１６】
この通信装置によれば、伝送路が電力線であっても、伝送路状態が一定でない場合であっても、最適な通信特性を維持することができるとともに、伝送効率が低下することを防止可能である。
【００１７】
また、本発明の通信装置は、前記通信特性取得部が、前記通信特性として前記電力線のインピーダンス変動に対応する情報を取得する。
【００１８】
この通信装置によれば、通信特性としてインピーダンス変動に対応する情報を取得することで、インピーダンス変動の影響を受けないようにフレーム長制御を行うことができるので、電力線のインピーダンスが一定でない場合であっても、伝送効率が低下することを防止可能である。
【００１９】
また、本発明の通信装置は、前記通信フレーム制御部が、前記インピーダンス変動に対応する情報に基づいて、前記電力線のインピーダンスの変化点を推定し、当該インピーダンスの変化点に基づいて、前記通信フレームのフレーム長を制御する。
【００２０】
この通信装置によれば、インピーダンス変動により伝送路特性が変化したときを認識することができ、この時点をインピーダンスの変化点と推定することで、後にインピーダンスの変化点になると予想される通信フレームの通信を回避することができる。
【００２１】
また、本発明の通信装置は、前記通信特性取得部が、前記インピーダンス変動に対応する情報として、前記通信フレームを伝送した際の当該通信フレームにおける所定時間区間毎の伝送エラーに関する伝送エラー情報を取得し、前記通信フレーム制御部が、前記伝送エラー情報に基づいて、前記インピーダンスの変化点を推定する。
【００２２】
この通信装置によれば、伝送した通信フレームの伝送エラーが発生しているか否かを把握し、伝送エラーの発生点を回避するようにフレーム長を制御することができる。
【００２３】
また、本発明の通信装置は、前記通信特性取得部が、前記伝送エラー情報を前記所定時間区間毎に蓄積し、前記通信フレーム制御部が、前記伝送エラー情報の蓄積数が所定数以上である第１の時間区間と前記第１の時間区間よりも後の第２の時間区間を抽出し、前記第１の時間区間を前記電力線の第１のインピーダンスの変化点として、前記第２の時間区間を前記電力線の第２のインピーダンスの変化点として推定する。
【００２４】
この通信装置によれば、伝送エラーが頻発するタイミングを知ることができ、そのタイミングを回避するように、フレーム長を制御することができる。
【００２５】
また、本発明の通信装置は、前記通信フレーム制御部が、前記推定した第１のインピーダンスの変化点と前記第２のインピーダンスの変換点との距離に基づいて、前記推定したインピーダンスの変化点の位置を補正する。
【００２６】
この通信装置によれば、上記第１の時間区間および上記第２の時間区間は実際の電力線のインピーダンスの変化点よりも後にずれる傾向があり、この変化点の位置を補正することで、確実にインピーダンスの変化点において通信フレームが伝送されないようにフレーム長を制御することができる。
【００２７】
また、本発明の通信装置は、前記通信特性取得部が、前記伝送路上を伝送される通信フレームを検出することで、前記伝送路上のデータ量情報を取得し、前記通信フレーム制御部が、前記データ量情報に基づいて、前記通信フレームのフレーム長を制御するか否かを決定する。
【００２８】
この通信装置によれば、伝送路上のデータ量（つまりトラヒック）が多いときには、フレーム長の制御を禁止し、データ量が少ないときにはフレーム長の制御を行うことで、最適な通信特性を維持しつつ、伝送効率が低下することが防止できる。
【００２９】
また、本発明の通信方法は、伝送路を介して、他の通信装置へのデータの伝送を行う通信方法であって、前記データを格納する通信フレームを生成し、前記伝送路の通信特性を取得し、前記通信特性に基づいて、前記通信フレームのフレーム長を制御する。
【００３０】
この通信方法によれば、伝送路状態が一定でない場合であっても、最適な通信特性を維持することができるとともに、伝送効率が低下することを防止可能である。例えば、通信特性が劣化する可能性がある時間区間においてのみ通信フレームの伝送を実施しないように制御することができる。
【００３１】
また、本発明の集積回路は、伝送路を介して、他の通信装置へのデータの伝送を行う通信装置に用いられる集積回路であって、前記データを格納する通信フレームを生成する通信フレーム生成部と、前記伝送路の通信特性を取得する通信特性取得部と、前記通信特性に基づいて、前記通信フレームのフレーム長を制御する通信フレーム制御部とを備える。
【００３２】
この集積回路によれば、伝送路状態が一定でない場合であっても、最適な通信特性を維持することができるとともに、伝送効率が低下することを防止可能である。例えば、通信特性が劣化する可能性がある時間区間においてのみ通信フレームの伝送を実施しないように制御することができる。
【発明の効果】
【００３３】
本発明によれば、伝送路状態が一定でない場合であっても、最適な通信特性を維持することができるとともに、伝送効率が低下することを防止可能である。
【発明を実施するための最良の形態】
【００３４】
以下、本発明の実施形態の通信装置について、図面を用いて説明する。
【００３５】
図１は、電力線通信装置の一例であるＰＬＣ（Ｐｏｗｅｒ  Ｌｉｎｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）モデム１００の前面を示す外観斜視図、図２は、ＰＬＣモデム１００の背面を示す外観斜視図である。図１、図２に示すＰＬＣモデム１００は、筐体１０１を有しており、筐体１０１の前面には、図１に示すようにＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）等の表示部１０５が設けられている。
【００３６】
また、筐体１０１の背面には、図２に示すように電源コネクタ１０２、及びＲＪ４５等のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）用モジュラージャック１０３、及び動作モード（親機モード／子機モード）を切換える切換えスイッチ１０４が設けられている。
【００３７】
また、筐体の上面には、ボタン１０６が設けられている。ボタン１０６は、ＰＬＣモデム１００を通信可能状態とするための処理（登録処理）を開始するためのセットアップボタンとしての機能を有する。尚、例示として筐体１０１の上面に設けるとしたが、この位置に限られることはない。
【００３８】
電源コネクタ１０２には、図示しない電源ケーブルが接続され、モジュラージャック１０３には、図示しないＬＡＮケーブルが接続される。なお、ＰＬＣモデム１００には、さらにＤｓｕｂ（Ｄ−ｓｕｂｍｉｎｉａｔｕｒｅ）コネクタを設け、Ｄｓｕｂケーブルを接続するようにしてもよい。
【００３９】
なお、電力線通信装置の一例としてＰＬＣモデム１００を示したが、電力線通信装置としては、ＰＬＣモデムを内蔵した電気機器でもよい。電気機器としては、例えば、テレビ、電話、ビデオデッキ、セットトップボックスなどの家電機器や、パーソナルコンピュータ、ファクス、プリンターなどの事務機器がある。
【００４０】
また、ＰＬＣモデム１００は、電力線７００に接続され、他のＰＬＣモデム１００と共に電力線通信システムを構成する。
【００４１】
次に、図３に、主にＰＬＣモデム１００のハードウェア構成の一例を示す。ＰＬＣ１００は、回路モジュール２００及びスイッチング電源３００を有している。スイッチング電源３００は、各種（例えば、＋１．２Ｖ、＋３．３Ｖ、＋１２Ｖ）の電圧を回路モジュール２００に供給するものであり、例えば、スイッチングトランス、ＤＣ−ＤＣコンバータ（いずれも図示せず）を含んで構成される。
【００４２】
回路モジュール２００には、メインＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）２１０、ＡＦＥ・ＩＣ（Ａｎａｌｏｇ  Ｆｒｏｎｔ  Ｅｎｄ・Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）２２０、イーサネット（登録商標）ＰＨＹ・ＩＣ（Ｐｈｙｓｉｃａｌ  ｌａｙｅｒ・Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）２３０、メモリ２４０、ローパスフィルタ（ＬＰＦ）２５１、ドライバＩＣ２５２、バンドパスフィルタ（ＢＰＦ）２６０、カプラ２７０、ＡＭＰ（増幅器）ＩＣ２８１、ＡＤＣ（ＡＤ変換）ＩＣ２８２、ＡＣサイクル検出器６０が設けられている。スイッチング電源３００及びカプラ２７０は、電源コネクタ１０２に接続され、さらに電源ケーブル６００、電源プラグ４００、コンセント５００を介して電力線７００に接続される。なお、メインＩＣ２１０は電力線通信を行う制御回路として機能する。
【００４３】
メインＩＣ２１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１１、ＰＬＣ・ＭＡＣ（Ｐｏｗｅｒ  Ｌｉｎｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ・Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  ｌａｙｅｒ）ブロック２１２、及びＰＬＣ・ＰＨＹ（Ｐｏｗｅｒ  Ｌｉｎｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ・Ｐｈｙｓｉｃａｌ  ｌａｙｅｒ）ブロック２１３で構成されている。
【００４４】
ＣＰＵ２１１は、３２ビットのＲＩＳＣ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ）プロセッサを実装している。ＰＬＣ・ＭＡＣブロック２１２は、送受信信号のＭＡＣ層（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  ｌａｙｅｒ）を管理し、ＰＬＣ・ＰＨＹブロック２１３は、送受信信号のＰＨＹ層（Ｐｈｙｓｉｃａｌ  ｌａｙｅｒ）を管理する。
【００４５】
ＡＦＥ・ＩＣ２２０は、ＤＡ変換器（ＤＡＣ；Ｄ／Ａ  Ｃｏｎｖｅｒｔｅｒ）２２１、ＡＤ変換器（ＡＤＣ；Ａ／Ｄ  Ｃｏｎｖｅｒｔｅｒ）２２２、及び可変増幅器（ＶＧＡ；Ｖａｒｉａｂｌｅ  Ｇａｉｎ  Ａｍｐｌｉｆｉｅｒ）２２３で構成されている。カプラ２７０は、コイルトランス２７１、及びカップリング用コンデンサ２７２ａ、２７２ｂで構成されている。
【００４６】
なお、ＣＰＵ２１１は、メモリ２４０に記憶されたデータを利用して、ＰＬＣ・ＭＡＣブロック２１２、及びＰＬＣ・ＰＨＹブロック２１３の動作を制御するとともに、ＰＬＣモデム１００全体の制御も行う。
【００４７】
ＰＬＣモデム１００による通信は、概略次のように行われる。モジュラージャック１０３から入力されたデータは、イーサネット（登録商標）ＰＨＹ・ＩＣ２３０を介してメインＩＣ２１０に送られ、デジタル信号処理を施すことによってデジタル送信信号が生成される。生成されたデジタル送信信号は、ＡＦＥ・ＩＣ２２０のＤＡ変換器（ＤＡＣ）２２１によってアナログ信号に変換され、ローパスフィルタ２５１、ドライバＩＣ２５２、カプラ２７０、電源コネクタ１０２、電源ケーブル６００、電源プラグ４００、コンセント５００を介して電力線７００に出力される。
【００４８】
電力線７００から受信された信号は、カプラ２７０を経由してバンドパスフィルタ２６０に送られ、ＡＦＥ・ＩＣ２２０の可変増幅器（ＶＧＡ）２２３でゲイン調整がされた後、ＡＤ変換器（ＡＤＣ）２２２でデジタル信号に変換される。そして、変換されたデジタル信号は、メインＩＣ２１０に送られ、デジタル信号処理を施すことによって、デジタルデータに変換される。変換されたデジタルデータは、イーサネット（登録商標）ＰＨＹ・ＩＣ２３０を介してモジュラージャック１０３から出力される。
【００４９】
回路モジュール２００に設けられたＡＣサイクル検出器６０は、互いに通信を行う複数台のＰＬＣモデム１００が共通のタイミングで制御を実施するために必要な同期信号を生成する。つまり、ＡＣサイクル検出器６０は電力線７００に供給される交流電源波形に同期した信号を生成する。
【００５０】
ＡＣサイクル検出器６０は、ダイオードブリッジ６０ａ、抵抗器６０ｂ、６０ｃ、直流電源供給部６０ｅ、およびコンデンサ６０ｄで構成される。ダイオードブリッジ６０ａの出力は抵抗器６０ｂに接続される。抵抗器６０ｂと抵抗器６０ｃは直列に接続される。抵抗器６０ｂおよび６０ｃは、コンデンサ６０ｄの一方の端子に並列に接続される。直流電源供給部６０ｅは、コンデンサ６０ｄの他方の端子に接続されている。
【００５１】
このＡＣサイクル検出器６０は、具体的には次のように動作する。すなわち、電力線７００に供給される商用の交流電源波形ＡＣ、つまり５０Ｈｚ又は６０Ｈｚの正弦波からなる交流波形のゼロクロス点を検出し、このタイミングを基準とする同期信号を生成する。同期信号の具体例としては、交流電源波形のゼロクロス点に同期した複数のパルスからなる矩形波が用いられる。なお、本信号は後述では交流電源波形の位相を決定するのに用いるため、交流電源の任意の電圧を検出する回路で代用することも可能である。
【００５２】
次に、メインＩＣ２１０によって実現されるデジタル信号処理の一例について説明する。ＰＬＣモデム１００は、複数のサブキャリアを用いて生成されるＯＦＤＭ（Ｏｒｔｈｏｇｏｎａｌ  Ｆｒｅｑｕｅｎｃｙ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅｘｉｎｇ：直交周波数分割多重）信号などのマルチキャリア信号を伝送用の信号として使用するものである。ＰＬＣモデム１００は、送信対象のデータをＯＦＤＭ信号などのマルチキャリア送信信号に変換して出力すると共に、ＯＦＤＭ信号などのマルチキャリア受信信号を処理して受信データに変換する。これらの変換のためのデジタル信号処理は、主としてＰＬＣ・ＰＨＹブロック２１３で行われる。
【００５３】
ＰＬＣ・ＰＨＹブロック２１３によって実現されるデジタル信号処理を行うために必要とされる機能上の構成の一例が図４に示されている。図４に示す例では、ウェーブレット変換を利用するＯＦＤＭ伝送を行う場合の構成を示してある。図４に示すように、ＰＬＣ・ＰＨＹブロック２１３は、変換制御部８１０、シンボルマッパ８１１、シリアル−パラレル（Ｓ／Ｐ）変換器８１２、逆ウェーブレット変換器８１３、ウェーブレット変換器８１４、パラレル−シリアル（Ｐ／Ｓ）変換器８１５、デマッパ８１６の各機能を有している。
【００５４】
シンボルマッパ８１１は、送信すべきビットデータをシンボルデータに変換し、各シンボルデータに従ってシンボルマッピング（例えばＰＡＭ（Pulse Amplitude Modulation）変調）を行うものである。シリアル−パラレル変換器８１２は、マッピングされた直列のデータを入力し並列のデータに変換して出力する。逆ウェーブレット変換器８１３は、並列データを逆ウェーブレット変換し、時間軸上のデータとするものであり、伝送シンボルを表すサンプル値系列を生成するものである。このデータは、ＡＦＥ・ＩＣ２２０のＤＡ変換器（ＤＡＣ）２２１に送られる。
【００５５】
ウェーブレット変換器８１４は、ＡＦＥ・ＩＣ２２０のＡＤ変換器（ＡＤＣ）２２２から得られる受信デジタルデータ（送信時と同一のサンプルレートでサンプルされたサンプル値系列）を周波数軸上へ離散ウェーブレット変換するものである。パラレル−シリアル変換器８１５は、周波数軸上のデータとして入力される並列データを並び替えて直列データに変換し出力する。デマッパ８１６は、各サブキャリアの振幅値を計算し、受信信号の判定を行って受信データを求めるものである。
【００５６】
本実施形態におけるＰＬＣモデム１００は、特徴的な制御として、「伝送速度の安定化制御」と、「ＡＣ同期フレーム長制御」との２つを実施する。以下、第１の実施形態で「伝送速度の安定化制御」について、第２の実施形態で「ＡＣ同期フレーム長制御」について、第３の実施形態で伝送速度の安定化制御とＡＣ同期フレーム長制御を組み合わせた場合の処理について説明する。
【００５７】
（第１の実施形態）
図５は、本発明の第１の実施形態におけるＰＬＣモデム１００の機能ブロック図である。図５に示すＰＬＣモデム１００は、通信パラメータ設定部１１、通信性能取得部１２、比較部１３、および通信部１４を有して構成される。図５に示すように、通信パラメータ設定部１１、通信性能取得部１２、及び比較部１３は、ＣＰＵ２１１に内包されている機能ブロックであり、通信部１４は、ＰＬＣ・ＭＡＣ２１２、ＰＬＣ・ＰＨＹ２１３に内包されている機能ブロックである。
【００５８】
通信パラメータ設定部１１は、複数のＴＭ（ＴｏｎｅＭａｐ：トーンマップ）から、１つのＴＭを決定する。ＴＭは、例えばメインＩＣ２１０、またメモリ２４０に記憶されており、マルチキャリア信号のサブキャリア毎に、適用する一次変調の種類、誤り訂正モードの種類などの通信パラメータの一式をまとめて保持している。ＰＬＣモデム１００は、様々な伝送路特性を考慮して相手先モデム毎に少なくとも１つの複数のＴＭを備えている。通信パラメータ設定部１１には、通常通信時には一つのＴＭの通信パラメータが設定されている。
【００５９】
ＴＭは、一つの相手先モデムに対して複数備えることができる。つまり、後述のＣＥ要求／ＣＥＲの結果に基づいて必要時に新たにＴＭ生成した場合、それまでの通信で使用していたＴＭ（現行ＴＭ）と新たに生成したＴＭ(新ＴＭ）のパラメータを保持することができる。なお、後述では現行ＴＭと新ＴＭの２つを保持している場合について説明するが、現行ＴＭとして複数のＴＭを保持し、複数の現行ＴＭと新ＴＭを用いて評価するようにしてもよい。
【００６０】
通信部１４は、通信パラメータ設定部１１が決定した通信パラメータに応じた変調方式などを用いて、共通の電力線７００に接続された他のＰＬＣモデム１００との間で通信を行う。
【００６１】
通信性能取得部１２は、通信部１４による通信性能の情報を取得する。通信性能の具体例としては、再送の発生頻度（以下、再送率ともいう）や伝送速度（単位時間当たりのデータ情報量、例えばパケット数なども含む）などが考えられる。
【００６２】
比較部１３は、複数の通信パラメータのそれぞれについて通信性能取得部１２が取得した通信性能の情報を用いて、複数の通信パラメータの優劣を比較する。比較部１３の比較結果が通信パラメータ設定部１１に出力される。通信パラメータ設定部１１は、比較部１３の比較結果を反映して、次回の通信のための通信パラメータを決定する。
【００６３】
次に、本実施形態のＰＬＣモデム１００の主要な処理の内容について説明する。
ＰＬＣモデム１００は、ＴＭとして、現行ＴＭ、新ＴＭの２組の候補を想定し、２組の候補の中でいずれが優れているか、すなわち、いずれが伝送路としての電力線７００の特性に合っているかを識別するための処理を実行する。実行の結果、いずれか一つのＴＭを採用する。ここで、現行ＴＭは、先に決定あるいは選択したＴＭを表す。また、新ＴＭは、現行ＴＭの後に選択された新たな候補のＴＭを表す。
【００６４】
図６および図７は、ＰＬＣモデム１００が伝送速度の安定化制御を行う際の動作の一例を示すフローチャートである。ここでは、図８および図９を参照しながら、説明を行う。また、図６の処理の開始時点で現行ＴＭは既に定められているものとする。
【００６５】
ステップＳ１１では、通信パラメータ設定部１１は、現行ＴＭを選択し、通信部１４に通知する。
【００６６】
ステップＳ１２では、通信部１４は、通信パラメータ設定部１１から通知された現行ＴＭに基づいて通信パラメータを決定し、送信対象の任意のデータを電力線７００に送信する。この時に、通信性能取得部１２は、伝送エラーの発生によって再送が発生したか否かを把握し、検出された再送率の情報（再送率Ｒｅｔ１）を例えばメモリ２４０に保存する。
【００６７】
ステップＳ１３では、比較部１３は、所定時間（例えば図８では４秒）が経過したか否かを識別する。所定時間が経過すると、次のステップＳ１４に進む。なお、所定期間が経過するまでは、送信すべきデータがある場合には、所定のタイミングで現行ＴＭに基づくパラメータで送信を行う。送信すべきデータがない場合には実データとは関係ない評価のためだけのダミーデータを送信してもよい。このように、４秒間における再送率を観察するため、ある程度は信頼のおける再送率情報を得ることができる。
【００６８】
ステップＳ１４では、通信部１４は、電力線７００を介して他のＰＬＣモデム１００宛てにチャネル推定要求（ＣＥ：Channel Estimation）を送信する。ＣＥには、自局のＰＬＣモデム１００と他局である他のＰＬＣモデム１００との間であらかじめ両者が認識している既知の信号が含まれる。
【００６９】
ステップＳ１５では、他のＰＬＣモデム１００からチャネル推定要求レスポンス（ＣＥＲ：Channel Estimation Response）が送信されるので、これを通信性能取得部１２が受信する。ＣＥＲには、受信した既知の信号に対する評価情報（例えばマルチキャリアの各サブキャリアごとのＣＩＮＲ（Ｃａｒｒｉｅｒ  ｔo  Ｉｎｔｅｒｆｅｒｅｎｃｅ  ａｎｄ  Ｎｏｉｓｅ  ｐｏｗｅｒ Ｒａｔｉｏ）や、それに基づく伝送速度情報（ＰＨＹ速度)などの伝送路状態を示す情報）に基づく新ＴＭが含まれる。
【００７０】
なお、ＣＥ要求／ＣＥＲの実施は、定期的に行われるものとは別に、現行ＴＭが未だに定まっていない状態のとき（例えばＰＬＣモデム１００の動作開始時）、電力線７００の特性状態が急激に変化したとき（例えば電力線７００に接続されている電気機器が大きく変化したとき）にも行われる。
【００７１】
ステップＳ１６では、通信パラメータ設定部１１は、ＣＥＲに含まれる新ＴＭを取得する。
【００７２】
ステップＳ１７では、通信性能取得部１２は、現行ＴＭとステップＳ１２で保存した再送率Ｒｅｔ１（４秒間の検出結果）とを取得し、比較部１３は、これらに基づいて現行ＴＭの実効伝送レート、つまり再送を考慮した伝送速度Ｒ１１を算出する。
【００７３】
ステップＳ１８では、比較部１３は、ステップＳ１６で選択された新ＴＭに基づき、新ＴＭの理論上最大の実効伝送レートＲ２１を算出する。具体的には、再送率が０であるものと仮定して新ＴＭから実効伝送レートＲ２１を算出する。具体的には現行ＴＭから得られる伝送速度（ＰＨＹ速度)に（１−Ｒｅｔ１）と効率係数α１を乗算した値をＲ１１とする。なお、α１はＰＨＹ速度に基づくフレーム長やフレーム間ギャップなどの影響を考慮した伝送効率を表す指標であり、０から１の間の値とする。この段階では「新ＴＭ」に関する再送率の情報は必要ない。
【００７４】
ステップＳ１９では、比較部１３は、ステップＳ１７で算出された現行ＴＭの実効伝送レートＲ１１と、ステップＳ１８で算出された新ＴＭの実効伝送レートＲ２１を比較する。そして、Ｒ１１がＲ２１よりも大きい場合には、ステップＳ３３に遷移し、新ＴＭに比べて現行ＴＭの通信性能（再送を考慮した伝送速度）が優れていると判断から、通信パラメータ設定部１１は、今後使用する通信パラメータとして現行ＴＭの通信パラメータを採用し、処理を終了する。一方、Ｒ１１がＲ２１以下である場合には、次のステップＳ２０に進む。
【００７５】
つまり、ステップＳ１９の条件を満たす場合には、これ以降の処理を打ち切り、図８に示す「第１トレーニング処理」、「第２トレーニング処理」、「第３トレーニング処理」、「第４トレーニング処理」には進まない。すなわち、再送率が０の場合でも「新ＴＭ」の実効伝送レートＲ２１が「現行ＴＭ」に比べて劣っているということは、「新ＴＭ」の実際の再送率を取得しても比較結果は変わらない。ステップＳ１９で、以降の処理を省略することで、不要な処理を省略できる。伝送速度の低下を抑制するのにも役立つ。
【００７６】
ステップＳ２０では、ＰＬＣモデム１００は、所定期間（例えば１００ｍｓｅｃの期間）に渡って、第１トレーニング処理を実行する。第１トレーニング処理では、通信部１２が、新ＴＭおよび現行ＴＭの通信パラメータを用いて送信対象の任意のデータを電力線７００に送信する。この時に、伝送エラーの発生によって再送が発生したか否かを通信性能取得部１２により把握し、検出された再送率の情報（新ＴＭの再送率Ｒｅｔ２１）を例えばメモリ２４０に保存する。
【００７７】
第１トレーニング処理中には、通信部１４が使用する通信パラメータは、図９に示すモードＡのように、通信パラメータ設定部１１により周期的に交互に切り替えられる。すなわち、通信部１４は、現行ＴＭを用いて２回送信した後、新ＴＭを用いて２回送信し、再び現行ＴＭを用いて２回送信し、以下同様に２回の送信毎に通信パラメータを通信パラメータ設定部１１が交互に切り替える。なお、ここでは２回ずつ交互に切り替えるとしたが、他の回数毎に繰り返してもよい。
【００７８】
但し、再送率Ｒｅｔ２１に関する情報を取得するのは、通信部１４が通信パラメータとして新ＴＭを選択している期間のみである。つまり、再送率Ｒｅｔ２１は、新ＴＭに関する再送率である。
【００７９】
図９に示すモードＡのように、現行ＴＭと新ＴＭとを周期的に交互に切り替えることで、トレーニング期間中に伝送レートが異常に低下するのを避けることができる。すなわち、第１トレーニング処理を実施する段階では、新ＴＭの伝送レートが非常に低い可能性もあるため、図９に示すモードＢのように、新ＴＭだけを使用すると伝送レートが著しく低下する場合がある。しかし、現行ＴＭと新ＴＭとを交互に切り替えてデータ伝送に利用することにより、局所的に発生する伝送レートの低下に対応することができる。
【００８０】
図９に示すモードＡのように、現行ＴＭと新ＴＭとを周期的に交互に切り替える場合には、例えば伝送路状態が交流電源波形（ＡＣ波形）の周期に同期して「悪」、「良」、「悪」、「良」、「悪」、・・・と変化し、劣悪状態が現行ＴＭ、新ＴＭのいずれかに偏り、再送率Ｒｅｔ２１が正しく伝送路の状態を反映しないことも考えられる。しかし、本実施形態のトレーニング処理全体を十分な時間長さで行うことにより、周期的な劣悪状態を反映させずに、最良のＴＭを選択することが可能となる。
【００８１】
ステップＳ２１では、比較部１３は、新ＴＭとステップＳ２０で取得した再送率Ｒｅｔ２１とに基づいて、新ＴＭの実効伝送レート（再送を考慮した伝送速度）Ｒ２２を算出する。
【００８２】
ステップＳ２２では、比較部１３は、ステップＳ１７で算出された現行ＴＭの実効伝送レートＲ１１とステップＳ２２で算出された新ＴＭの実効伝送レートＲ２２とを比較する。ここで、ΔＲは所定閾値（例えば定数）である。そして、Ｒ１１がＲ２２とΔＲとの和よりも大きい場合には、ステップＳ３３に遷移し、新ＴＭに比べて現行ＴＭの通信性能（再送を考慮した伝送速度）が優れていると判断から、通信パラメータ設定部１１は、今後使用する通信パラメータとして現行ＴＭの通信パラメータを採用し、ここで処理を終了する。それ以外の場合には、ステップＳ２３に進む。
【００８３】
つまり、ステップＳ２２の条件を満たす場合には、これ以降の処理を打ち切り、図８に示す「第２トレーニング処理」、「第３トレーニング処理」、「第４トレーニング処理」には進まない。すなわち、閾値ΔＲを加えた条件であっても、新ＴＭの実効伝送レートＲ２２が現行ＴＭに比べて劣っているということは、より正確な再送率を取得するためにこれ以降の処理を継続しても、比較結果は変わらない可能性が高い。ステップＳ２２で処理を打ち切ることで不要な処理を省略できる。伝送速度の低下を抑制するのにも役立つ。
【００８４】
ステップＳ２３では、ＰＬＣモデム１００は、１００ｍｓｅｃの期間に渡って第２トレーニング処理を実行する。第２トレーニング処理の内容は、第１トレーニング処理と同様であるが、第２トレーニング処理で取得する情報は第１トレーニング処理および第２トレーニング処理の２処理から得られる再送率Ｒｅｔ２２として、再送率Ｒｅｔ２１とは区別する。
【００８５】
つまり、図８に示すように、第１トレーニング処理を１００ｍｓｅｃの期間に渡って実施した後、更に第２トレーニング処理を１００ｍｓｅｃの期間に渡って実施し、合計で２００ｍｓｅｃに渡って新ＴＭの再送率を取得する。
【００８６】
ステップＳ２４では、比較部１３は、新ＴＭとステップＳ２０とステップＳ２３で取得した再送率Ｒｅｔ２２とに基づいて、新ＴＭの実効伝送レートＲ２３を算出する。具体的には、新ＴＭから得られる伝送速度（ＰＨＹ速度)に（１−Ｒｅｔ２２）と効率係数α２を乗算した値をＲ２３とする。なお、α２はＰＨＹ速度に基づくフレーム長やフレーム間ギャップなどの影響を考慮した伝送効率を表す指標であり、０から１の間の値とする。α１とα２は簡易的に等しい値を用いてもよい。
【００８７】
ステップＳ２５では、比較部１３は、ステップＳ１７で算出された現行ＴＭの実効伝送レートＲ１１とステップＳ２４で算出された新ＴＭの実効伝送レートＲ２３を比較する。そして、Ｒ１１がＲ２３よりも大きい場合には、ステップＳ３３に遷移し、新ＴＭに比べて現行ＴＭの通信性能（再送を考慮した伝送速度）が優れていると判断から、通信パラメータ設定部１１は、今後使用する通信パラメータとして現行ＴＭの通信パラメータを採用し、ここで処理を終了する。それ以外の場合はステップＳ２６に進む。
【００８８】
つまり、ステップＳ２５の条件を満たす場合には、これ以降の処理を打ち切り、図８に示す「第３トレーニング処理」、「第４トレーニング処理」には進まない。すなわち、新ＴＭの実効伝送レートＲ２３が現行ＴＭに比べて劣っているということは、より正確な再送率を取得するためにこれ以降の処理を継続しても、比較結果は変わらない可能性が高い。ステップＳ２５で処理を打ち切ることで、不要な処理を省略できる。伝送速度の低下を抑制するのにも役立つ。
【００８９】
ステップＳ２６では、ＰＬＣモデム１００は、１８００ｍｓｅｃの期間に渡って第３トレーニング処理を実行する。第３トレーニング処理では、新ＴＭの通信パラメータを用いて送信対象の任意のデータを電力線７００に送信する。この時に、伝送エラーの発生によって再送が発生したか否かを把握し、検出された再送率の情報（新ＴＭの再送率Ｒｅｔ２３）を例えばメモリ２４０に保存する。
【００９０】
また、第３トレーニング処理では、第１トレーニング処理の場合とは異なり、１８００ｍｓｅｃの全期間に渡って、新ＴＭの通信パラメータを固定して使用する。すなわち、第３トレーニング処理に移行した段階では、新ＴＭの伝送速度が非常に低い可能性は小さいので、現行ＴＭを使用しなくても伝送速度の大きな低下は生じないと考えられる。また、新ＴＭの通信パラメータに固定することにより、例えば図９に示すように電力線７００の状態が周期的に変動する場合であっても、周期内の平均的な特性を反映した再送率Ｒｅｔ２３を取得できる。
【００９１】
第３トレーニング処理を実行する時間の長さは、第１トレーニング処理および第２トレーニングとは異なり、１８００ｍｓｅｃと比較的長いため、より精度の高い再送率の情報を取得することが可能となる。第３トレーニング処理の時間長さは、第１トレーニング処理の期間（１００ｍｓｅｃ）と第２トレーニング処理の期間（１００ｍｓｅｃ）の和の５倍以上が好ましい。なお、図６および図７に示す処理は繰り返し実行されるため、第１トレーニング処理〜第３トレーニング処理の時間長さが長くなり過ぎないように、ステップＳ１２を実行する時間（４秒）の半分程度に第３トレーニング処理の長さを設定することが望ましい。
【００９２】
ステップＳ２７では、比較部１３は、新ＴＭ、ステップＳ２６で取得した再送率Ｒｅｔ２３に基づいて、新ＴＭの実効伝送レートＲ２４を算出する。具体的には、新ＴＭから得られる伝送速度（ＰＨＹ速度）に（１−Ｒｅｔ２３）と効率係数α２を乗算した値をＲ２４とする。なお、α２はＳ２４で用いた値に等しい。なお、Ｒｅｔ２３については第１トレーニング処理、第２トレーニング処理、第３トレーニング処理の全ての処理からもとまる新ＴＭに関する再送率としてもよい。
【００９３】
ステップＳ２８では、比較部１３は、ステップＳ１７で算出された現行ＴＭの実効伝送レートＲ１１とステップＳ２７で算出された新ＴＭの実効伝送レートＲ２４とを比較する。そして、Ｒ１１がＲ２４より大きい場合には、ステップＳ２９に進み、それ以外の場合には、ステップＳ３０に進む。
【００９４】
ステップＳ２９では、これまでの評価の結果、新ＴＭに比べて現行ＴＭの通信性能（再送を考慮した伝送速度）が優れていると判断できたので、通信パラメータ設定部１１は、今後使用する通信パラメータとして現行ＴＭの通信パラメータを採用する。
【００９５】
ステップＳ３０では、これまでの評価の結果、現行ＴＭに比べて新ＴＭの通信性能（再送を考慮した伝送速度）が優れていると判断できたので、通信パラメータ設定部１１は、今後使用する通信パラメータとして新ＴＭの通信パラメータを採用する。
【００９６】
ステップＳ３１では、ＰＬＣモデム１００は、３００ｍｓｅｃの期間に渡って第４トレーニング処理を実行する。第４トレーニング処理は、ステップＳ２８の比較結果とは無関係に実行する。つまり、ステップＳ２９、Ｓ３０を実行する以前の現行ＴＭ（旧現行ＴＭ）の通信パラメータを用いて送信対象の任意のデータを電力線７００に送信する。この時に、伝送エラーの発生によって再送が発生したか否かを把握し、検出された再送率の情報（旧現行ＴＭの再送率Ｒｅｔ１ｘ）を例えばメモリ２４０に保存する。なお、第４トレーニング処理では３００ｍｓｅｃの全期間に渡って、使用する通信パラメータは旧現行ＴＭの通信パラメータに固定する。
【００９７】
ステップＳ３２では、比較部１３は、再送率Ｒｅｔ１ｘがＳ１２で取得した再送率Ｒｅｔ１や、それ以前に同じ現行ＴＭで取得した再送率Ｒｅｔ１ｙと比較して所定閾値ΔＲｘ以上の差がある場合には、電力線７００の特性が第１トレーニング処理〜第３トレーニング処理の処理中とは大きく変化し、トレーニングにより設定したステップＳ２９、３０以降の現行ＴＭのパラメータが使用できなくなったと判断する。この場合にはＣＥ要求／ＣＥＲの実施を行い、変化後の伝送路に対する処理を新規に開始する。それ以外の場合には、処理を終了する。
【００９８】
第４トレーニング処理は、第１トレーニング処理〜第３トレーニング処理が終了するまでに２秒間程度が必要になり、実際にはこれを数回繰り返すので、この間の電力線７００の特性変化の影響によって、第１トレーニング処理〜第３トレーニング処理により求めたＴＭが確実に使用できるものであることを確認することができる。つまり、第４トレーニング処理による再送率Ｒｅｔ１ｘを参照することで、伝送路の状態に大きな変化が生じていないことを確認し、ステップＳ２９、Ｓ３０において採用されたＴＭの信頼性が高いことを保証している。なお、第４のトレーニング処理の目的は伝送路変化の検出のため、再送率に限らず、他の指標、例えば誤り訂正率、伝送速度等の指標および、それらの組み合わせをステップＳ１４以前に取得した同じ指標の値と比較することで伝送路の変化を検出してもよい。
【００９９】
図６および図７の処理を行うことで、現行ＴＭと新ＴＭの切り替えを実施する前に、変更前のＴＭと変更後のＴＭのいずれの通信パラメータが優れているか、あるいは適しているかを正しく判定することが可能となる。例えば、変更後の通信パラメータを使用すると変更前の新パラメータを使用する場合よりも高いデータ伝送速度が得られるが、その代わりに再送率が増加し、実行速度が低下するという状況を回避可能である。
【０１００】
また、電力線７００上の交流電源により定期的にノイズが発生していても、的確なＴＭを選択することが可能となる。
【０１０１】
また、電力線７００上に短期的に大きなノイズが発生したとしても、伝送路状態の判定のために十分な時間をかける第１トレーニング処理〜第４トレーニング処理を行うことで、的確なＴＭを選択することができる。
【０１０２】
また、図６および図７に示した処理の中で使用している実効伝送レートＲ１１については、トレーニングを開始する前の通常のデータ伝送で事前に検出し保存した再送率Ｒｅｔ１に基づいているので、現行ＴＭと新ＴＭとの間に大きな再送率の偏りが生じることを回避可能である。
【０１０３】
また、新ＴＭを選択する際に、たまたま大きなノイズが伝送路に現れたとしても、その影響を受けて伝送速度の非常に低いＴＭを使用したトレーニングを行わない。これにより、一時的にあるいは瞬間的に異常に低い伝送速度に切り替わり、伝送速度が不安定になることを回避可能である。
【０１０４】
また、第１トレーニング処理や第２トレーニング処理で取得する再送率については、現行ＴＭと新ＴＭを交互に切り替えることの悪影響（偏り）が生じる可能性があるが、第３トレーニング処理において新ＴＭの通信パラメータに固定するので、悪影響がＴＭ選択に反映されることがない。また、第３トレーニング処理の期間は第１トレーニング処理及び第２トレーニング処理よりも十分に長いので、精度の高い再送率が得られる。
【０１０５】
特に、電力線７００を伝送路として利用する場合には、様々なノイズが電力線７００に現れるので、通信特性が変動し、伝送速度が低下したり、再送の発生頻度が高くなったりしやすい。このような適切なＴＭの通信パラメータを選択することで、安定した通信を行うことが可能となる。
【０１０６】
なお、本実施形態では、通信システムとして電力線を伝送路として使用する電力線通信システムについて説明したが、例えば無線ＬＡＮなどの通信装置によって構成される無線システムにおいて本実施形態に適用してもよい。
【０１０７】
（第２の実施形態）
図１０は、本発明の第２の実施形態におけるＰＬＣモデム１００の機能ブロック図である。図１０に示すＰＬＣモデム１００は、通信フレーム生成部２１、通信フレーム制御部２２、通信特性取得部２３、通信部２４を有して構成される。図１０に示すように、通信フレーム生成部２１、通信フレーム制御部２２、および通信性能取得部２３は、ＣＰＵ２１１に内包されている機能ブロックであり、通信部２４は、ＰＬＣ・ＭＡＣ２１２、ＰＬＣ・ＰＨＹ２１３に内包されている機能ブロックである。
【０１０８】
通信フレーム生成部２１は、通信フレーム制御部２２から出力される制御信号に基づいてフレーム長を決定し、そのフレーム長の通信フレームを生成する。
【０１０９】
通信部２４は、通信フレーム生成部２１が生成した通信フレームの中に送信すべきデータのパケットを格納し、ＰＬＣフレームとして電力線７００に送信する。また、応答フレームを受信して、先の送信データの受信の成否を判断する。
【０１１０】
通信特性取得部２３は、通信部２４が送信したＰＬＣフレームの実際の通信状態（例えば伝送エラーの発生状況）に基づいて、電力線７００におけるインピーダンスの変化点（以下、Ｚ変動点ともいう）を通信特性として検出する。通信特性には、インピーダンスを加味した伝送路特性が含まれる。ここでは、Ｚ変動は周期的に発生することを想定しており、通信特性については、ＡＣサイクル検出器６０が出力する同期信号に同期して、交流電源波形の１周期内の相対的なタイミングの情報として出力する。
【０１１１】
通信フレーム制御部２２は、通信特性取得部２３が取得した通信特性のタイミングに基づいて、フレーム長を制御するための制御信号を生成する。すなわち、Ｚ変動点の近傍のタイミングで、ＰＬＣフレームを送出しないようにフレーム長を制限する。
【０１１２】
また、第１の実施形態と同様に、例えばメインＩＣ２１０またはメモリ２４０にＴＭが記憶されており、ＴＭは各種通信パラメータの一式をまとめて保持している。
【０１１３】
次に、本実施形態のＰＬＣモデム１００の主要な処理の内容について説明する。
図１１に示したＰＬＣフレームＦ２１、Ｆ２２、Ｆ２３のように、電力線７００のインピーダンスが変化する時刻ｔ１１、ｔ１２、ｔ１３、ｔ１４（Ｚ変動点）にＰＬＣフレームが送出されないように各フレームの長さを制限する。これにより、図１１に示すように、交流電源波形に同期するインピーダンスの変動（以下、Ｚ変動ともいう）の影響によってパケットの伝送エラーが生じるのを防止できる。これがＡＣ同期フレーム長制御の概要である。
【０１１４】
このようなＡＣ同期フレーム長制御を実施するためには、Ｚ変動点を正しく把握する必要がある。本実施形態では、ＰＬＣフレームを送信し、そのＰＬＣフレームに発生した伝送エラーの状況に基づいて、Ｚ変動点を検出する。つまり、ＰＬＣフレームを送信すると、Ｚ変動点で伝送路特性の急峻な変化により伝送エラーが発生するので、実際に発生した伝送エラーからＺ変動点を認識できる。このＺ変動点を検出するために、ＰＬＣモデム１００は、多数のデータフレームを他のＰＬＣモデム１００へ繰り返し送信し、各データフレームに対して送信結果を加味した上記他のＰＬＣモデム１００応答信号（ＰＬＣ−ＡＣＫ）を受信する。
【０１１５】
ＰＬＣモデム１００が送信するＰＬＣフレームは、例えば図１２に示すように構成されている。すなわち、ヘッダとそれに続く多数（３０程度）連結されたＥｔｈｅｒパケット（以下、単にパケットという）とで構成されている。Ｚ変動やノイズが生じて伝送エラーが発生する場合、パケット毎（パケットが送信される送信区間毎）に、エラーの有無を識別できる。図１２においては、エラー無のパケットが○、エラー有のパケットが×で表してある。このパケット毎のエラーの有無は、ＰＬＣ−ＡＣＫに含まれる情報、例えばエラー無し(正常受信)を1、エラー有(受信失敗)を0とするビットマップ情報により認識可能である。
【０１１６】
ＰＬＣモデム１００は、ＰＬＣフレームの送信結果の一覧情報を格納するための「ビットマップキュー」を例えばメインＩＣ２１０またはメモリ２４０に保持している。ビットマップキューはフレーム送信情報を格納する。具体的には、送信した各々のＰＬＣフレームについて、ＡＣ周期内のどのタイミングで送信したのか、１フレームのフレーム長（フレーム送信時間でありＴＭ、Ｅｔｈｅｒパケット長などで変わる）、１フレームに何個のパケットを連結したか、各パケットのエラー有無を表す情報（ビットマップ情報）が含まれる。このビットマップキューに格納された情報に基づいて、ＰＬＣモデム１００はエラーマップを作成する。すなわち、エラーマップは、ＰＬＣフレームの送信結果を示す送信エラーの有無の情報を蓄積したものである。
【０１１７】
上記情報のうち、ＰＬＣフレームをＡＣ周期内のどのタイミングで送信したのかについては、ＡＣサイクル検出器６０から出力される同期信号の現れるタイミングを基準として、経過時間を測定することにより、求めることができる。
【０１１８】
ＰＬＣモデム１００は、図１３に示すように、通信部２４とＣＰＵ２１１、特に通信特性取得部２３とを備えており、これらは上記のようなエラーマップを作成するために使用される。
【０１１９】
通信部２４は、ＰＬＣフレームを他のＰＬＣモデム１００宛てに送信し、他のＰＬＣモデム１００からの応答であるＰＬＣ−ＡＣＫを受信する。このＰＬＣ−ＡＣＫには通信の成否を示すビットマップ情報が含まれている。このビットマップ情報を含むフレーム送信情報をビットマップキューに書き込む。また、必要に応じてビットマップキューの内容を解析し、別途再送処理等を実施する。
【０１２０】
通信特性取得部２３は、ビットマップキューから順番に情報（フレーム送信情報）を取り出して解析を行い、エラーマップを構築し、記憶する。エラーマップは、ＡＣ周期（例えば１６．７ｍｓｅｃ）内の所定時間区間毎にエラーが発生した頻度を表す情報を保持するものである。つまり、通信特性取得部２３は、ビットマップキューから取り出したフレーム送信情報に基づいて、各データフレームのエラー有無を表す情報をエラーマップ上で該当するパケットの時間の位置にマッピングする。各パケットの時間については、それが含まれるデータフレームの送信開始時刻と、該当するパケットの並び順（フレーム先頭からの距離、即ちパケット単位の送信時間）に基づいて知ることができる。
【０１２１】
なお、ＡＣ周期内の送信開始時刻はＡＣサイクル検出器６０からの入力をもとに決定するが、ＡＣサイクル検出器６０はその実装方法により、電源半周期、または電源の全周期を検出する形態を取る可能性がある。いずれをとるか、または２つの連続する電源半周期の情報をつなげて電源全周期と仮定することにより、それぞれのパターンでの判定が可能となり、かつ本実施形態においてはいずれの周期信号を用いてもよい。
【０１２２】
このような通信部２４の処理は、ＰＬＣデータフレームを送信し、そのＰＬＣ−ＡＣＫを受信する度に行われる。つまり、フレーム送信情報は複数積算されていくものであり、通信特性取得部２３はこれを基にエラーマップを作成する。
【０１２３】
次に、具体的なエラーマップの内容について説明する。
図１４は、エラーマップの内容の具体例を示すものである。図１４において、横軸は１周期内の時間（ｍｓｅｃ）を表し、縦軸はエラー率（ある時間内の総送信数辺りのエラー発生数：ビットマップ情報における×の数の積算数）を表している。図１４に示す内容は、ＡＣ周期のほぼ１周期の内容を表している。また、図１４中の時間軸の０は、ＡＣサイクル検出器６０が出力する同期信号に基づいて決定される基準タイミング（例えばゼロクロス点）に相当する。なお、商用交流電源の周波数が６０Ｈｚの場合には、エラーマップの中で、１５．４〜７．０ｍｓｅｃの範囲と、７．０〜１５．４ｍｓｅｃの範囲とをそれぞれ前半及び後半の半周期の内容として規定してある。このように前後半を規定したのは、ＡＣサイクル検出器６０の検出精度（±１ｍｓｅｃ）や、一般的なインピーダンス変動の終端時間（５．５ｍｓｅｃ付近）を考慮したためである。商用交流電源の周波数が５０Ｈｚの場合には、エラーマップの中で、１７．０〜７．０ｍｓｅｃの範囲と、７．０〜１７．０ｍｓｅｃの範囲とをそれぞれ前半及び後半の半周期の内容として規定してある。このように前後半を規定したのは、ＡＣサイクル検出器６０の検出精度（±１ｍｓｅｃ）や、一般的なインピーダンス変動の終端時間を考慮したためである。
【０１２４】
図１４を参照すると、このエラーマップにおいては、一方の半周期内の時間ｔ１〜ｔ２の区間と、もう一方の半周期内の時間ｔ３〜ｔ４の区間のそれぞれでエラー率が大きく悪化していることが分かる。つまり、図１４における時間ｔ１、ｔ２、ｔ３、ｔ４の近傍で電力線７００にＺ変動が生じ、その影響がこのエラーマップに反映されていると考えられる。
【０１２５】
図１４における各時間ｔ１、ｔ２、ｔ３、ｔ４については、各時間のエラー率と閾値（例えば定数）ｔｈ１とを比較した結果として検出できる。本実施形態では、１周期の中で最大４点のインピーダンスの変化点を検出する。この変化点は、フレーム長（以下ＦＬと呼ぶ：Ｆｒａｍｅ Ｌｅｎｇｔｈ)制御用の変化点として用いられるものであり、以下、ＦＬ制御用変化点ともいう。図１４に示すエラーマップにおいては、各時間ｔ１、ｔ２、ｔ３、ｔ４が４つのＦＬ制御用変化点に相当する。ここでは、ｔ１〜ｔ４は、エラー率が閾値ｔｈ１となるときの時間成分を示している。また、ここでは変化「点」としているが、図１４は１周期を所定時間区間毎に区分したものであるため、「点」は「時間区間」を示している。
【０１２６】
次に、ＰＬＣモデム１００がＡＣ同期フレーム長制御を行う際の動作について説明する。図１５はＰＬＣモデム１００がＡＣ同期フレーム長制御を行う際の動作の一例を示すフローチャートである。
【０１２７】
ステップＳ４１では、通信フレーム制御部２２は、ＰＬＣモデム１００が通信パラメータとして採用しているトーンマップ（ＴＭ）が不安定な状態か否かを識別し、安定するまで待機する。例えば、ＰＬＣモデム１００の電源を投入した直後は、伝送路の状態に適していないトーンマップを採用し通信している可能性が高い。その状態でエラーマップを作成すると、不適切なトーンマップに依存した内容がエラーマップに反映され、適切なフレーム長制御ができなくなる。そこで安定するまで待機する。例えば、ＰＬＣモデム１００の電源が投入された後、所定時間が経過するまで待ってから次に進む。なお、ステップＳ４１は省略してもよい。
【０１２８】
ステップＳ４２では、通信部２４が、通信データフレームの送信を繰り返し、その送信フレームに対するＰＬＣ−ＡＣＫを受信し、通信特性取得部２３が、送信結果を反映したＰＬＣ−ＡＣＫに含まれるビットマップ情報を含むフレーム送信情報の内容に基づいて、エラーマップを作成する。
【０１２９】
ステップＳ４３では、通信フレーム制御部２２は、通信特性取得部２３により取得したフレーム送信情報のサンプル数が閾値（例えば定数）以上になったか否かを識別する。送信したデータフレームの数が閾値未満であればステップＳ４２の処理を継続し、閾値以上になると次のステップＳ４４に進む。なお、閾値が大きい程、精度の高いエラーマップを作成することが可能である。
【０１３０】
ステップＳ４４では、通信特性取得部２３は、例えば図１４に示した各時間ｔ１、ｔ２、ｔ３、ｔ４の点のように、例えば４つのＦＬ制御用変化点をエラーマップから検出する。ここでは、エラーマップの中で半周期毎の始期から終期までの間でエラー率が最初に閾値ｔｈ１を超えた点を開始点（ｔ１，ｔ３）として検出し、エラー率が最後に閾値ｔｈ１を下回った点を終了点（ｔ２，ｔ４）として検出する。
【０１３１】
ステップＳ４５では、通信フレーム制御部２２は、ステップＳ４４で検出されたＦＬ制御用変化点について補正を実施する。例えば、ステップＳ４２〜Ｓ４４のような処理によって検出されるＦＬ制御用変化点は、実際のＺ変動点に比べてやや後ろよりにずれる傾向がある。
【０１３２】
そこで、ステップＳ４５では、ステップＳ４４で検出されたＦＬ制御用変化点を次のように補正する。
Ｚ変動の開始点（例えば図１４のｔ１）と終了点（例えば図１４のｔ２）の時刻が同一の場合、つまり瞬間的に閾値ｔｈ１を超えたような場合には、その１点だけをＦＬ制御用変化点として採用する。
また、Ｚ変動の開始点と終了点の幅が広い（例えばｔ２−ｔ１＞ｔｈｘ（閾値））場合には、開始点と終了点のそれぞれを所定量だけ前に移動する。図１６に示す例では、変化点の開始点Ｐ１と終了点Ｐ２の幅が広い場合は、Ｐ１、Ｐ２をそれぞれ２００μｓｅｃだけ前に移動した点Ｐ１ａ、Ｐ２ａをそれぞれ補正後の検出点とする。これにより、伝送エラーを回避して効率向上を図ることが可能である。
また、Ｚ変動の開始点と終了点の幅が狭い（例えばｔ２−ｔ１＜ｔｈｘ（閾値））場合には、終了点のみを所定量だけ後ろ側に移動する。図１６に示す例では、変化点の開始点Ｐ１と終了点Ｐ２の幅が狭い場合は、Ｐ２を２００μｓｅｃだけ後ろに移動した点Ｐ２ａを補正後の検出点とする。これにより、確実にＺ変動区間にＰＬＣフレームが現れることを回避することができる。
なお、図１６において「ＢＯ」はバックオフ時間を示している。
なお、ステップＳ４５は省略してもよい。
【０１３３】
ステップＳ４６では、通信フレーム制御部２２は、Ｚ変動点のタイミングを避けるように、通信フレーム生成部２１が生成するフレームの長さを制限する。例えば、図１１に示したＰＬＣフレームＦＬ２１を生成する際には、フレームＦＬ２１の最終パケットが電力線７００に現れるタイミングがＺ変動点に相当する時間ｔ１よりも前で終了するように、フレームＦＬ２１の長さ（もしくはこれに格納するパケットの数）を制限する。フレームＦＬ２１で送信しきれなかった残りのデータは、次以降のフレーム（ＦＬ２２，Ｆ２３）に格納するよう制御する。
【０１３４】
このような本実施形態のＰＬＣモデム１００によれば、Ｚ変動点においてＰＬＣフレームを送信することを防止することができ、再送率が低下する結果、伝送効率を向上させることができる。
【０１３５】
次に、エラーマップからＦＬ制御用変化点を検出するための処理の変形例について、図１７を参照して説明する。
【０１３６】
ステップＳ１０１では、通信特性取得部２３は、エラーマップの内容を参照し、所定の閾値ｔｈ１を超えるエラー率が存在するか否かを識別し、存在する場合は次のステップＳ１０２に進む。
【０１３７】
ステップＳ１０２では、通信特性取得部２３は、エラーマップからエラー率が閾値以上のデータのみを抽出する。これにより、小さなノイズ成分を除外する。すなわち、エラー率の低いノイズについては、ＦＬ制御の効果があまり期待できないので無視する。これにより、これ以降の処理が簡略化される。
【０１３８】
ステップＳ１０３では、通信特性取得部２３は、ステップＳ１０２で抽出したデータについて、エラー率が閾値を超えている状態が連続している区間毎に、各区間のデータを特定するためのラベリングを行う。この場合、まず、各連続区間の終了点を検出する。すなわち、Ｚ変動の回避のためには、特に変動の後ろ側が重要なので、終了点のタイミングを重視する。続いて、各連続区間について、区間内のエラー率の合計を算出し、合計が閾値（例えば定数）以下ならそのデータは除外する。これにより、インパルス性のノイズ成分を除去する。更に、各連続区間について、区間の幅（開始点から終了点までの時間幅）が閾値（例えば定数）以上なら開始点も検出する。これにより、変動幅が広いＺ変動にも対応できる。なお、Ｚ変動区間が多数ある場合には、終了点、開始点、その中間点の順に優先度をつける。
【０１３９】
ステップＳ１０４では、通信特性取得部２３は、ステップＳ１０３で検出された各連続区間のデータを、終了点、開始点、その中間点の順に優先度に基づき並べ替える。
【０１４０】
ステップＳ１０５では、通信特性取得部２３は、ステップＳ１０４で順位付けされた各連続区間のデータの中から、上位４番目までの終了点をＦＬ制御用変化点として検出する。また、ここで検出されたＦＬ制御用変化点についても、図１６に示した処理と同様にタイミングの補正を実施してもよい。
【０１４１】
なお、ステップＳ１０５で検出された終了点が４点未満の場合には、そのまま4点未満で制御してもよいし、検出された終了点と対応する開始点についても検出されたＦＬ制御用変化点に追加し、合計で４つのＦＬ制御用変化点を検出してもよい。
なお、ＦＬ制御は４つに限られるものではなく、４つ以上検出した場合に検出点を全てＦＬ制御点と定めてもよい。
【０１４２】
図１７の処理によっても、Ｚ変動点を的確に把握でき、所望のフレーム長制御を行うことができる。
【０１４３】
次に、ＰＬＣモデム１００がＦＬ制御機能のオンオフを判定する方法について説明する。
上記説明したようなフレーム長の制限を実施すると、再送は生じにくくなるが伝送速度の低下が低下することがある。従って、伝送路としての電力線７００が複数のＰＬＣモデムが送信をし、かつ混み合っている場合、つまり大量のトラヒックが発生しているような状況ではフレーム長の制限を実施しない方が良い結果が得られることがある。また、１つのＰＬＣモデムから複数のＰＬＣモデムに送信する場合、それぞれに対する伝送路特性が異なることがある。例えば、Ｚ変動の影響を受けるＰＬＣモデムと、影響を受けないＰＬＣモデムに対するデータが混在する場合があり、このような場合、大幅な伝送効率の低下を招くこともある。これを考慮して、ＦＬ制御機能のオンオフ判定を行う。なお、エラーマップからＦＬ制御用変化点（上述のステップＳ４４）が検出されていることを前提としている。
【０１４４】
具体的には、通信特性取得部２３がトラヒック情報を収集し、通信フレーム制御部２２が収集されたトラヒック情報に基づいて、フレーム長の制限機能のオンオフを判定する。
【０１４５】
例えばＰＬＣモデム１００Ａ、１００Ｂ、１００Ｃの３台のＰＬＣモデムが共通の電力線７００に接続されている場合に、各ＰＬＣモデム１００の送信によって図１８に示すようなＰＬＣフレームが電力線７００上に現れることになる。
【０１４６】
図１８に示す例では、最初のビーコン信号が現れた後で、フレーム長（ＦＬ）が３５０のＰＬＣフレームをＰＬＣモデム１００ＡがＰＬＣモデム１００Ｃ宛に送信し、続いてＦＬ＝１００のＰＬＣフレームをＰＬＣモデム１００ＡがＰＬＣモデムＢ宛に、次にＦＬ＝３５０のＰＬＣフレームをＰＬＣモデム１００Ｃ宛に送信し、更にＦＬ＝１００のＰＬＣフレームをＰＬＣモデム１００ＣがＰＬＣモデム１００Ａ宛に送信し、同様の送信動作が繰り返されている。この場合、各ＰＬＣモデム１００は電力線７００に現れた各ＰＬＣフレームを検出し、トラヒックの状況を把握する。例えば、一のビーコン信号が現れてから次のビーコン信号が現れるまでの間に電力線７００に現れたＰＬＣフレームのフレーム長の合計をトラヒックの値として利用できる。図１８に示す例では、ＰＬＣモデム１００ＡがＰＬＣモデム１００Ｂ宛に送信したＰＬＣフレームのトラヒックの値は１４１０であり、ＰＬＣモデム１００Ｃ宛に送信したＰＬＣフレームのトラヒックの値は５１０であり、ＰＬＣモデム１００ＢについてはＰＬＣモデム１００Ｃ宛に送信したＰＬＣフレームのトラヒックの値は１１００であり、ＰＬＣモデム１００ＣについてはＰＬＣモデム１００Ａ宛に送信したＰＬＣフレームのトラヒックの値は１４１０として検出される。
【０１４７】
すなわち、通信部２４は、図１８に示したように、互いに隣接する２つのビーコン信号の間で現れた他ＰＬＣモデムが送信したＰＬＣフレームおよび自ＰＬＣモデムの相手先別のＰＬＣフレームのＰＬＣフレームの長さ（ＦＬ）の合計を検出する。更に、検出したＦＬの合計を閾値、例えば「６００」と比較し、合計が閾値より大きい場合には混み合っている、合計が閾値未満である場合には空いていると判断する。そして（ＦＬの合計＞閾値）の場合はカウンタの値に１を加算し、（ＦＬの合計≦閾値）の場合はカウンタの値から１を減算する。このカウンタは通信特性取得部２３が備えている。
【０１４８】
図１９に示す例では、ビーコン信号の発生毎に検出されるＦＬの合計が、５００、７１０、６９０、３５０、と推移しているので、その都度カウンタの値には、「＋１」「＋１」「＋１」「−１」の変化が現れる。
【０１４９】
通信フレーム制御部２２は、２ｓｅｃの周期で制御を実施し、その都度通信特性取得部２３のカウンタをチェックすると共に、カウンタの値を０にリセットする。そして、カウンタの値に応じてフレーム長の制限に関する可否を判定する。すなわち、図１９に示すように、カウンタの値が正の場合は、共通の伝送路としての電力線７００に接続されている全てのＰＬＣモデム１００についてフレーム長の制限を強制的に禁止する。その場合、「ＦＬ制御禁止」として現在の状態を記憶する。また、カウンタの値が負の場合には、「ＦＬ制御可能」として現在の状態を記憶する。ここで記憶する内容がＦＬ制御機能のオンオフに反映される。また、「ＦＬ制御可能」の状態では、後述する実施形態のＴＭを評価するためのトレーニングの際に「ＦＬ制御オン」の状態でのトレーニングを許可する。
【０１５０】
このような処理を実行することで、ＰＬＣモデム内において、相手先ＰＬＣモデムごとに他ＰＬＣモデム及び自ＰＬＣモデム内の他相手先へのトラヒックの影響を考慮したＦＬ制御のオンオフの判断が可能となる。
【０１５１】
なお、図１５に示したエラーマップの構築（ステップＳ４２）、ＦＬ制御用変化点の検出（ステップＳ４４）、エラーマップの再構築（ステップＳ４２）等の処理については、通信特性取得部２３のカウンタの値や状態とは無関係に実施される。
【０１５２】
なお、上述の実施の形態ではビーコン周期ごとのカウンタを設けることで、突発的なトラヒックの増減を緩和させることができる。一方でより簡易に２秒間トラヒック量を同様の方法で加算し、ビーコン周期とは関係なく２秒単位で評価を行ってもよい。このときビーコン周期内で規定した閾値「６００」に相当する比率の２秒に換算した閾値、例えばビーコン周期を５０ｍｓｅｃとすると６００に４０を乗算した「２４０００」を閾値とすることで簡易的な評価も可能となる。
【０１５３】
次に、「ＦＬ制御可能」と「ＦＬ制御禁止」の判定と、ＦＬ制御機能のオンオフとのタイミングについて図２０を用いて示す。
【０１５４】
「ＦＬ制御可能」状態から他トラヒックの混入により「ＦＬ制御禁止」状態になる場合、ＦＬ制御をオンからオフに切り替えなければならない。このとき、他トラヒックの混入により性能が劣化する可能性があるため、瞬時に切り替えなければならない。よって、上述の状態変化の場合には検出と同時にＦＬ制御機能をオンからオフに切り替える。(図２０の切替ポイント１)
【０１５５】
一方、「ＦＬ制御禁止」状態から他トラヒックの混入がなくなることにより「ＦＬ制御可能」状態になる場合、ＦＬ制御をオフからオンに切り替えることができる。この場合、他トラヒックの混入がなくなったことによりＦＬ制御がオフのままでも伝送帯域は広がる。そのためＦＬ制御機能を状態変化と同時にオフからオンに切り替える必要は無い。(図２０の切替ポイント２)さらに後述のようにＦＬ制御機能のオンとオフのいずれが性能がいいのかをＣＥ要求／ＣＥＲに基づくＴＭの決定の一つのパラメータと位置づけて決定するような場合は、次のＣＥ要求／ＣＥＲの評価においてＦＬ制御機能をオンにする。
【０１５６】
なお、「ＦＬ制御禁止」状態から「ＦＬ制御可能」状態になると同時にＦＬ制御をオフからオンに切り替えてもよい。
【０１５７】
なお、「ＦＬ制御禁止」状態から「ＦＬ制御可能」状態になると同時にＣＥ要求／ＣＥＲに基づく伝送路評価プロセスを実行し、ＦＬ制御をオフからオンになるタイミングを早めてもよい。
【０１５８】
（第３の実施形態）
本発明の第３の実施形態におけるＰＬＣモデム１００の機能ブロックは不図示であるが、第１の実施形態におけるＰＬＣモデムの機能ブロックと第２の実施形態におけるＰＬＣモデムの機能ブロックとを組み合わせたものとなる。
【０１５９】
次に、本実施形態のＰＬＣモデム１００の主要な処理の内容について説明する。
本実施形態では、ＰＬＣモデム１００は、サブキャリア周波数毎の一次変調方式の違いや、誤り訂正モードの他に、通信パラメータ設定部１１が、通信特性を改善するために、様々な変更を行う。例えば、微妙な伝送特性の変化に対応するために、通信フレーム中にパイロットシンボルを挿入するか否か（パイロットシンボル：オン／オフ）を切り替える。また、ＰＬＣモデム１００がパルス振幅変調（ＰＡＭ）を採用する場合に、一度に何ビットを伝送するか（ＰＡＭ：ＰＡＭ制限無、Ｍａｘ８ＰＡＭ、Ｍａｘ４ＰＡＭ、Ｍａｘ）を切り替える。また、ＦＬ制御を行うか否か（ＦＬ制御：オン／オフ）を切り替える。
【０１６０】
図２１および図２２は、ＰＬＣモデム１００が実行する全体トレーニング処理（第１の実施形態で説明した処理と第２の実施形態で説明した処理を統合した総合処理）の一例を示すフローチャートである。図２１および図２２に示す処理では、図６および図７に示した処理を、条件を適宜変えながら、複数回繰り返す。また、ＦＬ制御を行うか否かも加味している。
【０１６１】
ステップＳ５１では、比較部１３は、前述の新ＴＭの内容に基づき、理論上最大の（再送率が０の場合の）実効伝送レートＲ２１を計算する。但し、ここではパイロットシンボルはオフ、ＰＡＭ制限（変調ビット数の制限）オフの条件を適用して計算する。
【０１６２】
ステップＳ５２では、比較部１３は、図６のステップＳ１７で得られた実効伝送レートＲ１１と、ステップＳ５１の実効伝送レートＲ２１を比較する。Ｒ１１がＲ２１より大きい場合はステップＳ５３に進み、これを満たさない場合はステップＳ５４に進む。すなわち、新ＴＭについてはＰＡＭ制限などのない最良の条件で、しかも再送率が０の場合を想定した最高の実効伝送レートＲ２１でも、現行ＴＭよりも通信性能が劣っている場合には、これ以降のトレーニングは不要なので、ステップＳ５３に進む。
【０１６３】
ステップＳ５３では、通信パラメータ設定部１１は、通信部１４が使用する通信パラメータとして、現行ＴＭを採用する。
【０１６４】
ステップＳ５４の「第１条件トレーニング」は、図６および図７に示した処理のうち、ステップＳ２０以降の処理に相当する。但し、第１条件トレーニングでは、現行ＴＭに関してはＰＡＭ制限等を含む条件（この時点で採用されている条件）を適用し、新ＴＭに関してはパイロットシンボルはオン、ＰＡＭ制限なしの条件を適用する。つまり、パイロットシンボルをオンにし、実効伝送レートを改善した状態でトレーニングを開始する。
【０１６５】
ステップＳ５５では、比較部１３は、図６のステップＳ２２と同じ条件を満たしているかどうかを識別する。すなわち、第１トレーニング処理の結果得られた再送率から求めた実効伝送レートＲ２２と、実効伝送レートＲ１１とを比較した結果、閾値（ΔＲ）以上新ＴＭが劣っている場合には、ステップＳ５６に進み、それ以外の場合はステップＳ５７に進む。
【０１６６】
ステップＳ５６では、通信パラメータ設定部１１は、第１条件トレーニング（ステップＳ５４）の勝者である現行ＴＭを、通信部１４が使用する通信パラメータとして採用する。
【０１６７】
ステップＳ５７の「第２条件トレーニング」は、図６および図７に示した処理のうち、ステップＳ２０以降の処理に相当する。但し、第２条件トレーニングでは、現行ＴＭに関しては第１条件トレーニングの勝者と同じ条件を適用し、新ＴＭに関してはパイロットシンボルはオフ、ＰＡＭ制限なしの条件を適用する。つまり、新ＴＭに対するパイロットシンボルをオフに切り替えて、第１条件トレーニングと同様の処理を繰り返す。
【０１６８】
ステップＳ５８では、比較部１３は、第２条件トレーニングの勝者のＴＭについて、その実効伝送レート（１−Ｒｅｔ（２）×ＰＨＹ（２））と、最大８ＰＡＭ（３ビット：８レベル）に制限した場合の再送率を無視した伝送レート（ＰＨＹ８）とを比較する。なお、（Ｒｅｔ（２））は「第２条件トレーニング」で取得した再送率を表し、（ＰＨＹ（２）、（ＰＨＹ８））は物理層レベル（つまり再送を考慮しない）の伝送レートを表している。ステップＳ５８の条件を満たす場合にはステップＳ６４に進み、満たさない場合にはステップＳ５９に進む。
【０１６９】
ステップＳ５９では、比較部１３は、新ＴＭについて、ＰＡＭ制限なしの場合の物理層レベルの伝送レート（ＰＨＹ）と、最大８ＰＡＭに制限した場合の物理層レベルの伝送レート（ＰＨＹ８）とを比較する。ステップＳ５９の条件を満たす場合にはステップＳ６２に進み、満たさない場合にはステップＳ６０に進む。例えば、元々８ＰＡＭ以下の条件しか存在しないＴＭの場合には、ＰＡＭ制限しても伝送速度が変わらないので次のステップＳ６０は省略する。
【０１７０】
ステップＳ６０の「第３条件トレーニング」は、図６および図７に示した処理のうち、ステップＳ２０以降の処理に相当する。但し、第３条件トレーニングでは、現行ＴＭに関しては第２条件トレーニングの勝者と同じ条件と適用し、新ＴＭに関してはパイロットシンボルはオン、最大８ＰＡＭ制限オンの条件を適用する。つまり、新ＴＭに対する条件を切り替えて、第２条件トレーニングと同様の処理を繰り返す。
【０１７１】
ステップＳ６１では、比較部１３は、第３条件トレーニングの勝者のＴＭについて、その実効伝送レート（１−Ｒｅｔ（３）×ＰＨＹ（３））と、最大４ＰＡＭ（２ビット：４レベル）に制限した場合の再送率を無視した伝送レート（ＰＨＹ４）とを比較する。なお、（Ｒｅｔ（３））は第３条件トレーニングで取得した再送率を表し、（ＰＨＹ（３）、（ＰＨＹ４））は物理層レベル（つまり再送を考慮しない）の伝送レートを表している。ステップＳ６１の条件を満たす場合にはステップＳ６４に進み、満たさない場合はステップＳ６２には進む。
【０１７２】
ステップＳ６２では、比較部１３は、新ＴＭについて、ＰＡＭ制限なしの場合の物理層レベルの伝送レート（ＰＨＹ）と、最大４ＰＡＭに制限した場合の物理層レベルの伝送レート（ＰＨＹ４）とを比較する。ステップＳ６２の条件を満たす場合にはステップＳ６４に進み、満たさない場合にはステップＳ６３に進む。例えば、元々４ＰＡＭ以下の条件しか存在しないＴＭの場合には、ＰＡＭ制限しても伝送速度が変わらないので次のステップＳ６３は省略する。
【０１７３】
ステップＳ６３の「第４条件トレーニング」は、図６および図７に示した処理のうち、ステップＳ２０以降の処理に相当する。但し、第４条件トレーニングでは、現行ＴＭに関しては第３条件トレーニングの勝者と同じ条件と適用し、新ＴＭに関してはパイロットシンボルはオン、最大４ＰＡＭ制限オンの条件を適用する。つまり、新ＴＭに対する条件を切り替えて、第３条件トレーニングと同様の処理を繰り返す。
【０１７４】
ステップＳ６４では、通信フレーム制御部２２は、ＦＬ制御用変化点の検出の有無を調べ、検出しなかった場合にはステップＳ６５に進み、検出した場合にはステップＳ６０に進む。
【０１７５】
ステップＳ６５では、通信パラメータ設定部１１は、この処理の直前に実行したトレーニングにおける勝者のＴＭ及び条件を通信部１４の通信パラメータとして採用する。
【０１７６】
ステップＳ６６では、通信フレーム制御部２２は、この処理の直前に実行したトレーニングにおける勝者の条件が「ＦＬ制御オン」か否かを識別する。ＦＬ制御オンである場合にはステップＳ６９に進み、それ以外ならステップＳ６７に進む。
【０１７７】
ステップＳ６７の「第５条件トレーニング」は、図６および図７に示した処理のうち、ステップＳ２０以降の処理に相当する。但し、第５条件トレーニングでは、現行ＴＭに関しては直前のトレーニングの勝者と同じ条件を適用する。一方、新ＴＭに関しては、ＦＬ制御オンに切り替えて、それ以外の条件は直前のトレーニングの勝者と同じ条件を適用する。つまり、ＦＬ制御オンに関する条件だけを切り替えて、トレーニングを実施する。
【０１７８】
ステップＳ６８では、通信パラメータ設定部１１は、第５条件トレーニングの勝者のＴＭ及びそれに適用した条件を通信部１４の通信パラメータとして採用する。
【０１７９】
ステップＳ６９の「第６条件トレーニング」は、図６および図７に示した処理のうち、ステップＳ２０以降の処理に相当する。但し、第６条件トレーニングでは、現行ＴＭに関しては直前のトレーニングの勝者と同じ条件を適用する。一方、新ＴＭに関しては、ＦＬ制御オフに切り替えて、それ以外の条件は直前のトレーニングの勝者と同じ条件を適用する。つまり、「ＦＬ制御オンオフ」に関する条件だけを切り替えて、トレーニングを実施する。
【０１８０】
ステップＳ７０では、通信パラメータ設定部１１は、第６条件トレーニングの勝者のＴＭ及びそれに適用した条件を通信部１４の通信パラメータとして採用する。
【０１８１】
ステップＳ７１では、通信パラメータ設定部１１は、トレーニングの結果として最終的に採用した通信パラメータにＦＬ制御オンの条件が適用されているか否かを識別する。ＦＬ制御オフのＴＭを選択した場合には、次のステップＳ７２に進む。
【０１８２】
ステップＳ７２では、通信フレーム制御部２２は、第２の実施形態で説明したエラーマップをリセットし、エラーマップを再構築するためのトリガを発生する。これにより、ＦＬ制御用変化点を検出する際にインパルス性ノイズが発生し、このノイズの影響を受けて検出されるＦＬ制御用変化点に多少の揺らぎ等が生じ、エラーマップが正しい変化点を反映していない場合であっても、エラーマップを再構築することにより、ＦＬ制御を実施する場合の制御の精度を高めることができる。
【０１８３】
なお、第１条件トレーニング（ステップＳ５４）、第２条件トレーニング（ステップＳ５７）、第３条件トレーニング（ステップＳ６０）、第４条件トレーニング（ステップＳ６３）のそれぞれにおける新ＴＭのＦＬ制御オン／オフは、現行ＴＭと同一の条件にする。
【０１８４】
このような図２１および図２２の処理を行うことで、パイロットシンボルのオンオフ情報、ＰＡＭ制限情報、ＦＬ制御のオンオフ情報を考慮して、より正確なＴＭの通信パラメータを採用することが可能となる。
【０１８５】
次に、ＰＬＣモデム１００が適切なＴＭの通信パラメータを選択するための動作に関する全体フローについて、図２３を参照しながら説明する。
【０１８６】
電源が投入されてＰＬＣモデム１００が起動すると、ＰＬＣモデム１００は、所定の初期化（ＡＤＪＵＳＴ：第１の実施形態で説明した第４トレーニングに相当）を行った後、ＣＥ要求の送信（図６参照）およびそれに対するＣＥＲの受信（図６参照）を行い、ＣＥＲに含まれる評価情報に基づいて新ＴＭを生成する。
【０１８７】
この後で、ＰＬＣモデム１００は、現行ＴＭ、新ＴＭを評価するためのトレーニングＴＲ１１を４００〜１０００ｍｓｅｃの期間にわたって実施する。トレーニングＴＲ１１の内容については、図６および図７に示した内容とは少し異なっている。例えば、ステップＳ１２に相当するデータ伝送の結果が得られる前にトレーニングを開始するので、現行ＴＭ、新ＴＭを交互に切り替えながら、現行ＴＭの再送率と新ＴＭの再送率とを所定期間にわたって取得し、その結果を比較して、採用するＴＭを決定する。
【０１８８】
同様に、ＰＬＣモデム１００は、起動後例えば１ｓｅｃ経過後、３ｓｅｃ経過後、７ｓｅｃ経過後、・・・にＣＥ要求の送信、それに対するＣＥＲの受信を行い、トレーニングＴＲ１２等により採用ＴＭを決定する。このように、所定回数繰り返される（トレーニングＴＲ１２、ＴＲ１３、ＴＲ１４、・・・）。トレーニングＴＲ１２、ＴＲ１３、ＴＲ１４の内容はＴＲ１１と同じである。繰り返しの回数（４回）はあくまで例示である。これらが第１段階の流れである。
【０１８９】
なお、ＰＬＣモデム１００の起動後１０秒程度で通常のデータ送受信が可能な状態となる。
【０１９０】
また、トレーニング自体の長さはＴＲ１１〜ＴＲ１４で変化はないが、トレーニング間隔は少しずつ長くなっている。
【０１９１】
続いて、第１段階に続いて、例えば起動後１３ｓｅｃ後に、ＰＬＣモデム１００は、トレーニングＴＲ２１を１００〜１０００ｍｓにわたって実施する。トレーニングＴＲ２１では、ＣＥ要求／ＣＥＲ受信の後に、ＰＬＣモデム１００は、図６に示した第１トレーニング処理を加味して現行ＴＭの再送率と新ＴＭの再送率とを所定期間にわたって取得し、その結果を比較して、採用するＴＭを決定する。
【０１９２】
同様に、ＰＬＣモデム１００は、起動後例えば２１ｓｅｃ経過後に、ＣＥ要求／ＣＥＲ受信を行い、トレーニングＴＲ２１等により採用ＴＭを決定する。このように、トレーニングは所定回数繰り返される（トレーニングＴＲ２２、・・・）。トレーニングＴＲ２１の内容はＴＲ２１と同じである。繰り返しの回数（２回）はあくまで例示である。これらが第２段階の流れである。
【０１９３】
また、第１段階と同様に、トレーニング自体の長さはＴＲ２１、ＴＲ２２で変化はないが、トレーニング間隔は少しずつ長くなっている。
【０１９４】
続いて、第２段階に続いて、例えば起動後１３ｓｅｃ後に、ＰＬＣモデム１００は、トレーニングＴＲ３１を１００〜１１５００ｍｓにわたって実施する。トレーニングＴＲ３１では、ＣＥ要求／ＣＥＲ受信の後に、ＰＬＣモデム１００は、図６に示した第１トレーニング処理〜第４トレーニング処理を行い、採用するＴＭを決定する。この場合、図６および図７の処理を行う際に事前に必要となる現行ＴＭの通信特性（例えば再送率）を取得する。取得する期間は、第１トレーニング処理〜第４トレーニング処理を行う直前（例えば３９ｓｅｃ〜４３ｓｅｃ）である。
【０１９５】
同様に、ＰＬＣモデム１００は、起動後例えば５７ｓｅｃ経過後に、ＣＥ要求／ＣＥＲ受信を行い、トレーニングＴＲ３２等により採用ＴＭを決定する。このように、トレーニングは所定回数繰り返される（トレーニングＴＲ３２、・・・）。トレーニングＴＲ３２の内容はＴＲ３１と同じである。繰り返しの回数（２回）はあくまで例示である。これらが第３段階の流れである。
【０１９６】
また、第１段階および第２段階と同様に、トレーニング自体の長さはＴＲ２１、ＴＲ２２で変化はないが、トレーニング間隔は少しずつ長くなっている。ただし、トレーニング間隔が３０秒程度になった後はトレーニング間隔を一定とする。
【０１９７】
このような図２３の処理を行うことで、ＰＬＣモデム１００の起動直後は伝送路としての電力線７００の特性が安定していない状態であるので、短期間の簡易なトレーニングを取り急ぎ行いながらＴＭを修正し、起動から時間が経過するにつれて、長期間の確実性を重視したトレーニングを行うことで、スムーズかつ的確に最適なＴＭを採用することができる。
【０１９８】
なお、ＰＬＣモデム１００は、ＦＬ制御のオンオフ判定を図２３とは非同期で実施する。
【産業上の利用可能性】
【０１９９】
本発明は、伝送路状態が一定でない場合であっても、最適な通信特性を維持することができるとともに、伝送効率が低下することを防止可能な通信装置等に有用である。
【図面の簡単な説明】
【０２００】
【図１】本発明の実施形態におけるＰＬＣモデムの前面を示す外観斜視図
【図２】本発明の実施形態におけるＰＬＣモデムの背面を示す外観斜視図
【図３】本発明の実施形態におけるＰＬＣモデムのハードウェアの一例を示した図
【図４】本発明の実施形態におけるＰＬＣモデムのデジタル信号処理を説明するための図
【図５】本発明の第１の実施形態におけるＰＬＣモデムの機能ブロック図
【図６】本発明の第１の実施形態におけるＰＬＣモデムが伝送速度の安定化制御を行う際の動作の一例を示すフローチャート
【図７】本発明の第１の実施形態におけるＰＬＣモデムが伝送速度の安定化制御を行う際の動作の一例を示すフローチャート
【図８】本発明の第１の実施形態におけるトレーニング処理の流れの一例を示す図
【図９】本発明の第１の実施形態における所定時間区間において選択されたＴＭの一例を示す図
【図１０】本発明の第２の実施形態におけるＰＬＣモデムの機能ブロック図
【図１１】本発明の第２の実施形態におけるＺ変動区間を考慮した通信フレームの一例を示す図
【図１２】本発明の第２の実施形態におけるＰＬＣモデムが送信するＰＬＣフレームの送信フレーム（送信結果を含む）
【図１３】本発明の第２の実施形態におけるメインＩＣが備える通信部、通信特性取得部、ビットマップキューの一例を示す図
【図１４】本発明の第２の実施形態におけるエラーマップの内容の具体例を示す図
【図１５】本発明の第２の実施形態におけるＰＬＣモデムがＡＣ同期フレーム長制御を行う際の動作の一例を示すフローチャート
【図１６】本発明の第２の実施形態におけるＦＬ制御用変化点の補正の一例を示す図
【図１７】本発明の第２の実施形態におけるエラーマップからＺ変動点を検出するための処理の変形例を示す図
【図１８】本発明の第２の実施形態における複数のＰＬＣモデムから送信された電力線上のＰＬＣフレームおよびビーコンの一例を示す図
【図１９】本発明の第２の実施形態における通信部のカウンタ値の一例を示す図
【図２０】本発明の第２の実施形態におけるＦＬ制御オン／オフのタイミングを示すタイミングチャート
【図２１】本発明の第３の実施形態における全体トレーニング処理の一例を示すフローチャート
【図２２】本発明の第３の実施形態における全体トレーニング処理の一例を示すフローチャート
【図２３】本発明の第３の実施形態における段階的にトレーニング方法を変化させる場合の流れを示す図
【図２４】従来の電力線の特性に応じて変動するＰＬＣ信号の振幅や波形を示す図
【符号の説明】
【０２０１】
１１  通信パラメータ設定部
１２  通信性能取得部
１３  比較部
１４  通信部
１５  伝送路
２１  通信フレーム生成部
２２  通信フレーム制御部
２３  通信特性取得部
２４  通信部
２５  伝送路
１００  ＰＬＣモデム
１０２  電源コネクタ
１５０  管理装置
２００  回路モジュール
２１０  メインＩＣ
２１１  ＣＰＵ
２１２  ＰＬＣ・ＭＡＣブロック
２１３  ＰＬＣ・ＰＨＹブロック
２２０  ＡＦＥ・ＩＣ
２２１  ＤＡ変換器（ＤＡＣ）
２２２  ＡＤ変換器（ＡＤＣ）
２３０  ＰＨＹ・ＩＣ
２４０  メモリ
２５１  ローパスフィルタ
２５２  ドライバＩＣ
２６０  バンドパスフィルタ
２７０  カプラ
２８１  ＡＭＰ ＩＣ
２８２  ＡＤＣ ＩＣ
６０    ＡＣサイクル検出器
３００  スイッチング電源
４００  電源プラグ
５００  コンセント
６００  電源ケーブル
７００  電力線
【図１】
2010166399.tif 000003
【図２】
2010166399.tif 000004
【図３】
2010166399.tif 000005
【図４】
2010166399.tif 000006
【図５】
2010166399.tif 000007
【図６】
2010166399.tif 000008
【図７】
2010166399.tif 000009
【図８】
2010166399.tif 000010
【図９】
2010166399.tif 000011
【図１０】
2010166399.tif 000012
【図１１】
2010166399.tif 000013
【図１２】
2010166399.tif 000014
【図１３】
2010166399.tif 000015
【図１４】
2010166399.tif 000016
【図１５】
2010166399.tif 000017
【図１６】
2010166399.tif 000018
【図１７】
2010166399.tif 000019
【図１８】
2010166399.tif 000020
【図１９】
2010166399.tif 000021
【図２０】
2010166399.tif 000022
【図２１】
2010166399.tif 000023
【図２２】
2010166399.tif 000024
【図２３】
2010166399.tif 000025
【図２４】
2010166399.tif 000026