(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023102369
(43)【公開日】2023-07-25
(54)【発明の名称】サンプリングレート変換器、サンプリングレート変換方法及び通信システム
(51)【国際特許分類】
H03H 17/00 20060101AFI20230718BHJP
H03H 17/06 20060101ALI20230718BHJP
H04B 10/61 20130101ALI20230718BHJP
H04B 10/516 20130101ALI20230718BHJP
【FI】
H03H17/00 621Z
H03H17/06 635Z
H03H17/00 601C
H04B10/61
H04B10/516
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022002797
(22)【出願日】2022-01-12
(71)【出願人】
【識別番号】591230295
【氏名又は名称】NTTエレクトロニクス株式会社
(74)【代理人】
【識別番号】110003199
【氏名又は名称】弁理士法人高田・高橋国際特許事務所
(72)【発明者】
【氏名】鈴木 雅史
(72)【発明者】
【氏名】竹谷 勉
(72)【発明者】
【氏名】大沼 靖治
(72)【発明者】
【氏名】畑 隆弘
(72)【発明者】
【氏名】林田 祐樹
【テーマコード(参考)】
5K102
【Fターム(参考)】
5K102AA11
5K102AA15
5K102AD15
5K102AH02
5K102AH14
5K102KA39
5K102MA01
5K102MA02
5K102MB13
5K102MC23
5K102MD03
5K102PB01
5K102PH01
5K102PH22
5K102PH31
5K102RD11
5K102RD26
5K102RD28
(57)【要約】
【課題】任意の変換率で容易にサンプリングレート変換を行うことができるサンプリングレート変換器、サンプリングレート変換方法及び通信システムを得る。
【解決手段】サンプリングレート変換器12は、変換率としてM/N(M及びNは1以上の整数)が設定された場合に、入力サンプリングレートでサンプルされた入力サンプリングデータを、入力サンプリングレートのM/N倍の出力サンプリングレートでサンプルされた出力サンプリングデータに変換する。デジタルフィルタ14は、変換率に応じてタップ係数がそれぞれ設定された複数のサブフィルタF0~Fωが並列に並べられて構成されている。経路選択回路13は、入力サンプリングレートで入力された入力サンプリングデータの各々を変換率に応じてデジタルフィルタ14の少なくとも1つのサブフィルタに供給する。マルチプレクサ15は、複数のサブフィルタF0~Fωの出力を出力サンプリングデータとして変換率に応じて決められた順序で出力サンプリングデータとして出力サンプリングレートで出力する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
変換率としてM/N(M及びNは1以上の整数)が設定された場合に、入力サンプリングレートでサンプルされた入力サンプリングデータd(i)(i=0,1,2・・・)を、前記入力サンプリングレートのM/N倍の出力サンプリングレートでサンプルされた出力サンプリングデータz(j)(j=0,1,2・・・)に変換するサンプリングレート変換器であって、
前記変換率に応じてタップ係数がそれぞれ設定された複数のサブフィルタが並列に並べられて構成されたデジタルフィルタと、
前記入力サンプリングレートで入力された前記入力サンプリングデータの各々を前記変換率に応じて前記デジタルフィルタの少なくとも1つの前記サブフィルタに供給する経路選択回路と、
前記複数のサブフィルタの出力を前記出力サンプリングデータとして前記変換率に応じて決められた順序で前記出力サンプリングレートで出力するマルチプレクサとを備えることを特徴とするサンプリングレート変換器。
【請求項2】
計算回路及び記憶回路のうち少なくとも1つを使って、入力された前記入力サンプリングデータの各々を供給する前記サブフィルタを前記変換率に応じて前記経路選択回路に設定し、前記変換率に応じて前記タップ係数を前記複数のサブフィルタにそれぞれ設定し、前記サブフィルタの結果を出力するタイミングを前記マルチプレクサに前記変換率に応じて設定する制御回路を更に備えることを特徴とする請求項1に記載のサンプリングレート変換器。
【請求項3】
前記デジタルフィルタは少なくともL段のタップを有し、
前記複数のサブフィルタは、サブフィルタF0、サブフィルタF1、サブフィルタF2、・・・、サブフィルタFn(nは3以上の整数)、・・・、サブフィルタF(M-1)を有し、
前記サブフィルタF0に、タップ係数の0段目、M段目、2M段目、3M段目・・・が順にL段以内で設定され、
前記サブフィルタF1に、タップ係数のM-1段目、2M-1段目、3M-1段目・・・が順にL段以内で設定され、
前記サブフィルタF2に、タップ係数のM-2段目、2M-2段目、3M-2段目・・・が順にL段以内で設定され、
・・・
前記サブフィルタFnに、タップ係数のM-n段目、2M-n段目、3M-n段目・・・が順にL段以内で設定され、
・・・
前記サブフィルタF(M-1)に、タップ係数の1段目、2M-(M-1)段目、3M-(M-1)段目・・・が順にL段以内で設定されることを特徴とする請求項1又は2に記載のサンプリングレート変換器。
【請求項4】
前記経路選択回路は、入力された前記入力サンプリングデータd(i)の値iに対して、(M/N)×i以下、(M/N)-(L-1)/N以上かつ0以上の範囲に含まれるjの値によって特定されたサブフィルタに、前記入力サンプリングデータd(i)を供給し、
前記マルチプレクサは、前記入力サンプリングデータd(i)の入力タイミングに対してj=(M/N)×i-(L-1)/Nのタイミングに合わせて前記出力サンプリングデータz(j)を前記出力サンプリングレートで出力することを特徴とする請求項1~3の何れか1項に記載のサンプリングレート変換器。
【請求項5】
(j×N)をMで割った余りを(j×N)%Mとして、前記jの値によって特定された前記サブフィルタは(j×N)%M番目のサブフィルタであることを特徴とする請求項4に記載のサンプリングレート変換器。
【請求項6】
送信信号を処理する送信デジタル信号処理回路と、
前記送信デジタル信号処理回路の出力信号のサンプリングレートを変換する送信側サンプリングレート変換器と、
前記送信側サンプリングレート変換器の出力信号をアナログ電気信号に変換するD/A変換器と、
前記D/A変換器の出力信号を光信号に変換して送信する送信光モジュールと、
前記光信号を受信してアナログ電気信号に変換するA/D変換器と、
前記A/D変換器の出力信号のサンプリングレートを変換する受信側サンプリングレート変換器と、
前記受信側サンプリングレート変換器の出力信号を処理する受信デジタル信号処理回路とを備え、
前記送信側サンプリングレート変換器又は前記受信側サンプリングレート変換器は請求項1~5の何れか1項に記載のサンプリングレート変換器であることを特徴とする通信システム。
【請求項7】
変換率としてM/N(M及びNは1以上の整数)が設定された場合に、入力サンプリングレートでサンプルされた入力サンプリングデータd(i)(i=0,1,2・・・)を、前記入力サンプリングレートのM/N倍の出力サンプリングレートでサンプルされた出力サンプリングデータz(j)(j=0,1,2・・・)に変換するサンプリングレート変換方法であって、
前記変換率に応じてタップ係数がそれぞれ設定された複数のサブフィルタが並列に並べられて構成されたデジタルフィルタの少なくとも1つの前記サブフィルタに、前記入力サンプリングレートで入力された前記入力サンプリングデータの各々を前記変換率に応じて経路選択回路により供給する工程と、
前記複数のサブフィルタの出力を前記出力サンプリングデータとして前記変換率に応じて決められた順序で前記出力サンプリングレートでマルチプレクサにより出力する工程とを備えることを特徴とするサンプリングレート変換方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、サンプリングレート変換器、サンプリングレート変換方法及び通信システムに関する。
【背景技術】
【0002】
デジタルコヒーレント光通信は、デジタル信号処理技術によって、ますます大容量化が進んでいる。その伝送レートは高速になる一方であるが、同時に種々のクライアントシステム又は伝送状況に応じるため、幅広い伝送レートをサポートする必要が出てきた。
【0003】
一般的なデジタルコヒーレント光通信では、送信デジタルデータは、種々の信号処理が施され、オーバサンプリングされ、D/A変換器でアナログベースバンド信号に変換され、最後に、送信光モジュールで光信号に変換されて光ファイバを介して受信側へ伝送される。受信側では、受信光モジュールに入力された光信号から、アナログベースバンド信号が抽出され、A/D変換器でサンプリングされてサンプリングデータとなる。このサンプリングデータは、種々の信号処理が施されて、最終的に送信デジタルデータが復元される。この時、サンプリングデータのサンプリングレートは、A/D変換器に供給されるサンプリングクロックによって決まる。
【0004】
このようなデジタルコヒーレント光通信において幅広い伝送レートをサポートするために、送信及び受信におけるサンプリングレートは、伝送レートに応じて幅広い範囲で複数用意される。しかし、ハードウェアの面からサンプリングレートのレンジには制約があり、幅広いサンプリングレートのレンジへ対応することは難しい。例えば、光通信を実現する高精度な構成においては、サンプリングクロックを発生するPLL発振器の周波数可変範囲は制限されている。また、周波数可変範囲を広くカバーするために、PLLを複数搭載する場合、消費電力・コストの観点で課題が生じるだけでなく、雑音の観点から搭載可能なPLLの台数にも制約が生じる。
【0005】
即ち、信号処理回路内部で取り扱うサンプリングレートは広い範囲に分布する複数のサンプリングレートが使用されるが、送信側のD/A変換器及び受信側のA/D変換器でサポートできるサンプリングレートはその範囲よりも狭い範囲に制約される。従って、信号処理回路が実際に処理する際の幅広い複数のサンプリングレートと、D/A変換器及びA/D変換器で対応可能なサンプリングレートとの変換が必要となる。具体的には、送信側では、複数のサンプリングレートをD/A変換器で対応できる範囲に変換する必要がある。さらに、受信側では、A/D変換器及びサンプリングクロックで対応できる範囲のサンプリングデータから後段の信号処理に適したサンプリングレートに変換する必要がある。
【0006】
また、デジタルコヒーレント光通信では、伝送レートの高速化及びレンジの幅広化によって、複数のサンプリングレートの変換が必要になってきた。デジタル回路におけるサンプリングレートの変換は、実現の容易性などから、通常はサンプリングレートをM/N倍(M及びNは1以上の整数)に変換することを意味する。このようなM/N倍の変換では、まず、フィルタ部で、入力データの各サンプル間にゼロデータを挿入して補間してM倍のデータを求める。次に、サンプリング部が、そのM倍のデータから1/N倍にデータを間引く。
【0007】
このようなサンプリングレート変換器は大きな規模の回路を必要とするため、回路規模を縮小するための技術が複数提案されている。特許文献1は、サンプリングレートをn/m倍(n及びmは1以上の整数)に変換するデータ処理装置を開示し、フィルタの前段でパラレル転送のレート変換を行うことでフィルタ処理の簡易化を図っている。特許文献2は、受信時のA/D変換器処理で生成した受信シンボルあたりのサンプル数がM/N(M及びNは正の整数)の受信デジタル信号をそのまま適応等化処理することで適応等化処理の消費電力を削減する方法を開示している。特許文献3は、複数の標本化レートへの並列変換が行える標本化レート変換装置を開示している。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2017-163281号公報
【特許文献2】国際公開第2018/079598号
【特許文献3】特開2014-103639号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
特許文献1及び特許文献2の方法は、一つのサンプリングレート変換については簡易化できる。しかし、複数のサンプリングレート変換を実装する場合、変換の数に対応した回路が必要となり、回路規模が膨大化し、消費電力も大きくなるという問題がある。特許文献3の方法は、複数のサンプリングレート変換を切り替える方法が複雑であり、複数のサンプリングレートの設定が柔軟に行えないという問題がある。
【0010】
本開示は、上述のような課題を解決するためになされたもので、その目的は任意の変換率で容易にサンプリングレート変換を行うことができるサンプリングレート変換器、サンプリングレート変換方法及び通信システムを得るものである。
【課題を解決するための手段】
【0011】
本開示に係るサンプリングレート変換器は、変換率としてM/N(M及びNは1以上の整数)が設定された場合に、入力サンプリングレートでサンプルされた入力サンプリングデータd(i)(i=0,1,2・・・)を、前記入力サンプリングレートのM/N倍の出力サンプリングレートでサンプルされた出力サンプリングデータz(j)(j=0,1,2・・・)に変換するサンプリングレート変換器であって、前記変換率に応じてタップ係数がそれぞれ設定された複数のサブフィルタが並列に並べられて構成されたデジタルフィルタと、前記入力サンプリングレートで入力された前記入力サンプリングデータの各々を前記変換率に応じて前記デジタルフィルタの少なくとも1つの前記サブフィルタに供給する経路選択回路と、前記複数のサブフィルタの出力を前記出力サンプリングデータとして前記変換率に応じて決められた順序で前記出力サンプリングレートで出力するマルチプレクサとを備えることを特徴とする。
【発明の効果】
【0012】
本開示により、複数のサンプリングレート変換を実装する場合でも簡易な構成で実装できる。
【図面の簡単な説明】
【0013】
【
図1】実施の形態に係る通信システムを示す図である。
【
図2】実施の形態に係るサンプリングレート変換器を示す図である。
【
図5】実施の形態に係るサンプリングレート変換器の動作を説明するための図である。
【
図6】M/N=4/3の場合のサンプリングレート変換の動作を説明するための図である。
【
図7】M/N=4/3の場合の入力サンプリングデータと出力サンプリングデータのタイミング関係を示した図である。
【
図8】M/N=4/3の場合のサンプリングレート変換の動作を視覚的に示した図である。
【
図9】M/N=3/2の場合のサンプリングレート変換の動作を説明するための図である。
【
図10】M/N=3/2の場合の入力サンプリングデータと出力サンプリングデータのタイミング関係を示した図である。
【
図11】M/N=3/2の場合のサンプリングレート変換の動作を視覚的に示した図である。
【発明を実施するための形態】
【0014】
図1は、実施の形態に係る通信システムを示す図である。通信システムは、送信信号処理回路1、送信光モジュール2、受信光モジュール3、受信信号処理回路4を備える。送信光モジュール2と受信光モジュール3は、光ファイバ5によって接続される。
【0015】
送信信号処理回路1に入力された送信信号は、送信デジタル信号処理回路6において事前の波形補償処理と誤り訂正用符号化が行われる。送信信号処理回路1の出力信号は、送信側サンプリングレート変換器7を介してD/A変換器8に送られる。送信側サンプリングレート変換器7は、データのサンプリングレートを、送信デジタル信号処理回路6が処理しやすいサンプリングレートから、D/A変換器8の性能から決まるサンプリングレートに変換する。D/A変換器8は、送信側サンプリングレート変換器7の出力信号をアナログ電気信号に変換する。
【0016】
送信光モジュール2は、D/A変換器8の出力信号をレーザダイオードにより光信号に変換して光ファイバ5を通して受信側へ送信する。受信側において、受信光モジュール3は、受信した光信号をアナログ電気信号に変換する。
【0017】
A/D変換器9は、受信光モジュール3の出力信号をデジタル電気信号に変換する。A/D変換器9の出力信号は、受信サンプリングレート変換器10を介して受信デジタル信号処理回路11に供給される。この時、受信光モジュール3の出力信号はA/D変換器9の性能から決まるレートでサンプリングされるが、受信サンプリングレート変換器10はA/D変換器9の出力信号のサンプリングレートを受信デジタル信号処理回路11が処理しやすいサンプリングレートに変換する。受信デジタル信号処理回路11は、送信デジタル信号処理回路6の出力信号に波長分散補償、偏波分散補償、及び誤り訂正等を行う。
【0018】
なお、
図1では、送信側から受信側を通して、送信データが、X偏波の信号とY偏波の信号に分けられて伝送する様子が示されている。しかし、本開示は、上記の構成に限定されることなく、片方の偏波での伝送においても適用可能である。その場合は、偏波合成と偏波分離の回路は不要となる。また、本開示は、
図1に示す光通信に限定されることなく、無線通信又はその他の通信にも適用可能である。
【0019】
図2は、実施の形態に係るサンプリングレート変換器12を示す図である。
図1の送信側サンプリングレート変換器7又は受信側サンプリングレート変換器12が
図2のサンプリングレート変換器12に対応する。サンプリングレート変換器12は、入力サンプリングデータd(i)(i=0,1,2・・・)のサンプリングレートをM/N倍して出力サンプリングデータz(j)(j=0,1,2・・・)として出力する。M及びNは1以上の整数であるが、M/Nが既約分数である方がサンプリングレート変換器を簡易に構成できる。また、入力サンプリングデータd(i)はシリアル入力であり、出力サンプリングデータz(j)はシリアル出力である。なお、回路構成上、例えばGearBoxというデータレート変換器を使用してパラレルに入力したり、パラレルに出力したりすることも可能であるが、ここでは示していない。その際、パラレルにするデータ数は任意に設定できる。
【0020】
サンプリングレート変換器12は、経路選択回路13、デジタルフィルタ14、マルチプレクサ15、及び制御回路16を有する。デジタルフィルタ14は、複数のサブフィルタF0~Fωを有する。M/Nを変換率と称する。なお、マルチプレクサ15は、複数の信号を多重化するため「マルチプレクサ15(MUX)」と記載しているが、一般的に使用されるマルチプレクサ15の動作と違う点があるかもしれないことに留意する必要がある。マルチプレクサ15の詳細な動作は以下に説明する。
【0021】
入力サンプリングデータd(i)は、入力サンプリングレートC1でサンプリングレート変換器12に入力される。出力サンプリングデータz(j)は、出力サンプリングレートC2でサンプリングレート変換器12から出力される。この時、出力サンプリングレートC2は、C2=C1×(M/N)である。即ち、入力サンプリングデータd(i)で表される一連の信号は、入力と同じ波形形状を維持した状態で、サンプリングレートがM/N倍となった出力サンプリングデータz(j)として出力される。
【0022】
デジタルフィルタ14は、サンプリングレートを変換する際のサンプリングデータの補間を行うフィルタであり、ここではL段のタップを有するFIRフィルタで構成される。一般的に、サンプリングレートをM/N倍するために使用されるFIRフィルタは、複数のサブフィルタF0~Fωから構成されるポリフェーズフィルタ構造で実現することができる。ポリフェーズフィルタ構造は、FIRフィルタを複数のサブフィルタに分けて、出力に寄与するタップのみを計算することでFIRフィルタの計算を簡易化する構成である。この場合、L段のタップ係数は、複数のサブフィルタF0~Fωに変換率M/Nに応じて割り振られる。この割り振りは変換率M/Nに応じて制御回路16からのタップ係数情報に基づいて行われる。具体的には、予め構成された複数のサブフィルタF0~Fωにタップ係数情報に基づいてタップ係数が設定される。即ち、制御回路16からのタップ係数情報に基づいて、複数のサブフィルタF0~Fωの構成が決まる。なお、実際の設計においては、上述のように全体のFIRフィルタを決定してから複数のサブフィルタF0~Fωの構成を決定しても良いし、複数のサブフィルタF0~Fωの構成を先に決めてから全体のFIRフィルタを形成することも可能である。通常、これらはシステム要件から最適な手法を選択することになる。
【0023】
経路選択回路13は、変換率M/Nに応じて、制御回路16からの供給先サブフィルタ情報に基づいて、入力サンプリングデータd(i)を指定されたサブフィルタに供給する。供給先サブフィルタは、一つとは限らず、複数の場合、又は同じサブフィルタに再度供給する場合がある。この時、入力サンプリングデータd(i)は、入力サンプリングレートC1で経路選択回路13に入力され、同じレートで経路選択回路13からサブフィルタに供給される。
【0024】
マルチプレクサ15は、変換率M/Nに応じて、制御回路16からの出力タイミング情報に基づいて、サブフィルタF0~Fωの出力を出力サンプリングデータz(j)として出力する。この時、サブフィルタF0~Fωの出力は入力サンプリングレートC1でマルチプレクサ15に供給される。出力サンプリングデータz(j)は、出力タイミング情報と整合するように出力サンプリングレートC2で出力される。
【0025】
制御回路16は、上述したように、変換率が与えられると、経路選択回路13に対して入力サンプリングデータの供給先サブフィルタを順次的に指定し、マルチプレクサ15に対して出力サンプリングデータの出力タイミングを順次的に指定する。なお、この順次的な指定は、繰り返し可能な簡易な回路で指定することができる。
【0026】
この制御回路16における供給先サブフィルタ情報、出力タイミング情報、及びタップ係数情報は、次に示すように、制御回路16の内部で計算するか、又は、計算結果をメモリ等に記憶することができる。
【0027】
図3及び
図4は、制御回路の構成例を示す図である。
図3に示す制御回路16は、制御回路16における供給先サブフィルタ情報、出力タイミング情報、及びタップ係数情報を算出するための計算回路17を有している。
図4に示す制御回路16は、上述した各情報を予め計算し、それらの結果を記憶する記憶回路18を有している。記憶回路18はメモリ等で容易に構成できる。
【0028】
図3に示す制御回路16では、変換率M/Nが入力されると、計算回路17において、供給先サブフィルタ情報、タップ係数情報及び出力タイミング情報が計算され、それぞれ経路選択回路13、サブフィルタF0~Fω、及びマルチプレクサ15へ出力される。
【0029】
図4に示す制御回路16では、予め使用が想定される複数の変換率M/Nに対する供給先サブフィルタ情報、タップ係数情報及び出力タイミング情報が計算され、記憶回路18に記憶されている。そして、入力された変換率M/Nに対する供給先サブフィルタ情報、タップ係数情報及び出力タイミング情報が読み出されて、それぞれ経路選択回路13、サブフィルタF0~Fω、及びマルチプレクサ15へ出力される。
【0030】
次に、サンプリングレート変換器12の動作について説明する。
図5は、実施の形態に係るサンプリングレート変換器の動作を説明するための図である。変換率がM/Nの場合について説明する。入力サンプリングデータd(i)が入力サンプリングレートC1でサンプリングレート変換器12に入力され、出力サンプリングデータz(j)が出力サンプリングレートC2(=C1×M/N)でサンプリングレート変換器12から出力される。
【0031】
サンプリングレート変換器12の基本的な回路は、“×M”回路19、L段のデジタルフィルタ14、及び“1/N”回路20とで構成される。“×M”回路19は、入力サンプリングデータd(i)の各サンプリングデータ間に(M-1)個の“0”データを挿入し、フィルタ入力データx(n)(n=0、1、2・・・・)を生成する。例えば、入力サンプリングデータd(0)、d(1)・・・の間に“0”データを挿入し、フィルタ入力データx(0)、x(1)、x(2)、x(3)、x(4)、・・・を生成する。仮にM=4の場合、x(0)=d(0)、x(1)=x(2)=x(3)=0、x(4)=d(1)、・・・・である。この時、x(n)のサンプリングレートはC1×Mである。
【0032】
デジタルフィルタ14は、フィルタ入力データx(n)において挿入された“0”データ部分を補間し、フィルタ出力データy(n)(n=0、1、2・・・・)を生成する。この時のデジタルフィルタ14の処理レートはC1×Mである。なお、デジタルフィルタ14は、L段のタップを有するFIRフィルタを使用できる。各タップには、タップ係数が設定されている。タップ係数は、フィルタ入力データx(n)の補間が適切に行われるように設定される。また、タップ係数は、変換率M/N毎に変更かつ記憶することは可能である。しかし、変換率M/Nが変更された場合でもタップ係数を変更しなくてもよいような値に設定すれば、タップ係数を記憶するメモリ量を減らすことができる。
【0033】
デジタルフィルタ14による補間に続いて、“1/N”回路20は、フィルタ出力データy(n)から(N-1)個のデータを間引いて出力サンプリングデータz(j)を生成する。仮に、N=3の場合、z(0)=y(0)、z(1)=y(3)、z(2)=y(6)・・・・となる。また、この時、出力サンプリングデータz(j)の出力サンプリングレートはC2=C1×M/Nである。
【0034】
以上より、入力サンプリングデータd(i)に対して、変換率M/Nのサンプリングレート変換が達成される。上記の構成は、
図5の下段に示すように、経路選択回路13と複数のサブフィルタF0~Fωとマルチプレクサ15で置き換えることができる。“×M”回路19及びデジタルフィルタ14を複数のサブフィルタF0~Fωで構成することをポリフェーズ化と言う。サブフィルタF0~Fωのことをポリフェーズフィルタと称する。ここでは、“×M”回路19及びデジタルフィルタ14は経路選択回路13と複数のサブフィルタF0~Fωで構成される。更に、サブフィルタF0~Fωの処理レートはC1であり、ポリフェーズ化前の処理レートC1×Mより低くすることができる。
【0035】
次に、上記の置き換え(ポリフェーズ化)について、説明する。フィルタ出力データy(n)は、フィルタ入力データx(n)と、FIRフィルタであるデジタルフィルタ14のインパルス応答h(n)との畳み込みの式で表すことができる。デジタルフィルタ14のインパルス応答h(n)は、タップ係数の値に相当する。仮に、デジタルフィルタ14がL=9段のFIRフィルタである場合、タップ係数はインパルス応答h(-8)~h(0)で表される。そして、フィルタ出力データy(n)は以下ように表すことができる。但し、h(0)を先頭段或いは0段目のタップ係数、h(-1)を1段目のタップ係数、h(-2)を2段目のタップ係数、・・・h(-8)を8段目或いは最終段のタップ係数と称する。なお、タップ係数をh(-8)~h(0)としたのは、フィルタ入力データx(0)が、FIRフィルタのタップの先頭段h(0)まで入力された場合の出力をy(0)とするためである。
【0036】
【0037】
数1は、n=0、1、2、・・・に対して以下のようになる。これはデジタルフィルタ14の出力y(n)である。
【0038】
[数2]
y(0)=h(-8)x(8)+h(-7)x(7)+h(-6)x(6)+h(-5)x(5)+h(-4)x(4)+h(-3)x(3)+h(-2)x(2)+h(-1)x(1)+h(0)x(0)
y(1)=h(-8)x(9)+h(-7)x(8)+h(-6)x(7)+h(-5)x(6)+h(-4)x(5)+h(-3)x(4)+h(-2)x(3)+h(-1)x(2)+h(0)x(1)
y(2)=h(-8)x(10)+h(-7)x(9)+h(-6)x(8)+h(-5)x(7)+h(-4)x(6)+h(-3)x(5)+h(-2)x(4)+h(-1)x(3)+h(0)x(2)
y(3)=h(-8)x(11)+h(-7)x(10)+h(-6)x(9)+h(-5)x(8)+h(-4)x(7)+h(-3)x(6)+h(-2)x(5)+h(-1)x(4)+h(0)x(3)
y(4)=h(-8)x(12)+h(-7)x(11)+h(-6)x(10)+h(-5)x(9)+h(-4)x(8)+h(-3)x(7)+h(-2)x(6)+h(-1)x(5)+h(0)x(4)
y(5)=h(-8)x(13)+h(-7)x(12)+h(-6)x(11)+h(-5)x(10)+h(-4)x(9)+h(-3)x(8)+h(-2)x(7)+h(-1)x(6)+h(0)x(5)
y(6)=h(-8)x(14)+h(-7)x(13)+h(-6)x(12)+h(-5)x(11)+h(-4)x(10)+h(-3)x(9)+h(-2)x(8)+h(-1)x(7)+h(0)x(6)
y(7)=h(-8)x(15)+h(-7)x(14)+h(-6)x(13)+h(-5)x(12)+h(-4)x(11)+h(-3)x(10)+h(-2)x(9)+h(-1)x(8)+h(0)x(7)
y(8)=h(-8)x(16)+h(-7)x(15)+h(-6)x(14)+h(-5)x(13)+h(-4)x(12)+h(-3)x(11)+h(-2)x(10)+h(-1)x(9)+h(0)x(8)
y(9)=h(-8)x(17)+h(-7)x(16)+h(-6)x(15)+h(-5)x(14)+h(-4)x(13)+h(-3)x(12)+h(-2)x(11)+h(-1)x(10)+h(0)x(9)
y(10)=h(-8)x(18)+h(-7)x(17)+h(-6)x(16)+h(-5)x(15)+h(-4)x(14)+h(-3)x(13)+h(-2)x(12)+h(-1)x(11)+h(0)x(10)
y(11)=h(-8)x(19)+h(-7)x(18)+h(-6)x(17)+h(-5)x(16)+h(-4)x(15)+h(-3)x(14)+h(-2)x(13)+h(-1)x(12)+h(0)x(11)
y(12)=h(-8)x(20)+h(-7)x(19)+h(-6)x(18)+h(-5)x(17)+h(-4)x(16)+h(-3)x(15)+h(-2)x(14)+h(-1)x(13)+h(0)x(12)y(13)=h(-8)x(21)+h(-7)x(20)+h(-6)x(19)+h(-5)x(18)+h(-4)x(17)+h(-3)x(16)+h(-2)x(15)+h(-1)x(14)+h(0)x(13)
y(14)=h(-8)x(22)+h(-7)x(21)+h(-6)x(20)+h(-5)x(19)+h(-4)x(18)+h(-3)x(17)+h(-2)x(16)+h(-1)x(15)+h(0)x(14)
y(15)=h(-8)x(23)+h(-7)x(22)+h(-6)x(21)+h(-5)x(20)+h(-4)x(19)+h(-3)x(18)+h(-2)x(17)+h(-1)x(16)+h(0)x(15)
・・・・・
【0039】
[変換率M/N=4/3の場合の動作]
次に、変換率M/N=4/3(M=4,N=3)の場合の動作について説明する。但し、デジタルフィルタ14のタップの段数はL=9段である。
【0040】
“×M”回路19は、M=4に対して、入力サンプリングデータd(0)、d(1)・・・の間に”0”を3ずつ挿入し、フィルタ入力データx(0)、x(1)、x(2)、x(3)、x(4)・・・・を生成する。この時、x(0)、x(4)、x(8)・・・以外は0となる。従って、数2は以下となる。この時のデジタルフィルタ14の処理レートはC1である。
【0041】
[数3]
y(0)=h(-8)x(8)+h(-4)x(4)+h(0)x(0)
y(1)=h(-7)x(8)+h(-3)x(4)
y(2)=h(-6)x(8)+h(-2)x(4)
y(3)=h(-5)x(8)+h(-1)x(4)
y(4)=h(-8)x(12)+h(-4)x(8)+h(0)x(4)
y(5)=h(-7)x(12)+h(-3)x(8)
y(6)=h(-6)x(12)+h(-2)x(8)
y(7)=h(-5)x(12)+h(-1)x(8)
y(8)=h(-8)x(16)+h(-4)x(12)+h(0)x(8)
y(9)=h(-7)x(16)+h(-3)x(12)
y(10)=h(-6)x(16)+h(-2)x(12)
y(11)=h(-5)x(16)+h(-1)x(12)
y(12)=h(-8)x(20)+h(-4)x(16)+h(0)x(12)
y(13)=h(-7)x(20)+h(-3)x(16)
y(14)=h(-6)x(20)+h(-2)x(16)
y(15)=h(-5)x(20)+h(-1)x(16)
・・・・
【0042】
ここで、数3によると、9段FIRフィルタのタップ係数h(-8)~h(0)のうち、
y(0)の結果を得るには、h(-8)、h(-4)、h(0)が使用される。
y(1)の結果を得るには、h(-7)、h(-3)が使用される。
y(2)の結果を得るには、h(-6)、h(-2)が使用される。
y(3)の結果を得るには、h(-5)、h(-1)が使用される。
y(4)の結果を得るには、再びh(-8)、h(-4)、h(0)が使用される。
y(5)の結果を得るには、再びh(-7)、h(-3)が使用される。
y(6)の結果を得るには、再びh(-6)、h(-2)が使用される。
y(7)の結果を得るには、再びh(-5)、h(-1)が使用される。
【0043】
このように、9つのタップ係数h(-8)~h(0)のちM=4ずつ(3つおきに)選ばれて、以下の4つのサブフィルタが構成される。
サブフィルタF0={h(-8)、h(-4)、h(0)}
サブフィルタF1={h(-7)、h(-3)}
サブフィルタF2={h(-6)、h(-2)}
サブフィルタF3={h(-5)、h(-1)}
【0044】
サブフィルタF0~F3の計算が繰り返されてフィルタ出力データy(n)が順次生成される。即ち、9段のデジタルフィルタ14は、M=4の場合、ポリフェーズフィルタ化によって、4つのサブフィルタF0~F3に分けられる。これらのサブフィルタF0~F3は、3段又は2段のタップで構成されている。ただし、
図5では、全てのサブフィルタF0~F3を3段で示している。これは、設計し得る最大数(この場合は3段)の段数で構成しておけば、種々のMに対応可能となるからである。2段の場合は、先頭段のタップ係数を0とし、続く2段のタップだけ使用すればよい。なお、3段のポリフェーズフィルタを先に構成し、これによって全体のFIRフィルタを構成することも可能である。
【0045】
具体的には、
図2に示す制御回路16において、与えられたMに対するサブフィルタF0~F3の構成が計算され、タップ係数情報としてサブフィルタF0~F3の構成に従うようにタップ係数が各サブフィルタF0~F3に設定される。上記のM=4の場合、サブフィルタF0には、タップ係数{h(-8)、h(-4)、h(0)}が設定され、サブフィルタF1には、タップ係数{h(-7)、h(-3)、0}が設定され、サブフィルタF2には、タップ係数{h(-6)、h(-2)、0}が設定され、サブフィルタF3には、タップ係数{h(-5)、h(-1)、0}が設定される。なお、
図4に示す制御回路16の記憶回路18に変換率M/Nに対するタップ係数情報を予め記憶させ、変換率M/Nの設定に応じて所定のタップ係数をサブフィルタF0~F3に設定すれば、容易にポリフェーズフィルタを構成できる。この時、各サブフィルタF0~F3の処理レートはC1である。
【0046】
次に、“1/N”回路20は、フィルタ出力データy(0)、y(1)、y(2)、・・・・をN=3ずつ間引く。その時、数3は以下のようになる。
【0047】
[数4]
y(0)=h(-8)x(8)+h(-4)x(4)+h(0)x(0)
y(3)=h(-5)x(8)+h(-1)x(4)
y(6)=h(-6)x(12)+h(-2)x(8)
y(9)=h(-7)x(16)+h(-3)x(12)
y(12)=h(-8)x(20)+h(-4)x(16)+h(0)x(12)
y(15)=h(-5)x(20)+h(-1)x(16)
・・・・
【0048】
数4によると、“1/N”回路20において、9段FIRフィルタのタップ係数h(―8)~h(0)のうち、
y(0)の結果を得るには、h(-8)、h(-4)、h(0)(=サブフィルタF0)が使用される。
y(3)の結果を得るには、h(-5)、h(-1)(=サブフィルタF3)が使用される。
y(6)の結果を得るには、h(-6)、h(-2)(=サブフィルタF2)が使用される。
y(9)の結果を得るには、h(-7)、h(-3)(=サブフィルタF1)が使用される。
y(12)の結果を得るには、再びh(-8)、h(-4)、h(0)(=サブフィルタF0)が使用される。
y(15)の結果を得るには、再びh(-5)、h(-1)(=サブフィルタF3)が使用される。
【0049】
このように、“1/N”回路20では、サブフィルタF0、F3、F2、F1の順に計算が繰り返されて、フィルタ出力データがy(0)、y(3)、y(6)、y(9)・・・・の順に出力される。
【0050】
なお、入力サンプリングデータd(i)と、デジタルフィルタ14へのフィルタ入力データx(n)との関係は、
d(0)=x(0)
d(1)=x(4)
d(2)=x(8)
d(3)=x(12)
・・・
であり、デジタルフィルタ14のフィルタ出力データy(n)と出力サンプリングデータz(j)との関係は、
z(0)=y(0)
z(1)=y(3)
z(2)=y(6)
z(3)=y(9)
・・・・
であるので、数4を、入力サンプリングデータd(i)と出力サンプリングデータz(j)で置き換えると、以下の式となる。
【0051】
[数5]
z(0)=h(-8)d(2)+h(-4)d(1)+h(0)d(0)
z(1)=h(-5)d(2)+h(-1)d(1)
z(2)=h(-6)d(3)+h(-2)d(2)
z(3)=h(-7)d(4)+h(-3)d(3)
z(4)=h(-8)d(5)+h(-4)d(4)+h(0)d(3)
z(5)=h(-5)d(5)+h(-1)d(4)
・・・・
【0052】
図6は、M/N=4/3の場合のサンプリングレート変換の動作を説明するための図である。数5を、入力サンプリングデータd(i)に対して描くと
図6になる。
図6において、入力サンプリングデータd(i)を示す直線が横方向に描かれ、そのうち各サブフィルタF0~F3に供給するデータの範囲を縦長の長方形で示し、それらがサブフィルタF0~F3のどれに供給されるかを長方形から伸びている矢印で示している。また、サブフィルタF0~F3の出力は、右向きの矢印で出力サンプリングデータz(j)になることが示されている。
図6は、入力サンプリングデータd(i)が順次的に経路選択回路に入力され、出力サンプリングデータz(j)が順次的にマルチプレクサから出力される様子を示している。経路選択回路の中の構成は、実際の構成ではなく処理の動作イメージを示している。なお、上記のデータをパラレルデータとしてまとめて入力したり、まとめて出力したりすることも可能である。これらはサンプリングレート変換器内で順次的に処理される。
【0053】
図6によると、
入力サンプリングデータd(0)、d(1)、d(2)は、サブフィルタF0に入力され、出力サンプリングデータz(0)となって出力される。
入力サンプリングデータd(1)、d(2)は、サブフィルタF3に入力され、出力サンプリングデータz(1)となって出力される。
入力サンプリングデータd(2)、d(3)は、サブフィルタF2に入力され、出力サンプリングデータz(2)となって出力される。
入力サンプリングデータd(3)、d(4)は、サブフィルタF1に入力され、出力サンプリングデータz(3)となって出力される。
入力サンプリングデータd(3)、d(4)、d(5)は、再びサブフィルタF0に入力され、出力サンプリングデータz(4)となって出力される。
【0054】
マルチプレクサからは、サブフィルタF0、サブフィルタF3、サブフィルタF2、サブフィルタF1、サブフィルタF0・・・の出力が順次的に選択されて、出力サンプリングデータz(0)、z(1)、z(2)、z(3)、z(4)・・・として順次的に出力される。
このように、サブフィルタF0~F3は、繰り返して使用することができる。また、このサブフィルタF0~F3が繰り返される順番は、サブフィルタF[(j×N)%M](但し、「(j×N)%M」は、(j×N)をMで割った余りを意味する)として、計算できる。
【0055】
この時、入力サンプリングデータd(i)の入力順に見ると、
入力サンプリングデータd(0)は、サブフィルタF0に入力される。
入力サンプリングデータd(1)は、サブフィルタF0、F3に入力される。
入力サンプリングデータd(2)は、サブフィルタF0、F3、F2に入力される。
入力サンプリングデータd(3)は、サブフィルタF2、F1、F0に入力される。
入力サンプリングデータd(4)は、サブフィルタF1、F0、F3に入力される。
【0056】
入力サンプリングデータd(i)と、供給先サブフィルタの関係は、以下の表1のように表せる。
【0057】
【0058】
上記のように、変換率M/N及びフィルタの段数Lが決まると、入力サンプリングデータd(i)をどのサブフィルタF0~F3に入力すべきかが一意的に決定される。また、表1によると、d(5)からは、d(2)~d(4)に対する供給先サブフィルタが繰り返される。従って、この繰り返しの状況を制御回路16内の記憶回路18に記録させておけば、値iの入力に応じて、供給先のサブフィルタを供給先サブフィルタ情報として容易に指定することが可能である。サンプリングレート変換器12の経路選択回路13は、制御回路16からの供給先サブフィルタ情報によって、入力されたサンプリングデータd(i)を指定のサブフィルタF0~F3に供給する。
【0059】
図7は、M/N=4/3の場合の入力サンプリングデータと出力サンプリングデータのタイミング関係を示した図である。図の上方は、入力サンプリングデータd(i)の入力タイミングを示しており、下方は、出力サンプリングデータz(j)の出力タイミングを示している。横方向の細かな目盛りは、基本クロックのイメージを示している。入力サンプリングデータd(i)は、4クロック毎に入力されており、出力サンプリングデータz(j)は、3クロック毎に出力している。これによって、出力のサンプリングレートC2は、入力のサンプリングレートC1に対して、4/3倍(周期は3/4倍)に変換されていることが分かる。
【0060】
図7によると、入力サンプリングデータd(0)、d(1)、d(2)が、サブフィルタF0に供給され、出力サンプリングデータz(0)として出力されている。入力サンプリングデータd(1)、d(2)が、サブフィルタF3に供給され、出力サンプリングデータz(1)として出力されている。入力サンプリングデータd(2)、d(3)が、サブフィルタF2に供給され、出力サンプリングデータz(2)として出力されている。入力サンプリングデータd(3)、d(4)が、サブフィルタF1に供給され、出力サンプリングデータz(3)として出力されている。入力サンプリングデータd(3)、d(4)、d(5)が、サブフィルタF0に供給され、出力サンプリングデータz(4)として出力されている。出力サンプリングデータz(0)、z(1)、z(2)、z(3)、z(4)・・・はサンプリングレートC2で出力される。これがマルチプレクサ15の動作である。
【0061】
なお、出力サンプリングデータz(0)が出力される場合は、サブフィルタF0に全てのデータ(ここでは、d((0)、d(1)、d(2))が供給される必要があるため、入力サンプリングデータd(2)の供給が行われてから出力サンプリングデータz(0)が出力される。
また、入力サンプリングデータをパラレル的に入力したり、出力サンプリングデータをパラレル的に出力したりすることも可能である。この場合、入力サンプリングデータをパラレル入力の数ずつ入力し、出力サンプリングデータをパラレル出力の数ずつ出力する。但し、パラレルで入力した時の入力サンプリングデータと、パラレルで出力した時の出力サンプリングデータとのタイミングとの関係は、上述した関係と同じである。
【0062】
図8は、M/N=4/3の場合のサンプリングレート変換の動作を視覚的に示した図である。以後、
図8を「レート変換チャート」と称する。横軸は、入力サンプリングデータd(i)の順番を示す変数「i」である。iに対応する入力サンプリングデータd(i)がサンプリングレート変換器12に入力される。参考のため、入力サンプリングデータd(i)に“0”が3ずつ挿入されたフィルタ入力データx(n)を変数iのレートをM=4倍にした変数sを用いてx(s)として記載している。フィルタ入力データx(s)は、デジタルフィルタ14に入力するデータである。ここで、s=M×iである。縦軸は、出力サンプリングデータz(j)の順番を示す変数「j」である。jに対応する出力サンプリングデータz(j)がサンプリングレート変換器12から出力される。参考のため、各サブフィルタF0~F3から出力されるフィルタ出力データy(n)についても、横軸の変数sと同じタイミングの変数tを用いてy(t)として記載している。フィルタ出力データy(t)は、3タイミング毎に出力サンプリングデータz(j)として出力される。ここで、t=N×jである。
【0063】
また、図中には、サブフィルタF0~F3及び各サブフィルタF0~F3のタップ係数が●印で示されている。各サブフィルタF0~F3において、●印のタップに、入力サンプリングデータd(i)が入力され、そのサブフィルタF0~F3の出力が、出力サンプリングデータz(j)として出力される。
【0064】
図8のレート変換チャートを見れば、例えば、入力サンプリングデータd(0)、d(1)、d(2)が、サブフィルタF0に供給されると、その出力が出力サンプリングデータz(0)として出力されることが容易に理解できる。同様に、入力サンプリングデータd(1)、d(2)がサブフィルタF3に供給されると、その出力は出力サンプリングデータz(1)として出力される。入力サンプリングデータd(2)、d(3)がサブフィルタF2に供給されると、その出力は出力サンプリングデータz(2)として出力される。入力サンプリングデータd(3)、d(4)がサブフィルタF1に供給されると、その出力は出力サンプリングデータz(3)として出力される。入力サンプリングデータd(3)、d(4)、d(5)がサブフィルタF0に供給されると、その出力は出力サンプリングデータz(4)として出力される。
【0065】
ここで、
図8のレート変換チャートを参照すると、入力サンプリングデータd(i)の供給先サブフィルタは、以下に示すような条件によって容易に算出できることが分かる。入力サンプリングデータd(i)は、
図8における●印で示される点に基づいて、サブフィルタF0~F3に供給される。この●印は、入力されるタイミングi=0,1,2・・・(s=0,4,8,12・・・)における縦方向の直線と、出力されるタイミングj=0,1,2・・・(t=0,3,6,9・・・)における横方向の直線との交点のうち、直線t=sと直線t=s-(L-1)との間の領域(但し、tは0以上)にある交点で示される。この交点における入力サンプリングデータd(i)が、その交点によって定まるサブフィルタに供給される。詳細には、その交点がiとjで示される場合、「jで決まるサブフィルタ」にd(i)が供給される。jは、出力サンプリングデータz(j)の出力順を示す。「jで決まるサブフィルタ」は、前述したように、サブフィルタF[(j×N)%M](但し、「(j×N)%M」は、(j×N)をMで割った余りを意味する)として計算できる。
【0066】
ここで、直線t=sと直線t=s-(L-1)との間の領域(但し、tは0以上)にある交点は、s=M×i、t=N×jなので、以下のように言い換えられる。即ち、iとjとの交点のうち、直線j=(M/N)×iと直線j=(M/N)×i-(L-1)/Nとの間の領域(但し、jは0以上)にある交点のiとjについて、d(i)のデータを、サブフィルタF[(j×N)%M](但し、「(j×N)%M」は、(j×N)をMで割った余りを意味する)へ供給する。これが、制御回路16で計算される供給先サブフィルタ情報である。
【0067】
入力サンプリングデータd(i)の供給先サブフィルタを、上記の条件に従って具体的に計算した結果を以下に示す。
(a)i=0、d(0)=x(0)が入力された場合
i=0とjとの交点のうち、j=(4/3)iとj=(4/3)i-(9-1)/3との領域にあるjは0のみ。この時、d(0)の供給先サブフィルタは、j=0からサブフィルタF[(j×N)%M]=サブフィルタF0となる。従って、d(0)はサブフィルタF0へ供給する。
(b)i=1、d(1)=x(4)が入力された場合
i=1とjとの交点のうち、j=(4/3)iとj=(4/3)i-(9-1)/3との領域にあるjは0、1の2つ。この時、d(1)の供給先サブフィルタは、j=0からサブフィルタF[(j×N)%M]=サブフィルタF0、及びj=1からサブフィルタF[(j×N)%M]=サブフィルタF3となる。従って、d(1)はサブフィルタF0とサブフィルタF3へ供給する。
(c)i=2、d(2)=x(8)が入力された場合
i=2とjとの交点のうち、j=(4/3)iとj=(4/3)i-(9-1)/3との領域にあるjは0、1、2の3つ。同様に、d(2)の供給先サブフィルタは、サブフィルタF[(j×N)%M]より計算されて、サブフィルタF0、サブフィルタF3、サブフィルタF2となる。
(d)i=3、d(3)=x(12)が入力された場合
i=3とjとの交点のうち、j=(4/3)iとj=(4/3)i-(9-1)/3との領域にあるjは2、3、4の3つ。同様に、d(3)の供給先サブフィルタは、サブフィルタF[(j×N)%M]より計算されて、サブフィルタF2、サブフィルタF1、サブフィルタF0となる。
以降の入力サンプリングデータd(i)についても、同様に供給先サブフィルタが計算される。d(i)に対する供給先サブフィルタは、
図8のレート変換チャートにおいて、●印で示される。
【0068】
また、j=0において計算されたサブフィルタF0の結果、j=1において計算されたサブフィルタF3の結果、j=2において計算されたサブフィルタF2の結果、j=3において計算されたサブフィルタF1の結果、j=4において計算されたサブフィルタF0の結果、・・・は、
図7に示すように、出力サンプリングデータz(0)、z(1)、z(2)、z(3)、z(4)・・・として、サンプリングレートC2でマルチプレクサ15から出力される。
【0069】
出力サンプリングデータz(j)を連続的に出力するために、入力サンプリングデータd(i)の入力タイミングと出力サンプリングデータz(j)の出力タイミングを適正に合わせる必要がある。出力サンプリングデータz(j)をサンプリングレートC2で出力する際に、d(i)の入力タイミングと整合していないと、出力サンプリングデータz(j)が生成されず、その生成を待つため周期が変動する場合が発生する。
【0070】
例えば、
図7では、出力サンプリングデータz(0)の出力タイミングは、d(2)の入力タイミングよりも遅らせる必要がある。d(2)が入力されないと、z(0)は計算し得ないからである。これは、入力サンプリングデータd(5)の入力タイミングと、出力サンプリングデータz(4)の出力タイミングについても同様である。
【0071】
これらのタイミングの整合が必要な入出力データは、
図8のレート変換チャートからも計算することができる。即ち、iとjの交点のうち、直線j=(M/N)×i-(L-1)/Nと重なる点において、入力サンプリングデータd(i)の入力タイミングと出力サンプリングデータz(j)の出力タイミングを合わせる(実際には出力タイミングを入力タイミングより遅くする)。
図8では、例えば、i=2、j=0の点と、i=5、j=4の点が該当する。この場合、
図7のように、d(2)の入力タイミングと、z(0)の出力タイミングを合せるように、d(5)の入力タイミングと、z(4)の出力タイミングを合せる必要がある。この点の入出力データのタイミングの整合化によって、出力サンプリングデータz(j)をサンプリングレートC2で周期の変動なしに連続的に出力することができる。
【0072】
[変換率M/N=3/2の場合の動作]
次に、変換率M/N=3/2(M=3,N=2)の場合の動作について説明する。但し、デジタルフィルタ14のタップの段数はL=9段である。
【0073】
“×M”回路19は、M=3に対して、入力サンプリングデータd(0)、d(1)・・・の間に”0”を2ずつ挿入し、フィルタ入力データx(0)、x(1)、x(2)、x(3)、x(4)・・・・を生成する。この時、x(0)、x(3)、x(6)・・・以外は0となる。従って、数2は以下となる。この時のデジタルフィルタ14の処理レートはC1である。
【0074】
[数6]
y(0)=h(-6)x(6)+h(-3)x(3)+h(0)x(0)
y(1)=h(-8)x(9)+h(-5)x(6)+h(-2)x(3)
y(2)=h(-7)x(9)+h(-4)x(6)+h(-1)x(3)
y(3)=h(-6)x(9)+h(-3)x(6)+h(0)x(3)
y(4)=h(-8)x(12)+h(-5)x(9)+h(-2)x(6)
y(5)=h(-7)x(12)+h(-4)x(9)+h(-1)x(6)
y(6)=h(-6)x(12)+h(-3)x(9)+h(0)x(6)
y(7)=h(-8)x(15)+h(-5)x(12)+h(-2)x(9)
y(8)=h(-7)x(15)+h(-4)x(12)+h(-1)x(9)
y(9)=h(-6)x(15)+h(-3)x(12)+h(0)x(9)
y(10)=h(-8)x(18)+h(-5)x(15)+h(-2)x(12)
y(11)=h(-7)x(18)+h(-4)x(15)+h(-1)x(12)
y(12)=h(-6)x(18)+h(-3)x(15)+h(0)x(12)
y(13)=h(-8)x(21)+h(-5)x(18)+h(-2)x(15)
y(14)=h(-7)x(21)+h(-4)x(18)+h(-1)x(15)
y(15)=h(-6)x(21)+h(-3)x(18)+h(0)x(15)
・・・
【0075】
ここで、数6によると、9段FIRフィルタのタップ係数h(-8)~h(0)のうち、
y(0)の結果を得るには、h(-6)、h(-3)、h(0)が使用される。
y(1)の結果を得るには、h(-8)、h(-5)、h(-2)が使用される。
y(2)の結果を得るには、h(-7)、h(-4)、h(-1)が使用される。
y(3)の結果を得るには、再びh(-6)、h(-3)、h(-0)が使用される。
y(4)の結果を得るには、再びh(-8)、h(-5)、h(-2)が使用される。
y(5)の結果を得るには、再びh(-7)、h(-4)、h(-1)が使用される。
【0076】
このように、9つのタップ係数h(-8)~h(0)のちM=3ずつ(2つおきに)選ばれて、以下の3つのサブフィルタが構成される。
サブフィルタF0={h(-6)、h(-3)、h(0)}
サブフィルタF1={h(-8)、h(-5)、h(-2)}
サブフィルタF2={h(-7)、h(-4)、h(-1)}
【0077】
サブフィルタF0~F2の計算が繰り返されてフィルタ出力データy(n)が順次生成される。即ち、9段のデジタルフィルタ14は、M=3の場合、ポリフェーズフィルタ化によって、3つのサブフィルタF0~F2に分けられる。これらのサブフィルタは、3段のタップで構成されている。ただし、
図5では、4つのサブフィルタF0~F3(ω=3)が示されている。これは、設計し得るサブフィルタの最大数(この場合は4つ)のサブフィルタF0~F3で構成しておけば、種々のMに対応可能となる。今回のように、デジタルフィルタ14が3つのサブフィルタF0~F2で構成される場合は、4つめのサブフィルタF3は使用しない。なお、この場合も、先に、3段のポリフェーズフィルタを先に構成し、これによって全体のFIRフィルタを構成することも可能である。
【0078】
具体的には、
図2に示す制御回路16において、与えられたMに対するサブフィルタF0~F2の構成が計算され、タップ係数情報としてサブフィルタF0~F2の構成に従うようにタップ係数が各サブフィルタF0~F2に設定される。上記のM=3の場合、サブフィルタF0には、タップ係数{h(-6)、h(-3)、h(0)}が設定さされる。サブフィルタF1には、タップ係数{h(-8)、h(-5)、h(-2)}が設定される。サブフィルタF2には、タップ係数{h(-7)、h(-4)、h(-1)}が設定される。サブフィルタF3には、何も設定しない。サブフィルタF3には、既にタップ係数{0、0、0}が設定されているものとする。なお、
図4に示す制御回路16の記憶回路18に変換率M/Nに対するタップ係数情報を予め記憶させ、変換率M/Nの設定に応じて所定のタップ係数をサブフィルタF0~F2に設定すれば、容易にポリフェーズフィルタを構成できる。この時、各サブフィルタF0~F2の処理レートはC1である。
【0079】
次に、“1/N”回路20は、N=2に対して、フィルタ出力データy(0)、y(1)、y(2)、・・・・をN=2ずつ間引く。その時、数6は以下のようになる。
【0080】
[数7]
y(0)=h(-6)x(6)+h(-3)x(3)+h(0)x(0)
y(2)=h(-7)x(9)+h(-4)x(6)+h(-1)x(3)
y(4)=h(-8)x(12)+h(-5)x(9)+h(-2)x(6)
y(6)=h(-6)x(12)+h(-3)x(9)+h(0)x(6)
y(8)=h(-7)x(15)+h(-4)x(12)+h(-1)x(9)
y(10)=h(-8)x(18)+h(-5)x(15)+h(-2)x(12)
y(12)=h(-6)x(18)+h(-3)x(15)+h(0)x(12)
y(14)=h(-7)x(21)+h(-4)x(18)+h(-1)x(15)
・・・
【0081】
数7によると、“1/N”回路20において、9段FIRフィルタのタップ係数h(―8)~h(0)のうち、
y(0)の結果を得るには、h(-6)、h(-3)、h(0)(=サブフィルタF0)が使用される。
y(2)の結果を得るには、h(-7)、h(-4)、h(-1)(=サブフィルタF2)が使用される。
y(4)の結果を得るには、h(-8)、h(-5)、h(-2)(=サブフィルタF1)が使用される。
y(6)の結果を得るには、再びh(-6)、h(-3)、h(0)(=サブフィルタF0)が使用される。
y(8)の結果を得るには、再び、h(-7)、h(-4)、h(-1)(=サブフィルタF2)が使用される。
y(10)の結果を得るには、再びh(-8)、h(-5)、h(-2)(=サブフィルタF1)が使用される。
【0082】
このように、“1/N”回路20では、サブフィルタF0、F2、F1の順に計算が繰り返されて、フィルタ出力データがy(0)、y(2)、y(4)、y(6)・・・・の順に出力される。
【0083】
なお、入力サンプリングデータd(i)と、デジタルフィルタ14へのフィルタ入力データx(n)との関係は、
d(0)=x(0)
d(1)=x(3)
d(2)=x(6)
d(3)=x(9)
・・・
であり、デジタルフィルタ14のフィルタ出力データy(n)と出力サンプリングデータz(j)との関係は、
z(0)=y(0)
z(1)=y(2)
z(2)=y(4)
z(3)=y(6)
・・・・
であるので、数7を、入力サンプリングデータd(i)と出力サンプリングデータz(j)で置き換えると、以下の式となる。
【0084】
[数8]
z(0)=h(-6)d(2)+h(-3)d(1)+h(0)d(0)
z(1)=h(-7)d(3)+h(-4)d(2)+h(-1)d(1)
z(2)=h(-8)d(4)+h(-5)d(3)+h(-2)d(2)
z(3)=h(-6)d(4)+h(-3)d(3)+h(0)d(2)
z(4)=h(-7)d(5)+h(-4)d(4)+h(-1)d(3)
z(5)=h(-8)d(6)+h(-5)d(5)+h(-2)d(4)
・・・・
【0085】
図9は、M/N=3/2の場合のサンプリングレート変換の動作を説明するための図である。数8を、入力サンプリングデータd(i)に対して描くと
図9になる。
図9において、入力サンプリングデータd(i)を示す直線が横方向に描かれ、そのうち各サブフィルタF0~F2に供給するデータの範囲を縦長の長方形で示し、それらがサブフィルタF0~F2のどれに供給されるかを長方形から伸びている矢印で示している。また、サブフィルタF0~F2の出力は、右向きの矢印で出力サンプリングデータz(j)になることが示されている。
図9は、入力サンプリングデータd(i)が順次的に経路選択回路に入力され、出力サンプリングデータz(j)が順次的にマルチプレクサから出力される様子を示している。経路選択回路の中の構成は、実際の構成ではなく処理の動作イメージを示している。
【0086】
図9によると、
入力サンプリングデータd(0)、d(1)、d(2)は、サブフィルタF0に入力され、出力サンプリングデータz(0)となって出力される。
入力サンプリングデータd(1)、d(2)、d(3)は、サブフィルタF2に入力され、出力サンプリングデータz(1)となって出力される。
入力サンプリングデータd(2)、d(3)、d(4)は、サブフィルタF1に入力され、出力サンプリングデータz(2)となって出力される。
入力サンプリングデータd(2)、d(3)、d(4)は、再びサブフィルタF0に入力され、出力サンプリングデータz(3)となって出力される。
入力サンプリングデータd(3)、d(4)、d(5)は、再びサブフィルタF2に入力され、出力サンプリングデータz(4)となって出力される。
【0087】
マルチプレクサからは、サブフィルタF0、サブフィルタF2、サブフィルタF1、サブフィルタF0・・・の出力が順次的に選択されて、出力サンプリングデータz(0)、z(1)、z(2)、z(3)・・・として順次的に出力される。
このように、サブフィルタF0~F2は、繰り返して使用することができる。また、このサブフィルタF0~F2が繰り返される順番は、サブフィルタF[(j×N)%M](但し、%は、(j×N)をMで割った余り)として、計算できる。
【0088】
この時、入力サンプリングデータd(i)の入力順に見ると、
入力サンプリングデータd(0)は、サブフィルタF0に入力される。
入力サンプリングデータd(1)は、サブフィルタF0、F2に入力される。
入力サンプリングデータd(2)は、サブフィルタF0、F2、F1、F0に入力される。
入力サンプリングデータd(3)は、サブフィルタF2、F1、F0、F2に入力される。
入力サンプリングデータd(4)は、サブフィルタF1、F0、F2、F1、F0に入力される。
入力サンプリングデータd(i)と、供給先サブフィルタの関係は、以下の表2のように表せる。
【0089】
【0090】
上記のように、変換率M/N及びフィルタの段数Lが決まると、入力サンプリングデータd(i)をどのサブフィルタF0~F2に入力すべきかが一意的に決定される。また、表2によると、d(5)からは、d(3)~d(4)に対する供給先サブフィルタが繰り返される。従って、この繰り返しの状況を制御回路16内の記憶回路18に記録させておけば、値iの入力に応じて、供給先のサブフィルタを供給先サブフィルタ情報として容易に指定することが可能である。サンプリングレート変換器12の経路選択回路13は、制御回路16からの供給先サブフィルタ情報によって、入力されたサンプリングデータd(i)を指定のサブフィルタF0~F2に供給する。
【0091】
図10は、M/N=3/2の場合の入力サンプリングデータと出力サンプリングデータのタイミング関係を示した図である。図の上方は、入力サンプリングデータd(i)の入力タイミングを示しており、下方は、出力サンプリングデータz(j)の出力タイミングを示している。横方向の細かな目盛りは、基本クロックのイメージを示している。入力サンプリングデータd(i)は、3クロック毎に入力されており、出力サンプリングデータz(j)は、2クロック毎に出力している。これによって、出力のサンプリングレートC2は、入力のサンプリングレートC1に対して、3/2倍(周期は2/3倍)に変換されていることが分かる。
【0092】
図10によると、入力サンプリングデータd(0)、d(1)、d(2)が、サブフィルタF0に供給され、出力サンプリングデータz(0)として出力されている。入力サンプリングデータd(1)、d(2)、d(3)が、サブフィルタF2に供給され、出力サンプリングデータz(1)として出力されている。入力サンプリングデータd(2)、d(3)、d(4)が、サブフィルタF1に供給され、出力サンプリングデータz(2)として出力されている。入力サンプリングデータd(2)、d(3)、d(4)が、サブフィルタF0に供給され、出力サンプリングデータz(3)として出力されている。出力サンプリングデータz(0)、z(1)、z(2)、z(3)、z(4)・・・はサンプリングレートC2で出力される。これはマルチプレクサ15の動作である。
【0093】
なお、出力サンプリングデータz(2)が出力される場合は、サブフィルタF1に全てのデータ(ここでは、d((2)、d(3)、d(4))が供給される必要があるため、入力サンプリングデータd(4)の供給が行われてから出力サンプリングデータz(2)が出力される。
また、入力サンプリングデータをパラレル的に入力したり、出力サンプリングデータをパラレル的に出力したりすることも可能である。この場合、入力サンプリングデータをパラレル入力の数ずつ入力し、出力サンプリングデータをパラレル出力の数ずつ出力する。但し、パラレルで入力した時の入力サンプリングデータと、パラレルで出力した時の出力サンプリングデータとのタイミングの関係は、上述した関係と同じである。
【0094】
図11は、M/N=3/2の場合のサンプリングレート変換の動作を視覚的に示した図である。以後、
図11を「レート変換チャート」と称する。
図8と同様に、横軸は、入力サンプリングデータd(i)の順番を示す変数「i」である。iに対応する入力サンプリングデータd(i)がサンプリングレート変換器12に入力される。参考のため、入力サンプリングデータd(i)に“0”が2ずつ挿入されたフィルタ入力データx(n)を変数iのレートをM=3倍にした変数sを用いてx(s)として記載している。フィルタ入力データx(s)は、デジタルフィルタ14に入力するデータである。ここで、s=M×iである。縦軸は、出力サンプリングデータz(j)の順番を示す変数「j」である。jに対応する出力サンプリングデータz(j)が変換器から出力される。参考のため、各サブフィルタF0~F2から出力されるフィルタ出力データy(n)についても、横軸の変数sと同じタイミングの変数tを用いてy(t)として記載している。フィルタ出力データy(t)は、2タイミング毎に出力サンプリングデータz(j)として出力される。ここで、t=N×jである。
【0095】
また、図中には、サブフィルタF0~F2及び各サブフィルタF0~F2のタップ係数が●印で示されている。各サブフィルタF0~F2において、●印のタップに、入力サンプリングデータd(i)が入力され、そのサブフィルタF0~F2の出力が、出力サンプリングデータz(j)として出力される。
【0096】
図11のレート変換チャートでは、例えば、入力サンプリングデータd(0)、d(1)、d(2)が、サブフィルタF0に供給されると、その出力は出力サンプリングデータz(0)となって出力されることが容易に理解できる。同様に、入力サンプリングデータd(1)、d(2)、d(3)がサブフィルタF2に供給されると、その出力は出力サンプリングデータz(1)となって出力される。入力サンプリングデータd(2)、d(3)、d(4)がサブフィルタF1に供給されると、その出力は出力サンプリングデータz(2)となって出力される。入力サンプリングデータd(2)、d(3)、d(4)がサブフィルタF0に供給されると、その出力は出力サンプリングデータz(3)となって出力される。入力サンプリングデータd(3)、d(4)、d(5)がサブフィルタF2に供給されると、その出力は出力サンプリングデータz(4)となって出力される。
【0097】
ここで、このレート変換チャートを参照すると、入力サンプリングデータd(i)の供給先サブフィルタは、以下に示すような条件によって容易に算出できることが分かる。入力サンプリングデータd(i)は、
図11における●印で示される点に基づいて、サブフィルタF0~F2に供給される。この●印は、入力されるタイミングi=0,1,2・・・(s=0,3,6,9・・・)における縦方向の直線と、出力されるタイミングj=0,1,2・・・(t=0,2,4,6・・・)における横方向の直線との交点のうち、直線t=sと直線t=s-(L-1)との間の領域(但し、tは0以上)にある交点で示される。この交点における入力サンプリングデータd(i)が、その交点によって定まるサブフィルタに供給される。詳細には、その交点がiとjで示される場合、「jで決まるサブフィルタ」にd(i)が供給される。jは、出力サンプリングデータz(j)の出力順を示し、「jで決まるサブフィルタ」は、前述したように、サブフィルタF[(j×N)%M](但し、%は、(j×N)をMで割った余り)として計算できる。
【0098】
ここで、直線t=sと直線t=s-(L-1)との間の領域(但し、tは0以上)にある交点は、s=M×i、t=N×jなので、以下のように言い換えられる。即ち、iとjとの交点のうち、直線j=(M/N)×iと直線j=(M/N)×i-(L-1)/Nとの間の領域(但し、jは0以上)にある交点のiとjについて、d(i)のデータを、サブフィルタF[(j×N)%M](但し、%は、(j×N)をMで割った余り)へ供給する。これが、制御回路16で計算される供給先サブフィルタ情報である。
【0099】
入力サンプリングデータd(i)の供給先サブフィルタを、上記の条件に従って具体的に計算した結果を以下に示す。
(a)i=0、d(0)=x(0)が入力された場合
i=0とjとの交点のうち、j=(3/2)iとj=(3/2)i-(9-1)/2との領域にある、jは、0のみ。この時、d(0)の供給先サブフィルタは、j=0から、サブフィルタF[(j×N)%M]=サブフィルタF0となる。従って、d(0)は、サブフィルタF0へ供給する。
(b)i=1、d(1)=x(3)が入力された場合
i=1とjとの交点のうち、j=(3/2)iとj=(3/2)i-(9-1)/2との領域にある、jは、0、1の2つ。この時、d(1)の供給先サブフィルタは、j=0から、サブフィルタF[(j×N)%M]=サブフィルタF0、及びj=1から、サブフィルタF[(j×N)%M]=サブフィルタF2となる。従って、d(1)は、サブフィルタF0とサブフィルタF2へ供給する。
(c)i=2、d(2)=x(6)が入力された場合
i=2とjとの交点のうち、j=(3/2)iとj=(3/2)i-(9-1)/2との領域にある、jは、0、1、2、3の4つ。同様に、d(2)の供給先サブフィルタは、サブフィルタF[(j×N)%M]より計算されて、サブフィルタF0、サブフィルタF2、サブフィルタF1、及びサブフィルタF0となる。
(d)i=3、d(3)=x(9)が入力された場合
i=3とjとの交点のうち、j=(3/2)iとj=(3/2)i-(9-1)/2との領域にある、jは、1,2、3、4の4つ。同様に、d(3)の供給先サブフィルタは、サブフィルタF[(j×N)%M]より計算されて、サブフィルタF2、サブフィルタF1、サブフィルタF0、サブフィルタF2となる。
以降の入力サンプリングデータd(i)についても、同様に供給先サブフィルタが計算される。d(i)に対する供給先サブフィルタは、
図11のレート変換チャートにおいて、●印で示される。
【0100】
また、j=0において計算されたサブフィルタF0の結果、j=1において計算されたサブフィルタF2の結果、j=2において計算されたサブフィルタF1の結果、j=3において計算されたサブフィルタF0の結果、j=4において計算されたサブフィルタF2の結果、j=5において計算されたサブフィルタF1の結果、・・・は、
図10に示すように、出力サンプリングデータz(0)、z(1)、z(2)、z(3)、z(4)、z(5)・・・として、サンプリングレートC2でマルチプレクサ15から出力される。
【0101】
出力サンプリングデータz(j)を連続的に出力するために、入力サンプリングデータd(i)の入力タイミングと出力サンプリングデータz(j)の出力タイミングを適正に合わせる必要がある。出力サンプリングデータz(j)をサンプリングレートC2で出力する際に、d(i)の入力タイミングと整合していないと、出力サンプリングデータz(j)が生成されず、その生成を待つため周期が変動する場合が発生する。
【0102】
例えば、
図10では、出力サンプリングデータz(2)の出力タイミングは、d(4)の入力タイミングよりも遅らせる必要がある。d(4)が入力されないと、z(2)は計算し得ないからである。これは、入力サンプリングデータd(6)の入力タイミングと、出力サンプリングデータz(5)の出力タイミングについても同様である。
【0103】
これらのタイミングの整合が必要な入出力データは、
図11のレート変換チャートからも計算することができる。即ち、iとjの交点のうち、直線j=(M/N)×i-(L-1)/Nと重なる点において、入力サンプリングデータd(i)の入力タイミングと出力サンプリングデータz(j)の出力タイミングを合わせる(実際には出力タイミングを入力タイミングより遅くする)。
図11では、例えば、i=4、j=2の点と、i=6、j=5の点が該当する。この場合、
図10のように、d(4)の入力タイミングとz(2)の出力タイミングを合せ、d(6)の入力タイミングとz(5)の出力タイミングを合せる必要がある。この点の入出力データのタイミングの整合化によって、出力サンプリングデータz(j)をサンプリングレートC2で周期の変動なしに連続的に出力することができる。
【0104】
[サンプリングレート変換器の共通的構成方法]
上述したM/N=4/3の場合の動作、及びM/N=3/2の場合の動作から、本実施の形態に係るサンプリングレート変換器の構成及び動作を以下のようにまとめることができる。
【0105】
(1)前提条件
サンプリングレート変換器12は、変換率としてM/N(M及びNは1以上の整数)が設定された場合に、入力サンプリングレートC1でサンプルされた入力サンプリングデータd(i)(i=0,1,2・・・)を、入力サンプリングレートのM/N倍の出力サンプリングレートC2でサンプルされた出力サンプリングデータz(j)(j=0,1,2・・・)に変換する。iは入力データの順番を示す。jは出力データの順番を示す。入力サンプリングレートC1と出力サンプリングレートC2の関係はC2=C1×M/Nとなる。
【0106】
デジタルフィルタ14をFIRフィルタで構成する。ポリフェーズ化する前のFIRフィルタのタップの段数をL段とする。タップ係数を{h(-L-1))、h(-(L-2))、・・・h(-1)、h(0)}で表す。ここで、h(0)を0段目又は先頭段のタップ係数、h(-1)を1段目のタップ係数、h(-(L-1))をL-1段目又は最終段のタップ係数と称する。例えば、L=9段の場合、タップ係数は、{h(-8)・・・h(0)}となる。
【0107】
(2)サブフィルタF0~Fωの構築
デジタルフィルタ14は、変換率に応じてタップ係数がそれぞれ設定された複数のサブフィルタF0~Fωが並列に並べられて構成されている。複数のサブフィルタF0~Fωは、サブフィルタF0、サブフィルタF1、サブフィルタF2、・・・、サブフィルタFn(nは3以上の整数)、・・・、サブフィルタF(M-1)を有する。
【0108】
サブフィルタF0に、タップ係数の0段目、M段目、2M段目、3M段目・・・が順にL段以内で設定される。
サブフィルタF1に、タップ係数のM-1段目、2M-1段目、3M-1段目・・・が順にL段以内で設定される。
サブフィルタF2に、タップ係数のM-2段目、2M-2段目、3M-2段目・・・が順にL段以内で設定される。
・・・
サブフィルタFnに、タップ係数のM-n段目、2M-n段目、3M-n段目・・・が順にL段以内で設定される。
・・・
サブフィルタF(M-1)に、タップ係数の1段目、2M-(M-1)段目、3M-(M-1)段目・・・が順にL段以内で設定される。
【0109】
例えば、M=4の場合、サブフィルタはF0~F(M-1)=F0~F3となる。デジタルフィルタ14が9段のFIRフィルタである場合、サブフィルタF0~F3のタップ係数は、以下のように計算できる。
サブフィルタF0にタップ係数の0段目のh(0)、4段目のh(-4)、8段目のh(-8)が設定される。
サブフィルタF1にタップ係数の3段目のh(-3)、7段目のh(-7)が設定される。
サブフィルタF2にタップ係数の2段目のh(-2)、6段目のh(-6)が設定される。
サブフィルタF3にタップ係数の1段目のh(-1)、5段目のh(-5)が設定される。
【0110】
(3)経路選択回路13による供給先サブフィルタの決定方法
経路選択回路13は、入力サンプリングレートで入力された入力サンプリングデータd(i)の各々を変換率M/Nに応じてデジタルフィルタ14の少なくとも1つのサブフィルタF0~Fωに供給する。具体的には、経路選択回路13は、入力された入力サンプリングデータd(i)の値iに対して、(M/N)×i以下、(M/N)-(L-1)/N以上かつ0以上の範囲に含まれる全てのjの値を抽出する。抽出したjの値に対して(j×N)をMで割った余りを計算する。その計算した余りを「(j×N)%M」と記載する。このようにjの値によって特定された(j×N)%M番目のサブフィルタを、入力サンプリングデータd(i)を供給する供給先サブフィルタとする。
【0111】
(4)マルチプレクサ15による出力サンプリングデータz(j)の出力方法
(3)の動作によりサブフィルタF0~Fωに入力サンプリングデータが供給された後、各サブフィルタF0~Fωの計算結果が出力サンプリングデータz(j)としてマルチプレクサ15に一時的に格納される。次に、マルチプレクサ15は、複数のサブフィルタF0~Fωの出力を変換率M/Nに応じて決められた順序で出力サンプリングレートで出力する。具体的には、マルチプレクサ15は、入力サンプリングデータd(i)の入力タイミングに対してj=(M/N)×i-(L-1)/Nのタイミングに合わせて出力サンプリングデータz(j)を出力サンプリングレートC2で出力する。
【0112】
[サンプリングレート変換器12の制御回路16の動作]
(1)サブフィルタF0~Fωへのタップ係数情報の設定
上記の「(2)サブフィルタF0~Fωの構築」に従って、制御回路16は、供給された変換率M/Nに応じてタップ係数を複数のサブフィルタF0~Fωにそれぞれ設定する。これにより、デジタルフィルタ14において、変換率M/Nに応じたサブフィルタF0~Fωが構築される。なお、サブフィルタF0~Fω自身が変換率M/Nに応じてタップ係数を設定する機能を有してもよい。
【0113】
(2)経路選択回路13への供給先サブフィルタ情報の設定
上記の「経路選択回路13による供給先サブフィルタの決定方法」に従って、制御回路16は、入力された入力サンプリングデータd(i)の各々を供給するサブフィルタF0~Fωを変換率M/Nに応じて経路選択回路13に設定する。なお、経路選択回路13自身が入力サンプリングデータd(i)を供給するサブフィルタF0~Fωを変換率M/Nに応じて設定する機能を有してもよい。
【0114】
(3)マルチプレクサ15への出力タイミング情報の設定
上記の「マルチプレクサ15における出力サンプリングデータz(j)の出力方法」に従って、制御回路16は、サブフィルタF0~Fωの結果を出力サンプリングデータz(j)として出力するタイミングをマルチプレクサ15に変換率M/Nに応じて設定する。なお、マルチプレクサ15自身がサブフィルタF0~Fωの結果を出力するタイミングを変換率M/Nに応じて設定する機能を有してもよい。
【0115】
制御回路16は、計算回路17を使って、変換率M/Nが供給された時点で計算を行いその結果に応じて上記の各情報を設定することができる。また、想定される変換率M/Nに対する計算を予め行い、その結果をメモリ等の記憶回路18に記憶させ、変換率M/Nの供給に応じて記憶した結果の情報を設定することでもよい。前者の計算による場合は、メモリが不要な点、及び想定外の変換率M/Nにも対応できる。また、後者のメモリを使用する場合は、計算による遅延が殆ど無いこと、回路構成を簡易に且つ小規模にできる効果がある。
【0116】
また、サブフィルタF0~Fωの係数は各サブフィルタF0~Fωが値を直接保有する必要はない。例えば、制御回路16内で値を保有し、それを配線を介してサブフィルタF0~Fωに提供することでもきる。これにより、メモリを共有化することができ、回路規模を小規模に抑えることができる。その場合においても、サブフィルタF0~Fωのルール性から、所望の変換率を既約分数化したM’/N’の変換率に対して、M’通りの係数を保有するだけで、所望の変換率に対するフィルタ係数を設定することができる。
【0117】
以上のように、本実施の形態に係るサンプリングレート変換器12では、デジタルフィルタ14は、変換率M/Nに応じてタップ係数がそれぞれ設定された複数のサブフィルタF0~Fωが並列に並べられて構成されている。経路選択回路13は、入力サンプリングレートで入力された入力サンプリングデータの各々を変換率M/Nに応じてデジタルフィルタ14の少なくとも1つのサブフィルタF0~Fωに供給する。マルチプレクサ15は、複数のサブフィルタF0~Fωの出力を出力サンプリングデータとして変換率M/Nに応じて決められた順序で出力サンプリングレートで出力する。これにより、任意の変換率M/Nで容易にサンプリングレート変換を行うことができる。従って、複数のサンプリングレート変換を簡単な構成で実装できる。
【0118】
なお、上記の説明では、M>Nとなるアップサンプリングの場合に説明した。しかし、本開示は、アップサンプリングに限定されず、M<Nとなるダウンサンプリングにおいても適用可能であり、本開示の技術的思想の範囲内であることは言うまでもない。
【符号の説明】
【0119】
2 送信光モジュール、6 送信デジタル信号処理回路、7 送信側サンプリングレート変換器、8 D/A変換器、9 A/D変換器、11 受信デジタル信号処理回路、12 受信側サンプリングレート変換器、13 経路選択回路、14 デジタルフィルタ、15 マルチプレクサ、16 制御回路、17 計算回路、18 記憶回路、F0~Fω サブフィルタ
【手続補正書】
【提出日】2023-04-11
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
変換率としてM/N(M及びNは1以上の整数)が設定された場合に、入力サンプリングレートでサンプルされた入力サンプリングデータd(i)(i=0,1,2・・・)を、前記入力サンプリングレートのM/N倍の出力サンプリングレートでサンプルされた出力サンプリングデータz(j)(j=0,1,2・・・)に変換するサンプリングレート変換器であって、
前記変換率に応じてタップ係数がそれぞれ設定された複数のサブフィルタが並列に並べられて構成されたデジタルフィルタと、
前記入力サンプリングレートで入力された前記入力サンプリングデータの各々を前記変換率に応じて前記デジタルフィルタの少なくとも1つの前記サブフィルタに供給する経路選択回路と、
前記複数のサブフィルタの出力を前記出力サンプリングデータとして前記変換率に応じて決められた順序で前記出力サンプリングレートで出力するマルチプレクサとを備えることを特徴とするサンプリングレート変換器。
【請求項2】
計算回路及び記憶回路のうち少なくとも1つを使って、入力された前記入力サンプリングデータの各々を供給する前記サブフィルタを前記変換率に応じて前記経路選択回路に設定し、前記変換率に応じて前記タップ係数を前記複数のサブフィルタにそれぞれ設定し、前記サブフィルタの結果を出力するタイミングを前記マルチプレクサに前記変換率に応じて設定する制御回路を更に備えることを特徴とする請求項1に記載のサンプリングレート変換器。
【請求項3】
前記デジタルフィルタに含まれる複数のサブフィルタのタップを合計して少なくともL段のタップを有し、
前記複数のサブフィルタは、サブフィルタF0、サブフィルタF1、サブフィルタF2、・・・、サブフィルタFn(nは3以上の整数)、・・・、サブフィルタF(M-1)を有し、
前記サブフィルタF0に、前記デジタルフィルタのタップ係数のうち0段目、M段目、2M段目、3M段目・・・のタップ係数が順にL段以内で設定され、
前記サブフィルタF1に、前記デジタルフィルタのタップ係数のうちM-1段目、2M-1段目、3M-1段目・・・のタップ係数が順にL段以内で設定され、
前記サブフィルタF2に、前記デジタルフィルタのタップ係数のうちM-2段目、2M-2段目、3M-2段目・・・のタップ係数が順にL段以内で設定され、
・・・
前記サブフィルタFnに、前記デジタルフィルタのタップ係数のうちM-n段目、2M-n段目、3M-n段目・・・のタップ係数が順にL段以内で設定され、
・・・
前記サブフィルタF(M-1)に、前記デジタルフィルタのタップ係数のうち1段目、2M-(M-1)段目、3M-(M-1)段目・・・のタップ係数が順にL段以内で設定されることを特徴とする請求項1又は2に記載のサンプリングレート変換器。
【請求項4】
前記経路選択回路は、入力された前記入力サンプリングデータd(i)の値iに対して、(M/N)×i以下、(M/N)-(L-1)/N以上かつ0以上の範囲に含まれる全てのjの値を抽出し、抽出したjの値に対して(j×N)をMで割った余りを計算し、その計算した余りを(j×N)%Mとして、(j×N)%M番目のサブフィルタに、前記入力サンプリングデータd(i)を供給し、
前記マルチプレクサは、前記入力サンプリングデータd(i)の入力タイミングに合わせて前記出力サンプリングデータz((M/N)×i-(L-1)/N)を前記出力サンプリングレートで出力することを特徴とする請求項3に記載のサンプリングレート変換器。
【請求項5】
(j×N)をMで割った余りを(j×N)%Mとして、前記jの値によって特定された前記サブフィルタは(j×N)%M番目のサブフィルタであることを特徴とする請求項4に記載のサンプリングレート変換器。
【請求項6】
送信信号を処理する送信デジタル信号処理回路と、
前記送信デジタル信号処理回路の出力信号のサンプリングレートを変換する送信側サンプリングレート変換器と、
前記送信側サンプリングレート変換器の出力信号をアナログ電気信号に変換するD/A変換器と、
前記D/A変換器の出力信号を光信号に変換して送信する送信光モジュールと、
前記光信号を受信してアナログ電気信号に変換する受信光モジュールと、
前記アナログ電気信号をデジタル電気信号に変換するA/D変換器と、
前記A/D変換器の出力信号のサンプリングレートを変換する受信側サンプリングレート変換器と、
前記受信側サンプリングレート変換器の出力信号を処理する受信デジタル信号処理回路とを備え、
前記送信側サンプリングレート変換器又は前記受信側サンプリングレート変換器は請求項1~5の何れか1項に記載のサンプリングレート変換器であることを特徴とする通信システム。
【請求項7】
変換率としてM/N(M及びNは1以上の整数)が設定された場合に、入力サンプリングレートでサンプルされた入力サンプリングデータd(i)(i=0,1,2・・・)を、前記入力サンプリングレートのM/N倍の出力サンプリングレートでサンプルされた出力サンプリングデータz(j)(j=0,1,2・・・)に変換するサンプリングレート変換方法であって、
前記変換率に応じてタップ係数がそれぞれ設定された複数のサブフィルタが並列に並べられて構成されたデジタルフィルタの少なくとも1つの前記サブフィルタに、前記入力サンプリングレートで入力された前記入力サンプリングデータの各々を前記変換率に応じて経路選択回路により供給する工程と、
前記複数のサブフィルタの出力を前記出力サンプリングデータとして前記変換率に応じて決められた順序で前記出力サンプリングレートでマルチプレクサにより出力する工程とを備えることを特徴とするサンプリングレート変換方法。