【文献】
intersil,HSP43216,[online],2008年10月 6日,pp.1-20,[平成30年8月10日検索],URL,https://www.intersil.com/content/dam/Intersil/documents/hsp4/hsp43216.pdf
(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
被測定物から出力される広帯域のRF信号を被測定信号として受信し、当該被測定信号の周波数解析を行うシグナルアナライザなどの信号処理装置が従来から知られている。
【0003】
このような信号処理装置は、入力された被測定信号の搬送周波数を中間周波数F
IFに変換する周波数変換部と、周波数変換部により周波数変換された被測定信号を所定のサンプリング周波数FsでサンプリングしてディジタルデータA(n)に変換するA/D変換部と、ディジタルデータA(n)をI,Q信号に直交復調する直交復調部と、を備えている(例えば、特許文献1参照)。ここで、nはサンプリング周波数Fsによるサンプリング点を表すインデックスであり、0以上の整数である。
【0004】
信号処理装置では、ディジタル信号処理を行う信号処理部をハードウェアで実現する場合、信号処理部は例えばフィールド・プログラマブル・ゲート・アレイ(Field Programmable Gate Array:FPGA)などのデバイスで構成される。FPGAの最大動作速度には限界があるため、複数のレーンをFPGAに構成して、ディジタルデータA(n)を並列化して信号処理することが行われる場合がある。
【0005】
さらに、今後は、ミリ波帯を使用するIEEE802.11adや5Gセルラ等の、より広帯域な信号を解析したいという要求が想定される。このように被測定信号が広帯域になればなるほど、A/D変換部においては高いサンプリング周波数Fsが求められ、FPGAにおいてはレーン数を増加させる必要性が増すことになる。
【0006】
従来の直交復調部は、下記の式(1),(2)に従ってFPGAの動作クロックのタイミングで、並列化されたN個のディジタルデータA(n)をN個の直交信号I(n)とN個の直交信号Q(n)に直交復調する。
【0007】
図12に示すように、従来の直交復調部は、並列化されたN個のディジタルデータA(n)が入力されるN個の入力レーンと、直交信号I(n),Q(n)が出力される2N個の出力レーンと、2N個の出力レーンに対応して配置される2N個の乗算器31と、並列化されたN個のディジタルデータA(n)の直交復調に使用するsin/cosテーブル32と、を有する。
【0008】
sin/cosテーブル32は、式(1),(2)の三角関数部分の値を与えるものである。各入力レーンに入力されたディジタルデータA(n)は、乗算器31においてsin/cosテーブル32から与えられる値と乗算され、対応するI相及びQ相の2つの出力レーンから直交信号として出力される。
【数1】
【0009】
また、上記のような直交復調部の後段には、直交復調部の各出力レーンに対応して、
図13に示すような構成のハーフバンドフィルタ(Half-Band Filter:HBF)が2N個配置される場合がある。
【0010】
図13に示すようなタップ数が11のHBFは、その出力が式(3)のように表される。ここで、d
kは、I(n+k)又はQ(n+k)であり(n,kは0以上の整数)、K=10である。また、フィルタ係数C
0〜C
10には、C
1=C
3=C
7=C
9=0、C
0=C
10≠0、C
2=C
8≠0、C
4=C
6≠0、C
5≠0の関係があるため、フィルタ係数は実質的にC
0,C
2,C
4,C
5の4つである。
【数2】
【0011】
ここで、式(3)における7個のデータd
0,d
2,d
4,d
5,d
6,d
8,d
10を、それぞれ改めてD
0,D
1,D
2,D
3,D
4,D
5,D
6と記載すると、式(3)は下記の式(4)のように表される。
【数3】
【0012】
よって、
図13に示すように、従来のタップ数が11のHBFは、D
0とD
6の和にフィルタ係数C
0を乗じる乗算器33aと、D
1とD
5の和にフィルタ係数C
2を乗じる乗算器33bと、D
2とD
4の和にフィルタ係数C
4を乗じる乗算器33cと、D
3にフィルタ係数C
5を乗じる乗算器33dと、乗算器33a〜33dによる乗算結果を加算する加算器34と、を含む構成となっている。
【0013】
このため、
図13の従来のHBFが
図12の直交復調部の後段に配置される場合には、直交復調部の2N個の出力レーンの1レーン当たりに割り当てられる乗算器数は4個となる。
【発明を実施するための形態】
【0023】
以下、本発明に係る信号処理装置及び信号処理方法の実施形態について図面を用いて説明する。
【0024】
図1に示すように、本発明の実施形態としての信号処理装置1は、操作部11、周波数変換部12、A/D変換部13、FPGA14、波形メモリ15、データ処理部16、表示部17、及び制御部18を備える。
【0025】
操作部11は、被試験対象(Device Under Test:DUT)100から出力される被測定信号の通信規格を複数の通信規格の中から選択するために、ユーザが操作するものである。操作部11は、例えば、複数の通信規格を選択可能に表示するディスプレイと、キーボード、ダイヤル又はマウスのような入力デバイスと、を含んで構成される。
【0026】
DUT100が対応する通信規格としては、例えば、セルラ(LTE、LTE−A、W−CDMA(登録商標)、GSM(登録商標)、CDMA2000、1xEV−DO、TD−SCDMA等)、WLAN(IEEE802.11b/g/a/n/ac/ad等)、Bluetooth(登録商標)、GNSS(GPS、Galileo、GLONASS、BeiDou等)、FM、及びディジタル放送(DVB−H、ISDB−T等)が挙げられる。
【0027】
周波数変換部12は、局部発振器12a及びミキサ12bを有する。局部発振器12aは、例えばPLL回路により構成されており、操作部11により選択された通信規格に応じた周波数f
Lの局部発振信号を発生して、ミキサ12bへ送出するようになっている。ミキサ12bは、局部発振器12aから入力される周波数f
Lの局部発振信号と、DUT100から入力される周波数f
Rのアナログの被測定信号とを乗算して、被測定信号を所定の中間周波数F
IFに周波数変換するようになっている。
【0028】
A/D変換部13は、局部発振器12a及びミキサ12bにより周波数変換された被測定信号を、中間周波数F
IFの4倍のサンプリング周波数Fs(F
IF=Fs/4)でサンプリングしてディジタルデータA(n)に変換し、ディジタルデータA(n)をFPGA14に出力するようになっている。ここで、nはサンプリング周波数Fsによるサンプリング点を表すインデックスであり、0以上の整数である。
【0029】
FPGA14は、A/D変換部13から出力されたディジタルデータA(n)を直交復調して直交信号I(n),Q(m)を生成するようになっている。ここで、n,mはサンプリング周波数Fsによるサンプリング点を示すインデックスであり、0以上の整数である。
【0030】
波形メモリ15は、FPGA14から出力された直交信号I(n),Q(m)のデータを保存するようになっている。
【0031】
データ処理部16は、波形メモリ15から直交信号I(n),Q(m)のデータを読み出し、これらのデータに対してFFT処理などの任意のデータ処理を行うようになっている。
【0032】
表示部17は、例えばLCDやCRTなどの表示機器で構成され、制御部18からの制御信号に応じて各種表示内容を表示するようになっている。この表示内容には、データ処理部16から出力された処理結果や、測定条件などを設定するためのソフトキー、プルダウンメニュー、テキストボックスなどの操作対象が含まれていてもよい。
【0033】
制御部18は、例えばCPU、ROM、RAMなどを含むマイクロコンピュータで構成され、信号処理装置1を構成する上記各部の動作を制御するとともに、所定のプログラムを実行することにより、データ処理部16をソフトウェア的に構成するようになっている。
【0034】
なお、信号処理装置1は、GPIB、Ethernet(登録商標)、USBなどのリモート制御インタフェースを介して、外部制御装置により遠隔制御される構成であってもよい。
【0035】
以下、FPGA14の機能構成について
図2を参照しながら説明する。FPGA14は、ADCインタフェース(以下、「ADCIF」ともいう)21、直交復調部22、FIRフィルタ23、及び波形メモリインタフェース(以下、「波形メモリIF」ともいう)24を有する。
【0036】
ADCIF21は、A/D変換部13から出力されたディジタルデータA(n)を直並列変換してN個(Nは正の偶数)の並列データに分離する並列分離手段として機能する。FPGA14の動作クロックはサンプリング周波数Fsの1/Nであり、ADCIF21はFs/Nのレートで当該N個の並列データを順次出力するようになっている。
【0037】
直交復調部22は、ADCIF21から出力されたN個の並列データを直交復調してベースバンドの直交信号I(n),Q(m)を出力するようになっている。
【0038】
FIRフィルタ23は、直交復調部22から出力された直交信号I(n),Q(m)に対して、帯域制限処理を行うようになっている。なお、FIRフィルタ23の後段にも任意のタップ数のFIRフィルタが1つ以上配置されてもよい。
【0039】
波形メモリIF24は、FIRフィルタ23から出力された帯域制限処理後の直交信号I(n),Q(m)の並列データを、波形データとして波形メモリ15に保存するためのインタフェースである。
【0040】
以下、本実施形態の直交復調部22が行う処理を説明する。本実施形態においては、中間周波数F
IFをサンプリング周波数Fsの1/4の値としているため、入力された並列データの直交復調は以下の式(5),(6)に従って行われる。式(5),(6)においては、式(1),(2)の三角関数の括弧内がπ/2の倍数となっている。つまり、式(5),(6)の三角関数部分は、I相側は0,1,0,−1,・・・の繰り返しになり、Q相側は1,0,−1,0,・・・の繰り返しになる。
【数4】
【0041】
よって、I相側の直交信号I(n)は、例えばI(0)=0、I(1)=A(1)、I(2)=0、I(3)=−A(3)、・・・のように、1つおきのサンプリング点において0の値を取る。また、Q相側の直交信号Q(m)も同様に、例えばQ(0)=A(0)、Q(1)=0、Q(2)=−A(2)、Q(3)=0、・・・のように、1つおきのサンプリング点において0の値を取る。
【0042】
つまり、各サンプリング点nについて、I相側の直交信号とQ相側の直交信号のどちらか一方がデータA(n)を含み、他方は0となることが分かる。また、I(m)=0となる1つおきのサンプリング点において、Q(m)=A(m)、又は、Q(m)=−A(m)である。また、Q(n)=0となる1つおきのサンプリング点において、I(n)=A(n)、又は、I(n)=−A(n)である。
【0043】
本実施形態では、このことを利用して、直交復調部22が、I(n)=A(n)、又は、I(n)=−A(n)となる直交信号I(n)と、Q(m)=A(m)、又は、Q(m)=−A(m)となる直交信号Q(m)をFIRフィルタ23に出力するようになっている。
【0044】
つまり、直交復調部22は、N個の並列データからN個の直交信号の並列データを生成する。
図12に示した従来の直交復調部と比較すると、あたかも直交復調後のディジタルデータA(n)が1/2に間引かれたようになる。
【0045】
具体的には、
図3に示すように、従来の直交復調部とは異なり、乗算器を使用せずに直交復調部22を構成することができる。これにより、入力側のレーン数と出力側のレーン数を等しくすることができる。なお、
図3では、入力側と出力側のレーン数Nをいずれも24としている。また、直交復調部22は、符号反転部22a,22bにおいて、符号反転部22a,22bが配置されたレーンに入力されたディジタルデータA(n)の符号を反転するようになっている。
【0046】
図4に示すように、直交復調部22の入力側の各レーンには、サンプリング周波数Fsの1/NのレートでN個の並列データが順次入力される。ここで、サンプリング周波数Fsは例えば4800MHzである。
【0047】
また、
図5(a)に示すように、直交復調部22のI相の出力側の各レーンi0〜i11からは、サンプリング周波数Fsの1/NのレートでN/2個の直交信号の並列データが順次出力される。また、
図5(b)に示すように、直交復調部22のQ相の出力側の各レーンq0〜q11からは、サンプリング周波数Fsの1/NのレートでN/2個の直交信号の並列データが順次出力される。
【0048】
以下、
図6,7を用いて本実施形態のFIRフィルタ23の構成を説明する。FIRフィルタ23は、例えばタップ数が11のHBFを変形したものになっており、サンプリング周波数Fsの1/2の帯域幅を有している。
【0049】
図6に示すように、本実施形態のFIRフィルタ23は、直交復調部22のI相の出力側の各レーンに対応した直交信号I(n)用のN/2個のI相フィルタ23aと、直交復調部22のQ相の出力側の各レーンに対応した直交信号Q(m)用のN/2個のQ相フィルタ23bと、を備える。
【0050】
図7は、仮にI相フィルタ23a及びQ相フィルタ23bをタップ数が11のHBFと見なした場合に、n=5のタイミングを中心とした直交信号I(n),Q(m)のデータの組がI相フィルタ23a及びQ相フィルタ23bに入力される場合の、直交信号とフィルタ係数との関係を示している。ここでは、一例として、フィルタ係数の大小関係をC
2<C
0<C
4<C
5(C
5がフィルタ係数の最大値)としている。
【0051】
式(5)によれば、nが偶数となるI(n)は、直交復調部22からFIRフィルタ23に出力されない。また、nが奇数となるI(n)については、
図7(a)に示すようにI(5)を除いて対応するフィルタ係数が0である。このため、I相フィルタ23aの出力はC
5×I(5)となる。
【0052】
よって、
図6(a)に示すように、I相フィルタ23aは、フィルタ係数C
5とI(n)(nは奇数)とを乗算する乗算器25aを1つ備えるものであればよい。なお、I(n)(nは奇数)は、
図6(a)におけるデータD
3に対応している。I相フィルタ23aの出力は、式(7)のように表すことができる。
【数5】
【0053】
一方、式(6)によれば、nが奇数となるQ(n)は、直交復調部22からFIRフィルタ23に出力されない。また、nが偶数となるQ(n)については、
図7(b)に示すように対応するフィルタ係数は0ではない値を取る。このため、Q相フィルタ23bの出力は、C
0×(Q(0)+Q(10))+C
2×(Q(2)+Q(8))+C
4×(Q(4)+Q(6))となる。
【0054】
よって、
図6(b)に示すように、Q相フィルタ23bは、フィルタ係数C
0,C
2,C
4と、時間的に連続するQ(j),Q(j+2),Q(j+4),Q(j+6),Q(j+8),Q(j+10)(jは0以上の偶数)の6個のデータが入力される乗算器を3つ備えるものであればよい。
【0055】
なお、Q(j),Q(j+2),Q(j+4),Q(j+6),Q(j+8),Q(j+10)は、
図6(b)におけるデータD
0,D
1,D
2,D
3,D
4,D
5にそれぞれ対応している。Q相フィルタ23bの出力は、I相側のD
3のタイミングに相当するものになっており、式(8)のように表すことができる。
【数6】
【0056】
すなわち、
図6(b)に示すように、Q相フィルタ23bは、データD
0とD
5を加算する加算器25bと、データD
1とD
4を加算する加算器25cと、データD
2とD
3を加算する加算器25dと、データD
0とD
5の和にフィルタ係数C
0を乗算する乗算器25eと、データD
1とD
4の和にフィルタ係数C
2を乗算する乗算器25fと、データD
2とD
3の和にフィルタ係数C
4を乗算する乗算器25gと、乗算器25e〜25gによる乗算結果を加算する加算器25hと、を有する構成となっている。
【0057】
本実施形態では、既に述べたように、各相の直交信号は、I(0)=0、I(1)=1、I(2)=0、I(3)=−1、・・・のように、交互に0が出現するようなデータとなっている。このため、I相フィルタ23a及びQ相フィルタ23bを
図6に示すような簡略化した構成とすることができる。
【0058】
図6においては、I相フィルタ23aの乗算器数は1個であり、Q相フィルタ23bの乗算器数は3個である。つまり、直交復調部22の出力側の1レーン当たりに割り当てられる平均の乗算器数は2個であり、これは
図13の従来のHBFと比較すれば半分の個数である。
【0059】
なお、上記の説明では、I相フィルタ23aが備える乗算器数を1個としたが、本発明はこれに限定されず、Q相フィルタ23bが備える乗算器数を1個としてもよい。この場合には、nが偶数となるQ(n)がフィルタ係数C
5と乗算されるようにQ相フィルタ23bを構成し、nが奇数となるI(n)がフィルタ係数C
0,C
2,C
4と乗算されるようにI相フィルタ23aを構成することになる。
【0060】
図8は、FPGA14の動作クロックFs/Nのタイミングで各Q相フィルタ23bに入力されるデータを説明するための図である。
図8において、F0〜F11は、直交復調部22のQ相の出力側のレーンq0〜q11にそれぞれ対応して配置されるQ相フィルタ23bの番号である。例えば、Q相フィルタ23bのうちのフィルタF1はレーンq1に配置される。
【0061】
図8は、D
24〜D
35のデータ(図中の表記では「D24d0〜D35d0」)が直交復調部22から出力されたタイミング(以下、「ディレイ"0"」ともいう)での各フィルタF0〜F11への入力データを示している。
図8において、太線の枠で囲まれたデータが各フィルタF0〜F11への入力データである。
【0062】
フィルタF11には、ディレイ"0"のデータD
24〜D
26と、ディレイ"0"よりも1つ前のタイミング(以下、「ディレイ"1"」ともいう)で直交復調部22から出力されたデータD
21〜D
23が入力される。なお、これらのデータD
21〜D
26、すなわちQ(42),Q(44),Q(46),Q(48),Q(50),Q(52)は、
図6(b)のQ相フィルタ23bのD
0〜D
5の位置にそれぞれ入力される。
【0063】
これにより、フィルタF11は、I相側のI(47)のタイミングに相当するデータとして、Q相側のD
21〜D
26をフィルタ処理したデータを出力する。この出力データは、後述する
図10においてd'Q(47)と表されるデータである。
【0064】
フィルタF10には、ディレイ"0"のデータD
24,D
25と、ディレイ"1"のデータD
20〜D
23が入力される。フィルタF10は、I相側のI(45)のタイミングに相当するデータとして、Q相側のD
20〜D
25、すなわちQ(40),Q(42),Q(44),Q(46),Q(48),Q(50)をフィルタ処理したデータを出力する。この出力データは、後述する
図10においてd'Q(45)と表されるデータである。
【0065】
以下、
図8に示すように、フィルタF9、フィルタF8、・・・とフィルタ番号が小さくなるに連れて、各フィルタに入力される6個のデータの組は1データずつ時間的に新しいものになる。
【0066】
フィルタF0には、ディレイ"1"のデータD
12〜D
15と、ディレイ"1"よりも1つ前のタイミング(以下、「ディレイ"2"」ともいう)のデータD
10,D
11が入力される。フィルタF1は、I相側のI(25)のタイミングに相当するデータとして、Q相側のD
10〜D
15、すなわちQ(20),Q(22),Q(24),Q(26),Q(28),Q(30)をフィルタ処理したデータを出力する。この出力データは、後述する
図10においてd'Q(25)と表されるデータである。
【0067】
図9に示すように、FIRフィルタ23のI相側の各レーンi0〜i11には、FPGA14の動作クロックFs/Nのタイミングで、直交復調部22の各レーンi0〜i11から出力されたN/2個の並列データが順次入力される。つまり、
図9において、例えばd(1)は+A(1)である。
【0068】
I相側の各レーンi0〜i11に入力された並列データは、各I相フィルタ23aでフィルタ処理されて、
図10に示すようにFPGA14の動作クロックFs/Nのタイミングで順次出力される。
図10において、例えばd'I(1)は、n=1のタイミングに相当する出力データである。
【0069】
また、
図9に示すように、FIRフィルタ23のQ相側の各レーンq0〜q11には、FPGA14の動作クロックFs/Nのタイミングで、直交復調部22の各レーンq0〜q11から出力されたN/2個の並列データが順次入力される。つまり、
図9において、例えばd(2)は−A(2)である。
【0070】
Q相側の各レーンq0〜q11に入力された並列データは、Q相側のフィルタF0〜F11でそれぞれフィルタ処理されて、
図10に示すようにFPGA14の動作クロックFs/Nのタイミングで順次出力される。
図10において、例えばd'Q(1)は、n=1のタイミングに相当する出力データである。
【0071】
以下、
図11のフローチャートを参照しながら、本実施形態の信号処理装置1を用いた信号処理方法について説明する。
【0072】
まず、周波数変換部12は、操作部11により選択された通信規格に応じた周波数f
Lの局部発振信号を用いて、周波数f
Rのアナログの被測定信号を所定の中間周波数F
IFに周波数変換する(ステップS1)。
【0073】
次に、A/D変換部13は、ステップS1で周波数変換された被測定信号を、中間周波数F
IFの4倍のサンプリング周波数FsでサンプリングしてディジタルデータA(n)に変換する(ステップS2)。
【0074】
次に、ADCIF21は、ステップS2で得られたディジタルデータA(n)を直並列変換してN個(Nは正の偶数)の並列データに分離し、サンプリング周波数Fsの1/Nのレートで当該N個の並列データを順次出力する(ステップS3)。
【0075】
次に、直交復調部22は、ステップS3で出力されたN個の並列データを直交復調してベースバンドの直交信号I(n),Q(m)を出力する(ステップS4)。ここで、直交復調部22が出力する直交信号I(n)は、I(n)=A(n)、又は、I(n)=−A(n)となるものである。また、直交復調部22が出力する直交信号Q(m)は、Q(m)=A(m)、又は、Q(m)=−A(m)となるものである。
【0076】
次に、FIRフィルタ23は、ステップS4で得られた直交信号I(n),Q(m)に対して、帯域制限処理を行う(ステップS5)。
【0077】
以上説明したように、本実施形態の信号処理装置は、N個の並列データを直交復調して直交信号I(n),Q(m)を出力する直交復調手段と、直交復調手段から出力された直交信号I(n),Q(m)に対して、帯域制限処理を行うフィルタ処理手段を備え、直交復調手段は、I(n)=A(n)又はI(n)=−A(n)となる直交信号I(n)と、Q(m)=A(m)又はQ(m)=−A(m)となる直交信号Q(m)をフィルタ処理手段に出力する。
【0078】
上記の構成により、乗算器を使用せずに直交復調手段を構成することができる。これにより、直交復調手段の前後でデータ量を変化させることなくI/Q変換を行うことができる。
【0079】
また、本実施形態の信号処理装置においては、フィルタ処理手段は、直交復調手段から出力された直交信号I(n)用のN/2個のフィルタと、直交復調手段から出力された直交信号Q(m)用のN/2個のフィルタと、を備える。直交信号I(n)用の各フィルタは、タップ数が11のハーフバンドフィルタのフィルタ係数C
0,C
2,C
4,C
5のうちのC
5と、直交復調手段から出力された直交信号I(n)とを乗算する乗算器を有する。直交信号Q(m)用の各フィルタは、直交復調手段から出力された直交信号Q(m)の時間的に連続する6個のデータD
0,D
1,D
2,D
3,D
4,D
5のうち、データD
0とD
5の和にフィルタ係数C
0を乗算する第1乗算器と、データD
1とD
4の和にフィルタ係数C
2を乗算する第2乗算器と、データD
2とD
3の和にフィルタ係数C
4を乗算する第3乗算器と、第1〜第3乗算器による乗算結果を加算する加算器と、を有する。
【0080】
上記の構成により、フィルタ処理手段において、乗算器の使用数を従来のHBFよりも削減することができる。
【0081】
あるいは、本実施形態の信号処理装置においては、直交信号Q(m)用の各フィルタは、タップ数が11のハーフバンドフィルタのフィルタ係数C
0,C
2,C
4,C
5のうちのC
5と、直交復調手段から出力された直交信号Q(m)とを乗算する1つの乗算器を有するものであってもよい。また、直交信号I(n)用の各フィルタは、直交復調手段から出力された直交信号I(n)の時間的に連続する6個のデータD
0,D
1,D
2,D
3,D
4,D
5のうち、データD
0とD
5の和にフィルタ係数C
0を乗算する乗算器と、データD
1とD
4の和にフィルタ係数C
2を乗算する乗算器と、データD
2とD
3の和にフィルタ係数C
4を乗算する乗算器と、上記3つの乗算器による乗算結果を加算する加算器と、を有するものであってもよい。