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

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

Info

Publication number
JPH1155076A
JPH1155076A JP9204920A JP20492097A JPH1155076A JP H1155076 A JPH1155076 A JP H1155076A JP 9204920 A JP9204920 A JP 9204920A JP 20492097 A JP20492097 A JP 20492097A JP H1155076 A JPH1155076 A JP H1155076A
Authority
JP
Japan
Prior art keywords
coefficient
interpolation
oversampling
sampling frequency
interpolation ratio
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.)
Pending
Application number
JP9204920A
Other languages
English (en)
Inventor
Yusuke Yamamoto
裕介 山本
Yasuyuki Muraki
保之 村木
Ichiro Tahashi
一郎 太箸
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 JP9204920A priority Critical patent/JPH1155076A/ja
Priority to US09/124,752 priority patent/US6263036B1/en
Publication of JPH1155076A publication Critical patent/JPH1155076A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

(57)【要約】 【課題】 ハードウェアを大規模とすることなく、演算
を高速化する。 【解決手段】 FIFO20は、読み出し/書き込みカ
ウンタ21から供給される書き込みアドレスに従って入
力されるデータDinを記憶し、読み出しアドレスに従っ
て記憶しているデータを出力する。O/S係数指定/補
間比生成部23は、オーバサンプリングおよび直線補間
のための係数組Cij,Ci(j+1)を得るためのCOEA,
COEBを算出するとともに、オーバサンプリングを考
慮した補間比aを算出する。8倍オーバサンプリング/
直線補間部24は、上記係数組COEAおよびオーバサ
ンプリングを考慮した補間比aに従って、直線補間およ
び畳み込み演算により、オーバサンプリング→直線補間
という2回の手順を踏まずに、入力データDinのサンプ
リング周波数を変換する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、所定のサンプリ
ング周波数で取り込んだ入力データを、異なるサンプリ
ング周波数に変換して出力するサンプリング周波数変換
装置に関する。
【0002】
【従来の技術】従来より、所定サンプリング周波数で取
り込んだ入力データを、異なるサンプリング周波数に変
換して出力するサンプリング周波数変換装置が知られて
いる。代表的なサンプリング周波数変換手法としては、
(1)FIFOに対して所定のサンプリング周波数で入力
データを書き込むとともに書き込み時とは異なる所望の
サンプリング周波数で読み出す手法、(2)変換前のサン
プリングポイントと変換後のサンプリングポイントとの
時間的関係に基づき変換後のサンプリングポイントにお
ける新たなデータを入力データから直線補間演算により
求める手法(実開平6−54323号に記載)、等があ
る。
【0003】上記(1)の手法は、変換前のサンプリング
周波数と変換後のサンプリング周波数との違いをFIF
Oにより吸収する手法であるため、同一データを繰り返
して読み出したり、データを飛ばし読みしたりすること
になり、波形が歪むという問題がある。また、上記(2)
の手法は、単純な直線補間演算を行っているだけなの
で、補間精度が粗すぎるという問題がある。
【0004】上記(2)の手法の補間精度を高める発展形
っとして図14に示すようなオーバサンプリングと直線
補間とを組み合わせる手法も考えられる。このオーバサ
ンプリング+直線補間を用いた手法は、図16に示すよ
うに、新サンプリングポイントXのデータを直線補間で
算出するに当たって、丸印で示した旧サンプリングポイ
ントのデータを使うのではなく、新サンプリングポイン
トXを挟んで近接するオーバサンプリングポイントのデ
ータA、Bを使うものである。それにより、高精度の補
間が実現される。
【0005】このオーバサンプリング+直線補間の手法
を模式的に表すと図15のようになる。上段部分は4つ
のサンプリングデータに基づき8倍のオーバサンプリン
グ演算を行う構成を示し、下段部分は上段部分で算出さ
れた2つのオーバサンプリング値に基づいて直線補間演
算を行う構成を示している。上段部分において、D1、
D2、D3、D4はそれぞれ1サンプル遅延部であり、
サンプリングクロック(この例では44.1kHz)に
従い入力データを後段に転送する。係数Cij(i=1
〜4、j=0〜7)の添字iは、遅延部Diのデータに
付与(乗算)される係数であることを表し、添字jは、
j番目のオーバサンプリングポイントの値を算出するた
めの係数であることを表している。すなわち、jの値が
同一の4つの係数によりj番目のオーバサンプリングポ
イントのデータが算出される。また、jが同一の4つの
係数を1組として計8組の係数で8つのオーバサンプリ
ングポイントのデータが算出される。算出された2つの
オーバサンプリングポイントのデータに基づき、下段の
直線補間部分で2つのオーバサンプリングポイント間の
任意の位置のデータが直線補間演算により算出される。
このように、2つのオーバサンプリング値の算出および
直線補間演算を新たなサンプリング周波数(この例では
48kHz)に対応した周期で行うことにより、高精度
なサンプリング周波数変換が可能となる。
【0006】
【発明が解決しようとする課題】ところで、上述した従
来のサンプリング周波数変換装置では、オーバサンプリ
ングに高精度な演算が必要であり、また、2点間の補間
値Xを算出するために、オーバサンプリング値A,Bを
算出するというように、2回の演算が必要となる。さら
に、直線補間にも演算のためのハードウェアが要求され
る。このように、従来のサンプリング周波数変換装置で
は、演算に時間がかかるとともに、ハードウェアが大規
模となり、コストアップにつながるという問題がある。
【0007】この発明は上述した事情に鑑みてなされた
もので、ハードウェアを大規模とすることなく、演算を
高速化できるサンプリング周波数変換装置を提供するこ
とを目的としている。
【0008】
【課題を解決するための手段】上述した問題点を解決す
るために、請求項1記載の発明では、第1のクロックで
入力される入力データ間における補間点を求めるための
第1の補間比を生成する第1の補間比生成手段と、前記
第1の補間比に基づいて、オーバサンプリング点を求め
るための1対の係数組を生成する係数生成手段と、前記
第1の補間比に基づいて、オーバサンプリング点間にお
ける補間点の第2の補間比を生成する第2の補間比生成
手段と、前記第2の補間比生成手段によって生成された
第2の補間比に基づいて、前記係数生成手段によって生
成された1対の係数組間を直線補間する補間手段と、第
2のクロックに従って、前記補間手段によって直線補間
された補間点の値と前記入力データとを畳み込み演算
し、出力データとして出力する演算手段とを具備するこ
とを特徴とする。
【0009】また、請求項2記載の発明では、請求項1
記載のサンプリング周波数変換装置において、前記係数
生成手段は、前記第1の補間比に応じた1対の係数組を
複数記憶する記憶手段を具備することを特徴とする。
【0010】また、請求項3記載の発明では、請求項1
記載のサンプリング周波数変換装置において、前記係数
生成手段は、前記1対の係数組のうち、偶数番目のオー
バサンプリング点を算出するための係数を記憶する第1
の記憶手段と、前記1対の係数組のうち、奇数番目のオ
ーバサンプリング点を算出するための係数を記憶する第
2の記憶手段とを備え、前記第1の補間比に基づいて、
前記第1の記憶手段に記憶されている偶数の係数と前記
第2の記憶手段に記憶されている奇数の係数とを対にし
て読み出すことを特徴とする。
【0011】また、請求項4記載の発明では、請求項1
記載のサンプリング周波数変換装置において、前記係数
生成手段は、前記1対の係数組の半分を記憶する記憶手
段を備えることを特徴とする。
【0012】また、請求項5記載の発明では、請求項1
記載のサンプリング周波数変換装置において、前記係数
生成手段は、前記1対の係数組を2のべき乗で圧縮して
記憶する記憶手段を備えることを特徴とする。
【0013】この発明によれば、第1の補間比生成手段
によって、第1のクロックで入力される入力データ間に
おける補間点を求めるための第1の補間比を生成し、該
第1の補間比に基づいて、係数生成手段によって、オー
バサンプリング点を求めるための1対の係数組を生成す
るとともに、第2の補間比生成手段によって、オーバサ
ンプリング点間における補間点の第2の補間比を生成す
る。そして、補間手段によって、前記第2の補間比に基
づいて、前記1対の係数組間を直線補間した後、演算手
段によって、第2のクロックに従って、前記補間手段に
よって直線補間された補間点の値と前記入力データとを
畳み込み演算し、出力データとして出力するようにした
ので、ハードウェアを大規模とすることなく、演算を少
なくすることができるため、サンプリング周波数変換に
要する演算を高速化することが可能となる。
【0014】
【発明の実施の形態】次に図面を参照してこの発明の実
施形態について説明する。
【0015】A.実施形態の構成 A−1.実施形態の基本構成 図1は、本発明の実施形態によるサンプリング周波数変
換装置の基本構成を示すブロック図である。図におい
て、FIFO20は、デュアルポートRAM(ランダム
アクセスメモリ)から構成されており、後述する読み出
し/書き込みカウンタ21から供給される書き込みアド
レスに従って、入力されるデータDinを記憶し、読み出
しアドレスに従って、記憶しているデータを8倍オーバ
サンプリング/直線補間部24へ出力する。
【0016】読み出し/書き込みカウンタ21は、書き
込みタイミングCKin(44.1kHz)に従って書き
込みタイミングと書き込みアドレスを生成してFIFO
20へ供給するとともに、後述するPLL22から供給
されるクロックCOに従って読み出しタイミングと読み
出しアドレスを生成してFIFO20へ供給する。さら
に、読み出し/書き込みカウンタ21は、CKinによっ
てアップカウントされるとともに、COによってダウン
カウントされるアップダウンを備え、FIFO20内の
データ量を検出し、PLL22に供給する。
【0017】PLL22は、全加算器、ラッチ回路等に
より構成されており、外部入力されるクロックCKout
48kHzに従って、上記データ量△Sに従って、読み
出しタイミングCOを生成し、上記読み出し/書き込み
カウンタ21に供給する。また、PLL22は、図2に
示すように、入力データDin(○)間の補間値(×)を
求めるための補間比△tを算出し、O/S係数指定/補
間比生成部23に供給する。なお、上記補間比△tはオ
ーバサンプリングを考慮しない値である。
【0018】ここで、図3は、PLL22の一構成例を
示すブロック図である。図において、変換部22aは、
読み出し/書き込みカウンタ21のカウンタ値である現
在のデータ量△Sに対して非線形変換を施してデータG
ain(△S)を出力するものであり、変換したデータGa
in(△S)を全加算器22cに供給する。ここで、図4
は、変換部22aの変換特性を示すテーブルである。全
加算器22cは、上記データGain(△S)と後述する
選択回路22bの出力とを加算するものであり、選択回
路22bから供給される値をy(n)とすると、y(n
+1)=y(n)+Gain(△S)の加算を行い、y
(n+1)を出力する。
【0019】選択回路22bは、全加算器22cに上記
y(n)を与えるものであり、動作開始時には初期値y
(0)を、以降はラッチ回路22dの出力y(n)を選
択する。ここで、初期値y(0)は、44.1kHzを
48kHzに変換する、この実施形態では、y(0)=
4096×(44.1/48)に設定されている。な
お、この初期値を与えるのは、動作が安定するまでの時
間が短縮するためであり、必須ではない。全加算器22
cは、上述した式に従って、y(n+1)をラッチ回路
22dに与える。ラッチ回路22dは、全加算器22c
の加算結果を外部入力されるクロックCKout(48k
Hz)に同期してラッチし、上記選択回路22bに供給
(フィードバック)するとともに、全加算器22eに供
給する。
【0020】全加算器22eは、上記ラッチ回路22d
から供給される値と後述するラッチ回路22fから供給
(フィードバック)される値とを加算し、加算結果をラ
ッチ回路22fに供給するとともに、キャリアを読み出
しタイミングCOとして上述した読み出し/書き込みカ
ウンタ21に供給する。ラッチ回路22eは、上記加算
結果を外部入力されるクロックCKout(48kHz)
に同期してラッチし、上記全加算器22eに供給すると
ともに、補間比△tとして後述するO/S(オーバサン
プリング)係数指定/補間比生成部23に供給する。
【0021】O/S(オーバサンプリング)係数指定/
補間比生成部23は、後述する8倍オーバサンプリング
/直線補間部24で、図5に示す補間点(×)の値を求
める際に必要となるオーバサンプリング点A,Bを求め
るための係数組COEA,COEB(実際にはCOEAの
み)を補間比△tに基づいて算出するとともに、オーバ
サンプリングを考慮した補間比aを算出し、8倍オーバ
サンプリング/直線補間部24に供給する。
【0022】係数組COEA,COEBは、次式により決
定される。 COEA=Int(△t/512) COEB=COEA+1 但し、Int(x)は、小数部分を「0」とする演算であ
る。また、係数組COEA,COEBは、0≦COEA,
COEB≦7の整数である。さらに、オーバサンプリン
グ点A,B間の補間比aは、a=Mod512(△t)/5
12で求めることができる。なお、Mod512(x)は、
xを512で除算したときの余りを求める演算である。
【0023】次に、8倍オーバサンプリング/直線補間
部24は、上記係数組COEAおよびオーバサンプリン
グを考慮した補間比aに従って、オーバサンプリング→
直線補間という2回の手順を踏まずに、入力データDin
のサンプリング周波数を変換し、データDoutとして出
力する。ここで、本願発明によるオーバサンプリング+
直線補間を数式で表すと次のようになる。 X=a(D1*C1i+D2*C2i+D3*C3i+D4*C4
i)+b(D1*C1(i+1)+D2*C2(i+1)+D3*C3(i+
1)+D4*C4(i+1)) よって、 X=D1(aC1i+bC1(i+1))+D2(aC2i+bC2
(i+1))+D3(aC3i+bC3(i+1))+D4(aC4i+
bC4(i+1)) 上記数式において、括弧内は、隣合う係数間を直線補間
していることに相当する。したがって、上記括弧内の値
を算出し、データに直に乗算することにより、上述した
2回の手順を踏むことなく、同精度でサンプリング周波
数を変換することができる。
【0024】A−2.8倍オーバサンプリング/直線補
間部の構成 ここで、図6は、上記8倍オーバサンプリング/直線補
間部24の一構成例を示すブロック図である。図におい
て、8倍オーバサンプリング/直線補間部24は、DS
P(デジタルシグナルプロセッサ)により構成されてお
り、図示の右半分は上記原理に従って係数間を直線補間
する係数補間部、図示の左半分は畳み込み演算部であ
る。
【0025】係数補間部は、加算器30、ROM読出制
御部31、係数ROM32、全加算器33、乗算器34
および全加算器35から構成されている。加算器30
は、係数組を指定する係数COEAに「1」を加算する
ことにより、COEBを算出する。ROM読出制御部3
1は、係数組を指定するCOEA,COEBに従って、係
数ROM32から係数組を読み出す。このとき、ROM
読出制御部21は、COEAに対する係数Cijを加算器
33の一方の入力端に供給し、COEBに対する係数Ci
(j+1)を加算器33の他方の入力端(−)と加算器35
の一方の入力端(+)に供給するように制御する。係数
ROM32は、図7に示すように、オーバサンプリング
に必要とされる係数Cij(i=1〜4,j=0〜7)を
記憶しており、上記ROM読出制御部31により指定さ
れた係数組Cij,Ci(j+1)を、上述した各部へ出力す
る。なお、係数COEA,Bは、例えば図5に示すよう
に、COEAが(イ)〜(ニ)の場合、COEBは
(イ)’〜(ニ)’のように、係数の組を指定するよう
になっている。
【0026】次に、全加算器33は、Cij−Ci(j+1)
を計算し、乗算器34に供給する。乗算器34は、上記
Cij−Ci(j+1)に補間比aを乗算し、a(Cij−Ci(j
+1))を算出し、全加算器35に供給する。全加算器3
5は、Ci(j+1)+{a(Cij−Ci(j+1))}を算出し、
乗算器36に供給する。上述した演算は、第1のタイミ
ング(i=1)、第2のタイミング(i=2)、第3の
タイミング(i=3)、第4のタイミング(i=4)で
順次行われる。
【0027】次に、畳み込み演算部は、乗算器36、全
加算器37、レジスタ38およびレジスタ39から構成
されている。乗算器36は、上記全加算器35の演算結
果であるCi(j+1)+{a(Cij−Ci(j+1))}に入力デ
ータDi(i=1〜4)を乗算し、全加算器37の一方
の入力端に供給する。全加算器37は、上記(Ci(j+1)
+{a(Cij−Ci(j+1))})・Diと、後述するレジス
タ38から供給される値とを加算し、加算結果をレジス
タ38に供給する。レジスタ38は、上記加算結果を保
持し、上記全加算器37の一方の入力端に供給するとと
もに、レジスタ39に供給する。したがって、乗算器3
6、全加算器37、レジスタ38では、上述した第1か
ら第4の各タイミングで供給される上記(Ci(j+1)+
{a(Cij−Ci(j+1))})・Diが累算(畳み込み演
算)されることになる。レジスタ39は、外部入力され
るクロック(48kHz)に従ってレジスタ38から供
給されるデータを取り込み、最終的に出力する。
【0028】B.実施形態の動作 次に、上述した実施形態による動作について説明する。
入力データDinは、読み出し/書き込みカウンタ21か
ら供給される書き込みアドレスに従って、FIFO20
に記憶される。該FIFO20に記憶されたデータDin
は、読み出し/書き込みカウンタ21から供給される読
み出しアドレスに従って読み出され、8倍オーバサンプ
リング/直線補間部24に供給される。このとき、FI
FO20の読み出しタイミングは、読み出し/書き込み
カウンタ21およびPLL22によって、FIFO20
のデータ量が適切な値となるようにデータ量に基づいて
制御されている。
【0029】また、PLL22では、外部入力されるク
ロックCKout(48kHz)に従って、上記データ量
に従って入力データDin(○)間の補間値(×)を求め
るための補間比△tが算出され、O/S係数指定/補間
比生成部23に供給される。次に、O/S係数指定/補
間比生成部23では、後述する8倍オーバサンプリング
/直線補間部24で図5に示す補間点(×)の値を求め
る際に必要となるオーバサンプリング点A,Bを求める
ための係数組Cij、Ci(j+1)を得るためのCOEAおよ
びオーバサンプリングを考慮した補間比aが補間比△t
に基づいて算出される。
【0030】次に、8倍オーバサンプリング/直線補間
部24では、第1のタイミング(i=1)で、a・C1j
+(1−a)・C1(j+1)、第2のタイミング(i=2)
で、a・C2j+(1−a)・C2(j+1)、第3のタイミン
グ(i=3)で、a・C3j+(1−a)・C3(j+1)、第
4のタイミング(i=4)で、a・C4j+(1−a)・
C4(j+1)が算出され、それぞれとデータDi(i=1〜
4)とが畳み込み演算され、{a・C1j+(1−a)・
C1(j+1)}・D1+{a・C2j+(1−a)・C2(j+
1)}・D2+{a・C3j+(1−a)・C3(j+1)}・D3
+{a・C4j+(1−a)・C4(j+1)}・D4が算出さ
れる。この式は、図15に示す従来の構成により補間値
Xを求めるのと等価である。
【0031】上述した畳み込み演算された結果におい
て、各項の大括弧内の値は、隣合う係数間を直線補間し
ていることに相当する。この値にデータDiを直に乗算
することにより、オーバサンプリング→直線補間という
2回の手順を踏まずに、補間値Xを同精度で得られる。
言い換えると、従来技術では、8倍オーバサンプリン
グ値Aを求める畳み込み演算、8倍オーバサンプリン
グ値Bを求める畳み込み演算、直線補間のための演算
が必要である。これに対して、上述した実施形態では、
係数直線補間のための演算、畳み込み演算でよい。
さらに、補間精度にもよるが、係数補間のための乗算器
34は、畳み込み演算のための乗算器36に比べて小さ
なものでも、十分な精度が得られる。
【0032】C.第1変形例 次に、本発明の第1変形例について説明する。本第1変
形例では、係数ROM32に記憶されていた係数Cijを
奇数番目のオーバサンプリングポイント算出用の係数
(以下、単に奇数係数という)と偶数番目のオーバサン
プリング算出用の係数(以下、単に偶数係数という)と
に分けて記憶することにより、演算の高速化を図ったも
のである。ここで、図8は、図6に示すROM読出制御
部31、係数ROM32の部分に置き換えるブロック図
である。その他の構成については図6と同一であるので
図示および説明を省略する。図において、加算器41
は、係数組を指定するCOEAに「1」を加算すること
により、COEBを算出し、後述する選択回路43,4
6に供給する。偶/奇判別部42は、上記COEAに基
づいて、偶数係数または奇数係数のいずれをどちらに出
力するかを決定する選択信号を、選択回路43,46、
選択回路49,50に供給する。
【0033】選択回路43は、上記選択信号に従って、
偶数「0」の場合には、COEAを読出制御部44に供
給し、奇数「1」の場合には、COEBを読出制御部4
4に供給する。読出制御部44は、係数組を指定するC
OEA,COEBのどちらかに従って、偶数の係数のみを
記憶する係数ROM45から係数を読み出す。係数RO
M45は、図9に示すように、オーバサンプリングに必
要とされる係数Cij(i=1〜4,j=0〜7)のう
ち、偶数番目のオーバサンプリングポイントを算出する
係数(C10、C12、C14、…、C46)を記憶しており、
上記読出制御部44により指定された係数を、選択回路
49,50に供給する。
【0034】次に、選択回路46は、上記選択信号に従
って、偶数「0」の場合には、COEBを読出制御部4
7に供給し、奇数「1」の場合には、COEAを読出制
御部47に供給する。読出制御部47は、係数組を指定
するCOEA,COEBのどちらかに従って、奇数の係数
のみを記憶する係数ROM48から係数を読み出す。係
数ROM48は、図9に示すように、オーバサンプリン
グに必要とされる係数Cij(i=1〜4,j=0〜7)
のうち、奇数番目のオーバサンプリングポイントを算出
する係数(C11、C13、C15、…、C47)を記憶してお
り、上記読出制御部47により指定された係数を、選択
回路49,50に供給する。
【0035】選択回路49は、上記選択信号に従って、
偶数「0」の場合には、係数ROM45からの偶数係数
を後段の回路に出力し、奇数「1」の場合には、係数R
OM48からの奇数係数を後段の回路に出力する。ま
た、選択回路50は、上記選択信号に従って、偶数
「0」の場合には、係数ROM48からの奇数係数を後
段の回路に出力し、奇数「1」の場合には、係数ROM
45からの偶数係数を後段の回路に出力する。
【0036】上述した構成では、8倍オーバサンプリン
グ/直線補間部24において、第1のタイミング(i=
1)、第2のタイミング(i=2)、第3のタイミン
グ、および第4のタイミング(i=4)で、係数組Ci
j、Ci(j+1)を読み出す際のアクセス速度を高速化でき
るので、演算の高速化を図ることができる。
【0037】D.第2変形例 次に、本発明の第2変形例について説明する。本第2変
形例では、係数ROM32に記憶されていた係数Cijを
半分のみ記憶することで、係数ROMの記憶容量を削減
するとともに、演算の高速化を図ったものである。ここ
で、図10(a)は、前述した実施形態による演算部の
概念を示すブロック図であり、図10(b)は、本第2
変形例による演算部の概念を示すブロック図である。前
述した実施形態では、図10(a)に示すように、各遅
延回路の出力(D1,D2,D3,D4)に対し、乗算器M
1,M2,M3,M4で係数を乗算し、加算器ADでそ
れぞれを加算して出力する構成となっている。本第2変
形例では、係数の対称性、すなわち、M1=M4、M2
=Mに着目し、図10(b)に示すように、加算器AD
1でデータD2とデータD3とを加算し、加算器AD2で
データD1とデータD4とを加算し、それぞれに対して、
乗算器M5,M6で、係数を乗算して、加算器AD3で
それぞれを加算して出力構成となっている。したがっ
て、本第2変形例では、乗算器M5,M6でのみ係数を
乗算すればよいので、係数ROMには、半分のみを記憶
しておけばよいことになる。この結果、係数ROMの記
憶容量を削減できるとともに、演算の高速化を図ること
ができる。
【0038】E.第3変形例 次に、本発明による実施形態の第3変形例について説明
する。本第3実施例では、係数ROMに記憶する係数を
「圧縮」し、限られた記憶容量を有効に用いるようにな
っている。具体的には、直線補間で用いる係数値を、図
11に示すように、2のべき乗圧縮を施し、係数ROM
に記憶しておく。該係数は、実際の畳み込み演算におい
て、シフト制御することにより、結果的に解凍されるよ
うになっている。
【0039】ここで、図12は、本変形例3によるサン
プリング周波数変換装置の係数直線補間部の構成を示す
ブロック図である。図において、係数ROM60aは、
シフトに関する情報とともに、オーバサンプリングに必
要とされる係数Cij(i=1〜4,j=0〜7)のう
ち、偶数係数(C10、C12、C14、…、C46)を記憶し
ている。また、係数ROM60bは、シフトに関する情
報とともに、オーバサンプリングに必要とされる係数C
ij(i=1〜4,j=0〜7)のうち、奇数係数(C1
1、C13、C15、…、C47)を記憶している。シフト制
御部61は、上記係数ROM60a,60bから供給さ
れるシフトに関する情報に従って、シフト制御信号C1
(+1/0)をシフトレジスタ63に供給する。入れ替
え部62は、上記係数ROM60a,60bの各々から
供給される係数を入れ替えて、シフトレジスタ63と補
間部64に供給する。シフトレジスタ63では、補間す
る係数間のスケールを合わせるために、上記シフト制御
信号C1に従って係数をシフトし、補間部64に供給す
る。補間部64は、供給される係数に従って、データ間
を直線補間する。
【0040】次に、図13は、本第3変形例によるサン
プリング周波数変換装置の畳み込み演算部の構成を示す
ブロック図である。なお、図6に対応する部分には同一
の符号を付けて説明を省略する。図において、畳み込み
演算部における最終段のシフトレジスタ65は、前述し
たシフト制御部61からのシフト制御信号C2(−1/
0)に従ってデータをシフトして出力する。畳み込み演
算では、両側(係数値が小側)から演算されるので、両
側ほどシフトダウンされる回数が多くなり、結果とし
て、圧縮の解凍が行われる。
【0041】このように、本第3変形例では、直線補間
に用いる係数を圧縮して係数ROMに記憶するようにし
たので、限られた記憶容量を有効に用いることができ
る。
【0042】なお、第1変形例〜第3変形例は、それぞ
れ単独で図6に示す実施形態に組み合わせることもでき
るが、全てを組み合わせることも可能である。
【0043】
【発明の効果】以上、説明したように、この発明によれ
ば、第1の補間比生成手段によって、第1のクロックで
入力される入力データ間における補間点を求めるための
第1の補間比を生成し、該第1の補間比に基づいて、係
数生成手段によって、オーバサンプリング点を求めるた
めの1対の係数組を生成するとともに、第2の補間比生
成手段によって、オーバサンプリング点間における補間
点の第2の補間比を生成し、補間手段によって、前記第
2の補間比に基づいて、前記1対の係数組間を直線補間
した後、演算手段によって、第2のクロックに従って、
前記補間手段によって直線補間された補間点の値と前記
入力データとを畳み込み演算し、出力データとして出力
するようにしたので、ハードウェアを大規模とすること
なく、演算を高速化できるという利点が得られる。
【図面の簡単な説明】
【図1】 本発明の実施形態によるサンプリング周波数
変換装置の構成を示すブロック図である。
【図2】 サンプリング周波数変換装置のPLLにおけ
る補間比△tの算出方法を説明するための概念図であ
る。
【図3】 PLLの一構成例を示すブロック図である。
【図4】 FIFOのデータ量△SとゲインGain(△
S)との対応関係を示す概念図である。
【図5】 8倍オーバサンプリング/直線補間部での直
線補間で用いる補間比aの算出方法を説明するための概
念図である。
【図6】 8倍オーバサンプリング/直線補間部の一構
成例を示すブロック図である。
【図7】 係数ROMに記憶されている係数を説明する
ための概念図である。
【図8】 第1変形例による構成を示すブロック図であ
る。
【図9】 第1変形例による係数ROMに記憶されてい
る係数を説明するための概念図である。
【図10】 実施形態による演算部、および本第2変形
例による演算部の概念を示すブロック図である。
【図11】 係数圧縮を説明するための概念図である。
【図12】 第3変形例による構成(直線補間部)を示
すブロック図である。
【図13】 第3変形例による構成(畳み込み演算部)
を示すブロック図である。
【図14】 従来のサンプリング周波数変換装置の構成
を示すブロック図である。
【図15】 従来のサンプリング周波数変換装置による
オーバサンプリング+直線補間を実現するための構成を
示すブロック図である。
【図16】 従来のオーバサンプリング+直線補間を説
明するための概念図である。
【符号の説明】
20 FIFO 21 読み出し/書き込みカウンタ(第1の補間比生成
手段) 22 PLL(第1の補間比生成手段) 23 O/S係数指定/補間比生成部(第2の補間比生
成手段) 24 8倍オーバサンプリング/直線補間部(補間手
段、演算手段) 31 ROM読出制御部(係数生成手段) 32 係数ROM(係数生成手段、記憶手段) 60a,60b 係数ROM(第1の記憶手段、第2の
記憶手段)

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 第1のクロックで入力される入力データ
    間における補間点を求めるための第1の補間比を生成す
    る第1の補間比生成手段と、 前記第1の補間比に基づいて、オーバサンプリング点を
    求めるための1対の係数組を生成する係数生成手段と、 前記第1の補間比に基づいて、オーバサンプリング点間
    における補間点の第2の補間比を生成する第2の補間比
    生成手段と、 前記第2の補間比生成手段によって生成された第2の補
    間比に基づいて、前記係数生成手段によって生成された
    1対の係数組間を直線補間する補間手段と、 第2のクロックに従って、前記補間手段によって直線補
    間された補間点の値と前記入力データとを畳み込み演算
    し、出力データとして出力する演算手段とを具備するこ
    とを特徴とするサンプリング周波数変換装置。
  2. 【請求項2】 前記係数生成手段は、前記第1の補間比
    に応じた1対の係数組を複数記憶する記憶手段を具備す
    ることを特徴とする請求項1記載のサンプリング周波数
    変換装置。
  3. 【請求項3】 前記係数生成手段は、 前記1対の係数組のうち、偶数番目のオーバサンプリン
    グ点を算出するための係数を記憶する第1の記憶手段
    と、 前記1対の係数組のうち、奇数番目のオーバサンプリン
    グ点を算出するための係数を記憶する第2の記憶手段と
    を備え、 前記第1の補間比に基づいて、前記第1の記憶手段に記
    憶されている係数と前記第2の記憶手段に記憶されてい
    る係数とを対にして読み出すことを特徴とする請求項1
    記載のサンプリング周波数変換装置。
  4. 【請求項4】 前記係数生成手段は、前記1対の係数組
    の半分を記憶する記憶手段を備えることを特徴とする請
    求項1記載のサンプリング周波数変換装置。
  5. 【請求項5】 前記係数生成手段は、前記1対の係数組
    を2のべき乗で圧縮して記憶する記憶手段を備えること
    を特徴とする請求項1記載のサンプリング周波数変換装
    置。
JP9204920A 1997-07-30 1997-07-30 サンプリング周波数変換装置 Pending JPH1155076A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9204920A JPH1155076A (ja) 1997-07-30 1997-07-30 サンプリング周波数変換装置
US09/124,752 US6263036B1 (en) 1997-07-30 1998-07-29 Asynchronous signal input apparatus and sampling frequency conversion apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9204920A JPH1155076A (ja) 1997-07-30 1997-07-30 サンプリング周波数変換装置

Publications (1)

Publication Number Publication Date
JPH1155076A true JPH1155076A (ja) 1999-02-26

Family

ID=16498568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9204920A Pending JPH1155076A (ja) 1997-07-30 1997-07-30 サンプリング周波数変換装置

Country Status (1)

Country Link
JP (1) JPH1155076A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000079686A1 (fr) * 1999-06-18 2000-12-28 Sakai, Yasue Convertisseur numerique-analogique et son procede d'utilisation, et dispositif et procede d'interpolation de donnees
WO2002071619A1 (fr) * 2001-03-01 2002-09-12 Sakai, Yasue Convertisseur numerique-analogique et procede de conversion; interpolateur de donnees
WO2002071620A1 (en) * 2001-03-07 2002-09-12 Sakai, Yasue Interpolating function generating apparatus and method, digital-analog converter, data interpolator, program, and record medium
JP2006238044A (ja) * 2005-02-24 2006-09-07 Yamaha Corp 伝送制御装置およびサンプリング周波数変換装置
JP2006261812A (ja) * 2005-03-15 2006-09-28 Yamaha Corp 伝送制御装置およびサンプリング周波数変換装置
WO2014196180A1 (ja) * 2013-06-03 2014-12-11 日本電気株式会社 デジタルフィルタ装置及び信号処理方法
CN114881166A (zh) * 2022-05-24 2022-08-09 江苏大学 一种充电桩故障检测方法及过采样算法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000079686A1 (fr) * 1999-06-18 2000-12-28 Sakai, Yasue Convertisseur numerique-analogique et son procede d'utilisation, et dispositif et procede d'interpolation de donnees
US6515608B1 (en) 1999-06-18 2003-02-04 Yasue Sakai Digital-analog converter and method, and data interpolation device and method
WO2002071619A1 (fr) * 2001-03-01 2002-09-12 Sakai, Yasue Convertisseur numerique-analogique et procede de conversion; interpolateur de donnees
WO2002071620A1 (en) * 2001-03-07 2002-09-12 Sakai, Yasue Interpolating function generating apparatus and method, digital-analog converter, data interpolator, program, and record medium
US6700521B2 (en) 2001-03-07 2004-03-02 Neuro Solution Corp. Interpolating function generating apparatus and method, digital-analog converter, data interpolator, program, and record medium
JP2006238044A (ja) * 2005-02-24 2006-09-07 Yamaha Corp 伝送制御装置およびサンプリング周波数変換装置
JP2006261812A (ja) * 2005-03-15 2006-09-28 Yamaha Corp 伝送制御装置およびサンプリング周波数変換装置
WO2014196180A1 (ja) * 2013-06-03 2014-12-11 日本電気株式会社 デジタルフィルタ装置及び信号処理方法
JPWO2014196180A1 (ja) * 2013-06-03 2017-02-23 日本電気株式会社 デジタルフィルタ装置及び信号処理方法
US10298209B2 (en) 2013-06-03 2019-05-21 Nec Corporation Digital filter device and signal processing method
CN114881166A (zh) * 2022-05-24 2022-08-09 江苏大学 一种充电桩故障检测方法及过采样算法

Similar Documents

Publication Publication Date Title
US4715257A (en) Waveform generating device for electronic musical instruments
KR0185594B1 (ko) 샘플링 레이트 변환 장치
US5949695A (en) Interpolator using a plurality of polynomial equations and associated methods
JPH0562495A (ja) サンプリング周波数変換器
KR100374440B1 (ko) 음정변환장치
US7411525B2 (en) Sampling rate converting method and circuit
JP2001188600A5 (ja)
JPH08287600A (ja) デジタルデータのバッファリング装置
US5290965A (en) Asynchronous waveform generating device for use in an electronic musical instrument
US7609181B2 (en) Sampling frequency conversion apparatus
JP2000252795A (ja) 移動平均フィルタ
JPH10149348A (ja) フィルタ対称を使用した信号内挿及びデシメーション
JP3097599B2 (ja) ディジタルフィルタ
JPH0590897A (ja) オーバーサンプリングフイルタ回路
JP3499460B2 (ja) 拡散符号発生回路および拡散符号発生方法
US6772022B1 (en) Methods and apparatus for providing sample rate conversion between CD and DAT
JP4630056B2 (ja) 畳み込み演算回路
JPH0998069A (ja) Fir型ディジタルフィルタ
JP2733403B2 (ja) デシメーション用ディジタルフィルタ
US6489910B1 (en) Oversampling circuit and digital/analog converter
JP3197648B2 (ja) ディジタルフィルタ
JP3172046B2 (ja) サンプリングレートコンバータ
JP3545619B2 (ja) 画像任意倍率処理装置及びその方法
JP3362796B2 (ja) 楽音発生装置
JP5072558B2 (ja) データ処理装置