(57)【要約】【課題】光増幅器の出力光パワーの変動を抑制する【解決手段】光増幅器は、光増幅媒体と、与えられた制御値に対応するパワーの励起光を生成して光増幅媒体に供給する励起光生成器と、光増幅媒体の出力光パワーが目標光パワーに近づくように制御値を生成するレベル制御回路および制御値の範囲を制限するリミッタを含むコントローラと、コントローラが停止している期間、一定の制御値を励起光生成器に与えるラッチ回路と、コントローラが再起動されたときに、リミッタにおいて制御値を制限するための上限値を、コントローラが停止する前の上限値よりも低くするリミッタ制御部と、を有する。【選択図】図５
2014107360.tif 000002
【特許請求の範囲】
【請求項１】
光増幅媒体と、
与えられた制御値に対応するパワーの励起光を生成して前記光増幅媒体に供給する励起光生成器と、
前記光増幅媒体の出力光パワーが目標光パワーに近づくように前記制御値を生成するレベル制御回路、および前記制御値の範囲を制限するリミッタを含むコントローラと、
前記コントローラが停止している期間、一定の制御値を前記励起光生成器に与えるラッチ回路と、
前記コントローラが再起動されたときに、前記リミッタにおいて前記制御値を制限するための上限値を、前記コントローラが停止する前の上限値よりも低くするリミッタ制御部と、
を有する光増幅器。
【請求項２】
前記リミッタ制御回路は、前記コントローラが再起動されたときに、前記リミッタにおいて前記制御値を制限するための下限値を、前記コントローラが停止する前の下限値よりも高くする、
ことを特徴とする請求項１に記載の光増幅器。
【請求項３】
前記リミッタ制御回路は、前記コントローラが再起動されたときの前記リミッタの上限値および下限値として、前記コントローラが停止する前に前記コントローラから前記励起光生成器へ与えられた制御値を設定し、その後、前記上限値を高くしていくと共に前記下限値を低くしていく、
ことを特徴とする請求項１または２に記載の光増幅器。
【請求項４】
前記リミッタ制御回路は、前記上限値を高くするスピードを段階的に速くしてゆき、前記下限値を低くするスピードを段階的に速くしてゆく、
ことを特徴とする請求項３に記載の光増幅器。
【請求項５】
前記リミッタ制御回路は、前記上限値を高くすると共に前記下限値を低くする処理の途中で、前記光増幅媒体の出力光パワーと前記目標光パワーとの誤差が所定の閾値よりも小さくなったきに、前記上限値として前記励起光生成器の最大励起光パワーに対応する値を設定すると共に、前記下限値として前記励起光生成器の最小励起光パワーに対応する値を設定する、
ことを特徴とする請求項３に記載の光増幅器。
【請求項６】
前記光増幅媒体の入力光パワーを検出する検出器と、
前記検出器により検出された入力光パワーおよび予め指定される目標利得に基づいて、前記目標光パワーを算出する目標光パワー算出器と、をさらに有し、
前記レベル制御回路は、前記光増幅媒体の出力光パワーが前記目標光パワー算出器により算出される目標光パワーに近づくように前記制御値を生成する、
ことを特徴とする請求項１〜５のいずれか１つに記載の光増幅器。
【請求項７】
光増幅媒体と、
与えられた制御値に対応するパワーの励起光を生成して前記光増幅媒体に供給する励起光生成器と、
前記光増幅媒体の出力光パワーが目標光パワーに近づくように、ＰＩ（比例−積分）制御またはＰＩＤ（比例−積分−微分）制御で前記制御値を生成するコントローラと、
前記コントローラが停止している期間、一定の制御値を前記励起光生成器に与えるラッチ回路と、
前記コントローラが再起動されたときに、前記ＰＩ制御またはＰＩＤ制御の積分項の係数を、前記コントローラが停止する前の積分項の係数よりも小さくする演算制御部と、
を有する光増幅器。
【請求項８】
前記演算制御部は、前記コントローラが再起動されたときに、前記ＰＩ制御またはＰＩＤ制御の中の積分演算を停止する、
ことを特徴とする請求項７に記載の光増幅器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、励起光を用いて光信号を増幅する光増幅器に係わる。
【背景技術】
【０００２】
光伝送システムにおいて使用される光増幅器は、入力光パワーおよび／または出力光パワーに基づいて励起光パワーを制御するための制御回路を有している。近年では、光増幅器の制御回路は、ＦＰＧＡ（Field Programable Gate Array）で実現されることがある。
【０００３】
ＦＰＧＡは、更新可能なプログラムおよび／または再構成可能な論理コンポーネントを含んでいる。このため、このプログラムを書き換えることにより、または論理コンポーネントを再構成することにより、ＦＰＧＡの機能を変更することができる。したがって、ＦＰＧＡをアップデートまたはアップグレードすれば、光増幅器の動作、性能、特性などを調整することが可能である。なお、「アップデート（アップグレード）」は、ＦＰＧＡのプログラムを更新する処理、ＦＰＧＡの論理コンポーネントを再構成する処理、またはＦＰＧＡのパラメータを更新する処理を含むものとする。
【０００４】
上述のＦＰＧＡのアップデートは、光伝送システムの運用中に要求されることがある。この場合、光増幅器は、光信号を増幅する動作を行ないながら、ＦＰＧＡのアップデートを実行する機能（インサービスソフトウェアアップグレード機能）を有している必要がある。
【０００５】
ところが、ＦＰＧＡのアップデートが実行されているときは、ＦＰＧＡ（すなわち、光増幅器の制御回路）は、励起光パワーを制御することはできない。このため、ＦＰＧＡのアップデートが実行されるときは、例えば、励起光パワーを制御するための制御値がメモリに格納される。そして、ＦＰＧＡのアップデートが実行されている期間は、そのメモリに格納されている制御値を利用して励起光パワーが制御される。その後、ＦＰＧＡのアップデートが終了すると、メモリに格納されている制御値がＦＰＧＡに提供される。したがて、ＦＰＧＡは、ＦＰＧＡのアップデートが実行される直前の制御値を利用して、励起光パワーの制御を再開できる。
【０００６】
なお、関連技術として、光増幅の制御とＦＰＧＡのアップデートを両立する光増幅装置が提案されている。また、他の関連技術として、光伝送システムの中継局に備えられて信号光を増幅すると共に、出力パワーのＡＬＣ（Automatic Level Control）を実行する光増幅装置が提案されている。さらに、急激な利得変動による信号のエラー発生を抑制する方法が提案されている。（例えば、特許文献１〜３）
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−２２０９７７号公報
【特許文献２】ＷＯ２００９／０１６６９５号
【特許文献３】特開２００４−８８３７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述のＦＰＧＡのアップデートが行なわれているときに、光伝送路の特性が変化することがある。この場合、アップデート後に要求される励起光パワーは、アップデート前に実際に提供されていた励起光のパワーと異なることになる。ところが、上述したように、アップデートの直後には、励起光パワーの制御値として、アップデート前の制御値が設定される。このため、アップデートの直後において、設定された制御値と目標制御値との差分が大きくなってしまう。この結果、この差分に対応して励起光パワーが急激に変化してしまう。
【０００９】
たとえば、ＦＰＧＡのアップロード中に光伝送路の損失が大きくなると、アップロード後の目標制御値が大きくなるので、励起光パワーが瞬間的に大きくなってしまう。すなわち、ＦＰＧＡのアップロードの直後に励起光のサージが発生する。そして、このような励起光のサージは、光増幅器から出力される光信号のパワーを変動させる。この結果、例えば、光信号対雑音比が劣化したり、光信号が受信機のダイナミックレンジを超えてしまうので、ビット誤り率が悪くなることがある。
【００１０】
なお、上述の問題は、光増幅器のＦＰＧＡがアップデートされる場合だけでなく、光増幅器の動作中に励起光パワーの制御回路が一時的に停止する場合も発生し得る。
本発明の目的は、光増幅器の出力光パワーの変動を抑制することである。
【課題を解決するための手段】
【００１１】
本発明の１つの態様の光増幅器は、光増幅媒体と、与えられた制御値に対応するパワーの励起光を生成して前記光増幅媒体に供給する励起光生成器と、前記光増幅媒体の出力光パワーが目標光パワーに近づくように前記制御値を生成するレベル制御回路、および前記制御値の範囲を制限するリミッタを含むコントローラと、前記コントローラが停止している期間、一定の制御値を前記励起光生成器に与えるラッチ回路と、前記コントローラが再起動されたときに、前記リミッタにおいて前記制御値を制限するための上限値を、前記コントローラが停止する前の上限値よりも低くするリミッタ制御部と、を有する。
【発明の効果】
【００１２】
上述の態様によれば、光増幅器の出力光パワーの変動が抑制される。
【図面の簡単な説明】
【００１３】
【図１】光増幅器の構成の一例を示す図である。
【図２】制御値をラッチする構成を示す図である。
【図３】ＦＰＧＡのアップデート直後の励起光パワーおよび出力光パワーを示す図である。
【図４】図３に示す過渡変動の測定結果の一例を示す図である。
【図５】第１の実施形態の光増幅器の構成を示す図である。
【図６】ＦＰＧＡがアップデートされるときの光増幅器の動作を示すフローチャートである。
【図７】ＡＬＣ停止処理を示すフローチャートである。
【図８】ＦＰＧＡ再起動処理を示すフローチャートである。
【図９】リミッタ制御処理を示すフローチャートである。
【図１０】第１の実施形態の光増幅器の動作の一例を示す図である。
【図１１】図１０に示す過渡変動の測定結果の一例を示す図である。
【図１２】第１の実施形態の光増幅器の動作の他の例を示す図である。
【図１３】第１の実施形態のリミッタ制御処理の他の実施例を示すフローチャートである。
【図１４】図１３に示すリミッタ制御処理が実行されたときの光増幅器の動作を示す図である。
【図１５】比較方式の動作を説明する図である。
【図１６】第２の実施形態の光増幅器の構成を示す図である。
【図１７】第３の実施形態の光増幅器の構成を示す図である。
【図１８】第３の実施形態のＦＰＧＡ再起動処理を示すフローチャートである。
【図１９】第３の実施形態の光増幅器の動作の一例を示す図である。
【図２０】図１９に示す過渡変動の測定結果の一例を示す図である。
【図２１】第３の実施形態のＦＰＧＡ再起動処理の他の実施例を示すフローチャートである。
【図２２】第４の実施形態の光増幅器の構成を示す図である。
【発明を実施するための形態】
【００１４】
＜光増幅器の動作およびＦＰＧＡのアップデート＞
図１は、光増幅器の構成の一例を示す。光増幅器１は、図１に示すように、エルビウム添加光ファイバ（ＥＤＦ：Erbium-Doped Fiber）１０、励起光生成器２０、出力パワー検出器３０、ＦＰＧＡ４０、ラッチ回路６０、ＣＰＵ７０を有する。
【００１５】
光増幅器１は、たとえば、光伝送システムにおいて使用される。この場合、光増幅器１は、光伝送システムの光信号を増幅する。光信号は、ＷＤＭ信号であってもよい。
励起光生成器２０は、与えられた制御値に対応するパワーの励起光を生成してＥＤＦ１０に供給するために、駆動回路２１、レーザ光源（ＬＤ）２２、合波器２３を有する。駆動回路２１は、ＦＰＧＡ４０から与えられる制御値に対応する電流で、レーザ光源２２を駆動する。レーザ光源２２は、駆動回路２１によって駆動され、所定の波長の光を生成する。レーザ光源２２の出力光は、励起光として使用される。すなわち、レーザ光源２２は、制御値に対応するパワーの励起光を生成することができる。合波器２３は、レーザ光源２２により生成される励起光をＥＤＦ１０に導く。
【００１６】
ＥＤＦ１０は、励起光が供給されると、光増幅媒体として作用する。すなわち、ＥＤＦ１０は、入力信号光を増幅する。ＥＤＦ１０によって増幅された信号光は、出力ポートを介して出力される。
【００１７】
出力パワー検出器３０は、分波器３１、受光器３２、モニタ回路３３を有する。分波器３１は、ＥＤＦ１０によって増幅された信号光を分岐して受光器３２に導く。受光器３２は、分波器３１から導かれてくる信号光を電気信号に変換する。モニタ回路３３は、受光器３２から出力される電気信号に基づいて、光増幅器１の出力光パワーをモニタする。
【００１８】
ＦＰＧＡ４０は、励起光を制御するコントローラとして動作し、光増幅器１の出力光パワー（すなわち、ＥＤＦ１０の出力光パワー）が目標光パワーに近づくように制御値を生成する。そして、ＦＰＧＡ４０は、上述の制御値を生成するために、誤差計算器４１、ＡＬＣ（Automatic Level Control）回路４２、係数メモリ４３、リミッタ４４、セレクタ４５を有する。なお、図１に示す例では、ＦＰＧＡ４０は、ＡＬＣで励起光パワーを制御する。
【００１９】
誤差計算器４１は、出力パワー検出器３０によって検出される出力光パワーと目標光パワーとの誤差（または、差分）を計算する。なお、目標光パワーを表すデータは、ＣＰＵ７０からＦＰＧＡ４０に与えられる。
【００２０】
ＡＬＣ回路４２は、出力光パワーと目標光パワーとの誤差を小さくするための制御値を計算する。ＡＬＣ回路４２は、ＰＩＤ（Proportional-Integral-Differential）制御で、上記制御値を計算してもよい。この場合、ＣＰＵ７０からＦＰＧＡ４０に対して与えられるＰ係数（比例係数）、Ｉ係数（積分項の係数）、Ｄ係数（微分項の係数）は、係数メモリ４３に格納される。そして、ＡＬＣ回路４２は、係数メモリ４３からＰ係数、Ｉ係数、Ｄ係数を取得して、誤差を小さくする制御値を計算する。なお、ＡＬＣ回路４２は、所定の時間間隔で制御値を生成する。
【００２１】
リミッタ４４は、ＡＬＣ回路４２により生成された制御値の範囲を制限する。制御値を制限するための範囲の上限値および下限値は、ＣＰＵ７０から与えられる。上限値は、例えば、レーザ光源２２の最大光パワーに対応する電流値を表す。一例として、レーザ光源２２の最大光パワーが４００ｍＷであり、４００ｍＷの光を得るための駆動電流が１０００ｍＡであるものとする。この場合、上限値は、１０００ｍＡを表す。一方、下限値は、例えば、レーザ光源２２の最小光パワーに対応する電流値を表す。一例として、下限値はゼロであってもよい。
【００２２】
セレクタ４５は、ＣＰＵ７０から与えられる選択指示に従って、ＡＬＣ制御値またはＡＣＣ制御値を選択する。ＡＬＣ制御値は、ＡＬＣ回路４２によって生成された制御値を表す。なお、ＡＬＣ制御値は、上述したように、リミッタ４４によって値域が制限されている。ＡＣＣ（Automatic Current Control）制御値は、ＣＰＵ７０から与えられる。なお、以下の説明では、セレクタ４５によって選択されたＡＬＣ制御値またはＡＣＣ制御値を、単に「制御値」と呼ぶことがある。
【００２３】
ラッチ回路６０は、ＣＰＵ７０からの指示に従って、制御値を保持することができる。ラッチ回路６０により保持されている制御値は、励起光生成器２０に与えられる。すなわち、ラッチ回路６０により制御値が保持されているときは、駆動回路２１は、その制御値が指示する電流でレーザ光源２２を駆動する。
【００２４】
ＣＰＵ７０は、目標光パワーを表すデータをＦＰＧＡ４０の誤差計算器４１に与える。また、ＣＰＵ７０は、Ｐ係数、Ｉ係数、Ｄ係数をＦＰＧＡ４０に与える。さらに、ＣＰＵ７０は、制御値の値域を制限するための上限値および下限値を、ＦＰＧＡ４０のリミッタ４４に与える。なお、ＣＰＵ７０は、不図示のメモリからＰ係数、Ｉ係数、Ｄ係数、上限値および下限値を読み出して、ＦＰＧＡ４０に与える。また、ＣＰＵ７０は、例えば、図に示していない光増幅器の外部に備わる光増幅器を制御するための制御器から与えられる目標光パワーを、ＦＰＧＡ４０に与える。
【００２５】
ＣＰＵ７０は、ＡＣＣ制御値計算部７１、モード切替部７２、ラッチ制御部７３を有する。ＡＣＣ制御値計算部７１は、ＦＰＧＡ４０がアップデートされるときに、ＡＬＣ回路４２により生成される制御値に基づいてＡＣＣ制御値を計算する。そして、ＡＣＣ制御値計算部７１は、そのＡＣＣ制御値をセレクタ４５に与える。モード切替部７２は、ＡＬＣ制御値またはＡＣＣ制御値を選択するための選択指示をセレクタ４５に与える。ラッチ制御部７３は、ラッチ回路６０の動作を制御する。
【００２６】
光増幅器１は、以下のようにして入力信号光を増幅する。誤差計算器４１は、出力光パワーと目標光パワーとの誤差を計算する。ＡＬＣ回路４２は、ＰＩＤ演算で、上記誤差を小さくするための制御値を生成する。ＣＰＵ７０は、ＡＬＣ制御値を選択するための選択指示をセレクタ４５に与える。よって、ＡＬＣ回路４２により生成される制御値が、励起光生成器２０に与えられる。そして、励起光生成器２０は、ＡＬＣ回路４２により生成される制御値に対応するパワーで励起光を生成する。この結果、光増幅器１の出力光パワーは、目標光パワーに制御される。このとき、ＡＬＣ回路４２により生成される制御値の値域はリミッタ４４により制限されるので、励起光パワーは、レーザ光源２２の最大光パワー以下に制限される。
【００２７】
上記構成の光増幅器１において、ＦＰＧＡ４０は、ＣＰＵ７０の制御の下でアップデートされる。例えば、ＣＰＵ７０は、ＡＬＣ回路４２が実行するＰＩＤ演算の計算式を書き換えることができる。また、ＣＰＵ７０は、ＡＬＣ回路４２により使用されるＰ係数、Ｉ係数、Ｄ係数を変更することができる。
【００２８】
ＦＰＧＡ４０がアップデートされるとき、ＦＰＧＡ４０は停止する。すなわち、ＦＰＧＡ４０がアップデートされるとき、ＦＰＧＡ４０は制御値を生成しない。ところが、光増幅器１は、ＦＰＧＡ４０がアップデートされている期間も、光信号を増幅する動作を継続することが要求される。このため、光増幅器１は、ＦＰＧＡ４０がアップデートされているときにも励起光を生成する機能を有している。
【００２９】
図２は、制御値をラッチする構成を示す。セレクタ４５には、ＡＬＣ制御値およびＡＣＣ制御値が入力される。ＡＬＣ制御値は、上述したように、ＡＬＣ回路４２により生成される制御値である。そして、ＣＰＵ７０は、ＦＰＧＡ４０のアップデートを開始する直前に、制御モードをＡＬＣからＡＣＣに切り替える。このとき、ＣＰＵ７０は、ＡＬＣ回路４２により生成される制御値に基づいてＡＣＣ制御値を生成する。また、ＣＰＵ７０は、ＡＣＣ制御値を選択するための選択信号をセレクタ４５に与える。そして、セレクタ４５は、この選択信号に従って、ＡＣＣ制御値を選択して出力する。
【００３０】
駆動回路２１は、Ｄ／Ａ変換器２１ａおよびＬＤドライバ２１ｂを有する。Ｄ／Ａ変換器２１ａは、与えられた制御値をアナログ信号に変換する。ＬＤドライバ２１ｂは、Ｄ／Ａ変換器２１ａから出力されるアナログ信号に対応する電流で、レーザ光源２２を駆動する。したがって、ＦＰＧＡ４０のアップデートが開始されるとき、ＡＣＣ制御値に対応するパワーで励起光を生成する状態が実現される。
【００３１】
ラッチ回路６０は、ＦＰＧＡ４０のアップデートが終了するまで、ＣＰＵ７０の制御の下で、ＡＣＣ制御値を保持する。したがって、ＦＰＧＡ４０のアップデートが終了するまでの期間は、励起光生成器２０は、ＡＣＣ制御値に対応するパワーで励起光を生成し続ける。すなわち、ＦＰＧＡ４０のアップデートが実行されている期間は、励起光パワーは、ＡＣＣ制御値に対応する値に保持される。
【００３２】
ＦＰＧＡ４０のアップデートが終了すると、ＡＬＣ回路４２は、出力光パワーに基づいて制御値を生成する動作を再開する。ＣＰＵ７０は、ラッチ回路６０によるラッチを解除する。さらに、ＣＰＵ７０は、制御モードをＡＣＣからＡＬＣに戻す。すなわち、ＣＰＵ７０は、ＡＬＣ制御値を選択するための選択信号をセレクタ４５に与える。そうすると、ＡＬＣ回路４２により生成される制御値が、励起光生成器２０に与えられるようになる。以降、光増幅器１は、ＡＬＣで励起光パワーを制御しながら、信号光を増幅する。
【００３３】
このように、光増幅器１は、励起光パワーを制御するＦＰＧＡ４０が一時的に停止しても、所定の出力光パワーを維持する増幅動作を継続できる。ただし、ＦＰＧＡ４０のアップデート中に伝送路光ファイバの損失が変動すると、ＦＰＧＡ４０が動作を開始した直後に出力光パワーが大きく変動するおそれがある。
【００３４】
図３は、ＦＰＧＡ４０のアップデート直後の励起光パワーおよび出力光パワーを示す。図３に示す例では、ＦＰＧＡ４０のアップデート処理の途中で、伝送路光ファイバの損失が大きくなり、入力光パワーが低下したものとする。
【００３５】
上述したように、ＦＰＧＡ４０のアップデートの開始時に、光増幅器１の動作モードがＡＬＣからＡＣＣに切り替わる。ＡＣＣモードにおいては、励起光生成器２０に与えられる制御値は、ＡＣＣ制御値であり、一定である。よって、ＦＰＧＡ４０のアップデート中は、励起光パワーは一定であり、光増幅器１の利得もほぼ一定である。このため、ＦＰＧＡ４０のアップデート処理の途中で、入力光パワーが低下すると、出力光パワーも低下する。この結果、アップデートの終了時において、目標光パワーと出力光パワーとの誤差ΔＰが発生する。なお、この例では、目標光パワーは一定であるものとする。
【００３６】
ＦＰＧＡ４０が励起光パワーを制御する動作を開始するときに、光増幅器１の動作モードがＡＣＣからＡＬＣに戻る。そうすると、ＡＬＣ回路４２は、誤差ΔＰを小さくするように制御値を生成する。このとき、この制御値によって制御される励起光パワーは、急激に変動する。特に、ＡＬＣ制御のＰ係数、Ｉ係数、Ｄ係数が大きいときは、励起光パワーは、過渡的に、大きく変動する。この結果、光増幅器１の出力光は、大きなサージを有することになる。なお、ＡＬＣ制御の追従性を高くするためには、Ｐ係数、Ｉ係数、Ｄ係数が大きいことが好ましい。
【００３７】
図４は、図３に示す過渡変動の測定結果の一例を示す。図４においては、時刻０において、ＦＰＧＡ４０のアップデートが終了している。
ＦＰＧＡ４０のアップデートが行なわれている期間、励起光パワーは一定（ここでは、１０６ｍＷ）である。アップデート処理が終了したとき、ＡＬＣ回路４２は、図３に示す誤差ΔＰをゼロにするために、励起光パワーを大きくする。このとき、誤差ΔＰが大きいときは、励起光パワーは急激に大きくなる。図４に示す例では、励起光パワーは、一時的に、リミッタ４４の上限値４００ｍＷまで増加している。そして、励起光パワーが一時的に大きくなったことに起因して、約２ｄＢの出力光パワー変動が発生している。この後、出力光パワーと目標光パワーとの誤差が徐々に小さくなってゆき、励起光パワーも収束してゆく。
【００３８】
このように、励起光パワーを制御するＦＰＧＡ４０が停止しているときに、入力光パワーが変動すると、ＦＰＧＡ４０の動作が再開したときに、大きな出力光パワー変動が発生することがある。光増幅器１の出力光パワーが大きく変動すると、光信号対雑音比が劣化する。あるいは、光増幅器１において増幅された光信号が、受信機のダイナミックレンジを超えてしまう。この結果、受信機において、ビット誤り率が悪くなることがある。したがって、励起光パワーを制御する制御回路（図１では、ＦＰＧＡ４０）が光伝送システムの運用中にアップデート可能な場合には、光増幅器は、アップデートの直後の出力光パワーの変動または出力光のサージを抑制する機能を有してことが好ましい。
【００３９】
＜第１の実施形態＞
図５は、第１の実施形態の光増幅器の構成を示す。第１の実施形態の光増幅器２Ａは、図５に示すように、ＥＤＦ１０、励起光生成器２０、出力パワー検出器３０、ＦＰＧＡ４０、ラッチ回路６０、ＣＰＵ７０を有する。ＥＤＦ１０、励起光生成器２０、出力パワー検出器３０、ラッチ回路６０は、図１に示す光増幅器１および図５に示す光増幅器２Ａにおいて互いに実質的に同じである。よって、ＥＤＦ１０、励起光生成器２０、出力パワー検出器３０、ラッチ回路６０についての説明は、省略する。
【００４０】
ＦＰＧＡ４０は、図５に示すように、誤差計算器４１、ＡＬＣ回路４２、係数メモリ４３、リミッタ４４、セレクタ４５を有する。すなわち、第１の実施形態の光増幅器２ＡのＦＰＧＡ４０の構成は、図１に示すＦＰＧＡ４０と実質的に同じである。ただし、第１の実施形態の光増幅器２Ａにおいては、後で詳しく説明するが、リミッタ４４が制御値の値域を制限するための上限値および下限値は定数ではない。
【００４１】
ＣＰＵ７０は、目標光パワーを表すデータをＦＰＧＡ４０の誤差計算器４１に与える。また、ＣＰＵ７０は、Ｐ係数、Ｉ係数、Ｄ係数をＦＰＧＡ４０に与える。光増幅器２Ａにおいては、目標光パワー、Ｐ係数、Ｉ係数、Ｄ係数は、定数である。ＣＰＵ７０によるこれらの動作は、図１および図５において互いに同じである。
【００４２】
ＣＰＵ７０は、ＡＣＣ制御値計算部７１、モード切替部７２、ラッチ制御部７３、リミッタ制御部７４を有する。ＡＣＣ制御値計算部７１は、ＦＰＧＡ４０がアップデートされるときに、ＡＬＣ回路４２により生成される制御値（すなわち、リミッタ４４から出力される制御値）に基づいてＡＣＣ制御値を計算する。一例としては、ＡＣＣ制御値として、ＡＬＣ回路４２により生成される複数の制御値の平均が計算される。そして、ＡＣＣ制御値計算部７１は、そのＡＣＣ制御値をセレクタ４５およびリミッタ制御部７４に与える。モード切替部７２は、ＡＬＣ制御値またはＡＣＣ制御値を選択するための選択指示をセレクタ４５に与える。ラッチ制御部７３は、ラッチ回路６０の動作を制御する。
【００４３】
リミッタ制御部７４には、不図示のメモリからリミッタデフォルト値を取得する。リミッタデフォルト値は、予め指定されたデフォルト上限値およびデフォルト下限値を含む。デフォルト上限値は、例えば、レーザ光源２２の最大光パワーに対応する電流値を表す。一例として、レーザ光源２２の最大光パワーが４００ｍＷであり、４００ｍＷの光を得るための駆動電流が１０００ｍＡであるものとする。この場合、デフォルト上限値は、１０００ｍＡを表すようにしてもよい。一方、デフォルト下限値は、例えば、レーザ光源２２の最小光パワーに対応する電流値を表す。一例として、デフォルト下限値はゼロであってもよい。そして、リミッタ制御部７４は、デフォルト上限値およびデフォルト下限値をリミッタ４４に与える。なお、リミッタ４４は、光増幅器２Ａが通常の動作を行なっているとき（すなわち、ＦＰＧＡ４０がアップデート中でないとき）は、デフォルト上限値およびデフォルト下限値を使用して制御値を制限する。
【００４４】
ＦＰＧＡ４０がアップデート中であるときは、リミッタ制御部７４は、ＡＣＣ制御値計算部７１からＡＣＣ制御値を取得する。そして、ＦＰＧＡ４０のアップデートが終了すると、リミッタ制御回路７４は、暫定上限値および暫定下限値として、ＡＣＣ制御値をリミッタ４４に与える。そうすると、リミッタ４４は、ＡＬＣ回路４２によって生成される制御値を、「暫定上限値以下」かつ「暫定下限値以上」に制限する。ここで、暫定上限値および暫定下限値は、いずれもＡＣＣ制御値である。したがって、ＡＬＣ回路４２によって生成される制御値は、リミッタ４４により、ＡＣＣ制御値に制限される。すなわち、このときリミッタ４４から出力される制御値は、ＡＣＣ制御値である。
【００４５】
この後、リミッタ制御部７４は、暫定上限値を徐々に高くしてゆくと共に、暫定下限値を徐々に低くしてゆく。これにより、リミッタ４４によって制限される制御値の値域は、徐々に広くなっていく。そして、暫定上限値がデフォルト上限値に達すると、以降、リミッタ制御部７４は、リミッタ４４にデフォルト上限値を与える。同様に、暫定下限値がデフォルト下限値に達すると、以降、リミッタ制御部７４は、リミッタ４４にデフォルト下限値を与える。
【００４６】
図６は、ＦＰＧＡ４０がアップデートされるときの光増幅器の動作を示すフローチャートである。なお、このフローチャートは、励起光パワーを制御するための制御値の生成に係わる手順を記載している。
【００４７】
Ｓ１：リミッタ制御部７４は、デフォルト上限値およびデフォルト下限値をリミッタ４４に与える。上述したように、デフォルト上限値は、例えば、レーザ光源２２の最大光パワーに対応する電流値を表し、デフォルト下限値は、例えば、レーザ光源２２の最小光パワーに対応する電流値を表す。
【００４８】
Ｓ２：ＡＬＣ回路４２は、出力光パワーと目標光パワーとの間の誤差を小さくする制御値を生成する。リミッタ４４は、「デフォルト下限値≦ＡＬＣ回路４２により生成された制御値≦デフォルト上限値」を満足するように、その制御値を制限する。すなわち、ＡＬＣ回路４２により生成された制御値がデフォルト上限値よりも大きいときは、リミッタ４４は、制御値としてデフォルト上限値を出力する。また、ＡＬＣ回路４２により生成された制御値がデフォルト下限値よりも小さいときは、リミッタ４４は、制御値としてデフォルト下限値を出力する。したがって、励起光生成器２０に与えられる制御値は、デフォルト下限値とデフォルト上限値との間に収まっている。
【００４９】
Ｓ３：ＣＰＵ７０は、ＦＰＧＡ４０のアップデート要求を監視する。アップデート要求は、例えば、光伝送システムの管理者またはユーザから光増幅器２Ａに与えられる。そして、ＦＰＧＡ４０のアップデートが実施されるときは、フローチャートの処理はＳ４へ移行する。
【００５０】
Ｓ４：ＣＰＵ７０は、ＡＬＣ停止処理を実行する。ＡＬＣ停止処理については、後で詳しく説明する。
【００５１】
Ｓ５〜Ｓ６：ＣＰＵ７０は、ＦＰＧＡ４０をアップデートする。なお、ＦＰＧＡ４０がアップデートされている期間は、光増幅器２Ａは、ＡＣＣモードで励起光を生成する。即ち、光増幅器２Ａは、ＡＬＣ停止処理において計算されたＡＣＣ制御値に従って励起光を生成する。そして、ＦＰＧＡ４０のアップデート処理が完了すると、フローチャートの処理はＳ７へ移行する。
【００５２】
Ｓ７：ＣＰＵ７０は、ＦＰＧＡ再起動処理を実行する。ＦＰＧＡ再起動処理については後で詳しく説明する。
【００５３】
Ｓ８：ＣＰＵ７０は、リミッタ制御処理を実行する。リミッタ制御処理については、後で詳しく説明する。
【００５４】
図７は、ＡＬＣ停止処理を示すフローチャートである。ＡＬＣ停止処理は、図６に示すフローチャートのＳ４に相当する。したがって、ＡＬＣ停止処理は、ＦＰＧＡ４０のアップデートが開始されるときに実行される。
【００５５】
Ｓ１１：ＣＰＵ７０のＡＣＣ制御値計算部７１は、ＡＣＣ制御値を計算する。一例としては、ＡＣＣ制御値計算部７１は、励起光生成器２０に出力すべき複数の制御値（すなわち、リミッタ４４から出力される複数の制御値）の平均を計算することにより、ＡＣＣ制御値を得る。ＡＣＣ制御値は、セレクタ４５に与えられる。或いは、励起光生成器２０に出力すべき１つの制御値をＡＣＣ制御値として使用してもよい。
【００５６】
Ｓ１２：ＣＰＵ７０のモード切替部７２は、光増幅器２Ａの動作モードを、ＡＬＣモードからＡＣＣモードに切替える。このとき、モード切替部７２は、ＡＣＣ制御値を選択するための選択指示をセレクタ４５に与える。そうすると、セレクタ４５は、この選択指示に応じて、ＡＣＣ制御値計算部７１により計算されたＡＣＣ制御値を選択してラッチ回路６０へ出力する。
【００５７】
Ｓ１３：ＣＰＵ７０のラッチ制御部７３は、ラッチ回路６０がＡＣＣ制御値をラッチするようにラッチ回路６０を制御する。そうすると、ラッチ回路６０は、ＡＣＣ制御値を継続的に励起光生成器２０に出力する。したがって、この後、ＦＰＧＡ４０によって制御値が生成されなくなっても、ラッチ回路６０から励起光生成器２０にＡＣＣ制御値が与えられるので、励起光パワーは維持される。
【００５８】
Ｓ１４：ＣＰＵ７０は、上述のＡＣＣ制御値を保持する。なお、ＣＰＵ７０に保持されるＡＣＣ制御値は、ＦＰＧＡ４０のアップデートが終了した後に、ＦＰＧＡ再起動処理において使用される。
【００５９】
Ｓ１５：ＣＰＵ７０のリミッタ制御部７４は、リミッタ暫定値としてＡＣＣ制御値を取得する。なお、取得したＡＣＣ制御値は、ＦＰＧＡ４０のアップデートが終了した後のＦＰＧＡ再起動処理において、暫定上限値の初期値および暫定下限値の初期値として使用される。
【００６０】
このように、ＡＬＣ停止処理においては、セレクタ４５がＡＣＣ制御値を選択するように制御され、ラッチ回路６０はそのＡＣＣ制御値を保持する。ラッチ回路６０は、ＦＰＧＡ４０と励起光生成器２０との間を遮断する。そして、励起光生成器２０は、ラッチ回路６０から出力されるＡＣＣ制御値に対応するパワーで励起光を生成する。したがって、ＦＰＧＡ４０がアップデートされている期間は、光増幅器２Ａは、アップデートの直前の励起光パワーを維持するオープンループ制御で光信号を増幅する。
【００６１】
図８は、ＦＰＧＡ再起動処理を示すフローチャートである。ＦＰＧＡ再起動処理は、図６に示すフローチャートのＳ７に相当する。したがって、ＦＰＧＡ再起動処理は、ＦＰＧＡ４０のアップデートが終了したときに実行される。
【００６２】
Ｓ２１：ＣＰＵ７０は、Ｓ１４で保持したＡＣＣ制御値をＦＰＧＡ４０に出力する。ＦＰＧＡ４０において、このＡＣＣ制御値は、セレクタ４５に与えられる。
【００６３】
Ｓ２２：ＣＰＵ７０のリミッタ制御部７４は、リミッタ暫定値をリミッタ４４に出力する。このリミッタ暫定値は、Ｓ１５で得られたＡＣＣ制御値である。すなわち、リミッタ４４には、暫定上限値および暫定下限値として、いずれもＡＣＣ制御値が設定される。
【００６４】
Ｓ２３：ＣＰＵ７０のモード切替部７２は、光増幅器２Ａの動作モードを、ＡＣＣモードに設定する。このとき、モード切替部７２は、ＡＣＣ制御値を選択するための選択指示をセレクタ４５に与える。そうすると、セレクタ４５は、この選択指示に応じて、Ｓ２１で与えられたＡＣＣ制御値を選択してラッチ回路６０へ出力する。
【００６５】
Ｓ２４：ＣＰＵ７０のラッチ制御部７３は、ラッチ回路６０のラッチを解除する。したがって、以降、ＦＰＧＡ４０から出力される信号は、ラッチ回路６０を通過して励起光生成器２０に導かれる。なお、この時点では、ＦＰＧＡ４０はＡＣＣ制御値を出力する。したがって、励起光生成部２０には、ＡＣＣ制御値が与えられることになる。
【００６６】
Ｓ２５：ＣＰＵ７０は、ＰＩＤ制御において使用されるＰ係数、Ｉ係数、Ｄ係数をＦＰＧＡ４０へ出力する。これらの係数は、係数メモリ４３に格納される。以降、ＡＬＣ回路４２は、これらの係数を利用して、制御値を生成することができる。
【００６７】
Ｓ２６：ＣＰＵ７０のモード切替部７２は、光増幅器２Ａの動作モードを、ＡＣＣモードからＡＬＣモードに戻す。このとき、モード切替部７２は、ＡＬＣ回路４２によって生成される制御値を選択するための選択指示をセレクタ４５に与える。そうすると、セレクタ４５は、この選択指示に応じて、ＡＬＣ回路４２によって生成される制御値を選択してラッチ回路６０へ出力する。以降、光増幅器２Ａは、クローズドループ制御で、励起光パワーを制御するための制御値を生成する。
【００６８】
このように、ＦＰＧＡ再起動処理においては、リミッタ４４に対して暫定上限値および暫定下限値が設定され、ＡＬＣ回路４２により生成される制御値は、リミッタ４４において暫定上限値および暫定下限値によって制限される。このとき、リミッタ４４に設定される暫定上限値および暫定下限値は、いずれもＡＣＣ制御値である。したがって、ＦＰＧＡ４０は、ＡＬＣ回路４２により生成される制御値がどのような値であっても、励起光パワーを制御する制御値としてＡＣＣ制御値を出力する。
【００６９】
なお、ＦＰＧＡ４０のアップデート中は、励起光生成器２０には、ラッチ回路６０によってＡＣＣ制御値が与えられる。また、ＦＰＧＡ４０のアップデートが完了した直後は、制御値はリミッタ４４においてＡＣＣ制御値に制限されるので、ＦＰＧＡ４０から励起光生成器２０に対してＡＣＣ制御値が与えられる。したがって、ＦＰＧＡ４０のアップデート中に伝送路光ファイバの損失が変化し、ＡＬＣ回路４２によって生成される制御値がＡＣＣ制御値と大きく異なっていたとしても、ＦＰＧＡ４０のアップデートが完了した直後に励起光パワーが大きく変動することはない。この結果、光増幅器２Ａの出力光パワーの変動も抑制される。
【００７０】
図９は、リミッタ制御処理を示すフローチャートである。リミッタ制御処理は、図６に示すフローチャートのＳ８に相当する。したがって、リミッタ制御処理は、ＦＰＧＡ４０が再起動された後に実行される。
【００７１】
Ｓ３１：ＣＰＵ７０のリミッタ制御部７４は、現在の暫定下限値からαを減算することによって新たな暫定下限値を得る。αは、正の値である。すなわち、Ｓ３１の演算によって、暫定下限値はαだけ小さくなる。なお、ＦＰＧＡ４０のアップデートが完了した直後は、暫定下限値は、ＡＣＣ制御値である。
【００７２】
Ｓ３２：リミッタ制御部７４は、Ｓ３１で算出した新たな暫定下限値をリミッタ４４に出力する。
【００７３】
Ｓ３３：リミッタ制御部７４は、現在の暫定上限値にαを加算することによって新たな暫定上限値を得る。すなわち、Ｓ３３の演算によって、暫定上限値はαだけ大きくなる。なお、ＦＰＧＡ４０のアップデートが完了した直後は、暫定上限値は、ＡＣＣ制御値である。
【００７４】
Ｓ３４：リミッタ制御部７１は、Ｓ３３で算出した新たな暫定上限値をリミッタ４４に出力する。
【００７５】
Ｓ３５：ＡＬＣ回路４２は、出力光パワーと目標光パワーとの間の誤差を小さくする制御値を生成する。リミッタ４４は、「暫定下限値≦ＡＬＣ回路４２により生成された制御値≦暫定上限値」を満足するように、その制御値を制限する。すなわち、ＡＬＣ回路４２により生成された制御値が暫定上限値よりも大きいときは、リミッタ４４は、制御値として暫定上限値を出力する。また、ＡＬＣ回路４２により生成された制御値が暫定下限値よりも小さいときは、リミッタ４４は、制御値として暫定下限値を出力する。よって、励起光生成器２０に与えられる制御値は、暫定下限値と暫定上限値との間に収まっている。
【００７６】
Ｓ３６：リミッタ制御部７４は、デフォルト下限値とＳ３１で更新された暫定下限値とを比較する。暫定下限値がデフォルト下限値よりも大きければ、リミッタ制御部７４の処理はＳ３１に戻る。一方、暫定下限値がデフォルト下限値以下であれば、リミッタ制御部７４の処理はＳ３８へ移行する。
【００７７】
Ｓ３７：リミッタ制御部７４は、デフォルト上限値とＳ３３で更新された暫定上限値とを比較する。暫定上限値がデフォルト上限値よりも小さければ、リミッタ制御部７４の処理はＳ３３に戻る。一方、暫定上限値がデフォルト上限値以上であれば、リミッタ制御部７４の処理はＳ３９へ移行する。
【００７８】
Ｓ３８：Ｓ３８は、暫定下限値がデフォルト下限値以下であるときに実行される。この場合、リミッタ制御部７４は、暫定下限値を更新する処理を終了し、デフォルト下限値をリミッタ４４に出力する。
【００７９】
Ｓ３９：Ｓ３９は、暫定上限値がデフォルト上限値以上であるときに実行される。この場合、リミッタ制御部７４は、暫定上限値を更新する処理を終了し、デフォルト上限値をリミッタ４４に出力する。
【００８０】
Ｓ４０：ＡＬＣ回路４２は、出力光パワーと目標光パワーとの間の誤差を小さくする制御値を生成する。リミッタ４４は、「デフォルト下限値≦ＡＬＣ回路４２により生成された制御値≦デフォルト上限値」を満足するように、その制御値を制限する。すなわち、ＡＬＣ回路４２により生成された制御値がデフォルト上限値よりも大きいときは、リミッタ４４は、制御値としてデフォルト上限値を出力する。また、ＡＬＣ回路４２により生成された制御値がデフォルト下限値よりも小さいときは、リミッタ４４は、制御値としてデフォルト下限値を出力する。したがって、励起光生成器２０に与えられる制御値は、デフォルト下限値とデフォルト上限値との間に収まっている。
【００８１】
このように、暫定下限値は、Ｓ３１、Ｓ３２、Ｓ３６を繰り返し実行することにより、ＡＣＣ制御値からデフォルト下限値まで徐々に低下してゆく。また、暫定上限値は、Ｓ３３、Ｓ３４、Ｓ３７を繰り返し実行することにより、ＡＣＣ制御値からデフォルト上限値まで徐々に上昇してゆく。すなわち、ＦＰＧＡ４０が再起動された後、励起光パワーを制御するための制御値の値域は、徐々に広がってゆく。なお、暫定下限値および暫定上限値を更新する周期は、特に限定されるものではないが、例えば、１ｍ秒程度である。
【００８２】
たとえば、ＡＣＣ制御値が３００ｍＡであるときは、ＦＰＧＡ４０が再起動された直後は、暫定下限値および暫定上限値はいずれも３００ｍＡである。ここで、変化量αが２０ｍＡであるものとする。この場合、Ｓ３１、Ｓ３３を実行することにより、暫定下限値および暫定上限値は、それぞれ２８０ｍＡおよび３２０ｍＡに設定される。また、Ｓ３１、Ｓ３３がもう一度実行されると、暫定下限値および暫定上限値は、それぞれ２６０ｍＡおよび３４０ｍＡに設定される。なお、この実施例では、暫定下限値を低くする変化量と暫定上限値を高くする変化量は互いに同じであるが、これらの変化量は互いに異なっていてもよい。
【００８３】
暫定下限値を低くするためのＳ３１、Ｓ３２、Ｓ３６は、暫定下限値がデフォルト下限値以下になると終了する。また、暫定上限値を高くするためのＳ３３、Ｓ３４、Ｓ３７は、暫定上限値がデフォルト上限値以上になると終了する。ただし、暫定下限値を低くする処理および暫定上限値を高くする処理が終了するタイミングは、必ずしも同じではない。例えば、ＡＣＣ制御値、デフォルト下限値、デフォルト上限値がそれぞれ３００ｍＡ、０ｍＡ、１０００ｍＡであるものとする。この場合、暫定上限値が６００ｍＡまで上昇したときに、暫定下限値は０ｍＡとなる。そうすると、Ｓ３８において、リミッタ４４にはデフォルト下限値が設定される。一方、この時点で、暫定上限値はデフォルト上限値よりも低い。したがって、リミッタ４４にデフォルト下限値が設定された後も、暫定上限値を高くするためのＳ３３、Ｓ３４、Ｓ３７は、デフォルト上限値に達するまで繰り返し実行される。
【００８４】
上述の方法によれば、ＦＰＧＡ４０のアップデート中は、ＡＣＣ制御値に対応するパワーで励起光が生成される。また、ＦＰＧＡ４０のアップデートが完了した直後は、暫定下限値および暫定上限値により制限された制御値に対応するパワーの励起光が生成される。したがって、励起光パワーを制御する制御モードがＡＣＣからＡＬＣへ戻った直後において、励起光パワーの変動が抑制される。その後、所定時間が経過すると、リミッタ４４の上限値および下限値は、それぞれデフォルト上限値およびデフォルト下限値に戻るので、光増幅器２Ａは、ＦＰＧＡ４０がアップデートされる前の制御モード（クローズドループ制御状態）で光信号を増幅できる。
【００８５】
図１０は、ＦＰＧＡ４０がアップデートされたときの第１の実施形態の光増幅器の動作の一例を示す。図１０に示す例では、図３に示す例と同様に、ＦＰＧＡ４０のアップデート処理の途中で、伝送路光ファイバの損失が大きくなり、入力光パワーが低下している。
【００８６】
上述したように、ＦＰＧＡ４０のアップデートの開始時に、光増幅器２Ａの動作モードがＡＬＣからＡＣＣに切り替わる。ＡＣＣモードにおいては、励起光生成器２０にはＡＣＣ制御値が与えられる。よって、ＦＰＧＡ４０のアップデート中は、励起光パワーは一定であり、光増幅器２Ａの利得もほぼ一定である。このため、ＦＰＧＡ４０のアップデート処理の途中で、入力光パワーが低下すると、出力光パワーも低下する。この結果、アップデートの終了時において、目標光パワーと出力光パワーとの誤差ΔＰが発生する。
【００８７】
アップデートが完了すると、リミッタ４４には、暫定上限値および暫定下限値としてＡＣＣ制御値が設定される。したがって、アップデートが完了した直後は、ＦＰＧＡ４０から励起光生成器２０に与えられる制御値は、ＡＣＣ制御値である。
【００８８】
この後、暫定上限値はαずつ高くなってゆき、暫定下限値はαずつ低くなってゆく。暫定上限値および暫定下限値が更新される時間間隔は、例えば、１ｍ秒である。よって、制御値の値域は、徐々に広くなってゆく。ここで、この実施例では、ＦＰＧＡ４０が再起動された直後において、光増幅器２Ａの出力光パワーが目標光パワーよりもΔＰだけ低くなっている。このため、ＡＬＣ回路４２により生成される制御値は、ＡＣＣ制御値よりも大きくなる。特に、誤差ΔＰが大きいときは、ＡＬＣ回路４２により生成される制御値は、ＡＣＣ制御値よりも大幅に大きくなる。
【００８９】
ところが、ＡＬＣ回路４２によって生成される制御値は、リミッタ４４において暫定上限値により制限される。ここで、ＦＰＧＡ４０が再起動された直後の暫定上限値は、ＡＣＣ制御値に対して僅かに大きいだけである。したがって、励起光生成器２０に与えられる制御値も、ＡＣＣ制御値に対して僅かに大きいだけである。この後、暫定上限値は徐々に高くなっていく。したがって、励起光生成器２０に与えられる制御値も、徐々に大きくなっていく。このように、第１の実施形態の光増幅器２Ａにおいては、ＦＰＧＡ４０が再起動された直後において、励起光パワーが急激に増加することはない。
【００９０】
図１１は、図１０に示す過渡変動の測定結果の一例を示す。図１１においては、時刻０において、ＦＰＧＡ４０のアップデートが終了している。
ＦＰＧＡ４０のアップデートが行なわれている期間、励起光パワーは一定（ここでは、１０６ｍＷ）である。アップデート処理が終了した後、ＡＬＣ回路４２は、図１０に示す誤差ΔＰをゼロにするために、励起光パワーを大きくする。ところが、ＡＬＣ回路４２により生成される制御値は、リミッタ４４において暫定上限値および暫定下限値により制限される。このため、励起光パワーが急激に大きくなことはない。すなわち、図１１に示すように、励起光パワーは１０６ｍＷから１１３ｍＷへ増加しているが、励起光のサージは発生していない。このとき、出力光パワーの変動は、約０．３ｄＢである。このように、第１の実施形態の光増幅器２Ａによれば、図４と比較して、出力光パワーの変動が抑制される。
【００９１】
図７〜図１１に示す実施例では、暫定上限値を高くしていくスピードおよび暫定下限値を低くしていくスピードは、それぞれ一定である。しかしながら、第１の実施形態の光増幅器２Ａの動作は、この方式に限定されるものではない。
【００９２】
たとえば、図１２に示す例では、ＦＰＧＡ４０が再起動された直後は、リミッタ４４の暫定値（暫定上限値および暫定下限値）をαずつ変化させる処理が５回実行される。続いて、暫定値をβずつ変化させる処理が５回実行される。その後、暫定値をγずつ変化させる処理が実行される。一例としては、α＜β＜γである。この場合、暫定上限値を高くするスピードは、段階的に速くなっていく。また、暫定下限値を低くするスピードは、段階的に速くなっていく。この方式によれば、励起光および出力光のサージを抑制しながら、リミッタ４４の暫定値を更新する処理に要する時間が短くなる。
【００９３】
図１３は、第１の実施形態のリミッタ制御処理の他の実施例を示すフローチャートである。リミッタ制御処理は、図６に示すフローチャートのＳ８に相当する。したがって、リミッタ制御処理は、ＦＰＧＡ４０が再起動された後に実行される。
【００９４】
図１３に示すＳ３１〜Ｓ３５の処理は、図９に示すフローチャートのＳ３１〜Ｓ３５と同じである。すなわち、リミッタ制御部７４は、暫定下限値を徐々に低くしてゆき、暫定上限値を徐々に高くしてゆく。これにより、リミッタ４４において制御値を制限するための値域が徐々に広くなっていく。
【００９５】
Ｓ５１：ＡＬＣ回路４２は、光増幅器２Ａの出力光パワーが目標光パワーに十分に近づいたか否かを判定する。すなわち、出力光パワーが目標光パワーに収束したか否かが判定される。出力光パワーが目標光パワーに収束していなければ、リミッタ制御処理はＳ３１およびＳ３３に戻る。この場合、暫定下限値を低くする処理、および暫定上限値を高くする処理が実行される。すなわち、暫定下限値を低くする処理および暫定上限値を高くする処理は、出力光パワーが目標光パワーに収束するまで繰り返し実行される。そして、出力光パワーが目標光パワーに収束すると、リミッタ制御処理はＳ５２へ移行する。
【００９６】
Ｓ５２：リミッタ制御部７４は、デフォルト下限値およびデフォルト上限値をリミッタ４４に出力する。
【００９７】
この後、Ｓ４０において、ＡＬＣ回路４２は、出力光パワーと目標光パワーとの間の誤差を小さくする制御値を生成する。リミッタ４４は、「デフォルト下限値≦ＡＬＣ回路４２により生成された制御値≦デフォルト上限値」を満足するように、生成された制御値を制限する。
【００９８】
例えば、ＡＣＣ制御値、デフォルト下限値、デフォルト上限値がそれぞれ３００ｍＡ、０ｍＡ、１０００ｍＡであるものとする。また、暫定下限値および暫定上限値の変化量が２０ｍＡであるものとする。そして、暫定下限値および暫定上限値がそれぞれ２２０ｍＡおよび３８０ｍＡに制御されたときに、出力光パワーが目標光パワーに到達して収束したものとする。この場合、リミッタ制御部７４は、暫定下限値および暫定上限値を更新する処理を終了し、即座にリミッタ４４にデフォルト下限値およびデフォルト上限値を設定する。
【００９９】
図１４は、図１３に示すリミッタ制御処理が実行されたときの第１の実施形態の光増幅器の動作を示す。図１４に示す例でも、図１０に示す例と同様に、ＦＰＧＡ４０のアップデート処理の途中で、伝送路光ファイバの損失が大きくなり、入力光パワーが低下している。この結果、アップデートの終了時において、目標光パワーと出力光パワーとの誤差ΔＰが発生する。
【０１００】
このケースにおいても、暫定上限値および暫定下限値の初期値はＡＣＣ制御値である。そして、リミッタ制御部７４は、暫定上限値をαずつ高くしてゆき、暫定下限値をαずつ低くしてゆく。また、励起光パワーは、暫定下限値および暫定上限値によって制限される範囲内で、徐々に大きくなっていく。これにより、光増幅器２ａの出力光パワーも徐々に大きくなっていく。
【０１０１】
そして、出力光パワーが目標光パワーに達して収束すると、リミッタ制御部７４は、図１４に示すように、即座にリミッタ４４にデフォルト下限値およびデフォルト上限値を設定する。以降、ＡＬＣ回路４２によって生成される制御値は、リミッタ４４においてデフォルト下限値およびデフォルト上限値によって制限される。
【０１０２】
このように、図１３に示すリミッタ制御方法においては、出力光パワーが目標光パワーに収束した時点で、暫定上限値および暫定下限値を更新する処理は終了する。よって、図１３に示す方法によれば、図９に示す方法と比較して、ＦＰＧＡ４０のアップデートの完了から光増幅器２Ａが通常動作に戻るまでの時間が短い。
【０１０３】
このように、第１の実施形態では、ＦＰＧＡ４０の再起動の直後に、励起光パワーを制御するための制御値を制限する値域を徐々に広くすることにより、励起光または出力光のサージが抑制される。ここで、励起光または出力光のサージを抑制する方法として、目標光パワーを徐々に変化させる方式（以下、「比較方式」）も考えられる。
【０１０４】
比較方式においては、ＦＰＧＡのアップデートが完了した直後は、暫定目標光パワーを使用して励起光パワーが制御される。暫定目標光パワーの初期値は、図１５に示すように、ＦＰＧＡのアップデートが完了したときの出力光パワーＰout(0)である。この場合、出力光パワーと暫定目標光パワーとの誤差はゼロなので、励起光パワーは変化しない。
【０１０５】
この後、ＣＰＵからＦＰＧＡに対して、暫定目標光パワーをΔｘだけ大きくする指示が与えられる。そうすると、制御系は、出力光パワーと更新された暫定目標光パワーとの誤差を小さくするために、励起光パワーを増加させる。以下、同様に、暫定目標光パワーが本来の目標光パワーに達するまで、暫定目標光パワーをΔｘずつ更新する処理が繰り返し実行される。ここで、励起光または出力光のサージを抑制するためには、Δｘを小さくする必要がある。このため、誤差ΔＰが大きい場合、暫定目標光パワーが本来の目標光パワーに達するまでに、暫定目標光パワーは、数回〜数１０回、更新される。
【０１０６】
ところが、目標光パワー（ここでは、暫定目標光パワー）が更新される場合、制御系の発振を回避するためには、ＡＬＣ制御周期をＥＤＦの応答時間に対して十分に長くする必要がある。一例として、ＥＤＦの応答時間が約１ｍ秒である場合、ＡＬＣ制御周期は１０ｍ秒程度に設定される。この場合、暫定目標光パワーが更新されるごとに、ＡＬＣ制御のために約１０ｍ秒を要することになる。そうすると、暫定目標光パワーが本来の目標光パワーに達するまでには、数１０ｍ秒〜数１００ｍ秒を要することになる。すなわち、比較方式では、励起光または出力光のサージを抑制できるものの、ＦＰＧＡの再起動から光増幅器が通常の動作に復帰するまでの時間が長くなってしまう。
【０１０７】
これに対して、第１の実施形態の光増幅器２Ａにおいては、目標光パワーが更新されるのではなく、制御値を制限するリミッタ４４の値域が更新されるので、ＡＬＣ制御周期はＥＤＦ１０の応答時間に制約されることはない。したがって、第１の実施形態によれば、ＦＰＧＡ４０の再起動から光増幅器が通常の動作に復帰するまでの時間を短くできる。例えば、１ｍ秒間隔でリミッタ４４の暫定上限値および暫定下限値が更新される場合、光増幅器２Ａは、１０ｍ秒以下で通常動作に復帰できる。
【０１０８】
なお、上述の説明では、ＦＰＧＡ４０のアップデートが完了した直後に、暫定上限値および暫定下限値の初期値としてそれぞれＡＣＣ制御値が設定されるが、第１の実施形態はこの方法に限定されるものではない。すなわち、暫定上限値の初期値は、ＦＰＧＡ４０がアップデートされる前の上限値（すなわち、デフォルト上限値）よりも低く設定されていればよい。同様に、暫定下限値の初期値は、ＦＰＧＡ４０がアップデートされる前の下限値（すなわち、デフォルト下限値）よりも高く設定されていればよい。
【０１０９】
また、ＦＰＧＡ４０の再起動時に出力光パワーの変動を抑制するためには、暫定上限値および暫定下限値の双方を設定することが好ましいが、過大な出力光パワーを抑制するためには、暫定上限値のみを図１０、図１２、または図１４に示すように更新してもよい。この場合、ＦＰＧＡ４０の再起動時に、リミッタ４４の下限値を即座にデフォルト下限値（例えば、ゼロ）に設定してもよい。
【０１１０】
＜第２の実施形態＞
図１６は、第２の実施形態の光増幅器の構成を示す。第２の実施形態の光増幅器２Ｂは、図５に示す第１の実施形態の光増幅器２Ａと同様に、ＥＤＦ１０、励起光生成器２０、出力パワー検出器３０、ＦＰＧＡ４０、ラッチ回路６０、ＣＰＵ７０を有する。
【０１１１】
第１の実施形態の光増幅器２Ａと第２の実施形態の光増幅器２Ｂとでは、目標光パワーを設定する方法が異なる。第１の実施形態においては、目標光パワーは、一定である。これに対して第２の実施形態では、目標光パワーは、入力光パワーおよび目標利得に基づいて得られる。ＣＰＵ７０は、例えば、図に示していない光増幅器の外部に備わる光増幅器を制御するための制御器から与えられる目標利得を、ＦＰＧＡ４０に与える。
【０１１２】
したがって、光増幅器２Ｂは、入力パワー検出器９０を有する。入力パワー検出器９０は、分波器９１、受光器９２、モニタ回路９３を有する。分波器９１は、光増幅器２Ｂに入力される信号光を分岐して受光器９２に導く。受光器９２は、分波器９１から導かれてくる信号光を電気信号に変換する。モニタ回路９３は、受光器９２から出力される電気信号に基づいて、光増幅器１の入力光パワーをモニタする。
【０１１３】
また、ＦＰＧＡ４０は、乗算器４６を有する。乗算器４６は、入力パワー検出器９０により検出された入力光パワーに目標利得を乗算して、目標光パワーを算出する。目標利得は、ＣＰＵ７０からＦＰＧＡ４０に与えられる。なお、この実施例では、目標利得は一定である。そして、誤差計算器４１は、乗算器４６により算出された目標光パワーと出力光パワーとの誤差をＡＬＣ回路４２に出力する。
【０１１４】
誤差に基づいてＡＬＣ回路４２が制御値を生成する処理は、第１および第２の実施形態において同じである。ただし、第２の実施形態では、目標利得に基づいて目標光パワーが計算されている。よって、この目標光パワーに従ってＡＬＣ制御を実行すると、ＥＤＦ１０の利得を目標利得に一致させるＡＧＣ（Automatic Gain Control）が実現される。
【０１１５】
ＦＰＧＡ４０のアップデートの直後に、リミッタ４４の値域を徐々に広くする処理は、第１および第２の実施形態において同じである。よって、第２の実施形態においても、出力光のサージが抑制される。
【０１１６】
＜第３の実施形態＞
図１７は、第３の実施形態の光増幅器の構成を示す。第３の実施形態の光増幅器２Ｃは、図５に示す第１の実施形態の光増幅器２Ａと同様に、ＥＤＦ１０、励起光生成器２０、出力パワー検出器３０、ＦＰＧＡ４０、ラッチ回路６０、ＣＰＵ７０を有する。
【０１１７】
第１の実施形態の光増幅器２Ａにおいては、ＦＰＧＡ４０の再起動後に、リミッタ４４の値域を徐々に広げる制御を行うことで、励起光および出力光のサージが抑制される。これに対して第３の実施形態では、ＦＰＧＡ４０の再起動後に、制御値を生成するためのＰＩＤ演算の係数を制御することによって、励起光および出力光のサージが抑制される。
【０１１８】
第１および第３の実施形態において、ＥＤＦ１０、励起光生成器２０、出力パワー検出器３０、ＦＰＧＡ４０、ラッチ回路６０の構成は、互いに実質的に同じである。よって、第３の実施形態においてＥＤＦ１０、励起光生成器２０、出力パワー検出器３０、ＦＰＧＡ４０、ラッチ回路６０の説明は省略する。
【０１１９】
第３の実施形態においては、ＣＰＵ７０は、ＡＣＣ制御値計算部７１、モード切替部７２、ラッチ制御部７３、誤差計算部７５、係数制御部７６を有する。なお、ＡＣＣ制御値計算部７１、モード切替部７２、ラッチ制御部７３は、第１および第３の実施形態において互いに実質的に同じである。
【０１２０】
誤差計算部７５は、出力パワー検出器３０によって検出される出力光パワーと目標光パワーとの誤差（または、差分）を計算する。なお、誤差計算部７５によって算出される誤差は、誤差計算器４１によって算出される誤差と実質的に同じである。よって、例えば、誤差計算器４１によって算出される誤差がＣＰＵ７０に与えられる場合には、ＣＰＵ７０は、誤差計算部７５を有していなくてもよい。
【０１２１】
係数制御部７６は、光増幅器２Ｃの状態に応じて、ＡＬＣ回路４２が使用するＰ係数、Ｉ係数、Ｄ係数を指定する。ここで、ＡＬＣ回路４２は、下記のＰＩＤ演算で制御値を生成する。
制御値＝Ｐ×誤差＋Ｉ×誤差の積分値＋Ｄ×誤差の微分値
Ｐ、Ｉ、Ｄは、それぞれＰ係数（比例係数）、Ｉ係数（積分項の係数）、Ｄ係数（微分項の係数）である。
【０１２２】
例えば、ＦＰＧＡ４０のアップデートが完了したとき、出力光パワーと目標光パワーとの誤差が所定の閾値よりも大きければ、係数制御部７６は、通常動作時と比較してＩ係数を小さくする。一例としては、係数制御部７６は、Ｉ係数をゼロにする。Ｉ係数がゼロであるときは、ＰＩＤ制御の中の積分演算は実行されない。この場合、制御値は、下式で算出される。
制御値＝Ｐ×誤差＋Ｄ×誤差の微分値
【０１２３】
Ｉ係数を小さくする理由は、以下の通りである。ＡＬＣ回路４２は、出力光パワーと目標光パワーとの誤差を小さくするように、ＰＩＤ制御で制御値を生成する。このとき、積分演算は、誤差を累積的に加算する。このため、出力光パワーと目標光パワーとの誤差が大きいときは、ＡＬＣ回路４２により生成される制御値は急激に変動する。この場合、この制御値に従って生成される励起光のパワーも急激に変動するので、出力光のサージが発生することになる。したがって、Ｉ係数を小さくすることによって、ＰＩＤ制御において積分項の影響を小さくすれば、出力光のサージが抑制される。
【０１２４】
次に、ＦＰＧＡ４０がアップデートされるときの第３の実施形態の光増幅器２Ｃの動作を説明する。ＦＰＧＡ４０がアップデートされるときは、光増幅器２Ｃは、第１の実施形態と同様に、図６に示すフローチャートのＳ１〜Ｓ６を実行する。ただし、第３の実施形態では、図６のＳ７〜Ｓ８の代わりに、以下のＦＰＧＡ再起動処理が実行される。
【０１２５】
図１８は、第３の実施形態のＦＰＧＡ再起動処理を示すフローチャートである。このＦＰＧＡ再起動処理は、図６に示すフローチャートのＳ６の後に実行される。よって、ＦＰＧＡ再起動処理は、ＦＰＧＡ４０のアップデートが完了したときに実行される。
【０１２６】
Ｓ６１：ＣＰＵ７０は、ＡＣＣ制御値をＦＰＧＡ４０に出力する。ＦＰＧＡ４０において、このＡＣＣ制御値は、セレクタ４５に与えられる。なお、ＣＰＵ７０は、第１の実施形態と同様に、ＦＰＧＡ４０をアップデートする直前に、ＡＣＣ制御値を計算して保持している。
【０１２７】
Ｓ６２：ＣＰＵ７０は、ＡＬＣ回路４２により生成される制御値を制限するための上限値および下限値をリミッタ４４へ出力する。以降、リミッタ４４は、与えられた上限値および下限値を用いて、ＡＬＣ回路４２により生成される制御値を制限することができる。なお、Ｓ６２でリミッタ４４に与えられる上限値および下限値は、例えば、第１の実施形態のデフォルト上限値およびデフォルト下限値である。
【０１２８】
Ｓ６３：ＣＰＵ７０のモード切替部７２は、光増幅器２Ｃの動作モードを、ＡＣＣモードに設定する。このとき、モード切替部７２は、ＡＣＣ制御値を選択するための選択指示をセレクタ４５に与える。そうすると、セレクタ４５は、この選択指示に応じて、Ｓ６１で与えられたＡＣＣ制御値を選択してラッチ回路６０へ出力する。
【０１２９】
Ｓ６４：ＣＰＵ７０のラッチ制御部７３は、ラッチ回路６０のラッチを解除する。したがって、以降、ＦＰＧＡ４０から出力される信号は、ラッチ回路６０を通過して励起光生成器２０に導かれる。なお、この時点では、ＦＰＧＡ４０はＡＣＣ制御値を出力する。したがって、励起光生成部２０には、ＡＣＣ制御値が与えられることになる。
【０１３０】
Ｓ６５：ＣＰＵ７０の係数制御部７６は、Ｐ係数およびＤ係数をＦＰＧＡ４０へ出力する。この実施例では、Ｐ係数およびＤ係数はそれぞれ一定である。すなわち、Ｓ６５においてＦＰＧＡ４０に与えられるＰ係数およびＤ係数は、ＦＰＧＡ４０がアップデートされる前にＡＬＣ回路４２が使用していたＰ係数およびＤ係数と同じである。
【０１３１】
Ｓ６６：係数制御部７６は、ＦＰＧＡ４０に対して「Ｉ係数＝０」を与える。したがって、以降、ＡＬＣ回路４２は、積分演算を行なわず、比例演算および微分演算で制御値を生成する。
【０１３２】
Ｓ６７：ＣＰＵ７０のモード切替部７２は、光増幅器２Ｃの動作モードを、ＡＣＣモードからＡＬＣモードに戻す。このとき、モード切替部７２は、ＡＬＣ回路４２によって生成される制御値を選択するための選択指示をセレクタ４５に与える。そうすると、セレクタ４５は、この選択指示に応じて、ＡＬＣ回路４２によって生成される制御値を選択してラッチ回路６０へ出力する。以降、光増幅器２Ｃは、クローズドループ制御で、励起光パワーを制御するための制御値を生成する。
【０１３３】
Ｓ６８：係数制御部７６は、光増幅器２Ｃの出力光パワーが目標光パワーに収束したか否かをモニタする。このとき、係数制御部７６は、誤差計算部７５により算出される出力光パワーと目標光パワーとの誤差が十分に小さくなっているか否かを判定する。そして、この誤差が十分に小さいときは、係数制御部７６の処理はＳ６９へ移行する。
【０１３４】
Ｓ６９：係数制御部７６は、Ｉ係数をＦＰＧＡ４０へ出力する。この実施例では、Ｉ係数は一定である。すなわち、Ｓ６９においてＦＰＧＡ４０に与えられるＩ係数は、ＦＰＧＡ４０がアップデートされる前にＡＬＣ回路４２が使用していたＩ係数と同じである。したがって、以降、ＡＬＣ回路４２は、アップデートされる前と同じＰＩＤ制御で、励起光パワーを制御するための制御値を生成する。
【０１３５】
Ｓ７０：ＡＬＣ回路４２は、Ｓ６５およびＳ６９においてＣＰＵ７０から与えられた係数を用いたＰＩＤ制御で、出力光パワーと目標光パワーとの間の誤差を小さくする制御値を生成する。リミッタ４４は、「下限値≦ＡＬＣ回路４２により生成された制御値≦上限値」を満足するように、その制御値を制限する。したがって、励起光生成器２０に与えられる制御値は、下限値と上限値との間に収まっている。
【０１３６】
このように、第３の実施形態では、ＦＰＧＡ４０が再起動された直後は、励起光パワーを制御するための制御値を生成するＰＩＤ演算の中の積分演算は実行されない。よって、ＦＰＧＡ４０が再起動されたときに出力光パワーと目標光パワーとの誤差が大きかったとしても、ＡＬＣ回路４２による演算においてその誤差が累積することはない。このため、制御値が急激に変化することはなく、励起光および出力光のサージは抑制される。
【０１３７】
図１９は、アップデートが実行されたときの第３の実施形態の光増幅器の動作の一例を示す。図１９に示す例では、図３または図１０に示す例と同様に、ＦＰＧＡ４０のアップデート処理の途中で、伝送路光ファイバの損失が大きくなり、入力光パワーが低下している。この結果、アップデートの終了時において、目標光パワーと出力光パワーとの誤差ΔＰが発生する。
【０１３８】
ＦＰＧＡ４０が再起動されると、ＡＬＣ回路４２は、誤差ΔＰを小さくするように制御値を生成する。ところが、第３の実施形態の光増幅器２Ｃにおいては、目標光パワーと出力光パワーとの誤差が十分に小さくなるまでの期間は、ＰＩＤ制御の中の積分演算は停止している。すなわち、ＡＬＣ回路４２は、比例演算および微分演算のみで制御値を生成する。したがって、ＡＬＣ回路４２により生成される制御値は、ゆっくりと変化する。この結果、励起光および出力光のサージは抑制される。
【０１３９】
図２０は、図１９に示す過渡変動の測定結果の一例を示す。図２０においては、時刻０において、ＦＰＧＡ４０のアップデートが終了している。
ＦＰＧＡ４０のアップデートが行なわれている期間、励起光パワーは一定（ここでは、１０６ｍＷ）である。アップデート処理が終了したとき、ＡＬＣ回路４２は、図１９に示す誤差ΔＰをゼロにするために、励起光パワーを大きくしようとする。ところが、ＡＬＣ回路４２のＰＩＤ制御の積分演算は停止している。このため、励起光パワーが急激に大きくなることはない。この例では、図２０に示すように、励起光パワーは一時的に１４５ｍＷまで増加しているが、図３と比較すると、励起光のサージは抑制されている。なお、出力光パワーの変動は、約０．３ｄＢである。このように、第３の実施形態の光増幅器２Ｃによれは、図４と比較して、出力光パワーの変動が抑制される。
【０１４０】
なお、上述の実施例では、ＦＰＧＡ４０が再起動された直後にＰＩＤ制御の積分演算が停止されているが、第２の実施形態はこの方式に限定されるものではない。すなわち、係数制御部７６は、ＦＰＧＡ４０が再起動された直後に、積分演算のためのＩ係数を通常動作時よりも小さくすればよい。すなわち、係数制御部７６は、Ｓ６６において、Ｉ係数をゼロにしなくてもよい。Ｉ係数が小さいときは、ＰＩＤ制御において積分項の影響が小さくなるので、誤差の累積に起因して励起光パワーを制御するための制御値の変動が抑制される。
【０１４１】
また、ＦＰＧＡ４０が再起動された直後に、Ｉ係数だけでなく、他の係数も通常動作時と比較して小さくするようにしてもよい。ＰＩＤ制御の各係数を一時的に小さくしてサージを抑制する方法を図２１に示す。なお、Ｓ６１〜Ｓ６４、Ｓ６７、Ｓ６８、Ｓ７０は、図１８および図２１において互いに同じなので、説明を省略する。
【０１４２】
Ｓ８１：ＣＰＵ７０の係数制御部７６は、通常動作時のＰ係数、Ｉ係数、Ｄ係数の４分の１の値をＦＰＧＡ４０へ出力する。すなわち、ＦＰＧＡ４０に「Ｐ係数／４」「Ｉ係数／４」「Ｄ係数／４」が与えられる。よって、ＦＰＧＡ４０が再起動された直後は、ＡＬＣ回路４２は、通常動作時のＰ係数、Ｉ係数、Ｄ係数の代わりに「Ｐ係数／４」「Ｉ係数／４」「Ｄ係数／４」を用いてＰＩＤ演算を実行して制御値を生成する。
【０１４３】
Ｓ８２：Ｓ８２は、Ｓ６８において出力光パワーと目標光パワーとの誤差が十分に小さいときに実行される、Ｓ８２において、係数制御部７６は、通常動作時のＰ係数、Ｉ係数、Ｄ係数をＦＰＧＡ４０へ出力する。したがって、以降、ＡＬＣ回路４２はＦＰＧＡ４０のアップデート前と同じＰＩＤ演算で制御値を生成し、リミッタ４４は指定された上限値および下限値でその制御値を制限する。
【０１４４】
なお、上述の実施例では、ＡＬＣ回路４２は、ＰＩＤ制御で制御値を生成するが、第３の実施形態はこの構成に限定されるものではない。例えば、ＡＬＣ回路は、ＰＩ制御で制御値を生成する構成であってもよい。この場合、ＦＰＧＡ４０の再起動後は、ＡＬＣ回路４２は、一時的に、比例演算のみで制御値を生成する。その後、出力光パワーと目標光パワーとの誤差が十分に小さくなると、ＡＬＣ回路４２は、通常動作に復帰してＰＩ制御で制御値を生成する。
【０１４５】
＜第４の実施形態＞
図２２は、第４の実施形態の光増幅器の構成を示す。第４の実施形態の光増幅器２Ｄは、図１７に示す第３の実施形態の光増幅器２Ｃと同様に、ＥＤＦ１０、励起光生成器２０、出力パワー検出器３０、ＦＰＧＡ４０、ラッチ回路６０、ＣＰＵ７０を有する。
【０１４６】
第３の実施形態の光増幅器２Ｃと第４の実施形態の光増幅器２Ｄとでは、目標光パワーを設定する方法が異なる。第３の実施形態においては、目標光パワーは、一定である。これに対して第４の実施形態では、目標光パワーは、入力光パワーおよび目標利得基づいて得られる。
【０１４７】
したがって、光増幅器２Ｄは、第２の実施形態の光増幅器２Ｂと同様に、入力パワー検出器９０を有する。入力パワー検出器９０の構成および動作は、第２の実施形態と実質的に同じなので、説明を省略する。また、光増幅器２ＤのＦＰＧＡ４０は、第２の実施形態と同様に、乗算器４６を有する。乗算器４０は、入力光パワーに目標利得を乗算して目標光パワーを算出する。そして、誤差計算器４１は、乗算器４６により算出された目標光パワーと出力光パワーとの誤差をＡＬＣ回路４２に出力する。
【０１４８】
誤差に基づいてＡＬＣ回路４２が制御値を生成する処理は、第３および第４の実施形態において同じである。ただし、第４の実施形態では、目標利得に基づいて目標光パワーが計算されている。よって、この目標光パワーに従ってＡＬＣ制御を実行すると、ＥＤＦ１０の利得を目標利得に一致させるＡＧＣ（Automatic Gain Control）が実現される。
【０１４９】
ＦＰＧＡ４０のアップデートの直後に、ＰＩＤ演算の各項の係数を一時的に小さくする処理は、第３および第４の実施形態において同じである。したがって、第４の実施形態においても、励起光および出力光のサージが抑制される。
【０１５０】
＜実施形態の構成による効果＞
実施形態の光増幅器においては、ＦＰＧＡのアップデートが完了した直後は、アップデート前の制御値を表すＡＣＣ制御値が励起光生成器に与えられる。また、制御値を制限するリミッタの上限値および下限値は、ＡＣＣ制御値から徐々に広がっていくように更新される。したがって、ＦＰＧＡが再起動されて制御モードがＡＣＣモードからＡＬＣモードに切り替わった直後において、制御値の変動幅は小さい。このため、励起光パワーの過渡変動が抑制される。
【０１５１】
励起光パワーの過渡変動が抑制されると、光増幅器によって増幅される信号光のパワーの過渡変化も抑制される。このため、受信器において受光パワー変動が小さく、受信エラー率が改善する。すなわち、光伝送システムのサービス中に、伝送品質を劣化させることなく、光増幅器の機能のアップデートを実現できる。
【０１５２】
また、実施形態の光増幅器は、励起光生成器に出力する制御値のリミッタ範囲を段階的に拡大するステップを繰り返すため、１ステップあたりの動作時間は、ＥＤＦの応答時間に制約されない。このため、アップデート後に出力光パワーが目標光パワーへ収束するまでの時間は短い。
【０１５３】
他の実施形態の光増幅器は、ＦＰＧＡのアップデートが完了した直後は、制御値を生成するためのＰＩ演算またはＰＩＤ演算の中の積分項の係数を小さくする。この場合、出力光パワーと目標光パワーとの誤差の累積加算値の影響が小さくなるので、制御値は急激に変化しにくくなる。したがって、この構成によっても、励起光パワーの過渡変動が抑制される。
【０１５４】
以上記載した各実施例を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
光増幅媒体と、
与えられた制御値に対応するパワーの励起光を生成して前記光増幅媒体に供給する励起光生成器と、
前記光増幅媒体の出力光パワーが目標光パワーに近づくように前記制御値を生成するレベル制御回路、および前記制御値の範囲を制限するリミッタを含むコントローラと、
前記コントローラが停止している期間、一定の制御値を前記励起光生成器に与えるラッチ回路と、
前記コントローラが再起動されたときに、前記リミッタにおいて前記制御値を制限するための上限値を、前記コントローラが停止する前の上限値よりも低くするリミッタ制御部と、
を有する光増幅器。
（付記２）
前記リミッタ制御回路は、前記コントローラが再起動されたときに、前記リミッタにおいて前記制御値を制限するための下限値を、前記コントローラが停止する前の下限値よりも高くする、
ことを特徴とする付記１に記載の光増幅器。
（付記３）
前記リミッタ制御回路は、前記コントローラが再起動されたときの前記リミッタの上限値および下限値として、前記コントローラが停止する前に前記コントローラから前記励起光生成器へ与えられた制御値を設定し、その後、前記上限値を高くしていくと共に前記下限値を低くしていく、
ことを特徴とする付記１または２に記載の光増幅器。
（付記４）
前記リミッタ制御回路は、前記上限値を高くするスピードを段階的に速くしてゆき、前記下限値を低くするスピードを段階的に速くしてゆく、
ことを特徴とする付記３に記載の光増幅器。
（付記５）
前記リミッタ制御回路は、前記上限値を高くすると共に前記下限値を低くする処理の途中で、前記光増幅媒体の出力光パワーと前記目標光パワーとの誤差が所定の閾値よりも小さくなったきに、前記上限値として前記励起光生成器の最大励起光パワーに対応する値を設定すると共に、前記下限値として前記励起光生成器の最小励起光パワーに対応する値を設定する、
ことを特徴とする付記３に記載の光増幅器。
（付記６）
前記光増幅媒体の入力光パワーを検出する検出器と、
前記検出器により検出された入力光パワーおよび予め指定される目標利得に基づいて、前記目標光パワーを算出する目標光パワー算出器と、をさらに有し、
前記レベル制御回路は、前記光増幅媒体の出力光パワーが前記目標光パワー算出器により算出される目標光パワーに近づくように前記制御値を生成する、
ことを特徴とする付記１〜５のいずれか１つに記載の光増幅器。
（付記７）
光増幅媒体と、
与えられた制御値に対応するパワーの励起光を生成して前記光増幅媒体に供給する励起光生成器と、
前記光増幅媒体の出力光パワーが目標光パワーに近づくように、ＰＩ（比例−積分）制御またはＰＩＤ（比例−積分−微分）制御で前記制御値を生成するコントローラと、
前記コントローラが停止している期間、一定の制御値を前記励起光生成器に与えるラッチ回路と、
前記コントローラが再起動されたときに、前記ＰＩ制御またはＰＩＤ制御の積分項の係数を、前記コントローラが停止する前の積分項の係数よりも小さくする演算制御部と、
を有する光増幅器。
（付記８）
前記演算制御部は、前記コントローラが再起動されたときに、前記ＰＩ制御またはＰＩＤ制御の中の積分演算を停止する、
ことを特徴とする付記７に記載の光増幅器。
（付記９）
前記演算制御部は、前記コントローラが再起動された後に、前記光増幅媒体の出力光パワーと前記目標光パワーとの誤差が所定の閾値よりも小さくなったきに、前記積分項の係数を、前記コントローラが停止する前の積分項の係数に戻す
ことを特徴とする付記７に記載の光増幅器。
（付記１０）
前記演算制御部は、前記コントローラが再起動されたときに、前記ＰＩ制御またはＰＩＤ制御の各項の係数を前記コントローラが停止する前の対応する係数よりもそれぞれ小さくし、前記光増幅媒体の出力光パワーと前記目標光パワーとの誤差が所定の閾値よりも小さくなったきに、前記ＰＩ制御またはＰＩＤ制御の各項の係数をそれぞれ前記コントローラが停止する前の対応する係数に戻す
ことを特徴とする付記７に記載の光増幅器。
（付記１１）
前記光増幅媒体の入力光パワーを検出する検出器と、
前記検出器により検出された入力光パワーおよび予め指定される目標利得に基づいて、前記目標光パワーを算出する目標光パワー算出器と、をさらに有し、
前記コントローラは、前記光増幅媒体の出力光パワーが前記目標光パワー算出器により算出される目標光パワーに近づくように前記制御値を生成する、
ことを特徴とする付記７〜１０のいずれか１つに記載の光増幅器。
【符号の説明】
【０１５５】
２Ａ〜２Ｄ  光増幅器
１０  エルビウム添加光ファイバ（ＥＤＦ）
２０  励起光生成器
３０  出力パワー検出器
４０  ＦＰＧＡ
４２  ＡＬＣ回路
４４  リミッタ
４５  セレクタ
６０  ラッチ回路
７０  ＣＰＵ
７１  ＡＣＣ制御値計算部
７２  モード切替部
７３  ラッチ制御部
７４  リミッタ制御部
７６  係数制御部
９０  入力パワー検出器
【図１】
2014107360.tif 000003
【図２】
2014107360.tif 000004
【図３】
2014107360.tif 000005
【図５】
2014107360.tif 000006
【図６】
2014107360.tif 000007
【図７】
2014107360.tif 000008
【図８】
2014107360.tif 000009
【図９】
2014107360.tif 000010
【図１０】
2014107360.tif 000011
【図１２】
2014107360.tif 000012
【図１３】
2014107360.tif 000013
【図１４】
2014107360.tif 000014
【図１５】
2014107360.tif 000015
【図１６】
2014107360.tif 000016
【図１７】
2014107360.tif 000017
【図１８】
2014107360.tif 000018
【図１９】
2014107360.tif 000019
【図４】
2014107360.tif 000020
【図１１】
2014107360.tif 000021
【図２０】
2014107360.tif 000022
【図２１】
2014107360.tif 000023
【図２２】
2014107360.tif 000024