JP3208990B2 - 信号処理装置 - Google Patents

信号処理装置

Info

Publication number
JP3208990B2
JP3208990B2 JP11221994A JP11221994A JP3208990B2 JP 3208990 B2 JP3208990 B2 JP 3208990B2 JP 11221994 A JP11221994 A JP 11221994A JP 11221994 A JP11221994 A JP 11221994A JP 3208990 B2 JP3208990 B2 JP 3208990B2
Authority
JP
Japan
Prior art keywords
microprogram
steps
storage means
signal processing
register
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
JP11221994A
Other languages
English (en)
Other versions
JPH07295805A (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 JP11221994A priority Critical patent/JP3208990B2/ja
Priority to US08/427,800 priority patent/US6026489A/en
Publication of JPH07295805A publication Critical patent/JPH07295805A/ja
Application granted granted Critical
Publication of JP3208990B2 publication Critical patent/JP3208990B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、信号処理装置に関し、
特に、楽音信号処理に適した信号処理装置に関する。
【0002】
【従来の技術】従来、楽音信号処理等にはストアド・プ
ログラム型のLSIであるDSP(Digital Signal Pro
cessor)が用いられている。かかるDSPは、マイクロ
プログラムレジスタに所望のマイクロプログラムを記憶
させ、そのマイクロプログラムを実行することにより種
々の信号処理が実行できるように構成されている。ま
た、かかる従来のDSPは、マイクロプログラムのステ
ップ数と1サンプリング周期で実行されるステップ数と
を一致させ、1サンプリング周期につき1回、そのマイ
クロプログラムを実行していた。このような処理方法に
は汎用性があり、大規模なプログラムから小規模なプロ
グラムまで対応できるという利点があった。
【0003】また、近年のLSI技術の進歩により、1
サンプリング周期内で実行できるステップ数は増加する
一方であり、以前では不可能であった複雑なプログラム
の実行や、複数のプログラムの並列的実行が可能となっ
て来ている。
【0004】
【発明が解決しようとする課題】しかしながら、上記従
来のDSPでは、1サンプリング周期内に実行できるス
テップ数が増大すると、それに応じてマイクロプログラ
ムレジスタの面積も大きくなり、結果的に、LSIが大
規模化し、これによりコストの増大を招くという問題が
あった。
【0005】また、1サンプリング周期内に実行できる
ステップ数の増大化、即ち、マイクロプログラムレジス
タに記憶できるプログラム数の増大化は、記憶できるプ
ログラムのステップ数を最大限に使用しなければならな
い複雑なプログラムを実行する場合には必要不可欠であ
るが、例えば、同じ処理を異なる入力に対して行った
り、DSPを音源として使用する際の複数チャンネル処
理を行ったりする場合には、同様のプログラムを複数個
記述しなければならなかった。
【0006】本発明は、上記問題に鑑みてなされたもの
で、DSPに占めるマイクロプログラムレジスタの面積
を削減してLSIの総面積を減少させ、製造コストを削
減することが可能な信号処理装置を提供することを目的
とする。
【0007】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の発明は、1サンプリング周期内にn
ステップの処理を実行する信号処理装置において、前記
nステップより小さいステップ数のマイクロプログラム
を記憶するプログラム記憶手段と、前記マイクロプログ
ラムを実行しているときに該マイクロプログラムに適用
されるパラメータを記憶するパラメータ記憶手段と、前
記マイクロプログラムの実行するステップを順次指定す
る指定手段と、前記パラメータ記憶手段から供給される
パラメータに基づき、前記プログラム記憶手段から供給
される前記マイクロプログラムの、前記指定手段によっ
て指定されるステップの信号処理演算を行う演算手段と
を有し、前記指定手段は、前記プログラム記憶手段に記
憶されたマイクロプログラムを1サンプリング周期内で
複数回繰り返し指定し、前記パラメータ記憶手段は、前
記nステップに対応した記憶容量を有し、1サンプリン
グ周期内に実行されるnステップのそれぞれについて個
別のパラメータを出力することを特徴とする。
【0008】また、請求項2記載の発明は、1サンプリ
ング周期内にnステップの処理を実行する信号処理装置
において、前記nステップより小さい所定の上限値以内
のステップ数のマイクロプログラムを記憶するプログラ
ム記憶手段と、前記マイクロプログラムを前記プログラ
ム記憶手段に供給する供給手段と、前記マイクロプログ
ラムの実行ステップ数を該マイクロプログラムのステッ
プ数の範囲内で任意に指定するステップ数情報指定手段
と、前記マイクロプログラムを実行しているときに該マ
イクロプログラムに適用されるパラメータを記憶するパ
ラメータ記憶手段と、前記プログラム記憶手段に記憶さ
れている前記マイクロプログラムの実行するステップを
順次指定する指定手段と、前記パラメータ記憶手段から
供給されるパラメータに基づき、前記プログラム記憶手
段から供給される前記マイクロプログラムの、前記指定
手段によって指定されるステップの信号処理演算を行う
演算手段とを有し、前記指定手段は、前記ステップ数情
報指定手段によって指定されたステップ数情報に応じ
て、前記プログラム記憶手段に記憶されたマイクロプロ
グラムを1サンプリング周期内で複数回繰り返し指定
し、前記パラメータ記憶手段は、前記nステップに対応
した記憶容量を有し、1サンプリング周期内に実行され
るnステップのそれぞれについて個別のパラメータを出
力することを特徴とする。
【0009】さらに、請求項3記載の発明は、1サンプ
リング周期内にステップ数nの処理を実行する信号処理
装置において、前記nステップより小さい所定の上限値
以内のステップ数の、アルゴリズムが異なる複数のマイ
クロプログラムを記憶するプログラム記憶手段と、前記
複数のマイクロプログラムを前記プログラム記憶手段に
供給する供給手段と、前記各マイクロプログラムの実行
ステップ数を該マイクロプログラムのステップ数の範囲
内で各々任意に指定するステップ数情報指定手段と、前
記各マイクロプログラムの1サンプリング周期内におけ
る繰り返し回数を各々指定する繰り返し回数指定手段
と、前記各マイクロプログラムを実行しているときに該
マイクロプログラムに適用されるパラメータを記憶する
パラメータ記憶手段と、前記プログラム記憶手段に記憶
されている前記複数のマイクロプログラムの内、実行す
べきマイクロプログラムを指定するとともに、前記プロ
グラム記憶手段に記憶されている該マイクロプログラム
の実行するステップを順次指定する指定手段と、前記パ
ラメータ記憶手段から供給されるパラメータに基づき、
前記プログラム記憶手段から供給される前記マイクロプ
ログラムの、前記指定手段によって指定されるステップ
の信号処理演算を行う演算手段とを有し、前記指定手段
は、前記プログラムサイズ設定手段によって設定される
ステップ数と、前記繰り返し回数設定手段によって設定
された繰り返し回数とに応じて、前記プログラム記憶手
段に記憶された前記複数のマイクロプログラムを順次各
々指定された繰り返し回数ずつ繰り返し指定し、前記パ
ラメータ記憶手段は、前記nステップに対応した記憶容
量を有し、1サンプリング周期内に実行されるnステッ
プのそれぞれについて個別のパラメータを出力すること
を特徴とする。
【0010】
【作用】請求項1記載の発明の構成に依れば、プログラ
ム記憶手段に記憶されたマイクロプログラムは、指定手
段によって1サンプリング周期内で複数回繰り返し指定
され、該1サンプリング周期内に実行されるnステップ
のそれぞれについて、パラメータ記憶手段から個別のパ
ラメータが出力され、前記マイクロプログラムの、前記
指定手段によって指定されたステップの信号処理演算が
演算手段によって実行される。
【0011】また、請求項2記載の発明の構成に依れ
ば、指定手段により、ステップ数情報指定手段によって
指定されたステップ数情報に応じて、プログラム記憶手
段に記憶されたマイクロプログラムは1サンプリング周
期内で複数回繰り返し指定され、該1サンプリング周期
内に実行されるnステップのそれぞれについて、パラメ
ータ記憶手段から個別のパラメータが出力され、前記マ
イクロプログラムの、前記指定手段によって指定された
ステップの信号処理演算が演算手段によって実行され
る。
【0012】さらに、請求項3記載の発明の構成に依れ
ば、指定手段により、プログラムサイズ設定手段によっ
て設定されるステップ数と、繰り返し回数設定手段によ
って設定された繰り返し回数とに応じて、マイクロプロ
グラム記憶手段に記憶された複数のマイクロプログラム
が順次各々指定された繰り返し回数ずつ繰り返し指定さ
れ、1サンプリング周期内に実行されるnステップのそ
れぞれについて、パラメータ記憶手段から個別のパラメ
ータが出力され、前記マイクロプログラムの、前記指定
手段によって指定されたステップの信号処理演算が演算
手段によって実行される。
【0013】
【実施例】以下、本発明の実施例を図面に基づいて詳細
に説明する。
【0014】図1は、本発明の第1実施例に係る信号処
理装置を含む電子楽器の概略構成を示すブロック図であ
り、本実施例の信号処理装置は、例えば、エフェクタに
適用されたものである。
【0015】同図に示すように、この電子楽器は、音高
情報を入力するための鍵盤1と、各種操作情報を入力す
るための操作子2と、電子楽器全体の制御を司るCPU
3と、CPU3が実行する制御プログラムやテーブルデ
ータ等を記憶するROM4と、各種入力情報および演算
結果等を一時的に記憶するRAM5と、前記鍵盤1から
の音高情報に基づいて楽音信号を発生する音源6と、該
音源6からの楽音信号の信号処理を行う信号処理装置
(DSP)7と、該DSP7からの楽音信号の音像定位
を変更するための音像定位装置8と、該音像定位装置8
からのデジタル楽音信号をアナログ楽音信号に変換する
ためのDAC(Digitai Analog Converter)9と、その
アナログ楽音信号を楽音に変換するためのスピーカ10
とにより構成されている。
【0016】上記構成要素1〜8は、バス11を介して
相互に接続され、音源6はDSP7に接続され、DSP
7は音像定位装置8に接続され、音像定位装置8は、D
AC9を介して、スピーカ10に接続されている。
【0017】図2は、図1のDSP7の詳細な構成を示
すブロック図であるが、同図には、説明の都合上、DS
P7以外の構成要素も図示されている。
【0018】図2に示されるように、DSP7は、8ス
テップのマイクロプログラムを格納するマイクロプログ
ラムレジスタ21と、8ビットのアドレス空間を有し、
各アドレスに割り当てられたレジスタ領域に係数値を格
納する係数レジスタ22と、クロック信号をカウント
し、各種カウント値を出力するカウンタ23と、8ビッ
トのアドレス空間を有し、各アドレスに割り当てられた
レジスタ領域にアドレス値を格納するアドレスレジスタ
24と、1ステップ内で加算および乗算の双方の演算を
行う演算部25と、演算結果を格納するデータレジスタ
26とにより主として構成されている。なお、マイクロ
プログラムレジスタ21、係数レジスタ22、および、
アドレスレジスタ24の各容量は上記値に限られるもの
ではないことは云うまでもない。
【0019】マイクロプログラムレジスタ21、係数レ
ジスタ22、カウンタ23およびアドレスレジスタ24
は、バス11に接続され、各構成要素21〜24は、前
記CPU3により制御される。
【0020】マイクロプログラムレジスタ21のアドレ
ス入力端子にはカウンタ23の出力端子OUT2が接続
され、該端子OUT2から第2のカウント値が供給さ
れ、マイクロプログラムレジスタ21は、このカウント
値に応じてマイクロプログラムを順次実行し、各種セレ
クタ(本実施例では、後述するセレクタ30が1つだけ
図示されている)にセレクト信号を供給する。
【0021】係数レジスタ22のアドレス入力端子には
カウンタ23の出力端子OUT1が接続され、該端子O
UT1から第1のカウント値が供給され、係数レジスタ
22は、このカウント値に応じて当該アドレスに格納さ
れた係数値を演算部25の一方の入力端子に出力する。
【0022】アドレスレジスタ24のアドレス入力端子
にはカウンタ23の出力端子OUT1が接続され、アド
レスレジスタ24のデータ出力端子は、加算器27の一
方の入力端子に接続され、加算器27の他方の入力端子
には、アドレスコントローラ28の出力端子が接続され
ている。ここで、アドレスコントローラ28は、遅延用
RAM30の複数の領域のうち一つの領域に対応するア
ドレス空間を1サンプリング周期毎に“1”ずつ減算し
て出力する。この出力値が領域の先頭に達したときは次
のサンプリング周期で領域の最後のアドレスを出力す
る。すなわち、領域をリングバッファとして使用する。
【0023】加算器27の出力側は、DSP7の外部に
設けられた遅延用RAM30のアドレス入力端子に接続
されている。また、遅延用RAM30には、カウンタ2
3の出力端子OUT3が接続されるとともに、演算部2
5の出力側とデータレジスタ26およびラッチ回路29
の入力側とを結ぶデータ線も接続されている。ここで、
遅延用RAM30は、加算器27からの出力により指定
されるアドレスに、演算部25からの演算出力(楽音信
号)を書き込み、その書き込まれた楽音信号を所望の値
だけ離れたアドレスから読み出すことにより所望の時間
だけ遅延させるものであり、この遅延により楽音には各
種効果が付与される。また、遅延用RAM30は、アド
レス空間が複数の領域に分割され、各領域は、カウンタ
23の出力端子OUT3からの出力信号によって切り替
え制御される。これは、後述するように、マイクロプロ
グラムレジスタ21に記憶されたマイクロプログラムを
1サンプリング周期内に複数回実行し、各回数毎に異な
った信号処理を行うので、同一領域に信号処理された楽
音信号を順次記憶して行くと、1サンプリング周期前に
記憶された楽音信号を使用したい場合があったとして
も、その楽音信号は更新されてしまって使用することが
できないからである。
【0024】前記データレジスタ26にはカウンタ23
の出力端子OUT3が接続され、データレジスタ26の
出力側は、セレクタ30の一方の入力端子IN1に接続
されている。セレクタ30の他方の入力端子IN2には
前記図1の音源6が接続され、セレクタ30の出力側
は、演算部25の他方の入力端子に接続されている。さ
らに、セレクタ30のセレクト端子SELには、マイク
ロプログラムレジスタ21の複数のセレクト信号出力端
子の内、所定の出力端子が接続され、前述のようにセレ
クト信号が供給される。このセレクト信号に応じて、セ
レクタ30は、データレジスタ26からの出力信号と音
源6からの出力信号とを切り替えて、演算部25に出力
する。ここで、データレジスタ26も、上述した遅延用
RAM30と同様に、アドレス空間が複数領域に分割さ
れ、各領域は、カウンタ23の出力端子OUT3からの
出力に応じて切り替え制御される。
【0025】以上のように構成されたDSP7が行う制
御処理を、図3〜図5を参照して説明する。
【0026】図3は、DSP7が実行する制御処理のア
ルゴリズムの一例を示す図であり、IIRフィルタのフ
ィルタアルゴリズムを示している。このフィルタアルゴ
リズムを用いて、その構成要素である係数値を変更する
ことにより、各種特性の異なるフィルタを構成してい
る。ここで、特性の異なるフィルタとは、具体的には、
低域通過フィルタ(LPF)、高域通過フィルタ(HP
F)、バンドパスフィルタ(BPF)、バンドリジェク
トフィルタ(BRF)等のことをいう。
【0027】図3において、入力信号inは、入力ゲイ
ンigだけ増幅された後、2信号に分岐され、一方は、
ゲインa1だけ増幅されて加算器41に供給され、他方
は、所定の遅延時間Dだけ遅延されて遅延信号Zi1と
なる。信号Zi1は、2信号に分岐され、一方は、ゲイ
ンa2だけ増幅されて加算器41に供給され、他方は、
さらに所定の遅延時間Dだけ遅延されて遅延信号Zi2
となった後に、ゲインa3だけ増幅されて加算器41に
供給される。
【0028】加算器41からの出力は、2信号に分岐さ
れ、一方は、出力ゲインogだけ増幅されて出力信号o
utとなり、他方は、所定の遅延時間Dだけ遅延されて
遅延信号Zo1となる。遅延信号Zo1は、さらに、2
信号に分岐され、一方は、ゲインb1だけ増幅されて加
算器41に供給され、他方は、さらに所定の遅延時間D
だけ遅延されて遅延信号Zo2となった後に、ゲインb
2だけ増幅されて加算器41に供給される。
【0029】図4は、図3のフィルタアルゴリズムを実
現したマイクロプログラムの一例を示し、図4には、前
記図2のマイクロプログラムレジスタ21、係数レジス
タ22、および、アドレスレジスタ24にそれぞれ格納
されたメモリ内容が図示されている。なお、同図の例に
依れば、最大32個の特性の異なるフィルタを実現する
ことが可能になる。
【0030】図5は、前記図2のカウンタ23が出力す
る3種類のカウント値の時間推移を示す図であり、図4
のマイクロプログラムによる信号処理を実現するための
ものである。図5中、(a),(b),(c)は、それ
ぞれ、カウンタ23の端子OUT1、端子OUT2、端
子OUT3からのカウント値の時間推移を示している。
【0031】まず、カウンタ23の端子OUT1〜OU
T3から“0”が出力されると、端子OUT2からの出
力によりマイクロプログラムレジスタ21はマイクロプ
ログラムのステップ0の処理、即ち、“Temp=in
×ig”の演算処理を実行する。
【0032】具体的には、セレクタ30に対してセレク
ト信号を出力し、音源6から入力された信号(信号i
n)を演算部25に出力する。また、係数レジスタ22
のアドレス入力端子にも“0”が入力されるので、アド
レス0に割り当てられたレジスタ(図4のレジスタIG
1)からその記憶内容(入力ゲインig)が演算部25
に出力される。演算部25では“in×ig”の演算が
行われ、その演算結果が演算部25から出力され、デー
タレジスタ26の一つのレジスタ領域であるテンポラリ
レジスタTempに格納される。このステップ0の処理
において、等号“=”の左辺は、書き込み処理を示して
いる。なお、演算部25は、前述のように、1ステップ
内で加算および減算の双方の演算を行うように構成され
ているが、本ステップでは加算を必要としないので、実
際には、上記乗算結果に“0”が加算されている。
【0033】また、図4に示されるように、マイクロプ
ログラムには遅延用RAM40の書き込み(MW)/読
み出し(MR)制御(W/R)も指示されているので、
演算部25からの演算結果は、前記図2の遅延用RAM
40にも書き込まれる。ここで、遅延用RAM40の書
き込みアドレスは、アドレスレジスタ24のアドレス0
の内容(“0”)によって指定される。これは、アドレ
スレジスタ24のアドレス入力端子にも、カウンタ23
の端子OUT1から“0”が入力されているからであ
る。以上のようにして、ステップ0では、図3の点p1
における信号処理を行う。
【0034】次に、カウンタ23の端子OUT1,2の
出力がそれぞれ“1”に切り替わると、その端子OUT
2の出力によりマイクロプログラムレジスタ21はマイ
クロプログラムのステップ1の処理、即ち、“Temp
=Temp×a1”の演算処理を実行する。
【0035】具体的には、セレクタ30に対してセレク
ト信号を出力し、セレクタ30から出力される信号をデ
ータレジスタ26から出力された信号に切り替える。こ
れにより、演算部25には、ステップ0の処理により格
納されたテンポラリレジスタTempの内容が読み出さ
れて出力される。また、演算部25の他の入力端子に
は、係数レジスタ22のアドレス1に割り当てられたレ
ジスタ領域A11の内容(ゲインa1)が供給され、ステ
ップ0と同様にして、“Temp×a1”の演算が行わ
れ、その演算結果がテンポラリレジスタTempに書き
込まれる。ここで、上記マイクロプログラムにおいて、
右辺の“Temp”は、テンポラリレジスタTempか
らの読み出し処理を示している。以上のようにして、ス
テップ1では図3の点p2における信号処理が行われ
る。
【0036】続いて、カウンタ23の端子OUT1,2
の出力がそれぞれ“2”に切り替わると、マイクロプロ
グラムレジスタ21はマイクロプログラムのステップ2
の処理(“Temp=Temp+Zi1×a2”)を実
行する。
【0037】即ち、ステップ1と同様にして、セレクタ
30から演算部25にテンポラリレジスタTempの内
容(ステップ1の演算結果)が出力された後に、アドレ
スレジスタ24のアドレス2の内容(“1”)により指
示された遅延用RAM40のアドレスからその内容が読
み出されて演算部25に出力される。それと同時に、演
算部25には係数レジスタ22のアドレス2に割り当て
られたレジスタ領域A12の内容(ゲインa2)が出力さ
れ、“Temp+Zi1×a2”の演算が行われ、その
演算結果がテンポラリレジスタTempに書き込まれ
る。ここで、遅延用RAM40から読み出される内容
は、1サンプリング周期前の“in×ig”、即ち、1
サンプリング周期前のマイクロプログラムのステップ0
の処理結果である。これは、図3から分かるように、信
号Zi1は、点p1の信号から時間Dだけ遅延されてお
り、本実施例では遅延時間Dは1サンプリング周期に該
当するからである。以上のようにして、ステップ2では
図3の点p3における信号処理を行う。
【0038】さらに、カウンタ23の端子OUT1,2
の出力がそれぞれ“3〜5”に切り替わると、マイクロ
プログラムレジスタ21は、マイクロプログラムのステ
ップ3〜ステップ5を実行するが、このステップ3〜ス
テップ5の処理は、参照する係数レジスタ22およびア
ドレスレジスタ24のアドレスが異なる以外は、ステッ
プ2と同様の処理であるので、その説明を省略する。
【0039】次に、カウンタ23の端子OUT1,2の
出力が“6”に切り替わると、ステップ6の処理(“T
emp=Temp”)が実行される。具体的には、テン
ポラリレジスタTempの内容、即ち、加算器41の加
算結果を読み出して再びテンポラリレジスタTempに
書き込むとともに、その加算結果をアドレスレジスタ2
4で指定される遅延用RAM40のアドレス(アドレス
3)に書き込む処理が行われる。ここで、加算結果を遅
延用RAM40のアドレス3に書き込むのは、図3のフ
ィルタアルゴリズムでは点p1の信号の遅延信号は1,
2サンプリング周期だけ遅れた信号だけ必要であり、3
サンプリング周期以上遅れた信号を得る必要はないから
である。また、このステップの処理を行う理由は、本実
施例のDSP7は、1ステップ内で遅延用RAM40へ
の書き込み処理および読み出し処理の双方の処理を行う
ことができない構成になっているからであり、1ステッ
プ内で書き込み処理および読み出し処理が可能であるD
SPでは、このステップ処理は不要である。
【0040】さらに、カウンタ23の端子OUT1,2
からの出力が“7”に切り替わると、ステップ7の処理
(“out=Temp×og”)が実行される。即ち、
ステップ1と同様にして、テンポラリレジスタTemp
から前記ステップ6で格納された値(加算器41の加算
結果)が読み出されて演算部25に出力されるととも
に、係数レジスタ22のアドレス7に割り当てられてい
るレジスタOG1の内容が読み出されて演算部25に出
力され、演算部25では“Temp×og”の演算が行
われる、そして、その演算結果が演算部25から出力さ
れ、前記図3のラッチ回路29でラッチされる。
【0041】カウンタ23に次のクロックが供給される
と、図5に示されるように、カウンタ23は、その端子
OUT1から“8”を出力し、端子OUT2から“0”
を出力し、端子OUT3から“1”を出力する。これに
より、マイクロプログラムレジスタ21は、その処理を
ステップ0に戻し、係数レジスタ22およびアドレスレ
ジスタ24は、参照されるアドレスをアドレス8に進め
る。また、データレジスタ26は、テンポラリレジスタ
Temp等のレジスタが格納される領域を次の領域に切
り替える。これは、前述のように、レジスタを各フィル
タ毎に異ならせるためである。
【0042】なお、本実施例のデータレジスタ26は、
1ステップ内に書き込み処理および読み出し処理の双方
の処理を行うことができるように構成されている。即
ち、1ステップの前半で読み出し処理を行い、後半で書
き込み処理を行うことができる。そして、データレジス
タ26に与えるアドレスはマイクロプログラムにより指
示される。例えば、“Temp2=Temp1+Zo1
×b1”のようなマイクロプログラムを作成すれば、デ
ータレジスタ26のテンポラリレジスタTemp1から
その内容を読み出して、その演算結果をテンポラリレジ
スタTemp2に書き込むことができる。また、テンポ
ラリレジスタTemp1は書き換えられていないので、
以降のステップで使用することもできる。本実施例で
は、比較的簡単なマイクロプログラムにより信号処理を
行っているので、書き込みのためのテンポラリレジスタ
および読み出しのためのテンポラリレジスタを共通のT
empにしているが、複雑なフィルタ、音源アルゴリズ
ム、効果アルゴリズム等では、上述のように複数のテン
ポラリレジスタを使用する必要がある。
【0043】以上のようにして、本実施例の信号処理装
置に依れば、図3のフィルタアルゴリズムに従った特性
の異なるIIRフィルタを、8ステップのマイクロプロ
グラムによって複数個(最大限32個)実現することが
でき、マイクロプログラムレジスタ21のDSP7に占
める面積を大幅に減少させることが可能となる。
【0044】なお、本実施例では、アドレスレジスタ2
4のアドレス空間を係数レジスタ22のアドレス空間と
同一の8ビット(256個)構成にしたが、図4から分
かるように、アドレスレジスタ24のアドレス0〜アド
レス7にそれぞれ格納されるデータとアドレス8〜アド
レス15,‥‥にそれぞれ格納されるデータは同一値で
あるため、アドレスレジスタ24のアドレス空間を4ビ
ット(8個)構成にし、アドレスレジスタ24のアドレ
ス入力端子に供給される信号をカウンタ23の端子OU
T2からの出力信号にすれば、さらに、DSP7の面積
を減少させることが可能となる。
【0045】次に、本発明の第2実施例に係る信号処理
装置を、図6および図7に基づいて説明する。
【0046】前記第1実施例の信号処理装置は、マイク
ロプログラムレジスタのステップサイズを固定(第1実
施例では8ステップ)にし、マイクロプログラム内で参
照される係数レジスタ22およびアドレスレジスタ24
に格納された値を変更することによって、各種信号処理
を実現したのに対して、本実施例の信号処理装置は、マ
イクロプログラムレジスタのステップサイズを所定のサ
イズ(例えば、64ステップ)まで自由に変更できるよ
うに構成している。したがって、本実施例の信号処理装
置の構成は、第1実施例の信号処理装置の構成に対し
て、マイクロプログラムレジスタのステップサイズおよ
びカウンタの構成のみが異なるので、第1実施例の図2
のカウンタ23に代えて図6のカウンタ51を用い、そ
の他の構成は図2と同一構成とする。ここで、マイクロ
プログラムレジスタに格納されるマイクロプログラム
は、信号処理装置の外部に設けられたCPUによりバス
を介して転送されるように構成されている。
【0047】図6は、前記カウンタ51の概略構成を示
すブロック図であり、前記図2のカウンタ23に対し
て、内部構成およびバス11を介してプログラムサイズ
情報が供給される点が異なっている。
【0048】本実施例のカウンタ51は、供給されたプ
ログラムサイズ情報に応じて、21,22,23,‥‥,
6の内、いずれかのカウント値を端子OUT2から出
力し、OUT3からこの出力値に応じて演算されたカウ
ント値を出力する。ここで、このようなカウント値を出
力するカウンタ51は周知の回路構成により実現できる
ので、その詳細な回路構成の説明は省略する。
【0049】図7は、カウンタ51が出力する3種類の
カウント値の時間推移の一例を示す図であり、同図中、
(a),(b),(c)は、それぞれ、カウンタ51の
端子OUT1、端子OUT2、端子OUT3からのカウ
ント値の時間推移を示している。
【0050】例えば、本実施例の信号処理装置が32ス
テップのマイクロプログラムにより構成されている場合
には、外部のCPU3は、バス11を介して当該プログ
ラムサイズ情報をカウンタ51に出力する。このとき、
カウンタ51は、図7に示すカウント値を端子OUT1
〜端子OUT3から出力し、このカウント値に応じて前
記第1実施例と同様にマイクロプログラムが実行され、
所望の信号処理が行われる。即ち、32ステップのマイ
クロプログラムが、1サンプリング周期内に8回繰り返
して実行される。
【0051】このように本実施例に依れば、簡単なアル
ゴリズムから複雑なアルゴリズムまで、アルゴリズムに
応じてプログラムサイズを自由に変更することができる
ので、さらに柔軟な信号処理装置を実現することが可能
になる。
【0052】次に、本発明の第3実施例に係る信号処理
装置を、図8〜図10に基づいて説明する。
【0053】前記第2実施例の信号処理装置が、所定の
サイズまでのマイクロプログラムの内、所望のサイズの
マイクロプログラムをマイクロプログラムレジスタに転
送して信号処理を実行したのに対して、本実施例の信号
処理装置は、その合計のプログラムサイズが所定のサイ
ズ(例えば、96ステップ)以内である複数のマイクロ
プログラムをマイクロプログラムレジスタに転送して信
号処理を実行可能にしている。即ち、本実施例の信号処
理装置の構成は、前記第2実施例の信号処理装置の構成
に対して、マイクロプログラムレジスタのステップサイ
ズおよびカウンタの構成のみが異なるので、第2実施例
のカウンタ51に代えて図6のカウンタ61を用い、そ
の他の構成は第2実施例と同一構成とする。なお、本実
施例では、マイクロプログラムレジスタのプログラムサ
イズを“96ステップ”にしたが、これに限られないこ
とは云うまでもなく、前記第2実施例のように“64ス
テップ”であってもよい。また、本実施例においても、
第2実施例と同様に、マイクロプログラムレジスタに格
納されるマイクロプログラムは、信号処理装置の外部に
設けられたCPUによりバスを介して転送されるように
構成されている。
【0054】図8は、前記カウンタ61の概略構成を示
すブロック図であり、前記図6のカウンタ51に対し
て、内部構成およびバス11を介してチャンネル数が供
給される点が異なっている。
【0055】本実施例のカウンタ61は、供給されるプ
ログラムサイズ情報およびチャンネル数に応じて、端子
OUT2,3から所定のカウント値を出力する。ここ
で、このようなカウンタ61も、前記第2実施例のカウ
ンタ51と同様に周知の回路により構成できるので、そ
の詳細な回路の説明を省略する。
【0056】図9は、マイクロプログラムレジスタに格
納されたマイクロプログラムの一例を示す図であり、プ
ログラム1として32ステップのマイクロプログラムが
格納され、プログラム2として64ステップのマイクロ
プログラムが格納されている。
【0057】図10は、カウンタ61が出力する3種類
のカウント値の時間推移の一例を示す図であり、同図
中、(a),(b),(c)は、それぞれ、カウンタ2
3の端子OUT1、端子OUT2、端子OUT3からの
カウント値の時間推移を示している。
【0058】外部のCPU3が、バス11を介して、カ
ウンタ61にプログラムサイズ情報およびチャンネル数
情報(32ステップのプログラムを4チャンネル分実行
し、64ステップのプログラムを2チャンネル分実行す
る情報)を供給すると、カウンタ61は、その端子OU
T1〜OUT3からそれぞれ図10(a),(b),
(c)で示されるカウント値を出力する。このカウント
値に応じて、まず、プログラム1が4チャンネル分実行
され、続いてプログラム2が2チャンネル分実行され
る。
【0059】このように本実施例に依れば、アルゴリズ
ムが異なる複数のプログラムにより信号処理を行う場合
に、マイクロプログラムレジスタをアルゴリズムに応じ
て効率よく使用することが可能となる。
【0060】なお、本実施例で、フィルタアルゴリズム
を例にとり説明したが、これに限らず、リバーブ、コー
ラス、ディストーション等の各種効果アルゴリズムが適
用できる。また音源アルゴリズムを適用した場合には繰
り返し回数が発音チャンネルとなり、第2、第3の実施
例に適用した場合には使用態様に対応した効率的な音源
システムとなる。
【0061】
【発明の効果】以上説明したように、請求項1記載の発
明によれば、プログラム記憶手段に記憶されたマイクロ
プログラムは、指定手段によって1サンプリング周期内
で複数回繰り返し指定され、該1サンプリング周期内に
実行されるnステップのそれぞれについて、パラメータ
記憶手段から個別のパラメータが出力され、前記マイク
ロプログラムの、前記指定手段によって指定されたステ
ップの信号処理演算が演算手段によって実行されるの
で、DSPに占めるマイクロプログラムレジスタの面積
を削減してLSIの総面積を減少させ、製造コストを削
減することが可能となる効果を奏する。
【0062】また、請求項2記載の発明によれば、指定
手段により、ステップ数情報指定手段によって指定され
たステップ数情報に応じて、プログラム記憶手段に記憶
されたマイクロプログラムは1サンプリング周期内で複
数回繰り返し指定され、該1サンプリング周期内に実行
されるnステップのそれぞれについて、パラメータ記憶
手段から個別のパラメータが出力され、前記マイクロプ
ログラムの、前記指定手段によって指定されたステップ
の信号処理演算が演算手段によって実行されるので、簡
単なアルゴリズムから複雑なアルゴリズムまで、アルゴ
リズムに応じてマイクロプログラムのプログラムサイズ
を自由に変更することができ、さらに柔軟な信号処理を
行うことができる。
【0063】さらに、請求項3記載の発明によれば、指
定手段により、プログラムサイズ設定手段によって設定
されるステップ数と、繰り返し回数設定手段によって設
定された繰り返し回数とに応じて、マイクロプログラム
記憶手段に記憶された複数のマイクロプログラムが順次
各々指定された繰り返し回数ずつ繰り返し指定され、1
サンプリング周期内に実行されるnステップのそれぞれ
について、パラメータ記憶手段から個別のパラメータが
出力され、前記マイクロプログラムの、前記指定手段に
よって指定されたステップの信号処理演算が演算手段に
よって実行されるので、アルゴリズムが異なる複数のマ
イクロプログラムにより信号処理を行う場合に、プログ
ラム記憶手段をアルゴリズムに応じて効率よく使用する
ことが可能となる。
【図面の簡単な説明】
【図1】本発明の第1実施例に係る信号処理装置を含む
電子楽器の概略構成を示すブロック図である。
【図2】図1の信号処理装置の詳細な構成を示すブロッ
ク図である。
【図3】第1実施例の信号処理装置が実行する制御処理
のアルゴリズムの一例を示す図である。
【図4】図3のフィルタアルゴリズムを実現したマイク
ロプログラムの一例を示す図である。
【図5】図2のカウンタが出力する3種類のカウント値
の時間推移を示す図である。
【図6】本発明の第2実施例に係る信号処理装置のカウ
ンタの概略構成を示すブロック図である。
【図7】図6のカウンタが出力する3種類のカウント値
の時間推移の一例を示す図である。
【図8】本発明の第3実施例に係る信号処理装置のカウ
ンタの概略構成を示すブロック図である。
【図9】本発明の第3実施例に係る信号処理装置のマイ
クロプログラムレジスタに格納されたマイクロプログラ
ムの一例を示す図である。
【図10】図8のカウンタが出力する3種類のカウント
値の時間推移の一例を示す図である。
【符号の説明】
7 信号処理装置 21 マイクロプログラムレジスタ(プログラム記憶手
段) 22 係数レジスタ(パラメータ記憶手段) 23 カウンタ(指定手段) 24 アドレスレジスタ(パラメータ記憶手段25 演算部(演算手段) 51 カウンタ(指定手段、ステップ数情報指定手段) 61 カウンタ(指定手段、ステップ数情報指定手段、
繰り返し回数指定手段)
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平6−242779(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/26 320 G06F 9/28 G06F 9/22 G10H 1/02 G10K 15/12

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 1サンプリング周期内にnステップの処
    理を実行する信号処理装置において、 前記nステップより小さいステップ数のマイクロプログ
    ラムを記憶するプログラム記憶手段と、 前記マイクロプログラムを実行しているときに該マイク
    ロプログラムに適用されるパラメータを記憶するパラメ
    ータ記憶手段と、 前記マイクロプログラムの実行するステップを順次指定
    する指定手段と、 前記パラメータ記憶手段から供給されるパラメータに基
    づき、前記プログラム記憶手段から供給される前記マイ
    クロプログラムの、前記指定手段によって指定されるス
    テップの信号処理演算を行う演算手段とを有し、 前記指定手段は、前記プログラム記憶手段に記憶された
    マイクロプログラムを1サンプリング周期内で複数回繰
    り返し指定し、 前記パラメータ記憶手段は、前記nステップに対応した
    記憶容量を有し、1サンプリング周期内に実行されるn
    ステップのそれぞれについて個別のパラメータを出力す
    ることを特徴とする信号処理装置。
  2. 【請求項2】 1サンプリング周期内にnステップの処
    理を実行する信号処理装置において、 前記nステップより小さい所定の上限値以内のステップ
    数のマイクロプログラムを記憶するプログラム記憶手段
    と、 前記マイクロプログラムを前記プログラム記憶手段に供
    給する供給手段と、 前記マイクロプログラムの実行ステップ数を該マイクロ
    プログラムのステップ数の範囲内で任意に指定するステ
    ップ数情報指定手段と、 前記マイクロプログラムを実行しているときに該マイク
    ロプログラムに適用されるパラメータを記憶するパラメ
    ータ記憶手段と、 前記プログラム記憶手段に記憶されている前記マイクロ
    プログラムの実行するステップを順次指定する指定手段
    と、 前記パラメータ記憶手段から供給されるパラメータに基
    づき、前記プログラム記憶手段から供給される前記マイ
    クロプログラムの、前記指定手段によって指定されるス
    テップの信号処理演算を行う演算手段とを有し、 前記指定手段は、前記ステップ数情報指定手段によって
    指定されたステップ数情報に応じて、前記プログラム記
    憶手段に記憶されたマイクロプログラムを1サンプリン
    グ周期内で複数回繰り返し指定し、 前記パラメータ記憶手段は、前記nステップに対応した
    記憶容量を有し、1サンプリング周期内に実行されるn
    ステップのそれぞれについて個別のパラメータを出力す
    ることを特徴とする信号処理装置。
  3. 【請求項3】 1サンプリング周期内にステップ数nの
    処理を実行する信号処理装置において、 前記nステップより小さい所定の上限値以内のステップ
    数の、アルゴリズムが異なる複数のマイクロプログラム
    を記憶するプログラム記憶手段と、 前記複数のマイクロプログラムを前記プログラム記憶手
    段に供給する供給手段と、 前記各マイクロプログラムの実行ステップ数を該マイク
    ロプログラムのステップ数の範囲内で各々任意に指定す
    るステップ数情報指定手段と、 前記各マイクロプログラムの1サンプリング周期内にお
    ける繰り返し回数を各々指定する繰り返し回数指定手段
    と、 前記各マイクロプログラムを実行しているときに該マイ
    クロプログラムに適用されるパラメータを記憶するパラ
    メータ記憶手段と、 前記プログラム記憶手段に記憶されている前記複数のマ
    イクロプログラムの内、実行すべきマイクロプログラム
    を指定するとともに、前記プログラム記憶手段に記憶さ
    れている該マイクロプログラムの実行するステップを順
    次指定する指定手段と、 前記パラメータ記憶手段から供給されるパラメータに基
    づき、前記プログラム記憶手段から供給される前記マイ
    クロプログラムの、前記指定手段によって指定されるス
    テップの信号処理演算を行う演算手段とを有し、 前記指定手段は、前記プログラムサイズ設定手段によっ
    て設定されるステップ数と、前記繰り返し回数設定手段
    によって設定された繰り返し回数とに応じて、前記プロ
    グラム記憶手段に記憶された前記複数のマイクロプログ
    ラムを順次各々指定された繰り返し回数ずつ繰り返し指
    定し、 前記パラメータ記憶手段は、前記nステップに対応した
    記憶容量を有し、1サンプリング周期内に実行されるn
    ステップのそれぞれについて個別のパラメータを出力す
    ることを特徴とする信号処理装置。
JP11221994A 1994-04-27 1994-04-27 信号処理装置 Expired - Fee Related JP3208990B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP11221994A JP3208990B2 (ja) 1994-04-27 1994-04-27 信号処理装置
US08/427,800 US6026489A (en) 1994-04-27 1995-04-26 Signal processor capable of executing microprograms with different step sizes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11221994A JP3208990B2 (ja) 1994-04-27 1994-04-27 信号処理装置

Publications (2)

Publication Number Publication Date
JPH07295805A JPH07295805A (ja) 1995-11-10
JP3208990B2 true JP3208990B2 (ja) 2001-09-17

Family

ID=14581242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11221994A Expired - Fee Related JP3208990B2 (ja) 1994-04-27 1994-04-27 信号処理装置

Country Status (2)

Country Link
US (1) US6026489A (ja)
JP (1) JP3208990B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030005269A1 (en) * 2001-06-01 2003-01-02 Conner Joshua M. Multi-precision barrel shifting
US7003543B2 (en) * 2001-06-01 2006-02-21 Microchip Technology Incorporated Sticky z bit
US20030028696A1 (en) * 2001-06-01 2003-02-06 Michael Catherwood Low overhead interrupt
US6975679B2 (en) * 2001-06-01 2005-12-13 Microchip Technology Incorporated Configuration fuses for setting PWM options
US7020788B2 (en) * 2001-06-01 2006-03-28 Microchip Technology Incorporated Reduced power option
US6952711B2 (en) * 2001-06-01 2005-10-04 Microchip Technology Incorporated Maximally negative signed fractional number multiplication
US6604169B2 (en) 2001-06-01 2003-08-05 Microchip Technology Incorporated Modulo addressing based on absolute offset
US6728856B2 (en) 2001-06-01 2004-04-27 Microchip Technology Incorporated Modified Harvard architecture processor having program memory space mapped to data memory space
US7007172B2 (en) * 2001-06-01 2006-02-28 Microchip Technology Incorporated Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection
US6934728B2 (en) * 2001-06-01 2005-08-23 Microchip Technology Incorporated Euclidean distance instructions
US20030023836A1 (en) * 2001-06-01 2003-01-30 Michael Catherwood Shadow register array control instructions
US6552625B2 (en) 2001-06-01 2003-04-22 Microchip Technology Inc. Processor with pulse width modulation generator with fault input prioritization
US20020184566A1 (en) * 2001-06-01 2002-12-05 Michael Catherwood Register pointer trap
US6937084B2 (en) * 2001-06-01 2005-08-30 Microchip Technology Incorporated Processor with dual-deadtime pulse width modulation generator
US6985986B2 (en) * 2001-06-01 2006-01-10 Microchip Technology Incorporated Variable cycle interrupt disabling
US20030005268A1 (en) * 2001-06-01 2003-01-02 Catherwood Michael I. Find first bit value instruction
US6601160B2 (en) 2001-06-01 2003-07-29 Microchip Technology Incorporated Dynamically reconfigurable data space
US7467178B2 (en) * 2001-06-01 2008-12-16 Microchip Technology Incorporated Dual mode arithmetic saturation processing
US6976158B2 (en) * 2001-06-01 2005-12-13 Microchip Technology Incorporated Repeat instruction with interrupt
US20040021483A1 (en) * 2001-09-28 2004-02-05 Brian Boles Functional pathway configuration at a system/IC interface
US6552567B1 (en) 2001-09-28 2003-04-22 Microchip Technology Incorporated Functional pathway configuration at a system/IC interface

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2557712B1 (fr) * 1983-12-30 1988-12-09 Trt Telecom Radio Electr Processeur pour traiter des donnees en fonction d'instructions provenant d'une memoire-programme
JPS62180427A (ja) * 1986-02-03 1987-08-07 Nec Corp プログラム制御回路
JPH04130575A (ja) * 1990-09-20 1992-05-01 Fujitsu Ltd 多重処理式ディジタルシグナルプロセッサ
JP2565073B2 (ja) * 1992-03-10 1996-12-18 ヤマハ株式会社 ディジタル信号処理装置
JP2765426B2 (ja) * 1992-10-30 1998-06-18 ヤマハ株式会社 効果付与装置および電子楽器
JP2773601B2 (ja) * 1993-06-11 1998-07-09 ヤマハ株式会社 信号処理装置

Also Published As

Publication number Publication date
JPH07295805A (ja) 1995-11-10
US6026489A (en) 2000-02-15

Similar Documents

Publication Publication Date Title
JP3208990B2 (ja) 信号処理装置
US5201005A (en) Sound field compensating apparatus
JPH0444970B2 (ja)
JPH07122973A (ja) デジタル信号処理回路
JPH02110597A (ja) アドレス制御回路
JP2000322235A (ja) 情報処理装置
US6031916A (en) Sound effect adding device using DSP
US5442125A (en) Signal processing apparatus for repeatedly performing a same processing on respective output channels in time sharing manner
JP3120483B2 (ja) 効果付加装置
JP3991475B2 (ja) 音声データ処理装置およびコンピュータシステム
JP3036417B2 (ja) 信号処理装置
JP2000010779A (ja) デジタル信号処理装置
JPH01179515A (ja) デジタル信号処理装置
JP2766191B2 (ja) デジタル信号処理装置及び信号処理方法
JP3180351B2 (ja) エフェクト装置
JP3178036B2 (ja) 信号処理装置
JP3022186B2 (ja) デジタル信号処理装置
JPH06348262A (ja) 信号処理装置
JP3531208B2 (ja) ディジタル信号処理装置
JP2686234B2 (ja) デジタル信号処理装置及び信号処理方法
JPS60238932A (ja) デ−タ処理装置
JPH04364525A (ja) 並列演算装置
JP2000183692A (ja) デジタル信号処理装置
JPH06309168A (ja) ディジタル信号処理回路
JPH0646399B2 (ja) ディジタル信号処理回路

Legal Events

Date Code Title Description
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: 20090713

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090713

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110713

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110713

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120713

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130713

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees