(57)【要約】【課題】補間に必要なフィルタ係数を記憶するメモリ容量を削減し、従来よりも回路規模の小さい実装でサンプリングレート変換を実現するサンプリングレート変換装置および方法を提供すること。【解決手段】入力および出力サンプリングレートタイミングを生成するサンプリングタイミング生成部１と、フィルタ係数を記憶するフィルタ係数記憶メモリ３−１と、フィルタ係数の差分値を記憶するフィルタ係数記憶メモリ３−２，３−３と、フィルタ係数記憶メモリ３−１〜３−３に対して、位相カウンタ値に対応するリードアドレスからのデータの読み出し制御を行うフィルタ係数制御部６と、フィルタ係数記憶メモリ３−１〜３−３から読み出されたデータを加算してフィルタ係数を生成する累積加算部７と、入力デジタル信号と累積加算部７からのフィルタ係数との畳み込みを行うトランスバーサルフィルタ部２と、を備えるサンプリングレート変換装置を提供する。【選択図】図１
2012147133.tif 000002
【特許請求の範囲】
【請求項１】
入力されるデジタル信号の入力サンプリングレートタイミングとサンプリングレート変換後の出力サンプリングレートタイミングを生成するサンプリングタイミング生成部と、  所定の時間間隔で離散化されたフィルタ係数の系列を予め記憶するフィルタ係数記憶部と、
このフィルタ係数記憶部に記憶されたフィルタ係数と前記所定の時間間隔よりも短い時間間隔で離散化されたフィルタ係数との少なくとも１階以上の差分値の系列を予め記憶するフィルタ係数差分記憶部と、
前記フィルタ係数記憶部および前記フィルタ係数差分記憶部に対して、前記入力サンプリングレートタイミングで初期化されかつ前記出力サンプリングレートタイミングで更新される位相カウンタ値に対応するリードアドレスからのデータの読み出し制御を行うフィルタ係数制御部と、
前記所定の時間間隔よりも短い時間間隔での信号補間が必要な場合において、前記フィルタ係数制御部の読み出し制御のもと前記フィルタ係数記憶部および前記フィルタ係数差分記憶部からそれぞれ読み出されたデータを加算することにより１組のフィルタ係数を生成する累積加算部と、
前記入力サンプリングレートタイミングで一サンプルずつ入力されシフトレジスタにて保持された１組のサンプルからなる前記デジタル信号と前記累積加算部から出力される１組のフィルタ係数との積和演算を行い、前記出力サンプリングレートタイミングで当該積和演算結果を出力することにより、サンプリングレート変換後のデジタル信号を出力するトランスバーサルフィルタ部と、
を備えることを特徴とするサンプリングレート変換装置。
【請求項２】
前記フィルタ係数差分記憶部は、前記差分値をその差分の階数毎に記憶し、
前記フィルタ係数制御部は、前記信号補間で要求される時間分解能に応じて、前記フィルタ係数記憶部から１組のフィルタ係数を読み出すとともに、前記フィルタ係数差分記憶部から前記階数毎に１組の前記差分値を読み出し、
前記累積加算部は、前記フィルタ係数記憶部から読み出された１組のフィルタ係数と前記フィルタ係数差分記憶部から前記階数毎にそれぞれ読み出された１組の前記差分値とを累積加算することにより、前記１組のフィルタ係数を生成することを特徴とする請求項１に記載のサンプリングレート変換装置。
【請求項３】
入力されるデジタル信号の入力サンプリングレートタイミングとサンプリングレート変換後の出力サンプリングレートタイミングを生成するサンプリングタイミング生成部と、  所定の時間間隔で離散化されたフィルタ係数の系列を予め記憶するフィルタ係数記憶部と、
このフィルタ係数記憶部に記憶されたフィルタ係数と前記所定の時間間隔よりも短い時間間隔で離散化されたフィルタ係数との少なくとも１階以上の差分値の系列を予め記憶するフィルタ係数差分記憶部と、
前記フィルタ係数記憶部および前記フィルタ係数差分記憶部に対して、前記入力サンプリングレートタイミングで初期化されかつ前記出力サンプリングレートタイミングで更新される位相カウンタ値に対応するリードアドレスからのデータの読み出し制御を行うフィルタ係数制御部と、
前記フィルタ係数差分記憶部に格納されている最も高階の差分値で表される時間分解能よりも高い時間分解能の信号補間が必要な場合には、当該最も高階の差分値を用いて補間をすることにより、当該最も高階の差分値よりも高階の差分値を生成する係数補間部と、
前記フィルタ係数制御部の読み出し制御のもと前記フィルタ係数記憶部および前記フィルタ係数差分記憶部からそれぞれ読み出されたデータと前記係数補間部により生成された前記差分値とを加算することにより１組のフィルタ係数を生成する累積加算部と、
前記入力サンプリングレートタイミングで一サンプルずつ入力されシフトレジスタにて保持された１組のサンプルからなる前記デジタル信号と前記累積加算部から出力される１組のフィルタ係数との積和演算を行い、前記出力サンプリングレートタイミングで当該積和演算結果を出力することにより、サンプリングレート変換後のデジタル信号を出力するトランスバーサルフィルタ部と、
を備えることを特徴とするサンプリングレート変換装置。
【請求項４】
前記フィルタ係数差分記憶部は、前記差分値をその差分の階数毎に記憶し、
前記フィルタ係数制御部は、前記信号補間で要求される時間分解能に応じて、前記フィルタ係数記憶部から１組のフィルタ係数を読み出すとともに、前記フィルタ係数差分記憶部から前記階数毎に１組の前記差分値を読み出し、
前記累積加算部は、前記フィルタ係数記憶部から読み出された１組のフィルタ係数と前記フィルタ係数差分記憶部から前記階数毎にそれぞれ読み出された１組の前記差分値と前記係数補間部により生成された１組の前記差分値とを累積加算することにより、前記１組のフィルタ係数を生成することを特徴とする請求項３に記載のサンプリングレート変換装置。
【請求項５】
入力されるデジタル信号の入力サンプリングレートタイミングとサンプリングレート変換後の出力サンプリングレートタイミングを生成するサンプリングタイミング生成ステップと、
所定の時間間隔で離散化されたフィルタ係数の系列を予め記憶するフィルタ係数記憶部、およびこのフィルタ係数記憶部に記憶されたフィルタ係数と前記所定の時間間隔よりも短い時間間隔で離散化されたフィルタ係数との少なくとも１階以上の差分値の系列を予め記憶するフィルタ係数差分記憶部に対して、前記入力サンプリングレートタイミングで初期化されかつ前記出力サンプリングレートタイミングで更新される位相カウンタ値に対応するリードアドレスからのデータの読み出しを行うデータ読出ステップと、
前記所定の時間間隔よりも短い時間間隔での信号補間が必要な場合において、前記フィルタ係数記憶部および前記フィルタ係数差分記憶部からそれぞれ読み出されたデータを加算することにより１組のフィルタ係数を生成する累積加算ステップと、
前記入力サンプリングレートタイミングで一サンプルずつ入力された１組のサンプルからなる前記デジタル信号と前記累積加算ステップにて得られた１組のフィルタ係数との積和演算を行い、前記出力サンプリングレートタイミングで当該積和演算結果を出力することにより、サンプリングレート変換後のデジタル信号を出力する積和演算ステップと、
を含むことを特徴とするサンプリングレート変換方法。
【請求項６】
入力されるデジタル信号の入力サンプリングレートタイミングとサンプリングレート変換後の出力サンプリングレートタイミングを生成するサンプリングタイミング生成ステップと、
所定の時間間隔で離散化されたフィルタ係数の系列を予め記憶するフィルタ係数記憶部、およびこのフィルタ係数記憶部に記憶されたフィルタ係数と前記所定の時間間隔よりも短い時間間隔で離散化されたフィルタ係数との少なくとも１階以上の差分値の系列を予め記憶するフィルタ係数差分記憶部に対して、前記入力サンプリングレートタイミングで初期化されかつ前記出力サンプリングレートタイミングで更新される位相カウンタ値に対応するリードアドレスからのデータの読み出しを行うデータ読出ステップと、
前記フィルタ係数差分記憶部に格納されている最も高階の差分値で表される時間分解能よりも高い時間分解能の信号補間が必要な場合には、当該最も高階の差分値を用いて補間をすることにより、当該最も高階の差分値よりも高階の差分値を生成する係数補間ステップと、
前記フィルタ係数記憶部および前記フィルタ係数差分記憶部からそれぞれ読み出されたデータと前記係数補間部により生成された前記差分値とを加算することにより１組のフィルタ係数を生成する累積加算ステップと、
前記入力サンプリングレートタイミングで一サンプルずつ入力された１組のサンプルからなる前記デジタル信号と前記累積加算ステップにて得られた１組のフィルタ係数との積和演算を行い、前記出力サンプリングレートタイミングで当該積和演算結果を出力することにより、サンプリングレート変換後のデジタル信号を出力する積和演算ステップと、
を含むことを特徴とするサンプリングレート変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル信号のサンプリングレートを変換するサンプリングレート変換装置およびサンプリングレート変換方法に関するものである。
【背景技術】
【０００２】
従来、デジタル信号に対するサンプリングレート変換は、信号の補間（オーバーサンプリング）とデシメーションを組み合わせて処理することにより実現できる。変換前の元のサンプリングレートに対してＮ／Ｍ倍（Ｎ，Ｍは正の整数）のサンプリングレートに変換する場合は、補間によりＮ倍のオーバーサンプリングを実施した後、その補間したＮ倍の信号からＭ個毎にサンプルを抜き出すことによりＮ／Ｍ倍のサンプリングレートに変換された信号を得ることができる。ただし、オーバーサンプリングするときのデジタルフィルタは、信号をＮ／Ｍ倍のサンプリングレートに変換したときにエイリアスが発生しないような周波数特性を有する必要がある。また、Ｎ倍のオーバーサンプルに補間する場合、ポリフェーズフィルタを用いることで不要なフィルタ演算を削減し、少ない演算量（回路規模）で補間処理を実現することができる。
【０００３】
上記に示したＮ／Ｍ倍のサンプリングレート変換を用いて、Ｎ，Ｍを調整することにより、デジタル信号のサンプリングレートを任意のサンプリングレートに変換することができる（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】西村  芳一著、ディジタル信号処理による通信システム設計、ＣＱ出版社、ｐ．８５〜８９
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献１に記載の従来技術によれば、デジタルフィルタのフィルタ係数を等間隔の時間で切り替えてＮ倍オーバーサンプリングの補間処理を行った後、補間したＮ倍の信号からＭ個毎にサンプルを抜き出すことによりＮ／Ｍ倍のサンプリングレートに変換された信号を得ることができるが、オーバーサンプリングのＮの値が大きくなると、補間に必要なフィルタ係数が増大し、回路規模（フィルタ係数を記憶しておくレジスタ、またはメモリ）が増大してしまい、回路実装が困難になるという問題点があった。
【０００６】
この発明は、上記に鑑みてなされたものであって、補間に必要なフィルタ係数を記憶するメモリ容量を削減し、従来よりも回路規模の小さい実装でサンプリングレート変換を実現することができるサンプリングレート変換装置およびサンプリングレート変換方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明に係るサンプリングレート変換装置は、入力されるデジタル信号の入力サンプリングレートタイミングとサンプリングレート変換後の出力サンプリングレートタイミングを生成するサンプリングタイミング生成部と、所定の時間間隔で離散化されたフィルタ係数の系列を予め記憶するフィルタ係数記憶部と、このフィルタ係数記憶部に記憶されたフィルタ係数と前記所定の時間間隔よりも短い時間間隔で離散化されたフィルタ係数との少なくとも１階以上の差分値の系列を予め記憶するフィルタ係数差分記憶部と、前記フィルタ係数記憶部および前記フィルタ係数差分記憶部に対して、前記入力サンプリングレートタイミングで初期化されかつ前記出力サンプリングレートタイミングで更新される位相カウンタ値に対応するリードアドレスからのデータの読み出し制御を行うフィルタ係数制御部と、前記所定の時間間隔よりも短い時間間隔での信号補間が必要な場合において、前記フィルタ係数制御部の読み出し制御のもと前記フィルタ係数記憶部および前記フィルタ係数差分記憶部からそれぞれ読み出されたデータを加算することにより１組のフィルタ係数を生成する累積加算部と、前記入力サンプリングレートタイミングで一サンプルずつ入力されシフトレジスタにて保持された１組のサンプルからなる前記デジタル信号と前記累積加算部から出力される１組のフィルタ係数との積和演算を行い、前記出力サンプリングレートタイミングで当該積和演算結果を出力することにより、サンプリングレート変換後のデジタル信号を出力するトランスバーサルフィルタ部と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、補間に必要なフィルタ係数を記憶するメモリ容量を削減し、従来よりも回路規模の小さい実装でサンプリングレート変換を実現することができる、という効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態１に係るサンプリングレート変換装置の構成例を示す図である。
【図２】図２は、フィルタ係数記憶メモリ３−１の構成例を示す図である。
【図３】図３は、フィルタ係数記憶メモリ３−２の構成例を示す図である。
【図４】図４は、フィルタ係数記憶メモリ３−３の構成例を示す図である。
【図５】図５は、実施の形態２に係るサンプリングレート変換装置の構成例を示す図である。
【図６】図６は、係数補間部２０による係数補間処理を説明するための説明図である。
【発明を実施するための形態】
【００１０】
以下に、本発明に係るサンプリングレート変換装置およびサンプリングレート変換方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態１．
図１は、本実施の形態に係るサンプリングレート変換装置の構成例を示す図である。図１に示すように、サンプリングレート変換装置は、入力されるデジタル信号Ａｉｎの入力サンプリングレートタイミングおよびサンプリングレート変換後の出力サンプリングレートタイミングを生成するサンプリングタイミング生成部１と、入力されたデジタル信号Ａｉｎとフィルタ係数の積和演算（畳み込み演算）を行うことによりサンプリングレート変換後のデジタル信号Ａｏｕｔを生成するトランスバーサルフィルタ部２と、所定の時間間隔で離散化されたフィルタ係数を記憶するフィルタ係数記憶メモリ３−１と、フィルタ係数記憶メモリ３−１に格納したフィルタ係数からの所定の時間差分情報を記憶するフィルタ係数記憶メモリ３−２と、フィルタ係数記憶メモリ３−２に格納したフィルタ係数（差分値）からの所定の時間差分情報を記憶するフィルタ係数記憶メモリ３−３と、サンプリングタイミング生成部１からの指示タイミングでフィルタ係数記憶メモリ３−１〜３−３に対してリードアドレス制御を行うフィルタ係数制御部６と、フィルタ係数記憶メモリ３−１〜３−３からリードされた値を累積加算して得られたフィルタ係数をトランスバーサルフィルタ部２に出力する累積加算部７と、を備えている。
【００１２】
次に、本実施の形態の動作について説明する。まず、サンプリングタイミング生成部１により、トランスバーサルフィルタ部２へ入力されるデジタル信号Ａｉｎの入力サンプリングクロック（入力サンプリングレートタイミング）とサンプリングレート変換後のデジタル信号Ａｏｕｔの出力サンプリングクロック（出力サンプリングレートタイミング）が生成され、フィルタ係数制御部６、累積加算部７およびトランスバーサルフィルタ部２へ出力される。
【００１３】
入力されるデジタル信号Ａｉｎは、前記入力サンプリングクロックのタイミングでトランスバーサルフィルタ部２に１サンプルずつ入力される。トランスバーサルフィルタ部２内では、入力されたデジタル信号Ａｉｎを複数サンプルにわたり記憶するシフトレジスタ（図示せず）を備えており、サンプリングされたデータは入力サンプリングクロックのタイミングで１サンプルずつシフトレジスタに格納される。
【００１４】
フィルタ係数制御部６は、デジタル信号Ａｉｎに対するサンプリング位相をカウントする位相カウンタ部（図示せず）を有し、この位相カウンタ部は、出力サンプリングクロックのタイミングでカウンタ値を更新する。すなわち、位相カウンタ部は、例えば、入力サンプリングクロックでカウンタ値を初期化し、出力サンプリングクロックでカウンタ値を更新することで入力されるデジタル信号Ａｉｎに対するサンプリング位相をカウントすることができる。例えば、入力サンプリングレートを１ＭＨｚ、出力サンプリングレートを１０ＭＨｚとすると、出力サンプリングレートは入力サンプリングレートの１０倍のオーバーサンプリングになるので、出力サンプリング時間の１０倍が入力サンプリング時間間隔に相当する。そのため、０〜９までの位相カウンタを用意し、出力サンプリング時間間隔で位相カウンタをインクリメントすることで、入力サンプリングレートと出力サンプリングレートの位相差を得ることができ、入力サンプリング時間のｘ／１０位相（ｘは位相カウンタ値）だけタイミングをずらした信号を補間するためのフィルタ係数を選択すればよいことになる。なお、出力サンプリングレートが入力サンプリングレートの非整数倍の場合であっても対応可能で、例えば、入力サンプリングレートの１／１０２４の時間分解能を有する位相カウンタ（０〜１０２３）を用いて、出力サンプリングレートあたりの位相偏移量Δθを次式で求めることができる。
Δθ＝１０２４×入力サンプリングレート／出力サンプリングレート
この場合、出力サンプリングレートの時間間隔で上記のΔθだけ位相カウンタをインクリメントすることで、入力サンプリング時間のｘ／１０２４位相（ｘは位相カウンタ値）だけタイミングをずらした信号を補間するためのフィルタ係数を選択すればよいことになる。Δθが割り切れない場合は、四捨五入するなどで丸めてしまえばよい。なお、これらの例に限定されないのはいうまでもない。また、フィルタ係数制御部６は、この位相カウンタ値から当該位相カウンタ値に対応したフィルタ係数記憶メモリ３−１〜３−３のリードアドレスをデコードする。すなわち、フィルタ係数制御部６は、位相カウンタ値を変換し、対応するフィルタ係数記憶メモリ３−１〜３−３のリードアドレスを求める。ここで、リードアドレスへのデコード方法については、入力されるデジタル信号Ａｉｎのサンプリング位相を示す位相カウンタ値に対応したフィルタ係数が格納されているリードアドレスに変換するものであればよく、特にデコード方法について限定はしない。
【００１５】
フィルタ係数記憶メモリ３−１は、入力されるデジタル信号Ａｉｎのサンプリング位相に対応する信号補間またはそのサンプリング位相に近い信号補間をするためのフィルタ係数を格納する。このフィルタ係数は、インターポレーションフィルタやデシメーションフィルタの係数であり、アップサンプリングやダウンサンプリングする際に発生する折り返し雑音を除去するための周波数特性を有するフィルタ係数を用いる。
【００１６】
フィルタ係数記憶メモリ３−２は、フィルタ係数記憶メモリ３−１に格納されているフィルタ係数の時間サンプル間隔よりも高い時間分解能でのフィルタ係数として、フィルタ係数記憶メモリ３−１に格納されているフィルタ係数からの差分値（フィルタ係数差分値）を格納するメモリである。したがって、フィルタ係数記憶メモリ３−２は、フィルタ係数メモリ３−１よりも高い時間分解能の信号補間を対象としたフィルタ係数を必要とする場合に使用される。
【００１７】
フィルタ係数記憶メモリ３−３は、同様にフィルタ係数記憶メモリ３−２に格納されているフィルタ係数の時間サンプル間隔よりも高い時間分解能でのフィルタ係数として、フィルタ係数記憶メモリ３−２に格納されているフィルタ係数差分値からの差分値（フィルタ係数差分値）を格納するメモリである。なお、本実施の形態では、例えば１階および２階の差分情報を格納するメモリを設ける例について説明しているが、要求される時間分解能に応じて例えばより高階の差分情報を格納するメモリを設けることもできる。
【００１８】
累積加算部７は、フィルタ係数記憶メモリ３−１に格納されているフィルタ係数よりも高い時間分解能の信号補間を対象としたフィルタ係数を必要とする場合に、フィルタ係数記憶メモリ３−１に格納されているフィルタ係数とフィルタ係数記憶メモリ３−２に格納されているフィルタ係数差分値とを加算し、またはフィルタ係数記憶メモリ３−１に格納されているフィルタ係数とフィルタ係数記憶メモリ３−２およびフィルタ係数記憶メモリ３−３にそれぞれ格納されているフィルタ係数差分値とを加算して、より高い時間分解能の信号補間を対象としたフィルタ係数を生成する。
【００１９】
トランスバーサルフィルタ部２は、入力されたデジタル信号Ａｉｎを複数サンプルにわたり前記シフトレジスタに記憶し、前記シフトレジスタに格納されている１組のサンプルからなるデジタル信号と累積加算部７から出力される１組のフィルタ係数とを積和演算し（すなわち、畳み込み演算し）、サンプリングタイミング生成部１からの前記出力サンプリングクロックのタイミングにあわせて積和演算結果を出力する。この出力結果がサンプリングレート変換後のデジタル信号Ａｏｕｔとなる。
【００２０】
次に、本実施の形態におけるフィルタ係数記憶メモリ３−１〜３−３の詳細を図２〜図４を用いて説明する。
【００２１】
図２は、フィルタ係数記憶メモリ３−１の構成例を示す図である。図２において、フィルタ係数のタップ数Ｎを例えば５とし、Ｔは入力されるデジタル信号Ａｉｎの１サンプル周期を示している。アドレス０には基準となるフィルタ係数５タップ（Ａ０，Ａ４，Ａ８，Ａ１２，Ａ１６）が格納されている。「アドレス１」には「アドレス０」のフィルタ係数に対してＴ／４時間がずれた場合の１組のフィルタ係数（Ａ１，Ａ５，Ａ９，Ａ１３，Ａ１７）が格納されている。Ｔ／４がこの場合の時間分解能を表す。同様に、「アドレス２」には「アドレス１」のフィルタ係数に対してＴ／４時間がずれた場合の１組のフィルタ係数（Ａ２，Ａ６，Ａ１０，Ａ１４，Ａ１８）が格納され、「アドレス３」には「アドレス２」のフィルタ係数に対してそれぞれＴ／４時間がずれた場合の１組のフィルタ係数（Ａ３，Ａ７，Ａ１１，Ａ１５，Ａ１９）が格納されている。
【００２２】
図３は、フィルタ係数記憶メモリ３−２の構成例を示す図である。図３では、フィルタ係数記憶メモリ３−２にフィルタ係数差分値Ｂ０〜Ｂ１９が格納されている。図２で示したフィルタ係数記憶メモリ３−１に格納された各々のフィルタ係数Ａ０〜Ａ１９に対してＴ／８だけ時間をずらしたフィルタ係数値をＤ０〜Ｄ１９とした場合、Ｂ０〜Ｂ１９は次の式（１）で表される。
Ｂｘ＝Ｄｘ−Ａｘ      （ｘ：０〜１９）                       ・・・（１）
ここで、式（１）は、例えばＢ０＝Ｄ０−Ａ０などを総括的に表したものである。
【００２３】
図４は、フィルタ係数記憶メモリ３−３の構成例を示す図である。図４では、フィルタ係数記憶メモリ３−３にフィルタ係数差分値Ｃ０,ｙ〜Ｃ１９,ｙ（ｙ：０,１）が格納されている。フィルタ係数記憶メモリ３−１に格納された各々のフィルタ係数Ａ０〜Ａ１９とＴ／１６だけ時間をずらしたフィルタ係数値をＥ０,０〜Ｅ１９,０とし、フィルタ係数記憶メモリ３−１に格納された各々のフィルタ係数Ａ０〜Ａ１９とフィルタ係数記憶メモリ３−２に格納された各々のフィルタ係数Ｂ０〜Ｂ１９とを加算したフィルタ係数に対して、Ｔ／１６だけ時間をずらしたフィルタ係数値をＥ０,１〜Ｅ１９,１とした場合、Ｃ０,０〜Ｃ１９,０、Ｃ０,１〜Ｃ１９,１は次の式（２）、式（３）で表される。
Ｃｘ,０＝Ｅｘ,０−Ａｘ           （ｘ：０〜１９）              ・・・（２）
Ｃｘ,１＝Ｅｘ,１−Ａｘ−Ｂｘ     （ｘ：０〜１９）              ・・・（３）
ここで、式（２）は、例えばＣ０,０＝Ｅ０,０−Ａ０、式（３）は、例えばＣ０,１＝Ｅ０,１−Ａ０−Ｂ０などを総括的に表したものである。
【００２４】
したがって、例えば、フィルタ係数記憶メモリ３−１のアドレス０に対してＴ／２時間をずらしたフィルタ係数を得る場合は、フィルタ係数記憶メモリ３−１の「アドレス２」に格納されているフィルタ係数をリードすればよい。すなわち、フィルタ係数制御部６は、フィルタ係数記憶メモリ３−１の「アドレス２」に格納されている１組のフィルタ係数を累積加算部７へ読み出すよう制御し、累積加算部７はこの１組のフィルタ係数をトランスバーサルフィルタ部２に出力し、トランスバーサルフィルタ部２は、この１組のフィルタ係数とシフトレジスタに保持された１組のデジタル信号Ａｉｎとの積和を演算する。
【００２５】
また、例えば、３Ｔ／８時間をずらしたフィルタ係数を得る場合は、フィルタ係数記憶メモリ３−１の「アドレス１」に格納されているフィルタ係数（Ａ１，Ａ５，Ａ９，Ａ１３，Ａ１７）と、フィルタ係数記憶メモリ３−２の「アドレス１」に格納されているフィルタ係数差分値（Ｂ１、Ｂ５、Ｂ９、Ｂ１３、Ｂ１７）を用いて、累積加算部７により、次の式（４）の計算をすれば求めることができる。
Ｄｘ＝Ａｘ＋Ｂｘ      （ｘ：１，５，９，１３，１７）         ・・・（４）
すなわち、フィルタ係数制御部６は、フィルタ係数記憶メモリ３−１の「アドレス１」に格納されている１組のフィルタ係数とフィルタ係数記憶メモリ３−２の「アドレス１」に格納されている１組のフィルタ係数差分値を累積加算部７へ読み出すよう制御し、累積加算部７はこの１組のフィルタ係数と１組のフィルタ係数差分値とに対して上記式（４）を計算して１組のフィルタ係数を求めた後にこの１組のフィルタ係数をトランスバーサルフィルタ部２に出力し、トランスバーサルフィルタ部２は、この１組のフィルタ係数とシフトレジスタに保持された１組のデジタル信号Ａｉｎとの積和を演算する。
【００２６】
また、例えば、７Ｔ／１６時間をずらしたフィルタ係数を得る場合は、フィルタ係数記憶メモリ３−１の「アドレス１」に格納されているフィルタ係数（Ａ１，Ａ５，Ａ９，Ａ１３，Ａ１７）と、フィルタ係数記憶メモリ３−２の「アドレス１」に格納されているフィルタ係数差分値（Ｂ１、Ｂ５、Ｂ９、Ｂ１３、Ｂ１７）とフィルタ係数記憶メモリ３−３の「アドレス３」に格納されているフィルタ係数差分値（Ｃ１,１，Ｃ５,１，Ｃ９,１，Ｃ１３,１，Ｃ１７,１）を用いて、累積加算部７により、次の式（５）の計算をすれば求めることができる。
Ｅｘ,１＝Ａｘ＋Ｂｘ＋Ｃｘ,１      （ｘ：１，５，９，１３，１７）・・・（５）
【００２７】
なお、さらに高い分解能が要求される場合は、位相カウンタ値を四捨五入するなどにより、フィルタ係数記憶メモリ３−１〜３−３の最大の時間分解能（図示例では、Ｔ／１６
）に丸めることで、フィルタ係数を求めてもよい。
【００２８】
以上のように、本実施の形態によれば、１サンプル周期に対して時間分解能のより低い時間間隔のフィルタ係数をフィルタ係数記憶メモリ３−１（フィルタ係数記憶部）に格納し、それよりも時間分解能の高い時間間隔のフィルタ係数を生成するために、フィルタ係数記憶メモリ３−１に格納したフィルタ係数との差分値のみをフィルタ係数記憶メモリ３−２（フィルタ係数差分記憶部）に格納し、さらにそれよりも時間分解能の高い時間間隔のフィルタ係数を生成するために、フィルタ係数記憶メモリ３−１に格納したフィルタ係数とフィルタ係数記憶メモリ３−２に格納したフィルタ係数差分値を加算して生成したフィルタ係数との差分値のみをフィルタ係数記憶メモリ３−３（フィルタ係数差分記憶部）に格納するようにし、必要な時間分解能のフィルタ係数に応じて、各々のメモリから必要な情報を読み出して加算することにより、高分解能のフィルタ係数を生成するようにしているので、従来のように、必要な時間分解能のフィルタ係数の全てをメモリに記憶しておかなければならない構成とは対照的に、それよりも少ない情報である差分情報だけをメモリ（フィルタ係数記憶メモリ３−２，３−３）に記憶しておけばよいので、従来に比べて大幅にメモリ容量を削減することができる。
【００２９】
特に、高分解能の差分情報になるほど情報量は小さくなるので、フィルタ係数をより高分解能化する場合にメモリ削減効果は大きくなる。さらに、時間分解能の低いフィルタ係数からより高い時間分解能のフィルタ係数を生成するための差分情報を段階的に記憶しておく構成をとることにより、所望の時間分解能のフィルタ係数を生成する際にメモリから読み出すべき必要な情報を小さく抑えることができるため、本実施の形態は、読み出すデータ容量を低減する効果と、フィルタ係数を復元するための加算時の演算量を低減する効果を有している。
【００３０】
実施の形態２．
以上の実施の形態１では、高い時間分解能のフィルタ係数を生成するために、より低い時間分解能のフィルタ係数からの差分値をメモリに記憶しておき、低い時間分解能のフィルタ係数と差分値を加算することにより高い時間分解能のフィルタ係数を生成するようにしたものであるが、本実施の形態は、さらにメモリを削減したい場合に高い時間分解能の差分情報ほど情報量が小さくなることを利用して、差分情報をメモリに記憶しておくのではなく、差分情報を補間して生成するようにしている。
【００３１】
図５は、本実施の形態に係るサンプリングレート変換装置の構成例を示す図である。図５において、係数補間部２０は、フィルタ係数記憶メモリ３−２に格納されているフィルタ係数の差分情報を補間してより高い時間分解能のフィルタ係数を生成するものである。すなわち、図５では、フィルタ係数記憶メモリ３−３を設ける代わりに、係数補間部２０が設けられている。なお、図５では、図１と同一の構成要素には同一の符号を付してその詳細な説明を省略する。
【００３２】
次に、本実施の形態の動作について説明する。まず、サンプリングタイミング生成部１により、トランスバーサルフィルタ部２へ入力されるデジタル信号Ａｉｎの入力サンプリングクロックとサンプリングレート変換後のデジタル信号Ａｏｕｔの出力サンプリングクロックが生成され、入力サンプリングクロックはトランスバーサルフィルタ部２へ出力され、出力サンプリングクロックはフィルタ係数制御部６、累積加算部７およびトランスバーサルフィルタ部２へ出力される。
【００３３】
入力されるデジタル信号Ａｉｎは、前記入力サンプリングクロックのタイミングでトランスバーサルフィルタ部２に１サンプルずつ入力される。トランスバーサルフィルタ部２内では、入力されたデジタル信号Ａｉｎを複数サンプルにわたり記憶するシフトレジスタ（図示せず）を備えており、サンプリングされたデータは入力サンプリングクロックのタイミングで１サンプルずつシフトレジスタに格納される。
【００３４】
フィルタ係数制御部６は、デジタル信号Ａｉｎに対するサンプリング位相をカウントする位相カウンタ部（図示せず）を有し、この位相カウンタ部は、出力サンプリングクロックのタイミングでカウンタ値を更新する。すなわち、位相カウンタ部は、例えば、入力サンプリングクロックでカウンタ値を初期化し、出力サンプリングクロックでカウンタ値を更新することで入力されるデジタル信号Ａｉｎに対するサンプリング位相をカウントすることができる。また、フィルタ係数制御部６は、この位相カウンタ値から当該位相カウンタ値に対応したフィルタ係数記憶メモリ３−１〜３−２のリードアドレスをデコードする。すなわち、フィルタ係数制御部６は、位相カウンタ値を変換し、対応するフィルタ係数記憶メモリ３−１〜３−２のリードアドレスを求める。ここで、リードアドレスへのデコード方法については、入力されるデジタル信号Ａｉｎのサンプリング位相を示す位相カウンタ値に対応したフィルタ係数が格納されているリードアドレスに変換するものであればよく、特にデコード方法について限定はしない。
【００３５】
フィルタ係数記憶メモリ３−１は、入力されるデジタル信号Ａｉｎのサンプリング位相に対応する信号補間またはそのサンプリング位相に近い信号補間をするためのフィルタ係数を格納する。なお、フィルタ係数は、デジタル信号Ａｉｎのサンプリング位相に厳密に対応していなくとも、それに近いものであればよい。
【００３６】
フィルタ係数記憶メモリ３−２は、フィルタ係数記憶メモリ３−１に格納されているフィルタ係数の時間サンプル間隔よりも高い時間分解能でのフィルタ係数として、フィルタ係数記憶メモリ３−１に格納されているフィルタ係数からの差分値（フィルタ係数差分値）を格納するメモリである。したがって、フィルタ係数記憶メモリ３−２は、フィルタ係数メモリ３−１よりも高い時間分解能の信号補間を対象としたフィルタ係数を必要とする場合に使用される。
【００３７】
係数補間部２０は、フィルタ係数記憶メモリ３−２に格納されているフィルタ係数差分値で表現される時間分解能よりも高い時間分解能を要求された場合に、フィルタ係数記憶メモリ３−２の差分情報を補間して（例えば線形補間）、より高い時間分解能におけるフィルタ係数の差分情報を生成する。
【００３８】
累積加算部７は、フィルタ係数メモリ３−１に格納されているフィルタ係数よりも高い時間分解能の信号補間を対象としたフィルタ係数を必要とする場合に、フィルタ係数メモリ３−１に格納されているフィルタ係数とフィルタ係数記憶メモリ３−２に格納されているフィルタ係数差分値とを加算し、またはフィルタ係数メモリ３−１に格納されているフィルタ係数とフィルタ係数記憶メモリ３−２に格納されているフィルタ係数差分値と係数補間部２０により係数補間で生成されたフィルタ係数差分値とを加算して、より高い時間分解能の信号補間を対象としたフィルタ係数を生成する。
【００３９】
トランスバーサルフィルタ部２は、入力されたデジタル信号Ａｉｎを複数サンプルにわたり前記シフトレジスタに記憶し、前記シフトレジスタに格納されているデジタル信号と累積加算部７から出力されるフィルタ係数とを積和演算し、サンプリングタイミング生成部１からの前記出力サンプリングクロックのタイミングにあわせて積和演算結果を出力する。この出力結果がサンプリングレート変換後のデジタル信号Ａｏｕｔとなる。
【００４０】
次に、本実施の形態におけるフィルタ係数記憶メモリ３−１、フィルタ係数記憶メモリ３−２、および係数補間部２０の詳細を図２、図３、および図６を用いて説明する。なお、図２、図３は、実施の形態１と同様であるため説明を省略する。
【００４１】
図６は、係数補間部２０による係数補間処理を説明するための説明図である。図６では、実施の形態１で説明したＣｘ,ｙ（ｘ：０〜１９,ｙ：０,１）を補間で求める場合を例に説明している。図４で示したように、フィルタ係数記憶メモリ３−１に格納された各々のフィルタ係数Ａ０〜Ａ１９とＴ／１６だけ時間をずらしたフィルタ係数値をＥ０,０〜Ｅ１９,０とし、フィルタ係数記憶メモリ３−１に格納された各々のフィルタ係数Ａ０〜Ａ１９とフィルタ係数記憶メモリ３−２に格納された各々のフィルタ係数Ｂ０〜Ｂ１９とを加算したフィルタ係数に対して、Ｔ／１６だけ時間をずらしたフィルタ係数値をＥ０,１〜Ｅ１９,１とした場合、Ｃ０,０〜Ｃ１９,０、Ｃ０,１〜Ｃ１９,１は上記の式（２）、式（３）で表される。
【００４２】
係数補間部２０にて、例えば、Ｃ１,１，Ｃ５,１，Ｃ９,１，Ｃ１３,１，Ｃ１７,１を補間して求める場合、フィルタ係数記憶メモリ３−２に格納された差分情報を用いて、下記の式（６）〜式（１０）のように計算をして求めることができる。
Ｃ１,１＝（Ａ２−Ａ１−Ｂ１）／２                   ・・・ （６）
Ｃ５,１＝（Ａ６−Ａ５−Ｂ５）／２                   ・・・ （７）
Ｃ９,１＝（Ａ１０−Ａ９−Ｂ９）／２                 ・・・ （８）
Ｃ１３,１＝（Ａ１４−Ａ１３−Ｂ１３）／２           ・・・ （９）
Ｃ１７,１＝（Ａ１８−Ａ１７−Ｂ１７）／２           ・・・ （１０）
【００４３】
したがって、例えば、７Ｔ／１６時間をずらしたフィルタ係数を得る場合は、フィルタ係数記憶メモリ３−１の「アドレス１」に格納されている１組のフィルタ係数（Ａ１，Ａ５，Ａ９，Ａ１３，Ａ１７）と、フィルタ係数記憶メモリ３−２の「アドレス１」に格納されている１組のフィルタ係数差分値（Ｂ１，Ｂ５，Ｂ９，Ｂ１３，Ｂ１７）と係数補間部２０で計算した１組のフィルタ係数差分値（Ｃ１,１，Ｃ５,１，Ｃ９,１，Ｃ１３,１，Ｃ１７,１）を用いて、累積加算部７により、次の式（１１）の計算を実行すればよい。
Ｅｘ,１＝Ａｘ＋Ｂｘ＋Ｃｘ,１  （ｘ：１，５，９，１３，１７）・・・（１１）
さらに、より高い分解能を要求された場合は、係数補間部２０にてさらに高い時間分解能のフィルタ係数差分値を生成することにより、より高い時間分解能のフィルタ係数を生成することが可能である。
【００４４】
以上のように、１サンプル周期に対して時間分解能の低い間隔のフィルタ係数をフィルタ係数記憶メモリ３−１（フィルタ係数記憶部）に格納し、それよりも時間分解能の高い間隔のフィルタ係数を生成するために、フィルタ係数記憶メモリ３−１に格納したフィルタ係数との差分値のみフィルタ係数記憶メモリ３−２（フィルタ係数差分記憶部）に格納し、さらにそれよりも時間分解能の高い間隔のフィルタ係数を生成するために、フィルタ係数記憶メモリ３−１に格納したフィルタ係数とフィルタ係数記憶メモリ３−２に格納したフィルタ係数を加算して生成したフィルタ係数との差分値を補間により求めるようにし、必要な時間分解能のフィルタ係数に応じて、各々のメモリからの必要な情報と補間して求めたフィルタ係数差分値を読み出して加算することにより、高分解能のフィルタ係数を生成するようにしているので、実施の形態１で必要であったフィルタ係数差分値を格納するメモリ（フィルタ係数記憶メモリ３−３）を設けることなく、必要なフィルタ係数差分値を補間により計算で求めるので、実施の形態１よりもさらにメモリ容量を削減することができる。
【００４５】
また、本効果は、高い時間分解能であるフィルタ係数の差分情報の量が小さいことを利用しており、フィルタ係数をそのまま補間して求めたものよりも、補間による誤差を大幅に低減できる効果があり、メモリ容量を削減すると同時に補間誤差を小さくおさえる効果を有する。
【産業上の利用可能性】
【００４６】
本発明は、デジタル信号波形のサンプリングレートを異なるサンプリングレートに変換するサンプリングレート変換装置およびサンプリングレート変換方法として有用である。
【符号の説明】
【００４７】
１  サンプリングタイミング生成部
２  トランスバーサルフィルタ部
３−１〜３−３  フィルタ係数記憶メモリ
６  フィルタ係数制御部  
７  累積加算部
２０  係数補間部
【図１】
2012147133.tif 000003
【図２】
2012147133.tif 000004
【図３】
2012147133.tif 000005
【図４】
2012147133.tif 000006
【図５】
2012147133.tif 000007
【図６】
2012147133.tif 000008