JP2002156986A - デジタル信号処理回路 - Google Patents

デジタル信号処理回路

Info

Publication number
JP2002156986A
JP2002156986A JP2000350172A JP2000350172A JP2002156986A JP 2002156986 A JP2002156986 A JP 2002156986A JP 2000350172 A JP2000350172 A JP 2000350172A JP 2000350172 A JP2000350172 A JP 2000350172A JP 2002156986 A JP2002156986 A JP 2002156986A
Authority
JP
Japan
Prior art keywords
coefficient
sample data
reverberation time
sequence
storage means
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
JP2000350172A
Other languages
English (en)
Inventor
Shinichi Muramatsu
伸一 村松
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 JP2000350172A priority Critical patent/JP2002156986A/ja
Publication of JP2002156986A publication Critical patent/JP2002156986A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Reverberation, Karaoke And Other Acoustics (AREA)

Abstract

(57)【要約】 【課題】 デジタル信号処理回路を制御する制御系の負
担を増大させることなく、迅速かつ確実に入力信号に付
与する音響効果を時間的に変化させることができるデジ
タル信号処理回路を提供する。 【解決手段】 DSP100には、畳み込み演算に使用
するサンプルデータ列及び係数列の読み出しを制御する
第1アドレス制御回路120及び第2アドレス制御回路
140を設けると共に、残響時間設定用レジスタ150
を設ける。残響時間設定用レジスタ150には、各残響
時間の設定値に応じたアドレスの読み出し制御情報が格
納されている。制御部180は、残響時間を変更する
際、該残響時間設定用レジスタ150に記憶されている
複数の制御情報のうち、残響時間変更後の設定値に応じ
た制御情報を読み出し、読み出した制御情報を第1アド
レス制御回路120及び第2アドレス制御回路140に
供給する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、デジタルオーデ
ィオ機器等に用いて好適なデジタル信号処理回路に関す
る。
【0002】
【従来の技術】順次入力されて蓄積されるオーディオ信
号のサンプルデータ列に対し所定の係数列を畳み込む機
能を備えたDSP(デジタル信号処理回路)が知られて
いる。この種のDSPによれば、例えば残響効果等多様
な音響的効果をオーディオ信号に付与することができ
る。図11は、係る残響効果を付与するDSPの構成を
示す図である。DSP300は、データ入力制御部1
0、係数処理部20と、畳み込み演算部30とを有して
いる。データ入力制御部10は、残響を付与すべきオー
ディオ信号をDSP300内部に取り込むために設けら
れた入力手段であり、オーディオ信号のサンプルデータ
を一定のサンプリング周期毎に1ワードずつ入力端aか
ら順次取り込む。係数処理部20は、畳み込み演算のた
めの係数列を畳み込み演算部30へ出力する手段であ
り、畳み込み演算用の係数列を記憶する記憶手段21を
有している。畳み込み演算部30は、オーディオ信号に
残響を付与する手段であり、データ入力制御部10を介
して取り込んだ過去一定個数のサンプルデータ列に対
し、係数処理部20から供給される係数列を畳み込み、
その結果を出力端bへ出力する。
【0003】
【発明が解決しようとする課題】さて、このような畳み
込み演算を行うDSP300において、オーディオ信号
に残響効果を付与する場合、必要に応じて残響時間を変
更することがある。従来、残響時間の変更を行う場合に
は、CPU等の外部制御部(図示略)が残響時間の変更
に応じた新たな係数列を生成し、生成した新たな係数列
を係数処理部20の記憶手段21に書き込む必要があっ
た。そして、外部制御部が新たな係数列を生成するには
多くの時間を要するため、残響時間を短期間で変更する
ことが困難であった。また、外部制御部は、DSP30
0が組み込まれた機器において多様な処理を負担してい
るため、このような係数列の書き込み処理に多くの時間
をとられるのは好ましいことではない。本発明は、以上
説明した事情を鑑みてなされたものであり、デジタル信
号処理回路を制御する制御系の負担を増大させることな
く、迅速かつ確実に入力信号に付与する音響効果を時間
的に変化させることができるデジタル信号処理回路を提
供することを目的とする。
【0004】
【課題を解決するための手段】上述した問題を解決する
ため、請求項1に記載のデジタル信号処理回路は、一定
のサンプリング周期毎に入力されるサンプルデータ列を
記憶するサンプルデータ列記憶手段と、係数列を記憶す
る係数列記憶手段と、前記サンプルデータ列記憶手段に
記憶された最近のサンプルデータ列であって、指定され
た残響時間に応じた期間内のサンプルデータ列と、前記
係数列記憶手段に記憶されている係数列のうち指定され
た残響時間に応じた係数列との畳み込み演算を行う畳み
込み演算手段とを具備することを特徴とする。
【0005】また、請求項2に記載のデジタル信号処理
回路は、請求項1に記載の構成において、前記畳み込み
演算手段は、指定された残響時間に応じた期間内のサン
プルデータ列の個数が前記係数列記憶手段に記憶されて
いる係数列の個数よりも多い場合には、前記係数列記憶
手段に記憶されている係数列に0を補間することによ
り、ほぼ均等な時間間隔で並ぶ係数列を構成し、この構
成した係数列を用いてサンプルデータに対する畳み込み
を行う一方、指定された残響時間に応じた期間内のサン
プルデータ列の個数が前記係数列記憶手段に記憶されて
いる係数列の個数よりも少ない場合には、前記係数列記
憶手段に記憶されている係数列の中からサンプルデータ
に乗算する係数列をほぼ均等な時間間隔で並ぶように選
択し、選択した係数列を用いてサンプルデータ列に対す
る畳み込みを行うことを特徴とする。
【0006】また、請求項3に記載のデジタル信号処理
回路は、一定のサンプリング周期毎に入力されるサンプ
ルデータ列を連続したアドレスが割り当てられた複数の
記憶領域に順次記憶するサンプルデータ列記憶手段と、
係数列を構成する各係数を連続したアドレスが割り当て
られた複数の記憶領域に記憶する係数列記憶手段と、各
サンプリング周期において、指定された残響時間に応じ
た範囲の読み出しアドレスを順次出力し、前記サンプル
データ列記憶手段からサンプルデータ列を読み出すサン
プルデータアドレス制御手段と、各サンプリング周期に
おいて、指定された残響時間に応じた時間勾配でほぼ単
調に増加する読み出しアドレスを順次出力し、前記係数
列記憶手段から係数を読み出す係数アドレス制御手段
と、前記サンプルデータアドレス制御手段によって読み
出されたサンプルデータ列と、前記係数アドレス制御手
段によって読み出された係数列との畳み込み演算を行う
畳み込み演算手段とを具備することを特徴とする。
【0007】
【発明の実施の形態】以下、本発明をさらに理解しやす
くするため、実施の形態について説明する。かかる実施
の形態は、本発明の一態様を示すものであり、この発明
を限定するものではなく、本発明の範囲で任意に変更可
能である。
【0008】A.第1の実施形態 (1)実施形態の構成 図1は、本実施形態に係るDSP100の構成を示すブ
ロック図である。DSP100は、サンプルデータ列記
憶手段110と、第1アドレス制御回路120と、係数
列記憶手段130と、第2アドレス制御回路140と、
残響時間設定用レジスタ150と、セレクタ160と、
畳み込み演算手段170と、制御部180とを具備して
いる。
【0009】サンプルデータ列記憶手段110は、サン
プリング周期毎に入力されるオーディオ信号のサンプル
データをkn個記憶するだけの記憶領域を有したRAM
型のデータメモリである。ここで、係数kは残響時間の
最大設定値に応じて一意に決定される数であり、残響時
間の最大設定値が「2.0」である場合、サンプルデー
タ列記憶手段110には2n個のサンプルデータが格納
される。なお、残響時間の設定値は、残響時間の設定倍
率を示しており、例えば残響時間の設定値「2.0」
は、基準となる残響時間(以下、基準残響時間という)
の2倍の残響時間であることを意味している。図2
(a)は、残響時間の最大設定値が「2.0」である場
合のサンプルデータ列記憶手段110の記憶状態を示し
ている。同図に示すように、サンプルデータ列記憶手段
110は、2n個の記憶領域を有しており、各記憶領域
にはアドレスda1〜da(2n)が割り当てられてい
る。そして、これらの記憶領域には、過去2n個分のサ
ンプルデータ列D2n〜D1が格納されている。
【0010】図1において、第1アドレス制御回路12
0は、サンプルデータ列記憶手段110における読み出
しアドレスを制御する回路であり、アドレスカウンタ1
21を備えている。アドレスカウンタ121は、システ
ムクロックCLKがANDゲートAND1を通過したク
ロックCLKDをカウントするカウンタであり、例えば
カウント値の初期値及びカウント値の上限値の設定等の
初期設定が可能な構成となっている。ここで、アドレス
カウンタ121の初期設定に必要な情報は、残響時間設
定用レジスタ150から第1アドレス制御回路120に
供給される。第1アドレス制御回路120は、残響時間
設定用レジスタ150から供給される情報に基づいてカ
ウント値の初期値及びカウント値の上限値の設定を行う
と共に、アドレスカウンタ121のカウント値に対応し
たアドレスデータDXをサンプルデータ列記憶手段11
0に出力する。
【0011】係数列記憶手段130は、畳み込み演算用
の係数列を記憶するRAM型のデータメモリであり、n
個の記憶領域を有している。係数列記憶手段130の各
記憶領域にはそれぞれアドレスca1〜can(図2
(b)参照)が割り当てられている。これらの記憶領域
には、n個の演算係数列C1〜Cnが格納されている。
第2アドレス制御回路140は、係数列記憶手段130
における読み出しアドレスを制御する回路であり、上述
した第1アドレス制御回路120と同様、カウント値の
初期設定が可能なアドレスカウンタ141を具備してい
る。
【0012】第2アドレス制御回路140に設けられて
いるアドレスカウンタ141は、システムクロックCL
KがANDゲートAND2を通過したクロックCLKC
をカウントするカウンタであり、カウント値の初期値及
び上限値の設定が可能な他、クロックCLKCが1個入
力された時のカウント値の変化幅(以下、インクリメン
ト値という)の設定が可能となっている。図3は、アド
レスカウンタ141の構成を示す図である。アドレスカ
ウンタ141は、レジスタ141aと、加算器141b
とを備えている。レジスタ141aは、加算器141b
において加算された結果を一時的に保持する記憶手段で
ある。レジスタ141aは、クロックCLKC入力毎に
該レジスタ141aに設定されたデータを加算器141
bに供給する。なお、レジスタ141aにおける初期値
の設定及び上限値の設定等は、第2アドレス制御回路1
40によって行われる。加算器141bは、レジスタ1
41aから供給されるデータに第2アドレス制御回路1
40から供給されるインクリメント値を加算し、加算結
果をあらたなデータとしてレジスタ141aに設定す
る。ここで、インクリメント値は、残響時間設定用レジ
スタ150から第2アドレス制御回路140に供給され
る情報である。例えば、残響時間設定用レジスタ150
からインクリメント値2が供給された場合、第2アドレ
ス制御回路140は1クロック入力に対してアドレスカ
ウンタ141のカウント値を2インクリメントさせるべ
く、加算器141bにインクリメント値2を供給する。
そして、第2アドレス制御回路140は、クロックCL
KC入力毎にアドレスカウンタ141aのカウント値に
対応したアドレスデータCXを係数列記憶手段130に
出力する。
【0013】残響時間設定用レジスタ150は、残響時
間の設定・変更に必要な情報を記憶するためのレジスタ
である。図4は、残響時間設定用レジスタ150に記憶
されたデータ内容を示す図である。同図に示すように、
残響時間設定用レジスタ150には、残響時間設定値
と、アドレスカウンタ121の設定情報と、アドレスカ
ウンタ141のインクリメント値とが対応付けて記憶さ
れている。残響時間設定値は、残響時間に対応する設定
値であり、例えば設定値「1.0」は残響時間が基準残
響時間であることを意味し、設定値「2.0」は残響時
間が基準残響時間の2.0倍であることを意味してい
る。アドレスカウンタ121の設定情報は、畳み込み演
算に使用するサンプルデータ数を示す情報である。同図
に示すように、アドレスカウンタ121の設定情報は各
残響時間設定値に応じてそれぞれ異なっており、例えば
残響時間設定値「1.0」に対応する設定情報「n」
は、過去n個分のサンプルデータ列を畳み込み演算に使
用することを意味している。第1アドレス制御回路12
0は、残響時間設定用レジスタ150からアドレスカウ
ンタ121の設定情報を受け取ると、当該情報に基づ
き、カウント値の初期設定(例えば、受け取った設定情
報が「n」であった場合には、カウント値の初期値とし
て「1」、カウント値の上限値として「n」と設定する
等)を行う。
【0014】アドレスカウンタ141のインクリメント
値は、第2アドレス制御回路140に順次入力されるク
ロックCLKCのインクリメント値を制御する情報であ
る。例えば、残響時間設定値「1.0」に対応するイン
クリメント値は1である。第2アドレス制御回路140
は、残響時間設定用レジスタ150からインクリメント
値を受け取ると、該インクリメント値をアドレスカウン
タ141に供給する。
【0015】セレクタ160は、1つのインバータIN
1と、2つのANDゲートAND3、AND4と、1つ
のORゲートOR1とにより構成されている。このセレ
クタ160は、セレクト端子sから入力されるクロック
イネーブル信号CLKEN2の信号レベルがハイレベル
である場合には、第1入力端子から入力されるデータ
(係数列記憶手段130から出力される読み出しデー
タ)を出力端子に出力し、クロックイネーブル信号CL
KEN2の信号レベルがローレベルである場合には、第
2入力端子から入力されるデータ(係数の値が「0」で
あるデータ)を出力端子に出力する構成となっている。
そして、セレクタ160の出力データは、係数データS
ELとして畳み込み演算手段170に出力される。
【0016】畳み込み演算手段170は、乗算器及び累
算器から構成されており、サンプルデータ列記憶手段1
10から順次読み出されるサンプルデータ列に、係数列
記憶手段130からセレクタ160を介し係数データS
ELとして供給される係数列をそれぞれ乗算し、各乗算
結果を累算する畳み込み演算を実行する。
【0017】制御部180は、図示せぬ記憶手段に記憶
されたプログラムを実行することにより、各部に制御信
号を送出し畳み込み演算等を実行させる。この制御部1
80は、DSP100内部に固有のハードウェアまたは
ソフトウェアとして構成されており、外部制御系とは独
立して動作できる構成となっている。
【0018】次に、このような構成のDSP100にお
ける演算動作について、残響時間の設定値を「1.0」
とした場合、残響時間の設定値を「1.0」から「2.
0」に変更した場合及び残響時間の設定値を「1.0」
から「0.5」に変更した場合を例に説明を行う。
【0019】(2)実施形態の動作 図5〜図7は、残響時間の設定値を「1.0」、「2.
0」、「0.5」の各々に設定した場合におけるDSP
100の動作を示すタイムチャートであり、図8は、各
残響時間設定値におけるサンプルデータ列と係数列との
対応関係を示した図である。また、図9及び図10は、
畳み込み演算に使用されるサンプルデータ列及び係数列
を各残響時間設定値毎に示した図である。図5〜図7に
示すタイムチャートを比較して明らかなように、本実施
形態に係るDSP100の各アドレス制御回路には、残
響時間の設定値によらず周波数一定のクロックCLKが
1サンプリング周期の間に複数回入力される。ここで、
1サンプリング周期の間に各アドレス制御回路に入力さ
れるクロックCLKの数をmとすると、クロックCLK
数mはサンプルデータ列記憶手段110に格納されるサ
ンプルデータの数kn(k=残響時間設定値の最大値)
以上となるように設定されている。これにより、残響時
間の設定値を最大とした場合においても、1サンプリン
グ周期の間にサンプルデータ列記憶手段110に格納さ
れているkn個のサンプルデータの読み出しが完了する
のである。なお、以下の説明は、残響時間の最大設定値
を「2.0」(k=2)とし、サンプルデータ列記憶手
段110には2n個のサンプルデータが格納されている
場合を想定している(図6参照)。
【0020】a)残響時間の設定値を「1.0」とした
場合 図5に示すように、サンプリング周期毎にm(>2n)
個のクロックCLKが入力されるDSP100におい
て、制御部180が図示せぬ操作部等から残響時間の設
定値を「1.0」にすべき旨のコマンドを受け取ると、
制御部180は残響時間設定用レジスタ150から残響
時間の設定値「1.0」に対応したアドレスカウンタ1
21の設定情報と、アドレスカウンタ141のインクリ
メント値とを読み出し、読み出した情報を対応するアド
レス制御回路に供給する。
【0021】第1アドレス制御回路120は、残響時間
の設定値「1.0」に対応したアドレスカウンタ121
の設定情報(図4参照)を受け取ると、アドレスカウン
タ121のカウント値の初期値(本実施形態では、初期
値「1」)及び上限値(本実施形態では、上限値
「n」)を設定する。その後、この第1アドレス制御回
路120にANDゲートAND1を通過したクロックC
LKDが入力されると、第1アドレス制御回路120
は、アドレスカウンタ121の初期値「1」に対応した
アドレスデータda1をサンプルデータ列記憶手段11
0に供給する。一方、アドレスカウンタ121のカウン
ト値は、第1アドレス制御回路120のANDゲートA
ND1を通過したクロックCLKDによって1インクリ
メントされる。サンプルデータ列記憶手段110は、第
1アドレス制御回路120からアドレスデータda1を
受け取ると、指定されたアドレスに書き込まれているサ
ンプルデータD2nを読み出し、該サンプルデータD2
nを畳み込み演算手段170へ供給する。
【0022】第1アドレス制御回路120は、その後ア
ドレスカウンタ121のカウント値が上限値に達するま
で同様の処理を繰り返し実行する。すなわち、第1アド
レス制御回路120は、クロックCLKD入力毎にアド
レスカウンタ121のカウント値を1ずつインクリメン
トし、該カウント値に対応するアドレスデータda1〜
danを順次サンプルデータ列記憶手段110に供給し
ていく。第1アドレス制御回路120がこのような処理
を繰り返し実行することにより、サンプルデータ列記憶
手段110からD2n、D2n−1、D2n−2、・・
・、Dn+1といったサンプルデータ列(n個のサンプ
ルデータ)が畳み込み演算手段170に供給されていく
(図8及び図9(b)に示す、残響時間設定値「1.
0」参照)。
【0023】そして、このような処理を繰り返し実行し
ている間に、アドレスカウンタ121のカウント値が上
限値(「n」)に達すると、その旨が制御部180に通
知される。制御部180は、該通知を受け取ると、アド
レスカウンタ121のカウント値をリセットすべき旨の
リセット信号(図示略)を生成し、これをアドレスカウ
ンタ121に供給すると共に、第1アドレス制御回路1
20を出力禁止状態とすべく、ANDゲートAND1の
一方の入力端に入力されるクロックイネーブル信号CL
KEN1の信号レベルをハイレベルからローレベルへと
切り換える。
【0024】これにより、アドレスカウンタ121のカ
ウント値はリセットされ、アドレス制御回路120は出
力禁止状態とされる。制御部180からANDゲートA
ND1の一方の入力端に入力されるクロックイネーブル
信号CLKEN1の信号レベルはサンプリング周期が切
り換わるまでの間、ローレベル状態を維持する。従っ
て、アドレスカウンタ121のカウント値が上限値に達
した後、サンプリング周期が切り換わるまでの間、アド
レスカウンタ121にクロックCLKDが入力されるこ
とはない。このように、本実施形態においては、アドレ
スカウンタ121の前段にANDゲートAND1を設
け、クロックCLKDとクロックイネーブル信号CLK
EN1との論理積をアドレスカウンタ121に入力する
ことにより、第1アドレス制御回路120の出力を所定
期間禁止状態としている。なお、第1アドレス制御回路
120の出力を所定期間禁止状態とする方法は、その他
様々な方法があるが、本発明の趣旨とは直接関係がない
ため説明を省略する。
【0025】一方、第2アドレス制御回路140は、残
響時間の設定値「1.0」に対応したアドレスカウンタ
141のインクリメント値(図4参照)を受け取ると、
アドレスカウンタ141のカウント値の初期値(本実施
形態では、初期値「1」)及び上限値(本実施形態で
は、上限値「n」)をレジスタ141aに設定すると共
に、該インクリメント値をアドレスカウンタ141bに
供給する。ここで、残響時間の設定値「1.0」に対応
するインクリメント値は1である。従って、第2アドレ
ス制御回路140は、クロックCLKC入力毎にアドレ
スカウンタ141のカウント値を1ずつインクリメント
すべく、インクリメント値1をアドレスカウンタ141
の加算器141bに出力する。
【0026】加算器141bは、クロックCLKCに同
期してレジスタ141aから供給されるデータにインク
リメント値1を加算し、加算結果を再びレジスタ141
aに設定する。これにより、アドレスカウンタ140の
カウント値はクロックCLKC入力毎に1ずつインクリ
メントされ、該カウント値に対応するアドレスデータc
a1〜canが順次係数列記憶手段130に供給されて
いく。第2アドレス制御回路140がこのような処理を
繰り返し実行することにより、係数列記憶手段130か
らセレクタ160へC1、C2、C3、・・・、Cnとい
った係数列(n個の係数)が順次供給される。なお、ア
ドレスカウンタ141のカウント値が上限に達した後の
第2アドレス制御回路140の動作は、上述した第1ア
ドレス制御回路120と同様であるため、説明を省略す
る。
【0027】セレクタ160は、セレクト端子sに入力
されるクロックイネーブル信号CLKEN2の信号レベ
ルに基づき、第1入力端子に入力される係数列記憶手段
からの読み出しデータを出力端子に出力するか、あるい
は第2入力端子に入力される係数「0」に対応するデー
タを出力端子に出力するかを選択する。ここで、残響時
間の設定値が「1.0」に設定された場合におけるクロ
ックイネーブル信号CLKEN2の信号レベルは、係数
列記憶手段130からn個の係数列が出力された後にハ
イレベルからローレベルへ切り換わるように設定されて
いる。従って、セレクタ160はクロックイネーブル信
号CLKEN2の信号レベルがハイレベルである期間、
第1入力端子に入力されるデータ(すなわち、係数列記
憶手段130から出力される読み出しデータ)を出力端
子に出力し、これにより畳み込み演算手段170にはC
1、C2、C3・・・、Cnといったn個の係数列が供給
される(図8及び図10(b)に示す、残響時間設定値
「1.0」参照)。
【0028】このようにして、1サンプリング周期の間
に過去n個分のサンプルデータ列D2n〜Dn+1及び
係数列C1〜Cnが畳み込み演算手段170に供給され
ると、畳み込み演算手段170は下記数1に示す畳み込
み演算を行い、その結果を出力する。
【数1】 そして、サンプリング周期が切り換わり、新たなサンプ
ルデータがサンプルデータ列記憶手段110に入力され
ることにより、前回畳み込み演算に使用されたサンプル
データのうち最も古いサンプルデータがレジスタ190
に書き込まれ、該サンプルデータが第1アドレス制御回
路120からのラッチ信号に基づき次段のDSP(図示
略)に入力される。そして、各DSPの畳み込み演算結
果は図示せぬ加算器により加算され、加算器からその結
果が出力される。
【0029】b)残響時間の設定値を「2.0」とした
場合 さて、このような演算がDSP100によって実行され
ている最中に、残響時間の設定値を「1.0」から
「2.0」へ変更すべき旨の通知が制御部180に対し
て行われたとする。これにより、制御部180は残響時
間の設定値を変更すべく、残響時間設定用レジスタ15
0から残響時間の設定値「2.0」に対応したアドレス
カウンタ121の設定情報と、アドレスカウンタ141
のインクリメント値とを読み出し、読み出した情報を対
応するアドレス制御回路に供給する。
【0030】第1アドレス制御回路120は、制御部1
80から残響時間の設定値「2.0」に対応したアドレ
スカウンタ121の設定情報を受け取ると、該設定情報
に基づきカウント値の初期値及び上限値を設定する。こ
こで、前述した残響時間の設定値「1.0」に対応した
アドレスカウンタ121の設定情報が「n」であったの
に対し、残響時間の設定値「2.0」に対応したアドレ
スカウンタ121の設定情報は図4に示すように「2
n」である。従って、第1アドレス制御回路120は残
響時間の設定値「2.0」に対応したアドレスカウンタ
121の設定情報を受け取ると、アドレスカウンタ12
1の初期値を「1」に設定し、上限値を「2n」に設定
する。このようにして、アドレスカウンタ121の初期
値を変更した第1アドレス制御回路120は、上述した
場合と同様、カウント値が上限値に達するまで入力され
るクロックCLKDのカウントを行う。そして、第1ア
ドレス制御回路120は、クロックCLKD入力毎にア
ドレスカウンタ121のカウント値を1ずつインクリメ
ントし、該カウント値に対応するアドレスデータda1
〜da(2n)を順次サンプルデータ列記憶手段110
に供給する。第1アドレス制御回路120がこのような
処理を繰り返し実行することにより、D2n、D2n−
1、D2n−2、・・・、D1といったサンプルデータ列
(2n個のサンプルデータ)が畳み込み演算手段170
に供給される(図8及び図9(c)に示す、残響時間設
定値「2.0」参照)。
【0031】一方、第2アドレス制御回路140は、残
響時間設定用レジスタ150から残響時間の設定値
「2.0」に対応したアドレスカウンタ141のインク
リメント値を受け取ると、該インクリメント値をアドレ
スカウンタ141bに供給する。ここで、残響時間の設
定値「2.0」に対応するインクリメント値は1/2で
ある。従って、第2アドレス制御回路140は、クロッ
クCLKCが2回入力される毎にカウント値を1インク
リメントすべく、インクリメント値1/2をアドレスカ
ウンタ141の加算器141bに出力する。インクリメ
ント値が1(残響時間の設定値「1.0」に対応)から
1/2(残響時間の設定値「2.0」に対応)に変更さ
れると、加算器141bはクロックCLKCに同期して
レジスタ141aから供給されるデータに1/2を加算
し、加算結果を再びレジスタ141aに設定する。これ
により、アドレスカウンタ141のカウント値はクロッ
クCLKCが2回入力される毎に1ずつインクリメント
される。
【0032】第2アドレス制御回路140がこのような
処理を繰り返し実行することにより、該カウント値に対
応したアドレスデータca1〜canが2クロックCL
KC入力毎に係数列記憶手段130に供給され、これに
より該アドレスデータca1〜canに対応したC1、
C2、C3、・・・、Cnといった係数列(n個の係数)
が順次係数列記憶手段130からセレクタ160へ供給
されていく。
【0033】セレクタ160は、上述した場合と同様、
セレクト端子sに入力されるクロックイネーブル信号C
LKEN2の信号レベルに基づき、第1入力端子に入力
される係数列記憶手段130からの読み出しデータを出
力端子に出力するか、あるいは第2入力端子に入力され
る係数「0」に対応するデータを出力端子に出力するか
を選択する。ここで、残響時間の設定値が「2.0」に
設定された場合におけるクロックイネーブル信号CLK
EN2の信号レベルは、係数列記憶手段130から1個
の係数が供給された後にハイレベルからローレベルへと
切り換わり、次の係数が供給されるまでの期間、ローレ
ベルを維持する。従って、セレクタ160は、図6に示
すようにクロックイネーブル信号CLKEN2の信号レ
ベルがハイレベルである期間、第1入力端子に入力され
るデータ(すなわち、係数列記憶手段130から出力さ
れる読み出しデータ)を出力端子に出力する一方、クロ
ックイネーブル信号CLKEN2の信号レベルがローレ
ベルである期間、第2入力端子に入力されるデータ(す
なわち、係数「0」に対応するデータ)を出力端子に出
力する。これにより畳み込み演算手段170には、C
1、0、C2、0、C3・・・、0、Cn、0といった2
n個の係数列が供給されることとなる(図8及び図10
(c)に示す、残響時間設定値「2.0」参照)。
【0034】このようにして、1サンプリング周期の間
に過去2n個分のサンプルデータ列D2n〜D1及び2
n個の係数列C1、0、C2、0、・・・、0、Cn、0
が畳み込み演算手段170に供給されると、畳み込み演
算手段170は上述した数1に示す畳み込み演算を行
い、畳み込み演算の結果を後段のDSPに出力する。な
お、畳み込み演算を行った後のDSPの動作は、上述し
た残響時間の設定値を「1.0」とした場合と同様であ
るため、説明を省略する。次に、残響時間の設定値を
「1.0」から「0.5」に変更した場合について説明
する。
【0035】c)残響時間の設定値を「0.5」とした
場合 残響時間の設定値を「1.0」から「0.5」に変更す
べき旨の通知が制御部180に対して行われると、制御
部180は残響時間設定用レジスタ150から残響時間
の設定値「0.5」に対応したアドレスカウンタ121
の設定情報と、アドレスカウンタ141のインクリメン
ト値とを読み出し、読み出した情報を対応するアドレス
制御回路に供給する。
【0036】図7に示すように、第1アドレス制御回路
120は、制御部180から残響時間の設定値「0.
5」に対応したアドレスカウンタ121の設定情報を受
け取ると、該設定情報に基づきカウント値の初期値及び
上限値を設定する。ここで、残響時間の設定値「1.
0」に対応したアドレスカウンタ121の設定情報が
「n」であったのに対し、残響時間の設定値「0.5」
に対応したアドレスカウンタ121の設定情報は、図4
に示すように「n/2」である。第1アドレス制御回路
120は該設定情報を受け取ると、アドレスカウンタ1
21の初期値を「1」に設定し、上限値を「n/2」に
設定する。このようにして、アドレスカウンタ121の
初期設定が行われた第1アドレス制御回路120は、上
述した場合と同様、カウント値が上限値に達するまで入
力されるクロックCLKDのカウントを行う。第1アド
レス制御回路120は、クロックCLKD入力毎にアド
レスカウンタ121のカウント値を1ずつインクリメン
トし、該カウントに対応したアドレスデータda1〜d
a(n/2)を順次サンプルデータ列記憶手段110に
供給する。第1アドレス制御回路120がこのような処
理を繰り返し実行することにより、D2n、D2n−
1、D2n−2、・・・、D3n/2+1といったサンプ
ルデータ列(n/2個のサンプルデータ)が畳み込み演
算手段170に供給される(図8及び図9(a)に示
す、残響時間設定値「0.5」参照)。
【0037】一方、第2アドレス制御回路140は、残
響時間の設定値「0.5」に対応したアドレスカウンタ
141のインクリメント値を受け取ると、該インクリメ
ント値をアドレスカウンタ141bに供給する。ここ
で、残響時間の設定値「0.5」に対応するインクリメ
ント値は2である。従って、第2アドレス制御回路14
0は、クロックCLKC入力毎にカウント値を2インク
リメントすべく、インクリメント値2をアドレスカウン
タ141の加算器141bに出力する。インクリメント
値が1(残響時間の設定値「1.0」に対応)から2
(残響時間の設定値「0.5」に対応)に変更される
と、加算器141bはクロックCLKCに同期してレジ
スタ141aから供給されるデータに2を加算し、加算
結果を再びレジスタ141aに設定する。これにより、
アドレスカウンタ141のカウント値はクロックCLK
Cが1回入力される毎に2ずつインクリメントされる。
【0038】第2アドレス制御回路140がこのような
処理を繰り返し実行することにより、該カウント値に対
応したアドレスデータca1、ca3、ca5、・・・、
ca(n−1)が順次係数列記憶手段130に供給さ
れ、これにより係数列記憶手段130に格納されたn個
の係数列のうちの半分の係数、すなわちC1、C3、・・
・、Cn−3、Cn−1といった係数列(n/2個の係
数)が順次セレクタ160へ供給されていく。
【0039】セレクタ160は、上述した場合と同様、
セレクト端子sに入力されるクロックイネーブル信号C
LKEN2の信号レベルに基づき、第1入力端子に入力
される係数列記憶手段130からの読み出しデータを出
力端子に出力するか、あるいは第2入力端子に入力され
る係数「0」に対応するデータを出力端子に出力するか
を選択する。ここで、残響時間の設定値が「0.5」に
設定された場合におけるクロックイネーブル信号CLK
EN2の信号レベルは、係数列記憶手段130からn/
2個の係数列が出力された後にハイレベルからローレベ
ルへ切り換わるように設定されている。従って、セレク
タ160はクロックイネーブル信号CLKEN2の信号
レベルがハイレベルである期間、第1入力端子に入力さ
れるデータ(すなわち、係数列記憶手段から出力される
読み出しデータ)を出力端子に出力し、これにより畳み
込み演算手段170にC1、C3、C5、・・・、Cn−
1といったn/2個の係数列が供給される(図8及び図
10(a)に示す、残響時間設定値「0.5」参照)。
【0040】畳み込み演算手段170は、サンプルデー
タ列記憶手段130から供給されるn/2個のサンプル
データ列D2n〜D3n/2+1に対して上述したn/
2個の係数列C1、C3、C5、・・・、Cn−1の畳み
込みを行い、畳み込み演算の結果を後段のDSPに出力
する。なお、畳み込み演算を行った後のDSPの動作
は、上述した場合と同様であるため、説明を省略する。
【0041】以上説明したように、本実施形態に係るD
SP100によれば、係数列記憶手段130に格納され
ている係数列の書き換えを行うことなく、係数列の読み
出しアドレスを制御することにより、残響時間の設定を
変更することができる。このため、迅速に残響時間の設
定変更を行うことができる。
【0042】B.その他 以上説明した本実施形態では、残響時間の最大設定値を
「2.0」とした場合を例に説明を行ったが、勿論これ
に限定する趣旨ではなく、「3.0」、「4.0」、・・
・等残響時間の最大設定値を「2.0」以上に設定する
ことも可能である。このように残響時間の最大設定値を
「k」(k>2)と設定した場合には、前述したように
サンプルデータ列記憶手段110にkn個のサンプルデ
ータ列D1〜Dknを格納すると共に、1サンプリング
周期の間に最大kn個のサンプルデータ列の読み出しを
可能とすべく、各アドレス制御回路に入力されるクロッ
クCLKの周波数を変更する。このように構成すること
で、残響時間の最大設定値を「2.0」以上に設定する
ことが可能となる。また、本実施形態では、残響時間の
設定値を「1.0」に設定した場合、「2.0」に設定
した場合、「0.5」に設定した場合、以上3通りの設
定を行った場合について説明したが、例えば図4に示す
ように「0.67」、「1.5」等様々な残響時間の設
定値を設けることができる。ここで、残響時間の設定値
「0.6」に対応するインクリメント値3/2は、例え
ば第n番目のクロック入力に対してアドレス値を1イン
クリメントし、第(n+1)番目のクロック入力に対し
てアドレス値を2インクリメントする等の情報である。
このように、係数列記憶手段130に対する読み出しア
ドレスのインクリメント値を制御することにより、様々
な残響時間を設定することができる。
【0043】
【発明の効果】以上説明したように、本発明によれば、
デジタル信号処理回路を制御する制御系の負担を増大さ
せることなく、迅速かつ確実に入力信号に付与する音響
効果を時間的に変化させることができるという効果があ
る。
【図面の簡単な説明】
【図1】 この発明の本実施形態におけるDSP100
の構成を示すブロック図である。
【図2】 (a)は、サンプルデータ列記憶手段110
を説明するための図であり、(b)は、係数列記憶手段
130を説明するための図である。
【図3】 アドレスカウンタ141の構成を示す図であ
る。
【図4】 残響時間設定用レジスタ150を説明するた
めの図である。
【図5】 同実施形態におけるDSP100の動作を示
すタイムチャートである。
【図6】 同実施形態におけるDSP100の動作を示
すタイムチャートである。
【図7】 同実施形態におけるDSP100の動作を示
すタイムチャートである。
【図8】 各残響時間設定値におけるサンプルデータ列
と係数列との対応関係を示した図である。
【図9】 畳み込み演算に使用されるサンプルデータ列
を各残響時間設定値毎に示した図である。
【図10】 畳み込み演算に使用される係数列を各残響
時間設定値毎に示した図である。
【図11】 従来のDSP300の構成を示すブロック
図である。
【符号の説明】
100・・・DSP、130・・・係数列記憶手段、1
40・・・第2アドレス制御回路、141・・・アドレ
スカウンタ、150・・・残響時間設定用レジスタ、1
70・・・畳み込み演算手段。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 一定のサンプリング周期毎に入力される
    サンプルデータ列を記憶するサンプルデータ列記憶手段
    と、 係数列を記憶する係数列記憶手段と、 前記サンプルデータ列記憶手段に記憶された最近のサン
    プルデータ列であって、指定された残響時間に応じた期
    間内のサンプルデータ列と、前記係数列記憶手段に記憶
    されている係数列のうち指定された残響時間に応じた係
    数列との畳み込み演算を行う畳み込み演算手段とを具備
    することを特徴とするデジタル信号処理回路。
  2. 【請求項2】 前記畳み込み演算手段は、 指定された残響時間に応じた期間内のサンプルデータ列
    の個数が前記係数列記憶手段に記憶されている係数列の
    個数よりも多い場合には、前記係数列記憶手段に記憶さ
    れている係数列に0を補間することにより、ほぼ均等な
    時間間隔で並ぶ係数列を構成し、この構成した係数列を
    用いてサンプルデータに対する畳み込みを行う一方、 指定された残響時間に応じた期間内のサンプルデータ列
    の個数が前記係数列記憶手段に記憶されている係数列の
    個数よりも少ない場合には、前記係数列記憶手段に記憶
    されている係数列の中からサンプルデータに乗算する係
    数列をほぼ均等な時間間隔で並ぶように選択し、選択し
    た係数列を用いてサンプルデータ列に対する畳み込みを
    行うことを特徴とする請求項1に記載のデジタル信号処
    理回路。
  3. 【請求項3】 一定のサンプリング周期毎に入力される
    サンプルデータ列を連続したアドレスが割り当てられた
    複数の記憶領域に順次記憶するサンプルデータ列記憶手
    段と、 係数列を構成する各係数を連続したアドレスが割り当て
    られた複数の記憶領域に記憶する係数列記憶手段と、 各サンプリング周期において、指定された残響時間に応
    じた範囲の読み出しアドレスを順次出力し、前記サンプ
    ルデータ列記憶手段からサンプルデータ列を読み出すサ
    ンプルデータアドレス制御手段と、 各サンプリング周期において、指定された残響時間に応
    じた時間勾配でほぼ単調に増加する読み出しアドレスを
    順次出力し、前記係数列記憶手段から係数を読み出す係
    数アドレス制御手段と、 前記サンプルデータアドレス制御手段によって読み出さ
    れたサンプルデータ列と、前記係数アドレス制御手段に
    よって読み出された係数列との畳み込み演算を行う畳み
    込み演算手段とを具備することを特徴とするデジタル信
    号処理回路。
JP2000350172A 2000-11-16 2000-11-16 デジタル信号処理回路 Pending JP2002156986A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000350172A JP2002156986A (ja) 2000-11-16 2000-11-16 デジタル信号処理回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000350172A JP2002156986A (ja) 2000-11-16 2000-11-16 デジタル信号処理回路

Publications (1)

Publication Number Publication Date
JP2002156986A true JP2002156986A (ja) 2002-05-31

Family

ID=18823452

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000350172A Pending JP2002156986A (ja) 2000-11-16 2000-11-16 デジタル信号処理回路

Country Status (1)

Country Link
JP (1) JP2002156986A (ja)

Similar Documents

Publication Publication Date Title
WO1989005544A1 (en) Fir digital filter device
US6018754A (en) Apparatus for filtering a signal utilizing recursion and decimation
US5841681A (en) Apparatus and method of filtering a signal utilizing recursion and decimation
JP2002156986A (ja) デジタル信号処理回路
JP2845115B2 (ja) デジタル信号処理回路
JP2634561B2 (ja) 可変遅延回路
JPH0767063B2 (ja) デジタル信号処理回路
JP2950461B2 (ja) 楽音発生装置
JP2000010779A (ja) デジタル信号処理装置
JP2555882B2 (ja) 信号処理装置
WO2008117042A2 (en) Ram circuit
JPH0544040B2 (ja)
JPH0828647B2 (ja) メモリ装置及びそれを用いたディジタル信号処理装置
KR0164129B1 (ko) 큰 차수를 갖는 선형 궤환 쉬프트 레지스터
JPS63136814A (ja) デイジタル遅延回路
JP3850150B2 (ja) デジタル信号処理動作を実行する方法およびデジタル信号プロセッサ
JPH01179515A (ja) デジタル信号処理装置
JPH11133969A (ja) 波形記憶装置
JP2006139321A (ja) ディジタルシグナルプロセッサ
JPH08292764A (ja) 信号切換装置
JPS58147223A (ja) デイジタルフイルタ
JPH0477349B2 (ja)
JPH04205376A (ja) 移動平均回路
JP2853203B2 (ja) 音声信号遅延装置
JPH0512011A (ja) パイプライン回路