JP2005210190A - サンプリング周波数変換装置 - Google Patents

サンプリング周波数変換装置 Download PDF

Info

Publication number
JP2005210190A
JP2005210190A JP2004011906A JP2004011906A JP2005210190A JP 2005210190 A JP2005210190 A JP 2005210190A JP 2004011906 A JP2004011906 A JP 2004011906A JP 2004011906 A JP2004011906 A JP 2004011906A JP 2005210190 A JP2005210190 A JP 2005210190A
Authority
JP
Japan
Prior art keywords
clock
frequency
input
data
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004011906A
Other languages
English (en)
Other versions
JP3915781B2 (ja
Inventor
Tetsuji Ichiki
哲二 市来
Shizuhiko Kawai
靜彦 川合
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2004011906A priority Critical patent/JP3915781B2/ja
Publication of JP2005210190A publication Critical patent/JP2005210190A/ja
Application granted granted Critical
Publication of JP3915781B2 publication Critical patent/JP3915781B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

【課題】 任意の入出力サンプリング周波数Fin,Foutに対して、僅かなバッファサイズで周波数変換を行う。
【解決手段】 カウンタ204は入力CKinをカウントし、入力データDinの書込みアドレスwadをFIFO206に供給する。全加算器218は、オーバーサンプリングクロックCKover毎に、信号Delta(ほぼFin/Fover)を累積し累積結果が「1」を超える毎に信号SHを発生する。カウンタ202は信号SHのカウント結果を読出しアドレスradとして出力する。全加算器212等は、「wad−rad」に基づいて、Deltaの値を微調節する。ここで、FinまたはFoverが急速に変動すると、セレクタ215を介して、Fin/Foutの実測値に基づいてDeltaの値が強制的に設定される。その後「wad−rad」に対する微調節値の感度が高くされDeltaの収束が促進される。
【選択図】 図3

Description

本発明は、デジタル音声信号のサンプリング周波数の変換に用いて好適なサンプリング周波数変換装置に関する。
近年、音声信号の記録/再生装置、編集装置、効果装置等はデジタル化されているものが多いが、これらの機器に用いられるサンプリング周波数は異なるため、サンプリング周波数を変換するための種々の装置が提案されている。例えば、特許文献1にあっては、入力サンプリング周期毎にFIFOバッファに入力データのサンプリング値を書き込み、それとは非同期の出力サンプリング周期毎に該FIFOバッファを読み出すことにより、サンプリング周波数を変換する技術が開示されている。ここで、FIFOバッファの読み出しアドレスはほぼ入力サンプリング周期毎に歩進するため、出力サンプリング周波数が入力サンプリング周波数よりも高い場合には、同一のサンプル値が続けて2回読み出される場合もある。そこで、同文献においては、FIFOバッファから読み出されたサンプリング値に対して補間処理を施すことにより、滑らかな出力データを得る技術が開示されている。
また、特許文献2にあっては、入力サンプリング周期毎にFIFOバッファにサンプリング値を書き込み、出力サンプリング周期の「1/8」のオーバーサンプリング周期毎に該FIFOバッファを読み出し、読み出された一連のサンプリング結果に対して畳込み演算を施すことによって出力データを得る技術が開示されている。
特開平11−055075号公報 特開平11−055076号公報
ところで、入出力サンプリング周波数には「揺らぎ」が生じる場合もあるため、特許文献1,2に示されているように、サンプリング周波数変換装置には通常は揺らぎを吸収するためのFIFOバッファが設けられている。しかし、これら従来の装置においては、入出力サンプリング周波数の大きな「揺らぎ」に対応しようとすると、必然的にFIFOバッファ等のサイズが増大し、コスト高を招くという問題があった。
この発明は上述した事情に鑑みてなされたものであり、僅かなバッファサイズで入出力サンプリング周波数の大きな揺らぎに対応できるサンプリング周波数変換装置を提供することをの目的としている。
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項1記載のサンプリング周波数変換装置にあっては、入力データ(Din)のサンプリングタイミングに同期する入力クロック(CKin)と、出力データ(Dout)のサンプリングタイミングに同期するとともに前記入力クロック(CKin)には同期しない出力クロック(CKout)とが入力されると、前記出力クロック(CKout)を乗数MP倍に逓倍することにより、前記入力クロック(CKin)には同期しないオーバーサンプリングクロック(CKover)を発生するオーバーサンプリングクロック発生手段(170)と、前記入力データ(Din)を順次記憶するFIFOバッファ(206)と、周波数比信号(Delta)を前記オーバーサンプリングクロック(CKover)毎に累積するとともに、その累積結果が所定条件を満たす毎に、前記FIFOバッファ(206)に書き込まれた入力データを順次読み出す読出手段(204,218,220)と、前記読出手段により読み出された入力データ(PD1)に対し、前記オーバーサンプリングクロック(CKover)毎に、前記累積結果に基づく非同期サンプリング周波数変換を施し、前記オーバーサンプリングクロック(CKover)に同期したオーバーサンプリング信号(PDmid)を出力するオーバーサンプリング手段(200,120,130,140,152〜156)と、前記オーバーサンプリング周波数(Fover)の「1/(MP・2)」倍以上の信号成分を除去しつつ、該オーバーサンプリング信号(PDmid)を「1/MP」にダウンサンプリングすることにより、前記出力クロック(CKout)に同期した前記出力データ(Dout)を出力するダウンサンプリング手段(158)と、前記FIFOバッファ(206)に既に書き込まれ前記読出手段によって未だ読み出されていないデータ数である差分データ(S208)に基づく調整値(S210)を、前記周波数比信号(Delta)に対して増減する周波数比信号調節手段(210,212,216)と、前記入力クロック(CKin)と前記出力クロック(CKout)とに基づいて、前記入力サンプリング周波数(Fin)と前記オーバーサンプリング周波数(Fover)の周波数比を検出する周波数比検出手段(184)と、前記周波数比と、前記差分データ(S208)とに基づいて、前記周波数比信号(Delta)として強制的に設定され得る算出値(CV)を算出する算出手段(194)と、前記入力サンプリング周波数(Fin)または前記出力サンプリング周波数(Fout)が所定のジャンプ条件を満たす程度に変動すると、前記周波数比信号(Delta)を前記算出値(CV)に強制的に設定する強制設定手段(215)とを有することを特徴とする。
また、請求項2記載のサンプリング周波数変換装置にあっては、入力データ(Din)のサンプリングタイミングに同期する入力クロック(CKin)と、出力データ(Dout)のサンプリングタイミングに同期するとともに前記入力クロック(CKin)には同期しない出力クロック(CKout)とが入力されると、前記出力クロック(CKout)を乗数MP倍に逓倍することにより、前記入力クロック(CKin)には同期しないオーバーサンプリングクロック(CKover)を発生するオーバーサンプリングクロック発生手段(170)と、前記入力データ(Din)を順次記憶するFIFOバッファ(206)と、周波数比信号(Delta)を前記オーバーサンプリングクロック(CKover)毎に累積するとともに、その累積結果が所定条件を満たす毎に、前記FIFOバッファ(206)に書き込まれた入力データを順次読み出す読出手段(204,218,220)と、前記読出手段により読み出された入力データ(PD1)に対し、前記オーバーサンプリングクロック(CKover)毎に、前記累積結果に基づく非同期サンプリング周波数変換を施し、前記オーバーサンプリングクロック(CKover)に同期したオーバーサンプリング信号(PDmid)を出力するオーバーサンプリング手段(200,120,130,140,152〜156)と、前記オーバーサンプリング周波数(Fover)の「1/(MP・2)」倍以上の信号成分を除去しつつ、該オーバーサンプリング信号(PDmid)を「1/MP」にダウンサンプリングすることにより、前記出力クロック(CKout)に同期した前記出力データ(Dout)を出力するダウンサンプリング手段(158)と、前記FIFOバッファ(206)に既に書き込まれ前記読出手段によって未だ読み出されていないデータ数である差分データ(S208)に基づく調整値(S210)を、前記周波数比信号(Delta)に対して増減する周波数比信号調節手段(210,212,216)と、前記入力クロック(CKin)と前記出力クロック(CKout)とに基づいて、前記入力サンプリング周波数(Fin)と前記オーバーサンプリング周波数(Fover)の周波数比を検出する周波数比検出手段(184)と、前記周波数比に基づいて、前記周波数比信号(Delta)として強制的に設定され得る算出値(CV)を算出する算出手段(194)と、前記入力サンプリング周波数(Fin)または前記出力サンプリング周波数(Fout)が所定のジャンプ条件を満たす程度に変動すると、前記周波数比信号(Delta)を前記算出値(CV)に強制的に設定する強制設定手段(215)と、前記強制設定手段(215)によって前記周波数比信号(Delta)が強制的に設定されると、前記差分データ(S208)に対する前記調整値(S210)の感度を高め、しかる後に前記感度を低下させる感度調節手段(222)とを有することを特徴とする。
さらに、請求項3記載の構成にあっては、請求項2記載のサンプリング周波数変換装置において、前記周波数比信号(Delta)の直流成分を出力する直流成分出力手段(226)と、前記周波数比信号(Delta)と、前記直流成分のレベルとが交差するタイミングである交差タイミングを検出する交差タイミング検出手段(224)とをさらに有し、前記強制設定手段(215)は前記交差タイミングにおいて前記感度を低下させることを特徴とする。
このように、計測した周波数比と、差分データとに基づいて、算出値を算出し、入力サンプリング周波数または出力サンプリング周波数が所定のジャンプ条件を満たす程度に変動すると、周波数比信号を該算出値に強制的に設定する構成によれば、周波数比信号を理想値に近い値に速やかに近接させることができるから、必要なバッファサイズを小さくすることができる。
また、周波数比信号が強制的に設定されると、差分データに対する調整値の感度を高め、しかる後にこの感度を下げる構成によれば、周波数比信号を急速に収束させるとともに、収束後は周波数比信号を安定させることができるから、必要なバッファサイズを小さくすることができる。
1.実施例の構成
1.1.全体構成
次に、本発明の一実施例のサンプリング周波数変換装置の全体構成を図1を参照し説明する。
このサンプリング周波数変換装置には、図示せぬ入力側の機器よりシリアルデータである入力データDinと、この入力データDinのビット周期毎に立ち上がるビットクロックbCKinと、サンプリング周期毎に立ち上がる入力クロックCKinとが供給される。また、図示せぬ出力側の機器より、出力データDoutのビット周期毎に立ち上がるビットクロックbCKoutと、サンプリング周期毎に立ち上がる出力クロックCKoutとが供給される。サンプリング周波数変換装置は、これらの信号等に基づいて、ビットクロックbCKoutに同期するシリアルデータである出力データDoutを出力するものである。ここで、入力側の機器と出力側の機器はそれぞれ独自に生成したサンプリング周波数に基づいて音声信号を処理しており、この入力クロックCKinと出力クロックCKoutとは同期していない。
図1において110はシリアル・パラレル変換器であり、この入力データDinをパラレルデータPDinに変換する。170はオーバーサンプリングクロック発生器であり、出力クロックCKoutを逓倍することにより、出力サンプリング周波数FoutのMP倍(乗数MPは「2」,「4」または「8」)のオーバーサンプリング周波数Foverを有するオーバーサンプリングクロックCKoverを発生する。なお、ビットクロックbCKoutが出力クロックCKoutの「8n」(nは自然数)倍の周波数を有しているのであれば、ビットクロックbCKoutを分周することによりオーバーサンプリングクロックCKoverを生成することが可能である。なお、この明細書では、2つの信号の周期が完全に一致するときに両信号を「同期する」といい、一方の信号の周期が他方の信号の周期に対して、安定した有理数倍であるときに両信号が「準同期する」と呼ぶ。従って、上述したクロックCKoverは、出力クロックCKoutに準同期するクロックである。
180は変換制御部であり、入力クロックCKinと出力クロックCKoutとに基づいて、両者のサンプリング周波数Fin,Foutを計測し、上記乗数MP等を算出する。200はFIFO&PLL回路であり、パラレルデータPDinを若干遅延させて成るデータPD1と、クロックCKoverの各サンプルタイミングが入力クロックCKinに対して有する位相差である位相信号PHと、入力クロックCKinとほぼ同一の周波数を有し、立ち上がりタイミングがクロックCKoverに同期したシフト信号SHとを出力する。130は第1フィルタであり、データPD1の不要帯域を除去する不要帯域のフィルタリング処理と、入力クロックCKinに同期したデータを出力クロックCKoutに準同期したデータに変換する非同期変換処理とを行いつつ、そのサンプリング周波数をFoverにオーバーサンプリングし、その結果をデータPDmidとして出力する。120は第1係数メモリであり、位相信号PHに基づいて、クロックCKover毎に第1フィルタ130のフィルタ係数を決定する。
150は第2フィルタであり、データPDmidが有する周波数帯域を、出力データDoutのサンプリング周波数Foutによって再現できる範囲に狭めるフィルタリング処理を行い、そのフィルタリング結果のダウンサンプリングを行うことによって周波数Foutをサンプリング周期とするパラレルデータPDoutを出力する。140は第2係数メモリであり、乗数MPに応じて、第2フィルタ150のフィルタ係数を決定する。160はパラレル・シリアル変換器であり、パラレルデータPDoutをシリアルデータである出力データDoutに変換する。
1.2.変換制御部180
以下、図1における各構成要素の詳細構成を説明する。まず変換制御部180の構成を図2を参照し説明する。
図2において190,192は分周回路であり、各々入力クロックCKinおよび出力クロックCKoutを「64」分周する。181はFin計測部であり、「64」分周した入力クロックCKinの周期を計測することにより、その周波数である入力サンプリング周波数Finを「16ビット」の精度で算出する。同様に、186はFout計測部であり、「64」分周した出力クロックCKoutの周期を計測することにより、その周波数である出力サンプリング周波数Foutを「16ビット」の精度で算出する。
182はGin判定部であり、入力サンプリング周波数Finが「グループ1(60kHz未満)」「グループ2(60kHz以上120kHz未満)」、または「グループ3(120kHz以上)」の何れに属するかを判定し、判定したグループの番号を「入力グループGin」として出力する。同様に、187はGout判定部であり、出力サンプリング周波数Foutが上記何れのグループに属するかを判定し、判定したグループの番号を「出力グループGout」として出力する。
185は乗数MP決定部であり、判定された入出力グループGin,Goutに基づいて、以下の要領にて乗数MPを決定する。
(1)Gin=1であれば、乗数MP=2。
(2)Gin=2のとき、
Gout=1であれば乗数MP=4、
Gout=2または3であれば乗数MP=2。
(3)Gin=3のとき、
Gout=1であれば乗数MP=8、
Gout=2であれば乗数MP=4、
Gout=3であれば乗数MP=2。
換言すれば、入出力サンプリング周波数Fin,Foutが同程度、または出力サンプリング周波数Foutが高い場合には乗数MPが「2」に設定され、周波数Finが周波数Foutよりも高い場合には、その度合いに応じて乗数MPが高い値に設定される。これは、元々入力データDinが有している帯域幅をオーバーサンプリング時においても確保するため、オーバーサンプリング周波数Foverを入力サンプリング周波数Finよりも充分高い値に設定する必要があるためである。184は周波数比算出部であり、周波数Fin,Foverの周波数比Fin/Fover=Fin/(Fout・MP)を「15ビット」の精度で算出する。194は算出値作成部であり、上記周波数比Fin/Foverと、後述する差分データS208のMSB(最上位ビット)とが供給されると、「32ビット」の算出値CVを出力する。ここで、算出値CVの上位「15ビット」は周波数比Fin/Foverの値がそのまま用いられる。また、算出値CVの下位「17ビット」は、差分データS208のMSBが“1”であれば全ビット“1”にされ、差分データS208のMSBが“0”であれば全ビット“0”にされる。ここで、差分データS208のMSBが“1”であるときは、FIFOバッファ206に残っているデータ量が所定量以上(「4」以上)であることを示し、“0”であるときは該データ量が所定量未満(「3」以下)であることを示す。すなわち、ここではFIFOバッファ206に残っているデータ量が多い場合に算出値CVの下位「17ビット」を最大値(オール“1”)に設定し、データ量が少ない場合に算出値CVの下位「17ビット」を最小値(オール“0”)に設定しているのである。
ところで、後述するFIFO&PLL回路200においては、「周波数比信号Delta」なる信号が用いられる。この周波数比信号Deltaは、周波数比Fin/Foverとほぼ等しい値を有するが、フィードバック制御により周波数Fin,Foutの「揺らぎ」を吸収しつつ求められる値であり、上記周波数比Fin/Foverとは異なる。この周波数比信号Deltaは、周波数FinまたはFoutの変動に追従して自動的に変化するが、単なるフィードバック制御のみによって周波数比信号Deltaを収束させようとすると、周波数FinまたはFoutが急速に変動したときにその変動速度に収束速度が追従しきれない場合も考えられる。かかる場合に周波数比信号Deltaの収束を早めるためには、周波数比信号Deltaを強制的に算出値CVに一致させることが望ましい。196は変動検出部であり、上記周波数比Fin/Foverの所定周期毎の変動量を監視し、その変動量が所定量(ジャンプ感度)を超えると、レート変化信号RCを出力する。このレート変化信号RCは、周波数比信号Deltaを算出値CVに強制的に一致させるための信号である。なお、ジャンプ感度は、図示せぬ制御用の処理装置等から与えられる。
1.3.FIFO&PLL回路200
次に、FIFO&PLL回路200の構成を図3を参照し説明する。
図において204はカウンタであり、「0」〜「7」の範囲で入力クロックCKinを循環的にカウントする。206はFIFOバッファであり、書き込みおよび読み出しを独立に制御できる「8」ワードのRAMによって構成されている。FIFOバッファ206に対しては、上記シリアル・パラレル変換器110からのパラレルデータPDinが書込みデータwdtとして供給され、カウンタ204のカウント結果が書込みアドレスwadとして供給され、入力クロックCKinが書込みイネーブル信号weとして供給される。従って、FIFOバッファ206の各アドレス「0」〜「7」には、入力クロックCKinに同期して、データPDinが循環的に書き込まれてゆくことになる。
また、202はカウンタであり、FIFOバッファ206の読出しアドレスradを歩進させるためのシフト信号SH(詳細は後述する)が供給され、「0」〜「7」の範囲で該シフト信号SHを循環的にカウントする。このカウント結果は、読出しアドレスradとしてFIFOバッファ206に供給され、FIFOバッファ206からは、当該アドレスに格納されている内容がデータPD1として常時出力されることになる。208は減算器であり、カウンタ202,204のカウント結果の差、すなわち「“8+wad−rad”を“8”で除算したときの余り」を差分データS208として出力する。この差分データS208は、FIFOバッファ206に書き込まれたデータPDinのうち未だデータPD1として出力されていないデータの数である。ここで、FIFOバッファ206のFIFO動作のために、カウンタ202,204においては、各々のカウント結果に基づいて他方のカウント結果に対して制限が加えられる。
すなわち、シフト信号SHがカウンタ202に入力されたとき、ここで仮にカウンタ202を歩進させたならば読出しアドレスradが書込みアドレスwadに一致する場合には、当該シフト信号SHは無視される。同様に、入力クロックCKinがカウンタ204に入力されたとき、ここで仮にカウンタ204を歩進させたならば書込みアドレスwadが読出しアドレスradに一致する場合には、当該入力クロックCKinは無視される。これにより、差分データS208は、「1」以上「7」以下の範囲に制限されることになる。210は微調整テーブルであり、差分データS208と、後述する「0」〜「7」の範囲のカウント値TCとに基づいて、図9(a)に示す微調整値S210を出力する。なお、微調整値S210の意義については後述する。
212は全加算器であり、ここで周波数比信号Deltaと微調整値S210とが加算される。全加算器212は「32」ビット幅を有し、上位から第nビット(n=1〜32)が「2-n」の位を表す固定小数点方式の加算器である。215はセレクタであり、上記変換制御部180内の変動検出部196からレート変化信号RCが出力された場合は上記算出値CVを選択し、それ以外の場合は全加算器212の加算結果を選択し、選択結果を出力する。216は2段のラッチ回路であり、オーバーサンプリングクロックCKoverの立上がりで該セレクタ215の選択結果をラッチし、ラッチした結果をその直後のクロックCKoverの立下がりで新たな周波数比信号Deltaとして出力する。
218は全加算器であり、全加算器212と同様に構成され、周波数比信号Deltaと位相信号PH(詳細は後述する)とを加算する。全加算器218の最上位桁は「2-1」の桁であるから、加算結果のうち「20」の位に繰り上がった部分はキャリー信号、すなわち上記シフト信号SHとして出力される。そして、加算結果のうち「2-1」の桁以下の部分は、加算結果S218として出力される。220は2段のラッチ回路であり、クロックCKoverの立上がりで加算結果S218をラッチし、その結果をその直後のクロックCKoverの立下がりで新たな位相信号PHとして出力する。次に、226はDCレベル検出器であり、信号Deltaに含まれる直流成分レベルDelta_DCを検出する。具体的には、信号Deltaをローパスフィルタ処理することにより直流成分レベルDelta_DCを検出しても良いし、あるいは、信号Deltaの揺らぎの正側のピークと負側のピークを検出してその中間値を直流成分レベルDelta_DCとして出力するようにしてもよい。
224は周期検出器であり、信号Deltaの揺らぎの周期を検出し、各周期において信号Deltaが直流成分レベルDelta_DCを横切って立ち上がるタイミングで周期パルスCPを発生する。信号Deltaはサインカーブに近い波形で揺らいでいるので、その周期の検出は容易である。例えば、信号Deltaを微分した微分値がゼロになるタイミングを、信号Deltaの正と負のピークとして検出し、その2つが検出される毎に「1周期」を検出するようにしてもよいし、信号Deltaが直流成分レベルDelta_DCを負の方向と正の方向へ横切るタイミングから各周期を検出しても良い。222は「3ビット」のカウンタであり、周波数比信号Deltaのジャンプが発生すると(レート変化信号RCが出力されると)ゼロクリアされ、その後に周期パルスCPが発生する毎に「1」ずつカウントアップされる。但し、カウント結果が「3ビット」の最大値「7」に達すると、その後は周期パルスCPが再び入力されるまで「7」のカウント結果が保持される。
1.4.第1係数メモリ120および第1フィルタ130
次に、第1フィルタ130の構成を図4を参照し説明する。図において132−0〜132−19は直列に接続された「20」個の2段のラッチ回路であり、シフト信号SHが出力されているタイミングに各入力端に供給されたデータをラッチし、その結果をそのシフト信号SHの立下がり以降に出力する。また、初段のラッチ回路132−0にはデータPD1が供給される。従って、ラッチ回路132−0〜132−19には、シフト信号SHの周期毎に過去「20」サンプルのデータPD1が記憶されることになる。134−0〜134−19は乗算器であり、これら過去「20」サンプルのデータPD1に対して各々係数C0〜C19を乗算する。136−1〜136−19は加算器であり、乗算器134−0〜134−19における乗算結果を加算し、その結果をデータPDmidとして出力する。
一方、第1係数メモリ120には、上記係数C0〜C19を「1組の係数群」として、「4096(=212)組の係数群」を出力するためのデータが記憶されている。この係数群は、第1フィルタ130でデータPD1のサンプリング周波数をFinからFoutに変換する際に、元のデータPD1が有する信号帯域以上の周波数帯域の成分を減衰させるようなローパスフィルタ特性を有する係数群である。そして、第1係数メモリ120には、オーバーサンプリングクロックCKover毎に位相信号PHの上位12ビットがアドレス信号として供給される。従って、位相信号PHが第1係数メモリ120供給されると、「Fin/2」以上の周波数帯域を減衰させる周波数特性の係数カーブをクロックCKoverの周期でサンプリングした「4096組」の係数群の中から、位相信号PHに対応する1組の係数群が選択され、該係数群が第1フィルタ130に供給されるのである。
ここで、第1係数メモリ120には、サンプリング周波数FinとFoverの組み合わせ毎に「4096組」の係数群を別個に記憶するようにしてもよいが、上記係数カーブのデータを1セットだけ記憶しておき、その時間軸をサンプリング周波数FinとFoverによりスケーリングするようにしてもよい。かかる構成においても、本実施例と同様に、アドレス信号で参照できる「4096組」の係数群を生成することができるからである。なお、この係数群ないし係数カーブは、例えばSINC関数(sin(x)/x)に窓関数を施したもの、あるいはラグランジェ関数等、種々の関数に基づく係数群ないし係数カーブであってよい。
ところで、ラッチ回路132−0〜132−19に格納されているデータはシフト信号SH毎にシフトされるが、係数C0〜C19は各クロックCKover毎の位相信号PHに基づいて与えられる。このクロックCKover毎の畳み込み演算により、サンプリング周波数FinのデータPD1は、サンプリング周波数FoverのデータPDmidに変換される。なお、上述したようにクロックCKoverは出力クロックCKoutに準同期したクロックであるので、このデータPDmidは既に出力クロックCKoutに準同期したデータになっている。
1.5.第2係数メモリ140および第2フィルタ150
次に、第2フィルタ150の構成を図5を参照し説明する。
図において152−0〜152−63は直列に接続された「64」個の2段のラッチ回路であり、クロックCKoverの立上がりで各入力端に供給されたデータをラッチし、その結果を直後のクロックCKoverの立下がりで出力する。また、初段のラッチ回路132−0にはデータPDmidが供給される。従って、ラッチ回路152−0〜152−63には、クロックCKoverの周期毎に過去「64」サンプルのデータPDmidが記憶されることになる。154−0〜154−63は乗算器であり、これら過去「64」サンプルのデータPDmidに対して各々係数K0〜K63を乗算する。156−1〜156−63は加算器であり、乗算器154−0〜154−63における乗算結果を加算し、その結果をデータPD2として出力する。
158はダウンサンプラであり、データPD2のサンプリング周波数を「Fover/MP」すなわち出力サンプリング周波数Foutに変換し、その結果をデータPDoutとして出力する。なお、乗算器154−0〜154−63および加算器156−1〜156−63における演算は各クロックCKover毎に実行する必要はなく、クロックCKoverに対して「MP回に1回」だけ演算を行えば充分である。これは、仮にその他のタイミングにおける演算を実行したとしても、演算結果はダウンサンプラ158によって破棄されるからである。
ところで、第2係数メモリ140には、上記係数K0〜K63を「1組の係数群」として、「4組の係数群」が記憶されている。第1の係数群は「Fin>FoutであってMP=2」のときに選択され、第2の係数群は「Fin>FoutであってMP=4」のときに選択され、第3の係数群は「Fin>FoutであってMP=8」のときに選択され、第4の係数群は「Fin<Fout」のときに選択される。ここで、第1〜第3の係数群は、データPDmidが有する信号帯域のうち出力サンプリング周波数Foutによって表現できない範囲、すなわち「Fout/2」=「Fover/(MP・2)」以上の信号帯域をカット(減衰)するように設定されている。これは、出力データDoutにおける折り返し雑音を防止するためである。このようにして、データPDmidと係数K0〜K63の畳み込み演算により、信号帯域が制限されたデータPD2が生成される。
一方、第4の係数群は、第2フィルタ150がスルーの特性を有するように設定されている。具体的には係数K0〜K63のうち他の係数群の場合の群遅延と対応する何れか一の係数が「1」であって他の係数が全て「0」になるように設定されている。これは、出力サンプリング周波数Foutが入力サンプリング周波数Finよりも高い場合には、データPDmidの周波数帯域(これは元々の入力データDinの周波数帯域に等しい)は、全て出力データDoutの周波数帯域に含めることができる。かかる場合には、フィルタリング処理を行うとかえって出力データDoutの品質が劣化するため、第2フィルタ150の特性をスルーにすることが望ましいためである。なお、この第4の係数群に関しては、それが記憶されていなくても容易に生成可能であるので、必ずしも第2係数メモリに記憶しなくてもよい。あるいは、「Fin<Fout」のときに、第4の係数群を生成する代りに第2フィルタ自体をバイパスするようにしてもよい。
2.実施例の動作
2.1.通常動作
次に、本実施例の動作を説明する。ここでは、一例として、入力サンプリング周波数Finが「30kHz」であって出力サンプリング周波数Foutが「50kHz」であった場合の例を説明する。まず、入出力クロックCKin,CKoutが変換制御部180に供給されると、Fin計測部181およびFout計測部186において両周波数Fin,Foutが計測される。この例においては周波数Fin,Foutは何れも「入力グループGin=1(60kHz未満)」に属するから、乗数MP決定部185においては乗数MPが「2」に決定される。
また、「Fin/Fover=Fin/(Fout・MP)=0.3」であるから、算出値CVもほぼ「0.3」になる。また、変動検出部196においては、周波数比の未検出状態から周波数比が検出された場合においても、レート変化信号RCが出力される。この結果、FIFO&PLL回路200においては、セレクタ215を介してほぼ「0.3」の算出値CVがラッチ回路216にラッチされ、この値が周波数比信号Deltaとして出力されることになる。これにより、全加算器218の一入力端には、クロックCKover毎にほぼ「0.3」づつの値が供給される。そして、全加算器218の加算結果S218はクロックCKover毎にラッチ回路220にラッチされ、そのラッチされた値である位相信号PHは再び全加算器218の他入力端に供給される。
これにより、クロックCKover毎にほぼ「0.3」づつ累積された累積結果の「小数部」が位相信号PHとしてラッチ回路220から出力されるとともに、累積結果において「20=1」の位への繰り上がりが生じる毎にシフト信号SHが出力されることになる。また、カウンタ202,204においてはシフト信号SHおよび入力クロックCKin数が循環的にカウントされ、そのカウント結果である読出しアドレスradおよび書込みアドレスwadがFIFOバッファ206に供給されるとともに、減算器208を介して両者の差分である差分データS208が出力される。
ここで、上記FIFO&PLL回路200内の各信号の関係を図6を参照し説明する。同図に示すように、入力クロックCKinの「1」周期においてクロックCKoverが「3」回または「4」回立ち上がる。そして、シフト信号SHはクロックCKoverに同期して「3」または「4」周期毎に出力される。ここで、周波数FinおよびFoutがともに安定しており、かつ、周波数比信号Deltaが「Fin/Fover」に完全に一致していたと仮定すると、シフト信号SHの平均周波数は入力サンプリング周波数Finに一致する。かかる場合には、読出しアドレスradおよび書込みアドレスwadの更新速度の平均値も一致するから、差分データS208はある二つ値(図示の例では「3」および「4」)を交互に繰り返すことになる。また、位相信号PHは、クロックCKover毎に変化する階段波状の波形を有しているが、その変化点(黒丸印)は、破線で示す鋸歯状波PH’上の点になる。位相信号PHは、この鋸歯状波PH’の立下がりタイミングを基準タイミングとして、クロックCKoverが発生した時の位相を示す信号になる。
次に、第1フィルタ130および第2フィルタ150等の動作を図7を参照し説明する。同図(a)は入力データDinの周波数スペクトルを示す。入力データDinの入力サンプリング周波数Finは「30kHz」であるから、入力データDinの原信号の周波数スペクトルは「0〜15kHz」に抑えられている。そして、原信号が周波数Finでサンプリングされることによって、図示のように「15〜30kHz」のスペクトル成分が発生する。なお、入力データDinのスペクトル成分は、さらに上の帯域にも存在するが、図上では省略されている。次に、同図(b)は、第1フィルタ130により、データPD1の信号帯域を周波数Finの半分の「15kHz」以下に帯域制限しつつ、出力クロックCKoutに準同期した「周波数Fover=100kHz」のクロックCKoverでオーバーサンプリングして得られたデータPDmidの周波数スペクトルを示す。このデータPDmidにおいては、原信号の「0〜15kHz」のスペクトル成分に対応して、「85〜100kHz」のスペクトル成分が発生している。
次に、今回の例において第2フィルタ150に適用されるフィルタ特性を同図(c)に示す。上述したように、「Fin<Fout」である場合は、スルーの特性を有する第4の係数群が第2フィルタ150に適用される。このため、同図(d)に示すように、データPD2の周波数スペクトルはデータPDmidの周波数スペクトルに一致する。そして、ダウンサンプラ158によってデータPD2がダウンサンプリングされると、その結果であるデータPDoutにおいては、原信号の「0〜15kHz」のスペクトル成分に対応して、「35〜50kHz」のスペクトル成分が発生する。これをシリアルデータに変換した出力データDoutにおいても、スペクトル成分は同様である。
次に、周波数Fin,Foutの他の組み合わせの例として、Fin=「50kHz」、Fout=「34kHz」を適用した場合のフィルタ130,150等の動作を図8を参照し説明する。同図(a)は入力データDinの周波数スペクトルを示す。入力データDinの原信号の周波数スペクトルは「0〜25kHz」に抑えられており、原信号が周波数Finでサンプリングされることによって、図示のように「25〜50kHz」のスペクトル成分が発生する。ここで、周波数Fin,Foutは共に「60kHz未満」であるから乗数MPは「2」、オーバーサンプリング周波数Foverは「68kHz」に設定される。同図(b)は、第1フィルタ130により、データPD1の信号帯域を周波数Finの半分の「25kHz」以下に帯域制限しつつ、出力クロックCKoutに準同期した「周波数Fover=68kHz」のクロックCKoverでオーバーサンプリングして得られたデータPDmidの周波数スペクトルを示す。このデータPDmidにおいては、原信号の「0〜25kHz」のスペクトル成分に対応して、「43〜68kHz」のスペクトル成分が発生している。
次に、今回の例において第2フィルタ150に適用されるフィルタ特性を同図(c)に示す。上述したように、「Fin>Fout」である場合は、乗数MPに応じたフィルタ特性が適用される。そして、乗数MPが「2」である場合には、「Fover/4〜Fover・(3/4)」(今回の例においては17〜51kHz)の帯域をカットするように係数K0〜K63が設定される。従って、データPDmidが元々有していた周波数成分のうち、「17〜25kHz」および「43〜51kHz」の部分はカットされ、その結果が同図(d)のデータPD2として出力されることになる。そして、ダウンサンプラ158によってデータPD2がダウンサンプリングされると、その結果であるデータPDoutにおいては、再現可能な「0〜17kHz」のスペクトル成分に対応して、「17〜34kHz」のスペクトル成分が発生する。これをシリアルデータに変換した出力データDoutにおいても、スペクトル成分は同様である。
なお、周波数Fin,Foutが他の組み合わせであった場合には、乗数MPが「4」または「8」に設定されうる。ここで、乗数MPが「4」であった場合には「Fover/8〜Fover・(7/8)」の帯域をカットするように係数K0〜K63が設定され、乗数MPが「8」であった場合には「Fover/16〜Fover・(15/16)」の帯域をカットするように係数K0〜K63が設定される。これにより、出力データDoutにおける折り返し雑音が抑制される。
2.2.周波数Fin,Foutに若干の変動が生じた場合の動作
次に、周波数FinまたはFoutに変動が生じた場合の動作を説明する。
図6の例においては、差分データS208は「3」または「4」を交互に繰り返している。また、カウンタ222のカウント値TCは、サンプリング周波数変換装置が動作を開始した後に比較的早い期間内に「4」以上の値に達する(その理由については後述する)。図9(a)によれば、差分データS208が「3」〜「5」であってカウント値TCが「4」以上であれば、微調整テーブル210が出力する微調整値S210は常に「0」であるため、周波数比信号Deltaに変化は生じない。しかし、ここで周波数Finが若干低下し、あるいは周波数Foutが若干上昇したと仮定すると、書込みアドレスwadの変化速度が読出しアドレスradの変化速度よりも相対的に遅くなるため、差分データS208が「2」または「1」に低下する。かかる場合、微調整テーブル210においては、差分データS208の値「2」または「1」に対応して、負値(「−1×2-32」または「−2×2-32」)の微調整値S210が出力される。
従って、全加算器212における加算結果すなわち周波数比信号Deltaは、クロックCKoverの「1」周期毎に微調整値S210相当数づつ小さくなるから、全加算器218においてシフト信号SHが発生する頻度が徐々に下がってゆく。これにより、読出しアドレスradの変化速度が徐々に低くなり、やがて読出しアドレスradおよび書込みアドレスwadの変化速度が均衡するようになる。逆に、周波数Finが若干上昇し、または周波数Foutが若干低下した場合においては、差分データS208が「6」または「7」に上昇するから、正値(「+1×2-32」または「+2×2-32」)の微調整値S210が出力される。これにより、周波数比信号Deltaが時間の経過とともに大きくなり、読出しアドレスradの変化速度が徐々に高くなり、やがて読出しアドレスradおよび書込みアドレスwadの変化速度が均衡するようになる。
2.3.周波数Fin,Foutに急速な変動が生じた場合の動作
また、周波数FinまたはFoutが、微調整テーブル210によって調整可能な範囲を外れて急速に変化する場合もありうる。かかる場合には、周波数比算出部184において計測される周波数比Fin/Foverがジャンプ感度を超え、変動検出部196からレート変化信号RCが出力される。この場合には、セレクタ215を介して算出値CVが周波数比信号Deltaとしてラッチ回路216にラッチされるから、周波数比信号Deltaが略正しい値に直ちに設定されることになる。なお、周波数比算出部184から出力される周波数比Fin/Foverは、上述したように「15ビット」幅のデータであるが、実際に出力される周波数比Fin/Foverの精度はさらに低くなる。これは、高い精度で周波数比Fin/Foverを求めるためにはある程度の観測時間が必要である一方、実際に周波数FinまたはFoutに急速な変動が生じた場合には周波数比信号Deltaを迅速に変更しなければならないからである。
ここで、「周波数FinまたはFoutが急速に変化した場合」には、読出しアドレスradが書込みアドレスwadにほぼ追いついている状態、すなわち差分データS208が「1」または「2」である状態と、書込みアドレスwadが読出しアドレスradにほぼ追いついている状態、すなわち差分データS208が「6」または「7」である状態との「2」種類が考えられる。そして、両者のうち何れの状態であるかは差分データS208のMSBを参照すれば直ちに判明する。本実施例にあっては、この判断結果に応じて算出値CVが決定されるため、上述したように、算出値作成部194には差分データS208のMSBが供給されるのである。そして、前者の状態においては、読出しアドレスradの更新頻度をやや低めに設定するために、算出値CVの下位「17ビット」が全て“0”に設定され、後者の状態においては、読出しアドレスradの更新頻度をやや高めに設定するために、算出値CVの下位「17ビット」が全て“1”に設定されるのである。
また、レート変化信号RCが出力されると、カウンタ222のカウント値TCが「0」にリセットされる。ここで図9(a)を参照すると、カウント値TCが「4」〜「7」の範囲と比較して、カウント値TCが「0」〜「3」の範囲においては微調整値S210の絶対値が大きくなるように、すなわち差分データS208に対する微調整値S210の感度が高くなるように設定されていることが解る。ここで、微調整値S210の感度と、周波数比信号Deltaとの関係を図10(a),(b)を参照し説明しておく。これらの図において、あるタイミングに周波数比Fin/Foverの急速な変動が検出され、周波数比信号Deltaがその時点の算出値CVにジャンプしたとする。この算出値CVは、一般的には周波数比信号Deltaの理想値と比較すると若干の差異があるため、その差異を狭めるように微調整値S210が決定される。但し、あるタイミングで周波数比信号Deltaがその理想値に一致したとしても、その結果が差分データS208に反映されるまでにある程度の時間を要するため、その遅れ時間に応じた時間だけ周波数比信号Deltaはオーバーシュートする。結局、周波数比信号Deltaはその理想値を中心にして、ほぼ一定の振幅および周期で振動し続けることになる。
周波数比信号Deltaが算出値CVにジャンプした後、この振動振幅内に収束するまでの時間を「ロック時間」という。図10(a),(b)を比較すると、ロック時間は差分データS208に対する微調整値S210の感度を高くするほど短くすることができる。一方、微調整値S210の感度を高くすると、周波数比信号Deltaの振動振幅が大きくなり、その周期も短くなることが解る。しかし、周波数比信号Deltaの振動振幅が大きい場合、あるいは振動の周期が短い場合には、出力データDoutの信号品質の劣化が激しくなるという問題が生じる。なお、実験によれば、この振動周期を「1Hz」程度以下に抑えると、良好な信号品質が得られることが判明している。
周波数比信号Deltaの振動振幅を抑制し、振動周期を長くするためには、図10(b)に示すように、差分データS208に対する微調整値S210の感度、すなわち同一の差分データS208に対する微調整値S210の絶対値を低下させればよい。しかし、単に微調整値S210の感度を低下させると、周波数比信号Deltaが僅かづつしか変動しなくなるため、ロック時間が長くなりすぎるという問題が生じる。このように、周波数比信号Deltaの「高い安定性」と「短いロック時間」は相反する要求であり、微調整値S210の感度を一律に決定したのでは双方の要求を満たすことは困難である。
そこで、本実施例においては、上述したように、カウント値TCに応じて微調整値S210の感度を切り替えることにしたものである。ここで、本実施例によって得られる周波数比信号Deltaの波形の一例を図10(c)に示す。まず、周波数比信号Deltaが算出値CVにジャンプすると、カウント値TCが「0」〜「3」の期間(「過渡期」という)においては、感度の高い微調整値S210が適用されるから、周波数比信号Deltaは比較的急速にその理想値付近の値に接近する。特に、過渡期においては、差分データS208が「4」以外の値であるときは、微調整値S210は必ず「0」以外の値になる。そして、図6から明らかなように、シフト信号SHの「1」周期内で、差分データS208が「4」以外の値になる期間は必然的に発生する。従って、過渡期においては、周波数比信号Deltaに常に修正が加えられることになり、これによって応答速度を一層速めることができるのである。
但し、過渡期においては周波数比信号Deltaの振動振幅が大きくなり、その周期も短くなる。かかる振動状態が「4」周期継続した後、カウント値TCが「4」以上になると、感度の低い微調整値S210が適用される。この期間を「安定期」という。安定期においては、差分データS208が「3」〜「5」の範囲であれば、微調整値S210は「0」になる。これにより、周波数比信号Deltaの振動振幅は抑制され、その振動周期も長くなることが解る。このように、本実施例においては、カウント値TCに応じて、差分データS208に対する微調整値S210の感度が切り替えられるから、周波数比信号Deltaについて「高い安定性」と「短いロック時間」とを共に達成することができるのである。また、微調整値S210の感度を切り替えるタイミング、すなわち周期パルスCPが出力されるタイミングは、周波数比信号Deltaがその直流成分レベルDelta_DCを横切って立ち上がるタイミングに設定されていることも本実施例の特徴の一つである。DCレベル検出器226によって得られた直流成分レベルDelta_DCは、周波数比信号Deltaの理想値に非常に近い値になるため、状態が「安定期」に遷移した後は、周波数比信号Deltaはその理想値付近で安定して振動することになる。
また、本実施例においては、算出値CVの精度を高めて、微調整値S210の感度が高い場合の周波数比信号Deltaの振動振幅内にジャンプできるようにしている。これは、ロック時間を短縮する(実質的にゼロになる)のみならず、周波数比信号Deltaが振動振幅内に入っている場合には周波数比信号Deltaに対するフィードバックによりFIFOバッファ206内に残っているデータ量の調整が適切に行われるためである。実験によれば、微調整値S210の感度が高い場合の周波数比信号Deltaの振幅は全「32ビット」中の「18〜20ビット」程度であったので、その振動振幅内にジャンプするためには、算出値CVの精度が「14〜15ビット」程度必要になる。
現在のカスタムLSIの一般的なシステムクロックは、数十MHz〜数百MHzである。例えばシステムクロックを「100MHz」として周波数「50kHz〜200kHz」のサンプリングクロック(CKin,CKout)の周期を測定した場合、その周期の精度は「10〜11ビット」程度になり、十分な精度の算出値CVを算出することができない。そこで、本実施例においては、前述した分周回路190,192によりサンプリングクロックを「64分周」し、サンプリングクロックの「64周期」分の時間を測定することにより、サンプリング周波数を「15〜16ビット」程度の精度で測定できるようにしている。なお、精度を向上させる方法としては、このように分周回路を用いる方法の他に、システムクロックをより高くする方法も考えられる。また、本実施例においては算出値CVの精度が「14〜15ビット」程度必要ということであったが、上述したように、必要な精度は周波数比信号Deltaの微調整値S210の感度に応じて変化するので、それに応じて算出値CVに求められる精度も変化する。
3.変形例
本発明は上述した実施例に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)微調整テーブル210が出力する微調整値S210は上記実施例のものに限定されず、入出力クロックCKin,CKoutの安定度に応じて適宜変更してもよい。例えば、微調整値S210として、図9(b)に示すものを採用してもよい。この例においては、微調整値S210は、カウント値TC=「0」〜「2」の第1段階と、TC=「3」,「4」の第2段階と、TC=「5」以上の第3段階とにおいて異なる値に設定されている。第2段階においては、第1段階よりは安定度が高く、第3段階よりは追従性の高い値が採用されている。この例では、「過渡期(第1,第2段階)」の長さが実施例のものよりも若干長くなるが、過渡期から安定期に、よりスムーズに状態を移行することができる。
(2)また、上記実施例のフィルタ130,150におけるタップ数(ラッチ回路132−0〜132−19およびラッチ回路152−0〜152−63の段数)は上述した数に限定されるものではなく、各信号のビット数も上記実施例において例示したビット数に限られるものでもない。これらは必要とされる性能に応じて適宜増減してもよい。また、分周回路190,192における分周比も「64」に限定されるものではないことは言うまでもない。
(3)上記実施例においては、カウンタ202,204のカウント結果を減算することにより差分データS208を生成したが、入力クロックCKinおよびシフト信号SHをアップおよびダウン信号として入力する、1個のカウンタによって差分データS208を生成することもできる。
(4)また、上記実施例において、乗数MPを決定するためのサンプリング周波数のグループ分けの仕方は一例に過ぎないものであり、グループ分けの方法も任意に決定してもよい。例えば、上記実施例ではグループ1とグループ2の境界の周波数Ft1は「60kHz」であり、グループ2とグループ3の境界の周波数Ft2は「120kHz」であったが、各境界周波数はこれらに限られるものではない。但し、サンプリング周波数として使われることの多い「44.1kHz」、「88.2kHz」、「176.4kHz」、「48kHz」、「96kHz」、「192kHz」の近傍は避けた方が望ましい。例えば、上記実施例と同様に周波数帯域を「3」グループに分割する場合は、周波数Ft1を「55〜80kHz」、周波数Ft2を「110〜160kHz」付近の周波数にするとよい。また、グループ数は「3」に限られるものではなく、周波数帯域を「2」あるいは「4」グループに分けるようにしてもよい。
(5)また、上記実施例においては、入力クロックCKinから検出した入力サンプリング周波数Finに基づいて入力グループGinを決定し、出力クロックCKoutから検出した出力サンプリング周波数Foutに基づいて出力グループGoutを決定し、これら入出力グループGin,Goutの組み合わせに応じて乗数MPを決定したが、この乗数MPの決定方法も上記実施例のものに限定されるわけではない。
例えば、入力サンプリング周波数Finと出力サンプリング周波数Foutの周波数比を求め、求めた周波数比に基づいて乗数MPを決定してもよい。ここで、周波数比を求める方法としては、入力クロックCKinから入力サンプリング周波数Finを検出し、出力クロックCKoutから出力サンプリング周波数Foutを検出し、両者を割り算することが考えられる。また、他の方法として、出力クロックCKoutがn周期発生する間に入力クロックCKinが何周期発生するかを計測し、その値から周波数比を求めても良い。逆に、入力クロックCKinがn周期発生する間に出力クロックCKoutが何周期発生するかを計測し、その値から周波数比を求めても良い。このように、サンプリング周波数Fin,Foutを直接的に得ることは必ずしも必要ではない。
また、周波数比に基づいて乗数MPを決定する方法としては、例えば入力サンプリング周波数Finが出力サンプリング周波数Foutの「1.2」倍以下であれば乗数MPを「2」とし、「1.2」倍を超えて「2.4」倍以下であれば乗数MPを「4」とし、「2.4」倍を超えていれば乗数MPを「8」とするとよい。この例においては、乗数MPを異なる値にする境界が「1.2」の倍数であるが、必ずしも「1.2」の倍数でなくてもよい。例えば「1〜1.3」倍の範囲の値の倍数としてもよいし、あるいは境界を特定の数字の倍数とせず、例えば「1.2」倍、「2.3」倍、「4.4」倍を境界にしてもよい。
このような変形を行うにあたっては、図2の周波数比算出部184の算出した周波数比を乗数MP決定部185に供給し、乗数MP決定部185はその周波数比に基づいて乗数MPを決定するようにするとよい。この変形例および上記実施例の何れにおいても、乗数MP決定部185において、乗数MPは、入力クロックCKinの入力サンプリング周波数Finと出力クロックCKoutの出力サンプリング周波数Foutの広い意味での周波数比に関連して決定されている。
(6)デジタルレコーダやデジタルミキサ等においては、一つの入力クロックに同期して複数チャンネルの信号を転送することが一般的である。上記実施例においては、入力データDinが1チャンネルのデータである場合を例として説明したが、入力データDinを複数チャンネル入力できるようにしてもよい。すなわち、入力データDinの各サンプリング周期を複数チャンネルに対応する複数時分割チャンネルに分割し、FIFOバッファ206、第1フィルタ130、第2フィルタ150の部分を時分割チャンネル動作させるようにするとよい。ここで、入力クロックCKin、出力クロックCKoutは複数チャンネルについて共通であるため、乗数MP、位相信号PH、シフト信号SH、係数C0〜C19、係数K0〜K63などの各種信号を複数チャンネルで共用することができ、それらの信号を生成する回路は複数チャンネル化する必要はない。
(7)また、上記実施例におけるカウンタ222は、レート変化信号RCによってゼロクリアされた後、周波数比信号Deltaの揺らぎ周期をカウントするカウンタであったが、これは必ずしも揺らぎ周期をカウントするカウンタでなくてもよい。例えば、該揺らぎ周期をカウントする代わりにレート変化信号RC入力後の経過時間をカウントし、周波数比信号Deltaが直流成分レベルDelta_DCとクロスオーバーするタイミング(周期パルスCPが発生するタイミング)毎に、そのカウントした経過時間を出力するようなカウンタであってもよい。
本発明の一実施例のサンプリング周波数変換装置の全体ブロック図である。 変換制御部180の詳細ブロック図である。 FIFO&PLL回路200の詳細ブロック図である。 第1フィルタ130の詳細ブロック図である。 第2フィルタ150の詳細ブロック図である。 一実施例における各部の波形図である。 一実施例における各部の周波数スペクトルを示す図である。 一実施例における各部の周波数スペクトルを示す図である。 微調整テーブル210の動作説明図である。 一実施例の動作説明図である。
符号の説明
110:シリアル・パラレル変換器、120:第1係数メモリ、130:第1フィルタ、132−0〜132−19:ラッチ回路、134−0〜134−19:乗算器、136−1〜136−19:加算器、140:第2係数メモリ、150:第2フィルタ、152−0〜152−63:ラッチ回路、154−0〜154−63:乗算器、156−1〜156−63:加算器、158:ダウンサンプラ、160:パラレル・シリアル変換器、170:オーバーサンプリングクロック発生器(オーバーサンプリングクロック発生手段)、180:変換制御部、181:Fin計測部、182:Gin判定部、184:周波数比算出部(周波数比検出手段)、185:乗数MP決定部、186:Fout計測部、187:Gout判定部、190,192:分周回路、194:算出値作成部(算出手段)、196:変動検出部、200:FIFO&PLL回路、202,204:カウンタ、206:FIFOバッファ、208:減算器、210:微調整テーブル(周波数比信号調節手段)、212,218:全加算器、214:リミット回路、215:セレクタ(強制設定手段)、216,220:ラッチ回路、222:カウンタ(感度調節手段)、224:周期検出器(交差タイミング検出手段)、226:DCレベル検出器(直流成分出力手段)。

Claims (3)

  1. 入力データのサンプリングタイミングに同期する入力クロックと、出力データのサンプリングタイミングに同期するとともに前記入力クロックには同期しない出力クロックとが入力されると、前記出力クロックを乗数MP倍に逓倍することにより、前記入力クロックには同期しないオーバーサンプリングクロックを発生するオーバーサンプリングクロック発生手段と、
    前記入力データを順次記憶するFIFOバッファと、
    周波数比信号を前記オーバーサンプリングクロック毎に累積するとともに、その累積結果が所定条件を満たす毎に、前記FIFOバッファに書き込まれた入力データを順次読み出す読出手段と、
    前記読出手段により読み出された入力データに対し、前記オーバーサンプリングクロック毎に、前記累積結果に基づく非同期サンプリング周波数変換を施し、前記オーバーサンプリングクロックに同期したオーバーサンプリング信号を出力するオーバーサンプリング手段と、
    前記オーバーサンプリング周波数の「1/(MP・2)」倍以上の信号成分を除去しつつ、該オーバーサンプリング信号を「1/MP」にダウンサンプリングすることにより、前記出力クロックに同期した前記出力データを出力するダウンサンプリング手段と、
    前記FIFOバッファに既に書き込まれ前記読出手段によって未だ読み出されていないデータ数である差分データに基づく調整値を、前記周波数比信号に対して増減する周波数比信号調節手段と、
    前記入力クロックと前記出力クロックとに基づいて、前記入力サンプリング周波数と前記オーバーサンプリング周波数の周波数比を検出する周波数比検出手段と、
    前記周波数比と、前記差分データとに基づいて、前記周波数比信号として強制的に設定され得る算出値を算出する算出手段と、
    前記入力サンプリング周波数または前記出力サンプリング周波数が所定のジャンプ条件を満たす程度に変動すると、前記周波数比信号を前記算出値に強制的に設定する強制設定手段と
    を有することを特徴とするサンプリング周波数変換装置。
  2. 入力データのサンプリングタイミングに同期する入力クロックと、出力データのサンプリングタイミングに同期するとともに前記入力クロックには同期しない出力クロックとが入力されると、前記出力クロックを乗数MP倍に逓倍することにより、前記入力クロックには同期しないオーバーサンプリングクロックを発生するオーバーサンプリングクロック発生手段と、
    前記入力データを順次記憶するFIFOバッファと、
    周波数比信号を前記オーバーサンプリングクロック毎に累積するとともに、その累積結果が所定条件を満たす毎に、前記FIFOバッファに書き込まれた入力データを順次読み出す読出手段と、
    前記読出手段により読み出された入力データに対し、前記オーバーサンプリングクロック毎に、前記累積結果に基づく非同期サンプリング周波数変換を施し、前記オーバーサンプリングクロックに同期したオーバーサンプリング信号を出力するオーバーサンプリング手段と、
    前記オーバーサンプリング周波数の「1/(MP・2)」倍以上の信号成分を除去しつつ、該オーバーサンプリング信号を「1/MP」にダウンサンプリングすることにより、前記出力クロックに同期した前記出力データを出力するダウンサンプリング手段と、
    前記FIFOバッファに既に書き込まれ前記読出手段によって未だ読み出されていないデータ数である差分データに基づく調整値を、前記周波数比信号に対して増減する周波数比信号調節手段と、
    前記入力クロックと前記出力クロックとに基づいて、前記入力サンプリング周波数と前記オーバーサンプリング周波数の周波数比を検出する周波数比検出手段と、
    前記周波数比に基づいて、前記周波数比信号として強制的に設定され得る算出値を算出する算出手段と、
    前記入力サンプリング周波数または前記出力サンプリング周波数が所定のジャンプ条件を満たす程度に変動すると、前記周波数比信号を前記算出値に強制的に設定する強制設定手段と、
    前記強制設定手段によって前記周波数比信号が強制的に設定されると、前記差分データに対する前記調整値の感度を高め、しかる後に前記感度を低下させる感度調節手段と
    を有することを特徴とするサンプリング周波数変換装置。
  3. 前記周波数比信号の直流成分を出力する直流成分出力手段と、
    前記周波数比信号と、前記直流成分のレベルとが交差するタイミングである交差タイミングを検出する交差タイミング検出手段と
    をさらに有し、前記強制設定手段は前記交差タイミングにおいて前記感度を低下させることを特徴とする請求項2記載のサンプリング周波数変換装置。
JP2004011906A 2004-01-20 2004-01-20 サンプリング周波数変換装置 Expired - Fee Related JP3915781B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004011906A JP3915781B2 (ja) 2004-01-20 2004-01-20 サンプリング周波数変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004011906A JP3915781B2 (ja) 2004-01-20 2004-01-20 サンプリング周波数変換装置

Publications (2)

Publication Number Publication Date
JP2005210190A true JP2005210190A (ja) 2005-08-04
JP3915781B2 JP3915781B2 (ja) 2007-05-16

Family

ID=34898453

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004011906A Expired - Fee Related JP3915781B2 (ja) 2004-01-20 2004-01-20 サンプリング周波数変換装置

Country Status (1)

Country Link
JP (1) JP3915781B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114255788A (zh) * 2020-09-21 2022-03-29 炬芯科技股份有限公司 一种异步采样的转换方法及其转换装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114255788A (zh) * 2020-09-21 2022-03-29 炬芯科技股份有限公司 一种异步采样的转换方法及其转换装置
CN114255788B (zh) * 2020-09-21 2024-04-09 炬芯科技股份有限公司 一种异步采样的转换方法及其转换装置

Also Published As

Publication number Publication date
JP3915781B2 (ja) 2007-05-16

Similar Documents

Publication Publication Date Title
US5481568A (en) Data detecting apparatus using an over sampling and an interpolation means
US7433286B2 (en) Jitter detection apparatus
US6687841B1 (en) Wide frequency range PLL clock generating circuit with delta sigma modulating circuitry for reducing the time changing ratio of the input voltage of a voltage controlled oscillator
KR950034204A (ko) 샘플링 주파수 변환 장치 및 메모리 어드레스 제어 장치
JPH1027435A (ja) 再生装置および方法
US7570727B2 (en) Data transmission controller and sampling frequency converter
KR100281951B1 (ko) 데이터 판독 방법, 데이터 판독 장치 및 기록 매체
RU2369036C2 (ru) Устройство воспроизведения данных с ивс, система записи/воспроизведения и фильтр интерполяции
KR20000074813A (ko) 디지털 클럭 복원 회로 및 방법
JP4232207B2 (ja) 情報再生装置
CN109547028B (zh) 数模转换装置、电子乐器、信息处理装置及数模转换方法
JP3915781B2 (ja) サンプリング周波数変換装置
JP4386079B2 (ja) サンプリング周波数変換装置
JP3953023B2 (ja) サンプリング周波数変換装置
JP2010212779A (ja) サンプリング周波数変換装置
JP2004326952A (ja) 情報記憶再生装置
US8942280B1 (en) Method and apparatus for timing jitter measurement
JPH09247137A (ja) 位相誤差検出回路及びデジタルpll回路
US5920533A (en) Clock signal extraction system for high density recording apparatus
JP3289462B2 (ja) 標本化周波数変換装置
JP2004185669A (ja) ウォブル信号処理装置
EP0948844A2 (en) Method and device for detecting bits in a data signal
US6483451B1 (en) Sampling function waveform data generating device
US20100066722A1 (en) Information reproduction appartus and video display apparatus
CN114785364B (zh) 接收器及相关的信号处理方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061006

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070129

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110216

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120216

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130216

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140216

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees