(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0018】
以下、図面を参照しながら、本発明の実施形態を説明する。
【0020】
1)信号解析装置の構成
図1は、本発明の第1の実施形態に係る信号解析装置(SA:Signal (Spectrum) Analyzer)の機能的な構成を示すブロック図である。信号解析装置SAは、RF部10、A/D変換部21、解析処理部20、表示部30、および制御部40を筐体50内に備え、筐体50には、操作部45およびトリガ信号入力端子48が設けられている。
【0021】
RF部10は、掃引部11、ローカル信号発生部12、およびミキサ部13を有し、入力RF信号を受信する。
【0022】
ローカル信号発生部12は、制御部40から掃引部11を介して測定周波数の中心周波数f
cの指示を受けて、ローカル周波数(f
c+f
IF)のローカル信号を発振してミキサ部13へ送るようになっている。
【0023】
ミキサ部13は、入力された入力RF信号とローカル周波数(f
c+f
IF)のローカル信号(あるいは基準周波数信号)とをミキシングして中間周波数(f
IF±ΔF
Max/2)の信号に変換して、当該中間周波数信号をA/D変換部21へ送るようになっている。
【0024】
A/D変換部21は、RF部10から出力される中間周波数信号(周波数:f
IF±ΔF
Max/2)を制御部40からの所定のクロックでデジタルデータに変換するようになっている。
【0025】
制御部40は、信号解析装置SA全体を制御するようになっている。特に、制御部40は、後述するように、トリガ信号入力端子48から入力されたトリガ信号を受けて、RF部10および解析処理部20による、被測定信号の測定処理(解析処理)の開始のタイミングを制御するようになっている。制御部40は、信号解析結果の表示部30における表示タイミングを制御するようになっている。
【0026】
解析処理部20は、例えば、元データ記憶部22、処理部23、検波部24、ログ変換部25、および記憶部26を有し、入力RF信号に対して信号解析処理を行うものである。
【0027】
元データ記憶部22は、A/D変換部21から出力されるデジタルデータ(振幅値)を、測定周波数、クロックの経過時間をアドレスとしたメモリ領域に、ほぼクロックと同じタイミングの書き込み信号により記憶するようになっている。記憶されたデジタルデータは、いわば時間領域のデータである。
【0028】
処理部23は、操作部45から受けた、測定周波数fv、測定時間tvを受けて、元データ記憶部22から該当する測定周波数、およびクロックの経過時間の時間領域データ(デジタルデータ)を読み出すようになっている。
【0029】
そして、処理部23は、例えば、受けた時間領域データを所定時間間隔でFFT(Fast Fourier Transform)処理して周波数領域データに変換して、操作部45から指定された測定帯域幅ΔFの範囲で所望の分解能帯域幅(RBW)で各周波数成分とその大きさを算出するようになっている。
【0030】
このとき、処理部23は、FFT処理する処理のタイミングの時間間隔をΔtとすると、測定周波数の時間領域データから各処理タイミングで時間窓ΔT(ΔT≧Δt)だけの時間領域データを元データ記憶部22から読み出してFFT処理するようになっている。
【0031】
そして、処理部23は、処理タイミングを1間隔Δtだけ時間窓Tごとずらしながら、測定時間のtvになるまで繰り返しFFT処理を行うようになっている。つまり、処理部23は、m×Δt(例えば、mは、1〜tv/Δt)のタイミングで時間位置(アドレス)m×Δtを中心とした±ΔT/2間の時間領域データを読み出してFFT演算し、これをm=tv/Δtになるまで繰り返すようになっている。
【0032】
時間窓ΔTは、時間領域データを周波数領域データに変換するのに十分な時間である。極端な例では、1周期にも満たない時間領域データを周波数領域データに変換してもその周波数が分解能良く特定できないおそれがある。なお、タイミングの時間間隔Δtは、A/D変換部21のクロックと同じ周期であってもよい。
【0033】
図1に示した構成では、解析処理部20がFFT処理を行うとしているが、これはあくまで一例であり、解析処理部20の処理方法がFFT処理に限定されるものではない。例えば、解析処理部20は、変調解析を行うものでもよく、Power vs Time、Frequency vs Time、Phase vs Time等の処理を行うものであってもよい。つまり、これらの解析処理方法も本発明に適用可能である。なお、これらの解析処理方法は、信号解析装置の当業者であれば理解できる方法なので、それらの詳細は割愛する。
【0034】
検波部24は、各周波数成分の大きさを、実効値、平均値、もしくはピーク値に変換して出力するようになっている。以下、これを「パワー」と言う。ログ変換部25は、検波部24からの出力を対数に圧縮して記憶部26へ送るようになっている。
【0035】
記憶部26は、例えば、一方のアドレスを測定周波数fv、他方のアドレスを測定時間tvの経過とするメモリ領域に、該当する周波数成分のパワーを記憶するようになっている。
【0036】
表示部30は、記憶部26に記憶された測定周波数各成分のパワーを、例えば測定周波数を縦軸、測定時間を横軸とする座標に色パラメータとして表示するようになっている。
【0037】
図2は、本実施形態に係る信号解析装置SAのハードウェアの構成を示すブロック図である。
【0038】
信号解析装置SAは、RF/IF回路10'、ADC(AD変換器)21'、FPGA(Field Programmable Gate Array)65を主に備える。
【0039】
RF/IF回路10'は、主に上記RF部10を実現する回路である。また、RF/IF回路10'は、被測定信号としてのRF信号を受信する他、例えば有線接続により被測定信号を受信することも可能に構成されている。
【0040】
ADC21'は、上記したA/D変換部21を実現する回路である。FPGA65は、A/D変換部21以外の解析処理部20の各要素および制御部40を実現する回路である。
【0041】
2)SAの内部経路による遅延時間
信号解析装置SAの内部経路に起因して、信号解析装置SAに入力されてから、FPGA65やADC21'が処理するまでに遅延時間が発生する。例えばRF信号がRF/IF回路10'に入力されて受信処理が行われ、ADC21'に入力されるまでに遅延時間t
aが発生する。一方、トリガ信号入力端子48を介して信号解析装置SAに入力されたトリガ信号がFPGA65に入力されるまでに遅延時間t
bが発生する。
【0042】
ここで、
図3に示すようなRF信号およびトリガ信号が、RF/IF回路10'およびトリガ信号入力端子48にそれぞれ入力されたとする。このとき、FPGA65のクロックによりADC21'がデジタルデータを生成する時のサンプリングのタイミングを考える。
【0043】
このサンプリングのタイミングを、RF信号およびトリガ信号上に黒丸(サンプリング点)で示す。この図からわかるように、サンプリング点が各トリガ信号を捉える(ラッチする)タイミングが、トリガ信号の実際の立上がりのタイミングから遅れる場合がある。
【0044】
t
dは、トリガ信号の実際の立上がりのタイミングと、ラッチタイミングとの時間差を示す。このt
dは、サンプリング周波数、つまりトリガをラッチするFPGA65のクロック周波数により決定される。例えばクロック周波数が100MHzである場合、最大Max(t
d)は、以下の式で表せる。
【0045】
Max(t
d)= (1/100M)+t
s = 10[ns]+t
s
【0046】
t
sは、セットアップタイムであり、トリガ信号の立上がり開始から立上がり終了までにかかる時間である。上記の式より、上記t
dは、以下の範囲をとる。
【0048】
t
dがこの範囲のうちどの値をとるかはトリガ信号が入力されるまでわからない。この値t
dは、トリガ信号の時間的な精度によって決まり、ラッチ周波数(クロック周波数)が100MHzである場合、±5[ns]の誤差が発生する。この誤差の分布は平均値を5[ns]とした一様分布をとると考えられる。
【0049】
ラッチの周波数、つまりFPGA65のクロック周波数を変えることなく、トリガ信号の時間的な精度を向上させることができれば、t
dを小さくすることができ、高精度に信号を測定できることが期待できる。
【0050】
なお、RF信号の信号解析装置SAの入力端からADC21'の入力端までの遅延時間t
aと、トリガ信号のトリガ信号入力端子48からFPGA65の入力端までの遅延時間t
bとの差であるt
a-t
bは、別途の手段で補正されるので、本明細書ではこれについては言及しない。
【0051】
3)トリガ信号の高分解能を実現する手段および方法
図4は、上記制御部40の機能的な構成を示すブロック図である。
図7は、制御部40の処理を示すフローチャートである。以下では、
図7に示すフローチャートの各処理のステップの順に、制御部40の構成を説明する。
【0052】
制御部40は、クロック発生部41、位相シフト部42、ラッチ部43、および判定部44を備える。
【0053】
クロック発生部41は、FPGA65の動作クロック(基準クロック)を発生する(ステップ101)。この動作クロックをクロックclkとする。クロックclkは、上記のように例えば100MHzなど、MHzオーダの周波数を有する。
【0054】
位相シフト部42は、クロック発生部41で生成されたクロックclkの位相を、異なる複数のシフト量でシフトする(ステップ102)。位相シフト部42は、例えばシフト量として90°ずつずれたクロックclk_0, clk_90, clk_180, clk_270を出力する。
【0055】
図5は、位相シフト部42から出力される各クロックclk_0, clk_90, clk_180, clk_270の信号を示す。
【0056】
クロックclk_0の位相は、クロックclkと同じであり、
クロックclk_90の位相は、クロックclkから90°遅れ、
クロックclk_180の位相は、クロックclkから180°遅れ、
クロックclk_270の位相は、クロックclkから270°遅れる。
【0057】
位相シフト部42の構成は、公知の種々の構成により実現可能である。例えばFPGA65内のPLL(Phase Locked Loop)機能を利用することにより位相シフト部42を実現できる。ここでは、クロックの分割数が4である場合を示したが、2または3、あるいは、5以上であってもよい。クロックの分割数をnとすると、各クロックの位相差は360°/nと表せる。
【0058】
ラッチ部43は、入力されるトリガ信号trgを、位相シフト部42で位相がシフトされたそれぞれのクロックclk_0, clk_90, clk_180, clk_270でラッチする(ステップ103)。そしてラッチ部43は、ラッチして得られるそれぞれのラッチトリガ信号を、クロックclkによりラッチするタイミングで出力する(ステップ104)。
【0059】
図6は、ラッチ部43の構成を示すブロック図である。ラッチ部43は、第1のラッチ素子群61と、その後段に設けられた第2のラッチ素子群62とを有する。第1のラッチ素子群61は、n個の第1のラッチ素子として例えば4つのラッチ素子61a、61b、61c、61dを含む。第2のラッチ素子群62も、n個の第2のラッチ素子として例えば4つのラッチ素子62a、62b、62c、62dを含む。これらのラッチ素子は、例えばD−FF(Delay Flip-Flop)素子で構成される。このラッチ素子群に含まれるラッチ素子(第1のラッチ素子)の個数は、上述したクロックの分割数nに相当する。
【0060】
ラッチ素子61aのクロック入力端子には、クロックclk_0が入力される。
ラッチ素子61bのクロック入力端子には、クロックclk_90が入力される。
ラッチ素子61cのクロック入力端子には、クロックclk_180が入力される。
ラッチ素子61dのクロック入力端子には、クロックclk_270が入力される。
すべてのラッチ素子のD端子には、トリガ信号trgが入力される。
【0061】
ラッチ素子61a、61b、61c、61dは、D端子に入力されたトリガ信号trgを、各クロックclk_0, clk_90, clk_180, clk_270でラッチすることにより、ラッチトリガ信号trg1_ltc0, trg1_ltc90, trg1_ltc180, trg1_ltc270をそれぞれ出力する(
図8参照)。
【0062】
ラッチ素子62a、62b、62c、62dの各D端子には、これらラッチトリガ信号trg1_ltc0, trg1_ltc90, trg1_ltc180, trg1_ltc270がそれぞれ入力される。そして、ラッチ素子62a、62b、62c、62dは、これらのラッチトリガ信号を元のクロックclkでそれぞれ取り出す。これにより、第2のラッチ素子群62は、ラッチトリガ信号trg2_ltc0, trg2_ltc90, trg2_ltc180, trg2_ltc270を出力する(
図8参照)。
【0063】
これらのラッチトリガ信号は、判定部44に被判定信号として入力される。判定部44は、取得した被判定信号に基づき、トリガ信号trgの入力タイミングを判定する(ステップ105)。制御部40は、この判定部44により得られた高分解能のトリガ信号trgの入力タイミングで、解析処理部20による処理、つまり被測定信号の測定を開始する。
【0064】
4)ラッチ部により生成される信号
a)トリガ信号trgの入力タイミングtgが、クロックclkの立上がりタイミングt1以降であって、t1からの位相遅れ90°より小さい場合
【0065】
図8は、トリガ信号trgの入力タイミングtgが、クロックclkの立上がりタイミングt1以降であって、t1からの位相遅れ90°より小さい場合に、ラッチ部43により生成される信号を示す。
【0066】
第1のラッチ素子群61から出力されるラッチトリガ信号trg1_ltc0, trg1_ltc90, trg1_ltc180, trg1_ltc270のうち、ラッチトリガ信号trg1_ltc0が最も遅れてラッチされる。これは、クロックclk_0では、タイミングt1から、タイミングt1の次の立上がりであるタイミングt2までに最も長い時間(1クロック分)を要するからである。
【0067】
一方、トリガ信号trgは、タイミングt1から90°より小さい遅れでラッチ部43に入力されるため、クロックclk_90が、タイミングt1から最も早く、トリガ信号trgをラッチすることができる。すなわち、ラッチトリガ信号trg1_ltc90が最も早く立ち上がる。
【0068】
第2のラッチ素子群62から出力されるラッチトリガ信号trg2_ltc0_1, trg2_ltc0_2, trg2_ltc0_3, trg2_ltc0_4のうち、ラッチトリガ信号trg2_ltc0_1が最も遅れてラッチされる。その他のラッチトリガ信号trg2_ltc0_2, trg2_ltc0_3, trg2_ltc0_4は、タイミングt2でラッチされる。これによりタイミングt2では「0111」という出力が得られる。
【0069】
被判定信号は、タイミングt2でラッチされたラッチトリガ信号trg2_ltc0_2, trg2_ltc0_3, trg2_ltc0_4の加算分「3」である。判定部44は、例えば図示しない論理回路により、「3」に対応する判定結果を生成する。「3」に対応する判定結果とは、つまり、トリガ信号trgの入力タイミングtgが、t1≦tg<t1+90°であるというものである。
【0070】
b)トリガ信号trgの入力タイミングが、クロックclkの立上がりタイミングt1からの位相遅れ90°以上であって、180°より小さい場合
【0071】
図9は、トリガ信号trgの入力タイミングtgが、クロックclkの立上がりタイミングt1からの位相遅れ90°以上であって、180°より小さい場合に、ラッチ部43により生成される信号を示す。
【0072】
第1のラッチ素子群61から出力されるラッチトリガ信号trg1_ltc0, trg1_ltc90, trg1_ltc180, trg1_ltc270のうち、ラッチトリガ信号trg1_ltc90が最も遅れてラッチされる。そして、次にラッチトリガ信号trg1_ltc0が遅れてラッチされる。一方、クロックclk_180が、タイミングt1から最も早く、トリガ信号trgをラッチすることができる。すなわち、ラッチトリガ信号trg1_ltc180が最も早く立ち上がる。
【0073】
第2のラッチ素子群62から出力されるラッチトリガ信号trg2_ltc0_1, trg2_ltc0_2, trg2_ltc0_3, trg2_ltc0_4のうち、ラッチトリガ信号trg2_ltc0_1, trg2_ltc0_2が最も遅れてラッチされる。その他のラッチトリガ信号trg2_ltc0_3, trg2_ltc0_4は、タイミングt2でラッチされる。これによりタイミングt2では「0011」という出力が得られる。
【0074】
被判定信号は、タイミングt2でラッチされたラッチトリガ信号trg2_ltc0_2, trg2_ltc0_3の加算分「2」である。判定部44は、「2」に対応する判定結果を生成する。「2」に対応する判定結果とは、つまり、トリガ信号trgの入力タイミングtgが、t1+90°≦tg<t1+180°であるというものである。
【0075】
c)トリガ信号trgの入力タイミングtgが、クロックclkの立上がりタイミングt1からの位相遅れ180°以上であって、270°より小さい場合
【0076】
図10は、トリガ信号trgの入力タイミングtgが、クロックclkの立上がりタイミングt1から180°以上であって270°より小さい場合に、ラッチ部43により生成される信号を示す。この場合、上記と同様の原理で、判定部44においてタイミングt2で「0001」という判定結果が得られる。
【0077】
この場合、被判定信号は、タイミングt2でラッチされたラッチトリガ信号trg2_ltc0_4の出力分「1」である。判定部44は、「1」に対応する判定結果を生成する。「1」に対応する判定結果とは、トリガ信号trgの入力タイミングtgが、t1+180°≦tg<t1+270°であるというものである。
【0078】
d)トリガ信号trgの入力タイミングtgが、クロックclkの立上がりタイミングt1からの位相遅れ270°以上であって、360°より小さい場合
【0079】
この場合、
図11に示すように、同様の原理により判定結果「0000」が得られる。ラッチトリガ信号の出力分「0」に対応する判定結果は、トリガ信号trgの入力タイミングtgが、t1+270°≦tg<t1+360°であるというものである。
【0080】
以上のように、本実施形態では、位相シフト部42によりクロック異なる複数のシフト量(つまり位相差)のクロックclk_0, clk_90, clk_180, clk_270が生成される。そして、ラッチ部43が、トリガ信号trgを、それらのクロックclk_0, clk_90, clk_180, clk_270でそれぞれラッチする。これにより、クロックclkに対して位相差分の分解能を持つラッチトリガ信号trg1_ltc0, trg1_ltc90, trg1_ltc180, trg1_ltc270を生成することができる。すなわち、クロックclk×nの分解能が得られる。
【0081】
したがって、判定部44は、トリガ信号trgの入力タイミングを、その位相差分の分解能で判定することができる。その結果、トリガ信号の入力タイミングとそのトリガ信号のラッチタイミングとのずれを小さくすることができ、制御部40は、高分解能のトリガ信号trgの入力タイミングで、被測定信号の測定を開始することができる。すなわち、測定開始時刻の誤差を小さくすることができる。
【0082】
本実施形態では、GHzレベルの高速な動作クロックを持つ、高価なADCやFPGA等のデバイスを使用することなく、高い分解能を得ることができる。
【0083】
図12は、本実施形態による効果を概念的に示すグラフである。横軸がトリガの実入力時間(実際の入力タイミング)を示し、縦軸がトリガの検出時間を示す。このグラフは、破線で示す1クロックが入力されてトリガが検出される間に、clk_0, clk_90, clk_180, clk_270の4つの分割クロックが入力されて、4つのトリガが検出されることを示している。つまり、本実施形態ではn=4であるので、クロックclkによる分解能の4倍の分解能を得ることができる。nを増やすことにより、さらに高い分解能を得ることができる。実製品が取り得るnとしては、例えばn=8〜16である。
【0084】
特に、MIMO(Multiple-Input Multiple-Output)技術を利用する通信システムでは、2つの送信アンテナから送信されるそれぞれの送信タイミングの誤差が、65ns以下と規格で定められている。また、その信号を受信する測定装置(例えば本実施形態のような信号解析装置SA)が持つ誤差(測定誤差)は25nsと規格で定められている。上記のように、時間差t
dを10nsの誤差の範囲内に収めることができれば、25nsという測定誤差範囲を十分にクリアすることができる。
【0086】
次に、本発明の第2の実施形態について説明する。これ以降の説明では、上記第1の実施形態に係る信号解析装置SAが持つハードウェアや機能ブロック等について同様のものは説明を簡略化または省略し、異なる点を中心に説明する。
【0087】
1)ラッチ部の構成
図13は、本実施形態に係るラッチ部46の構成を示すブロック図である。このラッチ部46は、第1のラッチ素子群61と第2のラッチ素子群62との間に遅延用ラッチ素子群63を有する。遅延用ラッチ素子群63は、位相シフト部42で生成された各クロックclk_0, clk_90, clk_180, clk_270の位相からそれぞれ遅れた位相のクロックによるタイミングで、第1のラッチ素子群61からの出力信号をラッチする。
【0088】
具体的には、遅延用ラッチ素子群63は、ラッチ素子61a、61b、61c、61dからの各ラッチトリガ信号をそれぞれ取得するラッチ素子63a、63b、63c、63dを有する。また、遅延用ラッチ素子群63は、ラッチ素子63a、63b、63c、63dからの各ラッチトリガ信号をそれぞれ取得するラッチ素子64a、64b、64c、64dを有する。
【0089】
ラッチ素子63a、63b、64a、64b、64cの各クロック入力端子には、クロックclkが入力される。
ラッチ素子63c、63d、64dの各クロック入力端子には、クロックclk_90が入力される。
ラッチ素子63dのクロック入力端子には、クロックclk_180が入力される。
【0090】
2)ラッチ部により生成される信号
以降では、例えばトリガ信号trgの入力タイミングが、クロックclkの立上がりタイミングt1以降であって、t1からの位相遅れ90°より小さい場合(
図8参照)について説明する。
【0091】
この場合、ラッチ素子61a、61b、61c、61dでラッチされて得られるラッチトリガ信号trg1_ltc0, trg1_ltc90, trg1_ltc180, trg1_ltc270は、
図14に示すようになる。これは
図8で示したものと同様である。
【0092】
図15は、それらラッチトリガ信号trg1_ltc0, trg1_ltc90, trg1_ltc180, trg1_ltc270が、ラッチ素子63a、63b、63c、63dに入力されてラッチされて得られるラッチトリガ信号trg2_ltc0_1, trg2_ltc0_2, trg2_ltc90, trg2_ltc180を示す。
【0093】
図16は、それらラッチトリガ信号trg2_ltc0_1, trg2_ltc0_2, trg2_ltc90, trg2_ltc180が、ラッチ素子64a、64b、64c、64dに入力されてラッチされて得られるラッチトリガ信号trg3_ltc0_1, trg3_ltc0_2, trg3_ltc0_3, trg3_ltc90を示す。
【0094】
図17は、それらラッチトリガ信号trg3_ltc0_1, trg3_ltc0_2, trg3_ltc0_3, trg3_ltc90が、ラッチ素子62a、62b、62c、62dに入力されてラッチされて得られるラッチトリガ信号trg4_ltc0_1, trg4_ltc0_2, trg4_ltc0_3, trg4_ltc0_4を示す。この第2のラッチ素子群62から出力される値は、
図8で示した上記第1の実施形態に係る第2のラッチ素子群62から出力される値と同じになる。
【0095】
以上の動作は、トリガ信号trgの入力タイミングが、t1≦tg< t1+90°の場合について説明したが、t1+90°≦tg<t1+180°、t1+180°≦tg<t1+270°、t1+180°≦tg<t1+360°の場合にも、ラッチ部46は同様の原理で動作する。
【0096】
遅延用ラッチ素子群63を設ける理由は、以下の通りである。
【0097】
例えば、
図14に示したラッチトリガ信号trg1_ltc270について着目する。ラッチ素子62dが、ラッチトリガ信号trg1_ltc270の入力タイミングを、クロックclk_0の次の立上がりのタイミングt2でラッチする。ここで、ラッチトリガ信号trg1_ltc270の純度が低い(立上がりの急峻さが低い)場合は、タイミングt2でラッチできないおそれがある。
【0098】
したがって、
図15の破線の丸で囲まれた部分に示すように、遅延用ラッチ素子群63におけるラッチ素子63dは、そのクロックclk_0からよりも位相が遅れたクロック、例えばクロックclk_180でラッチすることにより、確実にラッチすることができる。これにより、トリガ信号の立上がりの純度に起因する、判定部44の判定誤差の発生を抑えることができる。さらに、デバイスのセットアップタイムおよびホールドタイムによる判定誤差を抑えることができる。
【0100】
次に、本発明の第3の実施形態を説明する。
【0101】
図18Aは、上記第1または第2の実施形態において、トリガ実入力時間とトリガずれ検出量との関係を示す。横軸は、トリガ信号の立上がりの形状に相当する。縦軸は、上記のようにクロックclkの分割数n=4である場合に、各ラッチ素子62a〜62d(
図6または13参照)からの出力の加算値(被判定信号)に相当する。
【0102】
ハッチングで示す遷移域Sは、トリガ信号の立上がりの急峻さを示す領域であり、急峻なほどその遷移域Sの横幅は短く表される。
図18Bに示すように、トリガ信号の立上がりが遅いほど、遷移域Sは広がる。遷移域Sが広すぎると、遷移域S同士が重なる領域S'が発生する。この重なり領域S'では、得られるビットが不安定になる。例えば遷移域S1とS2の重なり領域S'では、縦の矢印の範囲内の値、つまり「0000」、「0001」、「0010」、「0011」の4つの値を取り得る。
【0103】
図19は、
図18Bの状態を表す別の図である。例えば本来検出されるべき値が「0001」であったとしても、遷移域S1〜S4では、0と1が確定しておらず、0と1のどちらにも判定され得る状態にある。したがって、縦破線で示したタイミングでは「0000」、「0001」、「0010」、「0011」の4つの値が検出される可能性がある。
【0104】
ここで、これら4つの値のうち、「0010」の「010」は、最小桁の値から最大桁の値までの間に2回変動する値となっている。これは、本実施形態のアルゴリズム上は検出されるべきではない値である。本来検出されるべき値は、「0011」、「0000」や、あるいは、クロック分割数n=8の場合、「0011111」、「00000011」等のように、最小桁の値から最大桁の値までの間に1回以下で変動する値である。
【0105】
図21は、各ラッチ素子62a〜62dからの出力が取り得る値を示す表である。ハッチングで示す部分が、本来検出されるべきでない値である。「0010」の場合、本来検出されるべきラッチ素子62cの出力値0が1に遷移し、本来検出されるべきラッチ素子62dの出力値1が0に遷移した結果である。この状況は、ラッチ素子62cおよび62dの出力値の両方が不安定になり、ビットが互いに反転している状況である。
【0106】
また、もちろんこれらのうち一方の出力値のビットが反転する場合もある。例えば、本来検出されるべき値が「0001」の場合において、ラッチ素子62cのみの出力値0が1に反転すると、検出される値は「0011」となる。ラッチ素子62dのみの出力値1が0に反転すると、検出される値は「0000」となる。
【0107】
以上より、本来検出されるべき値が例えば「0001」の場合、回路上では、「0010」を含め上記4つの値を取り得る。しかし、「0010」は本来検出されるべき値ではないので、判定部44は、これを3つの「0000」=「0」、「0001」=「1」、「0011」=「2」の範囲内にあると推定することができる。具体的には、
図21に示す表では、「0010」=「1'」は、「0001」=「1」に置き換えられる。すなわち、「0010」が検出された場合、それは「1」±1の許容誤差範囲内にあるとする。
【0108】
なお、判定部44は「0010」を「0011」や「0000」に置き換えるようにしてもよい。
【0109】
以上のように、判定部44は、本来検出されるべきでない値を、本来検出されるべき値のうちいずれか所定の1つに置き換える補正を行う。この場合、判定部44は「補正部」として機能する。この補正は、論理回路またはソフトウェアのどちらでも実現可能である。
【0110】
従来の技術の分解能をm [s](=1/clk)とする。また、あるタイミングで重なる遷移域Sの数をx(:正の整数)、nをクロックclkの分割数とすると、分解能を以下の式で表すことができる。以下の式において、n>xのとき、分解能を向上させることができる。
【0112】
上記の例では、m/4±2×m/(2×4) [s](=1/(clk×4)±1/(clk×4))の分解能を得ることができる。すなわち、従来に比べ分解能が向上する。
【0113】
図21に示したように、判定部44は、「0010」が検出される場合に限られず、「0101」または「1010」が検出された場合、「0101」=「2'」を「0011」=「2」に置き換え、「1010」=「3'」を「0111」=「3」に置き換える。
【0114】
以上の例は、あるタイミングで重なる遷移域Sの数が2であった。しかし、例えば
図20に示すように、あるタイミングで重なる遷移域Sの数が3の場合も想定される。破線で示したタイミングでは、「0001」、「0000」、「0011」、「0010」、「0111」、「0101」、「0110」、「0100」の8つのうち、ラッチ部46の出力値はどれでも取り得る状態にある。このような場合であっても、分解能は、m/4±3×m/(2×4) [s](=1/(clk×4)±3/(clk×8))となり、向上する。
【0116】
本発明は、以上説明した実施形態に限定されず、他の種々の実施形態を実現することができる。
【0117】
上記実施形態に係る信号解析装置SAでは、FPGAが用いられたが、これに代えて、他のPLD(Programmable Logic Device)が用いられてもよいし、CPU(Central Processing Unit)が用いられてもよい。
【0118】
上記実施形態では、位相シフト部42による各クロックの位相差が等間隔であったが、少なくとも2つの位相差が異なる間隔となるように位相がシフトされてもよい。例えば、位相シフト部42は、クロックの分割数n=n
1と、クロックの分割数n=n
2(n
2はn
1とは異なる数)とを生成したり、あるいは3種類以上のクロック分割数を持つクロックを生成したりしもよい。
【0119】
上記第2の実施形態では、例えば遅延用ラッチ素子群63では、ラッチ素子61bにクロックclk_90が入力され、ラッチ素子63bにクロックclk_0が入力された。すなわち、270°ずつ遅れたクロックがラッチ素子に順に入力されたが、例えばラッチ素子61bにクロックclk_90が入力され、ラッチ素子63bには、例えばそれより90°遅れたクロックclk_180、あるいは180°遅れたクロックclk_270が入力されてもよい。あるいは、上記のようにn=4とは異なる分割数で生成されたクロックが、遅延用ラッチ素子群63に入力されてもよい。
【0120】
以上説明した各形態の特徴部分のうち、少なくとも2つの特徴部分を組み合わせることも可能である。