(57)【特許請求の範囲】
【請求項１】
アナログ入力信号をサンプリング周波数でサンプリングしてデジタル出力信号に変換するアナログデジタル変換器（以下ADC）であって，
前記アナログ入力信号をタイムインタリーブで前記デジタル出力信号に変換する複数のADCチャネルと，
前記複数のADCチャネルがそれぞれ出力するチャネルデジタル信号を合成して前記デジタル出力信号を生成するチャネル合成器と，
前記複数のADCチャネルの少なくとも一つの出力と前記チャネル合成器との間に設けられた適応フィルタと，
前記デジタル出力信号に含まれるスキュー誤差を検出し，前記スキュー誤差に応じて前記適応フィルタの係数を生成し前記適応フィルタに設定する補正回路とを有し，
前記補正回路は，第１のステップで，前記スキュー誤差に応じて前記適応フィルタが前記チャネルデジタル信号の位相を進めるかまたは遅延させるかのいずれか一方方向に位相シフトするように前記係数を設定し，第２のステップで，前記スキュー誤差に応じて前記一方方向と逆方向に位相シフトするように前記係数を設定し，前記スキュー誤差が所望レベルに抑制される係数を前記適応フィルタに設定するADC。
【請求項２】
請求項１において，
前記補正回路は，前記第１のステップで前記係数に対応する位相シフト量が上限値に達したら，前記第２のステップで前記係数を設定するADC。
【請求項３】
請求項２において，
前記補正回路は，さらに，前記第２のステップで前記係数に対応する位相シフト量が上限値に達したら，前記適応フィルタの次数を減じた後に前記第２のステップによる前記係数の設定を行う第３のステップを，前記スキュー誤差が所望レベルに抑制されるまで行うADC。
【請求項４】
請求項１において，
前記補正回路は，前記チャネルデジタル信号またはデジタル出力信号の周波数が基準周波数より低い場合は，前記第１のステップによる前記係数の設定を行い，高い場合は前記第２のステップによる前記係数の設定を行うADC。
【請求項５】
請求項４において，
前記補正回路は，さらに，前記第２のステップで前記係数に対応する位相シフト量が上限値に達したら，前記適応フィルタの次数を減じた後に前記第２のステップによる前記係数の設定を行う第３のステップを，前記スキュー誤差が所望レベルに抑制されるまで行うADC。
【請求項６】
請求項１乃至５のいずれかにおいて，
前記適応フィルタは，前記チャネルデジタル信号をクロックに同期して順次ラッチする複数の遅延ラッチ回路と，前記複数の遅延ラッチ回路の入力または出力の信号と係数とをそれぞれ乗算する複数の乗算器と，前記乗算器の出力を加算する加算器とを有し，
前記補正回路は，前記複数の乗算器に入力する複数の係数をsinc関数に基づいて生成する係数演算回路を有するADC。
【請求項７】
請求項６において，
前記係数演算回路は，前記位相シフト量に対応して前記sinc関数の位相をシフトして前記複数の係数を生成するADC。
【請求項８】
アナログ入力信号をサンプリング周波数でサンプリングしてデジタル出力信号に変換するアナログデジタル変換器（以下ADC）であって，
前記アナログ入力信号をタイムインタリーブで前記デジタル出力信号に変換する複数のADCチャネルと，
前記複数のADCチャネルがそれぞれ出力するチャネルデジタル信号を合成して前記デジタル出力信号を生成するチャネル合成器と，
前記複数のADCチャネルの少なくとも一つの出力と前記チャネル合成器との間に設けられた適応フィルタとを有するADCの補正回路において，
前記デジタル出力信号に含まれるスキュー誤差を検出するスキュー誤差検出回路と，
前記スキュー誤差に応じて前記適応フィルタの係数を生成し前記適応フィルタに設定する係数演算回路とを有し，
前記係数演算回路は，第１のステップで，前記スキュー誤差に応じて前記適応フィルタが前記チャネルデジタル信号の位相を進めるかまたは遅延させるかのいずれか一方方向に位相シフトするように前記係数を設定し，第２のステップで，前記スキュー誤差に応じて前記一方方向と逆方向に位相シフトするように前記係数を設定して，前記スキュー誤差が所望レベルに抑制される係数を前記適応フィルタに設定するADCの補正回路。
【請求項９】
請求項８において，
前記適応フィルタは，前記チャネルデジタル信号をクロックに同期して順次ラッチする複数の遅延ラッチ回路と，前記複数の遅延ラッチ回路の入力または出力の信号と係数とをそれぞれ乗算する複数の乗算器と，前記乗算器の出力を加算する加算器とを有し，
前記補正回路は，前記複数の乗算器に入力する複数の係数をsinc関数に基づいて生成する係数演算回路を有するADCの補正回路。
【請求項１０】
アナログ入力信号をサンプリング周波数でサンプリングしてデジタル出力信号に変換するアナログデジタル変換器（以下ADC）であって，
前記アナログ入力信号をタイムインタリーブで前記デジタル出力信号に変換する複数のADCチャネルと，
前記複数のADCチャネルがそれぞれ出力するチャネルデジタル信号を合成して前記デジタル出力信号を生成するチャネル合成器と，
前記複数のADCチャネルの少なくとも一つの出力と前記チャネル合成器との間に設けられた適応フィルタとを有するADCの補正方法において，
前記デジタル出力信号に含まれるスキュー誤差を検出し，
第１のステップで，前記スキュー誤差に応じて前記適応フィルタが前記チャネルデジタル信号の位相を進めるかまたは遅延させるかのいずれか一方方向に位相シフトするように前記係数を前記適応フィルタに設定し，
第２のステップで，前記スキュー誤差に応じて前記一方方向と逆方向に位相シフトするように前記係数を前記適応フィルタに設定し，
前記スキュー誤差が所望レベルに抑制される係数を前記適応フィルタに設定するADCの補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ADC，その補正回路およびその補正方法に関する。
【背景技術】
【０００２】
アナログデジタル変換器（ADC：Analog Digital Converter）は，アナログ入力信号をデジタル出力信号に変換する回路である。アナログデジタル変換のサンプリング周波数を高くするために，複数のADC（ADCチャネル）を設け，その複数のADCが時分割で順々にアナログ入力信号をデジタル出力信号に変換するタイムインタリーブADCが提案されている。タイムインタリーブADCは，以下の特許文献１，２に記載されている。
【０００３】
タイムインタリーブADCは，高速動作が可能であるが，各ADCの特性が異なっていたり，各ADCが動作するタイミングの関係がずれていたりするとS/N比が低下することがある。ADCチャネル間の誤差を補正する方法として，フォアグランドキャリブレーションとバックグランドキャリブレーションとが提案されている。前者は，ADCの通常動作時間以外に補正用の時間を必要とする。一方，後者は，ADCの通常動作中に補正をするので，経時変化や温度変化などにより発生する誤差もバックグランドで補正することができる。バックグランドキャリブレーション回路については，非特許文献１に記載されている。
【０００４】
上記のバックグランドキャリブレーション回路によれば，タイムインタリーブ（時分割）で動作する複数のADCチャネルのうち少なくとも一つに適応フィルタを設け，複数のADCチャネルの出力を加算した加算出力に基づいて適応フィルタの係数を演算している。加算出力のスプリアス信号成分を抑制するように適応フィルタの係数を制御することで，タイムインタリーブのサンプリングタイミングのずれ（スキュー）に起因して発生する誤差（スキュー誤差）であるスプリアス信号成分（誤差信号成分，イメージ信号成分）を抑制する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−３４８１５６号公報
【特許文献２】特開２００８−１１１８９号公報
【非特許文献】
【０００６】
【非特許文献１】S. M. Jamal, et al., “A 10b 120Msample/s Time-Interleaved Analog-to-Digital Converter With Digital Background Calibration”, JSSC 2002
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら，上記の適応フィルタの係数としてデルタ関数に代えてsinc関数を利用する場合，適応フィルタのタップの精度で位相シフト制御を行う場合は所望の位相シフト制御が可能であるが，タップの精度より小さい精度で位相シフト制御を行う場合は適応フィルタの特性が周波数依存性を持つ。したがって，アナログ入力信号が高周波になると，周波数依存性に起因して，所望の位相シフト制御が困難または不可能になる。
【０００８】
そこで，本発明の目的は，高周波のアナログ入力信号に対してもスキュー誤差を補正するバックグランドキャリブレーションを行うADCとその補正回路を提供することにある。
【課題を解決するための手段】
【０００９】
実施の形態の第１の側面によれば，アナログ入力信号をサンプリング周波数でサンプリングしてデジタル出力信号に変換するアナログデジタル変換器（以下ADC）であって，
前記アナログ入力信号をタイムインタリーブで前記デジタル出力信号に変換する複数のADCチャネルと，
前記複数のADCチャネルがそれぞれ出力するチャネルデジタル信号を合成して前記デジタル出力信号を生成するチャネル合成器と，
前記複数のADCチャネルの少なくとも一つの出力と前記チャネル合成器との間に設けられた適応フィルタと，
前記デジタル出力信号に含まれるスキュー誤差を検出し，前記スキュー誤差に応じて前記適応フィルタの係数を生成し前記適応フィルタに設定する補正回路とを有し，
前記補正回路は，第１のステップで，前記スキュー誤差に応じて前記適応フィルタが前記チャネルデジタル信号の位相を進めるかまたは遅延させるかのいずれか一方方向に位相シフトするように前記係数を設定し，第２のステップで，前記スキュー誤差に応じて前記一方方向と逆方向に位相シフトするように前記係数を設定し，前記スキュー誤差が所望レベルに抑制される係数を前記適応フィルタに設定する。
【発明の効果】
【００１０】
上記のADCは，入力周波数にかかわらずスキュー誤差を抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】タイムインタリーブ型のADCを示す図である。
【図２】２分周したサンプリングクロックΦA,ΦBの一例を示す図である。
【図３】スキュー誤差を示す図である。
【図４】タイムインタリーブ型のADCの例を示す図である。
【図５】スキュー誤差検出回路１０を説明する図である。
【図６】適応フィルタ７の回路図である。
【図７】適応フィルタの動作を示す図である。
【図８】sinc関数の波形を示す図である。
【図９】sinc関数によるフィルタ係数を使用した場合の適応フィルタの動作を示す図である。
【図１０】sinc関数h(n)の位相シフト量（遅延量）FDが非整数の例の波形を示す図である。
【図１１】伝達関数Ｈの周波数特性を示す図である。
【図１２】微分値Ｈ’の特性を示す図である。
【図１３】群遅延Ｄ（ω）の周波数特性を示す図である。
【図１４】群遅延特性Ｄ（ω）と周波数特性Ｈ（ω）の具体的な波形例を示す図である。
【図１５】sinc関数による係数が設定される適応フィルタの群遅延Ｄ（ω）の周波数特性とスキュー補正制御を示す図である。
【図１６】入力信号が高周波の場合のスキュー補正制御の問題点を示す図である。
【図１７】本実施の形態における第１のスキュー補正方法を説明する図である。
【図１８】本実施の形態における第２のスキュー補正方法を説明する図である。
【図１９】第１の実施の形態におけるタイムインタリーブADCの構成図である。
【図２０】図１９のタイムインタリーブADCのスキュー補正回路２０の動作を示すフローチャート図である。
【図２１】第２の実施の形態におけるタイムインタリーブADCの構成図である。
【図２２】図２１のタイムインタリーブADCのスキュー補正回路２０の動作を示すフローチャート図である。
【発明を実施するための形態】
【００１２】
図１は，タイムインタリーブ型のADCを示す図である。タイムインタリーブ型のADCは，アナログ入力信号A_INをタイムインタリーブでデジタル出力信号に変換する複数（図１の例では２個）のADCチャネル100,200と，複数のADCチャネル100,200がそれぞれ出力するチャネルデジタル信号D1,D2を合成してデジタル出力信号D_OUTを生成するチャネル合成器1とを有する。チャネル合成器１は，例えば加算器である。
【００１３】
アナログ入力信号A_INは，スイッチSW1,SW2を介してそれぞれのADCチャネル100,200に入力される。スイッチSW1,SW2は，サンプリング周波数fsのサンプリングクロックSCLKに同期して，タイムインタリーブでオンとオフを繰り返す。図１の例では２個のADCチャネルを有するので，スイッチSW1，SW2は，サンプリング周波数fsのサンプリングクロックSCLKを２分周（N個のチャネルならN分周）した周波数fs/2のサンプリングクロックΦA,ΦBの立ち上がりエッジ（または立ち下がりエッジ）に同期してオンし，それぞれのサンプリングクロックΦA,ΦBがHレベル（またはLレベル）の間のアナログ入力信号A_INをそれぞれ対応するADCチャネル100,200に入力する。
【００１４】
ADCチャネル100,200はそれぞれADC回路を有し，入力したアナログ入力信号A_INをデジタル信号D1,D2に変換する。ADCチャネルが有するADC回路は，サンプリング周波数fsのサンプリングクロックSCLKを２分周した周波数fs/2の周期，つまり，サンプリング周波数fsの２倍の周期2/fsでAD変換を行う。したがって，ADCチャネルのADC回路はサンプリング周期の２倍の周期でAD変換を行えばよい。
【００１５】
図２は，２分周したサンプリングクロックΦA,ΦBの一例を示す図である。理想的には，サンプリングクロックΦAのオン・デューティ比は５０％であるが，図２に示されるようにHレベルの期間が1/fs＋Δt/2，Lレベルの期間が1/fs-Δt/2となると，サンプリングクロックΦAと位相が反転しているサンプリングクロックΦBの立ち上がりエッジは，理想的なタイミング1/fsよりも-Δt/2だけタイミングが早まっている。このようなADCのサンプリングタイミングのずれ（スキュー）に起因して，AD変換されたチャネルデジタル出力信号D1,D2にはスキュー誤差が発生する。
【００１６】
図３は，スキュー誤差を示す図である。図３の（１）にはアナログ入力信号finが示され，（２）には，周期1/fsのサンプリングタイミングと，ADCチャネル100,200がAD変換するデジタル出力信号D1,D1とが示されている。一例として，アナログ入力信号A_INは正弦波または余弦波のいずれかである。図２に示したように，両チャネルのサンプリングタイミングにスキューΔｔが存在していると，一方のADCチャネルのサンプリングタイミングのちょうど中間のタイミングからずれたタイミングで他方のADCチャネルがサンプリングする。その結果，図３（２）に示したように，周期1/fsのサンプリングタイミングで両方のADCチャネルのデジタル出力信号D1，D2をみると，デジタル出力信号D1,D2は，スキューΔｔに対応する位相差を有する。
【００１７】
図３（２）の例では，ADCチャネル100側のデジタル出力信号D1のほうがADCチャネル200側のデジタル出力信号D2よりも位相が遅れている例である。
【００１８】
その結果，デジタル出力信号D1,D2を合成器１で合成すると，合成デジタル出力信号D_OUTは，元のアナログ入力信号A_INに図３（３）で示すようなスキュー誤差dtを有する。このスキュー誤差dtは，デジタル出力信号D1,D2の差D2-D1であり，上記のスキューΔｔが大きくなるほど，このスキュー誤差dtの振幅が大きくなる。サンプリングクロックのスキューΔｔがゼロの場合は，図３（２）のデジタル出力信号D1,D2の位相は一致し，図３（３）に示すスキュー誤差dtは全てのサンプリングタイミングでゼロになる。
【００１９】
このように，２つのデジタル出力D1,D2の波形の差がサンプルクロックのスキューにより発生する誤差，スキュー誤差であり，２つのADCチャネルの出力を合成したデジタル出力信号D_OUTに含まれる。デジタル出力D1をサンプリングしてAD変換した値は，図３（３）の横軸上の白丸のとおりスキュー誤差はゼロであるが，デジタル出力D2をサンプリングしてAD変換した値は，図３（３）の黒丸のとおりデジタル出力D2,D1の差D2-D1に対応する誤差を有する。つまり，合成されたデジタル出力信号D_OUTには，アナログ入力信号成分（デジタル出力D1の値）に加えて，サンプリングクロックΦBでのデジタル出力D1,D2の差分であるスキュー誤差によるイメージ信号成分（スプリアス成分）が含まれている。
【００２０】
図３（３）に示されるとおり，このスキュー誤差は，サンプリングクロックΦB（周波数fs/2）の周期2/fs毎に発生し，アナログ入力信号（D1の波形）の周期1/finの包絡線の値に対応する値を有し，アナログ入力信号とは位相がπ/2ずれている。したがって，このスキュー誤差に起因するイメージ信号成分は，サンプリング周波数fsの２分の１の高周波fs/2と，アナログ入力信号（D1の波形）の周波数finの低周波とを有する波形であり，その周波数はfs/2-finである。
【００２１】
図４は，タイムインタリーブ型のADCの例を示す図である。この例は，スキュー誤差であるイメージ信号成分をバックグランドでキャリブレーションするADCである。この例も，2個のADCチャネル100,200を有する例である。
【００２２】
図４のタイムインタリーブ型のADCは，図１と同様に，２個のADCチャネル100,200と，それらのデジタル出力D1,D2を合成する加算器１とを有する。さらに，ADCは，第２チャネルのADC200のデジタル出力D2の位相を進めるか遅延させかの位相シフトをする適応フィルタ７を有する。そして，図４のADCは，補正回路２０を有し，補正回路２０は，加算器１により合成されたデジタル出力信号D_OUTからスキュー誤差を検出し，デジタル出力D2のスキューに対応して位相シフトして，合成デジタル出力信号D_OUTのスキュー誤差を抑制またはなくすように適応フィルタ７の係数S６を生成する。この補正回路２０は，合成デジタル出力信号D_OUTからスキュー誤差を検出するスキュー誤差検出回路１０と，そのスキュー誤差の平均値dt(n)を生成するアキュムレータ５と，スキュー誤差の平均値dt(n)に基づいて適応フィルタ７の係数S６を生成する係数演算器６とを有する。
【００２３】
すなわち，図３に示されるとおり，スキュー誤差dtはサンプリング周期1/fsの２倍の周期2/fsで発生し，且つ，スキューΔｔの大きさに比例する振幅で変動する。そこで，補正回路２０は，スキューΔｔに対応する値としてスキュー誤差の平均値dt(n)（スキュー誤差推定量とも称する。）を求めて，そのスキュー誤差の平均値dt(n)を抑制するような係数S６を適応フィルタ７に設定する。つまり，適応フィルタ７に対して，図３（２）に示したスキューΔtに対応する位相シフトを行う係数S6を設定する。
【００２４】
より具体的には，補正回路２０は，スキュー誤差検出回路１０とアキュムレータ５とによりデジタル出力信号D_OUTからスキュー誤差推定量dt(n)を演算で求め，係数演算器６によりその推定量に基づいてフィルタ係数S６を算出する。ここで，nはサンプリング回数である。適応フィルタ７はそのフィルタ係数S６に応じて第２のADCチャネル200のデジタル出力D2を位相シフトした信号のデジタル値に補正する。そして，その結果得られたデジタル出力信号D_OUTから再度スキュー誤差推定量dt(n)を演算し，フィルタ係数S６を算出する。このような処理をスキュー誤差推定量dt(n)がゼロに漸近するまで繰り返すことで，スキュー誤差が校正される。
【００２５】
図５は，スキュー誤差検出回路１０を説明する図である。図５（１）には，横軸を正規化した周波数，縦軸をパワーに対応させて，アナログ入力信号成分（周波数fin）とスキュー誤差によるイメージ成分（周波数fs/2-fin）とが示されている。
【００２６】
スキュー誤差検出回路１０は，合成デジタル出力信号D_OUT(またはy(n)）にサンプリングタイミングｎ毎に符号が＋１，−１，＋１，−１と反転する信号（−１）nを乗算する周波数シフト回路２を有する。この信号（−１）nは，サンプル周期1/fsの２倍の周期2/fsで変化する信号であり，その周波数はfs/2である。
【００２７】
したがって，周波数シフト回路２は，乗算回路からなる一種のミキサ回路である。したがって，その出力yd1(n)は，図５（２）に示されるように，周波数fs/2-finのイメージ成分は，信号（−１）nの周波数fs/2との差である周波数finにシフトされ，周波数finの入力信号は，信号（−１）nの周波数fs/2との差である周波数fs/2-finにシフトされる。
【００２８】
さらに，図３（３）に示したとおり，入力信号finとイメージ成分の信号（スキュー誤差信号）とは，位相がπ／２ずれている。そこで，スキュー誤差検出回路１０は，周波数シフト回路２の出力の位相を−π／２シフトする位相シフト回路３を有する。この位相シフト回路３による−π／２シフトにより，図５（１）に示される合成デジタル出力信号y(n)の入力信号成分とイメージ成分とは，位相が一致または反転した信号になり，図５（２）に示される位相シフト回路３の出力信号yd1(n)のイメージ成分と入力信号成分も，同様である。
【００２９】
つまり，図３（２）（３）で説明したとおり，ADCチャネルCh2側がCh1側に対して位相が遅れているか進んでいるかに依存して，スキュー誤差dtを-π／２シフトした信号は，入力信号D2と位相が逆相または同相になる。
【００３０】
そこで，スキュー誤差検出回路１０内の乗算器４は，合成デジタル出力信号y(n)と位相シフト回路３の出力信号yd1(n)とを乗算し，合成デジタル出力信号y(n)の入力信号成分と位相シフト回路３の出力信号yd1(n)のイメージ成分との乗算値と，合成デジタル出力信号y(n)のイメージ成分と位相シフト回路３の出力信号yd1(n)の入力信号成分との乗算値とを加算した値を出力する。その結果，乗算器４は，イメージ成分の振幅に比例した値を出力する。しかも，乗算器４の出力のスキュー誤差dtは，ADCチャネルCh2側がCh1側に対して位相が遅れているか進んでいるかに依存して極性が逆になる。乗算された信号の周波数は一致しているので，この出力には周波数成分は含まれていない。
【００３１】
ただし，乗算器４の出力dtはスキュー誤差に対応した値を有するが，スキュー誤差は，図３（３）に示したように変動している。そこで，補正回路２０内のアキュムレータ５が，乗算器４の出力を積分して平均化し，そのＡＣ成分を除去する。したがって，アキュムレータ５が出力するスキュー誤差の平均値dt(n)は，サンプリングタイミング毎に更新される平均値であり，スキューΔｔの大きさに対応する値である。そして，スキュー誤差の平均値dt(n)は，スキューの方向も極性で示している。
【００３２】
最後に，係数演算回路６は，サンプリングクロックSCLK（fs）に同期して，スキューの大きさに対応するスキュー誤差の平均値dt(n)に基づいて，スキュー誤差を抑制するように適応フィルタ７の位相シフト量を設定する係数S６を演算し，係数S6を適応フィルタ７に設定する。このフィードバック制御をサンプリングクロック（またはそれを分周したクロック）に同期して繰り返すことで，スキュー誤差の平均値dt(n)がゼロに近づくように抑制される。
【００３３】
なお，乗算器４には，ステップサイズStep Sizeが係数として与えられている。このステップサイズは，フィードバック制御の速度を制御するための係数であり，ステップサイズが大きければフィードバック制御がより速く収束するがオーバシュートやアンダーシュートも大きくなり，ステップサイズが小さければオーバシュートやアンダーシュートは小さくなるものの収束が遅くなる。
【００３４】
図６は，適応フィルタ７の回路図である。適応フィルタ７は，ｎビットの入力デジタル信号ｘ（ｔ）を係数S6によって所望の波形に補正した出力デジタル信号ｙ（ｔ）を出力する。本実施の形態では，適応フィルタ７は，係数S6によって入力デジタル信号ｘ（ｔ）の位相を，所望のシフト量シフトした出力デジタル信号ｙ（ｔ）を出力する。
【００３５】
適応フィルタ７は，入力デジタル信号ｘ（ｔ）を１クロック遅延する遅延フリップフロップDFFをビット数分だけ有する遅延回路１１を複数有する。さらに，適応フィルタ７は，各遅延回路１１の入力ノードと出力ノードをタップとし，そのタップのデジタル値と，係数演算回路６が出力する各タップに設定する係数S6とをそれぞれ乗算する複数の乗算器１２と，これらの乗算器１２の出力を加算する加算器１３とを有する。加算器１３のデジタル出力が出力デジタル信号ｙ（ｔ）である。図６の適応フィルタ７は，タップ数が多いほど高い次数のフィルタになる。
【００３６】
図７は，適応フィルタの動作を示す図である。図７には，入力デジタル信号ｘ（ｔ）と，係数S6として使用されるデルタ関数δ（ｔ）と，出力デジタル信号ｙ（ｔ）とが示されている。横軸は時間軸であるとともに，図６に示した適応フィルタ内のタップ位置にも対応する。
【００３７】
適応フィルタ７は，入力デジタル信号ｘ（ｔ）を全て通過させる全通過型フィルタである。そのため，適応フィルタ７は，以下の式（１）のように，入力デジタル信号ｘ（ｔ）とディラックのデルタ関数δ（ｔ）の畳み込み演算を実行する。
【００３８】
【数１】
0005835031.tif 000002
ここで，Tは定数，Nはタップ数である。
【００３９】
図７（１）と式（１）に示されるとおり，入力デジタル信号ｘ（ｔ）は，時間Tのサンプリング間隔で変化するデジタル値であり，デルタ関数δ（ｔ）は時間ｔ＝０（中央のタップ）では所定の大きさを有し，それ以外では０の大きさを有する。したがって，適応フィルタの複数の乗算器１２は，中央のタップ（ｔ＝０）の入力デジタル信号ｘ（ｔ）を時間ｔ＝０のデルタ関数δ（ｔ）の値と乗算し，他のタップ（ｔ＝０以外）の入力デジタル信号ｘ（ｔ）を時間t＝０以外の値０と乗算し，それらの加算値を出力する。そして，適応フィルタ７は，サンプリングクロックに同期して，サンプリング間隔で遅延シフトされる入力デジタル信号ｘ（ｔ）の中央タップの入力デジタル値を，順次出力する。つまり，図７（１）に示されるように，出力デジタル信号ｙ（ｔ）は，各サンプリングタイミングを中心とするサンプリング周期毎に順次異なるデジタル値を有する。
【００４０】
次に，係数Ｓ６による位相シフトについて説明する。図７（２）に示すように，係数演算回路６が，デルタ関数δ（ｔ）を時間軸上で右側にシフトさせて（つまりタップ位置を右側にシフト），例えば時間２Ｔでゼロ以外の所定の値になり，時間２Ｔ以外では０になるようにする。このような係数に設定されると，図７（２）の適応フィルタが出力する時間nTでの出力デジタル信号ｙ（ｔ）は，入力デジタル信号ｘ（ｔ）の時間(n+2)Tでのデジタル値となる。つまり，図７（２）の出力デジタル信号ｙ（ｔ）は，入力デジタル信号ｘ（ｔ）の位相を２タップだけ左にシフトした，つまり位相を遅らせた信号になる。適応フィルタ内の複数のタップには時間の経過とともに入力デジタル信号ｘ（ｔ）がシフトしていくので，タップ位置を左にシフトすることは，２クロック過去の信号を出力することを意味し，入力デジタル信号の位相を遅延させることになる。逆に，デルタ関数δ（ｔ）を左側にシフトさせれば，位相を進めることができる。
【００４１】
このように，デルタ関数δ（ｔ）の位相をシフトして適応フィルタに係数を設定することで，適応フィルタは入力デジタル信号の位相をいずれかの方向にシフトして出力することができる。以上が，図４の補正回路２０と適応フィルタ７についての説明である。
【００４２】
［適応フィルタで改善すべき点］
次に，係数Ｓ６がディラックのデルタ関数ではなく，sinc関数の場合について説明する。図４の補正回路２０の係数演算回路６は，回路構成上の理由から，ディラックのデルタ関数のような理想的な係数ではなく，sinc関数による係数で実現される。しかし，sinc関数によるフィルタ係数を利用した場合に，以下のような改善すべき点がある。
【００４３】
図８は，sinc関数の波形を示す図である。そして，sinc関数h(n)は，以下の式（２）で表される。
【００４４】
【数２】
0005835031.tif 000003
ここで，FDは，適応フィルタ７の複数のタップに対応する横軸方向の位相シフト量（または遅延量）である。図８から明らかなとおり，横軸nが位相シフト量FD（図８ではFD=3）と等しければ（n=FD=3），sinc関数h(n)の出力は１になり，横軸nが位相シフト量FD（FD=3）以外であれば，sinc関数h(n)の出力は０になる。適応フィルタ７は，このようなsinc関数h(n)によるフィルタ係数を利用することで，デルタ関数δ（ｔ）によるフィルタ係数と同様に全通過型のフィルタになる。
【００４５】
図９は，sinc関数によるフィルタ係数を使用した場合の適応フィルタの動作を示す図である。sinc関数h3によるフィルタ係数を使用した場合は，タップmTでの入力デジタル信号ｘ（ｔ）が出力される。そして，sinc関数h5によるフィルタ係数を使用した場合は，タップ(m+2)Tでの入力デジタル信号ｘ（ｔ）が出力され，位相がシフトする（遅れる）。
【００４６】
上記のようにsinc関数による係数を設定するようにしても，位相シフト量（遅延量）FDが整数の場合は，デルタ関数による係数と同様の位相シフト制御を行うことができる。ただし，タイムインタリーブADCにおけるADCチャネル間のスキュー量は，サンプルクロックの周期よりも短い時間であり，位相シフト量（遅延量）FDを非整数（小数点以下）の精度で設定することが必要になる。
【００４７】
図１０は，sinc関数h(n)の位相シフト量（遅延量）FDが非整数の例の波形を示す図である。この例では，位相シフト量FDはFD=3.2と非整数である。そのため，適応フィルタ内の各タップの乗算器に入力される係数は，ｎ＝３で１に近い大きな値をとるが，ｎ＝−２〜２，４〜８ではゼロにはならない。ただし，ｎ＝３の大きな値とｎ＝４の比較的大きな値とにより，位相シフト量がｎ＝３．２に制御される。また，ｎ＝３，４以外の比較的小さい値により，適応フィルタ内の対応する乗算器は比較的小さな乗算値を出力する。したがって，位相シフト量FDが非整数の場合は，適応フィルタ７の出力デジタル信号ｙ（ｔ）は入力デジタル信号ｘ（ｔ）とは異なる値になる。
【００４８】
以下の式（３）は図８のような一つのタップのみ係数が１で他のタップの係数が０の場合の適応フィルタ７の伝達関数Ｈｄである。つまり，理想的な伝達関数Ｈｄである。
【００４９】
【数３】
0005835031.tif 000004
つまり，この伝達特性Ｈｄでは，入力デジタル信号ｘ（ｔ）の位相がＦＤだけシフトされた出力デジタル信号ｙ（ｔ）が生成される。
【００５０】
次に，sinc関数の係数を利用した適応フィルタの伝達特性Ｈは，以下の式（４）のとおりである。つまり，sinc関数h(n)を採用したことで理想的な伝達関数Ｈｄに誤差が加えられる。
【００５１】
【数４】
0005835031.tif 000005
その結果，式（４）と（３）の差分が誤差Eになり，次の式（５）のとおりである。
【００５２】
【数５】
0005835031.tif 000006
この誤差Eは，ナイキスト角周波数ωｓ，つまりω＝πの場合は，次の式（６）のとおりである。
【００５３】
【数６】
0005835031.tif 000007
図１１は，伝達関数Ｈの周波数特性を示す図である。式（５）（６）に示された誤差は，入力デジタル信号ｘ（ｔ）が低周波の場合は，ほとんど無視できる程度であり，伝達関数Ｈは理想値１になる。しかし，高周波になると誤差が大きくなり，伝達関数Ｈは位相シフト量ＦＤが正の場合は高い周波数帯で低下し，負の場合は上昇する（破線）。なお，図１１のａは，任意の値である。
【００５４】
sinc関数による係数を設定した場合に適応フィルタの伝達関数Ｈが，図１１のような周波数特性になる理由は，概ね以下のとおりである。つまり，図１０のようなsinc関数によるフィルタ係数は，中央のピーク値以外は振幅が小さく，且つ正と負になっている。したがって，アナログ入力信号finが低周波の場合は，適応フィルタ内の複数のタップでの振幅はなだらかに変化し，図１０の係数との畳み込み演算では，真ん中のタップ以外のタップの乗算値の累積値は，正の係数と負の係数とで概ね相殺されて，理想値に近い値が出力される。これが，図１１の低周波領域で伝達関数はＨ＝１になっている理由である。伝達関数H=1とは，適応フィルタが入力信号をそのまま通過させて出力することを意味する。
【００５５】
一方，アナログ入力信号が高周波になると，適応フィルタ内の複数のタップでの入力信号の振幅は大きく変動し，フィルタ係数の正と負の値による相殺効果が弱められ，誤差が大きくなる。その結果，高周波領域では伝達関数Ｈは理想値１から下降または上昇する。伝達関数が理想値１から下降または上昇することは，適応フィルタの出力信号が入力信号と等しくなく誤差を有していることを意味する。
【００５６】
このような周波数特性は，適応フィルタのタップ数が多い場合は，上記の相殺効果が強められ，より高い周波数までＨ＝１となるが，逆にタップ数が少ない場合は，相殺効果は弱くなり，低い周波数でも伝達関数がＨ＝１から下降または上昇する特性になる。
【００５７】
次に，適応フィルタの群遅延量（位相シフト量）について説明する。以下の式（７）は適応フィルタ７の周波数応答である。すなわち，適応フィルタ７の周波数特性は，振幅特性Ｇ（ω）と位相特性θ（ω）とを有する。また，この式（７）は，前述の式（４）の伝達関数Ｈに対応する。
【００５８】
【数７】
0005835031.tif 000008
一方，上記の式（７）から，適応フィルタ７の群遅延特性（位相シフト量）Ｄ（ω）は，位相特性θ（ω）を角周波数ωで微分したものであり，以下の式（８）のとおりである。
【００５９】
【数８】
0005835031.tif 000009
そこで，式（７）の対数をとると以下の式（９）が導かれる。
【００６０】
【数９】
0005835031.tif 000010
ここでｌｎは対数を表す。
【００６１】
式（９）を角周波数ωで微分すると，以下の式（１０）を得る。
【００６２】
【数１０】
0005835031.tif 000011
そこで，式（８）に式（１０）を代入すると，適応フィルタ７の群遅延Ｄ（ω）は，以下の式（１１）のとおりになる。
【００６３】
【数１１】
0005835031.tif 000012
式１１から，群遅延Ｄ（ω）は，式（７）つまり式（４）の伝達関数Ｈの微分値Ｈ’に対応する特性を有する。この微分値Ｈ’は，図１１の特性を角周波数ωで微分したものである。
【００６４】
図１２は，微分値Ｈ’の特性を示す図である。図１１の伝達関数Ｈのグラフの傾きがＨ’になる。したがって，図１２の微分値Ｈ’は，低周波数領域では０，高周波数領域でＨが下降するところでマイナスになり，一方上昇するところでプラスになる。
【００６５】
図１３は，群遅延Ｄ（ω）の周波数特性を示す図である。式（１１）は，Ｈ’にＦＤが加えられているので，図１３の特性図は，ＦＤが正の場合は縦軸の正の方向にシフトした実線の特性になり，ＦＤが負の場合は縦軸の負の方向にシフトした破線の特性になる。そして，正の位相シフト量ＦＤの絶対値を大きくすると特性は正の方向に移動し，負の位相シフト量ＦＤの絶対値を大きくすると特性は負の方向に移動する。また，群遅延が下降または上昇する周波数f4は，適応フィルタが高次元（タップ数が多い）ほど高くなり，一方，低次元（タップ数が少ない）ほど低くなる。
【００６６】
図１４は，群遅延特性Ｄ（ω）と周波数特性Ｈ（ω）の具体的な波形例を示す図である。図１４に示されるとおり，適応フィルタ７の伝達関数の周波数特性Ｈ（ω）は，高周波領域で僅かに低下している。Ｈ（ω）の拡大図でその低下が見て取れる。それに伴い，Ｈ（ω）の微分値に対応する群遅延特性Ｄ（ω）は，高周波領域でマイナス側に低下している。このように，具体的な波形例は，図１３の群遅延の周波数特性と一致する。
【００６７】
このように，適応フィルタにsinc関数による係数を設定して，位相をシフトしようとすると，入力信号が低周波の場合は，遅延量ＦＤに対応した方向に位相シフトさせることができるが，高周波では必ずしもそのようにはならない。入力信号が高周波では遅延量FDに対して位相シフトの方向が低周波とは逆になるのである。しかも，図１３の特性は，周波数f4より高い領域での実線の低下（または破線の上昇）の傾きは，遅延量FDを大きくするとより急峻になることが確認された。
【００６８】
図１３で説明したように，sinc関数による係数を利用した適応フィルタの場合は，その群遅延量Ｄ（ω）は，特異な周波数特性を有する。このような周波数特性に起因して，図４に示した補正回路２０によるスキュー誤差抑制のフィードバック制御を工夫する必要がある。以下，その点について説明する。
【００６９】
図１５は，sinc関数による係数が設定される適応フィルタの群遅延Ｄ（ω）の周波数特性とスキュー補正制御を示す図である。仮に，適応フィルタへの入力信号の周波数がfinであるとする。この周波数finは，サンプリング周波数fs/2に対して十分に低周波である。
【００７０】
図１５（Ａ）では，ADCチャネル２００側のデジタル信号D2に含まれているスキューを抑制するために適応フィルタで必要な位相シフト量（遅延量）がSK1の場合である。適応フィルタで位相シフト量をSK1にするためには，sinc関数の位相シフト量もSK1にする必要がある。そこで，この場合は，図４の係数演算回路６が， sinc関数の位相シフト量FDを矢印のスキュー補正方向SCD1にΔｔ１，Δｔ２と制御しながら係数を演算し，その係数を適応フィルタに設定することで，スキュー誤差の平均値dt(n)を抑制させ，やがて，目標の位相シフト量SK1と一致させることができる。
【００７１】
一方，図１５（Ｂ）では，ADCチャネル２００側のデジタル信号D2に含まれているスキューを抑制するために必要な位相シフト量（遅延量）がSK2とSK1とは符号が逆転している場合である。この場合も，図４の係数演算回路６が，sinc関数の位相シフト量FDを矢印のスキュー補正方向SCD2に−Δｔ１，−Δｔ２と制御しながら係数を演算し，その係数を適応フィルタに設定することで，スキュー誤差の平均値dt(n)を抑制させ，やがて，目標の位相シフト量SK2と一致させることができる。
【００７２】
図１６は，入力信号が高周波の場合のスキュー補正制御の問題点を示す図である。この例では，入力信号の周波数finがサンプリング周波数fs/2に近い高周波であり，適応フィルタの群遅延が設定した遅延量FDに対して逆の極性になるゼロクロス点の周波数f1よりも高い例である。
【００７３】
図１６（Ａ）では，スキュー補正に必要な位相シフト量（遅延量）がSK3である。この場合，図１５（Ａ）と同様に，係数演算回路６が，sinc関数の位相シフト量FDをスキュー補正方向SCD3にΔｔ１，Δｔ２と制御しながら係数を演算して適応フィルタに設定しても，入力信号の周波数finがゼロクロス点の周波数f1よりも高いため，適応フィルタの遅延量は逆極性の方向に変化する。したがって，位相シフト量FDをスキュー補正方向SDC3にいくら増加させても，適応フィルタの遅延量をスキュー補正に必要な遅延量SK3にすることはできない。
【００７４】
そこで，図１６（Ｂ）のように，適応フィルタのタップ数を増加させて次数を上げれば，矢印の方向（高周波方向）に周波数特性をシフトさせることができる。そして，図１５のように適応フィルタの係数制御を行えばよい。しかしながら，適応フィルタのタップ数を増やすと，回路規模が大きくなり，消費電力，チップ面積が増大するので，好ましい方法ではない。
【００７５】
［本実施の形態におけるスキュー補正方法］
図１７は，本実施の形態における第１のスキュー補正方法を説明する図である。この例では，図１６と同様に，スキュー補正に必要な位相シフト量（遅延量）がSK4であり，入力信号の周波数finはゼロクロス点の周波数f1より高い。つまり，f1<fin<fs/2の場合である。
【００７６】
第１のスキュー補正方法では，図１７中のステップ１（Step 1）のように，位相シフト量（遅延量）SK4が得られるように，係数演算回路６が，sinc関数の位相シフト量FDをスキュー補正方向SCD4-1にΔｔ１，Δｔ２と制御しながら係数を演算し，その係数を適応フィルタに設定する。しかし，図１７の例では，入力信号の周波数finがゼロクロス点周波数f1より高いので，位相シフト方向は逆方向になり，したがって，スキュー誤差dt(t)は逆に大きくなる。その理由は，図１６（Ａ）に示されるように，群遅延の周波数特性は，ゼロクロス点の周波数f1より高い周波数帯域では，位相シフト量FDを正方向に増大させるほど，適応フィルタの位相シフトは，負方向に増大するからである。
【００７７】
そこで，位相シフト量FDが許容される最大値に達しても，スキュー誤差の平均値dt(t)が抑制されない場合は，ステップ２（Step 2）のように，係数演算回路６が，sinc関数の位相シフト量FDの極性を反転させ，スキュー補正方向SCD4-2にFD=−Δｔ３からFDの絶対値を増大させるように係数を演算して制御する。位相シフト量FDが負の場合は，適応フィルタの位相シフトは，周波数fin（＞f1）では，正の方向になり，位相シフト量FDの絶対値を増大させると，正方向に位相シフト量（遅延量）が増大する。つまり，f1より高い周波数では周波数特性の傾きが急峻になる。そのため，図１７のステップ２に示されるように，適応フィルタに必要な位相シフトSK4を持たせることができ，スキュー誤差dt(t)は抑制される。
【００７８】
図１７では，スキュー補正に必要な位相シフト量（遅延量）が正の方向のSK4であるが，負の位相シフト量である場合も同様の制御が可能である。つまり，係数演算回路６は，最初に，位相シフト量FDを負の値から徐々にFDの絶対値を増大するように制御し，最大値に達したら，極性を反転して正の値から徐々にFDの絶対値を増大すればよい。
【００７９】
図１８は，本実施の形態における第２のスキュー補正方法を説明する図である。この例では，図１７と異なり，入力信号の周波数finがゼロクロス点の周波数f1より低く，群遅延が低下し始める周波数f2（群遅延が負極性の場合は増加し始める周波数）より高い。つまり，f2<fin<f1の場合である。このように，入力信号の周波数finがゼロクロス点の周波数f1より低い場合は，図１７の第１のスキュー補正方法ではスキューを抑制することはできない。
【００８０】
図１８の第２のスキュー補正方法によれば，ステップ１，ステップ２の補正制御は図１７と同じである。すなわち，ステップ１で，係数演算回路６は，位相シフト量FDを正の値から徐々にFDの絶対値を増大するように制御し，それが最大値に達したら，ステップ２で，極性を反転して負の値から徐々にFDの絶対値を増大する。しかし，周波数finがf2<fin<f1であるので，適応フィルタの周波数finに対する群遅延をSK5に整合させることができない。
【００８１】
そこで，ステップ２で位相シフト量FDの絶対値が最大値に達したら，ステップ３で，適応フィルタのタップ数を減らしてフィルタ次数を減らす。タップ数を減らすためには，適応フィルタの両端側の乗算器１２に設定する係数をゼロにして，その乗算器１２の出力が加算器１３に加算されないようにすればよい。フィルタの次数が低下すると，群遅延の周波数特性は，群遅延量が低下（または上昇）する周波数が低くなる。そこで，入力信号の周波数finがゼロクロス点の周波数f2より高くなるまで，フィルタの次数を低下させる。その上で，ステップ２と同様に，負の値から徐々に位相シフト量FDの絶対値を徐々に増大させる。その結果，入力信号の周波数finでは群遅延量が正の方向に増大し，必要な遅延量SK5の群遅延量を周波数finに対して与えることができる。
【００８２】
［第１の実施の形態におけるタイムインタリーブADC］
図１９は，第１の実施の形態におけるタイムインタリーブADCの構成図である。図４と異なる構成は，スキュー誤差検出回路１０とアキュムレータ５との間に，スキュー誤差dtの極性を反転する極性反転回路１２を設けたことと，スキュー誤差の平均値dt(n)が最大値MAXに達したか否かを判定するコンパレータ１７と，図１７で説明したステップStep1,2，図１８で説明したステップStep1,2,3を制御する状態制御回路１８と，適応フィルタ７の次数を決定するフィルタ次数決定回路１９とを設けたことである。
【００８３】
極性反転回路１０は，極性反転のためにスキュー誤差dtに(-1)を乗算する乗算器１４と，スキュー誤差検出回路１０の出力を極性反転せずに出力するか，極性反転して出力するかを制御信号S18-1に基づいて選択するマルチプレクサ１３とを有する。また，アキュムレータ５は，極性反転回路１２の出力を１クロック遅延する遅延FF回路１５と，極性反転回路１２の出力である現在のスキュー誤差dtに遅延回路１５の出力を加算する加算器１６とを有する。したがって，アキュムレータ５の出力は，スキュー誤差検出回路１０でステップサイズStep Sizeにより所定比率で縮小されたスキュー誤差dtを累積したスキュー誤差の平均値dt(n)になる。また，状態制御回路１８は，ケース制御信号S18-1により極性反転回路１２の極性反転の有無を制御し，リセット制御信号S18-2によりアキュムレータ５の累積値をリセットする。
【００８４】
図２０は，図１９のタイムインタリーブADCのスキュー補正回路２０の動作を示すフローチャート図である。このスキュー補正によれば，スキュー補正回路２０は，図１８の３つのステップを順番に行う。以下，図２０のフローチャートに沿って，図２０のスキュー補正回路２０の動作を説明する。
【００８５】
［ステップ１  Step 1］
まず，ステップ１では，状態制御回路１８は，case制御信号S18-1を０に設定して極性反転回路１２を非反転にし，リセット制御信号S18-2をリセット状態にしてアキュムレータ５内の遅延FF回路１５をリセットし累積値をリセットする。そして，スキュー誤差の平均値dt(n)の大きさと極性に応じて，係数演算回路６は，必要な位相シフト量（遅延量）FDを計算し，sinc関数により係数S6を計算し，適応フィルタ７の各タップの乗算器１２（図６参照）に係数S6を設定する（Ｓ５０）。その結果，得られるスキュー誤差の平均値dt(n)がゼロになれば（または所望の小さいレベルまで抑制されれば），スキュー補正制御は終了する（Ｓ５１のＹＥＳ）。しかし，スキュー誤差の平均値dt(n)がゼロにならなければ（Ｓ５１のＮＯ），その絶対値が適応フィルタの許容最大値MAXに達しない間は（Ｓ５２のＮＯ），工程Ｓ５０を繰り返す。これによりスキュー誤差の平均値dt(n)はゼロに漸近する。スキュー誤差の平均値dt(n)の絶対値が最大値MAXに達しているか否かは，コンパレータ１７が判定し，その結果が状態制御回路１８に伝えられる。
【００８６】
上記のステップ１でのスキュー補正制御は，図１７，図１８で説明した通りである。スキュー誤差の平均値dt(n)の極性に応じて，係数演算回路６は，必要な位相シフト量（遅延量）FDの極性を決定し，また，スキュー誤差の平均値dt(n)の大きさに応じて，係数演算回路６は，必要な位相シフト量（遅延量）FDの大きさを決定する。この位相シフト量（遅延量）FDが，図１７，１８の縦軸の群遅延量に対応する。
【００８７】
［ステップ２  Step 2］
コンパレータ１７が，ステップ１で，スキュー誤差の平均値dt(n)が最大値MAXに達したことを検出したら（Ｓ５２のＹＥＳ），状態制御回路１８は，case制御信号S18-1を１に設定し，リセット制御信号S18-2をリセット状態にして，ステップ２の制御に入る。これにより，スキューエラー検出回路１０が出力するスキュー誤差dtの極性が反転され，累積値もリセットされる。
【００８８】
そして，スキュー誤差の平均値dt(n)の大きさと極性に応じて，係数演算回路６は，必要な位相シフト量（遅延量）FDを計算し，sinc関数により係数S6を計算し，適応フィルタ７の各タップの乗算器１２に設定する（Ｓ５４）。この工程Ｓ５４が，スキュー誤差の平均値dt(n)がゼロにならないで（Ｓ５５のＮＯ），その絶対値が最大値MAXに達しない（Ｓ５６のＮＯ）間は，繰り返される。
【００８９】
このステップ２では，極性反転回路１２の極性反転により，係数演算回路６は，適応フィルタに必要な位相シフト量SK4を極性反転した架空の位相シフト量-SK4に応じて係数S6を設定する。したがって，補正回路２０は，位相シフト量FDを負側でその絶対値を徐々に大きくして，スキュー誤差の平均値dt(n)を抑制するように補正制御する。
【００９０】
図１７の例の場合は，このステップ２で適応フィルタに必要な位相シフト量SK4に対応する係数S6が設定されて，スキュー誤差の平均値が適切に抑制され，スキュー補正制御は終了する。しかし，図１８の例の場合は，このステップ２ではスキュー誤差の平均値dt(n)は適切に抑制されず，スキュー誤差の平均値dt(n)が最大値MAXに達する（Ｓ５６のＹＥＳ）。
【００９１】
［ステップ３  Step 3］
ステップ２で，コンパレータ１７がスキュー誤差の平均値dt(n)が最大値MAXに達したことを検出したら（Ｓ５６のＹＥＳ），状態制御回路１８は，リセット制御信号S18-2をリセット状態にし，case制御信号S18-1は１のまま，フィルタ次数を下げるようにフィルタ次数決定回路１９を制御する（Ｓ５８）。これにより，スキュー補正はステップ３に入る。このフィルタ次数を下げる制御に応答して，係数演算回路６は，適応フィルタ７の両側の乗算器１２への係数をゼロにする。
【００９２】
そして，ステップ２と同様に，スキュー誤差の平均値dt(n)の大きさと極性に応じて，係数演算回路６は，必要な位相シフト量（遅延量）FDを計算し，sinc関数により係数S6を計算し，適応フィルタ７の各タップの乗算器１２に設定する（Ｓ５９）。この工程Ｓ５９が，スキュー誤差の平均値dt(n)がゼロにならないで（Ｓ６０のＮＯ），その絶対値が最大値MAXに達しない（Ｓ６１のＮＯ）間は，繰り返される。
【００９３】
スキュー誤差の平均値dt(n)の絶対値が最大値MAXに達すると（Ｓ６１のＹＥＳ），コンパレータ１７の検出信号に応答して，状態制御回路１８は，再度リセット制御信号S18-2をリセット状態にし，適応フィルタの次数を減らす制御を行い（Ｓ５８），同様にステップ２の制御を繰り返す。そして，やがて，スキュー誤差の平均値dt(n)が適切に抑制されたら，スキュー補正を終了する。
【００９４】
以上のスキュー補正制御により，入力信号の周波数finがゼロクロス点の周波数f1より大きくても，さらに，周波数f1とf2の間の場合でも，スキュー補正回路２０は，適応フィルタの係数を適切に設定し，次数を適切なレベルに制御して，スキュー補正を行う。
【００９５】
［第２の実施の形態におけるタイムインタリーブADC］
図２１は，第２の実施の形態におけるタイムインタリーブADCの構成図である。図１９と異なる構成は，バンドパスフィルタ２１と振幅判定回路２２とを有しcase制御信号を極性反転回路１２のマルチプレクサ１３に供給するcase制御信号生成回路３０と，スキュー誤差の平均値dt(n)をcase制御信号が１の場合にコンパレータ１７に入力するアンドゲート２３とが追加されていることである。
【００９６】
そして，case制御信号生成回路３０が，ケース１のスキュー補正制御をするか，スキュー誤差dtの極性を反転してケース２，３のスキュー補正制御をするかを，合成デジタル出力信号y(n)の周波数に基づいて判定する。すなわち，case制御信号生成回路３０が，合成デジタル出力信号y(n)に含まれている入力信号の周波数finが，図１７や図１８のように，f2<finであるか否かを判定する。
【００９７】
そのために，バンドパスフィルタ２１が周波数f2よりも低い周波数を通過させるローパスフィルタであれば，そのフィルタ２１の出力の振幅が基準値よりも高い場合は，fin<f2と判定されて，case制御信号は０に設定され，極性反転回路１２は極性反転しない。この場合は，スキュー補正制御はステップ１だけを実行する。一方，フィルタ２１の出力振幅が基準値よりも低い場合は，f2<finと判定されて，極性反転回路１２は極性反転する。この場合は，スキュー補正制御はステップ２，３を実行する。ステップ２からステップ３への切り替わりをコンパレータ１７が判定するので，アンドゲート２３は，case制御信号が１の場合のみスキュー誤差の平均値dt(n)をコンパレータ１７に入力する。
【００９８】
なお，case制御信号生成回路３０は，ADCチャネル１００または２００の出力を入力しても良い。
【００９９】
図２２は，図２１のタイムインタリーブADCのスキュー補正回路２０の動作を示すフローチャート図である。このスキュー補正によれば，スキュー補正回路２０は，case制御信号生成回路３０のcase制御信号に応じて（Ｓ６２），ステップ１の制御（Ｓ５０〜Ｓ５２）を行うか，ステップ２，３の制御（Ｓ５４〜Ｓ６１）を行う。したがって，第１の実施の形態の図２０の動作フローチャートのように，ステップ１，２，３を順番に行わず，ステップ１を行うか，ステップ２，３を行うかになり，第１の実施の形態よりもスキュー補正工程を短くすることができる。
【０１００】
第２の実施の形態においても，ステップ１，２，３のスキュー補正制御は，第１の実施の形態と同じである。
【０１０１】
以上説明したとおり，本実施の形態におけるタイムインタリーブADCによれば，入力信号の周波数finが高周波であっても，適切にスキュー補正制御を行うことができる。
【０１０２】
上記の実施の形態をまとめると以下のとおりである。
【０１０３】
（付記１）
アナログ入力信号をサンプリング周波数でサンプリングしてデジタル出力信号に変換するアナログデジタル変換器（以下ADC）であって，
前記アナログ入力信号をタイムインタリーブで前記デジタル出力信号に変換する複数のADCチャネルと，
前記複数のADCチャネルがそれぞれ出力するチャネルデジタル信号を合成して前記デジタル出力信号を生成するチャネル合成器と，
前記複数のADCチャネルの少なくとも一つの出力と前記チャネル合成器との間に設けられた適応フィルタと，
前記デジタル出力信号に含まれるスキュー誤差を検出し，前記スキュー誤差に応じて前記適応フィルタの係数を生成し前記適応フィルタに設定する補正回路とを有し，
前記補正回路は，第１のステップで，前記スキュー誤差に応じて前記適応フィルタが前記チャネルデジタル信号の位相を進めるかまたは遅延させるかのいずれか一方方向に位相シフトするように前記係数を設定し，第２のステップで，前記スキュー誤差に応じて前記一方方向と逆方向に位相シフトするように前記係数を設定し，前記スキュー誤差が所望レベルに抑制される係数を前記適応フィルタに設定するADC。
【０１０４】
（付記２）
付記１において，
前記補正回路は，前記第１のステップで前記係数に対応する位相シフト量が上限値に達したら，前記第２のステップで前記係数を設定するADC。
【０１０５】
（付記３）
付記２において，
前記補正回路は，さらに，前記第２のステップで前記係数に対応する位相シフト量が上限値に達したら，前記適応フィルタの次数を減じた後に前記第２のステップによる前記係数の設定を行う第３のステップを，前記スキュー誤差が所望レベルに抑制されるまで行うADC。
【０１０６】
（付記４）
付記１において，
前記補正回路は，前記チャネルデジタル信号またはデジタル出力信号の周波数が基準周波数より低い場合は，前記第１のステップによる前記係数の設定を行い，高い場合は前記第２のステップによる前記係数の設定を行うADC。
【０１０７】
（付記５）
付記４において，
前記補正回路は，さらに，前記第２のステップで前記係数に対応する位相シフト量が上限値に達したら，前記適応フィルタの次数を減じた後に前記第２のステップによる前記係数の設定を行う第３のステップを，前記スキュー誤差が所望レベルに抑制されるまで行うADC。
【０１０８】
（付記６）
付記１乃至５のいずれかにおいて，
前記適応フィルタは，前記チャネルデジタル信号をクロックに同期して順次ラッチする複数の遅延ラッチ回路と，前記複数の遅延ラッチ回路の入力または出力の信号と係数とをそれぞれ乗算する複数の乗算器と，前記乗算器の出力を加算する加算器とを有し，
前記補正回路は，前記複数の乗算器に入力する複数の係数をsinc関数に基づいて生成する係数演算回路を有するADC。
【０１０９】
（付記７）
付記６において，
前記係数演算回路は，前記位相シフト量に対応して前記sinc関数の位相をシフトして前記複数の係数を生成するADC。
【０１１０】
（付記８）
付記６において，
前記係数演算回路は，前記複数の係数の一部をゼロに設定することで前記適応フィルタの次数を減じるADC。
【０１１１】
（付記９）
付記６において，
前記補正回路は，前記デジタル出力信号に含まれるスキュー誤差を検出するスキュー誤差検出回路を有し，
前記係数演算回路は，前記スキュー誤差の極性に応じて前記位相シフトの方向を決定し，前記スキュー誤差の大きさに応じて前記位相シフトの量を決定するADC。
【０１１２】
（付記１０）
付記９において，
前記補正回路は，さらに，前記スキュー誤差を監視して前記複数のステップ間の遷移を制御する状態制御回路を有するADC。
【０１１３】
（付記１１）
アナログ入力信号をサンプリング周波数でサンプリングしてデジタル出力信号に変換するアナログデジタル変換器（以下ADC）であって，
前記アナログ入力信号をタイムインタリーブで前記デジタル出力信号に変換する複数のADCチャネルと，
前記複数のADCチャネルがそれぞれ出力するチャネルデジタル信号を合成して前記デジタル出力信号を生成するチャネル合成器と，
前記複数のADCチャネルの少なくとも一つの出力と前記チャネル合成器との間に設けられた適応フィルタとを有するADCの補正回路において，
前記デジタル出力信号に含まれるスキュー誤差を検出するスキュー誤差検出回路と，
前記スキュー誤差に応じて前記適応フィルタの係数を生成し前記適応フィルタに設定する係数演算回路とを有し，
前記係数演算回路は，第１のステップで，前記スキュー誤差に応じて前記適応フィルタが前記チャネルデジタル信号の位相を進めるかまたは遅延させるかのいずれか一方方向に位相シフトするように前記係数を設定し，第２のステップで，前記スキュー誤差に応じて前記一方方向と逆方向に位相シフトするように前記係数を設定して，前記スキュー誤差が所望レベルに抑制される係数を前記適応フィルタに設定するADCの補正回路。
【０１１４】
（付記１２）
付記１１において，
前記係数演算回路は，前記第１のステップで前記係数に対応する位相シフト量が上限値に達したら，前記第２のステップで前記係数を設定するADCの補正回路。
【０１１５】
（付記１３）
付記１２において，
前記係数演算回路は，さらに，前記第２のステップで前記係数に対応する位相シフト量が上限値に達したら，前記適応フィルタの次数を減じた後に前記第２のステップによる前記係数の設定を行う第３のステップを，前記スキュー誤差が所望レベルに抑制されるまで行うADCの補正回路。
【０１１６】
（付記１４）
付記１１において，
前記係数演算回路は，前記チャネルデジタル信号またはデジタル出力信号の周波数が基準周波数より低い場合は，前記第１のステップによる前記係数の設定を行い，高い場合は前記第２のステップによる前記係数の設定を行うADCの補正回路。
【０１１７】
（付記１５）
付記１４において，
前記係数演算回路は，さらに，前記第２のステップで前記係数に対応する位相シフト量が上限値に達したら，前記適応フィルタの次数を減じた後に前記第２のステップによる前記係数の設定を行う第３のステップを，前記スキュー誤差が所望レベルに抑制されるまで行うADCの補正回路。
【０１１８】
（付記１６）
付記１１乃至１５のいずれかにおいて，
前記適応フィルタは，前記チャネルデジタル信号をクロックに同期して順次ラッチする複数の遅延ラッチ回路と，前記複数の遅延ラッチ回路の入力または出力の信号と係数とをそれぞれ乗算する複数の乗算器と，前記乗算器の出力を加算する加算器とを有し，
前記補正回路は，前記複数の乗算器に入力する複数の係数をsinc関数に基づいて生成する係数演算回路を有するADCの補正回路。
【０１１９】
（付記１７）
アナログ入力信号をサンプリング周波数でサンプリングしてデジタル出力信号に変換するアナログデジタル変換器（以下ADC）であって，
前記アナログ入力信号をタイムインタリーブで前記デジタル出力信号に変換する複数のADCチャネルと，
前記複数のADCチャネルがそれぞれ出力するチャネルデジタル信号を合成して前記デジタル出力信号を生成するチャネル合成器と，
前記複数のADCチャネルの少なくとも一つの出力と前記チャネル合成器との間に設けられた適応フィルタとを有するADCの補正方法において，
前記デジタル出力信号に含まれるスキュー誤差を検出し，
第１のステップで，前記スキュー誤差に応じて前記適応フィルタが前記チャネルデジタル信号の位相を進めるかまたは遅延させるかのいずれか一方方向に位相シフトするように前記係数を前記適応フィルタに設定し，
第２のステップで，前記スキュー誤差に応じて前記一方方向と逆方向に位相シフトするように前記係数を前記適応フィルタに設定し，
前記スキュー誤差が所望レベルに抑制される係数を前記適応フィルタに設定するADCの補正方法。
【０１２０】
（付記１８）
付記１７において，
前記第１のステップで前記係数に対応する位相シフト量が上限値に達したら，前記第２のステップで前記係数を設定するADCの補正方法。
【０１２１】
（付記１９）
付記１８において，
さらに，前記第２のステップで前記係数に対応する位相シフト量が上限値に達したら，前記適応フィルタの次数を減じた後に前記第２のステップによる前記係数の設定を行う第３のステップを，前記スキュー誤差が所望レベルに抑制されるまで行うADCの補正方法。
【符号の説明】
【０１２２】
１００，２００：ADCチャネル
１：合成器
５：アキュムレータ
６：係数演算回路
７：適応フィルタ
１０：スキュー誤差検出回路
【図１】
0005835031.tif 000013
【図２】
0005835031.tif 000014
【図３】
0005835031.tif 000015
【図４】
0005835031.tif 000016
【図５】
0005835031.tif 000017
【図６】
0005835031.tif 000018
【図７】
0005835031.tif 000019
【図８】
0005835031.tif 000020
【図９】
0005835031.tif 000021
【図１０】
0005835031.tif 000022
【図１１】
0005835031.tif 000023
【図１２】
0005835031.tif 000024
【図１３】
0005835031.tif 000025
【図１４】
0005835031.tif 000026
【図１５】
0005835031.tif 000027
【図１６】
0005835031.tif 000028
【図１７】
0005835031.tif 000029
【図１８】
0005835031.tif 000030
【図１９】
0005835031.tif 000031
【図２０】
0005835031.tif 000032
【図２１】
0005835031.tif 000033
【図２２】
0005835031.tif 000034