以下、図を参照して、本発明の実施の形態について説明する。
本発明を適用したサンプリングレート変換機能を有するデジタルブロックは、受信装置において、図12を用いて説明した従来における場合と基本的に同様の信号処理を、デジタルフィルタの出力のサンプリング周波数を上げることなく実行し、エイリアシングのない良好な受信信号を得ることができるようにするものである。
図13は、デシメーションフィルタ方式を適用した、11g OFDMモードのデジタルブロック111の構成を示すブロック図である。
なお、図3を用いて説明した従来における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
SINCフィルタ51は、周波数Y1MHzの入力信号を受け、移動平均演算を実行する。デシメータ131は、供給された信号のサンプリングレートを、所定の割合X1で減少させる(すなわち、所定の割合X1でデシメーションする、または、1/X1倍する)ものである。ここで、デシメータ131の出力周波数をY2MHzとする。ΣΔA/D変換部53は、供給されたRF信号を、1bitのビット列に変換して、高次オーバーサンプルする。LPF54は、所定の周波数帯域以上の高周波成分の信号をフィルタリングする。デシメータ132は、入力された信号のサンプリングレートを、所定の割合X2で減少させる(すなわち、所定の割合X2でデシメーションする、または、1/X2倍する)ものである。ここで、デシメータ132の出力周波数をY3MHzとする。
制御部121は、例えば、図示しない操作入力部や制御信号などの供給を受ける入力端子などを介して、外部から、受信チャネルの周波数や、受信信号を処理する後段の図示しない信号処理部が要求する周波数の情報の入力を受け、サンプリングレート変換部133を制御する。
サンプリングレート変換部(SRC;Sampling Rate Converter)133は、サンプリングレートFs=Y3MHzの入力信号を、所定のサンプリングレートFs=Y4MHzの出力信号に変換する。サンプリングレート変換部133の詳細については、後述する。
LPF57は、所定の周波数帯域以上の高周波成分の信号をフィルタリングする。デシメータ58は、入力された信号のサンプリングレートY4MHzを、所定の割合X3で減少させる(1/X3倍する)ものである。ここで、デシメータ134の出力周波数、すなわち、図13に示されるデジタルブロック111の出力信号の周波数をY5MHzとする。
デシメータ131、デシメータ132、および、デシメータ134における、供給された信号のサンプリングレートの減少の割合は、入力チャンネルと、受信信号を処理する後段の図示しない信号処理部が要求する周波数によって異なるものであり、適宜、設計されるものである。
本発明を適用したサンプリングレート変換部133を有するデジタルブロック111を含んで構成される受信装置は、デジタルフィルタの出力のサンプリング周波数を上げることなく、エイリアシングのない良好な受信信号を得ることができるようにするものである。
例えば、1.2GHzの入力信号系列を、360MHzにサンプリングレート変換した後、1/9にデシメーションして、40MHzに変換する場合を例として、その動作の原理について説明する。
例えば、サンプリングレート1.2GHzの入力信号系列が式(1)、K次のFIRフィルタのタップ係数が式(2)で示される場合、フィルタリングされ、1/4に間引きされた出力信号は、式(3)に示される。
式(3)に示される出力信号は、サンプリングレート1.2GHzの入力信号系列が1/4に間引きされているので、300MHzの信号である。
次に、この300MHzの信号を360MHzにサンプリングレート変換する。ここで、300MHzのクロック周波数をFa、サンプリング間隔をTaとし、360MHzのクロック周波数をFd、サンプリング間隔をTdとすると、両クロックのサンプリング間隔の割合は、次の式(4)で示される。
式(4)は、300MHzの信号の5サンプル目のタイミング時に、360MHzの信号は6サンプル目のタイミングであることを意味する。即ち、300MHzの信号が5サンプル目のタイミングの場合、360MHzの出力信号の6サンプル目のデータが補間されなければならない。この場合、5サンプルに1サンプルの割合で前タイミングの入力データを用いて補間する必要がある。その信号系列は、例えば、次の式(5)で示される。
次に、この信号系列は、9サンプル加算されることにより、1/9にデシメーションされる。360MHzの出力信号が1/9にデシメーションされて得られる40MHzの出力信号は、次の式(6)で示され、そのうちの出力信号の一つのサンプルZ0は、式(7)で示される。
式(7)より、各タップ係数に対応する入力データごとに補間によるレート変換と加算によるデシメーションを先に実行し、その結果に対してフィルタリング処理したとしても、演算結果は従来方式と等価であることが示される。
この式(7)は、次の式(8)のように示される。また、式(8)において、Vkは、式(9)で示され、Hは、式(10)で示される。
すなわち、式(8)より、受信装置において、図12を用いて説明した従来における場合と基本的に同様の信号処理を、デジタルフィルタの出力のサンプリング周波数を上げることなく実行し、エイリアシングのない良好な受信信号を得るには、ある時刻の入力信号データXLからFIRの次数分だけ遅延したデータXL+K-1 (L=0,1,2,3,…)までのデータを1グループの入力系列群として、入力系列群ごとに補間と加算によるデシメーションを行い、最後に、得られた系列とFIRフィルタのタップ係数を用いて、フィルタの演算を行えばよいことがわかる。
図14に、11gOFDMモードで動作するサンプリングレート変換部133における周波数特性を示す。図中アで示されるのは、入力された2412MHzの信号を、1/4にデシメーションした301.5MHzのOFDM信号を示し、図中イで示されるのは、301.5MHzのOFDM信号に対して、更に、同一信号の繰り返しによる補間処理(例えば、300MHzの入力信号の5サンプル目に対応する入力信号を、360MHzの出力信号の5サンプル目および6サンプル目のデータとして繰り返すことにより実行される補間処理)によって、360MHzに変換されたOFDM信号を示し、図中ウで示されるのは、360MHzのOFDM信号に対して、更に、9サンプルの加算による移動平均処理により、SINCフィルタを加えた信号を示す。
図中イで示されるように、後段のSINCフィルタを加えない場合は、図中ウで示される、後段のSINCフィルタを加えた場合に比較して、エイリアシングのピーク値で15乃至20dB程度大きい。また、64QAMの場合のEVM特性を算出すると、図中イで示される後段のSINCフィルタを加えない場合で−37dBとなり、図中ウで示される、後段のSINCフィルタを加えた場合で−48dBとなる。11gのOFDMモードにおいては、適用される変調方式は、BPSK、QPSK、16QAM、および、64QAMの4種類であり、それぞれ要求されるEVM特性は異なる。一般に、BPSKおよびQPSKにおいてはEVM<−20dB程度が要求され、16QAMおよび64QAMにおいては、EVM<−30dB程度が要求される。このような要求仕様を考慮すると、BPSKまたはQPSKにおいては、後段のSINCフィルタを省略した特性で十分であり、加算平均処理を実行せずに、所定数のデータのうちの1データのみを選択、すなわち、所定の割合の間引き処理を実行すれば、処理がより単純になる。
即ち、式(8)の部分は、次の式(10)で示すことができる。
なお、16QAMまたは64QAMにおいては、要求特性が厳しいので、後段のSINCフィルタを実現する必要があり、その場合においては、上述した式(8)に示される演算を実行する必要がある。
このように、サンプリングレート変換部133において、選択される変調方式に基づいてSINCフィルタを実現するかしないかを制御することができれば、信号処理を効率的に簡略化することができる。
図15は、サンプリングレート変換部133の詳細な構成例を示すブロック図である。
サンプリングレート変換部133は、コントローラ141、レート変換処理部140、および、デジタルフィルタ145で構成されている。レート変換処理部140は、バッファ142、セレクタブロック143、加算処理部144で構成されている。
コントローラ141は、制御部121から供給される制御信号に基づいて、バッファ142、セレクタブロック143、加算処理部144、および、デジタルフィルタ145の動作を制御するものである。コントローラ141が有する機能の詳細については、図16を用いて後述する。
レート変換処理部140は、供給されたデジタル信号に対して、サンプリングレートを変換する処理を実行して、デジタルフィルタ145におけるK次のFIRフィルタのそれぞれのタップ係数と演算されるK系列のデジタル信号を生成するものである。
バッファ142は、供給された1ビットのシリアル信号を保持するとともに所定のタイミングの信号に対応するLビットの信号を、タップ係数の数に対応するK系列、セレクタブロック143に供給する。すなわち、バッファ142は、ある時刻の入力信号データXLからFIRの次数分だけ遅延したデータXL+K-1 (L=0,1,2,3,…)までのデータを1グループの入力系列群とする処理を実行するために入力データを保持するものである。バッファ142の回路構成例については、図17を用いて後述する。
セレクタブロック143は、セレクタ151−1乃至セレクタ151−KのK個のセレクタにより構成されている。セレクタ151−1乃至セレクタ151−Kのそれぞれは、所定の入力サンプリングレートから、所定の出力サンプリングレートへ、サンプリングレートを変換するために必要な信号を補間するために、入力信号を選択して出力する処理を実行するものである。セレクタブロック143に含まれるセレクタ151−1乃至セレクタ151−Kのそれぞれに入力されるLビットの信号に対して、出力信号は、後段の加算平均処理(または、間引き処理)の係数に対応するNビットとなる。セレクタブロック143に含まれるセレクタ151−1乃至セレクタ151−Kのうち、その一例として、セレクタ151−Kの構成例を、図18を用いて後述する。すなわち、セレクタブロック143は、デシメーションのための補間と加算のうちの、補間処理を実行するものである。
以下の説明においては、セレクタ151−1乃至セレクタ151−Kを個々に区別する必要がない場合、単に、セレクタ151と称する。
加算処理部144は、K個の加算または出力選択部161によって構成されており、コントローラ141の制御に基づいて、セレクタ151のNビットの出力を加算して出力するか、または、Nビットの出力のうちの1ビットのみを出力する。すなわち、加算処理部144は、デシメーションのための補間と加算のうちの、加算処理、または、加算処理に代わって実行される間引き処理を実行するものである。加算処理部144の構成例については、図20を用いて後述する。
デジタルフィルタ145は、フィルタブロック171、および、タップ係数記憶部172を含んで構成されている。すなわち、デジタルフィルタ145は、最後に、加算または間引きによって得られた系列とFIRフィルタのタップ係数を用いて、フィルタの演算を実行するものである。
フィルタブロック171は、タップ係数記憶部172に保持されている情報を基に、加算処理部144の出力にタップ係数を乗算して得られる結果を求めるものである。
フィルタブロック171には、乗算部181−1乃至乗算部181−k、および、加算部182が設けられる。
タップ係数記憶部172は、タップ係数を記憶する。すなわち、フィルタブロック171の乗算部181−1乃至乗算部181−kは、加算処理部144の出力にタップ係数を乗算して加算部182に供給する。加算部182は、乗算部181−1乃至乗算部181−kの乗算結果を加算して出力する。
なお、タップ係数記憶部172は、タップ係数ではなく、加算処理部144の出力にタップ係数を乗算して得られる結果のうちの一部を記憶するようにしてもよい。フィルタブロック171の構成は、タップ係数記憶部172に記憶されている情報によって異なるものとなる。デジタルフィルタ145の異なる構成例については、図21乃至図23を参照して後述する。
また、タップ係数記憶部172に記憶されたFIRフィルタのタップ係数を書き換えれば、他の無線アプリケーションにも容易に適用可能であり、比較的次数の大きいデジタルフィルタであっても、低消費電力で小さく実装することが可能である。
そこで、デジタルフィルタ145においては、例えば、タップ係数記憶部172に、複数の無線システムに対応したタップ係数を記憶しておき、コントローラ141の制御に基づいて、現在利用している無線システムに対応したタップ係数を選択して、演算することができるようにしても良い。
図16は、コントローラ141が有する機能を示す機能ブロック図である。
コントローラ141は、制御信号取得部201、セレクタ制御部202、加算制御部203、および、デジタルフィルタ制御部204の機能を有している。
制御信号取得部201は、制御部121から供給される制御信号を取得し、セレクタ制御部202、加算制御部203、および、デジタルフィルタ制御部204の各部に供給する。制御信号には、デジタルブロックの入力信号の周波数と出力信号の周波数(後段の図示しない信号処理部が要求する信号周波数)、OFDMモードにおける変調方式が、BPSK、QPSK、16QAMまたは64QAMのうちのいずれであるかなどの情報が含まれている。
セレクタ制御部202は、セレクタブロック143の処理を制御するものであり、補間データ制御部211および遅延量制御部212により構成されている。
補間データ制御部211は、制御信号取得部201から供給される制御信号に基づいて、セレクタブロック143のセレクタ151において実行される補間処理、換言すれば、所定数のサンプルに1サンプルの割合で前タイミングの入力データを用いて出力で信号を補間する処理を制御するための制御信号を生成し、セレクタブロック143のセレクタ151に供給する。
また、補間処理が実行されることにより、それぞれのセレクタ151への入力信号に対する出力信号の遅延量を変化させる必要が生じる。遅延量制御部212は、制御信号取得部201から供給される制御信号に基づいて、遅延量を制御するための制御信号を生成し、セレクタブロック143のセレクタ151に供給する。
加算制御部203は、制御信号取得部201から供給される制御信号に基づいて、OFDMモードにおける変調方式が、BPSK、QPSK、16QAM、または、64QAMのうち、16QAMまたは64QAMのいずれかである場合、供給されたNビットの信号の加算処理を実行し、BPSKまたはQPSKである場合、供給されたNビットの信号のうちの1ビットを出力するように、加算処理部144を制御する。
デジタルフィルタ制御部204は、デジタルフィルタ145の処理を制御するものである。例えば、デジタルフィルタ制御部204は、デジタルフィルタ145のタップ係数記憶部172に記憶されている複数の無線システムに対応したタップ係数から、現在利用している無線システムに対応したタップ係数を選択して、演算することができるようにデジタルフィルタ145を制御する。
次に、図15のバッファ142の回路構成例を図17に示す。バッファ142は、供給された1ビットのシリアル信号を、複数のフリップフロップを用いてバッファリングして、4ビットのパラレル信号に変換し、後段に直列に接続された各フリップフロップで入力データを保持する。そして、バッファ142は、ある時刻の入力信号データXLからFIRの次数Kの分だけ遅延したデータXL+K-1 (L=0,1,2,3,…)までのデータを1グループの入力系列群として、セレクタブロック143に含まれるK個のセレクタ151にそれぞれ供給する。
次に、図15のセレクタブロック143に含まれるセレクタ151−1乃至セレクタ151−Kのうち、その一例として、セレクタ151−Kの構成例を、図18に示す。セレクタ151−Kにおいて、300MHzから360MHzのサンプリングレート変換処理を実行する場合について、以下に説明する。
なお、実装においては、バッファ142において、1.2GHzの1ビットの入力データをNビットのパラレル信号に変換してデータを1グループの入力系列群として保持する処理が実行され、このときのNがN=32となることを想定する。すなわち、セレクタ151は、1.2GHz/32=37.5MHzで入力信号を取得するとともに、40MHzで信号を出力する構成とすることにより、300MHzから360MHzのサンプリングレート変換を等価的に処理する。
セレクタ151−Kには、バッファ142からLビットの信号が入力される。ここでは、バッファ142から1つのセレクタ151に対して、16ビットの信号が37.5MHz(1.2GHz/32)ごとに同時に供給されるものとする。
ここでは、セレクタ151−Kの信号入力端子を、a0乃至a15とし、16ビットの信号が37.5MHzごとに同時に供給されるものとする。すなわち、バッファ142に供給された1ビットの信号列におけるある信号nが入力端子a0にあるタイミングで供給されたとした場合、入力端子a0乃至a15に供給される信号は、1.2GHzから300MHzの1/4のデシメーションが等価的に実行された信号であることから、同時に入力端子a1に供給される信号は信号nから4カウント遅延した信号であり、入力端子a2に供給される信号は信号nから8カウント遅延した信号であり、同様にして、4カウントずつ遅延した信号が、それぞれ、入力端子a1乃至a15に供給される。
また、セレクタ151-Kは、加算処理部144に、Nビットの信号を出力する。ここでは、信号出力端子を、b0乃至b8とし、9ビットの信号が40MHzごとに同時に出力されるものとする。入力信号のうちのいずれの信号を出力するかは、コントローラ141から供給される制御信号に基づいて制御される。
300MHzを360MHzに変換する場合、式(4)を用いて説明したように、例えば、300MHzのクロックが5サンプルカウントされたら、そのタイミングにおける360MHzのサンプルを補間する必要がある。このような補間が40MHzのタイミングで実行されることを考慮すると、はじめのタイミングでは300MHzの5サンプル目のタイミングで補間を実行する必要がある。
図19に、セレクタ151−Kへの入出力を示す。
図19の上部は、セレクタ151−Kへの入力信号を示すものである。この横軸の0,1,2,3…は、バッファ142からLビットの信号が入力されるタイミングを示すものであり、37.5MHzごとで1タイミング進むものである。これに対して0,4,8,12,16…の値は、入力タイミング0において入力端子a8に供給された信号を基準とした場合の、それぞれの信号のバッファ142入力時における遅延量を示すものである。上述したように、入力端子a0乃至a15に供給される信号は、1.2GHzから300MHzの1/4のデシメーションが等価的に実行された信号であることから、入力端子a0に入力される信号から4カウントの正の整数倍ずつ遅延した信号が、それぞれ、入力端子a1乃至a15に供給される。
すなわち、入力端子a0乃至a15に37.5MHzごとに同時に供給される信号は、シリアル信号に変換して考えると、1.2GHzの1/4である300MHzの周波数を有する信号と等価である。
そして、セレクタ151−Kは、この入力信号のうちの一部を適宜選択し、所定の割合で補間し、40MHzで出力する処理を実行する。
図19の下部は、セレクタ151−Kからの出力信号を示すものである。この横軸の0,1,2,3…は、セレクタ151−Kからの9ビットの信号の出力タイミングを示すものであり、40MHzごとに1タイミング進むものである。
ここでは、まず、入力タイミング0において入力端子a8に供給された信号を基準として、入力タイミング0から1タイミング遅延した出力タイミング1において、9ビットの信号が出力される。300MHzを360MHzに変換する場合、式(4)を用いて説明したように、入力信号の300MHzのクロックが5サンプルカウントされたら、そのタイミングにおける360MHzの出力信号のサンプルを補間する必要がある。これを40MHzごとに出力される9ビットの信号群で考えると、はじめの出力となるタイミング1では、300MHzの5サンプル目を用いて360MHzの出力信号を補間することに対応する。
すなわち、はじめの出力となるタイミング1では、300MHzを360MHzに変換するには、セレクタ151−Kの入力端子a12への入力データ「16」を、2つの出力端子に出力させる必要がある。したがって、出力端子b4およびb5から、入力端子a12への入力データ「16」が出力される。
そして、次の出力タイミングであるタイミング2では、タイミング1ですでに3サンプル分進んだ(出力された)状態にあるので、まず、300MHzの出力信号の2サンプル目のタイミングで補間する必要があるとともに、更に、7サンプル目のタイミングでも補間する必要がある。すなわち、出力タイミング2では、300MHzを360MHzに変換するには、セレクタ151−Kの入力端子a9および入力端子a14に入力された入力データ「36」および「56」のそれぞれを、2つの出力端子に出力させる必要がある。したがって、出力端子b1およびb2から、入力端子a9への入力データ「36」が出力されるとともに、出力端子b7およびb8から、入力端子a14への入力データ「56」が出力される。
また、一度に入出力される信号のうち、2つの端子に出力する入力データの個数と位置の選択は、コントローラ141から供給される制御信号に基づいて制御される。2つの端子に出力する入力データの個数や位置をセレクタ151に選択させるための制御信号を、コントローラ141が生成する処理の詳細については、図25または図29を用いて後述する。
また、ここでは、2つの出力端子に出力する入力データの個数と位置を同時に指定しているが、1度に出力される信号のうち、2つの出力端子に出力される入力信号の個数、すなわち、一度に出力される信号のうちの補間された信号の個数を求め、挿入される位置はランダムに設定することにより、エイリアシングをさらに減衰させることができる。
また、2つの端子に出力する入力データの個数と位置の制御情報が得られれば、その位置情報に予め設定されたオフセットを加えることによって、位置情報だけ異なる制御情報を得ることができる。また、ある位置情報に対応したテーブルを予め用意しておいても,同様にして、2つの端子に出力する入力データの位置、すなわち、補間処理に用いられる入力信号を変更することができる。
また、入力タイミング0においては1つの入力信号が出力時に補間されているのに対して、入力タイミング1においては2つの入力信号が出力時に補間されている。したがって、入力タイミング0においては、入力端子a8乃至a15に入力された信号が出力されているが、入力タイミング1においては、入力端子a8乃至a14に入力された信号が出力されている、すなわち、入力端子a15に入力された信号は出力されていない。このような場合、次の入力タイミング2において、入力タイミング0および1と同じ入力データの位置から出力データを選択してしまっては、出力されるべき信号(ここでは、入力端子a15に入力された信号「60」)を出力しそこなってしまう。
このように、図19に示される入出力においては、2つのデータが補間されて出力された場合に、その次のタイミングにおいて出力される信号の遅延量を1つシフトする必要がある。具体的には、入力タイミング1において入力端子a15に入力された信号「60」を、次のタイミングである入力タイミング2において出力するために、セレクタ151は、入力タイミング2において入力端子a7乃至a14に入力された信号を、出力タイミング3において出力しなければならない。すなわち、セレクタ151−kへ入力される入力信号のうちの出力信号として選択される信号の開始位置は、図19において図中αで示されるようにシフトされる。
補間された出力データの数と出力される信号の遅延量とは、補間するデータ数と、設定された閾値との差分を求め、その差分値だけ遅延させることにより制御することができる。図19に示される入出力における場合、閾値の設定値は1となる。すなわち、図19において図中αで示されるシフト量は、(補間するデータ量−1)により求められる。この制御の具体的な例については、図28のフローチャートを用いて後述する。
また、セレクタ151への入力信号のサンプリング間隔とセレクタ151からの出力信号のサンプリング間隔とが異なるので、それぞれのサンプリング間隔の割合に基づいて、出力される信号の遅延量を初期化する必要がある。具体的には、セレクタ151への入力信号のクロックの周波数をFa、サンプリング間隔をTaとし、出力信号のクロックの周波数をFd、サンプリング間隔をTdとした場合、セレクタ151への入力信号のサンプリング間隔は37.5MHzであり、セレクタ151からの出力信号のサンプリング間隔は40MHzであることから、次の式(12)を得ることができる。
これは、セレクタ151−kにおいて、37.5MHzの15番目のタイミングと40MHzの16番目のタイミングが対応するので、このタイミングにおける入力データが更新されないことを意味する。このような状況を避けるためには、40MHzの16番目のタイミング、即ち、37.5MHzの15番目のタイミング時に、シフトされて出力されていた入力データを遅延量ゼロの初期状態に設定すればよい。換言すれば、15番目の入力信号である入力タイミング14の入力信号を元に、16番目の出力信号である出力タイミング15に加えて、17番目の出力信号である16の出力信号を出力するようにすれば良い。このように、入力信号と出力信号の周波数によって決まる所定のタイミングにおいて遅延量を初期化するための制御信号を、コントローラ141が生成する処理については、図26を用いて後述する。
図20に、加算処理部144の加算または出力選択部161の構成例を示す。加算処理部144の加算または出力選択部161は、セレクタ151のNビット(ここでは、9ビット)の出力を加算する加算部231と、加算部231による加算結果を出力するか、または、セレクタ151のNビットの出力のうちの1ビットのみを出力するかを選択するスイッチ232で構成される。スイッチ232は、コントローラ141の加算制御部203から供給される制御信号に基づいて、加算部231による加算結果、または、セレクタ151のNビットの出力のうちの1ビットのみのいずれかを、デジタルフィルタ145に供給する。具体的には、スイッチ232は、OFDMモードにおける変調方式が、BPSK、QPSK、16QAM、または、64QAMのうち、16QAMまたは64QAMのいずれかである場合、加算部231による加算結果を出力し、BPSKまたはQPSKである場合、供給されたNビットの信号のうちの1ビットを出力する。
次に、図21乃至図23を参照して、デジタルフィルタ145の異なる構成例について説明する。デジタルフィルタ145は、フィルタブロック171、および、タップ係数記憶部172で構成されているが、タップ係数記憶部172が保持している情報の形態によって、フィルタブロック171の構成が異なる。
図21を参照して、デジタルフィルタ145の第2の構成例について説明する。
例えば、タップ係数記憶部172に、入力系列とタップ係数の乗算結果が記憶されている場合、フィルタブロック171は、乗算部181−1乃至乗算部181−kを備える必要がなく、加算処理部144から供給される加算結果(または、間引きされて供給されるセレクタ151からの出力信号のうちのいずれか)を基に、タップ係数記憶部172から、入力系列とタップ係数の乗算結果のうちの対応するものを選択して、加算部182に供給する。
図22を参照して、デジタルフィルタ145の第3の構成例について説明する。
例えば、タップ係数記憶部172に、入力系列をグルーピングし、そのグルーピングされた入力系列とタップ係数の乗算結果が、例えば、テーブル形式で記憶されている場合、フィルタブロック171は、乗算部181−1乃至乗算部181−kを備える必要がなく、加算処理部144から供給される複数の加算結果(または、間引きされて供給されるセレクタ151からの出力信号のうちのいずれか)を基に、タップ係数記憶部172に保持されたテーブルから、加算処理部144からの出力に対応するグルーピングされた入力系列を抽出し、対応する乗算結果を加算部182に供給する。
図22の構成のデジタルフィルタ145は、図21における場合と比較して、タップ係数記憶部172の容量は必要であるが、加算部182における処理が簡単になる。
図23を参照して、デジタルフィルタ145の第4の構成例について説明する。
例えば、タップ係数記憶部172に、全ての入力系列の組み合わせに対する乗算結果が全て記憶されている(例えば、入力系列に対応する次数のテーブル形式で記憶されている)場合、フィルタブロック171は、乗算部181−1乃至乗算部181−kのみならず、加算部182も備える必要がなく、加算処理部144から供給されるK個の加算結果(または、間引きされて供給されるセレクタ151からの出力信号のうちのいずれか)を基に、タップ係数記憶部172に保持されたテーブルから対応する乗算結果を抽出して出力する。
図23の構成のデジタルフィルタ145は、図22における場合と比較して、タップ係数記憶部172の容量が更に必要であるが、加算部182を省略することが可能となる。
次に、図24のフローチャートを参照して、図15を用いて説明したサンプリングレート変換部133が実行する処理について説明する。
ステップS1において、サンプリングレート変換部133のバッファ142は、ΣΔA/D変換部53によりAD変換された信号を取得する。
ステップS2において、バッファ142は、ある時刻の入力信号データXLからFIRの次数分だけ遅延したデータXL+K-1(L=0,1,2,3,…)までのデータを、1グループの入力系列群としてセレクタブロック143のそれぞれのセレクタ151に供給する。
ステップS3において、セレクタ151は、例えば、37.5MHzなどの所定のタイミングで入力系列群のデータを取得する。
ステップS4において、図25または図29を用いて後述する、補間データ制御処理が開始されるとともに、図26を用いて後述する、遅延量制御処理が開始される。
なお、ここでは、説明のため、入力系列群のデータの取得、補間データ制御処理、および、遅延量制御処理を、ステップS3およびステップS4として記載したが、これらの処理は、並行して実行されるものである。
ステップS5において、図28を用いて後述する、セレクタ151の出力処理が開始される。
なお、ステップS4およびステップS5において開始される、補間データ制御処理、遅延量制御処理、および、セレクタの出力処理は、それぞれ、入力信号の供給が終了されるまで処理が継続されるものである。
ステップS6において、コントローラ141は、OFDMモードにおける変調方式が、BPSK、QPSK、16QAM、または、64QAMのうちのいずれであるかに基づいて、加算処理部144のK個の加算または出力選択部161のそれぞれにおいて、セレクタ151から供給されるNビット(例えば、9ビット)の信号の加算処理を実行するか否かを判断する。具体的には、コントローラ141は、OFDMモードにおける変調方式が、BPSK、QPSK、16QAM、または、64QAMのうちの、16QAMまたは64QAMのいずれかである場合、加算部231による加算結果を出力し、BPSKまたはQPSKである場合、供給されたNビットの信号のうちの1ビットを出力する。
ステップS6において、加算処理を実行すると判断された場合、ステップS7において、コントローラ141は、加算処理部144に、加算処理を実行させるための制御信号を供給するので、加算処理部144は、セレクタ151から供給されるNビット(例えば、9ビット)の信号の加算処理を実行する。具体的には、コントローラ141は、加算処理部144の加算または出力選択部161のスイッチ232を制御して、加算部231によるセレクタ151から供給されるNビットの信号の加算結果を出力させる。
ステップS6において、加算処理を実行しないと判断された場合、ステップS8において、コントローラ141は、加算処理部144に、加算処理を実行させずに所定のデータを出力させる、すなわち、1/Nの間引き処理を実行させるための制御信号を供給するので、加算処理部144は、セレクタ151から供給されるNビット(例えば、9ビット)の信号のうちの所定のデータを出力する。具体的には、コントローラ141は、加算処理部144の加算または出力選択部161のスイッチ232を制御して、セレクタ151から供給されるNビット(例えば、9ビット)の信号のうちの所定のデータを出力させる。
ステップS9において、デジタルフィルタ145は、タップ係数記憶部172に保持されているタップ係数、もしくは、入力系列とタップ係数の乗算結果、入力系列をグルーピングし、そのグルーピングされた入力系列とタップ係数の乗算結果、または、入力系列のそれぞれの組み合わせに対する乗算結果などを用いて、フィルタの演算を実行する。
ステップS10において、コントローラ141は、AD変換された信号の供給が終了したか否かを判断する。ステップS10において、AD変換された信号の供給が終了していないと判断された場合、処理は、ステップS1に戻り、それ以降の処理が繰り返される。ステップS10において、AD変換された信号の供給が終了したと判断された場合、処理は終了される。
このような処理により、ΣΔA/D変換部53によりオーバーサンプリングされてAD変換された信号のサンプリングレートが変換される。
次に、図25のフローチャートを参照して、図24のステップS4において開始される、コントローラ141の補間データ制御部211が実行する処理の第1の例である補間データ制御処理1について説明する。
ステップS41において、コントローラ141の補間データ制御部211は、それぞれの入力信号を2つの端子に出力するか、1つの端子に出力するかを示すレジスタK、Kのインデックスi、および、セレクタに対する入出力の位相差に相当する値を示すパラメータSTATE1を初期化する。
ここで、i番目の入力信号が1つの端子から出力される場合、i番目の入力信号に対応するレジスタKの値は0(K(i)=0)とされ、i番目の入力信号が2つの端子から出力される、すなわち、i番目の入力信号を用いて出力信号が補間される場合、i番目の入力信号に対応するレジスタKの値は1(K(i)=1)とされる。
ステップS42において、補間データ制御部211は、サンプリングレート変換部133の出力サンプリングレートFoutと同一の周波数のクロック、例えば、40MHzのクロックの立ち上がりエッジを検出したか否かを判断する。ステップS42において、サンプリングレート変換部133の出力サンプリングレートFoutと同一の周波数のクロック、例えば、40MHzのクロックの立ち上がりエッジを検出したと判断された場合、処理は、後述するステップS50に進む。
ステップS42において、サンプリングレート変換部133の出力サンプリングレートFoutと同一の周波数のクロック、例えば、40MHzのクロックの立ち上がりエッジを検出していないと判断された場合、ステップS43において、補間データ制御部211は、(サンプリングレート変換部133の入力サンプリングレートFin/デシメータの分周比)、すなわち、例えば、1.2GHzの1/4である300MHzの周波数のクロックの立ち上がりエッジを検出したか否かを判断する。ステップS43において、(サンプリングレート変換部133の入力サンプリングレートFin/デシメータの分周比)、すなわち、例えば、1.2GHzの1/4である300MHzの周波数のクロックの立ち上がりエッジを検出していないと判断された場合、立ち上がりエッジを検出したと判断されるまで、ステップS43の処理が繰り返される。
ステップS43において、(サンプリングレート変換部133の入力サンプリングレートFin/デシメータの分周比)、すなわち、例えば、1.2GHzの1/4である300MHzの周波数のクロックの立ち上がりエッジを検出したと判断された場合、ステップS44において、補間データ制御部211は、セレクタに対する入出力の位相差に相当する値を示すパラメータSTATE1において、STATE1<BFinが満たされているか否かを判断する。
ここで、Finは、入力信号の周波数であり、ここでは、例えば、1.2GHzである。また、Bは、所定の定数であり、ここでは、例えば、1/(0.24×109)であるものとする。
ステップS44において、STATE1<BFinが満たされていると判断された場合、ステップS45において、補間データ制御部211は、i番目の入力信号は1つの端子から出力されるものとして、K(i)=0とし、i=i+1として、処理は、後述するステップS48に進む。
ステップS44において、STATE1<BFinが満たされていないと判断された場合、ステップS46において、補間データ制御部211は、i番目の入力信号は2つの端子から出力されるものとして、K(i)=1とするとともに、K(i+1)=0とし、i=i+2とする。
具体的には、例えば、図19を用いて説明したセレクタ151の入出力において、入力タイミング0の入力信号のうち、入力端子a12により入力された信号が2つの端子から出力されるとともに、入力端子a13により入力された信号は1つの端子から出力される場合に対応する。
ステップS47において、補間データ制御部211は、パラメータSTATE1を初期化、すなわち、STATE1=STATE1−BNMFoutとする。ここで、Nは、例えば、SINCフィルタに接続されるデシメータの分周比、具体的には、加算処理部144の加算処理に対応する分周処理の分周比であり、ここでは、例えば、9である。また、Mは、AD変換された信号の補間処理前のデシメーションの割合(分周比)、具体的には、バッファ142の処理に対応するデシメーションの割合(分周比)であり、ここでは、例えば、4である。
ステップS45、または、ステップS47の処理の終了後、ステップS48において、補間データ制御部211は、パラメータSTATE1を所定の値でインクリメント、すなわち、STATE1=STATE1+B(NMFout−Fin)とする。
ステップS49において、補間データ制御部211は、入力信号の供給が終了したか否かを判断する。ステップS49において、入力信号の供給が終了していないと判断された場合、処理は、ステップS42に戻り、それ以降の処理が繰り返される。
ステップS42において、サンプリングレート変換部133の出力サンプリングレートFoutと同一の周波数のクロック、例えば、40MHzのクロックの立ち上がりエッジを検出したと判断された場合、ステップS50において、補間データ制御部211は、レジスタKを参照し、2端子に出力する入力信号を示す制御情報CNTをセレクタ151および遅延量制御部212に供給する。
具体的には、例えば、Kのインデックスiが1インクリメントされるごとに、図19を用いて説明したセレクタ151の入出力において、入力タイミング0の入力信号のうち、入力端子a8乃至a11に入力された信号は1つの端子から出力され、入力端子a12に入力された信号が2つの端子から出力され、入力端子a13乃至a15に入力された信号は1つの端子から出力されることが、それぞれのレジスタKに0または1の値として保持される。そして、補間データ制御部211は、例えば、40MHzのクロックの立ち上がりエッジを検出したとき、すなわち、セレクタ151からの信号の出力タイミングに先駆けて、レジスタKを参照し、2端子に出力する入力信号を示す制御情報CNTを生成して、セレクタ151に供給する。
ステップS51において、補間データ制御部211は、レジスタK、および、Kのインデックスiを初期化し、処理は、ステップS43に進む。
ステップS49において、入力信号の供給が終了したと判断された場合、処理は終了される。
このような処理により、補間データ制御部211は、セレクタ151が入力信号のうちの一部を適宜選択し、所定の割合で補間することができるような制御信号を生成し、セレクタ151に供給することができる。具体的には、補間データ制御部211は、セレクタ151が、図19を用いて説明したように、300MHzの5サンプル目を用いて360MHzの6つ目の出力信号を補間することができるように、セレクタ151からの信号の出力タイミングに対応付けて、セレクタ151から一度に出力されるNビット(ここでは、9ビット)分の出力信号に対して、2つの端子から出力される入力信号はいずれの信号であるかを示す制御信号を生成することができる。
また、ここでは、2つの出力端子に出力する入力データの個数と位置を同時に指定しているが、1度に出力される信号のうち、2つの出力端子に出力される入力信号の個数、すなわち、一度に出力される信号のうちの補間される信号の個数を求めて、挿入される位置はランダムに設定することにより、エイリアシングをさらに減衰させることができる。挿入位置をランダムに設定する場合の処理については、図29を用いて後述する。
また、2つの端子に出力する入力データの個数と位置の制御情報が得られれば、その位置情報に予め設定されたオフセットを加えることによって、位置情報だけ異なる制御情報を得ることができる。また、ある位置情報に対応したテーブルを予め用意しておいても,同様にして、2つの端子に出力する入力データの位置を変更することができる。
次に、図26のフローチャートを参照して、図24のステップS4において開始される、コントローラ141の遅延量制御部212が実行する遅延量制御処理について説明する。
ステップS81において、コントローラ141の遅延量制御部212は、Foutに近いサンプリングレートに入力信号Finを分周するための分周比をJとして、Fin/JとFoutとの位相差に相当する値を示すパラメータSTATE2を初期化する。ここでは、例えば、Fin=1.2GHzであり、Fout=40MHzであり、J=32となる。したがって、Fin/J=37.5MHzとなる。
ステップS82において、遅延量制御部212は、Fin/Jに対応する周波数のクロックの立ち上がりエッジを検出したか否かを判断する。ステップS82において、Fin/Jに対応する周波数のクロックの立ち上がりエッジを検出していないと判断された場合、立ち上がりエッジを検出したと判断されるまで、ステップS82の処理が繰り返される。
ステップS82において、Fin/Jに対応する周波数のクロックの立ち上がりエッジを検出したと判断された場合、ステップS83において、遅延量制御部212は、Fin/JとFoutとの位相差に相当する値を示すパラメータSTATE2が、STATE2<AFinを満たすか否かを判断する。
ここで、Aは定数であり、ここでは、A=1/(0.08×109)であるものとする。
ステップS83において、STATE2<AFinを満たすと判断された場合、ステップS84において、遅延量制御部212は、初期化フラグInitialの値を0とし、処理は、後述するステップS87に進む。
ステップS83において、STATE2<AFinを満たさないと判断された場合、ステップS85において、遅延量制御部212は、初期化フラグInitialの値を1とする。
ステップS86において、遅延量制御部212は、Fin/JとFoutとの位相差に相当する値を示すパラメータSTATE2を初期化して、STATE2=STATE2−AJFoutとする。
ステップS84、または、ステップS86の処理の終了後、ステップS87において、遅延量制御部212は、Fin/JとFoutとの位相差に相当する値を示すパラメータSTATE2を所定の値だけインクリメントして、STATE2=STATE2+A(JFout−Fin)とする。
ステップS88において、遅延量制御部212は、初期化フラグInitialの値をセレクタ151に出力する。
ステップS89において、遅延量制御部212は、入力信号の供給が終了したか否かを判断する。ステップS89において、入力信号の供給が終了していないと判断された場合、処理は、ステップS82に戻り、それ以降の処理が繰り返される。ステップS89において、入力信号の供給が終了したと判断された場合、処理は終了される。
このような処理により、例えば、上述した式(12)を用いて説明したように、セレクタ151に入出力される信号のタイミングが異なることによる遅延量の初期化処理が制御される。
次に、図27のフローチャートを参照して、遅延量制御部212が実行する遅延量制御情報生成処理について説明する。
ステップS101において、遅延量制御部212は、補間データ制御部211から供給された制御情報CNTに基づいて、2端子に出力する入力データ数Pをカウントする。
ステップS102において、遅延量制御部212は、2端子に出力するデータ数Pから所定の閾値Tを引いた(P−T)だけ、遅延ステップ数を増加させるための遅延量制御情報を生成し、セレクタ151に供給して、処理が終了される。
このような処理により、後述するセレクタ151の出力処理における遅延量を制御するための遅延量制御情報が生成されて、セレクタ151に供給される。
次に、図28のフローチャートを参照して、図24のステップS5において開始される、セレクタ151の出力処理について説明する。
ステップS111において、セレクタ151は、遅延ステップを初期化する。
ステップS112において、セレクタ151は、コントローラ141から供給された初期化フラグInitialの値は1であるか否かを判断する。
ステップS112において、コントローラ141から供給された初期化フラグInitialの値は1ではないと判断された場合、ステップS113において、セレクタ151は、遅延ステップに示される値の分だけ遅延したデータから、コントローラ141から供給された制御情報CNTに基づいて、所定数のデータを出力する。
ステップS114において、セレクタ151は、遅延量制御部212から供給された遅延量制御情報を基に遅延ステップを設定し、処理は、ステップS117に進む。
例えば、図19を用いて説明した入出力において、所定の閾値TはT=1であり、セレクタ151は、図19を用いて説明した入出力において、例えば、出力タイミング1,3,5・・・において、2端子に出力する入力データ数P=1であるから、P−T=0であるので、遅延ステップ数は増加されず、出力タイミング2,4,6・・・において、2端子に出力する入力データ数P=2であるから、P−T=1であるので、図中αで示されるように、遅延ステップ数は1増加される。
ステップS112において、コントローラ141から供給された初期化フラグInitialの値は1であると判断された場合、ステップS115において、セレクタ151は、遅延ステップを初期化する。
ステップS116において、セレクタ151は、遅延ステップ0のデータから、コントローラ141から供給された制御情報CNTに基づいて、所定数のデータを出力する。
具体的には、セレクタ151は、図19を用いて説明した入力タイミング14と、出力タイミング15および16における場合のように、出力タイミング15の次の出力において、遅延ステップ数を0とする。
ステップS114またはステップS116の終了後、ステップS117において、セレクタ151は、入力信号の供給が終了したか否かを判断する。
ステップS117において、入力信号の供給が終了していないと判断された場合、処理は、ステップS112に戻り、それ以降の処理が繰り返される。ステップS117において、入力信号の供給が終了したと判断された場合、処理は終了される。
このような処理により、セレクタ151は、コントローラ141から供給された制御情報CNTに基づいて補間処理に対応する入出力制御を実行するとともに、遅延ステップの初期化を制御することができる。
図25のフローチャートを用いて説明した処理においては、2つの出力端子に出力する入力データの個数と位置を同時に指定しているが、1度に出力される信号のうち、2つの出力端子に出力される入力信号の個数、すなわち、一度に出力される信号のうちの補間された信号の個数を求め、挿入される位置はランダムに設定することにより、エイリアシングをさらに減衰させることができる。
次に、図29のフローチャートを参照して、図24のステップS4において開始される、コントローラ141の補間データ制御部211が実行する処理の第2の例である補間データ制御処理2について説明する。
ステップS141において、コントローラ141の補間データ制御部211は、2端子に出力する入力信号の数を示すパラメータR、および、セレクタに対する入出力の位相差に相当する値を示すパラメータSTATE1を初期化する。
ステップS142乃至ステップS144において、図25のステップS42乃至ステップS44と基本的に同様の処理が実行される。
すなわち、サンプリングレート変換部133の出力サンプリングレートFoutと同一の周波数のクロック、例えば、40MHzのクロックの立ち上がりエッジを検出したか否かが判断されて、検出していないと判断された場合、(サンプリングレート変換部133の入力サンプリングレートFin/デシメータの分周比)、すなわち、例えば、1.2GHzの1/4である300MHzの周波数のクロックの立ち上がりエッジを検出したか否かが判断される。
(サンプリングレート変換部133の入力サンプリングレートFin/デシメータの分周比)、すなわち、例えば、1.2GHzの1/4である300MHzの周波数のクロックの立ち上がりエッジを検出したと判断された場合、セレクタに対する入出力の位相差に相当する値を示すパラメータSTATE1において、STATE1<BFinが満たされているか否かが判断される。
ステップS144において、STATE1<BFinが満たされていると判断された場合、処理は、後述するステップS147に進む。ステップS144において、STATE1<BFinが満たされていないと判断された場合、ステップS145において、補間データ制御部211は、端子に出力する入力信号の数を示すパラメータRをR=R+1とする。
そして、ステップS146乃至ステップS148において、図25のステップS47乃至ステップS49と基本的に同様の処理が実行される。
すなわち、パラメータSTATE1が初期化され、STATE1=STATE1−BNMFoutとされる。また、ステップS144において、STATE1<BFinが満たされていると判断された場合、または、ステップS146の処理の終了後、パラメータSTATE1が所定の値だけインクリメントされて、STATE1=STATE1+B(NMFout−Fin)とされ、入力信号の供給が終了したか否かが判断される。入力信号の供給が終了していないと判断された場合、処理は、ステップS142に戻り、それ以降の処理が繰り返される。
ステップS142において、サンプリングレート変換部133の出力サンプリングレートFoutと同一の周波数のクロック、例えば、40MHzのクロックの立ち上がりエッジを検出したと判断された場合、ステップS149において、補間データ制御部211は、パラメータRの値に基づいて、2端子に出力する入力信号をランダムに選択する。
ステップS150において、補間データ制御部211は、2端子に出力する入力信号を示す制御情報CNTをセレクタ151および遅延量制御部212に供給する。
ステップS151において、補間データ制御部211は、パラメータRを初期化し、処理は、ステップS143に進む。
ステップS148において、入力信号の供給が終了したと判断された場合、処理は終了される。
このような処理により、補間データ制御部211は、セレクタ151が入力信号のうちの一部を適宜選択し、所定の割合で補間することができるような制御信号を生成する場合、1度に出力される信号のうち、2つの出力端子に出力される入力信号の個数、すなわち、一度に出力される信号のうちの補間される信号の個数を求め、挿入される位置はランダムに設定するものとしたので、エイリアシングをさらに減衰させることができる。
また、補間データ制御部211は、セレクタ151が、図19を用いて説明した場合と同様に、300MHzの5サンプル目を用いて360MHzの6つ目の出力信号を補間することができるように、セレクタ151からの信号の出力タイミングに対応付けて、セレクタ151から一度に出力されるNビット(ここでは、9ビット)のうちの補間される信号の個数(パラメータRの値)のみを制御情報としてセレクタ151に供給し、セレクタ151が、2つの出力端子に出力される入力信号の位置をランダムに設定することができるものとしても良い。
ところで、以上説明した処理を用いてサンプリングレートを変換した場合であっても、所要波と異なる周波数成分であるスプリアス成分が発生してしまう。スプリアス成分をできるだけ抑制したり、SINCフィルタなどの急峻でないフィルタを用いてフィルタリングすることで充分な特性を得るためには、補間処理において、繰り返す入力信号のタイミングをずらしたものを複数用意し、合成すると好適である。
すなわち、図13を用いて説明した、デシメーションフィルタ方式を適用した11g OFDMモードのデジタルブロック111のサンプリングレート変換部133に代わって、図30を用いて説明するサンプリングレート変換部241を用いることにより、補間処理において、繰り返す入力信号のタイミングをずらしたものを複数用意し、合成する処理を実行することが可能となる。
なお、図30においては、図15における場合と対応する部分には、同一の符号を付してあり、その説明は適宜省略する。
すなわち、図30のサンプリングレート変換部241は、コントローラ141に代わってコントローラ251が設けられ、レート変換処理部140に代わって、レート変換処理部250が設けられている以外は、図15を用いて説明したサンプリングレート変換部133と基本的に同様の構成を有するものである。また、レート変換処理部250は、セレクタブロック143に代わって、セレクタブロック252が設けられ、加算処理部144に代わって、加算処理部253が設けられている以外は、図15を用いて説明したレート変換処理部140と基本的に同様の構成を有するものである。
コントローラ251は、制御部121から供給される制御信号に基づいて、バッファ142、セレクタブロック252、加算処理部253、および、デジタルフィルタ145の動作を制御するものである。コントローラ251が有する機能の詳細については、図31を用いて後述する。
レート変換処理部250は、供給されたデジタル信号に対して、サンプリングレートを変換する処理を実行して、デジタルフィルタ145におけるK次のFIRフィルタのそれぞれのタップ係数と演算されるK系列のデジタル信号を生成するものである。
セレクタブロック252は、セレクタ261−1乃至セレクタ261−KのK個のセレクタにより構成されている。セレクタ261−1乃至セレクタ261−Kのそれぞれは、所定の入力サンプリングレートから、所定の出力サンプリングレートへ、サンプリングレートを変換するために必要な信号を補間するために、入力信号を選択して出力する処理を実行するものである。
そして、セレクタ261−1乃至セレクタ261−Kのそれぞれは、補間処理において、繰り返す入力信号のタイミングをずらしたものを、複数系列、出力することができるようになされている。
上述した式(7)における場合では、5番目の入力信号を2つの出力端子に出力して、補間処理を行っている。これに対して、繰り返す入力信号のタイミングをずらしたものを複数用意し合成するためには、セレクタ261−1乃至セレクタ261−Kのそれぞれは、例えば、300MHzの出力信号の5サンプル中5番目のデータを用いて補間する第1の系列と、300MHzの出力信号の5サンプル中2番目のデータを用いて補間する第2の系列とを、それぞれ出力するものとしても良い。すなわち、第1の系列および第2の系列からなる出力信号のひとつのサンプルz0'は、次の式(13)で示される。
この式を、式(7)乃至式(9)における場合と同様にして、入力系列群ごとに補間と加算によるデシメーションを行い、最後に、得られた系列とFIRフィルタのタップ係数を用いて、フィルタの演算を行う処理に対応するように変換すると、次の式(14)となる。
すなわち、セレクタブロック252に含まれるセレクタ261−1乃至セレクタ261−Kのそれぞれに入力されるLビットのパラレル信号に対して、出力信号は、後段の加算平均処理(または、間引き処理)の係数に対応する2Nビットとなる。セレクタブロック252に含まれるセレクタ261−1乃至セレクタ261−Kのうち、その一例として、セレクタ261−Kの構成例を、図32を用いて後述する。すなわち、セレクタブロック252も、セレクタブロック143と同様に、デシメーションのための補間と加算のうちの、補間処理を実行するものである。
以下の説明においては、セレクタ261−1乃至セレクタ261−Kを個々に区別する必要がない場合、単に、セレクタ261と称する。
そして、加算処理部253は、K個の加算または出力選択部271によって構成されており、コントローラ251の制御に基づいて、セレクタ261の2Nビットの出力を加算して出力するか、または、2Nビットの出力のうちの1ビットのみを出力する。すなわち、加算処理部253は、デシメーションのための補間と加算のうちの、加算処理、または、加算処理に代わって実行される間引き処理を実行するものである。
なお、ここでは、セレクタ261は、式(13)に示される2Nビットの出力信号を出力するものとして説明したが、繰り返す入力信号を異なるものとした出力信号の系列の数は、2つ以上であっても良く、スプリアス成分をできるだけ抑制したり、SINCフィルタなどの急峻でないフィルタを用いてフィルタリングすることで充分な特性を得るためには、繰り返される入力信号を異なるものとした出力信号の系列の数をできるだけ多くしたほうが好適であることはいうまでもない。その場合、セレクタ261は、Sの異なる入力信号が繰り返されることによって補間されたS系列の出力信号、すなわち、S×Nビットの出力信号を出力する。そして、加算処理部253は、コントローラ251の制御に基づいて、セレクタ261のS×Nビットの出力を加算して出力するか、または、S×Nビットの出力のうちの1ビットのみを出力する。
次に、図31は、コントローラ251が有する機能を示す機能ブロック図である。
なお、図31においては、図16における場合と対応する部分には、同一の符号を付してあり、その説明は適宜省略する。
すなわち、コントローラ251は、セレクタ制御部202に代わって、セレクタ制御部281が設けられている以外は、図16を用いて説明したコントローラ141が有する機能と、基本的に同様の機能を有するものである。
セレクタ制御部281は、セレクタブロック252の処理を制御するものであり、補間データ制御部291、および、セレクタ制御部202における場合と同様の遅延量制御部212により構成されている。
補間データ制御部291は、制御信号取得部201から供給される制御信号に基づいて、セレクタブロック252のセレクタ261において実行される補間処理、換言すれば、所定数のサンプルに1サンプルの割合で前タイミングの入力データを用いて出力信号を補間する処理を制御するための制御信号を生成し、セレクタセレクタブロック252のセレクタ261に供給する。
次に、図30のセレクタブロック252に含まれるセレクタ261−1乃至セレクタ261−Kのうち、その一例として、セレクタ261−Kの構成例を、図32に示す。セレクタ261−Kにおいて、300MHzから360MHzのサンプリングレート変換処理を実行する場合について、以下に説明する。
なお、実装において、セレクタ261は、1.2GHz/32=37.5MHzで入力信号を取得するとともに、40MHzで信号を出力する構成とすることにより、300MHzから360MHzのサンプリングレート変換を等価的に処理する。
セレクタ261−Kには、バッファ142からLビットの信号が入力される。ここでは、バッファ142から1つのセレクタ261に対して、16ビットの信号が37.5MHz(1.2GHz/32)ごとに同時に供給されるものとする。
ここでは、セレクタ261−Kの信号入力端子を、a1乃至a15とし、16ビットの信号が37.5MHzごとに同時に供給されるものとする。すなわち、バッファ142に供給された1ビットの信号列におけるある信号nが入力端子a0にあるタイミングで供給されたとした場合、バッファ142において1/4のデシメーションが実行されることから、同時に入力端子a1に供給される信号は信号nから4カウント遅延した信号であり、入力端子a2に供給される信号は信号nから8カウント遅延した信号であり、同様にして、4カウントずつ遅延した信号が、それぞれ、入力端子a1乃至a15に供給される。
また、セレクタ261-Kは、加算処理部253の加算または出力選択部271に、2Nビットの信号を出力する。ここでは、信号出力端子を、b0乃至b17とし、18ビットの信号が40MHzごとに同時に出力されるものとする。入力信号のうちのいずれの信号を出力するかは、コントローラ251から供給される制御信号に基づいて制御される。
300MHzを360MHzに変換する場合、式(4)を用いて説明したように、例えば、300MHzのクロックが5サンプルカウントされたら、そのタイミングにおける360MHzのサンプルを補間する必要がある。そして、このセレクタ261においては、繰り返す入力信号のタイミングをずらしたものを2系統出力することができるようになされている。すなわち、セレクタ261は、出力端子b0乃至b8から、5サンプル中の2サンプル目が繰り返されて出力される、すなわち、2つの出力端子から出力されるようになされるとともに、出力端子b9乃至b17から、5サンプル中の5サンプル目が繰り返されて出力される、すなわち、2つの出力端子から出力されるようになされている。
このような補間が40MHzのタイミングで実行されることを考慮すると、はじめのタイミングでは、出力端子b0乃至b8において、300MHzの2サンプル目および7サンプル目のタイミングで補間を実行する必要があり、出力端子b9乃至b17において、300MHzの5サンプル目のタイミングで補間を実行する必要がある。
図33に、セレクタ261−Kへの入出力を示す。
図33の上部は、セレクタ261−Kへの入力信号を示すものである。この横軸の0,1,2,3…は、バッファ142からLビットの信号が入力されるタイミングを示すものであり、37.5MHzごとで1タイミング進むものである。これに対して0,4,8,12,16…の値は、入力タイミング0において入力端子a8に供給された信号を基準とした場合の、それぞれの信号のバッファ142入力時における遅延量を示すものである。上述したように、バッファ142において1/4のデシメーションが実行されることから、4カウントずつ遅延した信号が、それぞれ、入力端子a1乃至a15に供給される。
すなわち、入力端子a1乃至a15に37.5MHzごとに同時に供給される信号は、バッファ142の入力時においては、1.2GHzの1/4である300MHzの周波数を有する信号である。
そして、セレクタ151−Kは、この入力信号のうちの一部を適宜選択し、2系列で、それぞれ、所定の割合で補間し、40MHzで出力する処理を実行する。
図33の下部は、セレクタ261−Kからの出力信号を示すものである。この横軸の0,1,2,3…は、セレクタ261−Kからの9×2ビットの信号の出力タイミングを示すものであり、40MHzごとに1タイミング進むものである。
ここでは、まず、入力タイミング0において入力端子a8に供給された信号を基準として、入力タイミング0から1タイミング遅延した出力タイミング1において、9×2ビットの信号が出力される。300MHzを360MHzに変換する場合、式(13)を用いて説明したように、入力信号の300MHzのクロックの5サンプルのうち、第1の系列では2カウント目に、第2の系列では5カウント目に、そのタイミングにおける360MHzの出力信号のサンプルを補間する必要がある。これを40MHzごとに出力される9×2ビットの信号群で考えると、はじめの出力となるタイミング1では、第1の系列において300MHzの2サンプル目および7サンプル目を用いて360MHzの出力信号を補間することに対応し、第2の系列において300MHzの5サンプル目を用いて360MHzの出力信号を補間することに対応する。
すなわち、はじめの出力となるタイミング1では、300MHzを360MHzに変換するには、セレクタ261−Kの入力端子a9への入力データ「4」、入力端子a12への入力データ「16」、および、入力端子a14への入力データ「24」を、いずれか一方の系列において2つの出力端子に出力させる必要がある。したがって、出力端子b2およびb3から、入力端子a9への入力データ「4」が出力され、出力端子b7およびb8から、入力端子a14への入力データ「24」が出力され、出力端子b13およびb14から、入力端子a12への入力データ「16」が出力される。
そして、次の出力タイミングであるタイミング2では、第1の系列において、タイミング1ですでに2サンプル分進んだ(出力された)状態にあり、300MHzの出力信号の(5−2+2)=5サンプル目のタイミングで補間する必要があり、第2の系列において、タイミング1ですでに3サンプル分進んだ(出力された)状態にあるので、まず、300MHzの出力信号の2サンプル目のタイミングで補間する必要があるとともに、更に、7サンプル目のタイミングでも補間する必要がある。
すなわち、出力タイミング2では、300MHzを360MHzに変換するには、セレクタ261−Kの入力端子a9、入力端子a11、および、入力端子a14に入力された入力データ「36」「44」および「56」のそれぞれを、いずれか一方の系列において2つの出力端子に出力させる必要がある。したがって、出力端子b4およびb5から、入力端子a11への入力データ「44」が出力され、出力端子b10およびb11から、入力端子a9への入力データ「36」が出力され、出力端子b16およびb17から、入力端子a14への入力データ「56」が出力される。
セレクタ261−Kの入力端子a9、入力端子a11、および、入力端子a14に入力された入力データ「36」「44」および「56」のそれぞれは、一方の系列で2つの端子から出力され、他方の系列で1つの出力端子から出力されている。すなわち、セレクタ261−Kの入力端子a9、入力端子a11、および、入力端子a14に入力された入力データ「36」「44」および「56」のそれぞれは、3つの出力端子から出力されている。
また、一度に入出力される信号のうち、3つの端子に出力する入力データの個数と位置の選択は、コントローラ251から供給される制御信号に基づいて制御される。3つの端子に出力する入力データの個数と位置をセレクタ261に選択させるための制御信号を、コントローラ251が生成する処理の詳細については、図36を用いて後述する。
なお、遅延の初期化については、上述したセレクタ151−kにおける場合と同様であり、遅延ステップ数の増加に関しても、いずれかの系列を考えた場合、上述したセレクタ151−kにおける場合と同様であるので、その説明は省略する。
図34に、図15を用いて説明したサンプリングレート変換部133を用いた場合と、図30のサンプリングレート変換部241を用いた場合とにおいて、OFDM信号に対してサンプルレート変換処理を行なったあとの信号の時間波形を示す。
図中、イで示される周波数スペクトルは、サンプリングレート変換部133を用いて、5サンプル中の1サンプル目を用いて補間処理を行った場合の周波数スペクトルであり、ロで示される周波数スペクトルは、サンプリングレート変換部133を用いて、5サンプル中の5サンプル目を用いて補間処理を行った場合の周波数スペクトルであり、ハで示される周波数スペクトルは、サンプリングレート変換部24を用いて、5サンプル中の1サンプル目および5サンプル目を用いて補間処理を行った場合の周波数スペクトルである。図中、ハで示される周波数スペクトルは、理想的な周波数スペクトルと、略同様の特性を有するものである。
次に、図35は、図15を用いて説明したサンプリングレート変換部133を用いた場合と、図30のサンプリングレート変換部241を用いた場合とにおいて、OFDM信号に対してサンプルレート変換処理を行なったあとの信号の周波数ドメイン(Frequency domain)における周波数スペクトルを示す。
図中aおよびcに示されるのが、図15を用いて説明したサンプリングレート変換部133を用いた場合に発生するスプリアス成分であり、図中bに示されるのが、図30のサンプリングレート変換部241を用いた場合に発生するスプリアス成分である。すなわち、図15を用いて説明したサンプリングレート変換部133を用いた場合には、正規化周波数0.3付近にスプリアス成分が発生するのに対して、図30のサンプリングレート変換部241を用いた場合には、正規化周波数0.65付近にスプリアス成分が発生する。すなわち、図30のサンプリングレート変換部241を用いた場合、図15を用いて説明したサンプリングレート変換部133を用いた場合と比較して、高周波にスプリアス成分が発生するので、例えば、SINCフィルタなど、急峻でないフィルタで、スプリアス成分を除去することが可能となる。
また、さらに、最小自乗誤差においても、図15を用いて説明したサンプリングレート変換部133を用いた場合には、3.0627e-4であるのに対して、図30のサンプリングレート変換部241を用いた場合には、3.2357e-5となり、約10dB低下する。
このように、図30のサンプリングレート変換部241を用いることにより、スプリアス成分の絶対値を低減し、最小自乗誤差を減少させることが可能となる。また、スプリアス成分が発生する周波数を高周波にシフトすることができるので、後段のフィルタにより、効果的にスプリアス成分を除去することが可能となる。
次に、図36のフローチャートを参照して、図30のサンプリングレート変換部241を用いた場合、図24のステップS4において開始される補間データ制御処理3について説明する。
ステップS181において、コントローラ251の補間データ制御部291は、それぞれの系列において、入力信号を2つの端子に出力するか、1つの端子に出力するかを示す第1のレジスタK、および、第2のレジスタK´、KおよびK´のインデックスi、2端子に出力する入力信号のオフセット値のインデックスi´、ならびに、セレクタに対する入出力の位相差に相当する値を示すパラメータSTATE1を初期化する。
ここで、第1の系列において、i番目の入力信号が1つの端子から出力される場合、i番目の入力信号に対応するレジスタKの値は0(K(i)=0)とされ、i番目の入力信号が2つの端子から出力される、すなわち、i番目の入力信号を用いて出力信号が補間される場合、i番目の入力信号に対応する第1のレジスタKの値は1(K(i)=1)とされる。また、同様に、第2の系列において、i番目の入力信号が1つの端子から出力される場合、i番目の入力信号に対応する第2のレジスタK´の値は0(K´(i)=0)とされ、i番目の入力信号が2つの端子から出力される、すなわち、i番目の入力信号を用いて出力信号が補間される場合、i番目の入力信号に対応するレジスタK´の値は1(K´(i)=1)とされる。
ステップS182において、補間データ制御部291は、サンプリングレート変換部241の出力サンプリングレートFoutと同一の周波数のクロック、例えば、40MHzのクロックの立ち上がりエッジを検出したか否かを判断する。ステップS182において、サンプリングレート変換部241の出力サンプリングレートFoutと同一の周波数のクロック、例えば、40MHzのクロックの立ち上がりエッジを検出したと判断された場合、処理は、後述するステップS194に進む。
ステップS182において、サンプリングレート変換部241の出力サンプリングレートFoutと同一の周波数のクロック、例えば、40MHzのクロックの立ち上がりエッジを検出していないと判断された場合、ステップS183において、補間データ制御部291は、(サンプリングレート変換部241の入力サンプリングレートFin/デシメータの分周比)、すなわち、例えば、1.2GHzの1/4である300MHzの周波数のクロックの立ち上がりエッジを検出したか否かを判断する。ステップS183において、(サンプリングレート変換部241の入力サンプリングレートFin/デシメータの分周比)、すなわち、例えば、1.2GHzの1/4である300MHzの周波数のクロックの立ち上がりエッジを検出していないと判断された場合、立ち上がりエッジを検出したと判断されるまで、ステップS183の処理が繰り返される。
ステップS183において、(サンプリングレート変換部241の入力サンプリングレートFin/デシメータの分周比)、すなわち、例えば、1.2GHzの1/4である300MHzの周波数のクロックの立ち上がりエッジを検出したと判断された場合、ステップS184において、補間データ制御部291は、セレクタに対する入出力の位相差に相当する値を示すパラメータSTATE1において、STATE1<BFinが満たされているか否かを判断する。
ここで、Finは、入力信号の周波数であり、ここでは、例えば、1.2GHzである。また、Bは、所定の定数であり、ここでは、例えば、1/(0.24×109)であるものとする。
ステップS184において、STATE1<BFinが満たされていると判断された場合、ステップS185において、補間データ制御部291は、第1の系列において、i番目の入力信号は1つの端子から出力されるものとして、K(i)=0とし、インデックスiを1インクリメントして、i=i+1とする。
ステップS186において、補間データ制御部291は、第1の系列において補間に用いられる入力データと第2の系列において補間に用いられる入力データとのオフセット値xに基づいて、i´=x−1であるか否かを判断する。
ステップS186において、i´=x−1であると判断された場合、ステップS187において、補間データ制御部291は、第2の系列において、i番目の入力信号は2つの端子から出力されるものとして、K´(i)=1とするとともに、K´(i+1)=0とし、i´=i´+2とし、処理は、後述するステップS192に進む。
ステップS186において、i´=x−1ではないと判断された場合、ステップS188において、補間データ制御部291は、第2の系列において、i番目の入力信号は1つの端子から出力されるものとして、K´(i)=0とし、インデックスi´を1インクリメントして、i´=i´+1とし、処理は、後述するステップS192に進む。
ステップS184において、STATE1<BFinが満たされていないと判断された場合、ステップS189において、補間データ制御部291は、第1の系列において、i番目の入力信号は2つの端子から出力されるものとして、K(i)=1とするとともに、K(i+1)=0とし、i=i+2とする。
ステップS190において、補間データ制御部291は、オフセット値のインデックスi´の値を初期化して、i´=1とする。
ステップS191において、補間データ制御部291は、パラメータSTATE1を初期化する、すなわち、STATE1=STATE1−BNMFoutとする。ここで、Nは、例えば、SINCフィルタに接続されるデシメータの分周比、具体的には、加算処理部253の加算処理に対応する分周処理の分周比であり、ここでは、例えば、9である。また、Mは、AD変換された信号の補間処理前の分周比、具体的には、バッファ142の処理に対応する分周比であり、ここでは、例えば、4である。
ステップS187、ステップS188、または、ステップS191の処理の終了後、ステップS192において、補間データ制御部291は、パラメータSTATE1を所定の値だけインクリメントする、すなわち、STATE1=STATE1+B(NMFout−Fin)とする。
ステップS193において、補間データ制御部291は、入力信号の供給が終了したか否かを判断する。ステップS193において、入力信号の供給が終了していないと判断された場合、処理は、ステップS182に戻り、それ以降の処理が繰り返される。
ステップS182において、サンプリングレート変換部241の出力サンプリングレートFoutと同一の周波数のクロック、例えば、40MHzのクロックの立ち上がりエッジを検出したと判断された場合、ステップS194において、補間データ制御部291は、レジスタKおよびレジスタK´を参照し、2端子に出力する入力信号を示す制御情報CNTをセレクタ261および遅延量制御部212に供給する。
具体的には、例えば、第1のレジスタKおよび第2のレジスタK´のインデックスi、並びに、オフセット値のインデックスi´が1インクリメントされるごとに、図33を用いて説明したセレクタ261の入出力において、それぞれの系列において、いずれの入力端子に入力された信号が1つの端子から出力されるか、および、いずれの入力端子に入力された信号が2つの端子から出力されるかが、第1のレジスタKまたは第2のレジスタK´に、それぞれ0または1の値として保持される。そして、補間データ制御部291は、例えば、40MHzのクロックの立ち上がりエッジを検出したとき、すなわち、セレクタ261からの信号の出力タイミングに先駆けて、第1のレジスタKおよび第2のレジスタK´を参照し、3端子に出力する入力信号を示す制御情報CNTを生成して、セレクタ261に供給する。
すなわち、K(i)=1またはK´(i)=1となるインデックスiに対応する入力信号が、3端子に出力される入力信号となる。
ステップS195において、補間データ制御部291は、第1のレジスタK、第1のレジスタKおよび第2のレジスタK´のインデックスi、ならびに、第2のレジスタK´を初期化し、処理は、ステップS183に進む。
ステップS193において、入力信号の供給が終了したと判断された場合、処理は終了される。
このような処理により、補間データ制御部291は、セレクタ261が入力信号のうちの一部を適宜選択し、所定の割合で補間することができるような制御信号を生成し、セレクタ261に供給することができる。具体的には、補間データ制御部291は、セレクタ261が、図33を用いて説明したように、1つの系列で、それぞれ異なるサンプルを用いて360MHzの出力信号を補間することができるように、セレクタ261からの信号の出力タイミングごとに、セレクタ261から一度に出力される2Nビット(ここでは、18ビット)の補間処理に用いられる入力信号を示す制御信号を生成することができる。
また、図30を用いて説明した、サンプリングレート変換部241に代わって、図37を用いて説明するサンプリングレート変換部301を用いることにより、サンプリングレート変換部241と同様に、補間処理において、繰り返す入力信号のタイミングをずらしたものを複数用意し、合成する処理を実行することが可能となる。
なお、図37においては、図15または図30における場合と対応する部分には、同一の符号を付してあり、その説明は適宜省略する。
すなわち、図37のサンプリングレート変換部301は、コントローラ251に代わってコントローラ311が設けられ、レート変換処理部250に代わって、レート変換処理部312が設けられている以外は、図30を用いて説明したサンプリングレート変換部241と基本的に同様の構成を有するものである。また、レート変換処理部312には、図15および図30における場合と同様のバッファ142が設けられ、新たにセレクタブロック321が設けられ、図15における場合と同様の加算処理部144が設けられている。
コントローラ311は、制御部121から供給される制御信号に基づいて、レート変換処理部312のバッファ142、セレクタブロック321、および、加算処理部144、並びに、デジタルフィルタ145の動作を制御するものである。コントローラ311が有する機能の詳細については、図36を用いて説明した補間データ制御処理3の処理の一部が変更されることを除けば、図31を用いて説明したコントローラ251における場合と基本的に同様である。コントローラ311が、補間データ制御処理3に代わって実行する処理については、図41のフローチャートを用いて後述する。
レート変換処理部312は、供給されたデジタル信号に対して、サンプリングレートを変換する処理を実行して、デジタルフィルタ145におけるK次のFIRフィルタのそれぞれのタップ係数と演算されるK系列のデジタル信号を生成するものである。
セレクタブロック321は、セレクタ331−1乃至セレクタ331−KのK個のセレクタにより構成されている。セレクタ331−1乃至セレクタ331−Kのそれぞれは、所定の入力サンプリングレートから、所定の出力サンプリングレートへ、サンプリングレートを変換するために必要な信号を補間するために、入力信号を選択して出力する処理を実行するものである。すなわち、セレクタブロック321も、セレクタブロック143およびセレクタブロック252と同様に、デシメーションのための補間と加算のうちの、補間処理を実行するものである。
セレクタ331−1乃至セレクタ331−Kのそれぞれは、上述したセレクタ261−1乃至セレクタ261−Kと同様に、補間処理において、繰り返す入力信号のタイミングをずらしたものを、複数系列生成することができる。そして、セレクタ331−1乃至セレクタ331−Kのそれぞれは、複数系列生成された補間後の信号を合成した後、出力することができるようになされている。
以下の説明においては、セレクタ331−1乃至セレクタ331−Kを個々に区別する必要がない場合、単に、セレクタ331と称する。
図38を用いて、セレクタ331−1の構成と動作について説明する。なお、セレクタ331−2乃至レクタ331−Kのそれぞれも、図38を用いて説明するセレクタ331−1と同様の構成を有し、同様の動作を実行するので、その詳細な説明は省略する。
上述した式(7)に対応するセレクタ151は、5番目の入力信号を2つの出力端子に出力して、補間処理を行っている。これに対して、上述したセレクタ261は、上述した式(13)で示されるように、繰り返す入力信号のタイミングをずらした出力信号系列を複数用意するために、例えば、300MHzの出力信号の5サンプル中5番目のデータを用いて補間する第1の系列と、300MHzの出力信号の5サンプル中2番目のデータを用いて補間する第2の系列とを、それぞれ出力することができるようになされていた。
これに対して、セレクタ331は、図15を用いて説明したセレクタブロック143のセレクタ151と同様に、入力されるLビットのパラレル信号に対して、コントローラ311から供給される制御信号に基づいて所定の信号を補間してNビットの信号を出力する第1のセレクタ331−1−1および第2のセレクタ331−1−2を有している。そして、コントローラ311からセレクタ331−1−1に供給される制御信号と、セレクタ331−1−2に供給される制御信号とによって補間される信号は、それぞれ異なるものとなる。
そして、第1のセレクタ331−1−1から出力されたNビットの信号と、第2のセレクタ331−1−2から出力されたNビットの信号とは、それぞれ、加算部341−1乃至加算部341−Nによって加算される。すなわち、セレクタ331からは、Nビットの信号が出力される。
セレクタ331−1乃至セレクタ331−Kに含まれる第1のセレクタ331−k−1の構成例は、基本的に、図18を用いて説明した場合と同様である。また、セレクタ331−1−2など、セレクタ331−1乃至セレクタ331−Kに含まれる第2のセレクタ331−k−2の構成例も、基本的に、図18を用いて説明した場合と同様であるが、ここでは、それぞれの出力信号を区別可能なようにするために、第2のセレクタ331−k−2の構成例を図39に示す。すなわち、第1のセレクタ331−k−1は、バッファ142から供給されたLビット(ここでは、a0乃至a15の16ビット)の入力信号を受け、Nビット(ここでは、b0乃至b8の9ビット)の信号を出力し、第2のセレクタ331−k−2は、バッファ142から供給されたLビット(ここでは、a0乃至a15の16ビット)の入力信号を受け、Nビット(ここでは、b0´乃至b8´の9ビット)の信号を出力する。
セレクタ331において、300MHzから360MHzのサンプリングレート変換処理を実行する場合の具体的な処理について、以下に説明する。
なお、実装において、セレクタ331は、1.2GHz/32=37.5MHzで入力信号を取得するとともに、40MHzで信号を出力する構成とすることにより、300MHzから360MHzのサンプリングレート変換を等価的に処理する。
セレクタ331−Kには、バッファ142からLビットの信号が入力される。ここでは、バッファ142から1つのセレクタ331に対して、16ビットの信号が37.5MHz(1.2GHz/32)ごとに同時に供給されるものとする。
すなわち、バッファ142に供給された1ビットの信号列におけるある信号nが、第1のセレクタ331−1−1および第2のセレクタ331−1−2の入力端子a0にあるタイミングで供給されたとした場合、バッファ142において1/4のデシメーションが実行されることから、同時に入力端子a1に供給される信号は信号nから4カウント遅延した信号であり、入力端子a2に供給される信号は信号nから8カウント遅延した信号であり、同様にして、4カウントずつ遅延した信号が、それぞれ、第1のセレクタ331−k−1および第2のセレクタ331−k−2の入力端子a1乃至a15に供給される。
また、第1のセレクタ331−k−1および第2のセレクタ331−k−2は、それぞれ、Nビットの信号を出力する。ここでは、第1のセレクタ331−k−1の信号出力端子を、b0乃至b8とし、第2のセレクタ331−k−2の信号出力端子を、b0´乃至b8´とし、9ビットの信号が40MHzごとに同時に出力されるものとする。入力信号のうちのいずれの信号を出力するかは、コントローラ311から供給される制御信号に基づいて制御される。
300MHzを360MHzに変換する場合、式(4)を用いて説明したように、例えば、300MHzのクロックが5サンプルカウントされたら、そのタイミングにおける360MHzのサンプルを補間する必要がある。そして、第1のセレクタ331−k−1および第2のセレクタ331−k−2においては、繰り返す入力信号のタイミングがずれるように、コントローラ311から制御信号が供給されるようになされている。これにより、例えば、第1のセレクタ331−k−1では、出力端子b0乃至b8から、5サンプル中の2サンプル目が繰り返されて出力される、すなわち、2つの出力端子から出力されるようになされるとともに、第2のセレクタ331−k−2では、出力端子b0´乃至b8´から、5サンプル中の5サンプル目が繰り返されて出力される、すなわち、2つの出力端子から出力されるようにすることができる。
このような補間が40MHzのタイミングで実行されることを考慮すると、はじめのタイミングでは、第1のセレクタ331−k−1において、300MHzの2サンプル目および7サンプル目のタイミングで補間を実行する必要があり、第2のセレクタ331−k−2において、300MHzの5サンプル目のタイミングで補間を実行する必要がある。
図40に、第1のセレクタ331−k−1および第2のセレクタ331−k−2への入出力を示す。
図40の上部は、第1のセレクタ331−k−1および第2のセレクタ331−k−2への入力信号を示すものである。この横軸の0,1,2,3…は、バッファ142からLビットの信号が入力されるタイミングを示すものであり、37.5MHzごとで1タイミング進むものである。これに対して0,4,8,12,16…の値は、入力タイミング0において入力端子a8に供給された信号を基準とした場合の、それぞれの信号のバッファ142入力時における遅延量を示すものである。上述したように、バッファ142において1/4のデシメーションが実行されることから、4カウントずつ遅延した信号が、それぞれ、入力端子a1乃至a15に供給される。
すなわち、入力端子a1乃至a15に37.5MHzごとに同時に供給される信号は、バッファ142の入力時においては、1.2GHzの1/4である300MHzの周波数を有する信号である。
そして、第1のセレクタ331−k−1および第2のセレクタ331−k−2は、それぞれ、この入力信号のうちの一部を適宜選択し、平均的には同一の割合となるように、異なる信号をそれぞれ補間し、40MHzで出力する処理を実行する。
図40の下部は、第1のセレクタ331−k−1および第2のセレクタ331−k−2からの出力信号を示すものである。このうち、出力端子b0乃至b8の部分が、第1のセレクタ331−k−1からの出力であり、出力端子b0´乃至b8´の部分が、第2のセレクタ331−k−2からの出力であり、この横軸の0,1,2,3…は、第1のセレクタ331−k−1および第2のセレクタ331−k−2からの9ビットの信号の出力タイミングを示すものであり、40MHzごとに1タイミング進むものである。
ここでは、まず、入力タイミング0において入力端子a8に供給された信号を基準として、入力タイミング0から1タイミング遅延した出力タイミング1において、第1のセレクタ331−k−1および第2のセレクタ331−k−2のそれぞれから9ビットの信号が出力される。300MHzを360MHzに変換する場合、式(13)を用いて説明したように、入力信号の300MHzのクロックの5サンプルのうち、第1の系列である第1のセレクタ331−k−1では2カウント目に、第2の系列である第2のセレクタ331−k−2では5カウント目に、そのタイミングにおける360MHzの出力信号のサンプルを補間する必要がある。これを、それぞれ40MHzごとに出力される9の信号群2系列として考えると、はじめの出力となるタイミング1では、第1の系列である第1のセレクタ331−k−1において300MHzの2サンプル目および7サンプル目を用いて360MHzの出力信号を補間することに対応し、第2の系列において300MHzの5サンプル目を用いて360MHzの出力信号を補間することに対応する。
すなわち、300MHzを360MHzに変換するには、はじめの出力となるタイミング1では、第1の系列である第1のセレクタ331−k−1への入力端子a9への入力データ「4」、および、入力端子a14への入力データ「24」、並びに、第2の系列である第2のセレクタ331−k−2の入力端子a12への入力データ「16」を、それぞれ、2つの出力端子に出力させる必要がある。したがって、第1のセレクタ331−k−1の出力端子b2およびb3から、入力端子a9への入力データ「4」が出力され、出力端子b7およびb8から、入力端子a14への入力データ「24」が出力され、第2のセレクタ331−k−2の出力端子b4´およびb5´から、入力端子a12への入力データ「16」が出力される。
そして、次の出力タイミングであるタイミング2では、第1の系列である第1のセレクタ331−k−1において、タイミング1ですでに2サンプル分進んだ(出力された)状態にあり、300MHzの出力信号の(5−2+2)=5サンプル目のタイミングで補間する必要があり、第2の系列である第2のセレクタ331−k−2において、タイミング1ですでに3サンプル分進んだ(出力された)状態にあるので、まず、300MHzの出力信号の2サンプル目のタイミングで補間する必要があるとともに、更に、7サンプル目のタイミングでも補間する必要がある。
すなわち、300MHzを360MHzに変換するには、出力タイミング2では、第1の系列である第1のセレクタ331−k−1の入力端子a11に入力された入力データ「44」、2の系列である第2のセレクタ331−k−2の入力端子a9、および、入力端子a14に入力された入力データ「36」および「56」のそれぞれを、2つの出力端子に出力させる必要がある。したがって、第1のセレクタ331−k−1の出力端子b4およびb5から、入力端子a11への入力データ「44」が出力され、第2のセレクタ331−k−2の出力端子b1´およびb2´から、入力端子a9への入力データ「36」が出力され、出力端子b7´およびb8´から、入力端子a14への入力データ「56」が出力される。
また、一度に入出力される信号のうち、第1のセレクタ331−k−1および第2のセレクタ331−k−2のそれぞれにおいて2つの端子に出力する入力データの個数と位置の選択は、コントローラ311から供給される制御信号に基づいて制御される。2つの端子に出力する入力データの個数と位置をセレクタ331に選択させるための制御信号を、コントローラ311が生成する処理の詳細については、図41を用いて後述する。
なお、遅延の初期化については、上述したセレクタ151−kにおける場合と同様であるので、その説明は省略する。
したがって、セレクタ331は、結果的に、上述した式(13)で示される、図30のセレクタ261−1乃至セレクタ261−Kのそれぞれと基本的に同様の補間処理を実行することができる。
そして、加算処理部144は、K個の加算または出力選択部161によって構成されており、コントローラ311の制御に基づいて、セレクタ331のNビットの出力を加算して出力するか、または、Nビットの出力のうちの1ビットのみを出力する。すなわち、加算処理部144は、デシメーションのための補間と加算のうちの、加算処理、または、加算処理に代わって実行される間引き処理を実行するものである。
なお、ここでは、セレクタ331は、2つのセレクタによって所定の信号が繰り返されることによって所定の割合で補間された信号を、合成して出力するものとして説明したが、繰り返す入力信号を異なるものとした出力信号の系列の数、すなわち、セレクタ331が含むセレクタの数は、2つ以上であっても良く、スプリアス成分をできるだけ抑制したり、SINCフィルタなどの急峻でないフィルタを用いてフィルタリングすることで充分な特性を得るためには、繰り返される入力信号を異なるものとした出力信号の系列の数をできるだけ多くしたほうが好適であることはいうまでもない。その場合、セレクタ331は、セレクタ151と基本的に同様の構成を有するS個のセレクタを備え、Sの異なる入力信号が繰り返されることによって補間されたS系列の出力信号、すなわち、S×Nビットの出力信号をNビットに合成した後出力することができるようになされる。そして、加算処理部144は、コントローラ311の制御に基づいて、セレクタ331のNビットの出力を加算して出力するか、または、Nビットの出力のうちの1ビットのみを出力する。
次に、図41のフローチャートを参照して、図37のサンプリングレート変換部301を用いた場合、図24のステップS4において開始される補間データ制御処理4について説明する。
ステップS281において、コントローラ311の補間データ制御部291は、第1のセレクタ331−k−1において、入力信号を2つの端子に出力するか、1つの端子に出力するかを示す第1のレジスタK、および、第2のセレクタ331−k−2において、入力信号を2つの端子に出力するか、1つの端子に出力するかを示す第2のレジスタK´、KおよびK´のインデックスi、2端子に出力する入力信号のオフセット値のインデックスi´、ならびに、セレクタに対する入出力の位相差に相当する値を示すパラメータSTATE1を初期化する。
ここで、第1の系列である第1のセレクタ331−k−1において、i番目の入力信号が1つの端子から出力される場合、i番目の入力信号に対応するレジスタKの値は0(K(i)=0)とされ、i番目の入力信号が2つの端子から出力される、すなわち、i番目の入力信号を用いて出力信号が補間される場合、i番目の入力信号に対応する第1のレジスタKの値は1(K(i)=1)とされる。また、同様に、第2の系列である第2のセレクタ331−k−2において、i番目の入力信号が1つの端子から出力される場合、i番目の入力信号に対応する第2のレジスタK´の値は0(K´(i)=0)とされ、i番目の入力信号が2つの端子から出力される、すなわち、i番目の入力信号を用いて出力信号が補間される場合、i番目の入力信号に対応するレジスタK´の値は1(K´(i)=1)とされる。
ステップS282において、補間データ制御部291は、サンプリングレート変換部301の出力サンプリングレートFoutと同一の周波数のクロック、例えば、40MHzのクロックの立ち上がりエッジを検出したか否かを判断する。ステップS282において、サンプリングレート変換部301の出力サンプリングレートFoutと同一の周波数のクロック、例えば、40MHzのクロックの立ち上がりエッジを検出したと判断された場合、処理は、後述するステップS294に進む。
ステップS282において、サンプリングレート変換部301の出力サンプリングレートFoutと同一の周波数のクロック、例えば、40MHzのクロックの立ち上がりエッジを検出していないと判断された場合、ステップS283乃至ステップS293において、図36のステップ183乃至ステップS193と基本的に同様の処理が実行される。
すなわち、(サンプリングレート変換部301の入力サンプリングレートFin/デシメータの分周比)、すなわち、例えば、1.2GHzの1/4である300MHzの周波数のクロックの立ち上がりエッジの検出待ち状態とされ、このクロックの立ち上がりエッジを検出したと判断された場合、セレクタに対する入出力の位相差に相当する値を示すパラメータSTATE1において、STATE1<BFinが満たされているか否かが判断される。
ここで、Finは、入力信号の周波数であり、ここでは、例えば、1.2GHzである。また、Bは、所定の定数であり、ここでは、例えば、1/(0.24×109)であるものとする。
そして、STATE1<BFinが満たされていると判断された場合、第1の系列である第1のセレクタ331−k−1において、i番目の入力信号は1つの端子から出力されるものとして、K(i)=0とされ、インデックスiが1インクリメントされて、i=i+1とされる。そして、第1の系列である第1のセレクタ331−k−1において補間に用いられる入力データと第2の系列である第2のセレクタ331−k−2において補間に用いられる入力データとのオフセット値xに基づいて、i´=x−1であるか否かが判断され、i´=x−1であると判断された場合、第2の系列である第2のセレクタ331−k−2において、i番目の入力信号が2つの端子から出力されるものとして、K´(i)=1とされるとともに、K´(i+1)=0とされ、i´=i´+2とされる。
そして、i´=x−1ではないと判断された場合、第2の系列である第2のセレクタ331−k−2において、i番目の入力信号は1つの端子から出力されるものとして、K´(i)=0とされ、インデックスi´を1インクリメントされて、i´=i´+1とされる。
そして、STATE1<BFinが満たされていないと判断された場合、第1の系列である第1のセレクタ331−k−1において、i番目の入力信号は2つの端子から出力されるものとして、K(i)=1とされるとともに、K(i+1)=0とされ、i=i+2とされる。そして、オフセット値のインデックスi´の値が初期化されて、i´=1とされる。
次いで、パラメータSTATE1が初期化、すなわち、STATE1=STATE1−BNMFoutとされる。ここで、Nは、例えば、SINCフィルタに接続されるデシメータの分周比、具体的には、加算処理部253の加算処理に対応する分周処理の分周比であり、ここでは、例えば、9である。また、Mは、AD変換された信号の補間処理前の分周比、具体的には、バッファ142の処理に対応する分周比であり、ここでは、例えば、4である。そして、パラメータSTATE1が所定の値だけインクリメント、すなわち、STATE1=STATE1+B(NMFout−Fin)とされる。
そして、入力信号の供給が終了したか否かが判断される。入力信号の供給が終了していないと判断された場合、処理は、ステップS282に戻り、それ以降の処理が繰り返される。
ステップS282において、サンプリングレート変換部301の出力サンプリングレートFoutと同一の周波数のクロック、例えば、40MHzのクロックの立ち上がりエッジを検出したと判断された場合、ステップS294において、補間データ制御部291は、レジスタKおよびレジスタK´を参照し、2端子に出力する入力信号を示す制御情報である#1CNTおよび#2CNTを、第1のセレクタ331−K−1および第2のセレクタ331−K−2、並びに、遅延量制御部212に供給する。
具体的には、例えば、第1のセレクタ331−k−1において2端子に出力する入力信号を示す第1のレジスタK、および、第2のセレクタ331−k−2において2端子に出力する入力信号を示す第2のレジスタK´のインデックスi、並びに、オフセット値のインデックスi´が、1インクリメントされるごとに、第1のセレクタ331−k−1および第2のセレクタ331−k−2の入出力において、いずれの入力端子に入力された信号が1つの端子から出力されるか、2つの端子から出力されるかのいずれであるかが、第1のレジスタKまたは第2のレジスタK´に、それぞれ、0または1の値として保持される。そして、補間データ制御部291は、例えば、40MHzのクロックの立ち上がりエッジを検出したとき、すなわち、セレクタ261からの信号の出力タイミングに先駆けて、第1のレジスタKおよび第2のレジスタK´を参照し、第1のセレクタ331−k−1において2端子に出力する入力信号を示す第1の制御情報#1CNT、および、第2のセレクタ331−k−2において2端子に出力する入力信号を示す第2の制御情報#2CNTを生成して、セレクタ331に供給する。
すなわち、K(i)=1またはK´(i)=1となるインデックスiに対応する入力信号が、2端子に出力される入力信号となる。
ステップS295において、補間データ制御部291は、第1のレジスタK、第1のレジスタKおよび第2のレジスタK´のインデックスi、並びに、第2のレジスタK´を初期化し、処理は、ステップS283に進む。
ステップS293において、入力信号の供給が終了したと判断された場合、処理は終了される。
このような処理により、コントローラ311の補間データ制御部291は、セレクタ331が有する第1のセレクタ331−k−1、および、第2のセレクタ331−k−2が、入力信号のうちの一部を適宜選択し、それぞれが同一の所定の割合で補間することができるような制御信号を生成し、セレクタ331に供給することができる。具体的には、コントローラ311の補間データ制御部291は、セレクタ331が、図40を用いて説明したように、第1のセレクタ331−k−1と第2のセレクタ331−k−2とで、それぞれ異なるサンプルを用いて360MHzの出力信号を補間することができるように、セレクタ331からの信号の出力タイミングごとに、第1のセレクタ331−k−1、および、第2のセレクタ331−k−2のそれぞれから出力されるNビット(ここでは、9ビット)の補間処理に用いられる入力信号を示す制御信号を生成することができる。
このように、図37のサンプリングレート変換部301を用いることにより、図30のサンプリングレート変換部241を用いた場合と同様にして、スプリアス成分の絶対値を低減し、最小自乗誤差を減少させることが可能となる。また、スプリアス成分が発生する周波数を高周波にシフトすることができるので、後段のフィルタにより、効果的にスプリアス成分を除去することが可能となる。
次に、図41のフローチャートを参照して、図37のサンプリングレート変換部301を用いた場合、図24のステップS4において開始される補間データ制御処理4について説明する。
ステップS281において、コントローラ311の補間データ制御部291は、第1のセレクタ331−k−1において、入力信号を2つの端子に出力するか、1つの端子に出力するかを示す第1のレジスタK、および、第2のセレクタ331−k−2において、入力信号を2つの端子に出力するか、1つの端子に出力するかを示す第2のレジスタK´、KおよびK´のインデックスi、2端子に出力する入力信号のオフセット値のインデックスi´、ならびに、セレクタに対する入出力の位相差に相当する値を示すパラメータSTATE1を初期化する。
ここで、第1の系列である第1のセレクタ331−k−1において、i番目の入力信号が1つの端子から出力される場合、i番目の入力信号に対応するレジスタKの値は0(K(i)=0)とされ、i番目の入力信号が2つの端子から出力される、すなわち、i番目の入力信号を用いて出力信号が補間される場合、i番目の入力信号に対応する第1のレジスタKの値は1(K(i)=1)とされる。また、同様に、第2の系列である第2のセレクタ331−k−2において、i番目の入力信号が1つの端子から出力される場合、i番目の入力信号に対応する第2のレジスタK´の値は0(K´(i)=0)とされ、i番目の入力信号が2つの端子から出力される、すなわち、i番目の入力信号を用いて出力信号が補間される場合、i番目の入力信号に対応するレジスタK´の値は1(K´(i)=1)とされる。
ステップS282において、補間データ制御部291は、サンプリングレート変換部241の出力サンプリングレートFoutと同一の周波数のクロック、例えば、40MHzのクロックの立ち上がりエッジを検出したか否かを判断する。ステップS282において、サンプリングレート変換部241の出力サンプリングレートFoutと同一の周波数のクロック、例えば、40MHzのクロックの立ち上がりエッジを検出したと判断された場合、処理は、後述するステップS294に進む。
ステップS282において、サンプリングレート変換部241の出力サンプリングレートFoutと同一の周波数のクロック、例えば、40MHzのクロックの立ち上がりエッジを検出していないと判断された場合、ステップS283乃至ステップS293において、図36のステップ183乃至ステップS193と基本的に同様の処理が実行される。
すなわち、(サンプリングレート変換部241の入力サンプリングレートFin/デシメータの分周比)、すなわち、例えば、1.2GHzの1/4である300MHzの周波数のクロックの立ち上がりエッジの検出待ち状態とされ、(サンプリングレート変換部241の入力サンプリングレートFin/デシメータの分周比)、すなわち、例えば、1.2GHzの1/4である300MHzの周波数のクロックの立ち上がりエッジを検出したと判断された場合、セレクタに対する入出力の位相差に相当する値を示すパラメータSTATE1において、STATE1<BFinが満たされているか否かが判断される。
ここで、Finは、入力信号の周波数であり、ここでは、例えば、1.2GHzである。また、Bは、所定の定数であり、ここでは、例えば、1/(0.24×109)であるものとする。
そして、STATE1<BFinが満たされていると判断された場合、第1の系列である第1のセレクタ331−k−1において、i番目の入力信号は1つの端子から出力されるものとして、K(i)=0とされ、インデックスiが1インクリメントされて、i=i+1とされる。そして、第1の系列である第1のセレクタ331−k−1において補間に用いられる入力データと第2の系列である第2のセレクタ331−k−2において補間に用いられる入力データとのオフセット値xに基づいて、i´=x−1であるか否かが判断され、i´=x−1であると判断された場合、第2の系列である第2のセレクタ331−k−2において、i番目の入力信号が2つの端子から出力されるものとして、K´(i)=1とされるとともに、K´(i+1)=0とされ、i´=i´+2とされる。
そして、i´=x−1ではないと判断された場合、第2の系列である第2のセレクタ331−k−2において、i番目の入力信号は1つの端子から出力されるものとして、K´(i)=0とされ、インデックスi´を1インクリメントされて、i´=i´+1とされる。
そして、STATE1<BFinが満たされていないと判断された場合、第1の系列である第1のセレクタ331−k−1において、i番目の入力信号は2つの端子から出力されるものとして、K(i)=1とされるとともに、K(i+1)=0とされ、i=i+2とされる。そして、オフセット値のインデックスi´の値が初期化されて、i´=1とされる。
次いで、パラメータSTATE1が初期化、すなわち、STATE1=STATE1−BNMFoutとされる。ここで、Nは、例えば、SINCフィルタに接続されるデシメータの分周比、具体的には、加算処理部253の加算処理に対応する分周処理の分周比であり、ここでは、例えば、9である。また、Mは、AD変換された信号の補間処理前の分周比、具体的には、バッファ142の処理に対応する分周比であり、ここでは、例えば、4である。
そして、パラメータSTATE1が所定の値だけインクリメント、すなわち、STATE1=STATE1+B(NMFout−Fin)とされ、入力信号の供給が終了したか否かが判断される。入力信号の供給が終了していないと判断された場合、処理は、ステップS282に戻り、それ以降の処理が繰り返される。
ステップS282において、サンプリングレート変換部241の出力サンプリングレートFoutと同一の周波数のクロック、例えば、40MHzのクロックの立ち上がりエッジを検出したと判断された場合、ステップS294において、補間データ制御部291は、レジスタKおよびレジスタK´を参照し、2端子に出力する入力信号を示す制御情報である#1CNTおよび#2CNTを、第1のセレクタ331−K−1および第2のセレクタ331−K−2、並びに、遅延量制御部212に供給する。
具体的には、例えば、第1のセレクタ331−k−1において2端子に出力する入力信号を示す第1のレジスタKおよびインデックスi、並びに、第2のセレクタ331−k−2において2端子に出力する入力信号を示す第2のレジスタK´のインデックスi´が1インクリメントされるごとに、第1のセレクタ331−k−1および第2のセレクタ331−k−2の入出力において、いずれの入力端子に入力された信号が1つの端子から出力されるか、および、いずれの入力端子に入力された信号が2つの端子から出力されるかが、それぞれのレジスタKまたはK´に、0または1の値として保持される。そして、補間データ制御部291は、例えば、40MHzのクロックの立ち上がりエッジを検出したとき、すなわち、セレクタ261からの信号の出力タイミングに先駆けて、第1のレジスタKおよび第2のレジスタK´を参照し、第1のセレクタ331−k−1において2端子に出力する入力信号を示す第1の制御情報#1CNT、および、第2のセレクタ331−k−2において2端子に出力する入力信号を示す第2の制御情報#2CNTを生成して、セレクタ331に供給する。
すなわち、K(i)=1またはK´(i)=1となるインデックスiに対応する入力信号が、2端子に出力される入力信号となる。
ステップS295において、補間データ制御部291は、第1のレジスタK、および、KおよびK´のインデックスi、ならびに、第2のレジスタK´を初期化し、処理は、ステップS283に進む。
ステップS293において、入力信号の供給が終了したと判断された場合、処理は終了される。
このような処理により、補間データ制御部291は、セレクタ331が有する第1のセレクタ331−k−1、および、第2のセレクタ331−k−2が入力信号のうちの一部を適宜選択し、所定の割合で補間することができるような制御信号を生成し、セレクタ331に供給することができる。具体的には、補間データ制御部291は、セレクタ331が、図40を用いて説明したように、第1のセレクタ331−k−1と第2のセレクタ331−k−2とで、それぞれ異なるサンプルを用いて360MHzの出力信号を補間することができるように、セレクタ331からの信号の出力タイミングごとに、第1のセレクタ331−k−1、および、第2のセレクタ331−k−2のそれぞれから出力されるNビット(ここでは、9ビット)の補間処理に用いられる入力信号を示す制御信号を生成することができる。
このように、図37のサンプリングレート変換部301を用いることにより、図30のサンプリングレート変換部241を用他場合と同様にして、スプリアス成分の絶対値を低減し、最小自乗誤差を減少させることが可能となる。また、スプリアス成分が発生する周波数を高周波にシフトすることができるので、後段のフィルタにより、効果的にスプリアス成分を除去することが可能となる。
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体などからインストールされる。この場合、例えば、図13を用いて説明したデジタルブロック111は、図42に示されるようなパーソナルコンピュータ401により構成される。
図42において、CPU(Central Processing Unit)411は、ROM(Read Only Memory)412に記憶されているプログラム、または記憶部418からRAM(Random Access Memory)413にロードされたプログラムにしたがって、各種の処理を実行する。RAM413にはまた、CPU411が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU411、ROM412、およびRAM413は、バス414を介して相互に接続されている。このバス414にはまた、入出力インタフェース415も接続されている。
入出力インタフェース415には、キーボード、マウスなどよりなる入力部416、ディスプレイやスピーカなどよりなる出力部417、ハードディスクなどより構成される記憶部418、モデム、ターミナルアダプタなどより構成される通信部419、および、信号受信部420が接続されている。通信部419は、インターネットを含むネットワークを介しての通信処理を行う。
信号受信部420は、アンテナ、BPF、LNAを有しているか、または、同様の機能を実行可能なようになされている。
ΣΔA/D変換部421は、供給されたRF信号を、必要に応じてフィルタリングしてデシメーションした後(換言すれば、図13を用いて説明したデジタルブロック111のSINCフィルタ51およびデシメータ131と同様の処理を実行した後)、1bitのビット列に変換して、高次オーバーサンプルし、供給されたアナログ信号をデジタル信号に変換する。また、ΣΔA/D変換部421は、図13を用いて説明したデジタルブロック111のLPF54およびデシメータ132の機能を更に有するものであっても良い。
そして、CPU411は、ΣΔA/D変換部421により変換されたデジタル信号を取得し、図15を用いて説明したサンプリングレート変換部133が実行する処理を含む、図13を用いて説明したデジタルブロック111の少なくとも一部と同様の処理を実行する。
入出力インタフェース415にはまた、必要に応じてドライブ422が接続され、磁気ディスク431、光ディスク432、光磁気ディスク433、もしくは、半導体メモリ434などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部418にインストールされる。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
この記録媒体は、図42に示されるように、装置本体とは別に、ユーザにプログラムを供給するために配布される、プログラムが記憶されている磁気ディスク431(フロッピディスクを含む)、光ディスク432(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク433(MD(Mini-Disk)(商標)を含む)、もしくは半導体メモリ434などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに供給される、プログラムが記憶されているROM412や、記憶部418に含まれるハードディスクなどで構成される。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明
の要旨を逸脱しない範囲において種々の変更が可能である。
111 デジタルブロック, 121 制御部, 133 サンプリングレート変換部, 140 レート変換処理部, 141 コントローラ, 142 バッファ, 143 セレクタブロック, 144 加算処理部, 145 デジタルフィルタ, 151 セレクタ, 161 加算または出力選択部, 171 フィルタブロック, 172 タップ係数記憶部, 181 乗算部, 182 加算部, 201 制御信号取得部, 202 セレクタ制御部, 203 加算制御部, 204 デジタルフィルタ制御部, 211 補間データ制御部, 212 遅延量制御部, 241 サンプリングレート変換部, 250 レート変換処理部, 251 コントローラ, 252 セレクタブロック, 253 加算処理部, 261 セレクタ, 281 セレクタ制御部, 291 補間データ制御部, 301 サンプリングレート変換部, 311 コントローラ,312 レート変換処理部, 321 セレクタブロック, 331 セレクタ, 341 加算部