"入力信号から駆動信号を生成する変調器駆動回路と、前記駆動信号に応じて変調光信号を生成する変調器と、前記入力信号の振幅である入力振幅を検出する振幅検出器と、前記振幅検出器により検出される入力振幅に基づいて波形制御信号を生成するコントローラ、を備え、前記変調器駆動回路は、前記波形制御信号に応じて前記駆動信号の波形を制御することを特徴とする光送信機。前記コントローラは、前記波形制御信号として前記入力振幅に基づいて決まるクロスポイント制御電圧を出力し、前記変調器駆動回路は、前記クロスポイント制御電圧に応じて前記駆動信号のクロスポイントを制御することを特徴とする請求項1に記載の光送信機。入力振幅を表す入力振幅データに対して、前記変調器により所望の光出力波形が得られるクロスポイント制御データを格納するメモリをさらに備え、前記コントローラは、前記振幅検出器により検出される入力振幅に対応する入力振幅データを利用して前記メモリから対応するクロスポイント制御データを取得し、取得したクロスポイント制御データに基づいて前記クロスポイント制御電圧を生成することを特徴とする請求項2に記載の光送信機。前記コントローラは、入力振幅に対して前記変調器により所望の光出力波形が得られるクロスポイント制御電圧を算出する演算式を利用して、前記振幅検出器により検出される入力振幅に対応するクロスポイント制御電圧を生成することを特徴とする請求項2に記載の光送信機。前記変調器は、電界吸収型光変調器であり、前記演算式は、入力振幅についての2次関数であることを特徴とする請求項4に記載の光送信機。前記変調器は、電界吸収型光変調器であり、前記演算式は、前記クロスポイント制御電圧に対する前記光出力波形のクロスポイント位置の変化の傾きの逆数を計算するための入力振幅についての2次関数、および前記クロスポイント制御電圧を計算するための前記傾きの逆数についての1次関数を含むことを特徴とする請求項4に記載の光送信機。入力信号から駆動信号を生成する変調器駆動回路および前記駆動信号に応じて変調光信号を生成する変調器を備える光送信機において使用される光波形補償方法であって、前記入力信号の振幅を検出し、前記入力信号の振幅に基づいて前記駆動信号のクロスポイントを制御して前記変調光信号の波形を補償することを特徴とする光波形補償方法。近年、光モジュール光送信機を含むの小型化および低消費電力化に係わる要求が高まってきている。このため、図1に示す光送信機1においては、インタフェース回路5を実装しない構成が望まれる。しかし、インタフェース回路5を実装しない構成では、上述したように、入力データ信号の振幅が変動する場合には、光出力波形が劣化するおそれがある。本発明の課題は、入力信号の振幅の変動に対して光出力波形を補償することができる光送信機を提供することである。本発明の1つの態様の光送信機は、入力信号から駆動信号を生成する変調器駆動回路と、前記駆動信号に応じて変調光信号を生成する変調器と、前記入力信号の振幅である入力振幅を検出する振幅検出器と、前記振幅検出器により検出される入力振幅に基づいて波形制御信号を生成するコントローラ、を備える。前記変調器駆動回路は、前記波形制御信号に応じて前記駆動信号の波形を制御する。本発明の1つの態様の光波形補償方法は、入力信号から駆動信号を生成する変調器駆動回路および前記駆動信号に応じて変調光信号を生成する変調器を備える光送信機において使用され、前記入力信号の振幅を検出し、前記入力信号の振幅に基づいて前記駆動信号のクロスポイントを制御して前記変調光信号の波形を補償する。上述の態様によれば、入力信号の振幅の変動に対して光送信機の光出力波形を補償することができる。図2は、実施形態の光送信機の構成を示す。実施形態の光送信機10は、図2に示すように、信号分岐回路11、変調器駆動回路12、光源LD13、変調器14、振幅検出回路15、コントローラ16を有する。光送信機10の入力信号は、例えば、データ信号である。以下の説明では、光送信機10の入力信号を、データ信号と呼ぶことがある。また、入力信号は、例えば、1Gbits以上の高速データを伝送する信号であってもよい。入力信号の形式は、特に限定されるものではないが、例えば、ECLEmitterCoupledLogic、TTLTransistortransistorLogic、XFI10GelectricalinterfacetotheXFPmoduleなどである。さらに、この実施例では、入力信号は、差動信号である。すなわち、互いに論理が反転している1組の信号が光送信機10に入力される。以下の説明では、1組の信号の一方を正転信号非反転信号と呼び、他方を反転信号と呼ぶことがある。信号分岐回路11は、信号入力端子を介して入力される信号すなわち、入力信号を分岐して、変調器駆動回路12および振幅検出回路15に導く。信号分岐回路11については、後で詳しく説明する。変調器駆動回路12は、入力信号から駆動信号を生成する。このとき、変調器駆動回路12は、各種制御信号に応じて駆動信号を生成する。駆動信号は、入力信号を表す電圧信号または、入力信号に対応する電圧信号である。光源LD13は、直流レーザ光源であって、CW光を生成する。変調器14は、変調器駆動回路12により生成される駆動信号でCW光を変調して変調光信号を生成する。変調器14は、この実施例では、電界吸収型光変調器EA変調器である。EA変調器は、印加電圧に応じて入力光を吸収する。したがって、変調器14は、駆動信号の電圧レベルに応じて変化する光信号を生成する。すなわち、変調器14は、入力データ信号を表す変調光信号を生成する。振幅検出回路15は、信号分岐回路11から導かれてくる分岐入力信号を利用して、入力信号の振幅を検出する。以下の説明では、光送信機10への入力信号の振幅を入力振幅と呼ぶ。振幅検出回路15については、後で詳しく説明する。コントローラ16は、振幅検出回路15により検出される入力振幅に基づいて波形制御信号を生成する。そうすると、変調器駆動回路12は、波形制御信号に応じて駆動信号の波形を制御する。この実施形態では、波形制御信号は、駆動信号のクロスポイントの位置を制御するクロスポイント制御電圧である。この場合、変調器駆動回路12は、クロスポイント制御電圧に応じて駆動信号のクロスポイントの位置を制御する。なお、クロスポイントは、信号波形または、信号のアイパターンの上りエッジと下りエッジの交点または、その交点の位置を表す。コントローラ16は、波形制御信号ここでは、クロスポイント制御電圧に加えて、駆動振幅制御電圧およびバイアス制御電圧を生成してもよい。駆動振幅制御電圧は、駆動信号の振幅を制御する。すなわち、変調器駆動回路12は、駆動振幅制御電圧に応じて駆動信号の振幅を制御する。このとき、コントローラ16は、例えば、フィードバック制御で、駆動信号の振幅が一定になるように駆動信号制御電圧を生成してもよい。バイアス制御電圧は、変調器14のバイアスを制御する。すなわち、変調器14は、バイアス制御電圧により制御される動作状態で変調光信号を生成する。このとき、コントローラ16は、変調器14から出力される変調光信号をモニタしながら、適切なバイアス制御電圧を生成してもよい。コントローラ16は、この実施例では、CPU17およびメモリ18を有する。メモリ18は、ROM領域およびRAM領域を含むようにしてもよい。この場合、振幅制御回路15により検出される振幅値は、不図示のA/D変換器によりデジタルデータに変換されてコントローラ16に入力される。また、CPU17は、メモリ18に格納されている制御プログラムを実行することにより、クロスポイント制御電圧データ、駆動振幅制御電圧データ、バイアス制御電圧データを生成する。そして、コントローラ16は、クロスポイント制御電圧データ、駆動振幅制御電圧データ、バイアス制御電圧データに応じてそれぞれクロスポイント制御電圧、駆動振幅制御電圧、バイアス制御電圧を生成する。或いは、不図示の電圧発生器が、コントローラ16からの指示に従ってクロスポイント制御電圧、駆動振幅制御電圧、バイアス制御電圧を生成してもよい。図3は、変調器駆動回路12、変調器14、およびそれらの周辺回路の一例を示す図である。この例では、入力信号は差動信号である。変調器駆動回路12は、増幅器21、可変増幅器22を有する。増幅器21は、入力信号を増幅する。すなわち、増幅器21は、正転信号および反転信号をそれぞれ増幅する。可変増幅器22は、増幅器21の出力信号をさらに増幅する。すなわち、可変増幅器22は、増幅器21から出力される正転信号および反転信号をそれぞれさらに増幅する。なお、可変増幅器22の出力振幅は、コントローラ16により生成される駆動振幅制御電圧で制御される。正転信号は、定電圧源23および抵抗R1を利用して一定の電圧レベルに保持される。一方、反転信号の電圧レベルは、可変電圧源24および抵抗R2を利用して調整される。ここで、可変電圧源24が生成する電圧は、クロスポイント制御電圧により制御される。すなわち、反転信号の電圧レベルは、クロスポイント制御電圧により制御される。正転信号に対して反転信号の電圧レベルを相対的に変化させる動作は、差動信号の差動間オフセット1組の信号の電圧レベルのオフセットを調整する動作に相当する。そして、差動間オフセットを調整することにより、出力信号すなわち、駆動信号のクロスポイントが調整される。すなわち、クロスポイント制御電圧を利用して差動間オフセットを調整することにより、駆動信号のクロスポイントが制御される。なお、図3に示す例では、クロスポイント制御電圧を利用して反転信号の電圧レベルが調整されているが、変調器駆動回路12は、クロスポイント制御電圧を利用して正転信号の電圧レベルを調整してもよい。また、駆動信号のクロスポイントの制御は、差動間オフセットを調整する構成に限定されるものではない。さらに、変調器駆動回路12は、増幅器21、可変増幅器22に加えて、さらに1以上の増幅器を有するようにしてもよい。変調器駆動回路12から出力される正転信号は、駆動信号として変調器14に与えられる。変調器駆動回路12と変調器14との間には、例えば、駆動信号のDC成分を除去するためのキャパシタが設けられる。なお、可変増幅器22により増幅される反転信号は、この例では、変調器14には導かれない。変調器14は、変調器駆動回路12により生成される駆動信号でCW光を変調して変調光信号を生成する。CW光は、上述した光源LD13により生成される。可変電圧源31および抵抗R3は、変調器14のバイアスを制御するために設けられている。可変電圧源31が生成する電圧は、バイアス制御電圧により制御される。すなわち、コントローラ16は、バイアス制御電圧を利用して変調器14のバイアスを制御することができる。上記構成の光送信機10において、長距離伝送を実現するためには、光出力波形が適切に整形されていることが好ましい。すなわち、例えば、光出力波形のクロスポイント、消光比、パルスマスク等の特性が最適化または略最適化されることが好ましい。図4は、変調器14の特性について説明する図である。ここでは、変調器14は、EA変調器であるものとする。EA変調器の光出力パワーは、印加電圧に対して非線形特性を有している。このため、EA変調器の駆動信号のデューティが50パーセントであるときは、光出力波形のHレベルのパルス幅がLレベルのパルス幅と比較して狭くなる。この場合、光出力波形のクロスポイントは、図4aに示すように、Lレベル側にずれてしまう。このため、変調器駆動回路は、光出力波形のクロスポイントがHレベルとLレベルとの中間以下、中間レベルに配置されるように、駆動信号を生成する。すなわち、変調器駆動回路は、図4bに示すように、光出力波形のクロスポイントがその中間レベルに配置されるように、中間レベルよりも高い調整レベルにクロスポイントを有する駆動信号を生成する。このとき、変調器駆動回路は、上述したクロスポイント制御電圧に応じて、駆動信号のクロスポイントの位置を制御する。図2または図3に示す構成では、コントローラ16は、光出力波形のクロスポイントがその中間レベルに配置されるように、クロスポイント制御電圧を生成する。そうすると、EA変調器は、中間レベルにクロスポイントを有する変調光信号を生成する。光送信機の入力信号の振幅以下、入力振幅は、様々な要因により変化し得る。例えば、図4cは、図4bと比較して入力振幅が小さい場合の駆動信号波形および光出力波形の一例を示している。この場合、変調器駆動回路は、駆動信号の振幅をほぼ一定に保持することにより、所定の消光比が得られる。しかしながら、クロスポイント制御電圧を変えることなく、入力振幅が変動すると、図4cに示すように、駆動信号のクロスポイントは、調整レベルからずれてしまう。そうすると、光出力波形のクロスポイントは、中間レベルからずれてしまう。このように、入力振幅が変動すると、光出力波形のクロスポイントが中間レベルからずれてしまう。そこで、実施形態の光送信機10は、入力振幅に応じてクロスポイント制御電圧を制御する。図5は、実施形態の光送信機10の動作を説明する図である。光送信機10は、図2に示すように、変調器駆動回路12の入力側に信号分岐回路11を有する。信号分岐回路11は、入力信号を分岐して変調器駆動回路12および振幅検出回路15に導く。ただし、信号分岐回路11は、信号入力端子から変調器駆動回路12に導かれる信号に対して実質的に影響を与えないものとする。すなわち、変調器駆動回路12の入力信号の振幅は、光送信機10の入力振幅とほぼ同じである。実施形態の光送信機10においては、コントローラ16は、入力振幅に基づいてクロスポイント制御電圧を生成する。すなわち、コントローラ16は、入力振幅が変動した場合であっても、駆動信号のクロスポイントが、常に、ほぼ調整レベルに位置するように、クロスポイント制御電圧を生成する。そうすると、変調器駆動回路12は、コントローラ16から与えられるクロスポイント制御電圧に応じて駆動信号を生成する。すなわち、図5aおよび図5bに示すように、光送信機10の入力振幅が変動しても、ほぼ同じ駆動信号が生成される。例えば、光送信機10の入力振幅が変動しても、駆動信号の振幅が一定であり、かつ、駆動信号のクロスポイントの位置が図4bに示す調整レベルに配置されるように、駆動信号が生成される。したがって、変調器14は、光送信機10の入力振幅が変動しても、常に、良好な光波形を有する変調光信号を生成することができる。このように、実施形態の光送信機10は、変調器駆動回路12の入力側に入力振幅を変換するインタフェース回路例えば、図1に示すインタフェース回路5を設けることなく、入力振幅の変動を補償することができる。したがって、実施形態の構成によれば、光送信機10の小型化および低消費電力化が実現される。図6は、信号分岐回路11について説明する図である。信号分岐回路11は、下記の要件を満たすことが好ましい。1信号入力端子と変調器駆動回路12との間の信号線路の高周波マッチングに影響を与えない2変調器駆動回路12に入力する信号の振幅の低減をできるだけ抑制する3振幅検出回路15から反射があるときは、その反射波を十分に減衰させる4入力振幅を表す情報を振幅検出回路15に伝達する他方、振幅検出回路15は、入力振幅を検出するために設けられており、入力信号の符号情報すなわち、各ビットの値を検出しなくてもよい。このため、信号分岐回路11は、振幅検出回路15に導かれる信号が振幅検出回路15の入力振幅最小感度を満たし、且つ、上記1~3を満足するインピーダンスを有するだけで十分である。すなわち、信号分岐回路11は、同軸分配器のような複雑な構成を必要とせず、例えば、1つの抵抗素子で実現することができる。この場合、信号分岐回路11を1つのチップ抵抗で実現すれば、実装面積が小さくなる。信号分岐回路11を実現する抵抗Rdivは、例えば、以下のように設計される。ここでは、振幅検出回路15の入力段の内部トータルインピーダンスをZとする。また、振幅検出回路15の入力振幅最小感度をVsensとする。さらに、信号分岐回路11の入力信号の最小振幅をVinとする。そうすると、抵抗Rdivは、上記1~3を満足し、且つ下式を満足するように設計される。Vin×Z/RdivZ>Vsens図7は、振幅検出回路15について説明する図である。振幅検出回路15は、例えば、図7aに示すように、ピーク検出回路41を利用して実現される。ピーク検出回路41は、入力信号のH側のピークまたはL側のピークを検出する。ここで、入力データ信号は、差動信号であり、正転信号および反転信号を含む。そして、振幅検出回路15は、この例では、反転信号の振幅を検出する。この場合、信号分岐回路11は、反転信号のみを振幅検出回路15に導くようにしてもよい。なお、差動信号においては、正転信号および反転信号の振幅は、実質的に互いに同じである。図7bは、振幅検出回路15の一例を示す。この振幅検出回路15には、例えば、図7aに示すように、反転信号が入力される。入力信号は、キャパシタによりDC成分が除去された後、バッファアンプ42の非反転端子に導かれる。バッファアンプ42の非反転端子には、バイアス回路43により、所定のバイアス電圧Vbiasが与えられている。一方、バッファアンプ42の反転端子には、ピークホールド回路44により保持されている電位が与えられる。ピークホールド回路44は、ダイオードDおよびキャパシタCを有する。バッファアンプ42の出力信号は、ダイオードDのアノードに導かれる。ダイオードDのカソードにはキャパシタCが接続されている。そして、キャパシタCにより保持される電位が、バッファアンプ42の反転端子に与えられる。ピークホールド回路44の出力側には、ディスチャージ回路45が設けられている。ディスチャージ回路45は、キャパシタCから一定の速度で電荷を引き抜く。そして、電圧フォロア回路46は、ピークホールド回路44により保持されている電位を表す信号を出力する。図7cは、バッファアンプ42の非反転端子の入力信号の例を示している。このとき、バイアス電圧Vbiasを適切に与えれば、入力信号のH側ピークが、ダイオードDを通過する。そして、ダイオードDを通過する電荷がキャパシタCに蓄積する。よって、ピークホールド回路44により保持される電圧は、入力信号のピーク電圧の平均を表す。ここで、入力信号のパターンは実質的にランダムである。したがって、入力信号のピーク電圧の平均は、実質的に、入力信号の振幅を表す。そして、振幅検出回路15により検出された入力振幅は、コントローラ16に通知される。なお、図7bに示す構成は一例であって、振幅検出回路15は、他の構成で実現してもよい。すなわち、振幅検出回路15は、必ずしもピークホールド回路44を備えなくてもよい。また、振幅検出回路15は、入力振幅を検出するために設けられており、入力信号の符号情報すなわち、各ビットの値を検出しなくてもよい。このため、振幅検出回路15の動作速度は、入力データ信号の速度より低くてよい。よって、振幅検出回路15は、検出帯域の狭い安価な素子を利用して実現することができる。<第1の実施例>第1の実施例においては、入力振幅に対して、変調器14により所望の光出力波形が得られるクロスポイント制御電圧が予め特定されている。そして、コントローラ16は、振幅検出回路15により検出された入力振幅Vinに対応するクロスポイント制御電圧を生成する。入力振幅Vinとクロスポイント制御電圧との対応関係は、クロスポイント制御電圧テーブルに格納されている。図8は、クロスポイント制御電圧テーブルの一例を示す。クロスポイント制御電圧テーブルは、複数の入力振幅区間に対して、それぞれ対応するクロスポイント制御電圧データVdutを格納する。図8に示す例では、入力振幅Vin~Vinが、n-1個の区間に分割されている。なお、Vinは、入力振幅の最小値を表し、Vinは、入力振幅の最大値を表す。Vdutは、入力振幅がVin~Vinであるときに、変調器14により所望の光出力波形が得られるクロスポイント制御電圧である。所望の光波形は、特に限定されるものではないが、例えば、クロスポイントがHレベルとLレベルのほぼ中間に位置する光波形である。Vdutは、入力振幅がVin~Vinであるときに、変調器14により所望の光出力波形が得られるクロスポイント制御電圧である。以下、同様に、各入力振幅区間に対してVdut~Vdutが格納されている。図9は、クロスポイント制御電圧テーブルを作成する方法を示すフローチャートである。このフローチャートの手順は、例えば、測定システムにより行われる。或いは、ユーザが手作業でこの手順を行ってもよい。以下の説明では、測定システムが図9に示す手順を行うものとする。この場合、測定システムは、たとえば、振幅可変信号発生器、光送信機10から出力される変調光信号の波形を測定するモニタ装置、および測定制御装置を備える。測定制御装置は、振幅可変信号発生器が生成する信号の振幅を制御する機能、モニタ装置の出力に応じてコントローラ16に指示を与える機能などを有する。S1において、測定システムは、入力振幅=Vin2を有するデータ信号を光送信機10に入力する。S2において、測定システムは、クロスポイント制御電圧Vdutをスイープしながら、変調器14から出力される変調光信号のクロスポイントが最適化されるクロスポイント制御電圧値を測定する。最適化は、たとえば、変調光信号のクロスポイントがその変調光信号のHレベルおよびLレベルのほぼ中間に位置する状態に相当する。なお、図9において、Xpointは、変調器14から出力される変調光信号のクロスポイント位置を表す。また、目標Xpointは、その変調光信号のクロスポイントの目標位置を表す。そして、S3において、測定システムは、S2で取得したVdutを、Vdutとしてメモリ領域1に格納する。すなわち、図10aに示すVdutが検出されて、クロスポイント制御電圧テーブル上のメモリ領域1に格納される。S4~S6の処理は、S1~S3とほぼ同じである。ただし、測定システムは、S4~S6において、入力振幅=Vin2を有するデータ信号を光送信機10に入力する。また、測定システムは、このデータ信号に対して得られるクロスポイント制御電圧Vdutを、Vdutとしてメモリ領域2に格納する。すなわち、図10bに示すVdutが検出されて、クロスポイント制御電圧テーブル上のメモリ領域2に格納される。測定システムは、各入力振幅区間に対して、それぞれS1~S3と同様の処理を実行する。そして、測定システムは、最後に、S11~S13において、入力振幅=Vin2を有するデータ信号を光送信機10に入力する。測定システムは、このデータ信号に対して得られるVdutを、Vdutとしてメモリ領域n-1に格納する。すなわち、図10cに示すVdutが検出されて、クロスポイント制御電圧テーブル上のメモリ領域n-1に格納される。上記手順により、図8に示すクロスポイント制御電圧テーブルが作成される。そして、このクロスポイント制御電圧テーブルは、コントローラ16が備えるメモリ18に格納される。図11は、第1の実施例においてクロスポイント制御電圧を決定する方法を示すフローチャートである。このフローチャートの処理は、コントローラ16により実行される。なお、振幅検出回路15は、常時、入力振幅を検出している。また、コントローラ16は、例えば、このフローチャートの処理を定期的に繰り返し実行する。S20において、コントローラ16は、振幅検出回路15により検出された入力振幅Vinを取得する。S21において、コントローラ16は、入力振幅Vinが入力振幅区間Vin~Vinの範囲内であるか否かを判定する。すなわち、Vin≦Vin<Vinであるか否かが判定される。この条件が満たされているときは、コントローラ16は、S22において、入力振幅区間Vin~Vinに対応するクロスポイント制御電圧Vdutをクロスポイント制御電圧テーブルから取得する。そして、コントローラ16は、クロスポイント制御電圧Vdutを生成して変調器駆動回路12に与える。入力振幅VinがVin以上であるときは、コントローラ16は、S23において、入力振幅Vinが、入力振幅区間Vin~Vinの範囲内であるか否かを判定する。すなわち、Vin≦Vin<Vinであるか否かが判定される。この条件が満たされているときは、コントローラ16は、S24において、入力振幅区間Vin~Vinに対応するクロスポイント制御電圧Vdutをクロスポイント制御電圧テーブルから取得する。そして、コントローラ16は、クロスポイント制御電圧Vdutを生成して変調器駆動回路12に与える。このように、コントローラ16は、入力振幅Vinが属する入力振幅区間をサーチし、そのような区間が見つかれば、対応するクロスポイント制御電圧Vdutを生成する。そして、最後に、S31~S33において、Vin≦Vin<Vinであるか否かが判定され、その判定結果に応じて対応するクロスポイント制御電圧dutが生成される。コントローラ16は、上述のようにして生成したクロスポイント制御電圧を変調器駆動回路12に与える。そうすると、変調器駆動回路12は、コントローラ16から与えられるクロスポイント制御電圧Vdutに応じて、駆動信号のクロスポイントを制御する。ここで、コントローラ16から与えられるクロスポイント制御電圧Vdutは、変調器14の光出力波形のクロスポイントが最適化または略最適化されるように決定されている。したがって、変調器駆動回路12がクロスポイント制御電圧Vdutに応じて駆動信号を生成すれば、変調器14は良好な波形の変調光信号を生成することができる。このように、実施形態の光送信機または光波形補償方法によれば、入力振幅に応じて駆動信号の波形が制御されるので、入力振幅の変動に起因する光出力波形の劣化が補償される。この結果、長距離伝送においても安定した符号誤り特性が実現される。また、実施形態の構成は、入力振幅を調整するインタフェース回路を備えなくてもよいので、光送信機の小型化および低消費電力化が実現される。さらに、入力振幅の変動に対して光出力波形が安定しているので、光送信機を含む伝送装置内の電気信号の信号線長について許容可能なばらつきが大きくなる。よって、伝送装置内に搭載可能な光送信機の個数を増やすことができる。<第2の実施例>第1の実施例では、入力振幅Vinに対応するクロスポイント制御電圧Vdutが測定により得られる。ここで、入力振幅Vinとクロスポイント制御電圧Vdutとの間には、所定の関係が存在する。例えば、変調器14がEA変調器である場合は、入力振幅Vinとクロスポイント制御電圧Vdutとの間の関係は、近似的に、2次関数で表わすことができる。図12は、2次近似曲線について説明する図である。図12において、変調器14はEA変調器である。また、振幅Vin=190~700mVppに対して、Xpoint=目標Xpointが得られるクロスポイント制御電圧Vdutが測定され、各測定結果がそれぞれプロットされている。目標Xpointは、例えば、光出力波形のクロスポイントの位置が、光出力波形のHレベルとLレベルの中間に位置する状態である。曲線Cは、各プロット点に対して生成された2次近似曲線である。図12に示すように、曲線Cは、測定により得られる複数のプロットの傾向を精度よく表している。すなわち、2次近似曲線は、EA変調器の入力振幅Vinとクロスポイント制御電圧Vdutとの間の関係を精度よく表す。入力振幅Vinについての2次近似曲線は、下記1式で表わすことができる。Vdut=a×Vin2b×Vinc1したがって、上記係数a、b、および定数cを決定すれば、振幅検出回路15により検出される入力振幅Vinに対して、目標Xpointを得るためのクロスポイント制御電圧Vdutを算出できる。図13は、第2の実施例で使用する関数を決定する方法を示すフローチャートである。このフローチャートの手順は、例えば、測定システムにより行われる。あるいは、ユーザが手作業でこの手順を行ってもよい。以下の説明では、測定システムが図13に示す手順を行うものとする。S41において、測定システムは、入力振幅=Vinを有するデータ信号を光送信機10に入力する。Vinは、光送信機10の入力信号について規定されている最小の入力振幅を表す。S42において、測定システムは、例えばクロスポイント制御電圧Vdutをスイープすることにより、Xpoint=目標Xpointが得られるクロスポイント制御電圧値Vdutを測定する。すなわち、図14に示すように、入力振幅Vinに対応するクロスポイント制御電圧Vdutが測定される。S43において、測定システムは、入力振幅=Vinを有するデータ信号を光送信機10に入力する。Vinは、光送信機10の入力信号について規定されている最大の入力振幅を表す。そして、測定システムは、S44において、S42と同様の方法で、Xpoint=目標Xpointが得られるクロスポイント制御電圧値Vdutを測定する。すなわち、図14に示すように、入力振幅Vinに対応するクロスポイント制御電圧Vdutが測定される。S45において、測定システムは、入力振幅=Vinを有するデータ信号を光送信機10に入力する。Vinは、例えば、VinおよびVinの平均である。そして、測定システムは、S46において、S42と同様の方法で、Xpoint=目標Xpointが得られるクロスポイント制御電圧値Vdutを測定する。すなわち、図14に示すように、入力振幅Vinに対応するクロスポイント制御電圧Vdutが測定される。S47において、測定システムは、図14に示す座標系で、S42、S44、S46の測定結果を表す3つの座標Vin,VdutVin,VdutVin,Vdutから、2次近似曲線を特定する。この結果、上記1式の係数a、b、および定数cが算出される。なお、上述の例では、最小入力振幅Vin、最大入力振幅Vin、および中間入力振幅Vinに対してそれぞれクロスポイント制御電圧Vdutが測定されるが、第2の実施例はこれに限定されるものではない。すなわち、第2の実施例に係る光波形補償方法において2次近似曲線を特定するためには、任意の3以上の異なる入力振幅に対してそれぞれクロスポイント制御電圧Vdutを測定すればよい。図15は、第2の実施例においてクロスポイント制御電圧を算出する方法を示すフローチャートである。このフローチャートの処理は、コントローラ16により実行される。なお、振幅検出回路15は、常時、入力振幅を検出している。また、コントローラ16は、例えば、このフローチャートの処理を定期的に繰り返し実行する。S50において、コントローラ16は、振幅検出回路15により検出された入力振幅Vinを取得する。S51において、コントローラ16は、上記1式を利用して、入力振幅Vinに対応するクロスポイント制御電圧Vdutを算出する。そして、コントローラ16は、算出結果が表わすクロスポイント制御電圧Vdutを生成して変調器駆動回路12に与える。そうすると、変調器駆動回路12は、コントローラ16から与えられるクロスポイント制御電圧Vdutに応じて、駆動信号のクロスポイントを制御する。したがって、第2の実施例においても、変調器14は良好な波形の変調光信号を生成することができる。第2の実施例の光送信機および光波形補償方法においては、コントローラ16は、クロスポイント制御電圧テーブルを備える必要はない。したがって、メモリ18を小さくできる。また、S51においてクロスポイント制御電圧Vdutを算出する処理は、図11に示すフローチャートの処理と比較して、演算量が少ない。さらに、第2の実施例の光送信機および光波形補償方法は、第1の実施例と同等の効果も得られる。なお、EA変調器を備える光送信機において、入力振幅Vin、クロスポイント制御電圧Vdut、光出力波形のクロスポイントXpointの関係は、駆動回路の制御要素利得、回路オフセット、飽和電圧などおよびEA変調器の消光特性に依存し、非常に複雑である。このため、これらの関係を表す演算式を論理的に導き出すことは困難であり、好適なシミュレーションモデルも開発されていない。このような状況の下で、実施形態の光波形補償方法においては、任意の入力振幅Vinに対して目標Xpointを得るためのクロスポイント制御電圧Vdutを算出する簡単な演算式が、測定に基づく近似で導出されている。<第3の実施例>第2の実施例では、クロスポイント制御電圧Vdutを算出するための関数は、ある1つの目標Xpointに対して決定される。これに対して、第3の実施例においては、任意の目標Xpointについて対応するクロスポイント制御電圧Vdutを算出できる関数が提供される。図16は、クロスポイント制御電圧Vdutと光出力波形のクロスポイントの位置の関係を示す図である。図16において、入力振幅Vinは一定である。クロスポイント制御電圧Vdut=05~11Vに対して、光出力波形のクロスポイントの位置Xpointが測定され、各測定結果がそれぞれプロットされている。Xpointは、光出力波形の振幅または波高に対する比率で表わされている。すなわち、Xpoint=50パーセントは、光出力波形のHレベルとLレベルの中間にクロスポイントが位置している状態を表す。さらに、直線Lは、各プロット点に対して生成された1次近似線である。図16に示すように、直線Lは、測定により得られる複数のプロットの傾向を精度よく表している。すなわち、光出力波形のクロスポイント位置Xpointは、クロスポイント制御電圧Vdutに対してほぼリニアに変化する。図17は、Vdutに対するXpointの傾きの入力振幅依存性を示す図である。図17では、入力振幅Vin=190~700mVppにおいて、クロスポイント制御電圧Vdutに対するクロスポイント位置Xpointが測定されている。また、直線L1~L6は、Vin=190、300、400、500、600、700mVppに対して得られる測定結果の1次近似線である。図17に示すように、入力振幅Vinが小さいときはVdutに対するXpointの傾きは大きい。また、入力振幅Vinが大きいときはVdutに対するXpointの傾きは小さい。さらに、直線L1~L6は、図17に示す座標系においてほぼ同じ座標で交差する。このように、図17に示す測定結果によれば、Vdutに対するXpointの傾きは、入力振幅Vinに依存する。よって、Vdutに対するXpointの傾きの逆数を求めれば、任意の入力振幅Vinに対して、目標Xpointが得られるクロスポイント制御電圧を算出することができる。すなわち、振幅検出回路15を用いて入力振幅Vinを検出すれば、目標Xpointが得られるクロスポイント制御電圧を算出することができる。なお、以下の説明では、Vdutに対するXpointの傾きの逆数をslop1と表記する。図18は、入力振幅Vinに対するslope1の変化を示す図である。図18では、入力振幅Vin=190~700mVppにおいて傾きの逆数slop1がプロットされている。傾きの逆数slop1は、各入力振幅について、Vdutを変化させながらに対してXpointを測定することで得られる。また、曲線Sは、各プロット点に対して生成された2次近似曲線である。図18に示すように、曲線Sは、測定により得られる複数のプロットの傾向を精度よく表す。すなわち、2次近似曲線は、入力振幅Vinと傾きの逆数slop1との間の関係を精度よく表している。入力振幅Vinについての2次近似曲線は、下記2式で表わすことができる。slop1=d×Vin2e×Vinf2したがって、上記係数d、e、および定数fを決定すれば、振幅検出回路15により検出される入力振幅Vinに対応する傾きの逆数slop1が得られる。そうすると、クロスポイント制御電圧Vdutは、傾きの逆数slop1を利用すれば、下記3式で表わすことができる。Vdut=Xp-g×slop1h3Xpは、光出力波形のクロスポイントの目標位置を表す。したがって、定数g、hを決定すれば、目標クロスポイント位置を得るためのクロスポイント制御電圧Vdutを算出することができる。図19は、第3の実施例で使用する関数を決定する方法を示すフローチャートである。このフローチャートの手順は、例えば、測定システムにより行われる。あるいは、ユーザが手作業でこの手順を行ってもよい。以下の説明では、測定システムが図19に示す手順を行うものとする。S61において、測定システムは、入力振幅=Vinを有するデータ信号を光送信機10に入力する。Vinは、たとえば、第2の実施例で記載した最大入力振幅Vinである。S62において、測定システムは、Xpoint=Xpointを得るためのクロスポイント制御電圧Vdutを測定により取得する。また、測定システムは、S63において、Xpoint=Xpointを得るためのクロスポイント制御電圧Vdutを測定により取得する。すなわち、測定システムは、図20aに示すように、入力振幅Vinに対して、クロスポイントXpoint、Xpointを得るためのクロスポイント制御電圧Vdut、Vdutを検出する。なお、XpointおよびXpointは、互いに近接していない値であることが好ましい。また、特に限定されるものではないが、例えば、Xpointは50パーセントよりも大きな値であり、Xpointは50パーセントよりも小さい値である。S64において、測定システムは、入力振幅=Vinを有するデータ信号を光送信機10に入力する。Vinは、たとえば、第2の実施例で記載した中間入力振幅Vinである。S65において、測定システムは、Xpoint=Xpointを得るためのクロスポイント制御電圧Vdutを測定により取得する。また、測定システムは、S66において、Xpoint=Xpointを得るためのクロスポイント制御電圧Vdutを測定により取得する。すなわち、測定システムは、図20aに示すように、入力振幅Vinに対して、クロスポイントXpoint、Xpointを得るためのクロスポイント制御電圧Vdut、Vdutを検出する。S67において、測定システムは、入力振幅=Vinを有するデータ信号を光送信機10に入力する。Vinは、たとえば、第2の実施例で記載した最小入力振幅Vinである。S68において、測定システムは、Xpoint=Xpointを得るためのクロスポイント制御電圧Vdutを測定により取得する。また、測定システムは、S69において、Xpoint=Xpointを得るためのクロスポイント制御電圧Vdutを測定により取得する。すなわち、測定システムは、図20aに示すように、入力振幅Vinに対して、クロスポイントXpoint、Xpointを得るためのクロスポイント制御電圧Vdut、Vdutを検出する。S70において、測定システムは、図20aに示す座標系において、S61~S63で取得した下記の2つの座標を通過する直線Y1を特定する。Vdut,XpointVdut,Xpointそして、測定システムは、直線Y1の傾きの逆数slope1を算出する。S71において、測定システムは、S64~S66で取得した下記の2つの座標を通過する直線Y2を特定する。Vdut,XpointVdut,Xpointそして、測定システムは、直線Y2の傾きの逆数slope1を算出する。S72において、測定システムは、S67~S69で取得した下記の2つの座標を通過する直線Y2を特定する。Vdut,XpointVdut,Xpointそして、測定システムは、直線Y3の傾きの逆数slope1を算出する。このように、S70~S72においては、図20bに示すように、入力振幅Vin、Vin、Vinに対して、それぞれ傾きの逆数slope1、slope1、slope1が算出される。S73において、測定システムは、図20aに示す座標系で直線Y1、Y3の交点の座標を算出する。この交点のVdut軸上の座標は、上記3式の定数hとして特定される。また、この交点のXpoint軸上の座標は、上記3式の定数gとして特定される。S74において、測定システムは、図20bに示す座標系で、下記の3つの座標から2次近似曲線を特定する。Vin,slope1Vin,slope1Vin,slope1この結果、上記2式の係数d、e、および定数fが算出される。このように、S61~S74の処理により、上記2式および3式が特定される。なお、測定システムは、図19に示す順序でS61~S74を実行しなくてもよい。例えば、S61~S63に続いてS70を実行し、S64~S66に続いてS71を実行し、S67~S69に続いてS72を実行してもよい。また、S73の前にS74を実行してもよい。図21は、第3の実施例においてクロスポイント制御電圧を算出する方法を示すフローチャートである。このフローチャートの処理は、コントローラ16により実行される。なお、振幅検出回路15は、常時、入力振幅を検出している。また、コントローラ16は、例えば、このフローチャートの処理を定期的に繰り返し実行する。S80において、コントローラ16は、振幅検出回路15により検出された入力振幅Vinを取得する。S81において、コントローラ16は、上記2式を利用して、入力振幅Vinに対応する傾きの逆数slope1を算出する。S82において、コントローラ16は、S81で取得した傾きの逆数slope1を利用してクロスポイント制御電圧Vdutを算出する。ここで、上記3式のXpは、光出力波形の目標クロスポイント位置を表す。そして、コントローラ16は、算出結果に応じてクロスポイント制御電圧Vdutを生成して変調器駆動回路12に与える。そうすると、変調器駆動回路12は、コントローラ16から与えられるクロスポイント制御電圧Vdutに応じて、駆動信号のクロスポイントを制御する。したがって、第3の実施例においても、変調器14は良好な波形の変調光信号を生成することができる。第3の実施例の光送信機および光波形補償方法においては、第2の実施例と同様に、コンローラ16はクロスポイント制御電圧テーブルを備える必要はない。したがって、メモリ18を小さくできる。また、S81~S82においてクロスポイント制御電圧Vdutを算出する処理は、図11に示すフローチャートの処理と比較して、演算量が少ない。さらに、第3の実施例の光送信機および光波形補償方法においては、上記3式の目標Xpを得るように入力振幅Vinに応じてクロスポイント制御電圧Vdutが制御されるので、目標Xpを有する変調光信号が生成される。すなわち、光出力波形に対する要求が変更した場合であっても、上記3式の目標Xpを書き換えるだけで、その要求を満たすことができる。例えば、目標Xpを50パーセントから52パーセントに変更する場合には、光波形補償プログラム中に記載されている上記3式のXpの値が50から52に書き換えられる。したがって、光送信機の設計または仕様の変更等に対して柔軟に対応できる。<測定結果>光送信機の特性に係わる幾つかの測定結果を図22~図23に示す。ここでは、光送信機10の入力振幅190~700mVppにおいて、実施形態の光波形補償方法を行う場合と行わない場合とを比較する。なお、光波形補償は、上述した第3の実施例の方法を採用している。図22aは、光出力波形のクロスポイントの位置Xpointについての測定結果を示す。波形補償を行わないときは、入力振幅Vinが小さい領域で、Xpointが大きく変化して光波形が歪んでいる。これに対して、実施形態の波形補償を行うと、入力振幅Vinが変化しても、Xpointはほぼ一定である。図22bは、光出力波形のマスクマージンについての測定結果を示す。波形補償を行わないときは、入力振幅Vinが小さい領域でマスクマージンが劣化している。これに対して、実施形態の波形補償を行うと、入力振幅Vinが変化しても、マスクマージンの変動は小さい。図23aは、光出力波形の消光比ExtinctionRatioについての測定結果を示す。波形補償を行わないときは、入力振幅Vinが小さい領域で消光比が劣化している。これに対して、実施形態の波形補償を行うと、入力振幅Vinが変化しても消光比はほぼ一定である。図23bは、光出力波形のジッターについての測定結果を示す。波形補償を行わないときは、入力振幅Vinの変化に対してジッターの変化が大きい。これに対して、実施形態の波形補償を行うと、入力振幅Vinが変化してもジッターの変化は小さくなる。図23cは、最小受信感度についての測定結果を示す。なお、この測定は、光送信機と光受信機との間の伝送距離がゼロである環境すなわち、BacktoBackで行われている。波形補償を行わないときは、入力振幅Vinが小さい領域で最小受信感度が劣化している。これに対して、実施形態の波形補償を行うと、入力振幅Vinが変化しても最小受信感度はほぼ一定である。図24は、測定により得られた光出力波形を示す図である。波形補償を行わないと、入力振幅Vinの変動に対して光出力波形は大きく変化する。これに対して、実施形態の波形補償を行うと、入力振幅Vinが変動しても、光出力波形の変化は小さい。<バリエーション>振幅検出回路15の一例として図7bに示す構成を説明した。しかし、振幅検出回路15は、他の構成で実現してもよい。以下、図25~図26を参照しながら、振幅検出回路15のバリエーションについて説明する。図25aに示す振幅検出回路は、片側ピーク検出回路51を有する。片側ピーク検出回路51は、H側ピーク検出回路またはL側ピーク検出回路により実現される。H側ピーク検出回路は、例えば、図7bに示す回路により実現される。また、L側ピーク検出回路は、例えば、図7bに示す回路においてダイオードDの向きを逆にすることで実現される。すなわち、図7bにおいて、バッファアンプ42の出力信号をダイオードDのカソードに導き、ダイオードDのアノードをキャパシタCに接続すれば、L側ピーク検出回路が実現される。図25bに示す振幅検出回路は、H側ピーク検出回路52およびL側ピーク検出回路53を有する。H側ピーク検出回路52およびL側ピーク検出回路53の構成は、上述した通りである。この場合、コントローラ16は、H側ピーク検出回路52およびL側ピーク検出回路53により得られる振幅情報に基づいて入力振幅Vinを算出する。図25cに示す振幅検出回路は、H側ピーク検出回路52、L側ピーク検出回路53、レベル検出回路54を有する。この場合、コントローラ16は、H側ピーク検出回路52およびL側ピーク検出回路53により得られる振幅情報を、レベル検出回路54により得られるレベル情報で補正することで入力振幅Vinを算出する。図26aに示す振幅検出回路は、非反転入力信号および反転入力信号のそれぞれに対して、片側ピーク検出回路51を有する。この場合、コントローラ16は、双方の片側ピーク検出回路51により得られる振幅情報を利用して入力振幅Vinを算出する。図26bに示す振幅検出回路は、非反転入力信号および反転入力信号のそれぞれに対して図25bに示す構成H側ピーク検出回路52、L側ピーク検出回路53を有する。同様に、図26cに示す振幅検出回路は、非反転入力信号および反転入力信号のそれぞれに対して図25cに示す構成H側ピーク検出回路52、L側ピーク検出回路53、レベル検出回路54を有する。上述の実施例では、変調器14の一例としてEA変調器について説明したが、実施形態の光送信機はこれに限定されるものではない。すなわち、実施形態の光送信機は、EA変調器以外の変調器を有する構成であってもよい。この場合、光送信機は、駆動信号のクロスポイントと光出力波形のクロスポイントが異なる変調器を実装してもよい。また、光送信機は、駆動信号による印加電圧に対して光出力パワーが非線形特性を有する変調器を実装してもよい。以上記載した各実施例を含む実施形態に関し、さらに以下の付記を開示する。なお、本発明は、以下の付記に限定されるものではない。付記1入力信号から駆動信号を生成する変調器駆動回路と、前記駆動信号に応じて変調光信号を生成する変調器と、前記入力信号の振幅である入力振幅を検出する振幅検出器と、前記振幅検出器により検出される入力振幅に基づいて波形制御信号を生成するコントローラ、を備え、前記変調器駆動回路は、前記波形制御信号に応じて前記駆動信号の波形を制御することを特徴とする光送信機。付記2前記コントローラは、前記波形制御信号として前記入力振幅に基づいて決まるクロスポイント制御電圧を出力し、前記変調器駆動回路は、前記クロスポイント制御電圧に応じて前記駆動信号のクロスポイントを制御することを特徴とする付記1に記載の光送信機。付記3前記入力信号は、第1信号および第2信号を含む差動信号であり、前記変調器駆動回路は、前記クロスポイント制御電圧に応じて、前記第1信号および前記第2信号の電圧レベル間のオフセットを調整することを特徴とする付記2に記載の光送信機。付記4入力振幅を表す入力振幅データに対して、前記変調器により所望の光出力波形が得られるクロスポイント制御データを格納するメモリをさらに備え、前記コントローラは、前記振幅検出器により検出される入力振幅に対応する入力振幅データを利用して前記メモリから対応するクロスポイント制御データを取得し、取得したクロスポイント制御データに基づいて前記クロスポイント制御電圧を生成することを特徴とする付記2に記載の光送信機。付記5前記コントローラは、入力振幅に対して前記変調器により所望の光出力波形が得られるクロスポイント制御電圧を算出する演算式を利用して、前記振幅検出器により検出される入力振幅に対応するクロスポイント制御電圧を生成することを特徴とする付記2に記載の光送信機。付記6前記変調器は、電界吸収型光変調器であり、前記演算式は、入力振幅についての2次関数であることを特徴とする付記5に記載の光送信機。付記7前記2次関数は、3以上の異なる入力振幅に対してそれぞれ前記変調器により所望の光出力波形が得られるクロスポイント制御電圧を測定した結果を利用して決定されることを特徴とする付記6に記載の光送信機。付記8前記変調器は、電界吸収型光変調器であり、前記演算式は、前記クロスポイント制御電圧に対する前記光出力波形のクロスポイント位置の変化の傾きの逆数を計算するための入力振幅についての2次関数、および前記クロスポイント制御電圧を計算するための前記傾きの逆数についての1次関数を含むことを特徴とする付記5に記載の光送信機。付記9前記振幅検出器は、前記入力信号のHレベル側のピークまたはLレベル側のピークの少なくとも一方を検出するピーク検出回路を含むことを特徴とする付記1の記載の光送信機。付記10入力信号から駆動信号を生成する変調器駆動回路および前記駆動信号に応じて変調光信号を生成する変調器を備える光送信機において使用される光波形補償方法であって、前記入力信号の振幅を検出し、前記入力信号の振幅に基づいて前記駆動信号のクロスポイントを制御して前記変調光信号の波形を補償することを特徴とする光波形補償方法。付記11光送信機への入力信号の振幅を検出し、前記入力信号の振幅に基づいてクロスポイント制御電圧を生成し、前記入力信号から前記クロスポイント制御電圧でクロスポイントが制御された駆動信号を生成し、変調器を利用して前記駆動信号に応じて光信号を生成することを特徴とする光信号生成方法。"