〔第1の実施の形態〕
第1の実施の形態は、信号レベルに対応する制御情報が格納され、第1の入力信号を受け該信号のレベルに対応した制御情報を出力する。そして、第2の入力信号の信号レベルに応じて制御情報を更新する。これにより、信号のレベルが安定化する。
第1の実施の形態について、図1、図2及び図3を参照する。図1は第1の実施の形態に係るレベル制御回路の一例を示す図、図2は制御情報の一例を示す図、図3は制御誤差の一例を示す図である。なお、図1、図2及び図3に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。
レベル制御回路2は、本開示のレベル制御回路又はレベル制御システムの一例である。このレベル制御回路2は、信号レベルに対応する制御情報が格納され、第1の入力信号を受け該信号のレベルに対応した制御情報を出力する。そして、第2の入力信号の信号レベルに応じて制御情報を更新する。そこで、レベル制御回路2は、図1に示すように、制御情報記憶部4と、情報更新部6とを備える。レベル制御回路2は、例えば、プログラムすることで、制御情報の出力及び制御情報の更新を行うコンピュータである。
制御情報記憶部4は、制御情報を記憶する手段の一例である。制御情報記憶部4は、例えば、レジスタ、RAM(random-access memory)又はROM( read-only memory )等で構成される。レジスタやRAMによれば、読み出しのアクセス時間がROMに比べて短時間であり、制御情報記憶部4が格納する情報を高速で読み書きすることができる。制御情報記憶部4は、図2に示すように、複数の信号レベルと、信号レベルに対応するレベル制御量を格納する。
レベル制御量は、制御情報の一例であり、例えば、レベル制御に用いる制御情報である。このレベル制御量は、図2に示すように、複数の信号レベルのそれぞれに対応して格納される。即ち、制御情報記憶部4では、入力信号の信号レベルとレベル制御量を対応付けて格納する。
制御情報記憶部4には、信号レベルが12ビット(bit )のディジタル値である場合、0から4095までの値が格納される。即ち、制御情報記憶部4には信号レベルが取り得る最小値から最大値までのディジタル値が格納される。
レベル制御量は、レベル制御に用いられるレベル制御出力の量を表す。レベル制御量は例えばディジタル値である。
制御情報記憶部4は、第1の入力信号を受けると、その信号レベルに対応したレベル制御量を出力する。制御情報記憶部4が出力したレベル制御量により、レベル制御が可能となる。制御情報記憶部4が行う出力処理はファームウェアを介在させずにハードウェアにより処理することができる。ハードウェアにより処理すると、例えば、ファームウェアにより処理する場合に比べ、第1の入力信号の信号レベルを受けてからレベル制御出力を生成するまでの時間が短く、レベル制御の速度を早くすることができる。例えば、レベル制御回路2の動作周波数(クロック周波数)の半分の周波数を有する信号レベルの変動であってもレベル制御が可能である。レベル制御回路2の動作周波数が133MHzである場合、66MHzの変動であっても対処が可能である。
情報更新部6は、情報を更新する手段の一例である。情報更新部6は、第2の入力信号の信号レベルに応じて制御情報記憶部4が格納する制御情報を更新する。この更新処理は、例えば、更新に用いるレベル制御量を予め準備し、この準備したデータを用いて更新することにより行われる。更新に用いるデータを演算処理により生成して更新することにより行われる。また、準備した更新に用いるレベル制御量に演算処理を加えて、更新に用いるデータを生成することにより行われる。これらのいずれの処理を用いても、制御情報の更新を行うことができる。
制御情報記憶部4が出力したレベル制御量は、レベル制御に用いられる。レベル制御回路や、レベル制御を行うシステムにおいて経年変化や制御系の透過損失の変化等が発生すると、図3に示すように、制御した信号のレベルと、出力目標レベルとの間に制御誤差が発生する。更新処理は、第2の入力信号の信号レベルに応じて制御情報記憶部4の制御情報を更新し、制御誤差を修正する。この結果、長期間に渡り信号を出力目標レベルに安定させることができる。なお、出力目標レベルは、レベル制御後の信号のレベルの目標値であり、予め設定した信号レベルの目標値である。
次に、第1の実施の形態の入力制御について図4を参照する。図4は第1の実施の形態に係るレベル制御処理の一例を示すフローチャートである。なお、図4に示す処理は一例であって、斯かる構成に本発明が限定されるものではない。
出力処理は、制御情報記憶部4により行う。制御情報記憶部4は、第1の入力信号を受けると(ステップS21)、格納されている制御情報を参照する(ステップS22)。制御情報記憶部4は、第1の入力信号の信号レベルに対応するレベル制御量を出力する(ステップS23)。
レベル制御量の出力により、制御情報を更新するかが判断され(ステップS24)、制御情報を更新しない場合(ステップS24のNO)、出力処理が繰り返される。第1の入力信号を受けて行うレベル制御量の出力処理は繰り返し行われ、レベル制御が可能となる。
制御情報を更新する場合(ステップS24でYES)、更新処理が行われる。制御情報の更新の判断は、例えば、時間に基づいて定期的に行う。また、例えば、出力処理の繰り返し回数を監視し、所定の回数に達した場合に更新を行う。
制御情報を更新する場合、情報更新部6は、第2の入力信号を受け(ステップS25)、この第2の入力信号の信号レベルと予め設定した出力目標レベルとの差(制御誤差)を算出する(ステップS26)。そして、制御誤差が0になるように制御情報記憶部4の制御情報を更新する(ステップS27)。このように情報更新部6により制御情報を更新し、制御誤差が解消されるので、長期にわたり、安定したレベル制御が可能となる。
第1の実施の形態では、制御情報レベルに対応した制御情報を出力するとともに、制御情報を更新する。その結果、長期間に渡りその特性を維持し続けることが可能である。
また、レベル制御出力を生成する処理を、ファームウェアを介在させずにハードウェアで処理するようにすると、レベル制御出力を高速で生成することが可能となる。その結果、高速な信号のレベル変動に対応しつつ、長期間に渡りその特性を維持し続けることが可能である。
〔第2の実施の形態〕
第2の実施の形態について、図5、図6、図7、図8、図9、図10及び図11を参照する。図5は第2の実施の形態に係るレベル制御システムの一例を示す図、図6はリニアオペアンプの特性の一例を示す図、図7はログアンプの特性の一例を示す図、図8はバースト信号入力時のログアンプの出力特性の一例を示す図である。図9はログアンプの特性の一例を示す図、図10はバースト信号入力時のログアンプの出力特性の一例を示す図、図11は信号の到達時間の一例を示す図である。なお、図5ないし図11に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。また、図6、図7及び図9において、入力パワーは、アンプが受ける入力信号のパワーを表し、入力PD値は、アンプから出力される出力値、即ち、ディジタル制御回路に入力される入力値である。
第2の実施の形態は、レベル制御前の第1の入力信号の信号レベルにより制御情報を取得して、レベル制御出力を生成し、レベル制御後の第2の入力信号の信号レベルにより制御情報を更新する。
この第2の実施の形態では、図5に示すように、ディジタル制御回路102は光レベル制御素子104と、この光レベル制御素子104の入力側に接続する入力側伝送路100と、光レベル制御素子104の出力側に接続する出力側伝送路101とに接続する。入力側伝送路100とディジタル制御回路102との間には入力側光カプラ106と、入力側PD(photo detector)110と、入力側ADC(A/D converter )114とが配置される。出力側伝送路101とディジタル制御回路102との間には、出力側光カプラ108と、出力側PD112と、出力側ADC116が配置される。ディジタル制御回路102と光レベル制御素子104との間には、DAC(D/A converter )118と、光レベル制御素子104の駆動回路120が配置される。光信号は入力側伝送路100側から光レベル制御素子104に入力され、光レベル制御素子104によりレベル制御された後、光レベル制御素子104から出力側伝送路101側に出力される。入力側伝送路100側にはレベル制御前の光が流れ、出力側伝送路101側にはレベル制御後の光が流れる。図5において、INは入力側、OUTは出力側を示している。
入力側の光信号(入力光)は、時間tに対して、光のレベルPが変動している。この入力光が光レベル制御素子104により制御されることで、時間tに対してレベルが変動しない出力光が得られる。
入力側光カプラ106及び出力側光カプラ108は、伝送路内の光の一部を分岐する手段の一例である。入力側光カプラ106は入力側伝送路100に接続し、入力側の光の一部を分岐してディジタル制御回路102へ向け出力する。また、出力側光カプラ108は、出力側伝送路101に接続し、出力側の光の一部を分岐してディジタル制御回路102へ向け出力する。入力側光カプラ106及び出力側光カプラ108は、例えば、光カプラに入力する光の1〜10%の光を分岐するタップカプラ(tap coupler )である。
PDは、光エネルギーを電流に変換する手段の一例であり、フォトディテクタである。PDは例えば半導体を備え、その半導体に光が当たることにより電気信号を生成する。生成される電気信号は、入力光の強度に対応する強度を有する。この生成される電気信号の値は例えば、入力PD値を表す。
入力側PD110は、入力側光カプラ106により分岐した入力側の分岐光を受信して、入力側の入力PD値(入力側PD値)の電気信号を生じ、この電気信号を入力側ADC114へ出力する。即ち、入力側PD110は、レベル制御前の光をモニタする監視部を構成する。なお、入力側PD値はレベル制御前の第1の入力信号の信号レベルの一例である。
出力側PD112は、出力側光カプラ108により分岐した出力側の分岐光を受信して、出力側の入力PD値(出力側PD値)の電気信号を生じ、この電気信号を出力側ADC116へ出力する。即ち、出力側PD112は、レベル制御後の光をモニタする監視部を構成する。なお、出力側PD値は第2の入力信号の信号レベルの一例である。
入力側PD110及び出力側PD112で生じる電気信号はアナログ信号である、そこで、ADC114、116を用いてディジタル信号へ変換することでディジタル制御回路102内での処理を可能にする。
ADCは、アナログ信号をディジタル信号へ変換する手段の一例であり、アナログ−ディジタル変換回路である。入力側ADC114は、入力側PD110とディジタル制御回路102の間に配置し、入力側PD値をディジタル値へ変換する。出力側ADC116は、出力側PD112とディジタル制御回路102の間に配置し、出力側PD値をディジタル値へ変換する。
駆動回路120は、光レベル制御素子104の駆動手段の一例である。駆動回路120は、光レベル制御素子104の駆動制御量を受け、受けた駆動制御量に応じて光レベル制御素子104を駆動する。なお、駆動制御量は、レベル制御量(図2)の一例である。
光レベル制御素子104は、レベルを制御する手段の一例であり、例えばレベル制御部である。光レベル制御素子104は、例えば、光増幅器や光減衰器を備える。光増幅器は、例えば、エルビウムドープトファイバー増幅器(EDFA:Erbium Doped-Fiber Amplifier))、半導体光増幅器(SOA:Semiconductor Optical Amplifier )である。光減衰器は、例えば、可変減衰器(VATT:Variable Attenuator )である。
EDFAは、励起光によりエルビウムが励起され、エネルギー順位が落ちてくるときに増幅する増幅器である。
SOAは半導体を用いた増幅器であり、光増幅における応答に数十マイクロ秒かかるEDFAに対し応答性に優れる。
マイクロ秒以下の光レベルの変動を制御する場合には、SOAを用いる。応答性に優れるので、急峻な光パルスを入力したとき又は光レベルが急変したときでも、過渡応答の発生を抑制できる。この結果、光サージの発生、大きな出力光強度の変動を抑制することができる。
光信号は、約10マイクロ秒の間に、光ファイバー中を約2km進む。レベル調整のタイミングを調整するため、遅延線122を挿入する場合、応答性に優れるSOAを使用することにより、遅延線122の長さを2km短くすることができる。これにより、ファイバーの振動や、温度、湿度の変化により発生する信号変動の発生要因、又は調整時間の変化が抑制され、遅延の調整が容易になる。
ディジタル制御回路102は、レベル制御回路2の一例である。ディジタル制御回路102は、入力側PD110及び入力側ADC114を介してディジタル化した入力側PD値を受け、出力側PD112及び出力側ADC116を介してディジタル化した出力側PD値を受ける。また、ディジタル制御回路102は、光レベル制御素子104の駆動制御量をレベル制御出力として生成し、DAC118へ出力する。駆動制御量は、DAC118でディジタル値からアナログ値へ変換され、駆動回路120に出力される。DAC118は、ディジタル信号をアナログ信号へ変換する手段の一例である。
ディジタル制御回路102は、既述の制御情報記憶部4(図1)と、情報更新部6(図1)とを備える。ディジタル制御回路102は、例えば、FPGA(Field Programmable Gate Arrays)やASIC(Application Specific Integrated Circuit )等が用いられ、例えば、プログラムすることで、制御情報の出力及び制御情報の更新を行うコンピュータである。制御情報記憶部4及び情報更新部6は第1の実施の形態と同様であり、その説明を省略する。
ディジタル制御回路102では、出力処理として、入力側PD値を受け、制御情報記憶部4の制御情報を参照し、光レベル制御素子104を所望の出力パワーとするための駆動制御量をDAC118に出力する。この駆動制御量はDAC118を介して駆動回路120に伝えられ、光レベル制御素子104の駆動電流が変化する。その結果、光レベル制御素子104の出力パワーが変化する。この処理は、入力側の光信号に基づいて出力パワーを変化させるフィード・フォワード制御(FF制御)である。また、ディジタル制御回路102では、更新処理として、出力側PD値を受け、制御情報記憶部4の制御情報を更新する。更新処理は、フィード・バック制御(FB制御)である。
PDにより変換した電流の値が小さい場合、PDにアンプを組み合わせて電流を増幅してもよい。
アンプを併用して信号増幅を行う場合、例えば、入力側PD110にはリニアオペアンプを組み合わせ、出力側PD112にはログアンプを組み合わせる。
リニアオペアンプは、図6に示すように入力パワーに対し入力PD値がリニアに変化する特性を有し、ログアンプに比べて応答が高速である。そこで、リニアオペアンプは、制御情報記憶部4を参照した値の変換を高速で行うFF制御側での使用に適している。一方ログアンプは、図7及び図9に示すように、リニアオペアンプ(図6)に比べ入力ダイナミックレンジが広く確保されている。この広いレンジを使用することによりログアンプは増幅の正確性が高い。ログアンプは入力信号の振幅に対し、出力信号の振幅が指数関数的に変化する特性を有するオペアンプであり、図8及び図10に示すように、入力光のレベルによってオーバーシュートの量や立ち上がり波形の速度が変化し、応答が安定するまでに例えば、約120マイクロ秒程度要する。制御情報記憶部4の制御情報はログアンプの応答が安定する時間より長い時間間隔で更新されるので、ログアンプの応答が安定するのを待って信号を処理することが可能である。出力側PD112に対し正確性の高いログアンプを併用することでレベル制御の精度を高めることができる。
次に、遅延線122を設けて時間調整をする構成について、図5及び図11を参照する。
遅延線122は、信号の伝達時間を調整する遅延素子の一例であり、伝達時間調整部を構成する。遅延線122は、例えば長い光ファイバー等の遅延素子で構成する。光が遅延線122を通過する場合、遅延線122の長さに応じた通過時間を必要とする。そこで、遅延線122を入力側光カプラ106と光レベル制御素子104の間に配置することで、光が入力側光カプラ106から光レベル制御素子104に到達するまでの経過時間を調整することができる。
高速なレベル変動に対応しようとする場合、光レベル制御素子104の駆動のタイミングと光信号が光レベル制御素子104に到達して入力信号の変動を発生するタイミングと一致させることで光のレベルが安定する。光レベル制御素子104の駆動タイミングと入力信号の変動が一致せず、タイミングのずれが大きくなるほど光のレベルの安定性が損なわれる。そこで、周波数が数十MHzのレベル変動が生じている光の入力レベルを制御する場合、それよりも細かい精度で光レベル制御素子104の駆動制御量を印加するタイミングを調整する。周波数が数十MHzのレベルの変動に対処するには、20ナノ秒よりも短い頻度で駆動電圧の印加タイミングを調整する。第2の実施の形態では、図5に示すように、光レベル制御素子104と入力側光カプラ106との間に配置した遅延線122により、光が光カプラから光レベル制御素子104に至るまでの時間を調整する。
入力側光カプラ106から遅延線122までの伝送路の長さ及び遅延線122から光レベル制御素子104までの伝送路の長さは、遅延線122に比べ十分に短いため、入力側光カプラ106から光レベル制御素子104に到達するまでの時間は、光が遅延線122を通過する通過時間とほぼ等しくなる。その結果、入力側光カプラ106で分岐した光を受け、レベル制御出力を生成し、光信号のレベルを制御するまでの時間を、入力側伝送路100を流れる光信号が、入力側光カプラ106から光レベル制御素子104に到達するまでの時間に一致させることができる。
図11に示すように、入力側光カプラ106で分岐した分岐光を基にディジタル制御回路102で駆動制御量に変換して、光レベル制御素子104で出力パワーが変化するまでの制御遅延時間をYとする。この場合、遅延線122による遅延時間Xと制御遅延時間Yを一致させることで、光レベル制御素子104の駆動と入力信号の変動のタイミングを一致させる。遅延線122による遅延時間Xは、遅延線122の長さを調節することで変えることができる。
遅延線122の長さの調節は、例えば、入力レベルが変動する信号をレベル制御して、その出力波形をモニタし、波形が安定するように遅延線122の長さを調整することで行われる。遅延線122の長さの調整は、例えば数センチ単位の調整をする。
上記した第2の実施の形態について、特徴事項、利点又は変形例等を列挙する。
(1) 以上述べたように、入力側光カプラ106とディジタル制御回路102の間の経路にPDと、ADCと、DACを配置することで、通信に用いられる光のレベル制御が可能となる。
(2) PDにリニアオペアンプ又はログアンプを組み合わせることで、信号レベルが弱い場合でも信号を増幅して処理することができる。この場合、入力側PD110とリニアオペアンプを組み合わせ、入力側PDモニタ回路を構成し、出力側PD112とログアンプを組み合わせ、出力側PDモニタ回路を構成することが、速度の点でも、正確さの点においても適した構成となる。
(3) 遅延線122を配置することで信号の伝達時間を調整することにより、光レベル制御素子104による増幅のタイミングと一致させ、高速なレベル変動に対応しようとする場合でも光のレベルを安定させることができる。
〔第3の実施の形態〕
第3の実施の形態について、図12を参照する。図12は第3の実施の形態に係るレベル制御システムの一例を示す図である。なお、図12に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。図12において、図5及び図11と同一部分には同一符号を付してある。
第3の実施の形態は、制御回路で時間調整を行い、2つのルックアップテーブル(LUT:Look Up Table )の切替えにより記憶部206の制御情報を更新する。
この第3の実施の形態では、ディジタル制御回路202は、遅延クロックZ204と、記憶部206と、制御誤差・新目標値算出部208と、書き込み更新部210とを備える。このディジタル制御回路202には更新情報記憶部220が接続される。その他の構成は第2の実施の形態と同様であるので、その説明を省略する。なお、制御誤差・新目標値算出部208及び書き込み更新部210は、情報更新部6の一例である。
記憶部206は、制御情報記憶部4(図1)の一例である。記憶部206は、図12に示すように、ルックアップテーブル(LUT_A)212と、ルックアップテーブル(LUT_B)214とを備える。LUT_A212及びLUT_B214は、制御情報を記憶する手段の一例であり、LUT_A212、LUT_B214は、図2に示すように、信号レベルとレベル制御量を対応させて格納するテーブルを有する。レベル制御出力の生成は、LUT_A212、LUT_B214に格納している制御情報を参照して行う。LUT_A212、LUT_B214は切替え可能であり、LUT_A212又はLUT_B214が参照される。なお、LUT_A212は第1のテーブルとし、LUT_B214は第2のテーブルとする。
遅延クロックZ204は、信号の伝達時間を調整する時間調整手段の一例であり、出力時間調整部の一例である。遅延クロックZ204は、記憶部206とDAC118との間に配置する。遅延クロックZ204は、遅延量コントロール機能により、生成したレベル制御出力の伝達を遅延させてディジタル制御回路202から出力する時刻を調整する。その結果、入力側光カプラ106で分岐した光を受け、レベル制御出力を生成し、光信号のレベルを制御するまでの時間を、入力側伝送路100を流れる光信号が、入力側光カプラ106から光レベル制御素子104に到達するまでの時間に一致させることができる。
遅延クロックZ204による信号の遅延には、ディジタル制御回路202が演算処理を行うことで発生するクロック単位の遅延が利用される。このため、遅延クロックZ204は、演算処理のクロック単位での遅延量の設定ができ、一クロック又は一クロックの整数倍の量で遅延量の設定が可能である。この遅延クロックZ204の遅延量の設定を変更することにより遅延量をコントロールすることができる。
遅延量の調整は、遅延量を変化させながら光レベル制御素子104の駆動と停止を繰り返して行い、光レベル制御素子104からの出力波形を確認することで行うことができ、出力波形が安定するまで行われる。温度等の変動により生じる遅延量の変動は小さく、光信号と電気信号のタイミングのずれは小さい。よって、遅延量の調整は、一度の調整で行うことができる。
制御誤差・新目標値算出部208は、入力値と出力目標レベルとの差を算出する算出部の一例である。制御誤差・新目標値算出部208は、制御誤差算出機能と、新目標値算出機能とを備える。制御誤差・新目標値算出部208は、ディジタル制御回路202の演算処理機能により構成される。
制御誤差・新目標値算出部208は、制御誤差算出として、出力側PD値と出力目標レベルとの制御誤差を算出する。出力側伝送路101を流れる信号のレベルは、出力側PD値から把握される。そこで、予め設定される目標レベルとの差を算出して制御誤差を求める。例えば、出力目標レベルが+0dBmに対し、出力側の信号レベル(出力側PD値)が+0.2dBmである場合、その制御誤差として0.2dBmを算出し、出力側の信号のレベルを下げる必要があると判断する。
制御誤差・新目標値算出部208は、新目標値算出として、LUTを更新する際の出力目標レベルを算出する。出力目標レベルは、制御誤差と、LUTに格納するデータの出力レベルに基づいて算出する。なお、出力レベルは、駆動制御量に対して設定され、光レベル制御素子104により出力させる出力のレベルを表す。例えば、同じ信号レベルに対応する駆動制御量であっても、出力レベルが低い駆動制御量と、出力レベルが高い駆動制御量とでは、出力レベルが高い駆動制御量の方が、出力レベルの差分ほど大きな値となる。
LUTに格納している駆動制御量の出力レベルが+0dBmであり、制御誤差0.2dBmだけ信号レベルを下げる場合、制御誤差・新目標値算出部208は、出力レベル+0dBmから0.2dBmを引き、−0.2dBmを算出する。そしてLUTに設定されている出力レベル+0dBmの駆動制御量を出力レベル−0.2dBmの駆動制御量に更新することで、出力側の信号レベルを目標レベルに修正することができる。
更新情報記憶部220は、情報を記憶する手段の一例である。更新情報記憶部220は、LUT_A212及びLUT_B214にデータを書き込み更新するため、更新情報を格納する。更新情報記憶部220は、例えばROM、磁気媒体、光磁気媒体等により構成される。ROMとしては、EEPROM(Electrically Erasable Programmable ROM)、フラッシュメモリ等を用いることができる。EEPROMを用いると、アドレス単位データの書き込みが可能となる。
更新情報記憶部220は、LUTの元データを格納し、記憶部206のLUT_A212及びLUT_B214に対してデータを供給する。LUTの元データは、図16に示すように、入力PD値0〜4095と、これに対応する駆動制御量を含む。駆動制御量には、出力レベルが設定される。そこで、更新情報記憶部220では、入力PD値と出力レベルのマトリクスに対して、駆動制御量が格納される。例えば、更新情報記憶部220は、各入力PD値に対応する駆動制御量を、−10.0dBmから10.0dBmまでの範囲で、0.2dBm毎に格納する。なお、元データは、更新情報及び更新制御情報の一例である。
入力PD値が12ビット分解能で、駆動制御量が14ビット分解能の場合、入力PD値は0から4095の12ビット値となり、それぞれの値に対して0から16383の14ビット値の駆動制御量を格納することとなる。この場合、14ビット×4096個=57344ビットのメモリが必要となる。また、入力側PD値が12ビット分解能で、駆動制御量が16ビット分解能の場合、入力PD値は0〜4095の12ビット値となりそれぞれの値に対して、0から65535の16ビット値の駆動制御量を格納することとなる。この場合、16ビット×4096個=65536ビットのメモリが必要となる。このメモリ量は、ある1つの出力レベルに対するLUTのメモリであり、複数の出力レベルのデータを保持すると、この何倍ものメモリが必要となる。
例えば、−10dBmから+10dBmまでの範囲で0.2dBステップで100個の出力レベルを保持する場合、駆動制御量が14ビット分解能の場合、57344×100=5,734,400ビット、即ち716.8キロバイト(kByte)分のメモリが必要となる。また、駆動制御量が16ビット分解能の場合、65536×100=6,553,600ビット(819.2キロバイト)分のメモリが必要となる。そこで、ディジタル制御回路202に接続する更新情報記憶部220に全てのデータを保存して、LUT_A212又はLUT_B214を書き換える際にディジタル制御回路内の記憶部206に展開する。このようにすることで、例えば、LUT_A212及びLUT_B214は、それぞれ57344ビット又は65536ビット分の記憶容量があればよいことになり、ハードウェアが効率的に実現可能となる。
書き込み更新部210は、データの書き込み及び更新を行う情報更新部6の一例である。書き込み更新部210は、更新情報記憶部220と記憶部206の間に設定し、更新情報記憶部220からデータを受け、記憶部206のLUT_A212及びLUT_B214へ書き込むとともに、LUTの切替えを通知する。これにより、FF制御で運用するLUTが更新される。
〔遅延時間の調整〕
次に、遅延時間Xと制御遅延時間Yの調整について図12を参照する。
遅延クロックZ204による遅延を行わない状態において、入力側光カプラ106と光レベル制御素子104の間に十分長い遅延線122を挿入し、遅延時間X(図11)が制御遅延時間Y(図11)よりも長くなるようにする(遅延時間X>制御遅延時間Y)。そして、遅延クロックZ204による遅延時間Zを、遅延時間Xと制御遅延時間Yの差(遅延時間X−制御遅延時間Y)に調整する。遅延クロックZ204により遅延時間Zを設定することで、入力側の光の分岐から光レベル制御素子104の駆動までにかかる時間が制御遅延時間Yに遅延時間Zを加算した時間に調整され、遅延時間Xと同じにすることができる。このようにして遅延線122の遅延時間と実際の制御遅延時間との誤差を、制御回路に具備した遅延機能によって補う。
次に、遅延クロックZ204を用いた遅延時間Xと制御遅延時間Yとの差の調整について、図13、図14及び図15を参照する。図13は時間調整が適合する際の出力波形の一例を示す図、図14は時間調整が非適合の際の出力波形の関係の一例を示す図、図15は時間調整が非適合の際の出力波形の関係の一例を示す図である。なお、図13、図14及び図15に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。
図13、図14及び図15に示す例では、500ナノ秒毎に変化する信号を入力している。また、このディジタル制御回路202の1クロックは、約7.5ナノ秒であり、遅延クロックZ204におけるクロック数を1クロック調整すると、7.5ナノ秒程信号の伝達時間が調整される。
遅延時間Zが調整され、制御遅延時間Yに遅延時間Zを加算した時間が、遅延時間Xに対して最適な場合、図13に示すように、出力波形の変動が抑制され、安定した出力波形を得ている。即ち、光レベル制御素子104の駆動電流を変化させるタイミングと入力信号が遅延素子を通過して光レベル制御素子104に到達するタイミングが一致しているために、入力変動が抑圧される。
ディジタル制御回路202内の遅延クロックを図13に示す最適な場合から2クロック少なくすると、制御遅延時間Yが遅延時間Xに比べ約15ナノ秒短くなる。この場合、図14に示すように、出力波形の変動が最適な場合に比べ大きくなる。また、図13に示す最適な場合から5クロック少なくすると、制御遅延時間Yが遅延時間Xに比べ約37.5ナノ秒短くなる。この場合、図15に示すように、出力波形の変動は更に大きくなる。このことは、ディジタル制御回路202内の遅延クロックが最適値からずれると、入力信号が到達するタイミングと光レベル制御素子104の駆動電流を変化させるタイミングがずれるため、最適な遅延クロック値からずれるほど出力波形の歪みが大きくなることを表している。従って、入力信号の変動が速い場合、遅延線122や遅延クロックZ204の使用により光レベル制御素子104の駆動電圧の印加タイミングと光遅延素子の遅延時間のずれを小さくして光のレベルを制御することができる。
次に、LUTの切替えについて、図17及び図18を参照する。図17はLUTの更新処理の一例を示すシーケンス図、図18はLUTの更新処理の一例を示すシーケンス図である。なお、図17及び図18に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。
LUTの切替えには、例えば運用面フラグ230が用いられる。運用面フラグ230は、LUTを識別する手段の一例であり、例えば、記憶部206に設定される。運用面フラグ230は、LUTを参照する際にどちらのLUTを使用するのかを決定するのに用いられる。LUT_A212(A面テーブル)又はLUT_B214(B面テーブル)に対して運用面フラグ230が設定されると、設定されたLUTが運用中状態のLUTと判断され、入力側PD値を変換する際に参照される。運用面フラグ230が設定されないLUTは待機状態のLUTと判断される。このように運用面フラグ230の設定により運用状態を識別するので、運用面フラグ230を変更することで簡単にLUTの状態を切替えることができる。
LUTの運用状態と待機状態との切替えは、LUTの更新の周期を設定し、設定した周期毎にLUTを更新する周期実行型としてもよく、出力側の信号レベルと出力目標レベルの差が、予め設定した閾値を超えた場合にLUTを更新する条件トリガ型としてもよい。条件トリガ型とすると、制御誤差が大きくなった場合のみLUTの更新が行われるため、LUTを更新する頻度が下がり、LUTのデータを蓄積するレジスタやメモリ等の媒体の書き換え寿命を延ばすため、制御回路の故障率低下にもつながる。
周期実行型のLUTの切替えは、図17に示すように、LUT_A212及びLUT_B214の2つのテーブルを使用し、運用中の状態と、更新中又は切替え待ちの状態とを切替える。
運用開始前の処理として、FB制御により、運用面フラグ230に運用面フラグを通知する。例えば、図17に示すように、運用面フラグ230に運用面フラグ「B」を通知する(ステップS41)。FB制御により、通知後、LUT_A212に展開してデータを更新する(ステップS42)。テーブルの更新は運用面フラグ230の通知がされていないテーブルに対して行われる。この場合、運用面フラグ「B」であるLUT_B214に通知されているので、LUT_A212の更新を行う。なお、初期の段階では、出力側の信号レベルが取得されないため、例えば、出力レベルが+0dbmのテーブルが設定される。
テーブルの更新が完了すると、運用面フラグ230の変更の通知を行うと共に、FF制御側にハードウェアスタートの通知がされる(ステップS43)。運用面フラグ「A」の通知により、LUT_A212が運用状態に切り替えられ、出力レベル+0dbmのLUT_A212を参照したFF制御が開始される。
運用面フラグの変更により待機状態に切替えられたLUT_B214では、FB制御によるテーブルの更新が行われることなる(ステップS44)。このときレベル制御の開始により、出力側PD値の取得がされ、出力目標レベルが算出され、テーブルの更新が行われる。出力側PD112のモニタで得られた値と出力目標レベルとの間に誤差がある場合、その誤差を小さくする方向で、出力目標レベルをFB制御側で決定する。例えば+8dbm、+0.6dbm、+0.7dbm等のように決定する。決定した出力目標レベルの入力側PD値と駆動制御量の関係が記されたテーブルを待機状態のテーブルに展開する。待機状態となったLUT_B214を、+0.8dBmの出力レベルのデータで更新する。更新が終了すると、切替え待ちの状態となる。
LUT_B214に対するテーブル展開処理が終了し、LUT_A212での運用の開始から一定の時間が経過すると、FB制御により、運用面フラグの変更の通知が行われる(ステップS45)。運用面フラグの変更により運用状態と待機状態が切替えられる。運用面フラグ230に対して運用面フラグ「B」を通知し、テーブルを切替えてよい旨の通知を行う。これにより、FF制御が参照するテーブルがLUT_A212からLUT_B214へ切替えられ、LUT_A212が待機状態へ変更され、LUT_B214が運用状態に変更される。FF制御は、入力側PD値をモニタし、LUT_B214の+0.8dbmのテーブルを参照して、DAC118へ設定する動作を周期的に高速に繰り返す。
このようなテーブル更新及び切替えは、例えば約1秒毎に周期的に行う。+0.6dBmの出力レベルのデータでテーブルの更新を行う(ステップS46)。運用面フラグ「A」の通知を行うと(ステップS47)、出力レベルは+0.8dbmから+0.6dbmへ切替えられ、+0.7dBmの出力レベルのデータでLUT_B214の更新を行い(ステップS48)、運用面フラグ「B」の通知を行うと(ステップS49)、出力レベルは+0.7dbmへ切替えられ、LUT_A212の更新を行う(ステップS50)。FB制御により監視される出力側PD値に基づいてテーブルの更新が周期的に行われることで、光のレベルの正確性が維持される。なお、周期的に行う処理は、第1の実施の形態と同様であり、その説明を省略する。
次に、条件トリガ型のLUTの切替えについて、図18を参照する。
図18に示すように、LUT_A212及びLUT_B214の2つのテーブルを使用し、運用中の状態と、更新中又は切替え待ちの状態とを切り替える。
FF制御が開始されるまでの処理(ステップS61〜ステップS63)は、既述の処理(ステップS41〜ステップS43)と同様であるので、その説明を省略する。
FF制御が開始されると、LUT_A212によるFF制御が行われる中、FB制御では、出力側PD値が監視され、制御誤差が予め設定した閾値を超えたか否かが判断される。閾値を超えた場合、FB制御による待機状態のテーブル即ち、LUT_B214の更新が開始され(ステップS64)、更新が終了すると、運用面フラグの変更の通知が行われる(ステップS65)。運用面フラグの変更の通知により運用状態と待機状態が切替えられる。既述のように、待機状態のLUT_B214に対し、例えば+0.8dBmの出力レベルのデータで更新が行われ、更新が終了すると、運用面フラグ「B」の通知をする。LUT_A212が待機状態へ変更され、LUT_B214が運用状態に切替えられる。FF制御は、LUT_B214の+0.8dbmのテーブルを参照した制御を行うこととなる。
条件トリガ型のLUTの切替えでは、テーブルの切替えは出力側PD値と出力目標レベルの差が予め設定した閾値を超えた場合に行う。制御誤差が閾値を超えると、+0.6dBmの出力レベルのデータでテーブル即ち、LUT_A212の更新を行い(ステップS66)。運用面フラグの変更の通知を行うと(ステップS67)、出力レベルは+0.8dbmから+0.6dbmへ切替える。制御誤差が閾値を超えるとテーブルの更新が行われることで、光のレベルの正確性が維持される。
上記した第3の実施の形態について、特徴事項、利点又は変形例等を列挙する。
(1) 入力側光カプラ106とディジタル制御回路202の間の経路にPDと、ADCと、DACを配置することで、光のレベル制御が可能となる。
(2) FF制御では、入力側のPDのモニタ値を取得し、運用状態のLUTを参照して、駆動制御量をDAC118へ設定する。このとき、遅延クロックZだけ待ってからDAC118へ設定する。そして、駆動制御量はDAC118を介して駆動回路へ供給され、駆動制御量に応じて駆動回路から適切な電流もしくは電圧が光レベル制御素子へ出力される。
光レベル制御素子104が信号を増幅するタイミングで入力側のPDのモニタ値で監視した信号変動が生じるため、光レベル制御素子104による信号の増幅が行われる結果、光レベル制御素子104の出力は変化せず、安定する。このように、FF制御は、入力側のPDをモニタし、LUTを参照して、DAC118へ設定する動作を周期的に高速に繰り返す。
(3) FB制御で一定時間毎に又は、制御誤差が所定の範囲を超えた場合に待機状態のLUTを更新して運用状態のLUTに切替えることにより、常に最新の状態で制御が可能となる。よって、経年変化により損失が変化した場合や光レベル制御素子104の印加電圧対出力パワーの関係が変化した場合でも、常に最適な電圧を印加し続けることが可能となる。その結果、高速なレベル変動に対応しつつ、長期間に渡りその特性を維持し続けることが可能となる。
(4) ディジタル制御回路202内に遅延クロックZ204を備えることで、制御遅延時間Yの調整が可能となり、遅延線122による遅延時間Xとの差を、遅延クロックZ204の遅延機能によって補うことができる。遅延線122及び遅延クロックZ204を備えることで、時間調整の自由度が高くなり、調整のための労力と時間が軽減される。
(5) 遅延クロックZ204は、記憶部206に入力する前の信号を遅延させることも可能である。この場合、遅延クロックZは、入力側ADC114と記憶部206の間に配置する。
(6) 遅延線122の遅延時間Xが遅延クロックの機能を使用していない制御遅延時間Yよりも大きくなるように設定し、ディジタル制御回路202は、遅延クロックZ204によりこの制御遅延時間Yをクロック単位で遅延させ、遅延時間Xとの差を調整する。よって、時間の調整を遅延クロックZ204の遅延させるクロックの数を調整することで行うことができるため、遅延線122の長さの調整に比べて、調整が失敗した場合の修正が容易であり、かつ簡単にできる。
(7) マイクロ秒以下(1MHz以上)の光レベル変動を制御する場合、FF制御の制御周期は数十ナノ秒(20MHz)周期でレジスタにアクセスし続け、駆動電圧を更新し続けることになる。一方、FB制御は正確性を重視しているため、FF制御よりも千倍以上遅い周期で制御している。即ち、非常に高速にアクセスし続けているレジスタ又はメモリ上のLUTをFB制御で更新する場合、FF制御側のアドレス参照処理とFB制御の書き込み処理が同時になると、FF側のアドレス参照が正しく行われない可能性がある。異常な制御電圧がDAC118から出力され、誤った出力パワーとなり、その結果、FB側で誤った制御誤差を認識する可能性がある。そこで、2面以上のLUTを備え、運用状態のLUT又は待機状態のLUTとし、待機状態のLUTに対してテーブルの展開処理がされ、展開が終了するとLUTの運用状態と待機状態を切り替える。LUTの切り替え処理は短時間で行われるので、運用状態のLUTを用いてFF制御が行われる中で、待機状態のLUTのテーブル更新処理を行うことが可能となり、FF制御によりLUTによる値の変換を高速に行うことを維持しつつ、FB制御によりLUTの制御誤差の修正も行うことができ、レベルの正確性の確保も可能となる。FB制御によるレベルの正確性の確保とFF制御の高速性を両立することができる。
(8) LUTの全データを更新情報記憶部220に格納し、制御誤差・新目標値算出部208の算出結果に応じて必要なものが記憶部206のLUT_A212又はLUT_B214に展開されるので、記憶部206の記憶容量が小さくて済む。
(9) LUTの全データを更新情報記憶部220に格納するに際し、図19に示すように、元データのテーブルの入力PD値に閾値を設定して、閾値以下の入力PD値では、例えば、駆動電流を0又は、一定量に設定してもよい。この閾値は、例えば、入力側PD110の立ち上がり、又は立下りの検出レベルに設定する。このように設定すると、信号が検出レベル以下の状態において、駆動電流を0に設定し、電力の節電を行い、又は例えば、予熱レベルに設定し、再び閾値以上の入力PD値となった場合の駆動を安定させることができる。なお、駆動電流は駆動制御量の一例である。
(10)この実施の形態では、LUT_A212及びLUT_B214の2つのLUTを備えているが、LUTを2以上備え、切替えるようにしてもよい。1つの運用状態のLUTに対して、複数の待機状態のLUTを備えることで、より精度の高い更新が可能となる。また、2以上のLUTを備えることで、同時に2以上の信号に対してLUTを参照することが可能となる。
〔第4の実施の形態〕
第4の実施の形態について、図20、図21及び図22を参照する。図20は第4の実施の形態に係るレベル制御システムの一例を示す図、図21は信号遅延素子の一例を示す図、図22は信号遅延素子の遅延量の特性の一例を示す図である。なお、図20、図21及び図22に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。図20において、図5、図11及び図12と同一部分には同一符号を付してある。
この第4の実施の形態では、時間調整手段として信号遅延素子304を備える。
信号遅延素子304は、信号の伝達時間を調整する時間調整手段の一例であり、出力時間調整部を構成する。信号遅延素子304は、例えば、図21に示すように、複数のフリップフロップ(flip-flop )310、311、312、313、314、315、316、317、318、319、320を備える。また、セレクタ321、322、323、324、325、326、327、328、329、330、331を備える。また、信号遅延素子304は、例えば、インバータ332、334、336、338と、ラッチ342、344とを備える。フリップフロップ310、311、312、313、314、315、316、317、318、319、320には、それぞれ異なる遅延量を設定し、フリップフロップをセレクタを介して縦属接続する。ラッチ342及びセレクタ321、322、323、324、325、326、327、328、329、330、331により、フリップフロップのon又はoffを調整することで遅延量を調整する。即ち、選択するフリップフロップの段数で遅延量を調整し、インバータ332に入力した信号を遅延させてインバータ336から出力する。この結果、ディジタルの入力電気信号と出力電気信号間の遅延量Zを調整することができ、光信号のレベルを制御するまでの時間を、入力側伝送路100を流れる光信号が、入力側光カプラ106から光レベル制御素子104に到達するまでの時間に一致させることができる。遅延線122の長さの調整に比べて、調整が失敗した場合の修正が容易である。
信号遅延素子304による遅延量の調整は、例えば、3.2ナノ秒から14.8ナノ秒の範囲で調整することが可能である。また、信号遅延素子304は、図21に示すようにインバータ338及びラッチ344を備え、複数の信号遅延素子304を連携動作させることで遅延量を増やすことが可能である。また、図22に示すように、遅延(delay )は、D〔9:0 〕( CMOS, ECL, or TTL Control Bits )の増加に対してリニアに増加する特性を有する。よって、制御回路の動作クロック単位で遅延させる遅延クロックZ204による調整に比べ、更に細かい遅延量の設定が可能となる。なお、遅延量は、例えばディジタル制御回路302に遅延量設定部306(図20)を配置し、遅延量設定部306により設定する。
信号遅延素子304はディジタル信号の伝達を遅らせるため、ディジタル制御回路302とDAC118の間に配置される。例えばディジタル制御回路302からDAC118へ送信されるイネーブル信号350(イネーブルビット)(図20)の信号線上に配置され、イネーブル信号350の伝達を遅延させる。信号遅延素子304でイネーブル信号350の伝達を遅らせるので、DAC118の出力のタイミングを遅らせることができる。この場合、DAC118が出力する光レベル制御素子104の振幅設定情報を遅延させる必要がなく、その振幅設定情報を有効にするイネーブル信号350を遅らせるだけで、DAC118の出力のタイミングを遅らせることができる。
その他の構成は、第3の実施の形態と同様であるので、その説明を省略する。
〔第5の実施の形態〕
第5の実施の形態について、図23、図24及び図25を参照する。図23は第5の実施の形態に係るレベル制御システムの一例を示す図、図24は間欠信号の一例を示す図、図25は連続信号の一例を示す図である。なお、図23、図24及び図25に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。図23において、図5、図11、図12及び図20と同一部分には同一符号を付してある。
この実施の形態では、PDで検出した値の平均化処理、駆動制御量の制限処理、及びデータの展開作成処理を行う。そこで、PDで検出した値の平均化処理に関し、ディジタル制御回路402は、入力PD・パワーモニタ・平均化処理部404と、エッジ検出処理部406と、出力PD・パワーモニタ・平均化処理部408とを備える。駆動制御量の制限処理に関し、ディジタル制御回路402は、DAC設定処理部410を備える。また、データの展開作成処理に関し、ディジタル制御回路402は、制御誤差・新目標値算出部412と、テーブル検索部414と、元データ展開作成部416と、書き込み更新部418とを備える。また、ディジタル制御回路402は、更新情報記憶部430に接続する。その他の構成は、第3の実施の形態と同様であるため、その説明を省略する。なお、出力PD・パワーモニタ・平均化処理部408と、制御誤差・新目標値算出部412と、テーブル検索部414と、元データ展開作成部416と、書き込み更新部418は、情報更新部6(図1)の一例である。
入力PD・パワーモニタ・平均化処理部404は、複数の信号の値を平均する手段の一例である。入力PD・パワーモニタ・平均化処理部404は、入力側ADC114と記憶部206の間に設定し、入力側PD110によりモニタした複数の信号を平均化する。
エッジ検出処理部406は、信号のエッジを検出する手段の一例である。エッジ検出処理部406では入力PD・パワーモニタ・平均化処理部404に入力される信号の分岐信号を監視して、信号のエッジを検出する。エッジ検出処理部406は、バースト光信号のバースト信号領域432(図24)からガードタイム領域434(図24)へ移行する立下りのエッジと、ガードタイム領域434からバースト信号領域432へ移行する立ち上がりのエッジを検出する。エッジを検出すると、入力PD・パワーモニタ・平均化処理部404へトリガ信号を出力する。
出力PD・パワーモニタ・平均化処理部408は、複数の信号の値を平均する手段の一例である。出力PD・パワーモニタ・平均化処理部408は、出力側ADC116と制御誤差・新目標値算出部412の間に設定し、出力側PD112によりモニタした信号の複数を平均して制御誤差・新目標値算出部412へ出力する。
DAC設定処理部410は、値の範囲を制限する手段の一例である。DAC設定処理部410は、出力する信号を閾値の範囲に制限するリミッタ処理を行う。DAC設定処理部410は、記憶部206と遅延クロックZ204の間に設定する。DAC設定処理部410は、記憶部206から出力される駆動制御量を受け、駆動制御量が閾値の範囲にない場合、駆動制御量を閾値に変更して遅延クロックZ204へ出力する。駆動制御量に対し、下限の閾値と上限の閾値の両方を設定する場合、DAC設定処理部410は、下限の閾値より低い駆動制御量を下限の閾値に変更して出力し、上限の閾値より高い駆動制御量を上限の閾値に変更して出力する。
制御誤差・新目標値算出部412は、入力値と目標値との差を算出する手段の一例である。制御誤差・新目標値算出部412は、出力PD・パワーモニタ・平均化処理部408に接続し、出力PD値又はその平均値を受け、これらと目標出力レベルとの差を算出し、新たな目標出力レベルの算出を行う。制御誤差・新目標値算出部412は、算出結果を出力する。
テーブル検索部414は、データを検索する手段の一例である。テーブル検索部414は、制御誤差・新目標値算出部412と更新情報記憶部430の間に設定し、制御誤差・新目標値算出部412の算出結果を受け、更新情報記憶部430を検索し、算出結果と一致する出力レベルのデータ又は算出結果に近接する2つの出力レベルのデータを確認する。なお、算出結果に近接する2つの出力レベルのデータを確認する場合、算出結果より大きい値の出力レベルのデータと、算出結果より小さい値の出力レベルのデータのそれぞれ1つを確認する。
更新情報記憶部430は、LUTの元データを格納する。更新情報記憶部430は、テーブル検索部414の検索により確認された元データを、元データ展開作成部416に送出する。なお、LUTの元データは、更新情報の一例である。
元データ展開作成部416は、受けたデータを展開する手段の一例である。元データ展開作成部416は、更新情報記憶部430と書き込み更新部418の間に設置し、更新情報記憶部430より送出されるLUTの元データから、記憶部206に展開するデータを作成する。なお、元データ展開作成部416が作成するデータは、更新制御情報の一例である。
書き込み更新部418は、データの書き込み及び更新を行う手段の一例である。書き込み更新部418は、元データ展開作成部416と記憶部206の間に設定し、元データ展開作成部416より作成データを受け、待機中のLUTへ書き込むとともに、LUTの切替えを通知する。待機中のLUTへ情報を書き込み運用状態に切替えることで、FF制御で運用するLUTが更新される。
次に、PD検出の値の平均化処理について図24及び図25を参照する。
伝送路を流れる信号は、間欠信号(バースト光信号)と、連続信号(CW光信号:continuous wave light signal)に識別される。
間欠信号は例えば、光をバーストすることで得られる信号であり、図24に示すように、信号を有するバースト信号領域432と、信号がないガードタイム領域434が交互に繰り返される信号である。間欠信号のレベル制御を行う場合、例えば、ガードタイム領域434ではレベルの制御を行わず、バースト信号領域432の信号レベルを制御してレベルをあわせる。ガードタイム領域434でのレベルの制御を行わないことにより、増幅された自然放出光(ASE:amplified spontaneous emission)の検出を確実なものとし、システム上の不具合の防止、更には消費電力の増大を防止することができる。
バースト信号のバースト長がミリ秒単位より短い場合、バースト信号内でのパワーの変動は小さい。そこで、バースト信号領域432間のレベルの差(ΔL)を制御する。ΔLは、例えば15dBのように、十数デシベルの大きさで発生する。エッジ検出処理部406により信号のエッジを検出すると、入力PD・パワーモニタ・平均化処理部404は、トリガ信号を受ける。そして各エッジの信号レベルを記憶部206へ向け出力する。入力PD・パワーモニタ・平均化処理部404では、次のエッジ検出がされるまで、制御ポイントの信号レベルを保持して出力することで、エッジ部を制御ポイントとする信号レベルの制御を行うことができる。各エッジの信号レベルを出力するので、瞬間的に応答して制御することができる。
バースト長が、ミリ秒単位程度又はそれより長い場合、瞬間的な応答性だけではなく、バースト信号内の連続性も求められる。そこで、エッジの信号によるレベルの制御とともに、バースト信号内での制御ポイントを増やして制御を行う。この制御によりバースト信号内のパワーのふらつきも制御することができる。
連続信号は、図25に示すように、信号のレベルが連続的に変化する。信号436は、レベルの変動が小さい場合の例である。レベルの変動が小さい場合は、偏波変動の速さは10μ秒程度となる。信号438は、レベルに急変が生じた場合の例である。レベルの急変が生じるとそのレベルの変動は、20dB程度となり、信号の上昇時間Tr及び信号の下降時間Tfは50マイクロ秒程度となる。そこで、入力PD・パワーモニタ・平均化処理部404では、入力PDモニタ回路の応答速度に応じて制御ポイントの値を出力し又は複数の制御ポイントの値の平均値を出力する。連続信号は、間欠信号とは異なり常に信号が存在し、信号の変動に休みがない。また、連続信号のレベルの制御には、制御後の信号に連続性が求められるため、制御の周期を短くするとともに、制御後に精度が求められる。ただ、信号のパワー変動が間欠信号に比べ遅いため、間欠信号に比べ、速度よりも精度を重視した制御を行う。なお、上昇時間Tr及び下降時間Tfは、入力に対応する出力の応答を表す時間の量を表し、上昇時間は、上昇時の時間、下降時間は下降時の時間を表す。
測定の精度を向上するため、入力PD・パワーモニタ・平均化処理部404では制御ポイントの値の平均値を出力する。平均値を出力する場合、平均化の回数を初期設定として設定する。入力PD・パワーモニタ・平均化処理部404では、設定した回数の制御ポイントの値を平均化し、その平均値を出力する。平均化の回数は、値を取得するために要する時間と制御で求められる速度の関係に基づき決定し、例えば2〜16回程度の回数を設定する。
数値の平均化処理を行うことで、突発的なノイズによってモニタ値が変化し、その影響で制御が不安定になることを防止することができる。また、PDモニタ回路の応答速度が光信号ビットレートよりも高速な場合に、光信号ビットレートよりもモニタ速度を遅くすることにより、信号の平均レベルをモニタし、ビットの1、0によって光レベルが変化している波形がそのまま観測されることを防止できる。
次に、第5の実施の形態の制御回路の処理について、図26を参照する。図26は第5の実施の形態に係るレベル制御処理の一例を示すフローチャートである。なお、図26に示す処理は一例であって、斯かる処理に本発明が限定されるものではない。図26において、a1、a2はフローチャートの接続部分を表す。
この制御処理は、LUTを一定の周期で更新する場合のフローチャートである。制御の自由度を高めるため、FF制御(FFループ処理)とFB制御(FBループ処理)を任意で選択できるようにしてある。即ち、FFループ処理のみで動作させる制御、FBループ処理のみで動作させる制御、その両方で動作させる制御を変更可能である。FFループ処理及びFBループ処理の選択は、例えば、FFループ処理及びFBループ処理のそれぞれの設定に1ビットを割り振り、そのON及びOFFの2値で制御する。FFループ処理及びFBループ処理の両方を行う場合は、それぞれの設置をONとすれば良い。この設定は、初期設定において設定する。
先ず、初期設定が行われる(ステップS101)。この初期設定では、(1) から(5) の設定が行われる。
(1) PD平均化回数の設定
この設定では、複数回のレベルの平均値で制御する場合にその回数を設定する。また、平均化を行わない場合は、平均化の回数として1を設定する。
(2) 遅延量設定
この設定では、遅延クロックZ204による遅延量を設定する。
(3) 目標値に対応した初期のLUTの設定
この設定では、運用開始前の処理においてLUTに書き込むデータの出力レベルを設定する。
(4) FFループ処理、FBループ処理の使用の設定
(5) 閾値設定
この設定は、DAC設定処理部410が使用する閾値の設定である。
初期設定が終了すると、制御前の信号レベルを受け付け、値の平均化処理を行う(ステップS102)。この平均化処理により、入力PD・パワーモニタの平均化が行われる。初期設定において平均化処理を行わない場合は、受け付けた制御前の信号レベルをそのまま平均値として処理する。処理が終了すると、入力側PD値として出力する。
次に、FFループ処理を行うかの判断を行い(ステップS103)、行わない場合には(ステップS103のNO)、FFループ処理の回数が一定回数を経過したかの判断(ステップS108)に移行する。
FFループ処理を行う場合には(ステップS103のYES)、入力側PD値により駆動制御量への変換を行う。このとき、LUTの運用フラグの確認を行い、運用状態のLUTを参照してDAC設定値を作成する(ステップS104)。作成したDAC設定値が調整範囲外か、即ち、DAC設定値が上限閾値より大又は下限閾値より小であるかが判断され(ステップS105)、調整範囲外である場合(ステップS105のYES)、DAC設定値を閾値へ変更し(ステップS106)、時間調整後にDAC118を介して光レベル制御素子104の駆動が行われる(ステップS107)。調整範囲外でない場合(ステップS105のNO)、時間調整後にDAC118を介して光レベル制御素子104の駆動が行われる(ステップS107)。なお、DAC設定値はレベル制御量又は駆動制御量の一例である。
入力側PD110では信号を連続して受けるので、受けた信号レベルに対するステップS102からステップS107の処理も連続して行われる。
次に、FFループ処理が所定回数を処理したかを判断する(ステップS108)。処理回数が所定回数経過していない場合(ステップS108のNO)、FFループの回数を1回加算する(ステップS109)。FFループ処理回数の確認は、処理回数が所定回数を経過するまで繰り返される。
ループ回数が所定回数経過した場合(ステップS108のYES)、FFループの処理回数をリセットし(ステップS110)、FBループ処理の設定(ON)かを確認する(ステップS111)。FBループ処理が設定されていなければ(ステップS111のNO)、ステップS102へ移行し、FBループ処理は行わない。
FBループ処理が設定されていれば(ステップS111のYES)、出力側の信号レベルを受け付け、その平均化処理を行う(ステップS112)。この平均化処理は、出力PD・パワーモニタ・平均化処理部408で行われる。なお、初期の設定において平均化を行わない場合は、受け付けた出力側信号レベルをそのまま平均値として処理する。処理が終了すると、出力側PD値として出力する。
次に、出力側PD値と出力目標レベルとの差を算出して更新する目標値を決定する(ステップS113)。例えば、出力パワー目標値を+0dBmとし、+0dBmとするためのLUTを用いてFF制御を行っている状態において、FB制御側でモニタした結果が0.2dBm出力パワー目標値より高い場合、出力側(制御後)レベル値の平均値と目標レベル値との差0.2dBmを算出し、+0dBmのLUTを、−0.2dBmのLUTに変更することを決定する。
更新情報記憶部430から更新の目標値(出力目標レベル)に近いテーブルの検索を行い(ステップS114)、検索されたテーブルから出力目標レベルのテーブルを作成し(ステップS115)、待機状態のLUTに作成したテーブルのデータを書き込む(ステップS116)。斯かる処理によりLUTの更新を行う。
次に、LUTのフラグの更新処理を行う(ステップS117)。この処理では、今まで使用していた運用状態のLUTのフラグを消去して、新たに更新したLUTにフラグを立てる。フラグの消去が行われたLUTは、運用状態から待機状態へ識別され、フラグを立てたLUTは、待機状態から運用状態へ識別されることとなる。この結果、LUTが切替えられ、運用状態のLUTのデータが更新されることとなる。ステップS102からステップS117は繰り返され、LUTの更新は、FFループの回数が所定の回数に達した場合に実行される。FFループの1回に係る時間はほぼ一定であることから、テーブルの更新が例えば約1秒毎に行われるように所定の回数を設定することにより、ほぼ一定の周期でテーブル更新を行うことが可能となる。
次に、制御誤差が一定の範囲を超えた場合の処理について図27を参照する。図27は第5の実施の形態に係るレベル制御処理の一例を示すフローチャートである。なお、図27に示す処理は一例であって、斯かる処理に本発明が限定されるものではない。図27において、b1、b2はフローチャートの接続部分を表す。
ステップS121ないしステップS132は、既述のステップS101〜S112(図26)に対応するため、その説明を省略する。
ステップS132で平均化処理を行った後、出力目標レベルとの差の算出を行う(ステップS133)。斯かる処理により、制御誤差を得る。得られた制御誤差に対し、一定範囲として例えば、±ΔX以上であるかが判断される(ステップS134)。一定範囲内にある場合(ステップS134のNO)、カウントが0にリセットされている状態からステップS122の処理を繰り返す。
一定範囲外であれば(ステップS134のYES)、出力目標レベルの決定を行い(ステップS135)、出力目標レベルに近いテーブルの検索(ステップS136)からLUTのフラグの更新処理(ステップS139)までの処理を行う。ステップS136ないしステップS139は、既述のステップS114〜S117(図26)に対応するため、その説明を省略する。
〔LUTデータの展開作成〕
次に、LUTデータの展開作成処理について、図28、図29及び図30を参照する。図28はテーブルの補間の一例を示す図、図29はテーブル作成処理手順の一例を示す図、図30はテーブルの補間処理の一例を示す図である。なお、図28、図29及び図30に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。
LUTデータの展開及び作成は、更新情報記憶部430に格納する元データをLUT元データ展開部の演算処理により展開してLUTの更新データを作成する。更新情報記憶部430には、更新データの一部を格納することで対応が可能となるため、例えば、制御誤差を0.2dBm間隔から0.1dBm間隔で更新する場合でも、更新情報記憶部430のメモリ容量を増やすことなく対応することができる。なお、LUTの更新データは更新制御情報の一例である。
更新情報記憶部430には、取りうる出力レベル値の範囲のいつくかのポイント毎にテーブルを設ける。例えば、図28に示すように、出力レベルが−10dBmのデータ442と、−5dBmのデータ444と、0dBmのデータ446と、+5dBmのデータ448と、+10dBmのデータ450の5つの出力レベルのデータを格納する。元データ展開作成部416において補間処理を行うことにより元データからLUTのデータ452が作成される。元データの行数は、LUTの行数に比べ少なく簡略化する。例えば、LUTが1024行である場合、各出力レベルの元データは256行として、4行毎のデータを格納する。
元データからLUTの更新データを作成する補間処理は、図29、図30に示すように、以下の手順で行う。
手順(1):複数の出力レベルの元データを更新情報記憶部430に設定する。即ち、複数のレベルについて元データを用意し、予め更新情報記憶部430に設定する。
手順(2):目標として設定したい出力レベル(出力目標レベル)に最も近い2つの元データをそれぞれ引き伸ばす。
更新情報記憶部430の記憶容量を抑えるため、元データのテーブルの行数をLUTの行数より少なくする場合、元データの各データ間を補間して、LUTの行数のデータを作成する。作成したデータは例えば、中間テーブルとなる。
手順(3):引き伸ばしたテーブル(中間テーブル)から目標レベル相当のテーブル(完成テーブル)を作成する。
目標として設定したい出力レベルの元データがない場合、演算処理により引き伸ばしたデータから目標として設定したい出力レベルのデータを算出する。
手順(1)から手順(3)を行うことで、更新情報記憶部430が格納する元データを展開し、完成テーブルを作成する。このテーブルのデータによりLUTのデータの更新が可能となる。なお、元データのテーブルの行数をLUTの行数と同じにする場合、手順(2)は設定したい出力レベルに最も近い2つの元データの抽出のみを行うこととなる。また更新する目標レベルに一致する元データを更新情報記憶部430が格納している場合は、最も近い2つの元データを検索し、展開する手順に代えて、一致する元データを展開すればよい。この場合、手順(3)は省略されることとなる。
〔元データの設定〕
元データの設定について、図31を参照する。図31は補間処理の設定項目の一例を示す図である。なお、図31に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。
元データの設定は、図29に示すように、例えば、更新情報記憶部430内に出力レベル(LevelA)から出力レベルE(LevelE)の元データ(元データテーブル462、464、466、468、470)を設定することで行われる。元データテーブル462、464、466、468、470は、2列のテーブルからなり、一方の列には入力PD値が格納され、他の列にはDAC118へ出力する値を示す駆動制御量が格納される。元データテーブル462、464、466、468、470は、各出力レベルにするための駆動制御量の関係を測定することで得られる。
更新情報記憶部430に元データテーブル462、464、466、468、470を設定するに際し、図31に示すように、完成テーブルの行数(Ncmpline)と、元データテーブルの個数(Nsrctbl )と、元データテーブルの行数(Nsrcline)と、目標設定レベルの最大値(Level _Max )と、目標設定レベルの最小値(Level _Min )と、目標設定レベル(Level _target)を設定する。なお、図31に示す設定は、入力側の信号レベルを11ビットとする場合の例である。
完成テーブルの行数は、LUTの行数と一致し、11ビットの場合は2048となる。
元データテーブルの個数の設定により、更新情報記憶部430に格納する元データテーブルの個数を設定する。個数は、3、6、12、22、43、85の離散値のみを許容し、それ以外の値は切り下げて離散値に変更する。値が3より小さい場合は、3に設定する。
元データテーブルの行数は、64〜2048の範囲で設定する。元データテーブルの行数には、2のN乗の形(N=6〜11)で表現される値を設定する。Nの値が6から11の範囲でない場合は、N=6として64を設定する。
目標設定レベルの最大値は、出力レベルの最大値を意味する。例えば10dBmを設定する。
目標レベルの最小値は、出力レベルの最小値を意味する。例えば−11dBmを設定する。
目標設定レベルは、目標設定レベルの最大値から最小値までの範囲内で決定する。この目標設定レベルは、運用開始前に設定し、運用を開始する際に最初にLUTに設定するレベルとなる。
元データテーブルの個数と、目標設定レベルの最大値と、目標設定レベルの最小値を設定すると、更新情報記憶部430に格納する元データテーブルのレベル刻み幅(Nsrcwidth )が決まり、式(1)となる。
Nsrcwidth =(Level_Max −Level _Min)/(Nsrctbl −1) ・・・(1)
そこで、更新情報記憶部430に格納するデータの出力レベルが、図30に示すように、Level _Min 、Level _Min +Nsrcwidth ×(2−1)、Level _Min +Nsrcwidth ×(3−1)、・・・、Level _Min +Nsrcwidth ×(Nsrctbl −1)に設定される。
〔中間テーブルの作成〕
中間テーブルの作成について、図32及び図33を参照する。図32は元データを引き伸ばす処理の一例を示す図、図33はデータを引き伸ばす処理の一例を示す図である。なお、図32及び図33に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。図32及び図33は、テーブルの行数が8ビットの例である。
中間テーブルは、元データのデータ行を引き伸ばして作成する。更新情報記憶部430が、データ442と、データ444と、データ446と、データ448と、データ450(図28)を格納し、それぞれのデータが、256行である場合、元データの各データ間を補間してLUTのデータを作成する。LUTのデータが1024である場合、元データを256行から1024行に引き伸ばす。
例えば、7dBmmの出力レベルのテーブルを作成する場合、図32に示すように、7dBmに近い5dBmのデータ448を引き伸ばして中間テーブル484を作成し、10dBmのデータ450を引き伸ばして中間テーブル486作成する。
データの引き伸ばしは、図33に示すように、データの1、2、3、4、・・・、256行のデータを、中間テーブルの1、5、9、13、・・・、1024行に対応させる。そして中間テーブルの2〜4、6〜8、10〜12、・・・1014〜1016、1018〜1023行の値を1、5、9、13、・・・、1013、1017、1024行の隣り合うデータ同士を一次関数で結合することにより作成する。なお、元データの255行目と256行目は中間テーブルの1017行目と、1024目に対応し、他の区間に比べ広くなる。そこで、最後の区間のみ不等間隔で結合する。このように設定することで、各元データを8ビット(1024行)とすることができる。
〔完成テーブルの作成〕
次に、完成テーブルの作成について、図34、図35、図36、図37、図38、図39、図40、図41、図42、及び図43を参照する。図34はレベル制御素子の駆動電圧に対する出力パワーの特性の一例を示す図、図35は入力PD値に対する駆動制御量の関係の一例を示す図、図36は入力PD値に対する駆動制御量の関係をグラフ化した一例を示す図である。図37はテーブル作成に用いる値及び線の一例を示す図、図38はテーブル作成処理の一例を示すフローチャート、図39はレベルA及びレベルBの曲線の一例を示す図、図40は曲線を横方向へ変形させる一例を示す図、図41は変形した曲線の一例を示す図である。図42は曲線を縦方向へ変形させる一例を示す図、図43はデータ量と測定回数の一例を示す図である。なお、図34、図35、図36、図37、図38、図39、図40、図41、図42及び図43は一例であって、斯かる例に本発明が限定されるものではない。また、図35、図36、図37、図39、図40、図41、及び図42に示すDAC値は、DAC118に対して設定される値であり、駆動制御量の一例である。また、図36、図37、図39、図40、図41、及び図42に示す入力PD値は、LUTが受ける入力パワーの一例である。
半導体レベル制御素子は、レーザと同じ化合物半導体で製作されており、閾値電圧を超えると急激に出力パワーが上昇する。そしてある一定出力レベルに到達すると、そこからは電圧を増やしても出力パワーは上昇せず、ある特定の出力パワー値で飽和する曲線を持つ。図34に示すように、駆動電圧が0から0.9V程度の間では、出力パワーが最小、即ち0となり、約0.9V〜1.6Vの間では、出力パワーが上昇する。また、0.9Vを超えたあたりでは出力パワーの上昇幅が大きいものの、1.6Vに近づくにつれてその上昇の幅は小さくなる。
このように、出力パワーの変化量と駆動電圧の変化量の関係は直線ではないため、制御誤差に相当する電圧量が一意には決定できない。現在どの電圧で駆動しているかによって、出力パワーを変化させるために必要な駆動電圧の変化量が異なることとなる。
例えば、FB制御でモニタした結果、出力目標レベルよりも実際の出力レベルが10dB小さく、10dB増やす場合を想定する。この半導体レベル制御素子に1.0Vを印加している状態で出力を+10dB変化させるには、電圧を約35mV増やせば良い。しかしながらこの半導体レベル制御素子に1.2Vを印加している状態で出力を+10dB変化させるためには、電圧を約460mV増やす必要がある。即ち、FB制御でモニタした結果、10dB増やす必要があることは認識できるものの、その10dBに相当する電圧量が、SOAの駆動状態により35mVであったり460mVであったり変化する。そのため、出力パワー変化量と駆動電圧変化量の関係が曲線である場合、FF制御側のLUTに固定値を加算すると、外れた値で光レベル制御素子104を駆動することになり、制御できなくなる。このことは、FB制御で得られる情報を一意にLUTに反映できないことを意味する。
このような半導体レベル制御素子を用いて光レベルの制御を行う場合、LUTに格納されるデータは、入力側PD値を横軸とし、DAC値を縦軸としてグラフにすると、図35及び図36に示すようになる。なお、入力側PD値は入力側信号レベルを表す値であり、伝送路を流れる入力側のパワー(入力パワー)に関係する。また、DAC値は、DAC118に対し出力される値であり、駆動回路120の駆動制御量を表す。DAC値は、図34に示す駆動電圧に対応する。
入力側PD値と駆動制御量の関係は、図35及び図36に示すように、入力側PD値が小さい領域では駆動制御量が最大値となる直線になり、入力パワー値が境界点を超えると駆動制御量が減少する曲線となる。また、各目標レベルの曲線の形状は似ているものの、各データのレベルの差は2dBm間隔と等しいにもかかわらず、曲線の間隔は一定の間隔とはならない。そこで算出される出力レベルのデータは、複数の演算処理を行うことで作成される。なお、駆動制御量の設定に14ビットのディジタル値を用いる場合、駆動制御量の最大値(Ymax)は16383となる。また、入力側PD値の設定に12ビットのディジタル値を用いる場合、入力側PD値の最大値(Xmax)は4095となる。
目標レベルにおけるデータの入力パワーと駆動制御量の関係、即ち、レベルKのデータ曲線は、図37に示すように、Xa、Xb、Ya、Ybの値を利用してレベルA、Bのデータ曲線から作成する。即ち、実測値のあるレベルA及びレベルBのデータから、実測値の無いレベルKのデータを作成する。図38に示すように、以下の処理により得られ、得られた結果を基に、データの展開及び作成をして完成テーブルを作成する。
(1) 出力目標レベルKの実測値レベル区間を割り出す(ステップS201)。
(2) 割り出した区間から、出力目標レベルKの曲線と、Y=最大値との交点Xkを算出する(ステップS202)。即ち、出力目標レベルKの曲線部と、駆動制御量が最大値となる直線の交点の入力パワー値Xkを算出する。
(3) 割り出した区間の低い方のレベルの曲線を、入力レベルを大きくする方向(横方向)に変形する(ステップS203)。
(4) 割り出した区間から、出力目標レベルKの曲線部と、X=最大値との交点Ykを算出する(ステップS204)。即ち、出力目標レベルKの曲線部と、入力側PD値が最大値となる直線の交点Ykを算出する。
(5) ステップS203で算出した曲線を、駆動制御量を大きくする方向(縦方向)に変形する(ステップS205)。
出力目標レベルであるレベルKの実測値レベル区間の割り出し(ステップS201)では、レベルAのデータ曲線及びレベルBのデータ曲線(図37)を設定する。レベルA及びレベルBは手順(2)(図29)で出力目標レベルに最も近い2つの元データのレベルを表す。また、2つの元データのレベルのうち、低い方をレベルAに設定する。例えば、行数を1024行に引き伸ばした+5dBmの中間テーブル484(図32)と、+10dBmの中間テーブル486(図32)から、7dBmmの出力目標レベル(レベルK)のテーブルを作成する場合、+5dBmをレベルAに設定し、+10dBmをレベルBに設定する。
交点Xkの算出(ステップS202)では、レベルA、レベルB及びレベルKのそれぞれの交点Xa、Xb及びXk(図37)が、レベルA、レベルB及びレベルKと同じ関係となるように算出する。Xkは、式(2)により算出する。
Xk=Xa+(Xb −Xa) ×(LevelX −LevelA)/(LevelB −LevelA) ・・・(2)
例えば、+5dBm(レベルA)と+10dBm(レベルB)から+7dBmのテーブルのXkを求める場合、式(2)のレベルA、レベルB、レベルXはそれぞれ5、10、7となる。また、交点Xaは+5dBmのテーブルにより決定され、交点Xbは+10dBmのテーブルにより決定されるため、Xkが得られる。
レベルAの曲線の変形(ステップS203)では、式(2)で求めたXkとレベルAの曲線から求める。レベルAの曲線をy=f(x)とすると、図40に示すように、レベルA上の点(x' ,f(x' ))を入力パワー値のMAX側に近づけるように横方向に変形させる。変形させたときのxの値は(Xmax−x' )/(Xmax−x)=(Xmax−Xa)/(Xmax−Xk)となるようにする。このとき、レベルAの曲線を変形した曲線は、式(3)となる。
y=f(X')
X'=Xmax−(Xmax −x) *(Xmax −Xa)/(Xmax −Xk) ・・・(3)
Xmaxにおける駆動制御量(Yk)の算出(ステップS204)では、XmaxにおけるレベルAの入力パワー値Ya、レベルBの入力パワー値Yb、レベルKの入力パワー値Yk(図41)がレベルA、レベルB及びレベルKと同じ関係となるように算出する。Ykは、式(4)により算出する。
Yk =Ya+(Yb-Ya) ×(LevelX −LevelA)/(LevelB −LevelA) ・・・(4)
+5dBm(レベルA)と+10dBm(レベルB)から+7dBmのXkを求める場合は、式(4)のレベルA、レベルB、レベルXの値をそれぞれ5、10、7とすることで得られる。
ステップS203で算出した曲線の変形(ステップS205)は、式(4)で求めたYkと、式(3)で求めた曲線とから求める。レベルKの曲線は、図42に示すように、駆動制御量値のMAX側に近づけるように縦方向に変形させる。この場合、yの値がレベルAを変形した曲線のyに対して(Ymax−Ya)/(Ymax−Yk)倍になるように変形させる。式(3)で求めたレベルAの曲線を変形した曲線をy=g(x)とすると、レベルKの曲線は、式(5)として求められる。
y =g(x) *(Ymax −Ya)/(Ymax −Yk) ・・・(5)
このテーブルの作成において必要とするデータを列挙すると以下のとおりである。以下の値を用いてテーブルの作成を行うことができる。
(1) レベルA、B、C、Dの曲線(レベルA、B、C、D、における入力側PD値と駆動制御量の関係を表す曲線又はそのデータ)
(2) 端点Xa、Xb、Xc、Xd(各レベルの曲線のYmax側の端点)
(3) 端点Ya、Yb、Yc、Yd(各レベルの曲線のXmax側の端点)
(4) 実測したレベルA、B、C、D
レベル制御を高精度で行うためには、テーブル精度を向上させる必要がある。しかし、入力パワーと光レベル制御素子の駆動制御量の関係を大量に測定及び保持するには、大量の記憶メモリが必要であり、大容量の更新情報記憶部430が必要となる。また、レベル制御素子には個体差があることから、各素子毎に入力パワーと駆動制御量の関係を確認することとなり、測定には膨大な時間が必要となる。
例えば、12ビットの入力レベルと、16ビットの駆動制御量を格納するLUTの更新を、幅20dBのレベル範囲に対して0.1dBmのレベルの精度で行う場合、200通りのデータが必要となる。この全てのデータを更新情報記憶部430に格納する場合、図43に示すように、そのデータ量は38400kビットとなる。また、データの格納のためには、200回の測定が必要となる。
本実施の形態では、数点の出力レベルのテーブルを測定及び保持しておき、測定していない出力レベルのテーブルは元データ展開作成部416が作成するので、メモリ容量の削減と、測定に要する時間及びコストの削減が図られる。例えば、更新情報記憶部430に格納するデータのレベルを5通りとすれば、データの量は960kビットで済み、測定回数も5回で済む。即ち、更新情報記憶部430では40分の1のメモリサイズを確保すればよく、また、測定に要する時間も40分の1で終了することができる。測定していない出力レベルのテーブルをLUT作成部が作成するとしても、入力パワーの変動に対応した制御を行うことができる。
〔補正値を用いた完成テーブルの作成〕
次に、補正値を用いた完成テーブルの作成について、図44、図45、図46、図47、図48及び図49を参照する。図44はテーブル作成処理の一例を示すフローチャート、図45は入力側PD値に対する駆動制御量の一例を示す図、図46は曲線を横方向へ変形させる一例を示す図、図47は曲線を縦方向へ変形させる一例を示す図である。図48はテーブル作成に用いる値及び線の一例を示す図、図49は各レベル範囲に対する設定値の一例を示す図である。なお、図44、図45、図46、図47、図48及び図49に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。また、図45、図46、図47及び図48に示すDAC値は、DAC118に対して設定される値であり、駆動制御量の一例である。また、図46、図47及び図48に示す入力PD値は、LUTが受ける入力パワーの一例である。
レベルKの曲線は、Xa、Xb、Ya、Yb(図37)の値及び値Xr(図46)を利用してレベルAの曲線(図37)から作成する。図44に示すように、以下の処理により得られ、得られた結果を基に、データの展開及び作成をする。なお、完成テーブルの作成の例と同一の処理には同一番号を付してある。
(1) 出力目標レベルKの実測値レベル区間を割り出す(ステップS221)。
(2) 割り出した区間から、出力目標レベルKの曲線と、Y=最大値との交点Xkを算出する(ステップS222)。即ち、出力目標レベルKの曲線部と、駆動制御量が最大値となる直線の交点の入力パワー値Xkを算出する。
(3) 割り出した区間の低い方のレベルの曲線を、入力レベルを大きくする方向(横方向)に変形する(ステップS223)。
(4) 割り出した区間から、出力目標レベルKの曲線部と、X=最大値との交点Ykを算出する(ステップS224)。即ち、出力目標レベルKの曲線部と、入力側PD値が最大値となる直線の交点Ykを算出する。
(5) ステップS223で算出した曲線を、駆動制御量を大きくする方向(縦方向)に変形する(ステップS225)。
レベルKの実測値レベル区間の割り出し(ステップS221)、入力側PD値Xkの算出(ステップS222)及び交点Ykの算出(ステップS224)は、完成テーブルの作成例のステップS201、ステップS202、ステップS204(図38)と同様であり、その説明を省略する。
レベルAの曲線の変形(ステップS223)は、式(2)で求めたXkとレベルAの曲線から求める。レベル制御素子には、図45に示すように、レベルが低くなるほど曲線のカーブが強くて曲率が小さく、レベルが高いほど曲線のカーブが弱くて曲率が大きい性質を持つものがある。この場合、目標レベル値に応じて補正値を設定する。
レベルが高いほど曲線のカーブが弱いことから、レベルAの曲線の変形は、補正値を設定して式(3)により変形させる場合に比べ曲線を平坦に近づける。図46に示すように、式(3)のXmaxをXmaxより大きい値Xrに変えることで変形後の曲線のXの値が、式(3)の場合に比べ大きな値(Xmax側)にシフトされる。この場合、同一のX座標に対応する駆動制御量は、式(3)で算出する値に比べて大きくなり、Ymaxに早めに収束する方向に近づくので、求めた曲線は、平坦に近づく。
レベルAの曲線の変形は、レベルAの曲線をy=f(x)として、式(6)を用いて行う。式(6)のx' は式(2)のxに相当する値であり、式(6)のxは、式(6)のx' より大きな値となる。
y =f(X ")
X " =Xmax−(Xmax −x') *(Xmax−Xa)/(Xmax −Xk)
X'=Xa+(x−Xa) ×(Xr −Xa)/(Xmax −Xa) ・・・(6)
Xmaxが4095である場合、式(6)は、式(7)となる。
y =f(x ")
X " =4095−(4095 −x ')*(4095−Xa)/(4095 −Xk)
X ' =Xa+(x−Xa)*(Xr −Xa)/(4095 −Xa) ・・・(7)
ステップS223で算出した曲線の変形(ステップS225)は、式(4)で求めたYkと式(6)で求めた曲線から求める。レベルKの曲線は、図47に示すように、駆動制御量のMAX側に近づけるように縦方向に変形させる。この場合、yの値がレベルAを変形した曲線をy=h(x)とすると、(Ymax−y)/(Ymax−h(x))=(Ymax−Yk)/(Ymax−Ya)となるように変形させる。即ち、レベルKの曲線は、式(8)として求められる。
y=Ymax−(Ymax −h(x)) ×(Ymax −Yk)/(Ymax −Ya) ・・・(8)
Ymaxが16383である場合、式(8)は、式(9)となる。
y=16383 −(16383− h(x))*(16383 −Yk)/(16383−Ya) ・・・(9)
式(9)の曲線と、Y=Ymaxの直線は、入力PD値と駆動制御量の関係を表している。そこで、完成テーブルは、式(9)の曲線と、Y=Ymaxの直線を基に、その値を読み取ることで作成する。
この完成テーブルの作成では、完成テーブルの作成で用いたデータの他、補正値Xrを用いてテーブルの作成を行う。
値Xrは、Xmaxより大きな値であり、式(8)で得られるレベルKの曲線が実際に得たい曲線に合うように調整して設定される。また、Xrは、図48及び図49に示すように、元データテーブルの隣接するレベル間、即ち、レベルAとレベルBの間、レベルBとレベルCの間、レベルCとレベルDの間、レベルD以上の範囲に対し、それぞれXr1、Xr2、Xr3、Xr4のように設定してもよい。隣接するレベル間においてXrの値が異なる場合、より精度の高いレベルKの曲線を得ることができる。
このテーブルの作成例においても、メモリ容量の削減と、測定に係る時間及びコストの削減が図られる。
上記した第5の実施の形態について、特徴事項、利点又は変形例等を列挙する。
(1) 第5の実施の形態では、アナログ−ディジタル変換、ディジタル−アナログ変換、LUTの参照の他、入力信号の平均化処理及びAC設定値の生成及びリミッタ処理を行う。そこで、FFループ処理のレイテンシは、例えば以下のようになる。なお、レイテンシは、ADCが信号を受けてからDAC設定処理部410が信号を出力するまでの時間である。
(ディジタル制御回路402以外のレイテンシ)
1) アナログ−ディジタル変換 : 6CLK
2) ディジタル−アナログ変換 : 約1CLK
(ディジタル制御回路402内部のレイテンシ)
1) 入力部フリップフロップ : 1CLK
2) 入力信号の平均化処理 : 6〜7CLK
3) LUTの参照 : 2CLK
4) DAC設定値の生成及びリミッタ処理 : 2CLK
5) 出力部フリップフロップ : 1CLK
ディジタル制御回路402の動作クロックを132MHzとすると、1CLKは7.58ナノ秒に相当する。ディジタル制御回路402以外のレイテンシでは、合計約7CLK(53ナノ秒)を要し、ディジタル制御回路402内部のレイテンシでは、12〜13CLK(91〜99ナノ秒)を要する。全体の処理時間は19〜20CLKとなり、約144〜152ナノ秒を要する。これを遅延線122の長さに置き換えると28.8〜30.4mとなる。斯かる遅延線122の長さは、ディジタル制御回路402の動作クロックをより高速にすることでFFループ処理の時間短縮を図り、遅延線122の長さを短くすることができる。
(2) 光レベル制御素子の出力光は出力側のPDでモニタされ、出力側のADCで取りこまれる。出力側のPDのモニタ値はFB制御で使用するため、時間をかけて複数回サンプリングし、平均化処理を行い、正確性を重視する構成でもよい。
(3) PDモニタ値のサンプリングを、時間をかけて複数回サンプリングして平均化を行うことにより、入力信号の変調成分に追従することを避けることができる。
(4) 完成テーブルの作成では、割り出した区間の低いほうのレベル曲線を、横方向に変形し(図38、ステップS203)、割り出した区間から、出力目標レベルKの曲線と、X=最大値との交点Ykを算出する(図38、ステップS204)。しかしながら、割り出した区間から、出力目標レベルKの曲線と、X=最大値との交点Ykを算出した後、割り出した区間の低いほうのレベル曲線を横方向に変形することも可能である。
(5) 補正値を用いた完成テーブルの作成では、割り出した区間の低いほうのレベル曲線を、横方向に変形し(図44、ステップS223)、割り出した区間から、出力目標レベルKの曲線と、X=最大値との交点Ykを算出する(図44、ステップS224)。しかしながら、割り出した区間から、出力目標レベルKの曲線と、X=最大値との交点Ykを算出した後、割り出した区間の低いほうのレベル曲線を横方向に変形することも可能である。
この実施の形態では、出力目標値レベルに最も近い2つの元データを、それぞれ引き伸ばして中間テーブルを作成し(手順(2):図29)、中間テーブルから出力目標レベル相当のテーブルを作成する(手順(3):図29)。しかしながら、先ず、出力目標値レベルに最も近い2つの元データから出力目標レベル相当のテーブルを作成した後、出力目標レベル相当のテーブルを引き伸ばして完成テーブルを作成することも可能である。
〔第6の実施の形態〕
第6の実施の形態について、図50を参照する。図50は、第6の実施の形態に係るレベル制御システムの一例を示す図である。なお、図50に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。図50におい、て図5、図11、図12、図20及び図23と同一部分には同一符号を付してある。
この実施の形態では、第5の実施の形態の遅延クロックZ204に代え、信号遅延素子504を備える。
信号遅延素子504は信号の伝達時間を調整する時間調整手段の一例であり、出力時期調整部を構成する。信号遅延素子504は第4の実施の形態と同様であるのでその説明を省略する。
この実施の形態では、信号遅延素子504はディジタル信号の伝達を遅らせるため、DAC118とDAC設定処理部410の間に配置される。そして、DAC設定処理部410から駆動制御量を受け、遅延量設定部306の設定に基づき駆動制御量の信号を遅延させてDAC118に向け出力する。
その他の構成は、第5の実施の形態と同様であるので、その説明を省略する。
〔第7の実施の形態〕
第7の実施の形態について、図51、図52、図53、図54、図55、図56、図57、図58及び図59を参照する。図51は第7の実施の形態に係るレベル制御システムの一例を示す図、図52はレベル制御素子の特性の一例を示す図、図53はテーブル作成処理の一例を示すフローチャート、図54は入力PD値に対する駆動制御量の一例を示す図である。図55は値を作成する点の一例を示す図、図56は値の作成数を少なくする場合の一例を示す図、図57は値の作成数を少なくする場合の一例を示す図、図58は入力PD値に対する駆動制御量の設定の一例を示す図、図59は入力PD値に対する駆動制御量の設定の一例を示す図である。図51、図52、図53、図54、図55、図56、図57、図58及び図59に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。図51において、図5、図11、図12、図20、図23及び図50と同一部分には同一符号を付してある。なお、図54、図55、図56、図57、図58及び図59のADC値は、ADCから受ける値を表し、入力PD値の一例である。
この実施の形態では、光レベル制御素子の特性値を用いて完成テーブルを作成する。そこで、図51に示すように、ディジタル制御回路552は、制御誤差・新目標値算出部412と、テーブル作成部554と、書き込み更新部418とを備える。また、ディジタル制御回路552に接続する更新情報記憶部560を備える。その他の構成は第3の実施の形態と同様であるので、その説明を省略する。なお、制御誤差・新目標値算出部412と、テーブル作成部554と、書き込み更新部418は、情報更新部6(図1)の一例である。
制御誤差・新目標値算出部412は、入力値と出力目標レベルとの差を算出する手段の一例であり、算出部の一例である。制御誤差・新目標値算出部412は、制御誤差算出機能と、新目標値算出機能とを備え、出力目標レベルを算出する。
更新情報記憶部560は、情報を記憶する手段の一例であり、例えばROM、磁気媒体、光磁気媒体等により構成される。ROMとしては、EEPROM(Electrically Erasable Programmable ROM)、フラッシュメモリ等を用いることができる。
更新情報記憶部560は、完成テーブルの作成に用いる更新情報を格納する。更新情報は、光レベル制御素子の特性値、定数、係数等を含む。更新情報は、テーブル作成部554に供給する。
テーブル作成部554は、テーブルを作成する手段の一例である。テーブル作成部554は、更新情報記憶部560と書き込み更新部418の間に設定し、制御誤差・新目標値算出部412から出力目標レベルを受け、更新情報記憶部560の更新情報を用いてテーブルを作成する。なお、テーブル作成部554が作成するテーブルは、制御情報の更新に用いられる。即ち、テーブル作成部554が作成するテーブルは、更新制御情報の一例である。
書き込み更新部418は、データの書き込み及び更新を行う手段の一例である。書き込み更新部418は、テーブル作成部554と記憶部206の間に設定し、テーブル作成部554からデータを受け、記憶部206のLUT_A212及びLUT_B214へ書き込むとともに、LUTの切替えを通知する。
入力PD値と駆動制御量の関係は、駆動制御量とレベル制御素子の出力特性に依存する。そこで、LUTのデータをレベル制御素子の特性等から作成する。これにより、LUTに格納するデータ又はその元データを必要とせず、特性データを用いて作成するので、記憶容量が抑えられる。
電流出力回路により半導体光増幅器(SOA)を制御する場合、次の(値a)から(値e)の5つの定数と、出力目標レベル値と、入力PD値とを用いてSOAの駆動電流を求め、この駆動電流に比例定数α及び比例定数βを掛けて駆動制御量を求める。入力側PD値と求めた駆動制御量は対応付けられ、LUTのテーブルとして出力される。なお、(値a)から(値e)の5つの定数、比例定数α及び比例定数βは、例えば更新情報として更新情報記憶部560に記憶し、完成テーブルを作成する際に読み出して、テーブルの作成を行う。また、SOAは、光レベル制御素子の一例である。
(値a) SOAの駆動電流が0であるときに相当するゲイン値:A1 〔単位:dB〕
(値b) SOAの駆動電流が十分大きい時の漸近ゲイン値:A2 〔単位:dB〕
(値c) ゲイン値A1 とゲイン値A2 をデシベル値(dB値)で平均したゲインに対応する駆動電流値:I0 〔単位:A〕
I0 は、ゲインが(A1 +A2 )/2の時のSOAの駆動電流値である。
(値d) 電流とゲインの関係の非線形性を表すパラメータq
パラメータqは、駆動電流に対するSOAのゲインの特性に起因するパラメータである。パラメータqは、0.5以上2以下の数値であり無単位である。
(値e) 飽和光出力:PS 〔単位:mW〕
飽和光出力は、SOAの光の出力能力により決定される。典型的な値の例として、PS は、10mWである。
比例定数α〔単位:mW/LSB〕はADC値を入力パワーへ変換するための定数であり、入力パワーを最大のADC値(Xmax)で除して求める。例えば、入力パワーが0.25mWで最大のADC値が4095の場合、比例定数αは、入力パワー/Xmax=0.25/4095=6.11×10-5(mW/LSB)として算出する。
比例定数β〔単位:LSB/A〕は、駆動電流をSOAの駆動制御量へ変換するための定数であり、最大の駆動制御量(Ymax)を駆動電流で除して求める。例えば、駆動電流が0.3Aで最大のレベル制御素子の駆動制御量が16383の場合、比例定数βは、Ymax/駆動電流=16383/0.3=54610(LSB/A)として算出する。
電圧出力回路によりレベル制御素子を制御する場合、更に次の値(f)から(値i)の4つの定数を格納して、これらの定数と求めたSOAの駆動電流を基に駆動制御量を求める。この場合、SOAの電流−電圧特性を表す数式を用いてSOAの駆動電圧を求め、この駆動電圧に比例定数を掛けて駆動制御量を求める。入力PD値と求めた駆動制御量を対応付け、LUTのテーブルとして出力する。
これらの定数は記憶部206に内蔵させ、完成テーブルを作成する際に読み出して、テーブル作成処理を行う。
(値f) SOAの飽和電流:IS 〔単位:A〕
例えば、IS は10-13 Aである。
(値g) 係数:n
係数nは、例えば、ダイオード電流の主因となる物理現象に依存する係数である。理想的なダイオードでは、少数キャリアの拡散現象ダイオード電流の主因となるためn=1となるものの、現実のダイオードでは再結合現象により電流が加わるため、1より大きく2より小さい値になる。なお、係数nは無単位である。
係数nは、計算により求めるSOAの電流−電圧特性が、レベル制御に用いるSOAの特性に合うように調整して設定される。
(値h) 閾値電圧:Vt
閾値電圧は、(ボルツマン定数〔単位:J/K〕)×(SOAの絶対温度〔単位:K〕)/(素電荷=1.6021773〔単位:C〕)として求める。ここで、ボルツマン定数は、1.380658×10-23 J/K、素電荷は、1.6021773Cであり、SOAの絶対温度は、SOAの温度を測定することで得られる。
(値i) SOAの内部抵抗:Rs 〔単位:Ω〕
比例定数γ〔単位:LSB/V〕は、駆動電圧をレベル制御素子の駆動制御量へ変換するための定数である。例えば、1.6Vの駆動電圧を最大のレベル制御素子の駆動制御量(Ymax)、即ち、16383に対応させる場合、比例定数γは、Ymax/駆動電圧=16383/1.6=10239(LSB/V)として算出する。
次に、ゲイン値A1 、ゲイン値A2 、駆動電流値:I0 及びパラメータqの関係について、図52を参照する。図52は、SOAの特性の一例を示す図である。図52に示す特性は一例であって、斯かる特性に本発明が限定されるものではない。
LUTの算出には駆動電流が0である時のゲイン値及び駆動電流が十分大きい時、即ち、ゲインが飽和した状態のゲイン値を用いる。SOAのゲインGと駆動電流Aの関係は、そのSOAの特性を測定することで実験データとして得られる。しかしながら、図52に示すように、駆動電流の値が0(E1 )の近傍では、ゲインが非常に小さいため、測定の誤差等により正確な値が得られない。また、実験において、駆動電流を大きくした場合(E2 )、ゲインが飽和した状態が得られない。そこで、測定実験により得られたデータのうち、駆動電流値が0近傍のデータを除いたデータに適合するフィッティング曲線を求め、このフィッティング曲線上の駆動電流が0となるゲイン値及び駆動電流が無限大の場合のゲイン値を求める。即ち、駆動電流が0である時に相当するA1 は、駆動電流フィッティング曲線の駆動電流0の時のゲイン値を意味し、駆動電流が十分大きい時の漸近ゲイン値A2 は、フィッティング曲線の駆動電流を無限大の時のゲイン値を意味する。なお、値E1 は、半導体光増幅器の駆動電流が0である時のゲイン値であり、E2 は駆動電流が十分大きい時のゲイン値である。
フィッティング曲線は、駆動電流値I=0のときのゲイン値GがA1 、駆動電流値I=無限大のときのゲイン値GがA2 、ゲイン値が(A1 +A2 )/2のときの電流値がI0 となるように設定し、式(10)で表す。式(10)は、ゲインGと駆動電流Iの関係式である。
式(10)のパラメータqを変化させることで式(10)の非線形の度合いが変化する。フィッティング処理では、A1 、A2 、I0 及びqを変化させることで、式(10)の線と実験データとをフィットさせ、このときのA1 、A2 、I0 及びqを求める。これらの値は、例えば、A1 が−95dB、A2 が25dB、I0 が8×10-3A、qが0.85となる。
次に、(値a)から(値i)の定数を用いてLUTを算出する処理手順について、図53を参照する。
まず、制御誤差・新目標算出部412から出力目標レベルk〔単位:dB〕を読み込み(ステップS301)、テーブルの作成に用いるパラメータを更新情報記憶部560から読み込む(ステップS302)。この場合、例えば、(値a)〜(値i)のパラメータ及び比例定数α、比例定数β、比例定数γである。
次に、算出中のLUTの行番号XにADC値の最大値(Xmax)を設定し、X=Xmaxに設定する(ステップS303)。
次に、Xに相当する入力パワー(Pin〔単位:mW〕)を算出する(ステップS304)。Pinは、Xの値により変化する数であり、入力側PD110の電流をリニアアンプで増幅して、入力側ADC114に入力している場合、ADC値がミリワット(mW)単位の入力パワーに比例することとなる。この場合Pinは、式(11)で表される。
次に、駆動電流I〔単位:A〕を算出する(ステップS305)。駆動電流IはステップS301で読み込んだk、ステップS302で読み込んだパラメータ及び式(11)で読み込んだPinと、式(12)を用いて求める。Pinは、Xの値により変化する数であるので、Xに対応するIの値が求められることとなる。
式(12)は、駆動電流Iと入力パワーPinの関係を示しており、例えば式(10)と式(13)から求める。式(10)はSOAのゲインGと駆動電流Iの関係を示し、式(13)は、SOAの光入力パワーとゲインGの関係を示す。
算出した駆動電流Iを用いて、駆動電流Iに相当するレベル制御素子の駆動制御量Yを算出し、第X行のLUTに書き出す(ステップS306)。レベル制御素子を制御する回路が電流出力回路である場合、式(14)を用いて電流出力回路の電流値を算出する。また、レベル制御素子を制御する回路が電圧出力回路である場合、式(15)を用いて電圧出力回路の電圧値を算出する。どちらの式を用いてレベル制御素子の駆動制御量を算出するかは駆動回路の構成により決定され、駆動回路に応じて、用いる式を選択する。なお、式(14)及び式(15)において、「Round( ) 」は、かっこ内の値の小数点以下を四捨五入して、整数値に変える関数である。
なお、式(16)は、SOAの電流と電圧特性の関係を示し、式(15)は、SOAの電圧値に比例定数γ掛けた値のRound 値である。
式(16)の電流と電圧特性の関係では、式(17)に示す理想的なダイオードの関係式を、係数nを用いて補正している。この補正を行うことで、電流と電圧特性の関係を現実の素子に即した式とすることができる。なお、係数nは、例えば放射係数(emission coefficient)である。
SOAの特性が、図52に示すように、駆動電流の増加とともにゲインGも上昇する曲線であるため、LUTのADC値に対するレベル制御素子の駆動制御量は、図54に示すように、ADC値がXmaxから減少するにつれて、レベル制御素子の駆動制御量は上昇する。しかし、駆動制御量の最大値に達した場合は、それ以上の数値を設定することができない。式(12)は、単調減少関数であるため、レベル制御素子の駆動制御量がYmaxとなった後はADC値を値Ymaxで一定とするか、Ymaxより小さい値を設定する必要がある。そこで、式(14)又は式(15)で求めたYがYmaxより大きいかを判断する(ステップS307)。YがYmaxより小さい場合(ステップS307のNO)、Xの値を1減らし(ステップS308)、減らしたXが0又は0より大きい場合(ステップS309のNO)、ステップS304からステップS307を繰り返し、Xの値に対応するYの値を算出し、LUTに書き出していく。減らしたXが0より小さい場合(ステップS309のYES)、即ち、LUTの0からXmaxに対応するレベル制御素子の駆動制御量の算出が終了した場合、処理を終了する。
図54のBに示すように、レベル制御素子の駆動制御量がYmaxに達したときのXをXymaxと定義すると、Xの値がXymaxより小さい領域(X<Xymax)ではXに対するIの値を算出することができない。これは、式(12)が単調減少関数であり、式(16)が単調増加関数であるため、駆動制御量(Y)はADC値(X)に対する単調減少関数となるためである。
そこで、YがYmaxより大きい場合(ステップS307のYES)、即ち、XがXymaxより小さい領域(X<Xymax)では、駆動制御量Yとして所定の値f(x)を割り付け、Y=f(x)とし、第X行のLUTにf(x)を書き出す(ステップS310)。
f(x)に定数Ymaxを設定した場合、図54のCに示すように、Xの値が0からXymaxの領域では、Yの値がYmaxとなる。定数Ymaxを設定すると、入力パワーが弱く、レベル制御素子の駆動制御量を許容される最大の値にしても目標レベルの光出力を出せないものの、許される最大のレベル制御素子の駆動制御量でSOAの駆動を行うことができる。
Yにf(x)を割り付ける処理は、Xの値を1減らしながら(ステップS311)、Xの値が0より小さくなる(X<0)まで繰り返し行われる(ステップS312のNO)、Xの値が0より小さいか否を判断し(ステップS312)、0より小さい場合(ステップS312のYES)、処理を終了する。
このようにすることで、ADC値Xに対応する全てのレベル制御素子の駆動制御量Yの値を求め、LUTに書き込むことができる。
上記した第7の実施の形態について、特徴事項、利点又は変形例等を列挙する。
(1) 以上述べたように、LUTに格納するデータを特性等から作成する。LUTに格納するデータ又はその元データのデータを必要とせず、特性データを格納するので、記憶容量が抑えられる。また、更新情報記憶部560に記憶した元データから駆動制御量を算出する場合、駆動制御量が許容される最大値を超えないように、閾値等を設定して制御する場合がある。特性等から作成すると、作成したレベル制御素子の駆動量が、制御素子駆動量の最大値として許される値を超える場合には、作成の過程で、駆動制御量の最大値以下の所望の値を割り当てることが可能である。
(2) 比例定数α、比例定数β、比例定数γについては、式においてこれらの比例定数と積を構成する定数と一つにまとめることが可能である。即ち、比例定数α=1、比例定数β=1、比例定数γ=1となるような単位系に移行することが可能である。
比例定数α、比例定数β、比例定数γは、これらと式において積を構成する他の定数とまとめることができるので、駆動回路が電流駆動回路の場合は、(値a)から(値e)の5つの定数を更新情報記憶部560に格納すればよい。また、駆動回路が電圧駆動回路の場合は、(値a)から(値i)の9つの定数を更新情報記憶部560に格納すれば良い。また、電圧駆動回路の場合は、(値g)と(値h)をまとめて値n・Vtとし、(値c)と(値f)をまとめて値I0 /Is とすることで、7つの定数を更新情報記憶部560に格納すれば良い。
(3) テーブルの作成に必要な更新情報が少ないので、ディジタル制御回路552の内部に記憶領域を確保してデータを格納してもよい。例えば、記憶部206に更新情報を格納して、テーブル作成部554は、記憶部206から更新情報を読み出すようにすることができる。
(4) XをXmaxから1ずつ減らしながらYの値を求めると、図55に示すように、レベル制御素子の駆動制御量YがYmaxになるまですべてのXに対して式(12)を用いて算出する。そこで、LUTの算出時間の短縮するため、駆動制御量Yを求める回数を減らしてもよい。Yを算出する回数が減ると、対数や指数の演算を含む式(12)の計算回数が減少し、時間の短縮ができる。
例えば、図56に示すように、式(12)による算出を2点毎に1点、3点毎に1点又はn点毎に1点行い、式(12)による算出を行わなかった点は補間により算出する。
式(12)による算出を2点毎に1点、3点毎に1点又はn点毎に1点行う場合、ステップS308及びステップS311において、Xの値を2、3又はn減らすように設定すれば良い。
式(12)による算出を行わなかった点の補間は、隣り合うYを算出した点のデータ同士を一次関数で結合することにより作成する。隣り合うデータ同士を一次関数で結合する処理は第5の実施の形態の元データのデータ行を引き伸ばす手順と同様であり、その説明を省略する。直線による補間のため、計算時間の短縮をする面で優位である。また、精度を優位にする場合、多項式補間(ラグランジュ補間)や区分多項式補間(スプライン補間)等により高精度な補間方法を用いてもよい。
(5) Yの値を算出する点を更に減らすため、図57に示すようにYの傾きが大きい領域ではYを算出する点の間隔を短くし、Yの傾きの変化が小さい領域ではYを算出する点の間隔を長くする。このようにすることで、LUT算出時間を効果的に短縮することができる。なお、Yの傾きが大きい領域と小さい領域は、例えば、出力レベル毎にその領域を予め設定し、ステップS308及びステップS311ではXの値に応じて1減らすのか、1より大きい数を減らすのかを判断させるようにすれば良い。
(6) 増幅を行う信号の入力パワーが弱く、レベル制御素子の駆動制御量を許される最大の値にしても目標レベルの出力光を出せない場合、駆動制御量Yの値を定義する。この結果、式(12)を用いて計算し、Yの値が未定義となることを防止できる。
(7) 入力パワーが弱いADC値(X)の値が0からXymaxの領域の領域に関し、例えば、図58Aに示すように、Yの値を0に設定してレベル制御素子の出力を0に制御してもよい。入力パワーが弱くレベル制御素子によりパワーを増幅しても目標パワーの出力を行うことができないため、レベル制御素子の駆動を行わないことにより電力を抑えることができる。この場合、ステップS310において、f(x)=0とすれば良い。
(8) 入力パワーが弱いADC値(X)の値が0からXymaxの領域の領域に関し、例えば、図58Bに示すように、Yの値を定数Ymに設定し、制御素子を弱く駆動してアイドリング状態に制御してもよい。レベル制御素子をアイドリングすることにより、ADC値(X)がXymax<X<Xmaxである通常の動作へ復帰する場合に出力特性が早期に安定する。この場合、ステップS310において、f(x)=Ym(定数)とすれば良い。
(9) 入力パワーが弱いADC値(X)の値が0からXymaxの領域の領域に関し、例えば、図59Aに示すように、閾値Xtを設定する。Xt<X<Xymax又はXt=Xの領域では、目標パワーの出力を行うことができないものの、レベル制御素子を最大限出せるパワーで駆動する。X<Xtの領域では入力信号がノイズレベルとみなしてレベル制御素子の駆動を行わないようにする。X<Xtの領域ではレベル制御素子の駆動を行わないことにより電力を抑えることができる。この場合、ステップS310において、f(x)=Ymax(Xt<X,Xt=X)、f(x)=0(Xt>X)とすればよい。
(10)入力パワーが弱いADC値(X)の値が0からXymaxの領域の領域に関し、例えば、図59Bに示すように、閾値Xtを設定する。Xt<X<Xymax又はXt=Xの領域では、目標パワーの出力を行うことができないものの、レベル制御素子を最大限出せるパワーで駆動する。X<Xtの領域では入力信号がノイズレベルとみなしてレベル制御素子を弱く駆動してアイドリング状態にする。レベル制御素子をアイドリングすることにより、ADC値(X)がXt以上である通常の動作へ復帰する場合に出力特性が早期に安定する。この場合、ステップS310において、f(x)=Ymax(Xt<X,Xt=X)、f(x)=Ym(Xt>X)とすればよい。
〔第8の実施の形態〕
第8の実施の形態について、図60を参照する。図60は第8の実施の形態に係る制御回路の構成例を示す図である。なお、図60に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。図60において、図5、図11、図12、図20、図23、図50及び図51と同一部分には同一符号を付してある。
この実施の形態では、光レベル制御素子104を一定温度に維持する。そして、光レベル制御素子104の出力を安定させる。そこで、この実施の形態では、サーミスタ604と、TEC(サーモエレクトリッククーラ)606とを備える。また、ディジタル制御回路602は、FB制御部608と、LUT作成部610とLUT612とを備える。なお、FB制御部608と、LUT作成部610は情報更新部6(図1)の一例である。
サーミスタ604は、温度を測定する手段の一例である。サーミスタ604は、例えば温度の違いにより電気抵抗が変化する半導体素子を備え、温度の変化を電気信号に置き換える。サーミスタ604は、光レベル制御素子104の温度をモニタするとともに、温度制御情報を生成し、TEC606を制御する。
TEC606は、温度調節を行う手段の一例である。TEC606は、例えばDC電流がTEC606内を流れることにより、TEC606の一方の表面から他方の表面に熱を伝達させる。その結果、一方の表面を冷却し、他方の表面を加熱する機能を備える。TEC606は、サーミスタ604の制御により、光レベル制御素子104を加熱又は冷却して、光レベル制御素子104を一定の温度に維持する。光レベル制御素子104の温度は、例えば25℃に維持する。
FB制御部608は、出力側PD値を受ける。そして、LUT作成部610に対し、LUT612が格納する制御情報の更新及び制御情報の切替えを要求する。
LUT作成部610は、LUT612に展開するデータを作成する手段の一例である。作成部610は、FB制御部608からの要求を受け、制御情報を作成し、LUT612の制御情報の更新及び切替えを行う。
LUT612は、制御情報を記憶する手段の一例であり、記憶部の一例である。LUT612は、図2に示すように、制御情報としてレベル制御量を記憶する。
その他の構成は、第2の実施の形態と同様であるので、その説明を省略する。
〔第9の実施の形態〕
第9の実施の形態について、図61、図62、図63及び図64を参照する。図61は第9の実施の形態に係るレベル制御システムの正面図の一例を示す図、図62は図61のA−A線断面を示す図、図63は上側基板の一例を示す図、図64は下側基板の一例を示す図である。なお、図61、図62、図63及び図64に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。
この実施の形態では、2つのレベル制御回路を筐体の内部に配置し、1つのユニットを構成する。2つの制御回路を備えることで、異なる2つの伝送路内の信号のレベル制御を行うことができる。例えば、伝送路内を双方向に流れる信号の双方を1つのユニットでレベルの制御をすることができる。そこで、このレベル制御ユニット702は、上側筐体704と、下側筐体706とを備える。
上側筐体704には、図62に示すように、上側基板708を配置する。上側基板708は、例えば制御回路基板であり、図63に示すように、ディジタル−アナログ変換部(ADC/DAC)710と、FPGA712と、フラッシュROM716と、EEPROM718と、コネクタ720、722と、バッファ724を搭載する。また、下側筐体706には、図62に示すように、下側基板730を配置する。下側基板730は、例えば、駆動回路及び温調回路基板であり、図64に示すように、レベル制御素子732、734と、温調回路736、738と、ドライバ740、742と、コネクタ744、746と、電源部748と、コネクタ750と、PD764、766を搭載する。また、下側筐体706の底部の外側には、ヒートシンク770を取り付け、筐体内部と外部の間で熱交換を行う。
ディジタル−アナログ変換部710は、ADC及びDACを備え、アナログ信号をディジタル信号へ変換し、ディジタル信号をアナログ信号へ変換する。ADC及びDACは、入口側ADC、出口側ADC、及びDACの一例である。
FPGA712は、ディジタル制御回路の一例である。FPGAは、2つの信号のレベル制御機能を備え、2つの信号のレベルを制御する。
フラッシュROM716は、記憶手段の一例であり、例えば記憶部であり、FPGA712のプログラム格納部である。フラッシュROM716は、FPGA712のコンフィギュレーション及びパラメータを格納する。フラッシュROM716のプログラムをFPGAに展開することで、FPGAによりファームウェア処理が行われる。
EEPROM718は、記憶手段の一例であり、更新情報記憶部の一例である。
コネクタ720、722は、接続手段の一例である。下側基板730に配置されるコネクタ744、746を接続することで、上側基板708と下側基板730の信号を接続する。
バッファ724は、ノイズによるディジタル信号の波形劣化を抑制したり、タイミングを調整する場合に利用する手段の一例である。そこで、ノイズにより波形劣化が発生しやすい環境で使用する場合に搭載する。
レベル制御素子732、734は、信号のレベルを制御する手段の一例であり、例えば光レベル制御素子である。
温調回路736、738は、温度制御手段の一例であり、例えば、温度調節部である。温調回路736、738は、TECを備え、TECをPID制御(Proportional Integral Derivative Control) して、レベル制御素子732、734の温度を調節する。なお、温調回路736、738と下側筐体706の間に生じた熱は、ヒートシンク770を介して外部へ放出する。ヒートシンク770は、放熱手段の一例であり、例えば、放熱部である。
ドライバ740、742は、制御手段の一例であり、例えば駆動回路である。ドライバ740、742は、レベル制御素子732、734を駆動する。
電源部748は、電源供給手段の一例であり、制御回路と、駆動回路と、温調回路に対して電気を供給する。
コネクタ750は、接続手段の一例である。電源部748への電気の供給及び、データの送信及び受信は、コネクタ750を介して外部機器と接続することにより行う。
PD764、766は、入力側PD及び出力側PDの一例である。
レベル制御素子732、734には、それぞれ一対のファイバー760、762を接続する。そして、ファイバー760、762を流れる光信号のレベルを制御する。
この実施の形態では、FPGA712は、2つのレベルを制御する。また、EEPROM718は、2つのレベル制御回路の更新情報を格納する。2つのレベル制御をユニット化することで、制御回路及びメモリを減らすことができる。
〔第10の実施の形態〕
第10の実施の形態について、図65を参照する。図65は、第10の実施の形態に係るレベル制御システムの一例を示す図である。尚、図65に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。図65において、図5、図11、図12、図20、図23、図50、図51及び図60と同一部分には同一符号を付してある。
第10の実施の形態のレベル制御システム1102は、例えば、間欠信号のレベルを制御する。尚、このレベル制御システム1102は様々な間欠信号のレベル制御に対応し、例えば、光バースト信号や、光パケット信号のレベル制御を行う。
レベル制御部1104は、信号レベルを調整する手段の一例である。例えば、レベル制御素子と、このレベル制御素子の駆動回路を含む。レベル制御素子として、例えば増幅器又は減衰器を用いることができる。レベル制御部1104は、記憶部206から出力される駆動制御量を駆動回路で受けてレベル制御素子を駆動する。この駆動により入力側伝送路100から入力される信号のレベルを調整して、出力側伝送路101へ出力する。
入力側受信部1106は、レベル制御前の信号を受信する手段の一例であり、入力側監視部を構成する。入力側受信部1106は、入力側モニタ回路1108を構成する。入力側受信部1106は、入力側の間欠信号を監視し、監視結果としてレベル制御前の信号のレベルをディジタル制御回路1110の記憶部206に向け出力する。
記憶部206は、入力側受信部1106からレベル制御前の信号のレベルを受けると、記憶部206を参照して駆動制御量を生成し、生成した駆動制御量をレベル制御部1104へ出力する。
レベル制御部1104と、入力側受信部1106と、記憶部206は、間欠信号の変動の周期よりも高速に動作して、間欠信号の信号レベルをFF制御する。入力側伝送路100を流れる入力信号1112が、レベルの異なる間欠信号を含んでいたとしても、レベル制御部1104の制御により出力側伝送路101を流れる出力信号1114では、それぞれのレベルが一定の間欠信号にすることができる。尚、間欠信号の変動の周期は、間欠信号のバースト信号領域432(図24)の繰り返し周期である。
出力側受信部1122は、レベル制御後の信号を受信する手段の一例であり、出力側監視部を構成する。出力側受信部1122は、出力側の間欠信号を監視し、監視結果としてレベル制御後の信号のレベルを情報更新部1124に向け出力する。
演算部1126は、間欠信号の信号状態を演算により生成する手段の一例である。演算部1126は、ディジタル制御回路1110内に配置し、ディジタル制御回路1110のクロックをカウントする機能を有する。演算部1126は、例えば、入力側受信部1106から出力されるレベル制御前の信号のレベルを受け、間欠信号がバースト信号領域432であるか、ガードタイム領域434(図24)であるかを判断する。そして、バースト信号領域432の場合にディジタル制御回路1110のクロックに基づいてバースト信号領域432の時間をカウントする。演算部1126のカウント結果から、間欠信号の状態を表す信号状態情報として、例えばバースト信号領域432が間欠信号中に占める比率を算出することができる。バースト信号領域432が間欠信号中に占める比率が大きくなると、間欠信号が搬送している情報量は多くなり、比率が小さくなると、間欠信号が搬送している情報量は少なくなる。即ち、信号状態情報は間欠信号が搬送する情報量を表している。
また、演算部1126は、レベル制御部1104に入力される駆動信号がON信号の場合に、ディジタル制御回路1110のクロックに基づいてON信号の時間をカウントする。演算部1126のカウント結果から、間欠信号の状態を表す信号状態情報として、例えば駆動信号においてON信号が占める比率を算出することができる。尚、駆動信号はレベル制御素子の駆動又は停止を指示する指示情報の一例である。駆動信号は例えば、レベル制御素子の駆動を表すON信号と、駆動の停止を表すOFF信号を含む。ON信号又はOFF信号は、指示内容を表す識別情報であって、レベル制御前の信号に応じて、記憶部206から出力される。例えば、間欠信号がガードタイム領域434であり、レベル制御前の信号のレベルが低い場合、駆動の停止を表すOFF信号が出力され、間欠信号がバースト信号領域432であり、レベル制御前の信号のレベルが高い場合、駆動を表すON信号が出力される。ON信号の駆動信号がレベル制御部1104に入力されると、レベル制御部1104は、駆動の準備を経て駆動を開始し又は駆動状態を維持する。また、OFF信号の駆動信号がレベル制御部1104に入力されると、レベル制御部1104は、駆動を停止し、又は停止状態を維持する。
演算部1126は、間欠信号もしくは駆動信号のいずれか一方の信号を取得するように構成してもよく、又は両方の信号を取得するようにしてもよい。演算部1126により演算した信号状態情報は、情報更新部1124に付与される。
情報更新部1124は、情報を更新する手段の一例である。情報更新部1124は、出力側受信部1122からレベル制御後の信号のレベルを受けるとともに、演算部1126から信号状態情報を受ける。そして、信号状態情報と、レベル制御後の信号のレベルに基いて、レベル制御後の信号のピークレベル(波高値)を算出する。情報更新部1124は、この信号のピークレベルに応じて記憶部206が格納する制御情報を更新する。
出力側受信部1122と、情報更新部1124と、演算部1126は出力側モニタ回路1128を構成する。出力側モニタ回路1128は、入力側モニタ回路1108とともにレベル制御システム1102のモニタ回路を構成する。
次に、信号状態情報及びピークレベルについて、図66を参照する。図66は、間欠信号の例を示す図である。尚、図66は一例であって、斯かる例に本発明が限定されるものではない。
レベル制御後の間欠信号1132は、時間経過に伴い、例えば、高信号レベル(SH )と低信号レベル(SL =0)の間を変動する。この間欠信号1132を出力側受信部1122でモニタすると、出力側のレベル制御後の信号レベルの制御精度を重視するため、出力側モニタ回路1128は、一定時間における信号レベルの平均値(P _ave.)により記憶部206の情報を更新する。信号レベルの平均値P _ave.は高信号レベルSH より値が低くなり、高信号レベルSH と信号レベルの平均値P _ave.の差(ΔS)は、一定時間において信号レベルSH の占める割合(比率)に応じて変動する。図66のAに示すように、信号レベルがSH の期間(I12 、I14 、I16 )の割合が全体の時間(I11 からI17 までの時間)に対して大きい場合、信号レベルの平均値P _ave.は大きくなり、信号レベルSH と信号レベルの平均値P _ave.の差(ΔS1)は小さい。一方、図66のBに示すように、信号レベルがSH の期間(I22 、I24 、I26 )の割合が全体の時間(I21 からI27 までの時間)に対して小さい場合、信号レベルの平均値P _ave.は小さくなり、信号レベルSH と信号レベルの平均値P _ave.の差(ΔS2)は大きくなる。そこで、信号状態情報を考慮することにより信号レベルの平均値P _ave.を補正して、信号のピークレベルを求める。尚、ピークレベルは、一定期間内における高い信号レベルのレベル平均値を表し、高い信号レベルのレベルが一定値SH の場合、ピークレベルはSH になる。
信号レベルの平均値P _ave.を補正する補正値は、情報更新部1124により算出する。情報更新部1124は、演算部1126から送られるバースト信号領域432の時間のカウント結果を一定時間全体のカウント量で割ってバースト信号領域432の一定時間に対する比率求め、この比率を補正値に用いる。図66のA及びBに示す間欠信号1132の場合、時間の比率はそれぞれ式(18)、式(19)のように求める。尚、一定期間はそれぞれ(I11+I12+I13+I14+I15+I16+I17 )、(I21+I22+I23+I24+I25+I26+I27 )とする。また、比率R1 及び比率R2 はデューティ比( duty ratio D=τ/T で表される。τは1周期の間で値がゼロでない期間、Tは周期を表す。)の一例である。
比率R1=( I12+I14+I16 ) / ( I11+I12+I13+I14+I15+I16+I17 ) ・・・(18)
比率R2=( I22+I24+I26 ) / ( I21+I22+I23+I24+I25+I26+I27 ) ・・・(19)
また、駆動信号から補正値を得る場合、所定時間内におけるON信号の時間比率を計算すれば良い。駆動信号はON信号とOFF信号を繰り返す間欠信号となるので、比率を得ることができる。
比率R1 又はR2 の逆数を信号レベルの平均値P _ave.に乗算して、信号のピークレベルが得られる。情報更新部1124はこのピークレベルに応じて記憶部206が格納する制御情報を更新するので、間欠信号中のガードタイム領域434が変化しても間欠信号のピークレベルを安定させ、目標出力レベルに維持することができる。また、FF制御とFB制御により間欠信号単位でのレベル調整が可能となる。その結果、強度の異なる間欠信号を一定強度に維持することができ、柔軟なネットワークの構築が可能となる。
上記した第10の実施の形態について、特徴事項、利点又は変形例等を列挙する。
(1) 以上述べたように、この実施の形態では演算部1126により時間カウントを行い、情報更新部1124により補正値を算出するがこれに限らない。例えば、演算部1126により時間の比率を算出し、信号状態情報として情報更新部1124へ出力してもよい。このようにすると、情報更新部1124は演算部1126から補正値を受け取ることができる。
(2) 間欠信号のレベル制御に関し、光バースト信号や、光パケット信号のレベル制御の他、電気的な間欠信号のレベル制御へ適用することもできる。この場合、入力側受信部11106及び出力側受信部1122は、電気的な間欠信号を受信するようにすれば良い。
(3) 例えば、パケット信号又はバースト信号のような間欠信号や、周期がマイクロ秒以下ひいては数十ナノ秒から数百ナノ秒のように高速なレベルの変動に対して追従することができ、出力信号のピークレベルを正確にモニタして、信号のレベルを制御することができる。また、このモニタ値を活用することで、高速でかつ高精度なレベル制御を長期に渡って実現することができる。
(4) パケット密度が低い場合や信号の密度が変化する場合であってもパケット単位又はバースト信号単位でのレベル調整が可能となる。その結果、強度の異なるパケット信号、バースト信号を一定強度に維持することができる。これにより、柔軟なネットワークの構築が可能となる。連続信号の他、入力信号がパケット信号やバースト信号のような間欠信号の場合でも、精度の高いレベル制御をすることができる。また、パケット単位でのレベル調整が可能となり、出力信号のピークレベルが一定に調整されることによって、パケットネットワーク全体の安定運用が可能となる。さらには、各ノードから到来するパケット信号のレベルが異なっていた場合でも、パケット受信機入力レベルを所定のピークレベル値に保持することが可能となる。このため、パケット受信機のダイナミックレンジが狭くても許容可能となり、その結果、パケット受信機等のコスト削減ができる。
(5) 間欠信号に対し、正確にピークレベルをモニタすることが可能なモニタ機能を実現し、正しい目標出力レベル(ピーク値)に制御をすることができる。間欠信号として、光パケット信号又は、光バースト信号等を用いて、これらの信号のピークレベルをモニタすることが可能なモニタ機能(光パケットモニタ機能、光バーストモニタ機能)を実現することも可能である。
(6) レベル制御システム1102は、モニタ回路1108、1128を含み、光通信ネットワークにおいて信号を間欠的に送受信する光バーストスイッチングネットワークもしくは光パケットスイッチングネットワークに適用できる。
(7) 例えば、光パケット送受信に用いると、光送信機の出力レベル許容値や受信機の入力レベル許容値を緩和することが可能となり、光パケット送受信機のコストを削減することができる。
(8) 光パケットと光バーストネットワークの厳密な光レベルダイヤ設計を必要としなくなる場合には、ネットワーク設計コストや運用コストを削減できる。
〔第11の実施の形態〕
第11の実施の形態について、図67及び図68を参照する。図67は、第11の実施の形態に係るレベル制御システムの一例を示す図、図68は、光パケット信号とモニタ値の関係の一例を示す図である。尚、図67及び図68に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。図67において、図5、図11、図12、図20、図23、図50、図51、図60及び図65と同一部分には同一符号を付してある。また、図67のディジタル制御回路1206内の信号経路において、実線で示された信号経路は、FF制御の速度で動作する経路を表し、破線で示された信号経路は、FB制御の速度で動作する経路を表す。
このレベル制御システム1202は、光強度を可変する光レベル制御部1204の入力側に遅延線122を配置し、光レベル制御部1204への入力光を制御遅延時間よりも十分長い時間に遅延させる。また、ディジタル制御回路1206には、遅延クロックZ204を配置し、ディジタル制御回路1206側の電気制御信号を遅延させるとともに、その遅延量をコントロールする。
入力側PD110は例えば入力側の光パケット信号(入力光)を受けて光パケット信号を電気信号に変換する。リニアアンプ1212はこの電気信号を受けて増幅する。そして、入力側ADC114は、リニアアンプ1212で増幅した電気信号を受け、アナログ値からディジタル値へ変換して入力側PD値として入力PD・パワーモニタ・平均化処理部404へ出力する。尚、入力側PD110と、リニアアンプ1212は、入力側受信部1106を構成する。
リニアアンプ1212は、入力側PD110から出力される信号を増幅する手段の一例であり、例えば、入力側増幅部である。リニアアンプとして、例えば、リニアオペアンプを用いることができる。リニアアンプ1212は、増幅した信号を入力側ADC114に向けて出力する。リニアアンプ1212は、図6に示すように、入力パワーに対し入力PD値がリニアに変化する特性を有し、ログアンプに比べて応答が高速なアンプである。このため、入力側PD110から入力される電気信号を高速で増幅する。このため、電気信号を各パケット単位で増幅することが可能である。
入力PD・パワーモニタ・平均化処理部404と、エッジ検出処理部406が実行する光パケット信号の処理は、第5の実施の形態(図23等)と同様であり、その説明を省略する。入力PD・パワーモニタ・平均化処理部404は、例えば、各エッジの信号レベルを記憶部206へ向け出力し、次のエッジ検出がされるまで、制御ポイントの信号レベルを保持して出力する。尚、光パケット信号は、間欠信号の一例である。
出力側PD112は、出力側の光パケット信号(出力光)を受けてこの光パケット信号を電気信号に変換する。ログアンプ1222はこの電気信号を受けて増幅する。そして、出力側ADC116は、ログアンプ1222で増幅した電気信号を受け、アナログ値からディジタル値へ変換して出力側PD値として、出力PD・パワーモニタ・平均化処理部1232へ出力する。尚、出力側PD112及びログアンプ1222は、出力側受信部1122を構成する。
ログアンプ1222は、出力側PD112から出力される信号を増幅する手段の一例であり、例えば、出力側増幅部である。ログアンプ1222は増幅した信号を出力側ADC116に向けて出力する。出力側受信部1122では、出力信号のレベルを高精度でモニタするため、速度よりも分解能を重視する。このため、増幅の正確性が高い利点を有するログアンプをフロントエンド回路に採用する。
出力PD・パワーモニタ・平均化処理部1232は、複数の信号値の平均値を生成する手段の一例である。出力PD・パワーモニタ・平均化処理部1232は、出力側ADC116と制御誤差・新目標値算出部1234の間に設定し、出力側受信部1122によりモニタした信号値を受け付け、一定時間に受け付けた複数の信号値の平均値を生成する。平均化に用いる信号値の数及び回数は、例えば、設定値を設けることにより任意に設定できる。これにより、出力側ADC116のサンプリング速度、レベル制御の処理周期、光パケット長、光ガードタイム長に依然せずに平均化の処理速度を自由に設定することが可能なる。
出力PD・パワーモニタ・平均化処理部1232は、一定時間の区切りを表すウエイト信号(wait signal )を時刻調整部1236から受ける。出力PD・パワーモニタ・平均化処理部1232は、各ウエイト信号間の時間を一定時間として複数の信号値を平均化して、この結果を制御誤差・新目標値算出部1234へ出力する。尚、出力PD・パワーモニタ・平均化処理部1232と、制御誤差・新目標値算出部1234は、情報更新部1124(図65)の一例である。
時刻調整部1236は、信号伝達により生じる時間差を調整する手段の一例である。駆動信号を光レベル制御部1204へ印加した後、レベル制御により変化した光信号が出力側PD112へ到達し、出力側ADC116によりサンプリングされ、ディジタル変換され、変換された電気波形が応答し終わるまでには時間の遅延が発生する。時刻調整部1236は、この時間の遅延を調整する機能(ウエイト機能)を有し、駆動信号を印加するタイミングと、変化した光信号がディジタル変換を介して電気波形が応答し終わるタイミングを一致させる。時刻調整部1236のウエイト機能により、演算部1126では、一定区間の入力光に基づく信号状態情報を得ることになり、出力PD・パワーモニタ・平均化処理部1232では、この所定区間の入力光のレベル制御後の信号レベル平均値を得ることになる。即ち、信号状態情報の所定区間と、信号レベルの平均値の所定期間は、同じ所定区間の入力光を対象としたものにすることができる。
演算部1126は、第10の実施の形態(図65)と同様であり、その説明を省略する。この実施の形態では、演算部1126は、ディジタル制御回路1206のクロックに基づいてON信号の時間をカウントして、そのカウント結果を信号状態情報として制御誤差・新目標値算出部1234へ向け出力する。
制御誤差・新目標値算出部1234は、出力側の光パケット信号のピークレベルと出力目標レベルとの差を算出する手段の一例であり、算出部の一例である。制御誤差・新目標値算出部1234は、出力PD・パワーモニタ・平均化処理部1232からモニタした信号の平均値を受信するとともに、演算部1126から信号状態情報を受信する。そして、信号状態情報に基づき信号の平均値を補正して出力側の光信号のピークレベルを求める。また、出力側の光信号のピークレベルと出力目標レベルの差を制御誤差(図3)として算出する。
制御誤差を用いて制御情報を更新する構成及び処理には、第1の実施の形態から第8の実施の形態で説明した構成及び処理を採用することができ、その説明及び図示を省略する。例えば、第3の実施の形態又は第4の実施の形態と同様に、更新情報記憶部220(図12、図20)と、書き込み更新部210(図12、図20)を配置して、制御情報を更新することができる。第5の実施の形態又は第6の実施の形態と同様に、更新情報記憶部430(図23、図50)と、テーブル検索部414(図23、図50)と、元データ展開作成部416(図23、図50)を配置して、制御情報を更新することができる。第7の実施の形態と同様に、更新情報記憶部560(図51)と、テーブル作成部554(図51)と、書き込み更新部418(図51)を配置して、制御情報を更新することができる。また、第8の実施の形態と同様に、LUT作成部610(図60)を介して制御情報を更新することができる。
入力側受信部1106と、入力側ADC114と、入力PD・パワーモニタ・平均化処理部404と、エッジ検出処理部406は、入力側モニタ回路1214を構成する。入力側モニタ回路1214は入力側の光パケット信号をモニタする。入力側モニタ回路1214は、パケット信号のビットレート以下の帯域であって、光パケット信号の入力もしくは出力、又はこれらの双方を捉える応答速度以上の帯域を持つ。光パケット信号の入力もしくは出力、又はこれらの双方を捉える応答速度は、例えば、パケット継続時間の逆数もしくはガードタイム領域の逆数、又はこれらのどちらか短い時間として表される。入力側モニタ回路1214は、このような帯域を有することにより入力側の光パケット毎にそのレベルを制御することができる。
出力側受信部1122と、出力側ADC116と、出力PD・パワーモニタ・平均化処理部1232と、制御誤差・新目標値算出部1234と、時刻調整部1236と、演算部1126は、出力側モニタ回路1238を構成する。出力側モニタ回路1238は、出力側の光パケット信号をモニタする。出力側モニタ回路1238は、パケット信号のピークレベルを捉える応答速度以上の帯域を持つ。パケット信号のピークレベルを捉える応答速度以上の帯域は、例えば、最も短いパケットの継続時間(最短パケット継続時間)の逆数もしくはパケットのガードタイムの逆数、又はこれらのどちらか短い時間として表される。出力側モニタ回路1238は、このような帯域を有することにより出力側の光パケットのピークレベルを捉えることができる。
その他の構成は、第5の実施の形態(図23等)と同様であるので、同一符号を付してその説明を省略する。
FF制御の周期(FF周期)は、例えば、ディジタル制御回路1206の動作クロックと同じ周期又は同程度の周期で動作する、このため、ディジタル制御回路1206の動作クロックの半分の周波数を有する信号レベルの変動であってもレベル制御が可能である。入力側の光パケット信号が、例えば図68のAに示すように変動し、動作クロックが図68のBに示す周期である場合、光パケット信号をFF制御できる。図68のBに示す矢印はディジタル制御回路1206の動作クロックを表し、隣り合う矢印の間隔は1クロックを表す。ディジタル制御回路1206の動作クロックは、図68のBに示すように、光パケット信号のON又はOFFの継続時間よりも十分に速い速度である。
一方、光パケット信号の変動は、FB制御の周期(FB周期)より早く変動するため、マイクロ秒以下の光パケット信号の平均値をモニタする。各FB周期Pe1 、Pe2 、Pe3 、Pe4 において、出力側PD112のモニタから得られる出力側のパワーモニタ値は、図68のCに示すように、1968、2800、3467、1520である。FB周期毎に行われるFB処理には、この出力側のパワーモニタ値が用いられる。尚、図68のDはFB処理の実行状態を示す。
〔レベル制御部の駆動〕
次に、レベル制御部の駆動について、図69、図70、図71を参照する。図69は、光パケット信号と駆動信号とモニタ値の関係の一例を示す図、図70は、第11の実施の形態に係るレベル制御システムの動作タイミングの一例を示す図、図71は、回線使用率に対するピークパワー補正係数の関係をグラフ化した一例を示す図である。尚、図69に示す関係、図70に示すタイミング、図71に示すグラフは一例であって、斯かる関係に本発明が限定されるものではない。また、図70では、時点T8から時点T9の間の駆動信号はOFFであるという前提において省略する。
連続信号(図25)を制御する場合、常に信号が存在し、信号の変動に休みがない。このため、光レベル制御部1204は、常に信号をレベル制御する。この場合、遅延クロックZ204によるタイミング調整は、図11に示すように、遅延線122による遅延時間Xと制御遅延時間Yが一致するようにする。
しかしながら光パケット信号は、連続信号とは異なり、信号レベルがゼロの領域が存在する。光レベル制御部1204に例えばSOAを用いて光パケット信号を制御する場合、SOAがASE(自然放出光雑音)を放出し、光パケット信号にASEが混入する可能性がある。そこでASEの混入を抑制するため、信号レベルがゼロになる状態が長時間継続する場合、SOA駆動を停止(OFF)させる。
更に、SOAを停止状態から駆動させるとき、SOAの増幅機能が不安定になる場合がある。この場合、遅延時間Xと制御遅延時間Yを一致させ、パケット信号の立ち上がり、もしくは立ち下がりエッジと駆動タイミングを一致させた場合、光パケット列の先頭ビットや最後尾ビットにおいて、出力レベルが不安定になる可能性がある。また、ジッタ等によりパケット信号の疎通を妨げる可能性がある。そこで、光パケット信号の先頭と後方に一定の時間のマージンを設定してSOAを駆動させ、出力させる光パケット信号の先頭及び後方が削られないようにする。即ち、光段(光パケット信号)のガードタイムと、電気段(SOA駆動信号)のガードタイムとを異ならせる。
入力側の光パケット信号は、例えば、図69のAに示すように変動する。この場合、記憶部206から出力する駆動信号は、図69のBに示すように光パケット信号の立ち上がり時点(t3、t7、t9、t13 、t17 、t22 、t24 )より早い時点で駆動信号をOFF信号からON信号に切換える(t2、t6、t12 、t16 、t21 )。これにより、光パケット信号が立ち上る前には立ち上がりマージンMu1 (t2-t3 間)、Mu2 (t6-t7 間)、Mu3 (t12-t13 間)、Mu4 (t16-t17 間)、Mu5 (t21-t22 間)を設ける。また、駆動信号は光パケット信号の立ち下がり時点(t4、t8、t10 、t14 、t19 、t23 、t25 )より遅れて駆動信号をON信号からOFF信号に切換える(t5、t11 、t15 、t20 、t26 )。これにより、光パケット信号の立ち下がり後に、立ち下がりマージンMd1 (t4-t5 間)、Md2 (t10-t11 間)、Md3 (t14-t15 間)、Md4 (t19-t20 間)、Md5 (t25-t26 間)を設ける。尚、光パケット信号の密度が高く、間隔が狭い場合(t8-t9 間、t23-t24 間)、立ち上がりマージンMuと、立ち下がりマージンMdが重複することになり、駆動信号のON信号を維持する。光パケット信号が立ち上る前及び立ち下がり後にマージンを設けることにより出力レベルの不安定、及びパケット信号の疎通を妨げることを抑制する。尚、マージンは光パケット信号と駆動信号の立ち上がり又は立ち下がりの時間差を表し各立ち上がりマージン間及び各立ち上がりマージン間でその値が異なる場合がある。そこで、特定の立ち上がりマージンを指さない場合は立ち上がりマージンMuと称し、特定の立ち上がりマージンを指す場合には、Muの後に番号を付して表す。また、特定の立ち下がりマージンを指さない場合は立ち下がりマージンMdと称し、特定の立ち下がりマージンを指す場合には、Mdの後に番号を付して表す。このマージンによりレベル制御における余裕時間を確保することができる。
マージンは、光パケット信号の立ち上がりを検出した場合の遅延クロックZの設定と、光パケット信号の立ち下がりを検出した場合の遅延クロックZの設定を別々に設定することができる。例えば、光パケット信号が立ち上る場合、例えば制御遅延時間Yの遅延量を、遅延時間Xと制御遅延時間Yが一致するクロックから1クロック少なくなるように設定する。また、光パケット信号が立ち下がる場合、例えば制御遅延時間Yの遅延量を、遅延時間Xと制御遅延時間Yが一致するクロックから1クロック多くなるように設定する。遅延クロックZ204の遅延量をこのように設定することで、ディジタル制御回路1206の1クロック分の立ち上がりマージン及び立ち下がりマージンを設定することができる。尚、マージンがクロック単位の調整であるため、各立ち上がりマージン及び立ち下がりマージンはクロック時間程度の値の差を生じる場合がある。
〔制御誤差の取得〕
FR処理によりLUTの更新を行うため、制御した信号のレベルと、目標出力レベルから制御誤差(図3)を算出する。光パケット信号の制御では、制御した信号のレベルとして、光パケット信号のピークレベルを使用する。このため、出力側受信部1122でモニタする信号レベルの平均値(P _ave.)の補正値を取得して、ピークレベルを得る。
例えばSOAを光レベル制御部1204に用いると、駆動によりASEを放出し、光パケット信号前後の立ち上がりマージンMu及び立ち下がりマージンMdの領域で光パケット信号にASEが混入する場合がある。光パケット信号に混入するASEが多い場合、図67に示すように、入力光1242は、パケット信号Pの信号であるのに対して出力光1244は、パケット信号Pの前後にASEを含む信号になる。出力側受信部1122では、ASEの混入により所定時間の間に検出する信号レベルの平均値が上昇するとともに1周期の間で値がゼロでない期間が長くなる。出力側受信部1122では、光信号における光パケット信号が占める比率、即ちパケット密度が大きくなったように観測される。即ち、駆動信号のON信号の出力範囲を、入力側の光パケット信号の立ち上がり及び立ち下がり端よりも広げた結果、出力側PD112では、入力側の光パケット信号よりも高い密度の信号をモニタすることになる。
ASEの混入がない場合、図68のAに示す光パケット信号の出力側のパワーのモニタ値は、図68のCに示すように、例えばそれぞれ1968、2800、3467、1520となる。これに対して、ASEの混入があると、図69のDに示すように、例えばそれぞれ2164、3080、3813、1672となり、ASEの混入分だけ値が大きくなる。パケット信号の見かけ上の密度を大きくするため、ピークレベルを求めるための補正値を駆動信号に基づいて算出する。補正値は、一定時間における信号状態情報のカウントと、信号比率の算出を経て算出する。
(1)一定時間の調整
ピークレベルは、信号レベルの平均値(P _ave.)と、この補正値から得られる。この場合、この平均値と補正値を、同一の入力光を対象として得るように、それぞれの取得時間の調整を行う。この調整は、例えば、FB周期の区切りを基準に行う。
駆動信号から計算したデューティ比の入力タイミングと、この駆動信号によりレベルを制御した信号の平均値の入力タイミングがずれる場合、時刻調整部1236が駆動信号の検出と出力側信号のモニタの間の時間差に基づいて、出力PD・パワーモニタ・平均化処理部1232から出力される信号の平均値の出力を待受けさせることにより、演算部1126がカウントした駆動信号の区間と出力側受信部1122がモニタする時間領域とを一致させる。一致した時間領域の信号の平均値を、演算部1126のカウント値に基づき補正することで、その区間のピークレベルが算出される。
FB周期の区切りが、図70のAに示すように時点T1と時点T11 にある場合、時点T1から時点T11 がFB周期の1周期となる。この1周期の間に、複数の光パケット信号が光レベル制御部1204を通過することになる。
演算部1126で確認される駆動信号は、図70のBに示すように、ON信号(T2-T4 間、T5-T6 間、T7-T8 間、T9-T10間)と、OFF信号(T1-T2 間、T4-T5 間、T6-T7 間、T8-T9 間、T10-T11 間)を繰り返す。この駆動信号に基づいて光レベル制御部1204が駆動され、記憶部206から出力する駆動制御量に基づいて光パケット信号のレベルが制御される。尚、T1、T2、・・・T12 は、各時点を表す。
出力側受信部1122が観測する出力側の光パケット信号は、光パケット信号の時間平均値として観測され、図70のCに示すように、その信号レベルは緩慢に変動する。SOA駆動信号と出力側受信部1122が観測するモニタ信号の間には、信号伝達に起因する時間差(ΔTr)が発生する。時点T2で演算部1126により観測された駆動信号は、その後、光レベル制御部1204に伝達する。そして、光パケット信号のレベル制御が行われ、時点T2' に出力側受信部1122により観測される。即ち、時点T2と時点T2' は対応し、出力側受信部1122では、時点T2と時点T2' の間の時間差(ΔTr)を以てモニタ信号の変動を観測する。同様に時点T4、T5、T6、T7、T8、T9、T10 は、時点T4' 、T5' 、T6' 、T7' 、T8' 、T9' 、T10'に対応する。これらの時点の時間差は、時点T2と時点T2' の間の時間差と同じ長さである。
このように、駆動信号の変動は、出力側受信部1122で観測する信号より先行する。このため、図70のDに示すように、時点T1及びT11 に発生するFB周期の区切りを表す信号から、遅れて、時点T3及びT12 にウエイト信号を発生する。FB周期の区切りを表す信号とウエイト信号の時間差(T3−T1)、(T12 −T11 )は同じ所定区間の入力光を対象として、補正値と信号レベルの平均値を算出するための調整時間であり、その時間の長さは同一である。ウエイト信号は時刻調整部1236により発生される。
(2)信号レベルの平均値(P _ave.)の算出
図70のEは出力側受信部1122によるモニタ周期を表す。モニタ周期A、B、C、・・・、X、Y、Zは任意に設定される。各周期の期間に観測されたモニタ信号の平均値は各周期の終了時点に出力PD・パワーモニタ・平均化処理部1232へ出力される。即ち、モニタ周期Bの平均値は、時点Tbに出力PD・パワーモニタ・平均化処理部1232へ出力される。同様に、モニタ周期C、D、E、・・・V、W、Xの平均値は、時点Tc、Td、Te、・・・Tv、Tw、Txに出力PD・パワーモニタ・平均化処理部1232へ出力される。尚、各モニタ周期の平均値は、出力側PD値の一例である。
図70のFは出力側PD112のモニタ値の平均化処理を表す。ウエイト信号が、図70のDに示すように、時点T3と時点T12 に発生する場合、信号レベルの平均値(P _ave.)は、時点T3と時点T12 の間に出力されるモニタ周期Bからモニタ周期Xの平均値(平均パワー)として算出する。このようにして算出することで、時点T1からT11 の間のFB周期に対応する、信号レベルの平均値(P _ave.)が得られる。
(3)信号状態情報のカウント
信号レベルの平均値(P _ave.)は、FB周期内を光パケットが占める割合(パケット密度)に応じて変化する。このため、補正値は遅延クロックZ204から出力される駆動信号の状態に関係する。光レベル制御部1204の駆動信号としてON信号、OFF信号が出力されるので、補正値はON信号の出力時間から求められる。図70のBの駆動信号では、ON時間は、時点T2-T4 間、T5-T6 間、T7-T8 間、T9-T10間となる。また、その他の時間はOFF時間となる。
図70のGは、駆動信号のON信号をカウントする際のカウントスタート及びカウント保持のタイミングを表す。カウントスタートは、駆動信号がOFF信号からON信号に変動する時点(時点T2、T5、T7、T9)に発生し、カウント保持は、駆動信号がON信号からOFF信号に変動する時点(時点T4、T6、T8、T10 )に発生する。これらの信号に基づいて、カウントスタートからカウント保持までの間のディジタル制御回路1206のクロック数がカウントされる。
図70のHは、クロック数のカウントをクリア(リセット)するタイミング、即ち、カウントの値をゼロに戻すタイミングを表す。カウントクリアは、FB周期の区切りを表す信号が発生する時間T1、T11 に合わせて行う。
図70のIは、駆動信号のON信号のカウント状態を表す。時点T1にカウントクリアの信号が発生すると、ON信号のカウントはその値が0に戻される。時点T1のカウントクリアから次のカウントクリアが発生する時点T11 の間、カウントのスタート及びカウントの保持が繰り返される。クロック数のカウントは、カウントがクリアされるまでの間、その数が積算される。尚、図70のIのカウントでは、時点T2からT4の間に150クロックがカウントされ、時点T5から時点T6の間に230クロックがカウントされ、時点T7から時点T8の間に70クロックがカウントされ、時点T9から時点T10 の間に450クロックがカウントされている。従って、時点T8から時点T9の間の駆動信号はOFF信号であるという前提において、時点T1から時点T11 に対応する1つのFB周期の間に合計900カウントされたことを表している。積算された900カウントは、時点T11 に発生するカウントクリアにより、ゼロに戻され、時点T11 以降、新たにカウントがスタートされる。斯かるカウントは、演算部1126により行われる。
図70のKは、駆動信号のON信号のカウント値を表す。図70のJに示すように、ラッチパルスが発生すると、パルス発生直前のカウント数が保持される。ラッチパルスはFB周期の区切りを表す信号が発生する時点T1、T11 に合わせて発生する。これにより、直前のFB周期におけるカウント数が、保持されることになる。時点T1にラッチパルスの発生を受け、時点T1の直前のカウント数、即ち300カウントがカウント値として保持される。また、時点T11 に次のラッチパルスの発生を受け、時点T11 の直前のカウント数、即ち900カウントがカウント値として保持される。尚、図70のKに示すカウント値は、FB周期におけるON信号のカウント値であって、信号状態情報を表している。そして、デューティ比の算出に用いられるデューティ比カウントである。
(4)パケット密度の算出
パケット密度は、パケット信号のデューティ比として、ON時間/(ON時間+OFF時間)で表される。この比率は、(ON信号のカウント数)/(FB周期の間の総カウント数)に置き換えることができる。駆動信号はディジタル制御回路1206自身が出力しているため、ディジタル制御回路1206の演算部1126では容易にON信号とOFF信号を確認でき、これらをカウントしてデューティ比を算出することが可能である。尚、ON時間はON信号が出力される時間であり、OFF時間はOFF信号が出力されている時間を表す。ある区間において、ONとOFFのカウントが同数であれば、その区間のデューティ比は1/2、即ち50%となる。
FB処理を一定周期で行うと、パケット密度の母数となるFB周期の間の総カウント数は一定になる。この場合、駆動信号がONの場合にカウントすればパケット密度が得られる。例えば、ディジタル制御回路1206が150MHzクロックでFB周期が1msの場合、FB周期の間の総カウント数は15万回となる。ON信号のカウント数値が900であれば、デューティ比は900を150000で割った値となり、比率は0.6%になる。
(5)ピークレベルの算出
出力側PD112の信号増幅のため、出力側受信部1122にログアンプ1222を使用する場合、ログアンプ1222から出力される信号の平均値P _ave.は、リニアな変化ではなく、例えば図7に示すように、対数(logarithm )の変化を示す。信号の平均値P _ave.の単位はdBmである一方、SOA駆動出力信号から算出したデューティ比はFB一周期の間にどの程度SOAをONしていたかを示すリニアな値となる。P _ave.(単位:dBm)とデューティ比(単位:%)から、ピークレベルを算出するには、式(20)に示すように、デューティ比を対数へ変換して、出力側のモニタ平均値P _ave.に加算する。尚、任意区間のピークレベル及び任意区間の出力側のモニタ平均値の単位はdBmである。また、10・log[1/デューティ比]の値を表したグラフを図71に示す。10・log[1/デューティ比]はピークパワーの補正係数を縦軸とし、回線使用率(パケット密度)を横軸とする対数関数となる。尚、信号のピークパワーはピークレベルの一例である。ピークレベルはピークパワーより広義を有し、ピークレベルにより表されるレベルがパワーレベルである場合をピークパワーと称する。尚、任意区間は例えば、各FB周期に対応する一定時間である。
任意区間のピークレベル
=任意区間の出力側のモニタ平均値+ 10・log[1/任意区間のデューティ比]
・・・(20)
デューティ比が10%の場合、10・log[1/デューティ比]=10 ・log[1/0.1 ]=10 dBmとなる。そこで、任意区間の出力側のモニタ平均値に10dBmを足すことで、任意区間のピークレベルを得ることができる。
デューティ比が20%の場合、10・log[1/デューティ比]=10 ・log[1/0.2 ]=6.98 dBmとなる。そこで、任意区間の出力側のモニタ平均値に6.98dBmを足すことで、任意区間のピークレベルを得ることができる。
デューティ比が50%の場合、10・log[1/デューティ比]=10 ・log[1/0.5 ]=3.01 dBmとなる。そこで、任意区間の出力側のモニタ平均値に3.01dBmを足すことで、任意区間のピークレベルを得ることができる。
〔制御誤差の算出及び目標出力レベルの設定〕
制御誤差(図3)は、算出した任意区間のピークレベル(dBm)と目標出力ピークレベル(目標出力レベル)(dBm)を比較して以下の式(21)で算出する。
任意区間の制御誤差(dB)
=目標出力ピークレベル(dBm)−任意区間のピークレベル(dBm)
・・・(21)
制御誤差(dB)が正の値であれば、出力レベルを増加させ、負の値であれば、出力レベルを減少させる。新しい目標出力とするピークレベルは、以下の式(22)で算出する。
新目標出力ピークレベル(dBm)
=現在の目標出力ピークレベル(dBm)+任意区間の制御誤差(dB)
・・・(22)
新しい目標出力ピークレベルが決定すれば、入力PD値と、これに対応する駆動制御量のテーブル(図16)から、決定した新目標出力ピークレベルに適合するテーブルを読み取り、LUT_A212及びLUT_B214の内、待機状態のLUTにデータを展開する。尚、入力PD値は例えば入力側受信部1106の出力値であり、駆動制御量は例えば駆動電流のDAC118への出力値である。
制御誤差を用いて制御情報を更新する構成及び処理には、第1の実施の形態から第8の実施の形態で説明した構成及び処理を採用することができ、その説明及び図示を省略する。例えば、第3の実施の形態又は第4の実施の形態と同様に、更新情報記憶部220(図12、図20)と、書き込み更新部210(図12、図20)を配置して、制御情報を更新することができる。第5の実施の形態又は第6の実施の形態と同様に、更新情報記憶部430(図23、図50)と、テーブル検索部414(図23、図50)と、元データ展開作成部416(図23、図50)を配置して、制御情報を更新することができる。第7の実施の形態と同様に、更新情報記憶部560(図51)と、テーブル作成部554(図51)と、書き込み更新部418(図51)を配置して、制御情報を更新することができる。また、第8の実施の形態と同様に、LUT作成部610(図60)を介して制御情報を更新することができる。尚、目標出力ピークレベルは目標出力レベル(図26のステップS113)の一例である。現在の目標出力ピークレベルは、FF制御を行っているLUTに設定されているテーブルの出力レベル値の一例である。また、新しい目標出力ピークレベルは出力目標レベル(図26のステップS113)の一例である。
次に、第11の実施の形態のレベル制御の処理について、図72を参照する。図72は、第11の実施の形態に係る出力目標レベル決定処理の一例を示すフローチャートである。図72に示すフローチャートにおいて、処理F1は、図26に示すフローチャートのステップS113からステップS115に代えて行う処理である。また、ステップS351からステップS353は、制御誤差と新目標値を算出する処理を表す。この実施の形態に係るレベル制御処理では、初期設定からFBループのON・OFFの判断までの処理(図26のステップS101〜S111)は第5の実施の形態と同様であり、その説明及び図示を省略する。また、テーブルのデータ書き込み更新からLUTフラグ更新までの処理(図26のステップS116、S117)も第5の実施の形態と同様であり、その説明及び図示を省略する。図72に示す処理は一例であって、斯かる処理に本発明が限定されるものではない。
出力側の光パケット信号を受信すると、受信した信号の平均化処理を行う(ステップS112)。この処理では、出力側PD112が出力側受信部1122のモニタ周期で受信した信号の平均値を出力する。この平均値は、ログアンプ1222により増幅され、出力側ADC116によりディジタル値へ変換される。出力PD・パワーモニタ・平均化処理部1232は、出力側ADC116により出力されるディジタル値を更にFB周期の平均値へ平均化する。このようにして、受信した光信号の平均値を得る。
出力PD・パワーモニタ・平均化処理部1232が出力する平均値は、PD値であるので、制御誤差・新目標値算出部1234によりパワー値への変換を行う(ステップS351)。変換により出力側PD値から出力パワーの平均値(単位:dBm)を得る。尚、出力パワーの平均値は、信号レベルの平均値(P _ave.)の一例であり、信号レベルが出力側のパワーを表す値を指す。
制御誤差・新目標値算出部1234は、信号状態情報を受け、出力パワーの平均値と信号状態情報からピークレベル値(単位:dbm)を算出する(ステップS352)。制御誤差・新目標値算出部1234が受け取る信号状態情報は、例えば、FB周期におけるON信号のカウント数を表すデューティ比カウントである。制御誤差・新目標値算出部1234は、デューティ比カウントと、FB周期の総クロック数からデューティ比を求め、このデューティ比を対数にしてピークレベルの補正値を算出する。そして、信号レベルの平均化のタイミングと駆動信号のON信号のカウントタイミングを合わせて、この補正値と、出力パワーの平均値から、ピークパワー値を算出する。
制御誤差・新目標値算出部1234は、目標出力レベルとピークパワー値との差(制御誤差)を算出して、その制御誤差に相当する量を現在の目標出力レベルに加算し、新たな目標出力レベルを算出する(ステップS353)。そして、設定する駆動制御量のテーブル検索及び検索した駆動制御量の設定(ステップS354)を行う。出力側PD値の代わりにピークパワー値を用いて制御誤差を算出する以外は、第5の実施の形態と同様でありその説明を省略する。このようにして、出力信号の平均値と信号状態情報を用いてLUTを更新する。
上記した第11の実施の形態について、特徴事項、利点又は変形例等を列挙する。
(1) 図70(E)に示す出力側受信部1122のモニタ周期は、その後の平均化処理によって値が平均化するため、光パケット信号のパケットの長さに対してほぼ同等の長さであってもよく、PDフロントエンド回路の応答速度に応じて、長くても短くても良い。
(2) SOAのようにASEを出力する機能デバイスを光レベル制御素子として用いる例について説明したがこれに限らない。可変減衰器のようにASEを出力しない機能デバイスを光レベル制御素子として用いる場合、マージンMu、Mdを0、又は光パケット信号の先頭及び後方が削られない程度に短い時間を設定して駆動信号を基にデューティ比を算出すればよい。マージンが小さいので、光パケット信号から得られるデューティ比と、駆動信号から得られるデューティ比の差は小さくなり、実際のピークレベルの近似値を得ることができる。
(3) 例えばレベル制御素子にSOAを用いた場合に、時間的にマージンを持って駆動信号を出力すると、その時間マージンだけ余分にASEを出力するため、入力側の光信号と出力側の光信号の信号レベルで見たときにデューティ比が変化する。そのため、FB処理において入力側の光信号から得られるデューティ比を用いる代わりに駆動信号から得られるデューティ比を用いることで、より誤差の少ない制御ができる。
(4) 検出の制度を高めるため、出力側PD112の応答速度を低速にし、検出した信号の時間平均した値を出力側ADC116へ出力する形態を用いた場合であっても、光パケット信号等の間欠信号のレベルを制御できる。光パケット信号の密度が低い場合又は信号の密度が変化する場合、信号レベルの平均値が、光パケット信号間のガードタイムの影響を受けることを抑える。光パケット信号がFB制御光パケット信号の強度より低い値として検出されたとしても、この値からピークレベルを求めることで、光レベル制御素子によりレベル制御した信号値が目標レベルより高い値になることを抑制する。
(5) 光パケット信号の周期が数十ナノ秒から数百ナノ秒である場合、出力側のPDモニタ回路にログアンプを用いても、信号のピークレベルを得ることができる。このため、出力側モニタ回路1238では、入力側モニタ回路1214と同じ高速タイプのアンプを用いてモニタする必要がない。このため、出力側の信号の監視精度を確保しつつ、出力レベルを長期に渡り、高精度で一定レベルに安定化させることができる。
(6) 光レベル制御部1204にSOA等を用いる場合、入力側受信部1106が観測するパケット信号のパケット密度と、出力側受信部1122が観測するパケット信号のパケット密度はその密度が異なることになる。そこで、出力側モニタ回路1238が観測する駆動信号のを捉えてパケット密度を計算する。出力側受信部1122が観測する光パケット信号の信号密度と一致させるので、入力信号との間に生じるパケット密度の相違の影響を抑制して、精度の高いFB処理を行うことができる。
(7) FB処理側で、駆動信号のデューティ比を用いて後段PDモニタ平均値からピークレベルを算出する処理をFB周期毎に繰り返し、一定時間おきに未使用のLUTへ更新し続けることにより、最新の状態でレベル制御が可能となる。このため、経年変化により損失が変化した場合、SOAの印加電圧と出力パワーの関係が変化する場合、また、パケット信号やバースト信号の回線密度が変化する場合でも、ピークレベルを算出することが可能となる。また、FB処理で得られる誤差を基にFF処理で最適な電圧を印加し続けることが可能となる。その結果、高速なレベル変動に対応しつつ、長期間に渡りその特性を維持し続ける高速レベル制御が可能となる。
(8) FB処理におけるLUTの更新作業は、図27に示すように、目標出力レベルとの差(制御誤差)を判断し、制御誤差が一定値を超えた場合のみ行っても良い(図27のステップS134のYES)。制御誤差が大きくなったと判断した場合のみLUTを更新すれば、LUTを更新する頻度は下がり、LUTを蓄積しておく媒体(この場合、レジスタやメモリ)の書き換え寿命を延ばすため、レベル制御回路の故障率を低下させることができる。
〔第12の実施の形態〕
第12の実施の形態について、図73を参照する。図73は、第12の実施の形態に係るレベル制御システムの一例を示す図である。尚、図73に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。図67と同一部分には同一符号を付してある。
光レベル制御部1204は、入力光1242のレベルを制御するため、例えば、駆動を行ってもASEを出力しない機能デバイス(ノイズレスデバイス)を用いる。このため、パケット信号Pを含む入力光1242のレベルを制御した場合、ASEを抑制した出力光1344が得られる。この場合、信号レベルの平均値からピークレベルを得る際に、入力側の光パケット信号の信号状態情報を用いる。
エッジ検出・カウント部1312は、間欠信号のエッジを検出するとともに、パケットのあり又はなしを判断して信号状態を演算する手段の一例である。エッジ検出・カウント部1312は、間欠信号のエッジ検出機能と、信号状態演算機能を有する。
エッジ検出・カウント部1312は、光パケット信号のモニタ値を受けると、この光パケット信号の立ち上がりエッジ、立ち下がりエッジを検出する。これらエッジを検出すると、入力PD・パワーモニタ・平均化処理部404へトリガ信号を出力する。尚、トリガ信号を受けた後に入力PD・パワーモニタ・平均化処理部404が行う処理は第5の実施の形態と同様でありその説明を省略する。
エッジ検出・カウント部1312は、光パケット信号の立ち上がりエッジから立ち下がりエッジまでを光パケットがある状態(光パケットあり)として検出し、立ち上がりエッジから立ち下がりエッジまでを光パケットがない状態(光パケットなし)として検出する。そして、光パケットがある状態をディジタル制御回路1306のクロック毎にカウントして、そのカウント数を制御誤差・新目標値算出部1334へ出力する。
光パケットがある状態をON状態と表し、光パケットがない状態をOFF状態と表すと、パケット信号の信号状態は、例えば、式(23)のように、光パケット信号においてON状態が占める比率R3 のようにして算出される。尚、比率R3 は、信号状態を表す信号状態情報の一例であり、ON状態とOFF状態の比率を表すON/OFFデューティ比である。尚、ON状態及びOFF状態は光パケット信号の状態を表す識別情報である。
比率R3 =(所定時間中のON状態の時間)/(所定時間) ・・(23)
ON状態の時間及び所定時間をディジタル制御回路1306のクロックのカウント数に置き換えて、この比率は、(ON状態のカウント数)/(FB周期の間の総カウント数)とすることができる。
エッジ検出・カウント部1312が演算した信号状態情報は、制御誤差・新目標値算出部1334へ出力され、この信号状態情報に基づきピークレベルが算出される。
入力側受信部1106と、入力側ADC114と、入力PD・パワーモニタ・平均化処理部404と、エッジ検出・カウント部1312は、入力側モニタ回路1314を構成する。入力側モニタ回路1314は、エッジ検出処理部406に代えてエッジ検出・カウント部1312を有する他は、第11の実施の形態の入力側モニタ回路1214(図67)と同様であり、その説明を省略する。
制御誤差・新目標値算出部1334は、出力PD・パワーモニタ・平均化処理部1232からモニタした信号の平均値を受信するとともに、エッジ検出・カウント部1312から信号状態情報を受信する。
時刻調整部1336は、信号伝達により生じる時間差を調整する手段の一例である。入力側PD110が受信した光パケット信号のエッジを検出するまでのタイミングと、入力側PD110が受信するタイミングの光パケット信号が出力側PD112へ到達してディジタル変換を介して電気波形が応答し終わるタイミングとの間には時間差が生じる。時刻調整部1336は、時間の遅延を調整する機能(ウエイト機能)を有し、この時間差を調整する。時刻調整部1336のウエイト機能により、エッジ検出・カウント部1312では、所定区間の入力光に基づく信号状態情報を得ることになり、出力PD・パワーモニタ・平均化処理部1232では、この所定区間の入力光のレベル制御後の信号レベル平均値を得る。即ち、信号状態情報の所定区間と、信号レベルの平均値の所定期間は、同じ所定区間の入力光を対象としたものにすることができる。
出力側受信部1122と、出力側ADC116と、出力PD・パワーモニタ・平均化処理部1232と、制御誤差・新目標値算出部1334と、時刻調整部1336は、出力側モニタ回路1338を構成する。信号状態情報を演算部1126に代えてエッジ検出・カウント部1312から受け付け、入力側の光パケット信号から時刻調整し、信号状態情報を得る他は第11の実施の形態の出力側モニタ回路1238(図67)と同様であり、その説明を省略する。
その他の構成は、第11の実施の形態と同様であるので、同一符号を付してその説明を省略する。
次に、入力側の光パケット信号のエッジ検出について、図74を参照する。図74は、第12の実施の形態に係るレベル制御システムの動作タイミングの一例を示す図である。尚、図74に示すタイミングは一例であって、斯かるタイミングに本発明が限定されるものではない。図70と同一部分には同一符号を付してある。また、図74では、時点TT8 から時点TT9 の間の光パケット信号はOFFであるという前提において省略する。
入力側の光パケット信号の立ち上がりのエッジ検出及び立ち下がりのエッジ検出には、入力側受信部1106によりモニタした信号を用いる。
入力側伝送路100に光パケット信号が入力されると、入力側モニタ回路1314は高速処理が可能なため、光パケット信号のON及びOFFに追従して応答する。エッジ検出・カウント部1312では、光パケット信号の立ち上がりエッジでパケット入力を捉え、立ち下がりエッジでパケット通過を捉える。光パケット信号のエッジを捉えることにより、パケット信号のON又はOFFが識別可能となり、ONレベル区間をカウントすることで、一定期間(FB一周期分)内のパケット密度(パケットデューティ比)を算出する。例えば、FB処理の1周期を一定期間に設定すると、FB周期毎のパケット密度を算出することができる。
〔制御誤差の取得〕
例えば、SOAのようにASEを出力する機能デバイスとは異なり、ASEを出力しない機能デバイス(ノイズレスデバイス)を光レベル制御素子として用いる。この場合、入力側の光パケット信号の立ち上がりに対して時間的なマージンMuを持たせて駆動信号をONさせ、入力側の光パケット信号の立ち下がりに対して時間的なマージンMdを持たせて駆動信号をOFFさせても、余分な光は出力されない。このため、光レベル制御素子の入力側の入力光1242と出力側の出力光1344は、光パケット信号のON/OFFデューティ比が一致し、変化することがない。そこで、入力側の光パケット信号から求められるONとOFFのデューティ比をピークレベルの算出に用いる。このデューティ比は、例えば、エッジ検出・カウント部1312のエッジ検出機能により、光パケット信号のエッジを検出し、信号状態演算機能により、光パケット信号のON状態が占める比率R3 を演算することにより得られる。
(1) 一定時間の調整
入力側の光パケット信号から計算したデューティ比の入力タイミングと、この光パケット信号によりレベルを制御した信号の平均値の入力タイミングがずれる場合がある、この場合、時刻調整部1336が光パケット信号の検出と出力側信号のモニタとの間の時間差に基づいて、出力PD・パワーモニタ・平均化処理部1232から出力される信号の平均値の出力を待受けさせる。そして、エッジ検出・カウント部1312がカウントした光パケット信号の区間と出力側受信部1122がモニタする時間領域とを一致させる。一致した時間領域の信号の平均値を、エッジ検出・カウント部1312のカウント値に基づき補正することで、その区間のピークレベルが算出される。
FB周期の区切りが、図74のAに示すように、時点TT1 (時点T1)と時点TT11(時点T11 )にある場合、時点TT1 から時点TT11がFB周期の1周期となる。この1周期の間に、複数の光パケット信号が光レベル制御部1204を通過することになる。
エッジ検出・カウント部1312で確認される入力側の光パケット信号は、図74のCに示すように、ON状態とOFF状態を繰り返す。立ち上がりのエッジ検出は、図74の)に示すように、光パケット信号が上限しきい値より低い信号レベルから高い信号レベルへ移動した際にエッジ検出パルスを出力することで行われる。図74のBでは、時点TT2 、TT5 、TT7 、TT9 に立ち上がりのエッジ検出パルスが出力される。立ち下がりのエッジ検出は、図74のDに示すように、光パケット信号が下限しきい値より高い信号レベルから低い信号レベルへ移動した際にエッジ検出パルスを出力することで行われる。図74のDでは、時点TT4 、TT6 、TT8 、TT10に立ち下がりのエッジ検出パルスが出力される。このように、エッジの検出を行うことで、光パケット信号のON状態(TT2-TT4 間、TT5-TT6 間、TT7-TT8 間、TT9-TT10間)とOFF状態(TT1-TT2 間、TT4-TT5 間、TT6-TT7 間、TT8-TT9 間、TT10-TT11 間)を確認することができる。尚、TT1 、TT2 、・・・TT12は、各時点を表す。
図74のBに示す入力側パケット信号の変動と図74のEに示す駆動信号との間には、信号伝達に起因する時間差(ΔTf)が発生する。また、駆動信号には、パケットの前後にマージンが設定されるため、信号の立ち上がり側の時間差(ΔTfu )は、時間差(ΔTf)より短くなり、信号の立ち下がり側の時間差(ΔTfd )は、時間差(ΔTf)より長くなる。立ち上がりのマージンの時間をMu、立ち下がりのマージンの時間をMdとすると、時間差ΔTfu 及びΔTfd は以下の式(24)、式(25)となり、ΔTfu <ΔTfd となる。尚、TT2-T2間、TT5-T5間、TT7-T7間、TT9-T9間の時間差は、ΔTfu を表し、TT4-T4間、TT6-T6間、TT8-T8間、TT10-T10間の時間差は、ΔTfd を表す。
ΔTfu =ΔTf−Mu ・・・(24)
ΔTfd =ΔTf+Md ・・・(25)
入力側光パケット信号の変動は、駆動信号の変動より先行する。また、駆動信号の変動は、出力側受信部1122で観測する信号より先行する(図70のB及びC)。このため、図74のFに示すように、時点TT1 及びTT11に発生するFB周期の区切りを表す信号から遅れて、時点TT3 及びTT12にウエイト信号を発生する。FB周期の区切りを表す信号とウエイト信号の時間差(T3−T1)、(T12 −T11 )は同じ所定区間の入力光を対象として、ディーティ比と信号レベルの平均値を算出するための調整時間であり、その時間の長さは同一である。ウエイト信号は時刻調整部1336により発生される。
(2) 信号レベルの平均値(P _ave.)の算出
図74のGは出力側受信部1122によるモニタ周期を表す。モニタ周期の設定及びモニタ信号の平均値の出力は、第11の実施の形態と同様でありその説明を省略する。
図74のHは出力側PD112のモニタ値の平均化処理を表す。時点TT3 と時点TT12との間に出力されるモニタ周期Bからモニタ周期Xの平均値(平均パワー)を算出する以外は第11の実施の形態と同様でありその説明を省略する。
(3) 信号状態情報のカウント
図74のIは、光パケット信号のON状態をカウントする際のカウントスタート及びカウント保持のタイミングを表す。カウントスタートは、光パケット信号がOFF状態からON状態に変動する時点(時点TT2 、TT5 、TT7 、TT9 )に発生し、カウント保持は、光パケット信号がON状態からOFF状態に変動する時点(時点TT4 、TT6 、TT8 、TT10)に発生する。これらの信号に基づいて、カウントスタートからカウント保持までの間のディジタル制御回路1306のクロック数がカウントされる。
図74のJは、クロック数のカウントをクリア(リセット)するタイミング、即ち、カウントの値をゼロに戻すタイミングを表す。カウントクリアは、FB周期の区切りを表す信号が発生する時間TT1 、TT11に合わせて行う。
図74のKは、光パケット信号のデューティ比のカウント状態を表す。時点TT1 及び時点TT11にカウントが0に戻され、時点TT1 のカウントクリアから次のカウントクリアが発生する時点TT11の間、カウントのスタート及びカウントの保持が繰り返される以外は第11の実施の形態と同様でありその説明を省略する。尚、図74のKのカウントでは、時点TT2 からTT4 の間に140クロックがカウントされ、時点TT5 から時点TT6 の間に220クロックがカウントされ、時点TT7 から時点TT8 の間に60クロックがカウントされ、時点TT9 から時点TT10の間に440クロックがカウントされている。従って、時点TT8 から時点TT9 の間の光パケット信号はOFF状態であるという前提において、1つのFB周期の間に合計860がカウントされたことを表している。このカウント数は、マージンを含まないため、間欠信号のカウント数(図70のI)に比べて小さくなる。積算された860カウントは、時点TT11に発生するカウントクリアによりゼロに戻され、時点TT11以降、新たにカウントがスタートされる。斯かるカウントは、エッジ検出・カウント部1312により行われる。
図74のMは、光パケット信号のON状態のカウント値を表す。図74のLに示すように、ラッチパルスが発生すると、パルス発生直前のカウント数が保持される。ラッチパルスはFB周期の区切りを表す信号が発生する時点TT1 、TT11に合わせて発生する。これにより、直前のFB周期におけるカウント数が、保持されることになる。時点TT1 にラッチパルスの発生を受け、時点TT1 の直前のカウント数、即ち250カウントがカウント値として保持される。また、時点TT11に次のラッチパルスの発生を受け、時点TT11の直前のカウント数、即ち860カウントがカウント値として保持される。尚、図74のMに示すカウント値は、FB周期におけるON状態のカウント値であって、信号状態情報を表している。そして、デューティ比の算出に用いられるデューティ比カウントである。
パケット密度の算出、ピークレベルの算出、制御誤差の算出、目標出力レベルの設定、及びLUTの更新は、第11の実施の形態と同様でありその説明を省略する。間欠信号の信号状態情報に基づいて出力側受信部1122で受信した信号のレベルの平均値を補正して、ピークレベルを得るので、間欠信号のレベル制御を行う場合のLUTの更新がより正確になる。これにより、光パケット、光バースト信号に対しても光パケット単位又は光バースト信号単位でのレベル調整が可能となり、強度の異なるパケット信号、バースト信号を一定強度に保つことができ、柔軟な光ネットワークの構成が可能となる。更には、光送信機の出力レベルの許容値や受信機の入力レベルの許容度を緩和することが可能となり、光パケット送受信機のコストを削減することも可能になる。また、光パケットや光バーストネットワークの厳密な光レベルダイヤ(level diagram )設計コストや運用コストの削減が想定される。
上記した第12の実施の形態について、特徴事項、利点又は変形例等を述べる。
ASEを出力しない機能デバイスを光レベル制御素子に用いる例について説明したがこれに限らない。例えば、ASEの発生量がパケット信号の出力に比べて小さい機能デバイスを用いる場合、入力側の光パケット信号に基づきピークレベルを算出しても、誤差が少ない。また、駆動開始から動作が安定するまでの時間が短いデバイスを用いて、マージンを短く設定する場合、入力側の光パケット信号に基づきピークレベルを算出しても、誤差が少ない。
〔第13の実施の形態〕
〔I〕 第13の実施の形態の背景
第13の実施の形態は、光パケット信号の疎密状態に依存することなく、かつ光パケット信号の入力レベルが変化しても、正確に出力レベル(波高値)を一定に制御し、正しい目標レベル(ピーク値)に制御可能なレベル制御回路を実現している。つまり、このレベル制御回路では、パケット状の信号密度や強度が変化する環境であっても、出力信号成分を常に一定の目標値に保ち、更には該目標値を一定に保つだけではなく、該目標値に引き込む制御を実現する。
この第13の実施の形態に係るレベル制御回路が解決しようとする課題を以下に列挙する。
(1) 入力パワーやパケット長がまちまちな光パケット信号が入力された場合、光出力ピークレベルの一定制御が重要である。
(2) ROMテーブルによるFF制御で高速性と、目標値と実際の出力レベルの差分を減らすFB制御の高精度化とを両立させる。
(3) 出力パワーは主信号パワーのほかに、ASE等のノイズが混入しているため、単純なAPC(Automatic Power Control:自動トータル出力パワー 一定制御)ではなく、ASE等のノイズ成分を除去した主信号パワー値を一定に制御するALC(自動出力レベル一定制御)を行うことが必要であり、重要であるが、その制御は困難である。
(4) 入力信号がパケット状でない連続光の場合、ASEパワー値は光増幅素子の制御量に比例するため、FB制御において、一定時間あたりの駆動電流値(平均値)を用いてASEパワーが算出される。これでは、入力光が高速パケット信号の場合、次の理由で正確なASEパワーを算出することができない。
(5) 入力パケット信号光にしめるASEパワー量を駆動電流値から導く際、駆動電流値とASE値の関係が非線形であるため、一定時間内の駆動電流平均値から正しいASEパワー量を求めることができない。
(6) 入力パケット信号の疎密状態(ONレベル状態又はOFFレベル状態)は変化するので、1つ1つのバースト信号のASEパワー値が得られたとしても、これらを個数で平均化しても正しいASEパワー量が得られない。
(7) 以上から光パケット信号のALC制御にはより高精度なASEパワー算出手段が必要となる。
斯かる課題に関し、信号成分のピークレベルの制御について、図75を参照する。図75は信号成分のピークレベルの制御を示している。
図75に示すように、実際の出力パワー(図75の(A))とともに、入力光パワーと駆動電流から逆算したASE量(図75の(B))を求める。このASE量を実際の出力パワーから減算し、純粋な信号成分のみの出力パワー(図75の(C))を求め、信号成分のピークレベルが一定となるように制御する。
次に、出力信号成分を常に一定の目標値に維持し、一定の目標値に引き込む制御について、図76を参照する。図76は入力信号光パワー、出力信号光パワー及びモニタ電気信号を示している。
図76の(A)に示す入力信号光パワーは、レベル制御を行う前の信号であるので、信号のレベルがパケット信号毎にばらついている。これに対し出力信号光パワーは、図76の(B)に示すように、光パケット信号の疎密状態に依存することなく、かつ光パケット信号の入力レベルが変化しても、正確に出力レベル(ASE成分Paseを除去した出力レベル。波高値。)Psig_out_pkを一定に制御し、正しい目標レベル(ピーク値)に制御可能なレベル制御回路を実現する。
信号は高速に変動を繰り返すため、出力側のPDモニタ回路でモニタされるモニタ電気信号は図76のCに示すように時間的に平均化された値がモニタされることになる。よって、この平均化された値を用いてPsig_out_pkを例えば100等の一定値に制御することを実現する。
これらの信号処理により、パケット状の信号密度や強度が変化する環境であっても、出力信号成分を常に一定の目標値に保ち、更には該目標値を一定に保つだけではなく、該目標値に引き込む制御を実現する。
次に、レベル制御について、図77を参照する。図77はレベル制御システムの基本構成の一例を示している。図77において図12及び図65と同一部分には同一符号を付してある。
入力側PD110では高速応答が可能なため、光パケット信号を識別可能である。一方出力側PD112は幅広い目標設定に対応するため、ダイナミックレンジを広く確保する必要があり、そのため、例えばログアンプを配置する。ログアンプでは周波数応答が低速なのでピークパワー(波高値)がモニタできず、時間平均された光強度しかモニタできない。そのため、ピークパワー(波高値)は光パケット信号間のガードタイムの影響を受けて変動する。つまり、回線使用率(パケット密度)によって、PDモニタ値が変化する。
このため、制御誤差・新目標値算出部208では、フィードバック制御を担当する出力側PD112で得られるモニタ信号が光パケット密度によって影響を受け、このため、誤った目標値に設定されるおそれがある。
次に、デューティ比(パケットのON/OFF比)によるモニタ値の変化について、図78を参照する。図78において図68と同一部分には同一符号を付してある。
入力側の光パケット信号が、例えば図78のAに示すように変動し、動作クロックが図78のBに示す周期である場合、光パケット信号をFF制御できる。一方、光パケット信号の変動は、FB制御の周期(FB周期)より早く変動するため、マイクロ秒以下の光パケット信号の平均値をモニタすることになる。各FB周期Pe1 、Pe2 、Pe3 、Pe4 において、出力側PD112のモニタから得られる出力側のパワーモニタ値は、図78のCに示すように、1968、2800、3467、1520である。このように光パケット信号のピークレベル(波高値)が一定であるにも関わらず、パケット密度によってモニタ値が変化し、モニタ値をそのままレベルの制御に用いると、誤った目標値に制御されることになる。
次に、PDフロントエンドをログアンプで構成した場合について、図79を参照する。図79はPDフロントエンドをログアンプで構成した場合の出力波形を示している。
図79の(A)は1〔マイクロ秒〕周期の入力の入力光波形LW1と、その場合の出力電気波形EW1を表している。図79の(B)は10〔マイクロ秒〕周期の入力の入力光波形LW10と、その場合の出力電気波形EW10を表している。図79の(C)は100〔マイクロ秒〕周期の入力の入力光波形LW100と、その場合の出力電気波形EW100を表している。
このように、光パケット信号が高速になればなるほど、出力電気波形は、時間平均化され、出力側でピークパワー(波高値)のモニタが困難になる。
光通信に用いる実際の光パケット信号について、パケット長及びガードタイムは次の通りである。
(a) パケット長:数十〔ナノ秒〕〜1 〔マイクロ秒〕
(b) ガードタイム: 数ナノ〔秒〕 〜 数十〔ナノ秒〕
従って、出力側PD112にログアンプを用いた場合には、正確にピークパワーを観測することができない。
次に、光レベル制御素子(SOA)とASEノイズパワーの非線形性について、図80を参照する。図80は光レベル制御素子(SOA)の駆動電流値に対するASEノイズパワーを示している。
このように、光レベル制御素子(SOA)の駆動量に対し、ASEノイズパワーは非線形性を有している。このため、全領域において、光レベル制御素子(SOA)駆動電流値がN倍になれば、ASEノイズパワーもN・K倍にはならない。しかも、線形(比例)関係にはないので、光増幅素子駆動量(駆動電流値)の平均値からASEノイズパワーの平均値を求めると、ASEノイズパワーの平均値に誤差が生じることになる。
次に、レベル制御システムについて、図81及び図82を参照する。図81はレベル制御システムの構成例、図82はFB制御部の構成例を示している。
このレベル制御システム2002では、既述した図77及び図81に示すように、光レベル制御素子104として、半導体光増幅器(SOA)のみならず、その他のLNや強誘電体など電気光学効果や磁気光学効果を用いた光レベル制御素子が用いられている。斯かる構成では、SOA特有のASE成分を除去する処理が重要である。
レベル制御システム2002では、光強度を可変する光レベル制御素子104の入力側に遅延線122を配置し、光レベル制御素子104への入力光を制御遅延時間よりも十分長い時間に遅延させる。この遅延線122は、光遅延素子として、例えば光ファイバー等が用いられる。このレベル制御システム2002は、遅延線122の入力側に入力側光カプラ106を配置し、入力側光カプラ106により入力光を分岐している。一方の入力光は遅延線122に入力される、他方の入力光は入力側PD110に入力される。
入力側PD110は例えば入力側の光パケット信号(入力光)を受けて光パケット信号を電気信号に変換する。アンプ2012はこの電気信号を受けて増幅する。そして、入力側ADC114は、アンプ1012で増幅した電気信号を受け、アナログ値からディジタル値へ変換して入力側PD値としてディジタル制御回路2006へ出力する。尚、入力側PD110と、アンプ2012は、入力側受信部1106を構成する。なお、入力側PD値はレベル制御前の第1の入力信号の信号レベルの一例である。
アンプ2012は、入力側PD110から出力される信号を増幅する手段の一例であり、例えば、入力側増幅部である。アンプ2012として、例えば、リニアオペアンプを用いることができる。アンプ2012は、増幅した信号を入力側ADC114に向けて出力する。
入力側PD値は、ディジタル制御回路2006の記憶部206に入力される。記憶部206では、入力側PD値に基づいてLUT_A212又はLUT_B214を参照して駆動制御量として例えばDAC値を生成して出力する。
このレベル制御システム2002は、光レベル制御素子104の出力側に出力側光カプラ108を配置し、出力側光カプラ108により出力光を分岐している。一方の出力光はレベル制御システム2002の外部に向け出力される。例えば、レベル制御システム2002を図61に示すレベル制御ユニット702として構成すると、一方の出力光は、このレベル制御ユニット702から外部に出力される光となる。他方の出力光は出力側PD112に入力される。
出力側PD112は、出力側の光パケット信号(出力光)を受けてこの光パケット信号を電気信号に変換する。アンプ2022はこの電気信号を受けて増幅する。そして、出力側ADC116は、アンプ2022で増幅した電気信号を受け、アナログ値からディジタル値へ変換して出力側PD値として、ディジタル制御回路2006へ出力する。尚、出力側PD112及びアンプ2022は、出力側受信部1122を構成する。なお、出力側PD値は第2の入力信号の信号レベルの一例である。
アンプ2022は、出力側PD112から出力される信号を増幅する手段の一例であり、例えば、出力側増幅部である。アンプ2022は増幅した信号を出力側ADC116に向けて出力する。出力側受信部1122では、出力信号のレベルを高精度でモニタするため、速度よりも分解能を重視する。このため、アンプ2022には、例えば、増幅の正確性が高い利点を有するログアンプをフロントエンド回路に採用する。
ディジタル制御回路2006のFB制御部2008は、情報更新部6の一例であって、例えば、出力側PD値に応じて記憶部206の制御情報を更新する。FB制御部2008は、出力PD・パワーモニタ・平均化処理部408と制御誤差・新目標値算出部412を含んで構成する。図82に示すFB制御部2008は、処理部408と算出部412に加え、テーブル検索部414と元データ展開作成部416と書き込み更新部418を含んで構成される。そして、更新情報記憶部430へ情報を送信し、更新情報記憶部430に情報を受信することにより、FB制御部2008は、第5の実施の形態と同様に構成される。出力PD・パワーモニタ・平均化処理部408、制御誤差・新目標値算出部412、テーブル検索部414、元データ展開作成部416、書き込み更新部418及び更新情報記憶部430は、第5の実施の形態と同様であるのでその説明を省略する。
光レベル制御素子104として、増幅の際にASE等のノイズ成分を発生させる素子、例えば、SOA等の素子を用いると、光レベル制御素子104から出力される光信号には、ASE等のノイズが含まれることになる。そこで、FB制御部2008の制御誤差・新目標値算出部412は、既述の機能の他に、光レベル素子104が光を増幅する際に発生させるノイズを除去する機能(ノイズ除去機能)を有して例えば制御情報算出部を構成し、ノイズを除去する処理を行う。そして、出力ピークパワーを一定にするのではなく、ノイズ成分を差し引いて、信号成分のみの出力ピークパワーを一定にするようにする。
既述のように、このレベル制御システム2002では、光強度を可変する光レベル制御素子の手前に制御遅延よりも十分長い光遅延素子(光ファイバ)を配備する。電気遅延量をコントロールできる機能が具備され、実際の制御遅延時間と遅延線(光ファイバ)を通過する時間との遅延時間の誤差をディジタル制御回路2006の遅延機能により補う構成である。その上で、フィードバック(FB)制御の正確性と、フィードフォワード(FF)制御の高速性を両立させるため、フィードフォワード制御で使用する「入力信号強度 対 駆動電圧(電流)値」の関係を保持するLUT(Look Up Table )を2面以上具備し、フィードバックで得られる情報を元に、LUT未使用面(B面)に対して新目標出力値のテーブルを展開する機能を具備する。未使用面(B面)へのテーブル展開が終了次第、使用面(A面)と切り替え、再度、FB制御で得られる情報を元に、今度は未使用面となったA面に対してテーブル更新を繰り返し行う機能を有する。
その際、FB側では、SOA駆動電流の時間平均値から出力したASEノイズパワー量平均値を求め、そのASEノイズパワー量平均値を用いて、制御誤差の算出、新目標値の算出を行っていた。しかし、光パケット信号のレベル制御を行う場合、SOA駆動電流はパルス駆動となり、必ずしも時間平均されたASEノイズパワー量が正しい値を取るとは限らない。図80に示すように、駆動電流値がN倍になったからとはいえ、ASEノイズパワーもそれに比例してN・K倍になるわけではない。つまり、駆動電流とASEノイズパワーは線形関係にはないので、駆動電流平均値からASEノイズパワー平均値を算出することはできず、誤差が生じる。従来は時間平均化された駆動電流値を元に、ASEノイズパワーを算出して、出力目標値へ引き込みフィードバック処理を行っているため、誤差が生じる。
以上のように、光パケット信号に対して、出力レベルを安定化させるレベル制御回路において、回線使用率(駆動デューティ比)やPDモニタ回路の応答速度などに影響を受けることなく、常に正しいピークレベル(時間平均化されたレベルではない)に安定化させることを課題としている。
次に、レベル制御の処理について、図83を参照する。図83は、制御誤差・新目標値算出処理の一例を示すフローチャートである。図83に示すフローチャートにおいて、処理F3は、例えば図26に示すフローチャートのステップS113からステップS115に代えて行う処理である。また、ステップS601からステップS605は、ノイズを除去する処理を含む。初期設定からFBループのON・OFFの判断までの処理(図26のステップS101〜S111)は、例えば第5の実施の形態と同様に処理すれば良く、その説明及び図示を省略する。テーブルのデータ書き込み更新からLUTフラグ更新までの処理(図26のステップS116、S117)は、例えば第5の実施の形態と同様に処理すれば良く、その説明及び図示を省略する。図83に示す処理は一例である。入力PD・パワーモニタ・平均化処理部404を省略し、図26に示すステップS102を省略してもよい。ディジタル制御回路2006に入力PD・パワーモニタ・平均化処理部404を設けて第5の実施の形態と同様にステップS102を行うように構成してもよい。
出力側の光パケット信号の出力側PD値を受信すると、受信した信号の平均化処理を行う(ステップS112)。この処理では、出力側PD112が出力側受信部1122のモニタ周期で受信した信号の平均値を出力する。この平均値は、アンプ2022により増幅され、出力側ADC116によりディジタル値へ変換される。出力PD・パワーモニタ・平均化処理部408は、出力側ADC116により出力されるディジタル値を更にFB周期の平均値へ平均化する。このようにして、受信した光信号の平均値を得る。
出力PD・パワーモニタ・平均化処理部408が出力する平均値は、PD値であり、AD変換した値(ADC値)であるので、制御誤差・新目標値算出部412により出力側PD値を平均出力パワー値[dBm]へ変換する(ステップS601)。平均出力パワー値[dBm]は、出力パワーの平均値である。なお、平均出力パワーの平均値は、信号レベルの平均値(P_ave.)の一例であり、信号レベルが出力側のパワーを表す値を指す。
制御誤差・新目標値算出部412は、駆動制御量として例えば駆動電流値の平均値を受け、平均出力パワー値と駆動電流値の平均値からASE成分を除去する(ステップS602)。制御誤差・新目標値算出部412は、信号状態情報として、SOA駆動出力又はパケット信号のデューティ比カウントを受け、平均出力パワー値とデューティ比カウントからピーク出力レベル値[dBm]を算出する(ステップS603)。デューティ比カウントは、例えば、FB周期におけるON信号のカウント数を表すデューティ比カウントである。この場合、制御誤差・新目標値算出部412はデューティ比カウントと、FB周期の総クロック数からデューティ比を求める。SOA駆動出力のON信号のカウント数は、例えば、第11の実施の形態と同様に構成して、記憶部206からDAC118へ向けて出力される信号を取得してカウントすればよい。また、パケット信号のON信号のカウント数は、例えば第12の実施の形態と同様に構成して、入力側PD110が受信した光パケット信号を基にしてカウントすればよい。デューティ比はデューティ比カウントとFB周期の総クロック数から求められる。
制御誤差・新目標値算出部412は、目標出力レベルと、ノイズの除去によりノイズを含まないピーク出力レベル(主信号ピークレベル)との差(制御誤差)を算出して、その制御誤差に相当する量を現在の目標出力レベルに加算し、新たな目標出力レベルを算出する(ステップS604)。そして、設定する駆動制御量のテーブル検索及び検索した駆動制御量の設定(ステップS605)を行う。出力側PD値の代わりにピークパワー値を用いて制御誤差を算出する以外は、例えば第5の実施の形態と同様に行うことができ、その説明を省略する。このようにして、出力信号の平均値と信号状態情報を用いてLUTを更新する。
次に、ASE成分の成分除去の制御についてより理解を助けるために図84を参照する。図84は、ASE成分を除去して制御誤差を得る処理の一例を示すフローチャートである。図84に示すフローチャートは、図83のフローチャートのASE成分の除去及び制御誤差の算出に対応する。図84のステップS621は、ステップS601(図83)に対応し、図84のステップS622及びステップS623は、ステップS602(図83)からステップS604の制御誤差を算出するまでの処理(図83)に対応している。なお、図84に示す各ブロック(S621、S622、S623、2010、2016)は制御誤差・新目標値算出部412の機能を表している。図84に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。
出力側PD値の平均値(出力PD平均値)ADCout_PDk[DEC]は、一処理区間内での出力PDモニタの時間平均値であって、平均化処理(図83のステップS112)により得られる。この出力PD平均値は、例えば式(26)を用いて得る。なお、出力PDモニタ積算値は、FB処理周期の間、出力PD値を積算して得られる出力PD値のモニタ積算値である。出力PDモニタ積算回数は、出力PD値を積算した区間、即ち既述のFB処理周期区間内で出力PD値の積算を行った回数であり、出力PD値のモニタ積算回数である。なお、[DEC]は、値が10進数(Decimal)で表現した値であることを表している。
出力PDモニタの時間平均値(出力PD平均値)
=出力PDモニタ積算値/出力PDモニタ積算回数・・・(26)
出力側PD値を平均出力パワー値[dBm]へ変換する(ステップS621)。この処理では、式(26)で得た出力PD平均値から平均出力パワーLtotal_outk(単位:[dBm])へ変換する(ステップS621)。平均出力パワーLtotal_outk[dBm]は更にリニアな値(リニア値)[mW]へ変換し、平均出力パワーPtotal_outk[mW]を得る。そして、Ptotal_outk[mW]を用いてピーク出力レベルPsig_outk[mW]を算出する。
ステップS621において、信号回線の使用の割合を表す回線使用のデューティ比を積算して、この回線使用デューティ比を考慮してPsig_outk[mW]を算出する。この場合、Psig_outk[mW]は、以下の式(27)及び式(28)により得ることができる。なお、ONレベルカウント数は、FB周期におけるON信号のカウント数であって、制御回路を通過するパケット信号のON信号、即ちパケット信号数を所定の間隔でカウントした数である。FB周期の総カウント数はFB周期における信号の総カウント数であって、例えばON信号のカウント数とOFF信号のカウント数の総和である。また、FB周期は、ディジタル制御回路2006に設定されるフィードバック処理周期の分周比率設定に基づいて設定されるフィードバック処理周期Peから取得される。
Psig_outk[mW]=Ptotal_outk[mW]×Duty比の逆数 ・・・(27)
Duty比の逆数=FB周期の総カウント数/ONレベルカウント数・・・(28)
回線使用デューティ比を考慮しない場合及び回線使用デューティ比が1の場合、Psig_outk[mW]はPsig_outk[mW]=Ptotal_outk[mW]として算出される。
ASE成分を除去し、主信号成分のみのピークレベル値を算出する処理(ステップS622)には、ピーク出力レベルPsig_outk[mW]と、ASEの平均パワーPase[mW]が用いられる。1フィードバック区間におけるASEの平均パワーPase[mW]は、ノイズに関する情報、即ちノイズ情報の一例であって、例えば駆動電流値平均値[DEC]−ASEパワー対応テーブル2010を用いて得られる。この駆動電流値平均値[DEC]−ASEパワー対応テーブル2010は、例えば「駆動電流値平均値[DEC] 対 ASEパワー(装置出力換算値[mW])対応数表」である。この駆動電流値の平均値は、DACtotal_avek「DEC」で表される値であって例えば、記憶部206からDAC118へ向けて出力される駆動電流値を取得して求められる。この駆動電流値平均値DACtotal_avek「DEC」は、1フィードバック区間における時間平均として算出される。駆動電流値平均値[DEC]−ASEパワー対応テーブル2010を用いると、駆動電流値平均値DACtotal_avek「DEC」からこの電流値平均値に対応するASEの平均パワーPase[mW]を得ることができる。駆動電流値の平均値は、1フィードバック区間における平均値であるので、得られるASEパワー値は、1フィードバック区間におけるASEの平均パワーとなる。なお、1フィードバック区間は1FB処理周期の期間に相当する。
駆動電流値平均値[DEC]−ASEパワー対応テーブル2010について図85を参照する。図85に示す駆動電流値平均値[DEC]−ASEパワー対応テーブル2010は、駆動電流値の平均値DACtotal_avekの格納領域2012と、ASEの平均パワーPase[mW]の格納領域2014を備えて形成される。DACtotal_avekの格納領域2012には、DACtotal_avekの値の最小値0から最大値DAmaxとして例えば511までの数値が格納される。Pase[mW]の格納領域2014には、DACtotal_avekに対応してPase[mW]の値が格納されている。そこで、DACtotal_avekが決定されると対応するPase[mW]の値が決定可能になる。この駆動電流値平均値[DEC]−ASEパワー対応テーブル2010には、駆動電流値のディジタル的な離散値が記録されている。一定区間の駆動電流を平均した結果、その駆動電流値の平均値がこのテーブルに存在しない場合、この存在しない駆動電流値の平均値の最寄りの駆動電流とPase[mW]のテーブルから、比による線形補間で、Paseを算出する。即ち、指定したDACtotal_avekの値がDACtotal_avekの格納領域2012にない場合には、格納されている値の中から指定したDACtotal_avekより大きく且つ最小の値DAuと指定したDACtotal_avekより小さく且つ最大の値DAdを設定する。そして、値DAuと値DAdに対応するPase値2つと、指定したDACtotal_avekの値により、補完処理を行って、指定したDACtotal_avekに対応するPase値を算出すればよい。補完処理には、比による線形補間を用いることができる。例えば、値DAuと値DAdに対応し、指定したDACtotal_avekに対する最寄りのPase値2つの間を仮想的に直線で結ぶ。値DAuと指定したDACtotal_avekの相違量と値DAdと指定したDACtotal_avekの相違量とを用いて、既述の仮想直線を分割して、指定したDACtotal_avekに対応するPase値を算出すればよい。
ASE成分除去後のピーク出力レベルPsig_out_pk[mW]は、式(29)により求める。これにより、ピーク出力レベルPsig_outk[mW]からASE成分を除去し、主信号成分のみを算出する(ステップS622)。なお、ASE成分除去後のピーク出力レベルPsig_out_pk[mW]は、ASE成分を含まない主信号のピークレベル(主信号ピークレベル)である。
Psig_out_pk[mW]=Psig_outk[mW]−Pase[mW] ・・・(29)
次に、目標出力レベルが主信号ピークレベルと一致するように制御するため、DAC値のFB成分を算出する(ステップS623)。即ち、目標出力レベル(目標出力ピークレベル)Psig_set[mW]と主信号ピークレベルとの差制御誤差)を式(30)により求める。なお、目標出力レベルPsig_setは、例えば、図86に示すように算出して設定する。即ち、目標出力レベルPsig_setは、式(31)のように設定する。
制御誤差=Psig_set[mW]−Psig_out_pk[mW] ・・・(30)
但し、Lsig_setは、目標信号出力パワー(目標出力パワー)[dBm]を表し、この目標信号出力パワーは装置出力での値として設定する。
このようにして、制御誤差を得た後、制御誤差をdBで表示した誤差ΔP[dB]を求める。この誤差ΔP[dB]を用いることで、この誤差ΔP[dB]が一定の誤差値以下に収束するように、記憶部206に格納されているSOAの電流テーブル、即ち、LUT_A212及びLUT_B214の更新が行われる。なお、更新を行うか否かの判断のため、例えば図86に示す上限閾値Psig_upper及び下限閾値Psig_lowerを設定する。即ち上限閾値Psig_upper及び下限閾値Psig_lowerは、以下の式(32)、式(33)で算出して設定する。
但し、Laccuは、目標信号出力パワーのFB制御の精度を表し、その精度は±(プラスマイナス)Laccu[dB]となる。
そして、テーブルを更新する条件として、テーブル更新条件を設定し、テーブル更新条件に従って更新するか否かを判断する。テーブルを更新する場合は、目標レベル、例えばLUT_A212及びLUT_B214のデータをオフセットして疑似的にテーブルをスライドさせることができる。以下の(1)、(2)及び(3)は、テーブル更新条件の一例である。
(1) Psig_lower<Psig_out_pk<Psig_upperの場合、テーブルを更新しない。即ち、テーブルを保持する。
(2) Psig_out_pk<Psig_lowerの場合、誤差ΔPの絶対値、即ち、|Psig_set−Psig_out_pk|だけ値を増加させるようにテーブルをスライドさせる。
(3) Psig_upper<Psig_out_pkの場合、誤差ΔPの絶対値、即ち、|Psig_set−Psig_out_pk|だけ値を減少させるようにテーブルをスライドさせる。
図84に示すASE成分を除去する処理手順では、駆動電流値の平均値を用いてASEの平均パワーPase[mW]を求める。ピーク出力レベルPsig_outk[mW]からASE成分を除去し、主信号成分のみを算出する。そして目標出力レベルと主信号成分の差分を誤差ΔPとして求め、更新によるテーブルの変更量を決定している。即ち、ASE成分を除去した主信号成分Psig_out_pk[mW]を用いてテーブルを更新するので、FB処理後の主信号成分レベルを目標出力レベルに制御することができる。
このレベル制御システム2002では、光増幅器の駆動量の平均値から、ASEノイズパワーの平均値を求めている。ASE成分を差し引いて、信号成分のみの出力ピークパワーを算出しているものの、ASEノイズパワーの平均値に誤差が生じることになる。ただし、光増幅素子駆動量の平均値から、ASEノイズパワーの平均値を求めると、FB制御の1周期に対して例えば1回ほどASEノイズパワーの平均値を求めればよく、作業負荷を削減できる利点がある。
以上述べた課題を以下に要約して列挙する。
(1) 出力ピークパワーを一定にするだけでなく、ASE成分を差し引いて、信号成分のみの出力ピークパワーを一定にする。
(2) 図76に示すように、入力ピークレベルが異なる信号が入力された場合、出力ピークレベルを一定にする処理であれば、Pase+Psig_out_pkのTotal powerを一定に制御すれば良い。しかし、この処理では必要なPsig_outpkのレベルが変動し、受信品質が不安定になる。そこで、入力レベルに応じて駆動電流を変化させ、これにより必然的にASEノイズパワーPaseが変化するが、Paseの変動分も踏まえて、信号成分Psig_out_pkを一定に制御する。
(3) 出力PDモニタで、図76の(C)に示すように、時間平均されたTotal powerの波形しか取得できない場合にも、図76の(B)に示すように、Psig_out_pkを一定に保つ制御を行う。回線使用密度(デューティ比)が変化すると、時間平均化された出力パワーしかモニタできない状態となるが、この状態において、ASE成分を削除し、信号成分のピークパワーのみを一定レベルに制御する。
〔II〕第13の実施の形態
斯かる課題を解決した第13の実施の形態のレベル制御回路について、図87を参照する。図87は第13の実施の形態に係るレベル制御システムの一例を示す図である。なお、図87に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。既述の実施形態に係る構成図と同一部分には同一符号を付してある。
図87に示すレベル制御システム2032では、高精度に出力レベルを安定化させることを目的とし、ASE成分除去処理をより改善したものである。このレベル制御システム2032では、光レベル制御素子104として、ASEノイズパワーを出力するSOAを例示しているが、これに限定されるものではない。
上記実施の形態で既述した通り、ディジタル制御回路にてカウントした駆動信号のON/OFF時間比率(デューティ比)と出力側PD値を積算し時間平均した値をもとにFB制御部にて、新目標値を算出し、LUTを更新する。ただし、ここで重要となるのが、ASEパワー算出部2042である。LUTは、ある一定周期(フィードバック処理周期)ごとに更新される。つまり、フィードバック処理周期単位でいかに正確にASEパワーを算出し、出力PDモニタ積算値から差し引くかが課題である。ASEパワー算出部2042において、ある一定周期(フィードバック処理周期)の区間内の正確なASEノイズパワーが積算されていれば、出力PD値積算部2038で積算された出力パワーからASE成分を減算することで正しい目標信号出力レベルが算出可能となる。
第13の実施形態では、SOA等の光レベル制御素子104から出力される光信号に含まれるノイズを除去する機能(ノイズ除去機能)を有し、ノイズを除去する処理を行う。そして、出力ピークパワーを一定にするのではなく、ノイズ成分を差し引いて、信号成分のみの出力ピークパワー(主信号ピークレベル)を一定にするようにする。
出力PD値積算部2038は、ディジタル制御回路2036に入力される出力側PD値を積算する手段の一例であり、積算部を構成する。出力PD値積算部2038は、出力側PD値を出力側ADC116から受け、フィードバック処理周期の間に受けた出力側PD値をモニタして積算する。出力PD値積算部2038は、出力側PD値をモニタしたモニタ値を積算して、出力PDモニタ積算値MVとしてFB制御部2040に向け出力する。また、出力PD値積算部2038は、モニタ値を積算した周期区間内でモニタ値を積算した回数をカウントし、その積算した回数を、出力PDモニタ積算回数MNとしてFB制御部2040に向け出力する。
ASEパワー算出部2042は、ノイズ除去の関連情報(ノイズ情報)を算出する手段の一例であり、Duty比計測部(デューティ比計測部)2044と、ASEパワー積算部2046を備える。ASEパワー算出部2042は、例えばFF制御側と同一周期又はFF制御側とほぼ同一周期で動作して、信号処理を行う。
Duty比計測部2044は、間欠信号におけるONレベル信号が占める時間割合を計測する手段の一例であり、比率計測部を構成する。Duty比計測部2044は、入力側ADC114から出力される入力側PD値を受け、入力光がONレベルの信号、即ちHighレベルの信号か、OFFレベルの信号、即ちLOWレベルの信号であるかを判断する。Duty比計測部2044は、また、記憶部206から出力される駆動制御量を受けて光レベル制御素子104をON又はOFFさせる信号から信号レベルのON又はOFFを判断してもよい。Duty比計測部2044は、例えばFF制御処理の周期、即ちFF周期を用いて、FF周期区間内のONレベルの信号回数を積算してFB制御部へそのONレベルのカウント数を出力する。ONレベルのカウント数がDuty比の算出に用いられる数値であって、Duty比計測情報の一例である。
ASEパワー積算部2046は、光レベル制御素子104の駆動制御量からノイズ量を積算する手段の一例であり、ノイズ積算部の一例である。ASEパワー積算部2046は、記憶部206からDAC118へ向けて出力される出力信号として、例えばDAC値を取得して、例えば、FF周期ごとにASEパワーの積算値を逐次算出する。なお、ASEパワーは、ノイズ量及びノイズ情報の一例である。
FB制御部2040は、情報更新部6の一例であって、例えば、出力側PD値に応じて記憶部206のLUTを更新する。また、FB制御部2040の制御誤差・新目標値算出部412は、ノイズを除去する機能(ノイズ除去機能)を有して例えば制御情報算出部を構成し、ノイズを除去する処理を行う。そして、出力ピークパワーを一定にするのではなく、ノイズ成分を差し引いて、信号成分のみの出力ピークパワーを一定にするようにする。FB制御部2040の構成は、既述の図82に示すFB制御部2008と同様でありその説明を省略する。FB制御部2040では、出力PD値積算部2038から出力側PD値の情報を受け、ASEパワー算出部2042からONレベルのカウント数CN及びASEパワー積算値PVを受ける。そして、FB制御部2040では、出力側PD値の情報、ONレベルのカウント数CN及びASEパワー積算値PVを基にして、LUTの更新を行う。
ONレベルのカウント数CNと、ASEパワーの積算値PVを算出するため、図88に示すASEパワー算出部2042は、立ち上がりエッジ/立ち下がりエッジ検出部2048(以下、「エッジ検出部2048」と称する。)と、DAC−ASEテーブル2050を有する。光信号入力として入力側PD値の入力を受けると、エッジ検出部2048は、入力側PD値の立ち上がりエッジと立ち下がりエッジを検出する。エッジ検出部2048は、例えば、第5の実施の形態に係るエッジ検出処理部406と同様の機能を有し、同様の処理を行うことにより、エッジを検出することができる。
ASEパワー算出部2042は、記憶部206からDAC118へ向けて出力されるDAC値を取得する。そして、FF処理周期毎にDAC値を積算して、その積算値を求める。DAC−ASEテーブル2050は、例えばSOA駆動量−ASE量テーブルであって、例えば図89に示すDAC−ASEテーブル2050のように構成されている。DAC−ASEテーブル2050は、SOAの駆動量としてDAC値の格納領域2052と、ASEの量を表すASE量[mW]の格納領域2054を備えて形成される。DAC値の格納領域2052には、DAC値の最小値0から最大値DACmaxとして例えば4095までの数値が格納される。ASE量[mW]の格納領域2054には、各DAC値に対応するASEの量が格納されている。そこで、DAC値が決定されると対応するASE量が決定可能になる。DAC値として例えば、SOAの駆動電流値を格納する場合、SOAの駆動電流値とASE量の関係は、図80に示すSOAの駆動電流値に対するASEノイズパワーの関係となる。なお、この場合ASEノイズパワーはASE量に相当する。
その他の構成は既述のレベル制御システム2002と同様であるのでその説明を省略する。
次に、FB制御の処理手順について、図90を参照する。図90は、FB制御の処理手順の一例を示すフローチャートである。このFB制御の処理は、本開示のレベル制御方法及びレベル制御プログラムの一例であって、斯かる構成に本発明が限定されるものではない。尚、図90に示す処理手順は、FB制御部2040で実行される処理手順の一部であり、図26に示すFB処理(ステップS113からステップS117)のうち、ステップS113からステップS115に代えて実行される処理である。
図81に示すレベル制御システム2002と同様に、ON/OFF時間比率(デューティ比)と出力PD値を積算し時間平均した値をもとにFB制御部にて、新目標値を算出し、LUTを更新する。なお、この実施の形態では、エッジ検出部2048で光信号入力を検出して、ONレベルカウント数CNを計算し、FB制御部2040でデューティ比を算出する。また、ある一定周期としてフィードバック処理周期ごとに更新されるLUTをフィードバック処理周期単位で精度良く又は正確に更新するため、ASEパワー算出部2042がASEパワーを算出している。ASEパワー算出部2042において、ある一定周期の区間内の正確なASEノイズパワーが積算されていれば、出力PD値積算部2038で積算された出力パワーからASE成分を減算することで正しい目標信号出力レベルが算出可能となる。
FB制御の処理(FB処理)が開始されると、FB制御部2040は、出力PD値積算部2038から出力PDモニタ積算値MVと、出力PDモニタ積算回数MNを受ける。出力PDモニタ積算値MVは、フィードバック処理周期の間、出力PDモニタ値を積算した値であり、出力PDモニタ積算回数MNは、出力PDモニタ積算値MVの積算にあたり、その周期区間内で何回積算したかを表す回数である。そして、一処理区間内での出力PDモニタの時間平均値は、式(34)のようにして求める。このようにして出力PDの時間平均値を算出する(ステップS701)。
出力PDモニタの時間平均値(出力PD平均値)
=出力PDモニタ積算値/出力PDモニタ積算回数 ・・・(34)
式(34)で得た出力PD平均値から平均出力パワーLtotal_outk[dBm]へ変換する(ステップS702)。この変換には、変換パラメータ(α、β、γ及びδ)(図94)を用いる。平均出力パワーLtotal_outk[dBm]は更にリニアな値(リニア値)[mW]へ変換し、平均出力パワーPtotal_outk[mW]を得る。Ptotal_outk[mW]を用いてピーク出力レベルPsig_outk[mW]を算出する。なお、平均出力パワーLtotal_outk[dBm]は、レベル制御システムから外部へ出力する信号のパワー(装置出力パワー)を表している。
ピーク出力レベルPsig_outkを算出するため、ASEパワー算出部2042からONレベルカウント数CNを受け、このカウント数CNをFB周期の総カウント数で割って信号密度(Duty比)を算出する(ステップS703)。なお、FB周期は、ディジタル制御回路2006に設定されるフィードバック処理周期の分周比率設定に基づいて設定されるフィードバック処理周期Pe(図94)から取得される。信号密度の算出式は、例えば式(35)で表される。
信号密度=ONレベルカウント数/FB周期の総カウント数 ・・・(35)
ピーク出力レベルPsig_outkは、平均出力パワーPtotal_outkにDuty比の逆数を掛け、式(36)のようにして算出する(ステップS704)。
Psig_outk[mW]=Ptotal_outk[mW]×Duty比の逆数 ・・・(36)
次に、ASEパワー算出部2042からASEパワー積算値PVを取得して、1フィードバック区間におけるASE平均パワー(ASEパワー平均値)Pase[mW]を算出する(ステップS705)。ASEパワー平均値は例えば式(37)により求める。即ち、ピーク出力レベルの算出には、フィードバック周期よりも十分速い制御回路のクロック単位、例えばFF周期で積算したONレベルカウント数CNを用いている。また、ピーク出力レベルの算出には、ONしているときに駆動電流出力した値を元にDAC−ASEテーブル2050から算出したASEパワー[mW]を逐次積算し、フィードバック周期の期間内に積算したASEパワー積算値[mW]を用いている。ピーク出力レベルは、ONレベルカウント数CNと、ASEパワー積算値PV[mW]であらわされる。なお、ASEパワー平均値Paseを算出した後には、ONレベルカウント数CNとASEパワー積算値PVをクリアにして、値0をセットする。
Pase[mW]=ASEパワー積算値[mW]/ONレベルカウント数
・・・(37)
ONレベルカウント数CNと、ASEパワー積算値PV[mW]から算出したASEパワー平均値Pase[mW]を用いて、ピーク出力レベルからASE成分を除去する(ステップS706)。ASE成分を除去したピーク出力レベルPsig_out_pk[mW]を式(38)により算出する。これにより、ピーク出力レベルPsig_outk[mW]からASE成分を除去し、主信号成分のみの主信号ピークレベルを算出する。
Psig_out_pk[mW]=Psig_outk[mW]−Pase[mW] ・・・(38)
ASE成分を除去したピーク出力レベルPsig_out_pkを算出すると、得られたASE成分除去後のピーク出力レベルPsig_out_pk[mW]が目標出力ピークレベルと一致するように制御する。この場合、ASE成分を除去したピーク出力レベルを用いて目標信号出力レベルと主信号ピークレベルとの制御誤差算出、出力目標レベルの算出(ステップS707)を行う。目標出力ピークレベルPsig_set[mW]との制御誤差は、以下の式(39)により求める。
制御誤差=Psig_set[mW]−Psig_out_pk[mW] ・・・(39)
この制御誤差をdBで表示した誤差ΔP[dB]が一定の誤差値以下に収束するように、記憶部206に格納されているSOAの電流テーブル、即ち、FF制御側のLUT(LUT_A212及びLUT_B214)の更新を行うようにする。誤差がプラスかマイナスかによって、ルックアップテーブル(LUT)から参照する値を増やすか減らすか、LUT参照値が異なる。制御誤差算出、出力目標レベルの算出(ステップS707)、及び駆動制御量のテーブル検索及び駆動制御量の設定(ステップS708)は、例えば、第5の実施形態におけるFB処理と同様に行うことができる。即ち、第5の実施の形態と同様に、目標出力レベルとの差を算出し、出力目標レベルを決定する処理及び更新情報記憶部から出力目標レベルに近いテーブル値を検索する処理を行えばよい。これらの処理は図26中のステップS113とステップS115に対応するのでその説明を省略する。斯かる処理の後、出力目標レベルのテーブルを作成する処理(図26のステップS116)以降の処理をFB制御部で実行して、LUTの更新が行われる。
制御誤差ΔP[dB]の大小によってLUTを更新する処理は、既述の実施の形態と同様に制御誤差の大小に関係なく定期的に行っても良いし、誤差がある一定値を超えた場合のみ行っても良い。制御誤差が大きくなったと判断した場合のみLUTを更新すれば、LUTを更新する頻度は下がり、LUTを蓄積しておく媒体、例えばレジスタやメモリの書き換え寿命を延ばすため、制御回路の故障率低下にもつながる。
このように、Psig_out_pk[mW]を用いて制御することにより、レベル制御後の主信号のピークレベルを目標出力ピークレベルに制御できる。
次に、ONレベルカウント数CN及びASEパワー積算値PVを算出する処理手順について図91を参照する。図91は、ONレベルカウント数及びASEパワー積算値の算出処理手順の一例を示すフローチャートである。この算出処理は、本開示のレベル制御方法及びレベル制御プログラムの一例であって、斯かる構成に本発明が限定されるものではない。
ONレベルカウント数CN及びASEパワー積算値PVを算出する処理手順は、ASEパワー算出部2042において実行される。斯かる処理は、例えば制御回路(ディジタル制御回路2036)のクロック単位、即ちフィードフォワード周期毎に1回実行する。即ち、「FF制御 START」から「END」までの処理が、各フィードフォワード周期で実行され、繰り返される。なお、フィードフォワード周期での実行は一例であり、この周期に限定されるものではない。「FF制御 START」から「END」までの処理が、FB処理に対して十分早い速度で実行され、繰り返されればよい。このASEパワー算出処理は高速で行うため、例えばファームウェアを介さずにすべてハードウェアで実現する。即ち、ASEパワー算出部2042は例えばハードウェアで構成してハードウェアのクロック単位で斯かる処理を実行する。
FF制御処理を開始すると、先ず、1つ前の周期(前周期)の光のレベルがONレベルであったか、OFFレベルであったかを判断する(ステップS721)。前周期の光のレベルがONレベルである場合(ステップS721のON)、立ち下がりのエッジの検出を判断する(ステップS722)。立ち下がりのエッジが検出される場合(ステップS722のYes)、この周期では、信号レベルがOFFであるのでこの処理を終了する。立ち下がりのエッジが検出されない場合(ステップS722のNo)、この周期では、信号レベルがONであるので光増幅素子制御量(DAC値)の取得処理(ステップS724)に進む。
前周期の光のレベルがOFFレベルである場合(ステップS721のOFF)、立ち上がりのエッジの検出を判断する(ステップS723)。立ち上がりのエッジが検出されない場合(ステップS723のNo)、この周期では信号レベルがOFFであるのでこの処理を終了する。立ち上がりのエッジが検出される場合(ステップS723のYes)、この周期では、信号レベルがONであるので光増幅素子制御量(DAC値)の取得処理(ステップS724)に進む。
信号レベルがONである場合(ステップS722のNo及びステップS723のYes)、記憶部206からDAC118へ向けて出力される信号を検出し、この検出した信号レベルから、光増幅素子制御量(DAC値)を取得する(ステップS724)。
DAC値とASEの関係を記したDAC−ASEテーブル2050より、DAC値に対応するASEパワー量を取得し(ステップS725)、この取得したASEパワー量をASEパワー積算値PVへ積算する(ステップS726)。そしてONレベルカウント数を+1にして(ステップS727)、処理を終了する。この処理を繰り返すことで取得したASEパワー量PVが積算され、ONレベルカウント数CNが加算される。値の積算及び加算は、FB制御部2040がASEパワー平均値(ONレベル平均値)を算出するタイミングで、FB制御部2040がONレベルカウント数CNとASEパワー積算値PVを取得するまで行われる。そして、FB制御部2040がONレベルカウント数CNとASEパワー積算値PVを取得した後これらの値をクリアし、ゼロにセットする。
このようにDAC値に対応するASEパワー量が、FB処理より十分に早い例えばFF制御の処理速度で取得され、このASEパワー量を積算してASEパワー積算値とするので、例えばFB処理周期でASEパワー量を換算する場合に比べて、より正確なASEの平均パワー値を得ることができる。
次に、ASEパワー平均値Pase[mW]の算出について図92及び図93を参照する。図92及び図93はASEパワー平均値の算出に関するタイミングチャートの一例を示す図である。図93は図92に関連する図であって、図92の(B)に示す光入力パケット信号を処理するタイミングを表している。図93に図示した信号の処理は、SOA駆動時間のタイミングに基づいて行われる。図92及び図93の相互の関連を明らかにするため、図92及び図93の双方にSOA駆動時間のタイミングを図示する。なお、図92及び図93に示すタイミングは一例であって、斯かるタイミングに本発明が限定されるものではない。
図92の(A)に示すFB周期では、FB制御の周期の例として、フィードバック周期が例えば10〔ミリ秒〕に設定されて動作している。そしてフィードバック周期の間に、レベル及び長さの異なる光パケット信号が入力されている。図92の(A)におけるFB周期では、時刻TM10及び時刻TM40の間が1周期となっている。この1周期の間であって、時刻TM20及び時刻TM30には、パケット信号が通過している。図92の(B)に示す光パケット信号は、時刻TM20に通過したパケット信号及び時刻TM40に通過したパケット信号をそれぞれ拡大した図である。図92の(B)に示す光パケット信号は、遅延線122を通過する前の信号、即ち、遅延前の信号である。時刻TM20に通過したパケット信号は、上限しきい値を超える2つのパケット信号、(ON信号)からなる。第1のパケット信号は、時刻TM21に上限しきい値を超えて立ち上がり、時刻TM22に下限しきい値以下に立ち下がる。第2のパケット信号は、時刻TM23に上限しきい値を超えて立ち上がり、時刻TM24に下限しきい値以下に立ち下がる。時刻TM30に通過したパケット信号は、上限しきい値を超える1つのパケット信号、(ON信号)からなる。このパケット信号(第3のパケット信号)は、時刻TM31に上限しきい値を超えて立ち上がり、時刻TM32に下限しきい値以下に立ち下がる。このような光入力パケット信号が入力された場合、ASEパワー算出部2042では、図92の(C)に示すエッジ検出レベル信号を検出することになる。エッジ検出レベル信号は、第1のパケット信号、第2のパケット信号及び第3のパケット信号に対応して、信号レベルが変動する。エッジ検出レベル信号は、時刻TM21に発生する立ち上がりのエッジ検出パルスにより信号が立ち上がり、高い信号レベルを維持した後、時刻TM22に発生する立ち下がりのエッジ検出パルスにより信号が立ち下がる。エッジ検出レベル信号は、時刻TM23に発生する立ち上がりのエッジ検出パルスにより信号が立ち上がり、高い信号レベルを維持した後、時刻TM24に発生する立ち下がりのエッジ検出パルスにより信号が立ち下がる。エッジ検出レベル信号は、時刻TM31に発生する立ち上がりのエッジ検出パルスにより信号が立ち上がり、高い信号レベルを維持した後、時刻TM32に発生する立ち下がりのエッジ検出パルスにより信号が立ち下がる。
入力PD側のエッジ検出部2048において、光パケット信号の入力をとらえると、光パケット信号が検出されている区間は光パケット信号を疎通させるため、SOAをONにする。その際、入力パワーをモニタし、光パケット信号を遅延させている間に、LUTを参照して目標出力ピークレベルを得るためのSOA駆動量を算出し、SOAへ所定の駆動電圧(電流)を印加する。図92の(D)に示すSOA駆動時間は、このようにしてONにされたSOAの駆動時間を表している。SOA駆動時間は、SOAの駆動制御量の生成のため、エッジ検出レベル信号から遅れて信号が変動する。信号の立ち上がりは、例えばΔTfu遅れ、信号の立ち上がりは、例えばΔTfd遅れる。ΔTfuとΔTfdの差は、マージンを設けたことによる差である。マージンについては、第11の実施の形態と同様であり説明を省略する。図92の(D)に示すSOA駆動時間は、時刻TM'21に駆動を開始し、時刻TM''22に駆動を停止する。SOA駆動時間は、時刻TM'23に駆動を開始し、時刻TM''24に駆動を停止する。SOA駆動時間は、時刻TM'31に駆動を開始し、時刻TM''32に駆動を停止する。このSOAの駆動時間の間、SOAはASEを放出することになる。ASEの放出は、駆動の準備を行うwait時間(ΔTfuとΔTfdの差であって、時刻TM'22−時刻TM''22間、時刻TM'24−時刻TM''24間、時刻TM'32−時刻TM''32間の時間に相当する時間)も含めて放出される。
図92の(B)に示す光パケット信号は、遅延線122により遅延され、図92の(E)に示す光パケット信号はSOA駆動時間とほぼ一致する。よって、レベル制御処理後の信号は、図92の(F)に示すように、光出力パケット信号のように、ASEノイズを含む出力信号となる。
フィードフォワード周期はフィードバック周期に比べて十分速く、例えば数〔ナノ秒〕程度である。図93の(G)に示す矢印は、FF制御の周期を表している。なお、FF制御の周期は所定の周期で連続的であり、図93の(G)では、その一部を省略して図示している。FF制御の周期は例えば20〔ナノ秒〕であり、これは、ASEの積算周期に対応している。
図93の(H)に示すSOAの駆動量は、SOAの駆動時間のそれぞれに対して積算されている。図93の(D)に示すように、第1のパケット信号に対する駆動時間が160〔ナノ秒〕であり、積算周期が20〔ナノ秒〕である場合、ONレベルのカウント数CNは、図93の(K)に示すように8〔回〕になる。第2のパケット信号に対する駆動時間が80〔ナノ秒〕であり、積算周期が20〔ナノ秒〕である場合、ONレベルのカウント数は、図93の(K)に示すように4〔回〕になる。第3のパケット信号に対する駆動時間が2500〔ナノ秒〕であり、積算周期が20〔ナノ秒〕である場合、ONレベルのカウント数は、図93の(K)に示すように125〔回〕になる。第1のパケット信号に対する駆動量、第2のパケット信号に対する駆動量、第3のパケット信号に対する駆動量は図93の(H)に示すように、例えば、それぞれ2500[DEC]、3500[DEC]、1000[DEC]である。この駆動量は、例えば、一つのSOA駆動時間の間変わらない値となっている。この場合、DAC−ASEテーブル2050で駆動量をASE量に変換すると、例えば図93の(J)に示すASE量[mW]のように、ASE量はそれぞれA[mW]、B[mW]、C[mW]のようになる。このASE量は、1回分の駆動制御量の変換量を表している。一つのSOA駆動時間の間で、SOAの駆動量が一定であると、ASE量も一定になる。なお、この変換は、ハードウェア上で行うと、例えば、2CLK(約10〔ナノ秒〕)で処理できる。また、SOA駆動量は、ディジタル量であって、例えば、0から4095までの値である。
図93の(L)に示すASEパワー積算値[mW]は、Pase_totalの値であり、ASE量とONレベルカウント数とを掛けた値に等しくなる。第1のパケット信号に対する積算値、第2のパケット信号に対する積算値は、例えば、A[mW]×8[回]、B[mW]×4[回]のようになる。また、第3のパケット信号に対する積算値はASEパワー積算値が例えば、C[mW]×125[回]となる。図93の(H)に示すSOA駆動量、図93の(J)に示すASE量及び図93の(K)に示すONレベルカウント数CN中の縦線は、ディジタル制御回路の1クロックをイメージとして図示したものであって、1クロック又は数クロック単位で駆動量を取得し、又はASE量を積算していることを表している。また、1クロック又は数クロック単位でONレベルをカウントしていることを表している。
FB周期におけるASEパワーの平均値は、ASEパワーの積算値PVをONレベルの回数で割った値となる。図93の(M)に示すASEパワー平均値[mW]では、Pase_ave={(A[mW]×8[回])+(B[mW]×4[回])+(C[mW]×125[回])}÷(8+4+125)となる。
光パケット信号が継続している区間は、入力PDモニタ側のエッジ検出部2048で検出可能であるため、その区間は制御回路自身がSOAへどの程度の時間(何クロック分)印加したかを把握できる。また、SOA駆動量も同時に把握できる。したがって、SOA駆動量(DAC)−ASEテーブル2050を用いてSOA駆動量をASE量に変換することが可能である。この変換を行うことで、10〔ミリ秒〕のフィードバック期間内に、どの程度のASEが出力されたかを、フィードフォワード周期単位で積算したASE量(ASEパワー積算値[mW])で把握することが可能である。また同時に10〔ミリ秒〕のフィードバック周期内で何クロックONにしたか、ONレベルカウント数CNも把握することが可能である。それらの値を1フィードバック区間内で積算し、計算することにより、そのフィードバック区間内で出力されたASEパワー平均値Paseが算出可能となる。この処理ではONレベルカウント数によってデューティ比が加味されているため、計算処理上、回線使用デューティ比(ON/OFF比)を使用せずに計算を行う。
次に、ASE成分を除去して制御誤差を得る処理について、図94を参照する。図94は既述のFB制御の処理手順(図90)の理解を助けるため、各処理、各機能又は各構成要素の関連が表されている。図94に示す制御誤差・新目標値算出部412では、出力PD値積算部2038から出力PDモニタ積算値MV及び出力PDモニタ積算回数MNを取得し、ASEパワー算出部2042からONレベルカウント数CN及びASEパワー積算値PVを取得している。そして、制御誤差・新目標値算出部412は、既述のステップS701からステップS707の各処理を行う各機能(機能部)を有して、ASE成分を除去して制御誤差を得ている。即ち、制御誤差・新目標値算出部412は、出力PDの時間平均値を算出する(S701)、平均出力PD算出部、平均出力パワー値へ変換する(S702)、平均出力パワー変換部、信号密度を算出する(S703)、信号密度算出部を備える。また、ピーク出力レベルを算出する(S704)、ピーク出力レベル算出部、ASEパワー平均値を算出し、カウント数と積算値をリセットする(S705)、平均ASEパワー算出部及びリセット部を備える。また、ASE成分を除去する(S706)、ASE除去部と、制御誤差を算出する(S707)、誤差算出部とを備える。そして、予めディジタル制御回路2036設定されているFB制御用のDuty比閾値とDuty比を比較して、Duty比が閾値以下である場合には(ステップS741のYes)、SOA電流テーブル更新を行わずに処理を終了する。Duty比が閾値以下でない場合には(ステップS741のNo)、SOA電流テーブルの更新、即ち既述のLUTの更新処理を行う。
第13の実施の形態では、既述の構成を備えて既述の処理を行うことにより、第13の実施の形態の背景で説明した課題を解決している。
第13の実施の形態は、既述の目的に加え、光パケット信号の疎密状態や入力レベルに影響を受けることなく目標ピークレベルに出力を安定化させることを第3の目的とする。そして、上記実施の形態の効果に加え、つぎの効果が得られる。
(1) 光パケット、光バースト信号に対しても、光パケット単位または光バースト信号単位でのレベル調整が可能となり、より高精度に出力レベルを目標値へ安定化させることが可能となり、受信特性の安定性・信頼性の向上につながる。その結果、より柔軟な光ネットワークの構築が可能となる。
(2) 光送信機の出力レベル許容値や受信機の入力レベル許容値を緩和することが可能となり、光パケット送受信機のコストを削減することも可能となる。
(3) 光パケットや光バーストネットワークの厳密な光レベルダイヤ設計を不要化することに寄与し、ネットワーク設計コストや運用コストを削減することができる。
(4) 光パケット信号の疎密状態や入力レベルに影響を受けることなく目標ピークレベルに出力を安定化させることができる。
〔第14の実施の形態〕
次に、第14の実施の形態について図95及び図96を参照する。図95は、第14の実施の形態に係るFB制御の処理手順の一例を示すフローチャート、図96は、ASE成分を除去して制御誤差を得る処理の一例を示すフローチャートである。このFB制御の処理及びASE成分を除去して制御誤差を得る処理は、本開示のレベル制御方法及びレベル制御プログラムの一例であって、斯かる構成に本発明が限定されるものではない。
この実施の形態では、第13の実施の形態と同様の構成、即ち図87に示すレベル制御システムを構成している。第13の実施の形態では、制御回路のクロック周期(フィードフォワード周期)でASEパワーを積算し、ASEパワー積算値PVを求めている。そのため、ASE積算処理を制御回路のクロック周期(フィードフォワード周期)と同じ速度で動作させている。この実施の形態では、ASEパワー算出部2042がクロック周期よりも十分に遅い周期、例えば、フィードバック処理と同じ周期でASEパワーの平均値を求めるようにする。ASEパワー算出部2042がクロック周期よりも十分に遅い周期であるので、ASEパワー算出部2042はハードウェアのみならずファームウェアであってもよい。また、処理速度を要求しないため、様々な実現形態が可能になり、実装が容易である。この実施の形態では、ASEパワー算出部2042は、SOA駆動電流積算値SV及びSOA駆動電流積算回数SNを生成し、Duty比計測部2044では、Duty比カウンタ値CVを生成する。SOA駆動電流積算値SVは積算値及び駆動制御量の積算値の一例であり、SOAに対する駆動電流を積算した値である。SOA駆動電流積算値SVは、SOA駆動ON・OFF状態とSOA駆動電流値をフィードバック処理周期の区間だけ積算することで求める。SOA駆動電流積算回数SNは、積算回数及び駆動制御量の積算回数の一例であり、SOA駆動電流積算値SVにおけるSOA駆動電流の積算回数である。そして、SOAに対する駆動電流の積算を1パケットについて1回行う場合において、SOA駆動電流積算回数SNは、SOA駆動電流のパケット処理数を表す。なお、1パケットにつき1回の処理頻度は一例であって、その他の頻度で積算するようにしてもよい。Duty比カウンタ値CVは、カウンタ値の一例であり、記憶部206からDAC118へ向けて出力される信号(DAC値)におけるDAC設定値がONになっているカウント数である。このDuty比カウンタ値CVは、例えば一FB周期の間でONになっているカウント数(ONレベルカウント数)である。FB制御部2040は、SOA駆動電流積算値SV、SOA駆動電流積算回数SN及びDuty比カウンタ値CVを用いてFB制御を行う。
図95に示すFB制御は、FB制御部2040が実行する。FB制御部2040は、出力PD時間平均値を算出する(ステップS801)。出力PDモニタ値の平均化処理は式(40)を用いて算出し、例えば1フィードバック区間を単位として1フィードバック区間ごとに行う。
出力側PD平均値[DEC]=出力側PD積算値[DEC]/出力PD積算回数
・・・(40)
この出力PD平均値[DEC]を平均出力パワー値[dBm]に変換し(ステップS802)、回線使用デューティ比(ON/OFF比)を積算することで、ピーク出力レベルPsig_outk[mW]を式(41)及び式(42)により得る(ステップS804)。
Psig_outk[mW]=Ptotal_outk[mW]×Duty比の逆数 ・・・(41)
Duty比の逆数=FB周期の総カウント数/ONレベルカウント数・・・(42)
なお、FB制御部2040では、Duty比カウンタ値CVを受け、このDuty比カウンタ値CVのONレベルカウント数をFB周期の総カウント数で割って、信号密度(Duty比)を算出する。また、FB周期の総カウント数は、ディジタル制御回路2006に設定されるフィードバック処理周期の分周比率設定に基づいて設定されるフィードバック処理周期Peから取得される。出力PD時間平均値を算出する処理、平均出力パワー値へ変換する処理及びピーク出力レベルを算出する処理は第13の実施形態においてFB制御部2040が実施する処理(ステップS701、ステップS702、ステップS704)と同様である。
次に、1フィードバック区間におけるSOA駆動電流平均値を式(43)により算出する(ステップS805)。
1フィードバック区間におけるSOA駆動電流平均値
=SOA駆動電流積算値/SOA駆動電流積算回数 ・・・(43)
第13の実施の形態では、ASEパワー平均値Pase[mW]を以下のようにして算出した。
(a) ASEパワー平均値Pase[mW]=ASEパワー積算値[mW]/ONレベルカウント数で表される式をもとにした。
(b) フィードバック周期よりも十分速い制御回路のクロック単位で積算したONレベルカウント数CNと、ONしているときに駆動電流出力した値をもとにした。
(c) DAC−ASEテーブル2050から算出したASEパワー[mW]を逐次積算した。
(d) フィードバック周期の期間内に積算したASEパワー積算値[mW]を用いた。
(e) ASEパワー平均値Pase[mW]を用いて、ASE成分を除去したピーク出力レベルPsig_out_pk[mW]を算出した。
この実施の形態では、駆動電流値平均値−ASEパワー対応テーブル2010を用いて、ASEパワーPaseを得る。そして、Psig_outk[mW]とPase[mW]を用いて式(44)によりASE成分を除去して、ASE成分除去後のピーク出力レベルPsig_out_pk[mW]を得る(ステップS806)。
Psig_out_pk[mW]=Psig_outk[mW]−Pase[mW] ・・・(44)
次に、FB制御部2040は、目標出力ピークレベルと主信号ピークレベルとの制御誤差を算出し、出力目標レベルを算出し(ステップS807)、駆動制御量のテーブル検索及び駆動制御量の設定をする(ステップS808)。これらの処理は、第13の実施の形態と同様の処理で行うことができる。
次に、ASE成分を除去して制御誤差を得る処理について、図96を参照する。図96は既述のFB制御の処理手順(図95)の理解を助けるため、各処理、各機能又は各構成要素の関連が表されている。図96に示す制御誤差・新目標値算出部412では、出力PD値積算部2038から出力PDモニタ積算値MV及び出力PDモニタ積算回数MNを取得し、ASEパワー算出部2042からSOA駆動電流積算値SV及びSOA駆動電流積算回数SNを取得している。制御誤差・新目標値算出部412では、Duty比計測部2044からDuty比カウンタ値CVを取得している。そして、制御誤差・新目標値算出部412は、既述のステップS801からステップS807の各処理を行う各機能(機能部)を有して、ASE成分を除去して制御誤差を得ている。即ち、制御誤差・新目標値算出部412は、出力PDの時間平均値を算出する(S801)、平均出力PD算出部、平均出力パワー値へ変換する(S802)、平均出力パワー変換部、信号密度を算出する(S803)、信号密度算出部を備える。また、ピーク出力レベルを算出する(S804)、ピーク出力レベル算出部、SOA駆動電流平均値を算出する(S805)、平均駆動電流算出部を備える。また、ASE成分を除去する(S806)、ASE除去部と、制御誤差を算出する(S807)、誤差算出部とを備える。そして、予めディジタル制御回路2036設定されているFB制御用のパケット処理数の閾値とパケット処理数を比較して、パケット処理数が閾値以下である場合には(ステップS821のYes)、SOA電流テーブル更新を行わずに処理を終了する。パケット処理数が閾値以下でない場合には(ステップS821のNo)、SOA電流テーブルの更新、即ち既述のLUTの更新処理を行う。
この実施の形態では、ASE成分除去後のピーク出力レベルを求める式は第13の実施の形態と同様であるが、Paseの導出手段が異なるので、ASEパワー算出部2042の処理速度がクロック周波数よりも十分遅い場合であっても実装することができる。
上記した第13の実施の形態及び第14の実施の形態について、特徴事項、利点又は変形例等を列挙する。
(1) 第13の実施の形態に係るシステムでは、制御回路のクロック周期単位でASE量を逐次求め、平均化するので、Paseの値の制度が高い。
(2) 第14の実施の形態に係るシステムでは、ASEパワー算出部2042の処理速度がクロック周波数よりも十分遅い場合であっても実装することができ、ハードウェアへの要求が高くなく、容易である。
(3) 正確性という意味において、第13の実施の形態に係るシステムは秀でる。しかしながら、図80に示したSOA駆動電流値(DAC値)−ASEノイズパワーのグラフにおいて、右肩上がりの部分では、駆動電流値とASEノイズパワーが線形関係になっている。この領域では、第14の実施の形態に係るシステムにおいてPaseの正確な制御が可能である。換言すれば、第14の実施の形態に係るシステムでは、駆動電流値とASEノイズパワーが線形関係になっている領域を主領域として用いて簡易にシステムを構築することができる。システムを小さく構築したいなどの場合に有利である。
〔他の実施の形態〕
(1) レベル制御素子は、SOAに限らない。例えば、電気光学効果(EO効果:electro-optical effect)、音響光学効果(AO効果:acousto-optical effect)、磁気光学効果(MO効果:magneto-optical effect)を用いて電流もしくは電圧により出力光強度を可変させることが可能な光減衰器を用いることも可能である。このような光減衰器としては、例えば、ニオブ酸リチウム(LN:LiNbO3 )やチタン酸ジルコン酸ランタン鉛(PLZT:(Pb,La)(Zr,Ti)O3)等の強誘電体を用いてEO効果を利用した光減衰器や、音響光学変調器(AOM:acousto-optic modulator )のような変調器を利用した可変光減衰器、ファラデー回転子を用いたMO効果を利用した光減衰器等である。
また、マイクロ秒よりも低速で動作させる場合は、光可変減衰器を熱光学効果(TO効果:thermo-optical effect )を用いて実現してもよい。
(2) 強誘電体PLZTを用いた可変光減衰器(VOA:Variable Optical Attenuator )は、図97に示すように、駆動電圧が65Vを超える領域では駆動電圧が上昇すると出力パワーが減少する特性を有している。この場合、LUTの元データは、図98に示すように、入力パワーの行数が増加すると、テーブルに格納されている値も大きくすることができる。このようなテーブルから目標設定レベルのテーブルを算出する場合、目標レベルの上下に配置される2つの値より比例関係で補間する。
図99示すように、レベル5dBmのテーブルの1番目のテーブル要素(a1)及びレベル10dBmのテーブルの1番目のテーブル要素(b1)から、レベル7dBmのテーブルの1番目の要素(Value1)を求める場合、レベルの差を用いて式(45)を用いて算出ればよい。
Value1=a1+(b1 −a1) ×(7−5)/(10−5) ・・・(45)
=(3×a1+2 ×b1)/5
そこで、レベルm[dBm]のテーブルのk番目の要素(ak)及びレベルn[dBm]のテーブルのk番目のテーブル要素(bk)から、レベルx[dBm]のテーブルのk番目の要素(Value k)を求める場合、式(46)を用いて算出ればよい。なお、図99は、レベルmを5、レベルxを7、レベルnを10、kを1とした場合の例である。
Value k =ak+(bk −ak) ×(x−m)/(n −m) ・・・(46)
駆動電圧が上昇すると出力パワーが上昇する特性のレベル制御素子を用いる場合に比べ、データの作成処理が簡略化されることとなる。
この場合の閾値を超える値に対する判断は、図98に示すように、例えば、駆動電流値が閾値より小さくなる入力PD値に対して0にする。また、0に代えて例えば光レベル制御素子を予熱するため、予熱レベルの駆動電流値を設定してもよい。予熱レベルの駆動電流値を設定すれば、入力PD値が上昇し、光レベル制御素子によるレベル制御を開始する際に動作を安定させることができる。なお、閾値は、入力PD値の立ち上がり又は立ち下がりの検出レベルに応じて設定する。
(3) 図101に示すように、待機状態のLUTに新テーブルを書き込み、更新した後(ステップS416)、初期設定の前に戻る処理としてもよい。このようにすることで、例えば、PD平均化回数等を変更することができる。その他の処理は図26に示す処理と同様であり、その説明を省略する。
(4) 出力パワー変化量と駆動電圧変化量の関係が直線となる光レベル制御素子を用いる場合は、FBループ処理側でその制御誤差量を把握することができるため、制御誤差に相当する駆動電圧量の固定値分を変化させることにより制御してもよい。即ち、図102に示すように、LUTの駆動制御量に、制御誤差に相当する固定量αを加算又は減算して、新しい駆動制御量とすればよい。
(5) 図103に示すように、ディジタル制御回路1402は、FB制御部1404を備え、FB制御部1404がTEC606を制御して光レベル制御素子104の温度制御を行ってもよい。また、TEC606による温度制御に代えて、LUT612の元データを取得した時の基準温度と、制御中の光レベル制御素子104の温度情報とからその温度差を算出し、温度差を考慮してLUT612の更新を行うようにしてもよい。光レベル制御素子104の温度が基準よりも高い場合には、駆動制御量を増やして光レベル制御素子104の出力レベルを上昇させる。そして、光レベル制御素子104の温度が基準よりも低い場合には、駆動制御量を減らして光レベル制御素子104の出力レベルを下げるように制御することも可能となる。LUT612のデータを更新する場合、温度情報を考慮して出力目標レベルをシフトさせて更新することも可能である。
(6) 上記実施の形態では、LUTをFPGA内のレジスタもしくはRAMへ展開して参照するようにしたが、LUTをROMから読み出すようにしてもよい。
(7) LUT612に格納するデータを演算により算出する場合、演算に必要なデータをディジタル制御回路内に格納してLUT作成部610でLUT612の作成を行ってもよい。
(8) LUT作成部610は、図104に示すように、ディジタル制御回路1420の外部からの信号を受けて作成してもよい。外部信号にLUT612に設定する出力目標レベルの情報が含まれていれば、LUT作成部610によりLUT612のデータを作成し、LUT612を更新することができる。
(9) タップ機能の付いたPD(タップPD)を用いて、光カプラとPDを一つの部品で構成してもよい。
(10) 光信号のレベル制御に限られず、電気信号のレベル制御も可能である。電気信号の制御を行う場合、電気ケーブルを流れる電気信号を分岐器(スプリッタ)により分岐して、信号レベルを受ければよい。電気ケーブルとしては、導電体を絶縁体で被覆した導電線又は導電性のケーブル用いることができる。
(11) 第11の実施の形態(図67、図72)ではASEを含む信号レベルの平均値を用いて間欠信号のピークレベルを求めるが、信号レベルの平均値からASEを除去してピークレベルを求めてもよい。例えば、出力側の光パケット信号に含まれるASEの量は、光レベル制御部1204の駆動量により定まるので、光レベル制御素子に入力される駆動制御量からASE量を算出することができる。そこで、制御誤差・新目標値算出部1234により平均化処理を行った後のPD値をパワー値へ変換した後(ステップS501)、ASEの除去を行う(ステップS502)。このASEの除去は、記憶部206から出力される駆動制御量を制御誤差・新目標値算出部1234に入力し、この駆動制御量に基づいて制御誤差・新目標値算出部1234がASEの量を算出するようにする。ASE量を変換したパワー値から除去した後、このパワー値と信号状態情報からピークレベル値(単位:dbm)を算出する(ステップS503)。ピークレベル値を得ることにより、制御誤差と、新たな目標出力レベルを算出することができ(ステップS504)、駆動制御量のテーブルの検索及び駆動制御量の設定処理(ステップS505)を行うことができる。このように、ピークレベルの算出に用いる信号レベルの平均値からASEの値を除くことにより、ASEの影響を考慮せずにピークレベルの算出を行うことが可能となる。尚、駆動制御量として、駆動電流値を用いて光レベル制御部1204を駆動させる場合、例えば、駆動電流の時間平均値からASEの量を算出することができる。
次に、上記実施の形態について、特徴事項、利点又は変形例等を列挙する。
(1) 光通信ネットワークに関し、強誘電体を用いた可変光減衰器や化合物半導体を用いた半導体光レベル制御素子等、電流もしくは電圧を印加し、その電流量又は電圧量を制御することによって、マイクロ秒以下のオーダーで出力光強度を可変させることが可能である。
(2) ディジタル制御回路の動作周波数の1/2の入力パワー変動についても対処可能である。動作周波数が133MHzで制御回路が動作している場合は、66MHzの入力パワー変動についても対処可能である。この速度は、ALCやAGCの制御周期と比較して、1000倍以上の高速化となる。また、制御情報を更新することで長期安定性を同時確保することができる。
(3) 出力時間調整部を備えることで、制御遅延に相当する光ファイバー長を厳密に調整する必要がなく、出力時間調整部の調整により、レベル制御のタイミングを調整可能である。
(4) 光ファイバー網の設置容易化、ファイバー施設に伴う環境整備負担の軽減、また、ファイバー敷設に関するコストを低減できる。
(5) 光レベル制御素子の上流側に配置して入力光レベルをモニタするための上流側タップPDと、下流側に配置して光レベル制御素子からの出力光レベルをモニタするための下流側タップPDと、上流側タップPDと光レベル制御素子との間に配置する遅延線と、任意に設定可能な光出力レベルに応じて上流側タップPDでモニタした光入力レベルに対する光レベル制御素子への駆動制御量を格納するLUTとを備え、入力レベルの変動に応じてLUTを参照し、光レベル制御素子への制御信号を瞬時に変化させる処理を、ファームウェアを介在させることなくハードウェアのみで構成すれば、下流側タップPDでモニタした光レベル制御素子からの光出力レベルと出力目標レベルとの差を算出して得られた制御誤差をLUTに反映することにより、光出力レベルをメガヘルツオーダーで調整することが可能となる。
(6) ルックアップテーブル(LUT)を2面以上備えれば、一方のLUTで制御信号を瞬時に変化させている最中に、他方のLUTに制御誤差を反映させ、制御誤差の反映が終了次第、制御信号の変化に用いるLUTを切替え、この切替えを繰り返すことで、常にLUTを最新状態に保持することができる。
(7) 電気信号の遅延時間可変素子を光レベル制御素子の駆動回路と制御回路との間に備えることで、LUTの値を光レベル制御素子への制御信号に反映させるタイミングを遅延させることができる。
(8) 電気遅延可変素子の遅延量を可変させる遅延量設定部を備えることで、遅延量設定部の設定により遅延させるタイミングを変化させることができる。
(9) LUTの参照により生成する制御信号を光レベル制御素子の駆動回路へ出力するタイミングを、動作クロック単位で遅延させる時間調整部を備えることで、設定された動作クロック数だけ遅延した後に制御信号を出力することができる。
(10) 上流側タップPDは、リニアオペアンプを含むモニタ回路を備え、下流側タップPDは、ログアンプを含むモニタ回路を備えることで、信号の増幅ができる。
(11) 離散的な出力レベル値において測定した入力パワー値とレベル制御素子の駆動制御量の関係曲線と、これらの曲線が入力パワーの最大値線とレベル制御素子の駆動制御量の最大値線との交点との値から、未測定の出力レベルでの関係曲線を算出することで、テーブルを作成することができる。
(12) レベル制御素子の駆動電流が0である時に相当するゲイン値と、駆動電流が十分大きい時の漸近ゲイン値と、これらの平均ゲインに対応する駆動電流値と、電流とゲインの関係の非線形性を表すパラメータと、飽和光出力と、出力目標レベル値とから、入力パワー値とレベル制御素子の駆動制御量の関係曲線を算出する。そして、算出されたレベル制御素子の駆動制御量がレベル制御素子の最大値を超えた場合、レベル制御素子の駆動制御量として駆動制御量の最大値以下の所望の関係曲線を与える。このようにしてテーブルを作成することも可能である。
(13) 増幅対象である光パケット信号のパケット密度が変動しない場合、又は変動量が少ない場合、第1の実施の形態乃至第9の実施の形態のレベル制御回路、レベル制御方法又はレベル制御システムを用いて光パケット信号のレベル制御ができる。例えば、第3の実施の形態のディジタル制御で光パケット信号のレベル制御をする場合、図106に示すように、レベルが異なる入力側の光パケット信号1452をFF処理及びFB処理により、出力側の光パケット信号1454ではピークレベルを一定にすることができる。制御誤差・新目標値算出部208では、間欠信号を処理した結果、出力側の信号レベルは目標出力レベルより低い値になる。このままFB処理を行うと、誤った目標出力レベルが設定されることになるため、パケット密度の影響を考慮して正規の目標出力レベルを設定し、出力側の信号レベルとの差を求める。これにより、FB処理によるレベルの維持を行うことが可能である。
間欠信号のレベル制御への適用は、第1の実施の形態乃至第9の実施の形態に限られない。例えば、図107に示すように、入力側PD110と入力側ADC114との間に入力側アンプ1212を配置し、出力側PD112と出力側ADC116との間に出力側アンプ1222を配置して、それぞれの入力値を増幅する構成にしてもよい。
(14) 第11及び第12の実施の形態では出力側のPD値をログアンプで増幅しているがこれに限らない。十分な出力値が得られるのであればアンプを用いなくてもよい。この場合、演算部1126がカウントした駆動信号の区間と出力側受信部1122が受信する信号の区間とを一致させ、出力側受信部1122の受信による信号レベルの平均値をデューティ比で割ることで、その区間のピークレベルが算出される。ピークレベルは、以下の式(47)で算出される。尚、任意区間は例えば、各FB周期に対応する一定時間である。
任意区間のピークパワー
=任意区間の信号レベルの平均値/任意区間のデューティ比 ・・・(47)
駆動信号からピークパワーを得る場合について、図108を参照する。駆動信号が例えば、図108のAに示すように変動するとする。また、ディジタ制御回路が動作クロック毎に実行する信号の取得タイミングを例えば、図108のBとする。この場合、取得される信号は、図108のCのようになる。尚、図108のCにおいて、駆動信号のON信号をHで表し、OFF信号をLで表している。各FB周期Pe1 、Pe2 、Pe3 、Pe4 の駆動信号の密度(信号の比率)は、例えば、図108のDに示すように、各周期のHの取得信号数を各周期の全体の取得信号数で割って求める。FB周期Pe1 の駆動信号の密度は8分の5、FB周期Pe2 の駆動信号の密度は8分の6、FB周期Pe3 の駆動信号の密度は8分の6、FB周期Pe4 の駆動信号の密度は8分の4のように得られる。そこで、各FB周期Pe1 、Pe2 、Pe3 、Pe4 のピークパワーは、この駆動信号の密度と、図108のEに示す信号レベルの平均値から式(47)により得る。図109のFは各FB周期Pe1 、Pe2 、Pe3 、Pe4 のピークパワー値の一例である。このピークレベルに応じて記憶部206が格納する制御情報を更新するので、間欠信号単位でのレベル調整が可能となる。その結果、強度の異なる間欠信号を一定強度に維持することができる。これにより、柔軟なネットワークの構築が可能となる。
入力側の光パケット信号からピークパワーを得る場合について、図109を参照する。入力側の光パケット信号が例えば、図109のAに示すように変動するとする。また、ディジタ制御回路が動作クロック毎に実行する信号の取得タイミングを例えば、図109のBとする。この場合、取得される信号は、図109のCのようになる。尚、図109のCにおいて、入力側光パケット信号の信号あり状態をHで表し、信号なしの状態をLで表している。各FB周期Pe1 、Pe2 、Pe3 、Pe4 の光パケット信号の密度(信号の比率)は、例えば、図109のDに示すように、各周期のHの取得信号数を各周期の全体の取得信号数で割って求める。FB周期Pe1 の光パケット信号の密度は8分の5、FB周期Pe2 の光パケット信号の密度は8分の4、FB周期Pe3 の光パケット信号の密度は8分の6、FB周期Pe4 の光パケット信号の密度は8分の1のように得られる。駆動信号は入力側の光パケット信号に対してマージンを含むため、光パケット信号の密度は、駆動信号の密度に比べて、同じ密度又は小さな密度になる。そこで、各FB周期Pe1 、Pe2 、Pe3 、Pe4 のピークパワーは、この光パケット密度と、図109のEに示す信号レベルの平均値から式(47)により得る。図109のFは各FB周期Pe1 、Pe2 、Pe3 、Pe4 のピークパワー値の一例である。このピークレベルに応じて記憶部206が格納する制御情報を更新するので、間欠信号単位でのレベル調整が可能となる。その結果、強度の異なる間欠信号を一定強度に維持することができる。これにより、柔軟なネットワークの構築が可能となる。
(15) 第11の実施の形態及び第12の実施の形態では、ON信号又はON状態の場合のクロックのカウント数とFB周期の間のクロックのカウント数とからデューティ比を得ているがこれに限らない。例えば、ディジタル制御回路の動作クロック単位毎に駆動信号のON信号とOFF信号の双方を確認することにより、ON時間及びOFF時間を確認する。ON時間及びOFF時間は、ON信号及びOFF信号のカウント数として把握される。そして、デューティ比は(ON時間)/(ON時間+OFF時間)として算出される。このようにしてディーティ比は算出されてもよい。
(16) 第13の実施の形態及び第14の実施の形態のレベル制御システムに遅延クロックZ204を設けて電気信号の遅延量を制御するようにしてもよい。また、第13の実施の形態及び第14の実施の形態のレベル制御システムに信号遅延素子304、遅延量設定部306及びイネーブル信号350を備えて構成してもよい。遅延クロックZ204又は信号遅延素子304等を備えることにより、時間調整の自由度が高くなり、調整のための労力と時間が軽減される。遅延クロックZ204の設置は第3の実施の形態と同様にすることができる。また、信号遅延素子304、遅延量設定部306及びイネーブル信号350の設置は第4の実施の形態と同様にすることができる。この他、既述の実施の形態のレベル制御システム又は制御回路に他の実施の形態のレベル制御システム又は制御回路の要素を追加して、より機能が充実したレベル制御システム又は制御回路にすることも可能である。
(17) 第13の実施の形態から第14の実施の形態では、記憶部206がLUT_A212及びLUT_B214を備えてFB制御部2008又はFB制御部2040により切り替えられる構成としたが、これに限定されない。例えば、第8の実施の形態と同様に、ディジタル制御回路がFB制御部608、LUT作成部610及びLUT612を含んで構成して、LUT作成部610がFB制御部608からの要求を受け、制御情報を作成し、LUT612の制御情報の更新するようにしてもよい。また、FB制御部2008又はFB制御部2040を例えば、図110に示すFB制御部2008(FB制御部2040)のように構成してもよい。図110に示すFB制御部2008では、出力PD・パワーモニタ・平均化処理部408と制御誤差・新目標算出部412に加え、テーブル作成部554と書き込み更新部418を含んで構成する。そして、更新情報記憶部560からテーブル作成部554に情報を取り込む構成にして、第7の実施の形態と同様に構成している。なお、FB制御部2008は更新情報記憶部560を含んで構成するようにしてもよい。このように構成すると第7の実施の形態と同様にテーブルを作成する構成にすることができる。
(18) 既述の実施の形態で示した処理手順は一例であって可能な限り処理の順序を入れ替えて各種の処理を行うことが可能である。たとえば、図111に示すFB制御の処理手順では、信号密度の算出処理(ステップS703)とピーク出力レベルの算出処理(ステップS704)を入れ替えて処理手順が構成されている。たとえば、出力PDモニタ積算回数MNと1FB周期あたりの総回数を用いてピーク出力レベルの算出を行えば、斯かる入れ替えも可能である。
(19) 既述の実施の形態は各種の変形が可能である。第13の実施の形態及び第14の実施の形態のレベル制御システム2032では、Duty比計測部2044がASEパワー算出部2042の一部を構成している。たとえば、このような形態を図112に示すレベル制御システムのようにDuty比計測部2044をASEパワー算出部2042とは異なる要素として形成してもよい。また、入力側ADC114から出力される信号を利用してASEパワー算出部2042でASEのパワーを算出するようにしてもよい。このような各種の変形が可能である。
(20) 第13の実施の形態では、第13の実施の形態の背景について説明した。第13の実施の形態の背景に記載した内容は、第13の実施の形態の理解を助けることを目的とするものであり、第13の実施の形態に記載した発明に何らかの制限を与えるものではない。また、第13の実施の形態の背景に記載したレベル制御システム2002は、既述の発明が解決しようとする課題を解決するものであり、発明の実施の形態を構成するものである。
次に、制御手段の比較例について、図113を参照する。図113は比較例1、比較例2及び比較例3に係るレベル制御の一例を示す図である。
(比較例1)
自動電流制御(ACC:Automatic Current Control )に関し、図113に示すように、制御回路1502は、入出力レベルに関わらず、常に一定な光レベル制御素子104の駆動電流を設定するように制御する。そして、光レベル制御素子104の駆動電流を一定にする動作がなされる。
(比較例2)
自動利得制御(AGC)に関し、図113に示すように、制御回路1502は、実測した出力レベルと算出した入力レベルに応じた出力目標レベルとの差が0となるように光レベル制御素子104の駆動電流を制御する。そして、光レベル制御素子104の入出力間のパワーの差を一定にする。これにより、光レベル制御素子104の入出力間のゲインを一定にする。自動利得制御では、光レベル制御素子104の入力光と出力光をそれぞれモニタし、その比率が一定になるように励起LDの駆動電流をフィードバック制御する。
(比較例3)
自動レベル制御(ALC)に関し、図113に示すように、制御回路1502は、実測した出力レベルと算出した出力目標レベルとの差が0となるように光レベル制御素子104の駆動電流を制御する。そして、光レベル制御素子104の出力パワーを一定にする動作がされる。自動レベル制御を行う場合、光レベル制御素子104の出力光を数%だけ光カプラで分岐し、出力光強度をPDでモニタし、そのPDのモニタ値が一定になるように励起LDの駆動電流にフィードバックされ、励起光強度を制御することで一定の出力光強度を実現させる。
自動レベル制御は、例えば、図114に示すように、ディジタル制御回路1512が新制御量計算部1514を備え、新制御量計算部1514が出力側のレベルを受け、出力目標レベルとの差を確認して制御する。そこで、この比較例では、自動レベル制御は、フィードバック制御である。自動レベル制御は、図115に示すように、目標値として主信号のみの光強度(図115のA)、特定駆動電流値でのASE強度(図115のB)を事前に測定し、主信号の光強度とASE強度を加算した計算値を目標出力レベル(図115のC)としてROMに保存する。制御後のPDモニタでは主信号とASEを含むレベル(図116のB)を検出し、計算値(図116のA)から検出したレベル(図116のB)を引いた値が0となるように制御する。
フィードバック型の制御は、実際の出力レベルをモニタしながら、目標値に近づけていくため、高精度な制御が可能であり、また、経年劣化等に強い。しかしながら、光レベル制御素子104の出力後にフィードバックをかけるため、応答が遅れ、更に、新制御量をファームウェアで演算するため、数kHz数百kHz程度でフィードバック周期が限界となる。そのため、高速な入力パワー変動には追従ができない。また、フィードバック制御は、ディジタル制御回路を使用せずに、全てアナログ回路で構成することで数百kHz程度のフィードバック速度が可能となるが、制御パラメータである目標レベルの変更が難しくなる。
フィードバック制御を用いる自動利得制御及び自動レベル制御では、出力光強度の調整精度が高い半面、フィードバックするまでの時間、即ち、PDまでのファイバー伝搬時間、PDのモニタ時間の後に電圧に変換され、それに比例した分の励起LD駆動電流が新しく反映され、EDFA出力レベルが変化するまでの時間を考慮した場合、最低でも数マイクロ秒〜数十マイクロ秒を必要とする。そのため、光信号のレベル変動が早い周波数成分に対しては、フィードバック制御を行う自動利得制御や自動レベル制御は間に合わず、機能できない。
(比較例4)
光バースト信号や光パケット信号をスイッチングするような高速性が求められる光ネットワークに対応するため、図117に示すように、フィードフォワードモニタリングによる自動レベル制御を行う。フィードフォワード制御では、速度を重視し、制御周期を重視するため、出力パワーをモニタしながらの制御ではなく、図118に示すように、事前に測定したLUT1524を用いて制御を行う。
フィードフォワード制御としては、光パケット信号や光バースト信号を通過させる場合は、光バースト対応のEDFAを用いることができる。光バースト対応のEDFAは、EDFAの入力光をモニタし、信号光がEDF部に到達する前に、励起LD光強度を制御するか、もしくはEDF手前に高速応答が可能な光可変減衰器を設置し、EDFへの入力パワーを常に一定に保つように光可変減衰器を制御するため、高速に出力レベルの制御が可能である。しかしながら、高速に出力レベルの制御を行うため、出力光強度をモニタして制御していない。そのため、所望の目標光レベルとずれが生じ、長期安定性に劣る。また、経年変化した場合等の対処ができず、制御誤差は、時間とともに大きくなる。
比較例1〜4の構成では、MHz〜十数MHzの高速な光レベルの変動に対する対処手段とは言えない。即ち、現在の光ネットワークもそのような高速なレベル変動が生じないように環境を整えて光ファイバー網を施設することが前提条件となる。
(比較例5)
比較例3のフィードバック制御と、比較例4のフィードフォワード制御を組み合わせ、図119に示すように、フィードフォワードによる高速制御と、フィードバックによる制御を行う。この場合、フィードフォワード制御と、フィードバック制御がそれぞればらばらな動作を行うこととなり、制御後の信号の安定性に欠ける。
次に、比較例1、比較例3、比較例4と本開示の実施の形態とを比較した結果について、図120、図121、図122、図123を参照する。図120は比較例1の出力信号の一例を示す図、図121は比較例3の出力信号の一例を示す図、図122は比較例4の出力信号の一例を示す図、図123は実施の形態の出力信号の一例を示す図である。
図120、図121、図122、図123に示す結果は、100kHz周期で振幅が2〜3dB変動する信号を光レベル制御素子へ入力し、比較例1、比較例3、比較例4と、本発明の実施の形態の制御手段により出力レベルを制御した場合の光レベル制御素子の出力波形をオシロスコープで測定した結果を示している。なお、光レベル制御素子は、SOAである。
比較例1の場合は光レベル制御素子への駆動電流は変化させないため、入力変動がそのまま出力信号にも表れている。比較例3のフィードバック制御の場合も制御周期が数kHzと遅く、入力変動100kHzには追従できないため、比較例1とほぼ同じような出力波形となった。
比較例4のフィードフォワード制御では、ディジタル制御回路1522(図117)で実現し、ディジタル制御回路1522の動作クロックと同じ133MHz周期で駆動電流をDAC118に設定するため、100kHzの入力変動は出力信号において、小さくなっている。しかし、目標出力レベルに制御されておらず、入力変動を完全に打ち消すことはできていない。これは、制御後の出力レベルと目標とする出力レベルとの間にずれが生じることに起因する。制御に使用するLUTと目標レベルのLUTとの間にずれが発生すると、出力信号に入力変動と同じ周波数成分の変動が発生する。制御後の出力レベルと目標とする出力レベルとの間のずれが大きくなれば、目標出力レベルと出力レベルとの差が大きくなり、出力信号の変動の振幅も大きくなることが想定される。
一方、本発明の実施の形態では、LUTを2面備え、FF制御により133MHz周期でDAC設定を行い、FB制御により出力パワーをモニタしながら、1秒おきにLUTを更新しているので、図123に示すように、目標出力レベルに一致するレベルで制御でき、かつ入力変動成分も±0.1dB以下に抑圧できる。
このように、FF制御で使用するLUTを複数面備え、FB制御で目標レベルとの誤差を認識し、LUTを更新し切り替えて使用することで、入力信号の高速な変動に対して長期に渡り、安定した出力レベル制御が可能となる。実際にFPGAとファームウェアで制御回路を実現し、確認したこの結果からも、本発明の有効性が確認される。
次に、以上述べた実施の形態に関し、更に以下の付記を開示する。以下の付記に本発明が限定されるものではない。
(付記1) レベル制御出力を生成するレベル制御回路であって、
信号レベルに対応する制御情報が格納され、第1の入力信号の信号レベルに対応した制御情報を出力する制御情報記憶部と、
第2の入力信号の信号レベルに応じて前記制御情報記憶部の前記制御情報を更新する情報更新部と、
を備えることを特徴とするレベル制御回路。
(付記2) 前記情報更新部は、前記第2の入力信号の信号レベルに応じた更新制御情報を生成し、該更新制御情報に前記制御情報を更新することを特徴とする付記1記載のレベル制御回路。
(付記3) 前記制御情報記憶部は、2つ以上のテーブルを備え、一方のテーブルから前記制御情報を出力するとともに他方のテーブルに前記更新制御情報を格納することを特徴とする付記2記載のレベル制御回路。
(付記4) 更に、前記制御情報の更新情報を格納する更新情報記憶部と、
を備え、
前記情報更新部は、前記更新情報記憶部の前記更新情報に基づき前記制御情報を更新することを特徴とする付記1記載のレベル制御回路。
(付記5) 更に、前記制御情報を出力する時間を調整する出力時間調整部と、
を備えることを特徴とする付記1記載のレベル制御回路。
(付記6) 前記出力時間調整部は、該出力時間調整部の1クロック時間又はこの整数倍の時間を調整することを特徴とする付記5記載のレベル制御回路。
(付記7) 前記情報更新部は、前記第2の入力信号の信号レベルと、レベル制御の目標信号レベルとの差に基づき、前記制御情報の更新を判断することを特徴とする付記1記載のレベル制御回路。
(付記8) 前記情報更新部は、前記信号レベルと、該信号レベルに対応する更新情報により形成する曲線と、該曲線が前記更新情報の最大値となる信号レベルを用いて出力レベルの異なる更新情報を生成することを特徴とする付記1記載のレベル制御回路。
(付記9) コンピュータにレベル制御出力を生成させるレベル制御プログラムであって、
信号レベルに対応する制御情報を制御情報記憶部に格納し、第1の入力信号を受け該信号のレベルに対応した制御情報を出力する機能と、
第2の入力信号の信号レベルに応じて前記制御情報記憶部の前記制御情報を更新する機能と、
をコンピュータに実現させるためのレベル制御プログラム。
(付記10) 前記制御情報を更新する更新制御情報を、前記第2の入力信号の信号レベルに応じて前記制御情報記憶部に格納し、該更新制御情報と前記制御情報を切替え、前記制御情報を更新することを特徴とする付記9記載のレベル制御プログラム。
(付記11) 前記制御情報記憶部は、2つ以上のテーブルを備え、一方のテーブルから前記制御情報を出力するとともに他方のテーブルに前記更新制御情報を格納することを特徴とする付記10記載のレベル制御プログラム。
(付記12) 更に、前記制御情報の更新情報を更新情報記憶部に格納する機能と、
を含み、
前記更新情報記憶部の前記更新情報に基づき前記制御情報を更新することを特徴とする付記9記載のレベル制御プログラム。
(付記13) 更に、前記制御情報を出力する時間を調整する機能と、
を含むことを特徴とする付記9記載のレベル制御プログラム。
(付記14) 前記制御情報を出力する時間は、前記コンピュータの1クロック時間又はこの整数倍の時間を調整することを特徴とする付記13記載のレベル制御プログラム。
(付記15) 更に、前記第2の入力信号の信号レベルと、レベル制御の目標信号レベルの差に基づき、前記制御情報の更新を判断する機能を含みことを特徴とする付記9記載のレベル制御プログラム。
(付記16) 前記信号レベルと、該信号レベルに対応する更新情報により形成する曲線と、該曲線が前記更新情報の最大値となる信号レベルを用いて出力レベルの異なる更新情報を生成することを特徴とする付記9記載のレベル制御プログラム。
(付記17) レベル制御出力を生成するレベル制御方法であって、
信号レベルに対応する制御情報を制御情報記憶部に格納し、第1の入力信号を受け該信号のレベルに対応した制御情報を出力するステップと、
第2の入力信号の信号レベルに応じて前記制御情報記憶部の前記制御情報を更新するステップと、
を含むことを特徴とするレベル制御方法。
(付記18) 前記第2の入力信号の信号レベルに応じた更新制御情報を生成し、該更新制御情報に前記制御情報を更新することを特徴とする付記17記載のレベル制御方法。
(付記19) 前記制御情報記憶部は、2つ以上のテーブルを備え、一方のテーブルから前記制御情報を出力するとともに他方のテーブルに前記更新制御情報を格納することを特徴とする付記18記載のレベル制御方法。
(付記20) 更に、前記制御情報の更新情報を更新情報記憶部に格納するステップと、
を含み、
前記更新情報記憶部の前記更新情報に基づき前記制御情報を更新することを特徴とする付記17記載のレベル制御方法。
(付記21) 更に、前記制御情報を出力する時間を調整するステップと、
を含むことを特徴とする付記17のレベル制御方法。
(付記22) 更に、前記第2の入力信号の信号レベルと、レベル制御の目標信号レベルとの差に基づき、前記制御情報の更新を判断するステップと、
を含むことを特徴とする付記17記載のレベル制御方法。
(付記23) 前記信号レベルと、該信号レベルに対応する更新情報により形成する曲線と、該曲線が前記更新情報の最大値となる信号レベルを用いて出力レベルの異なる更新情報を生成することを特徴とする付記17記載のレベル制御方法。
(付記24) 入力信号から制御情報でレベル制御された出力信号を得るレベル制御素子と、前記制御情報を出力するレベル制御回路と、
を備え、
前記レベル制御回路は、前記入力信号の信号レベルに対応する前記制御情報が格納され、入力信号のレベルに対応した前記制御情報を出力する制御情報記憶部と、
前記出力信号のレベルに応じて前記制御情報記憶部の前記制御情報を更新する情報更新部と、
を備えることを特徴とするレベル制御システム。
(付記25) 前記情報更新部は、前記出力信号の信号レベルに応じた更新制御情報を生成し、該更新制御情報に前記制御情報を更新することを特徴とする付記24記載のレベル制御システム。
(付記26) 前記制御情報記憶部は、2つ以上のテーブルを備え、一方のテーブルから前記制御情報を出力するとともに他方のテーブルに前記更新制御情報を格納することを特徴とする付記25記載のレベル制御システム。
(付記27) 更に、前記制御情報の更新情報を格納する更新情報記憶部と、
を備え、
前記情報更新部は、前記更新情報記憶部の前記更新情報に基づき前記制御情報を更新することを特徴とする付記24記載のレベル制御システム。
(付記28) 更に、前記制御情報を出力する時間を調整する出力時間調整部と、
を備えることを特徴とする付記24記載のレベル制御システム。
(付記29) 前記出力時間調整部は、該出力時間調整部の1クロック時間又はこの整数倍の時間を調整することを特徴とする付記28記載のレベル制御システム。
(付記30) 前記情報更新部は、前記出力信号の信号レベルと、レベル制御の目標信号レベルとの差に基づき、前記制御情報の更新を判断することを特徴とする付記24記載のレベル制御システム。
(付記31) 前記情報更新部は、前記信号レベルと、該信号レベルに対応する更新情報により形成する曲線と、該曲線が前記更新情報の最大値となる信号レベルを用いて出力レベルの異なる更新情報を生成することを特徴とする付記24記載のレベル制御システム。
(付記32) 更に、前記入力信号の伝達を遅延する伝達時間調整部と、
を備えることを特徴とする付記24記載のレベル制御システム。
(付記33) 更に、前記入力信号を増幅するリニアオペアンプと、
前記出力信号を増幅するログアンプと、
を備えることを特徴とする付記24記載のレベル制御システム。
(付記34) 前記情報更新部は、前記レベル制御素子のゲイン情報と、前記ゲイン情報に対応する駆動量情報と、前記レベル制御素子の前記ゲイン情報及び前記駆動量情報の関係を表す非直線情報と、前記レベル制御素子の出力情報を用いて前記制御情報を生成する生成部を備えることを特徴とする付記24記載のレベル制御システム。
(付記35) 前記情報更新部は、少なくとも前記第2の入力信号の信号レベル、又は前記第2の入力信号の情報量を表す信号状態情報の何れかを用いて前記制御情報記憶部の記憶情報を更新することを特徴とする付記1記載のレベル制御回路。
(付記36) 前記信号状態情報は、前記制御情報記憶部から出力される、レベル制御の駆動信号に基づき生成される情報、又は前記第1の入力信号に基づき生成される情報であることを特徴とする付記35記載のレベル制御回路。
(付記37) 前記第2の入力信号は、ログアンプにより対数に変換して増幅され、
前記情報更新部は、前記信号状態情報を対数値に変換した後、前記第2の入力信号の対数値と前記信号状態情報の対数値とを加算することを特徴とする付記35記載のレベル制御回路。
(付記38) 前記信号状態情報の読み取り時期と、前記第2の入力信号の信号レベルの受信時期との差を調整する時刻調整部を備えることを特徴とする付記35記載のレベル制御回路。
(付記39) 前記第2の入力信号から得られる監視値を複数回採取して、前記監視値の平均値を算出する算出部と、
を備えることを特徴とする付記1記載のレベル制御回路。
(付記40) 第1の入力信号又は第2の入力信号を受信する受信部と、
前記第1の入力信号の信号レベルに対応する制御情報が格納された記憶部の前記制御情報を、前記受信部で受信した前記第2の入力信号により更新する情報更新部と、
を備え、前記受信部で受信した前記第1の入力信号の信号レベルに応じて前記記憶部から制御情報を出力することを特徴とするモニタ回路。
(付記41) 前記情報更新部は、少なくとも前記第2の入力信号の信号レベル、又は前記第2の入力信号の情報量を表す信号状態情報の何れかを用いて前記記憶部の記憶情報を更新することを特徴とする付記40記載のモニタ回路。
(付記42) 前記信号状態情報は、前記記憶部から出力される、レベル制御の駆動信号に基づき生成される情報であることを特徴とする付記41記載のモニタ回路。
(付記43) 前記信号状態情報は、前記第1の入力信号に基づき生成される情報であることを特徴とする付記41記載のモニタ回路。
(付記44) 前記受信部は、前記第2の入力信号を増幅するログアンプを備え、
前記ログアンプは前記第2の入力信号を増幅するとともに対数値に変換し、
前記情報更新部は、前記信号状態情報を対数値に変換した後、前記第2の入力信号の対数値と前記信号状態情報の対数値とを加算することを特徴とする付記41記載のモニタ回路。
(付記45) 前記信号状態情報の読み取り時期と、第2の入力信号の信号レベルの受信時期の差を調整する時刻調整部を備えることを特徴とする付記41記載のモニタ回路。
(付記46) 前記第2の入力信号から得られる監視値を複数回採取して、前記監視値の平均値を算出する算出部と、
を備えることを特徴とする付記40記載のモニタ回路。
(付記47) 前記信号レベルに制御することによって生成されるノイズ情報を逐次算出するノイズ積算部と、前記第2の入力信号の信号レベルに応じて前記制御情報記憶部で得られた制御情報と前記ノイズ積算部で得られたノイズ情報をもとに、ノイズを除いた制御情報を算出する制御情報算出部とを備えることを特徴とする付記1又は2に記載のレベル制御回路
(付記48) 前記制御情報算出部は、一定時間内に光レベル制御素子に入力された信号をON/OFFした比率から、該一定時間の信号密度を算出する信号密度算出部を有することを特徴とする付記47に記載のレベル制御回路。
(付記49) 前記制御情報算出部は、一定時間の平均出力パワー値と一定時間の信号密度から、信号のピーク出力レベルを算出するピークレベル算出部を有することを特徴とする付記47又は付記48に記載のレベル制御回路。
(付記50) 一定時間のパケット信号数を識別する検出部を備え、
前記制御情報算出部は、一定時間経過後、通過したパケット信号数をリセットするリセット部を有することを特徴とする付記47に記載のレベル制御回路。
(付記51) 通過した前記パケット信号数と出力ノイズ情報の積算値から、一定時間におけるノイズ平均値を算出することを特徴とする付記50に記載のレベル制御回路。
(付記52) 前記制御情報算出部は、一定時間の信号のピーク出力レベルからノイズ平均値を減算することにより、一定時間の主信号のピークレベルを算出する主信号ピークレベル算出部を備えることを特徴とする付記49又は付記51のレベル制御回路。
(付記53) 入力レベルをモニタする周期と、前記制御情報記憶部を参照する周期と、ノイズ情報を積算する周期と、レベル制御素子の制御周期がFF処理の周期であって同一であることを特徴とする付記47に記載のレベル制御回路。
(付記54) 出力レベルを時間平均する周期と、前記信号密度を時間平均する周期と、前記信号密度からピークレベルを算出する周期と、ピークレベルと積算されたノイズ情報から制御ピークレベルを算出する周期がFB処理の周期であって同一であることを特徴とする付記49に記載のレベル制御回路。
(付記55) 付記53に記載の特徴と付記54に記載の特徴を同時に併せ持つことを特徴とするレベル制御回路。
(付記56) 前記制御情報記憶部に蓄積された制御情報を更新する機能を備えることを特徴とする付記52に記載のレベル制御回路。
(付記57) 真の制御情報と現在の制御情報を比較し、誤差が小さい場合には、前記制御情報を更新しない機能を備えることを特徴とする付記56に記載のレベル制御回路。
(付記58) 付記47から付記57のいずれかに記載したレベル制御回路を含むことを特徴とするレベル制御システム。
(付記59) 前記レベル制御素子が半導体光増幅器で構成され、前記半導体光増幅器の駆動電流と半導体光増幅器から出力されるノイズの関係を表すテーブルを備え、前記テーブルに基づき一定時間に出力されたノイズ量を得ることを特徴とする付記24又は付記25に記載のレベル制御システム。
(付記60) 一定時間の前記半導体光増幅器の駆動電流の平均値と前記半導体光増幅器から出力されるASEノイズパワーの関係を表すテーブルを備え、前記テーブルに基づき一定時間に出力されたASEノイズパワー量を得ることを特徴とする付記59に記載のレベル制御システム。
(付記61) 前記信号レベルに制御することによって生成されるノイズ情報を逐次算出し、前記第2の入力信号の信号レベルに応じて前記制御情報記憶部で得られた制御情報と、得られたノイズ情報をもとに、ノイズを除いた制御情報を算出することを特徴とする付記9又は付記10に記載のレベル制御プログラム。
(付記62) 前記信号レベルに制御することによって生成されるノイズ情報を逐次算出するステップと、前記第2の入力信号の信号レベルに応じて前記制御情報記憶部で得られた制御情報と、得られたノイズ情報をもとに、ノイズを除いた制御情報を算出するステップと、を含むことを特徴とする付記17又は付記18に記載のレベル制御方法。
以上説明したように、レベル制御回路、レベル制御プログラム、レベル制御方法、レベル制御システム又はモニタ回路の最も好ましい実施の形態等について説明したが、本発明は、上記記載に限定されるものではなく、特許請求の範囲に記載され、又は発明を実施するための形態に開示された発明の要旨に基づき、当業者において様々な変形や変更が可能であることは勿論であり、斯かる変形や変更が、本発明の範囲に含まれることは言うまでもない。