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

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

Info

Publication number
JP3953023B2
JP3953023B2 JP2003387986A JP2003387986A JP3953023B2 JP 3953023 B2 JP3953023 B2 JP 3953023B2 JP 2003387986 A JP2003387986 A JP 2003387986A JP 2003387986 A JP2003387986 A JP 2003387986A JP 3953023 B2 JP3953023 B2 JP 3953023B2
Authority
JP
Japan
Prior art keywords
clock
frequency
input
output
oversampling
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.)
Expired - Fee Related
Application number
JP2003387986A
Other languages
English (en)
Other versions
JP2005151323A (ja
Inventor
哲二 市来
登喜男 白川
靜彦 川合
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 JP2003387986A priority Critical patent/JP3953023B2/ja
Publication of JP2005151323A publication Critical patent/JP2005151323A/ja
Application granted granted Critical
Publication of JP3953023B2 publication Critical patent/JP3953023B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、デジタル音声信号のサンプリング周波数の変換に用いて好適なサンプリング周波数変換装置に関する。
近年、音声信号の記録/再生装置、編集装置、効果装置等はデジタル化されているものが多いが、これらの機器に用いられるサンプリング周波数は異なるため、サンプリング周波数を変換するための種々の装置が提案されている。例えば、特許文献1にあっては、入力サンプリング周期毎にFIFOバッファに入力データのサンプリング値を書き込み、それとは非同期の出力サンプリング周期毎に該FIFOバッファを読み出すことにより、サンプリング周波数を変換する技術が開示されている。ここで、FIFOバッファの読み出しアドレスはほぼ入力サンプリング周期毎に歩進するため、出力サンプリング周波数が入力サンプリング周波数よりも高い場合には、同一のサンプル値が続けて2回読み出される場合もある。そこで、同文献においては、FIFOバッファから読み出されたサンプリング値に対して補間処理を施すことにより、滑らかな出力データを得る技術が開示されている。
また、特許文献2にあっては、入力サンプリング周期毎にFIFOバッファにサンプリング値を書き込み、出力サンプリング周期の「1/8」のオーバーサンプリング周期毎に該FIFOバッファを読み出し、読み出された一連のサンプリング結果に対して畳込み演算を施すことによって出力データを得る技術が開示されている。これら特許文献1,2に開示された技術は入力と出力のサンプリング周波数に10%程度の違いしかない場合の技術であるが、複数種類のサンプリング周波数に対応可能なサンプリング周波数変換装置が特許文献3に開示されている。同文献の技術は、入力データを「2倍」にオーバーサンプリングする段階と、その結果に対して「147/160」、「160/147」あるいは「1/1」の何れかの変換比で周波数変換を行う段階と、その周波数変換結果に対してローパスフィルタリングを施す段階と、このフィルタリング結果に対して必要に応じて「1/2」または「1/3」のダウンサンプリングを施す段階とから成る。そして、各段階の変換比あるいはダウンサンプリング比を切り替えることによって、96kHz、88.2kHz、48kHz、44.1kHzの相互間のサンプリング周波数変換を行うことができる。
特開平11−055075号公報 特開平11−055076号公報 特開平11−017498号公報
しかし、特許文献3記載の技術においても、入出力サンプリング周波数は予め定められた数通りの組み合わせしか許容されず、そこから僅かに外れるような任意の入出力サンプリング周波数に対する変換処理を行うことは不可能であった。さらに、同文献記載の技術では、入出力サンプリング周波数の何れかに「揺らぎ」が生じた場合に、これに対応することができない。このため、特許文献3のサンプリング周波数変換装置の前後に、特許文献1,2に示されるような「揺らぎ」を吸収するための装置を別途設ける必要があった。
この発明は上述した事情に鑑みてなされたものであり、任意の入出力サンプリング周波数に対応して変換処理を行えるサンプリング周波数変換装置を提供することを第一の目的としている。また、サンプリング周波数の揺らぎに独自に対応できるサンプリング周波数変換装置を提供することを第二の目的としている。
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項1記載のサンプリング周波数変換装置にあっては、入力データ(Din)のサンプリングタイミングに同期する入力クロック(CKin)と、出力データ(Dout)のサンプリングタイミングに同期するとともに前記入力クロック(CKin)には同期も準同期もせず、前記入力クロック(CKin)よりも周波数の低い出力クロック(CKout)とに基づいて、該入力クロック(CKin)の入力サンプリング周波数(Fin)の、該出力クロック(CKout)の出力サンプリング周波数(Fout)に対する比が大きくなるほど大きくなる乗数MPを決定する乗数決定手段(185)と、受信した前記出力クロック(CKout)を前記乗数MP倍に逓倍することにより、前記入力クロック(CKin)に同期しないオーバーサンプリングクロック(CKover)を発生するオーバーサンプリングクロック発生手段(170)と、前記入力クロック(CKin)と前記オーバーサンプリングクロック(CKover)とに基づいて、前記入力サンプリング周波数(Fin)の「1/2」倍以上の信号成分を除去しつつ前記入力データ(Din)を非同期サンプリング周波数変換することにより、前記オーバーサンプリングクロック(CKover)に同期したオーバーサンプリング信号(PDmid)を出力するオーバーサンプリング手段(200,120,130,140,152〜156)と、前記オーバーサンプリングクロック(CKover)の周波数であるオーバーサンプリング周波数(Fover)の「1/(MP・2)」倍以上の信号成分を除去しつつ、該オーバーサンプリング信号(PDmid)を「1/MP」にダウンサンプリングすることにより、前記出力クロック(CKout)に同期した前記出力データ(Dout)を出力するダウンサンプリング手段(158)とを具備することを特徴とする。
さらに、請求項2記載の構成にあっては、請求項1記載のサンプリング周波数変換装置において、前記乗数決定手段は、前記入力クロック(CKin)に基づいて、前記入力サンプリング周波数(Fin)を計測する入力サンプリング周波数計測手段(181)と、前記出力クロック(CKout)に基づいて、前記出力サンプリング周波数(Fout)を計測する出力サンプリング周波数計測手段(186)と、計測された前記入力サンプリング周波数(Fin)および前記出力サンプリング周波数(Fout)が複数の周波数帯域のうち各々何れの帯域に属するかを判定する判定手段(182,187)とを備えており、この判定された帯域に基づいて、前記乗数MPを決定していることを特徴とする。
また、請求項3記載のサンプリング周波数変換装置にあっては、入力データ(Din)のサンプリングタイミングに同期する入力クロック(CKin)と、出力データ(Dout)のサンプリングタイミングに同期するとともに前記入力クロック(CKin)には同期も準同期もせず、前記入力クロック(CKin)よりも周波数の低い出力クロック(CKout)とに基づいて、該入力クロック(CKin)の入力サンプリング周波数(Fin)の、該出力クロック(CKout)の出力サンプリング周波数(Fout)に対する比が大きくなるほど大きくなる乗数MPを決定する乗数決定手段(185)と、受信した前記出力クロック(CKout)を前記乗数MP倍に逓倍することにより、前記入力クロック(CKin)には同期しないオーバーサンプリングクロック(CKover)を発生するオーバーサンプリングクロック発生手段(170)と、前記入力データ(Din)を順次記憶するFIFOバッファ(206)と、周波数比信号(Delta)を前記オーバーサンプリングクロック(CKover)毎に累積するとともに、その累積結果が所定条件を満たす毎に、前記FIFOバッファ(206)に書き込まれた入力データを順次読み出す読出手段(204,218,220)と、前記読出手段により読み出された入力データ(PD1)に対し、前記オーバーサンプリングクロック(CKover)毎に、前記累積結果に基づいて位相信号(PH)を出力し該位相信号(PH)に応じた1組の係数群によるローパスフィルタ処理を行う非同期サンプリング周波数変換を施し、前記オーバーサンプリングクロック(CKover)に同期したオーバーサンプリング信号(PDmid)を出力するオーバーサンプリング手段(200,120,130,140,152〜156)と、前記オーバーサンプリングクロック(CKover)の周波数であるオーバーサンプリング周波数(Fover)の「1/(MP・2)」倍以上の信号成分を除去しつつ、該オーバーサンプリング信号(PDmid)を「1/MP」にダウンサンプリングすることにより、前記出力クロック(CKout)に同期した前記出力データ(Dout)を出力するダウンサンプリング手段(158)と、前記FIFOバッファ(206)に既に書き込まれ前記読出手段によって未だ読み出されていないデータ数に基づいて前記周波数比信号(Delta)を増減する周波数比信号調節手段(210,212,216)と、前記入力クロック(CKin)と前記出力クロック(CKout)とに基づいて、前記入力サンプリング周波数(Fin)と前記出力サンプリング周波数(Fout)の周波数比を検出する周波数比検出手段(184)と、この検出された周波数比に基づいて、前記周波数比信号(Delta)として採り得る値の許容範囲を制限する周波数比信号制限手段(183,214)とを有することを特徴とする。
さらに、請求項4記載の構成にあっては、請求項1ないし3の何れかに記載のサンプリング周波数変換装置において、前記乗数決定手段(185)は、前記オーバーサンプリング周波数(Fover)が前記入力クロック(CKin)の周波数よりも高くなるように前記乗数MPを決定することを特徴とする。
このように、入出力サンプリング周波数に基づいて、出力サンプリング周波数とオーバーサンプリング周波数との比である乗数MPを決定する構成によれば、任意の入出力サンプリング周波数に対して最適なオーバーサンプリング周波数を指定することができる。さらに、オーバーサンプリング信号を、前記乗数MPに応じたフィルタ係数によってフィルタリングすることにより、乗数MPとして採り得る値の数と同数の組数だけフィルタ係数を準備しておけばよいから、フィルタ係数を記憶するためのメモリ容量を小さくすることができる。
また、入力サンプリング周波数および出力サンプリング周波数の周波数比に基づいて、周波数比信号として採り得る値の許容範囲を制限する構成によれば、入出力サンプリング周波数が大幅に変化したとき、サンプリング周波数変換動作をその変化に迅速に追従させることができる。
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において181はFin計測部であり、入力クロックCKinの周期を計測することにより、その周波数である入力サンプリング周波数Finを算出する。同様に、186はFout計測部であり、出力クロックCKoutの周期を計測することにより、その周波数である出力サンプリング周波数Foutを算出する。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,Foutの周波数比Fin/Foutを算出する。
ところで、後述するFIFO&PLL回路200においては、「周波数比信号Delta」なる信号が用いられる。この周波数比信号Deltaは、Fin/Fover=Fin/(Fout×MP)とほぼ等しい値を有するが、フィードバック制御により周波数Fin,Foutの「揺らぎ」を吸収しつつ求められる値であり、単に上記周波数比Fin/Foutを「MP」で除算した値とは異なる。この周波数比信号Deltaは、周波数FinまたはFoutの変動に追従して自動的に変化するが、単なるフィードバック制御のみによって周波数比信号Deltaを収束させようとすると、周波数FinまたはFoutが大幅に変動したときにその変動速度に収束速度が追従しきれない場合も考えられる。そこで、周波数比信号Deltaの収束を早めるためには、その上限値および下限値を妥当な範囲に限定しておくことが望ましい。そこで、変換制御部180においては、出力レート制限値発生部183が設けられ、ここにおいて周波数比信号Deltaの上限値LHおよび下限値LLが以下の式により求められる。
上限値LH=Fin/(Fout×MP)+α、
下限値LL=Fin/(Fout×MP)−α
但し、「α=4×2-11」である。
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として常時出力されることになる。FIFOバッファ206のFIFO動作のため、カウンタ204は書込みアドレスwadが読出しアドレスradを追い越さないよう、また、カウンタ202は読出しアドレスradが書込みアドレスwadを追い越さないよう、それぞれカウント動作が制限されている。
208は減算器であり、カウンタ202,204のカウント結果の差、すなわち「“8+wad−rad”を“8”で除算したときの余り」を差分データS208として出力する。この差分データS208は、FIFOバッファ206に書き込まれたデータPDinのうち未だデータPD1として出力されていないデータの数であり、減算によらず1つのカウンタで生成することもできる。210は微調整テーブルであり、差分データS208に基づいて、以下の微調整値S210を出力する。なお、微調整値S210を算出する意義については後述する。
S208=0のときS210=−3×2-32、S208=1のときS210=−2×2-32
S208=2のときS210=−1×2-32、S208=3または4のときS210=0
S208=5のときS210=+1×2-32、S208=6のときS210=+2×2-32
S208=7のときS210=+3×2-32
212は全加算器であり、ここで周波数比信号Deltaと微調整値S210とが加算される。全加算器212は「32」ビット幅を有し、上位から第nビット(n=1〜32)が「2-n」の位を表す固定小数点方式の加算器である。214はリミット回路であり、該全加算器212の加算結果を、「上限値LH以下、かつ、下限値LL以上」の範囲に制限する。換言すれば、全加算器212の加算結果が上限値LHを超えるとリミット回路214からは上限値LHが出力され、加算結果が下限値LL未満になればリミット回路214からは下限値LLが出力され、加算結果が「上限値LH以下、かつ、下限値LL以上」であれば当該加算結果がそのまま出力される。216は2段のラッチ回路であり、オーバーサンプリングクロックCKoverの立上がりで該リミット回路214の出力信号をラッチし、ラッチした結果をその直後のクロックCKoverの立下がりで新たな周波数比信号Deltaとして出力する。
218は全加算器であり、全加算器212と同様に構成され、周波数比信号Deltaと位相信号PH(詳細は後述する)とを加算する。全加算器218の最上位桁は「2-1」の桁であるから、加算結果のうち「20」の位に繰り上がった部分はキャリー信号、すなわち上記シフト信号SHとして出力される。そして、加算結果のうち「2-1」の桁以下の部分は、加算結果S218として出力される。220は2段のラッチ回路であり、クロックCKoverの立上がりで加算結果S218をラッチし、その結果をその直後のクロックCKoverの立下がりで新たな位相信号PHとして出力する。
1.4.第1係数メモリ120および第1フィルタ130
次に、第1フィルタ130の構成を図4を参照し説明する。図において132−0〜132−23は直列に接続された「24」個の2段のラッチ回路であり、シフト信号SHが出力されているタイミングに各入力端に供給されたデータをラッチし、その結果をそのシフト信号SHの立下がり以降に出力する。また、初段のラッチ回路132−0にはデータPD1が供給される。従って、ラッチ回路132−0〜132−23には、シフト信号SHの周期毎に過去「24」サンプルのデータPD1が記憶されることになる。134−0〜134−23は乗算器であり、これら過去「24」サンプルのデータPD1に対して各々係数C0〜C23を乗算する。136−1〜136−23は加算器であり、乗算器134−0〜134−23における乗算結果を加算し、その結果をデータPDmidとして出力する。
一方、第1係数メモリ120には、上記係数C0〜C23を「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−23に格納されているデータはシフト信号SH毎にシフトされるが、係数C0〜C23は各クロックCKover毎の位相信号PHに基づいて与えられる。このクロックCKover毎の畳み込み演算により、サンプリング周波数FinのデータPD1は、サンプリング周波数FoverのデータPDmidに変換される。なお、上述したようにクロックCKoverは出力クロックCKoutに準同期したクロックであるので、このデータPDmidは既に出力クロックCKoutに準同期したデータになっている。
1.5.第2係数メモリ140および第2フィルタ150
次に、第2フィルタ150の構成を図5を参照し説明する。
図において152−0〜152−80は直列に接続された「81」個の2段のラッチ回路であり、クロックCKoverの立上がりで各入力端に供給されたデータをラッチし、その結果を直後のクロックCKoverの立下がりで出力する。また、初段のラッチ回路132−0にはデータPDmidが供給される。従って、ラッチ回路152−0〜152−80には、クロックCKoverの周期毎に過去「81」サンプルのデータPDmidが記憶されることになる。154−0〜154−80は乗算器であり、これら過去「81」サンプルのデータPDmidに対して各々係数K0〜K80を乗算する。156−1〜156−80は加算器であり、乗算器154−0〜154−80における乗算結果を加算し、その結果をデータPD2として出力する。
158はダウンサンプラであり、データPD2のサンプリング周波数を「Fover/MP」すなわち出力サンプリング周波数Foutに変換し、その結果をデータPDoutとして出力する。なお、乗算器154−0〜154−80および加算器156−1〜156−80における演算は各クロックCKover毎に実行する必要はなく、クロックCKoverに対して「MP回に1回」だけ演算を行えば充分である。これは、仮にその他のタイミングにおける演算を実行したとしても、演算結果はダウンサンプラ158によって破棄されるからである。
ところで、第2係数メモリ140には、上記係数K0〜K80を「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〜K80の畳み込み演算により、信号帯域が制限されたデータPD2が生成される。
一方、第4の係数群は、第2フィルタ150がスルーの特性を有するように設定されている。具体的には係数K0〜K80のうち他の係数群の場合の群遅延と対応する何れか一の係数が「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」であるから、出力レート制限値発生部183からは上限値LHとして「0.3+α」および下限値LLとして「0.3−α」が出力される。また、オーバーサンプリングクロック発生器170においては、周波数Foutを「2」逓倍した「周波数Fover=100kHz」のクロックCKoverが出力される。
ところで、FIFO&PLL回路200(図3)においては、回路の起動時に全てのラッチ回路の記憶値が「0」にリセットされる。従って、全加算器212の出力値は「0」に近い値になるが、その値はリミット回路214において下限値LLである「0.3−α」に変換され、この「0.3−α」が周波数比信号Deltaの初期値としてラッチ回路216にラッチされる。これにより、全加算器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’の立下がりタイミング(t0,t1,t2等)を基準タイミングとして、クロック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〜K80が設定される。従って、データ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〜K80が設定され、乗数MPが「8」であった場合には「Fover/16〜Fover・(15/16)」の帯域をカットするように係数K0〜K80が設定される。これにより、出力データDoutにおける折り返し雑音が抑制される。
2.2.周波数Fin,Foutに変動が生じた場合の動作
次に、周波数FinまたはFoutに変動が生じた場合の動作を説明する。
図6の例においては、差分データS208は「3」または「4」を交互に繰り返している。かかる場合には、微調整テーブル210が出力する微調整値S210は常に「0」であるため、周波数比信号Deltaに変化は生じない。しかし、ここで周波数Finが若干低下し、あるいは周波数Foutが若干上昇したと仮定すると、書込みアドレスwadの変化速度が読出しアドレスradの変化速度よりも相対的に遅くなるため、差分データS208が「2」,「1」または「0」に低下する。かかる場合、微調整テーブル210においては、差分データS208の値「2」,「1」または「0」に対応して、負値(「−1×2-32」、「−2×2-32」または「−3×2-32」)の微調整値S210が出力される。
従って、全加算器212における加算結果すなわち周波数比信号Deltaは、クロックCKoverの「1」周期毎に微調整値S210相当数づつ小さくなるから、全加算器218においてシフト信号SHが発生する頻度が徐々に下がってゆく。これにより、読出しアドレスradの変化速度が徐々に低くなり、やがて読出しアドレスradおよび書込みアドレスwadの変化速度が均衡するようになる。逆に、周波数Finが若干上昇し、または周波数Foutが若干低下した場合においては、差分データS208が「5」,「6」または「7」に上昇するから、正値(「+1×2-32」、「+2×2-32」または「+3×2-32」)の微調整値S210が出力される。これにより、周波数比信号Deltaが時間の経過とともに大きくなり、読出しアドレスradの変化速度が徐々に高くなり、やがて読出しアドレスradおよび書込みアドレスwadの変化速度が均衡するようになる。
また、周波数FinまたはFoutが、微調整テーブル210によって調整可能な範囲を外れて大幅に変化する場合もありうる。かかる場合には、周波数Fin,Foutの実測値に基づいて、周波数比信号Deltaが略正しい値(上限値LHまたは下限値LLのうち一方)に直ちに設定される。そして、このように周波数比信号Deltaが上限値LHまたは下限値LLのうち一方に設定された後は、周波数比信号Deltaが最適な値になるように、差分データS208に基づく通常のフィードバック制御が行われる。
このように、本実施例によれば、周波数FinまたはFoutが大幅に変動した場合には、周波数比信号Deltaは周波数比Fin/Foverの実際値に近い値に直ちに設定されるから、全加算器212等によるフィードバック制御が開始される以前においても書込みアドレスwadおよび読出しアドレスradの変化速度にそれほど大きな差異が生じない。これにより、例えば書込みアドレスwadまたは読出しアドレスradのうち一方が他方に追いついてしまうような状態を極力抑制することができ、周波数FinまたはFoutに変動が生じた場合における信号品質の劣化を抑制することができるのである。
3.変形例
本発明は上述した実施例に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記実施例のフィルタ130,150におけるタップ数(ラッチ回路132−0〜132−23およびラッチ回路152−0〜152−80の段数)は上述した数に限定されるものではなく、各信号のビット数も上記実施例において例示したビット数に限られるものでもない。これらは必要とされる性能に応じて適宜増減してもよい。
(2)また、上記実施例において、乗数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」グループに分けるようにしてもよい。
(3)また、上記実施例においては、入力クロック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の広い意味での周波数比に関連して決定されている。
(4)デジタルレコーダやデジタルミキサ等においては、一つの入力クロックに同期して複数チャンネルの信号を転送することが一般的である。上記実施例においては、入力データDinが1チャンネルのデータである場合を例として説明したが、入力データDinを複数チャンネル入力できるようにしてもよい。すなわち、入力データDinの各サンプリング周期を複数チャンネルに対応する複数時分割チャンネルに分割し、FIFOバッファ206、第1フィルタ130、第2フィルタ150の部分を時分割チャンネル動作させるようにするとよい。ここで、入力クロックCKin、出力クロックCKoutは複数チャンネルについて共通であるため、乗数MP、位相信号PH、シフト信号SH、係数C0〜C23、係数K0〜K80などの各種信号を複数チャンネルで共用することができ、それらの信号を生成する回路は複数チャンネル化する必要はない。
本発明の一実施例のサンプリング周波数変換装置の全体ブロック図である。 変換制御部180の詳細ブロック図である。 FIFO&PLL回路200の詳細ブロック図である。 第1フィルタ130の詳細ブロック図である。 第2フィルタ150の詳細ブロック図である。 一実施例における各部の波形図である。 一実施例における各部の周波数スペクトルを示す図である。 一実施例における各部の周波数スペクトルを示す図である。
符号の説明
110:シリアル・パラレル変換器、120:第1係数メモリ、130:第1フィルタ、132−0〜132−23:ラッチ回路、134−0〜134−23:乗算器、136−1〜136−23:加算器、140:第2係数メモリ、150:第2フィルタ、152−0〜152−80:ラッチ回路、154−0〜154−80:乗算器、156−1〜156−80:加算器、158:ダウンサンプラ、160:パラレル・シリアル変換器、170:オーバーサンプリングクロック発生器(オーバーサンプリングクロック発生手段)、180:変換制御部、181:Fin計測部(入力サンプリング周波数計測手段)、182:Gin判定部(帯域判定手段)、183:出力レート制限値発生部、184:周波数比算出部(周波数比検出手段)、185:乗数MP決定部(乗数決定手段)、186:Fout計測部(出力サンプリング周波数計測手段)、187:Gout判定部(帯域判定手段)、200:FIFO&PLL回路、202:カウンタ(第2のカウンタ)、204:カウンタ(第1のカウンタ)、206:FIFOバッファ、208:減算器、210:微調整テーブル(周波数比信号調節手段)、212,218:全加算器、214:リミット回路、216:ラッチ回路(周波数比信号調節手段)、220:ラッチ回路。

Claims (4)

  1. 入力データのサンプリングタイミングに同期する入力クロックと、出力データのサンプリングタイミングに同期するとともに前記入力クロックには同期も準同期もせず、前記入力クロックよりも周波数の低い出力クロックとに基づいて、該入力クロックの入力サンプリング周波数の、該出力クロックの出力サンプリング周波数に対する比が大きくなるほど大きくなる乗数MPを決定する乗数決定手段と、
    受信した前記出力クロックを前記乗数MP倍に逓倍することにより、前記入力クロックに同期しないオーバーサンプリングクロックを発生するオーバーサンプリングクロック発生手段と、
    前記入力クロックと前記オーバーサンプリングクロックとに基づいて、前記入力サンプリング周波数の「1/2」倍以上の信号成分を除去しつつ前記入力データを非同期サンプリング周波数変換することにより、前記オーバーサンプリングクロックに同期したオーバーサンプリング信号を出力するオーバーサンプリング手段と、
    前記オーバーサンプリングクロックの周波数であるオーバーサンプリング周波数の「1/(MP・2)」倍以上の信号成分を除去しつつ、該オーバーサンプリング信号を「1/MP」にダウンサンプリングすることにより、前記出力クロックに同期した前記出力データを出力するダウンサンプリング手段と
    を具備することを特徴とするサンプリング周波数変換装置。
  2. 前記乗数決定手段は、
    前記入力クロックに基づいて、前記入力サンプリング周波数を計測する入力サンプリング周波数計測手段と、
    前記出力クロックに基づいて、前記出力サンプリング周波数を計測する出力サンプリング周波数計測手段と、
    計測された前記入力サンプリング周波数および前記出力サンプリング周波数が複数の周波数帯域のうち各々何れの帯域に属するかを判定する判定手段と
    を備えており、
    この判定された帯域に基づいて、前記乗数MPを決定していること
    を特徴とする請求項1記載のサンプリング周波数変換装置。
  3. 入力データのサンプリングタイミングに同期する入力クロックと、出力データのサンプリングタイミングに同期するとともに前記入力クロックには同期も準同期もせず、前記入力クロックよりも周波数の低い出力クロックとに基づいて、該入力クロックの入力サンプリング周波数の、該出力クロックの出力サンプリング周波数に対する比が大きくなるほど大きくなる乗数MPを決定する乗数決定手段と、
    受信した前記出力クロックを前記乗数MP倍に逓倍することにより、前記入力クロックには同期しないオーバーサンプリングクロックを発生するオーバーサンプリングクロック発生手段と、
    前記入力データを順次記憶するFIFOバッファと、
    周波数比信号を前記オーバーサンプリングクロック毎に累積するとともに、その累積結果が所定条件を満たす毎に、前記FIFOバッファに書き込まれた入力データを順次読み出す読出手段と、
    前記読出手段により読み出された入力データに対し、前記オーバーサンプリングクロック毎に、前記累積結果に基づいて位相信号を出力し該位相信号に応じた1組の係数群によるローパスフィルタ処理を行う非同期サンプリング周波数変換を施し、前記オーバーサンプリングクロックに同期したオーバーサンプリング信号を出力するオーバーサンプリング手段と、
    前記オーバーサンプリングクロックの周波数であるオーバーサンプリング周波数の「1/(MP・2)」倍以上の信号成分を除去しつつ、該オーバーサンプリング信号を「1/MP」にダウンサンプリングすることにより、前記出力クロックに同期した前記出力データを出力するダウンサンプリング手段と、
    前記FIFOバッファに既に書き込まれ前記読出手段によって未だ読み出されていないデータ数に基づいて前記周波数比信号を増減する周波数比信号調節手段と、
    前記入力クロックと前記出力クロックとに基づいて、前記入力サンプリング周波数と前記出力サンプリング周波数の周波数比を検出する周波数比検出手段と、
    この検出された周波数比に基づいて、前記周波数比信号として採り得る値の許容範囲を制限する周波数比信号制限手段と
    を有することを特徴とするサンプリング周波数変換装置。
  4. 前記乗数決定手段は、前記オーバーサンプリング周波数が前記入力クロックの周波数よりも高くなるように前記乗数MPを決定することを特徴とする請求項1ないし3の何れかに記載のサンプリング周波数変換装置。
JP2003387986A 2003-11-18 2003-11-18 サンプリング周波数変換装置 Expired - Fee Related JP3953023B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003387986A JP3953023B2 (ja) 2003-11-18 2003-11-18 サンプリング周波数変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003387986A JP3953023B2 (ja) 2003-11-18 2003-11-18 サンプリング周波数変換装置

Publications (2)

Publication Number Publication Date
JP2005151323A JP2005151323A (ja) 2005-06-09
JP3953023B2 true JP3953023B2 (ja) 2007-08-01

Family

ID=34695196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003387986A Expired - Fee Related JP3953023B2 (ja) 2003-11-18 2003-11-18 サンプリング周波数変換装置

Country Status (1)

Country Link
JP (1) JP3953023B2 (ja)

Also Published As

Publication number Publication date
JP2005151323A (ja) 2005-06-09

Similar Documents

Publication Publication Date Title
US5481568A (en) Data detecting apparatus using an over sampling and an interpolation means
US7970088B2 (en) Systems and methods for sample rate conversion
EP0599817B1 (en) Sampling frequency conversion method and apparatus
US7262716B2 (en) Asynchronous sample rate converter and method
TWI420878B (zh) 用於時序回復迴路之相位偵測器
US5925093A (en) Sampling frequency converting apparatus
US6487672B1 (en) Digital timing recovery using baud rate sampling
US7570727B2 (en) Data transmission controller and sampling frequency converter
JP4206886B2 (ja) Itrデータ再生装置、記録再生システムおよび補間フィルタ
JP3122104B2 (ja) 可変レート方形整合フィルタ
JP3953023B2 (ja) サンプリング周波数変換装置
JP2600821B2 (ja) 標本化周波数変換装置
US7908306B1 (en) SRC with multiple sets of filter coefficients in memory and a high order coefficient interpolator
JP3915781B2 (ja) サンプリング周波数変換装置
TWI804187B (zh) 眼開監測裝置與其操作方法
JP4386079B2 (ja) サンプリング周波数変換装置
TWI546801B (zh) 取樣率轉換器與用於其中之比率估測器及其比率估測方法
JP3955153B2 (ja) データ処理装置の信号検出方法及びその装置
US6486813B1 (en) Oversampling circuit digital/analog converter
JP2010212779A (ja) サンプリング周波数変換装置
US9000958B1 (en) Device and method for converting data rate
JP3289462B2 (ja) 標本化周波数変換装置
US6483451B1 (en) Sampling function waveform data generating device
JP5023434B2 (ja) サンプリング周波数変換装置
US20050007863A1 (en) Sampling frequency conversion device and sampling frequency conversion method

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

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070123

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070112

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: 20070410

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070423

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140511

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees