JPH02140010A - 低周波帯域デジタルフィルタ - Google Patents
低周波帯域デジタルフィルタInfo
- Publication number
- JPH02140010A JPH02140010A JP23752689A JP23752689A JPH02140010A JP H02140010 A JPH02140010 A JP H02140010A JP 23752689 A JP23752689 A JP 23752689A JP 23752689 A JP23752689 A JP 23752689A JP H02140010 A JPH02140010 A JP H02140010A
- Authority
- JP
- Japan
- Prior art keywords
- data
- multiplication
- address
- output
- constant
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000003111 delayed effect Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 31
- 238000004364 calculation method Methods 0.000 description 12
- 238000005070 sampling Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000000034 method Methods 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 5
- 101001073211 Solanum lycopersicum Suberization-associated anionic peroxidase 2 Proteins 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 101000579490 Solanum lycopersicum Suberization-associated anionic peroxidase 1 Proteins 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 201000011244 Acrocallosal syndrome Diseases 0.000 description 1
- 101100004933 Arabidopsis thaliana CYP79F1 gene Proteins 0.000 description 1
- 208000030853 Asthma-Chronic Obstructive Pulmonary Disease Overlap Syndrome Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- NEOZOXKVMDBOSG-UHFFFAOYSA-N propan-2-yl 16-methylheptadecanoate Chemical compound CC(C)CCCCCCCCCCCCCCC(=O)OC(C)C NEOZOXKVMDBOSG-UHFFFAOYSA-N 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(イ)産業上の利用分野
本発明は、時系列で入力されるデータを所定のアルゴリ
ズムに基いて処理し、時系列データとして出力する低周
波帯域デジタルフィルタに関する。
ズムに基いて処理し、時系列データとして出力する低周
波帯域デジタルフィルタに関する。
(ロ)従来の技術
一般に、音声や画像等のように我々の周囲に存在する原
始情報源は、アナログ信号であることが多い。このアナ
ログ信号をデジタル的な手法によって処理するシステム
がデジタル信号9I!、埋装置(デジタル・シグナル・
プロセッシング・システム: DSPシステム)である
。
始情報源は、アナログ信号であることが多い。このアナ
ログ信号をデジタル的な手法によって処理するシステム
がデジタル信号9I!、埋装置(デジタル・シグナル・
プロセッシング・システム: DSPシステム)である
。
近年、デジタル回路のLSI化が急速に進み、ワンチッ
プ上にDSPシステムが容易に実現できるようになり、
更に、アナログ信号処理に比べて高精度処理が可能、パ
ラメータの設定により任意の特性が安定して均一に得ら
れる、無調整化が可能となる等の特徴を有するため、D
SPシステムが急速に実用化されるようになった。また
、DSPシステムの応用範囲は、音声信号処理、通信信
号処理、計測信号処理、画像信号処理、地震波信号処理
、水中音響信号処理等に広がり利用されている。
プ上にDSPシステムが容易に実現できるようになり、
更に、アナログ信号処理に比べて高精度処理が可能、パ
ラメータの設定により任意の特性が安定して均一に得ら
れる、無調整化が可能となる等の特徴を有するため、D
SPシステムが急速に実用化されるようになった。また
、DSPシステムの応用範囲は、音声信号処理、通信信
号処理、計測信号処理、画像信号処理、地震波信号処理
、水中音響信号処理等に広がり利用されている。
また、オーディオ分野に於いてもCD(コンパクト・デ
ィスク)プレーヤやDAT (デジタル・オーディオ・
テープ)プレーヤの如く、オーディオ信号のデジタル処
理化が進むに伴って、オーディオ信号をデジタル処理す
るDSPシステムが実用化されている。
ィスク)プレーヤやDAT (デジタル・オーディオ・
テープ)プレーヤの如く、オーディオ信号のデジタル処
理化が進むに伴って、オーディオ信号をデジタル処理す
るDSPシステムが実用化されている。
従来のDSPシステムは、デジタルフィルタを容易に形
成できるように第7図に示すアーキテクチャを有してい
る。
成できるように第7図に示すアーキテクチャを有してい
る。
第7図に於いて、データバス(1)には、入出力回路(
Ilo)(2)、データRAM(2)、乗算器(3)、
演算回路(ALU)(4)、アキュームレータ(ACC
)(5)等が接続され、データRA M (2)の出力
とデータROM(6)の出力が乗算器(3)に接続され
、乗′!J、器(3)の乗算結果出力がA L U (
4)の一方の入力に印加されている。これらの各回路は
、プログラムROM (7)から順次読み出される命令
を解読するデコータ(8)からその命令に応じて出力さ
れるマイクロコード信号によって制御される。
Ilo)(2)、データRAM(2)、乗算器(3)、
演算回路(ALU)(4)、アキュームレータ(ACC
)(5)等が接続され、データRA M (2)の出力
とデータROM(6)の出力が乗算器(3)に接続され
、乗′!J、器(3)の乗算結果出力がA L U (
4)の一方の入力に印加されている。これらの各回路は
、プログラムROM (7)から順次読み出される命令
を解読するデコータ(8)からその命令に応じて出力さ
れるマイクロコード信号によって制御される。
ところで、オーディオの信号処理に於いて、グラフィッ
クイコライザを実現する場合、第8図に示される2次の
直接型FIRフィルタを複数段縦続接続することによっ
て得られる。第8図のIIR型フィルタは、 ’I’1=CIXl+C!X、l−1+ CIxl−*
+C4Yl−1+ CsY+−t・・・・・・・・・
(1)式 (C+、 C!、 Cs、 C4,Csはフィルタ特性
を決定する定数) の積和演算を行うものであり、(29)で示される2″
′は単位時間(ここではサンプリンダ周期)の遅延素子
であり、(30)は定数C1〜C6の乗算素子、(31
−)は加算素子である。
クイコライザを実現する場合、第8図に示される2次の
直接型FIRフィルタを複数段縦続接続することによっ
て得られる。第8図のIIR型フィルタは、 ’I’1=CIXl+C!X、l−1+ CIxl−*
+C4Yl−1+ CsY+−t・・・・・・・・・
(1)式 (C+、 C!、 Cs、 C4,Csはフィルタ特性
を決定する定数) の積和演算を行うものであり、(29)で示される2″
′は単位時間(ここではサンプリンダ周期)の遅延素子
であり、(30)は定数C1〜C6の乗算素子、(31
−)は加算素子である。
このデジタルフィルタをDSPシステムで実現する場合
には、フィルタ内の節点の計算順序を決定して、プログ
ラムを作成し、そのプログラムをプログラムROM (
7)に格納すると共にデータROM(6)内に計算式の
定数を格納しておく。そして、プログラムを実行するこ
とにより、積和演算が為され、演算結果はデータRAM
(2)に順次記憶される。
には、フィルタ内の節点の計算順序を決定して、プログ
ラムを作成し、そのプログラムをプログラムROM (
7)に格納すると共にデータROM(6)内に計算式の
定数を格納しておく。そして、プログラムを実行するこ
とにより、積和演算が為され、演算結果はデータRAM
(2)に順次記憶される。
(・・)発明が解決しようとする問題点グラフィックイ
コライザ機能は、中心周波数の異なるデジタルフィルタ
を多段縦続接続したものとして実現でき、各々の段に於
いて、(1)式の積和演算を行っている。
コライザ機能は、中心周波数の異なるデジタルフィルタ
を多段縦続接続したものとして実現でき、各々の段に於
いて、(1)式の積和演算を行っている。
しかしながら、中心周波数が200Hz程度の低周波帯
域のデジタルフィルタの場合、積和演算を行う定数の少
数点以下の有効桁が長くなり、限られたビット数、例え
ば16ビツトで積和演算を行うと演算精度が劣化し、フ
ィルタ特性が悪化して、低域でのオーディオ信号が歪む
等の欠点があった。
域のデジタルフィルタの場合、積和演算を行う定数の少
数点以下の有効桁が長くなり、限られたビット数、例え
ば16ビツトで積和演算を行うと演算精度が劣化し、フ
ィルタ特性が悪化して、低域でのオーディオ信号が歪む
等の欠点があった。
また、低周波帯域での演算精度を上げるためには、定数
のビット数及び乗算器のピント数を増す必要があり、そ
のため、定数を記憶するメモリや乗算器が大きくなり、
集積回路化する際の障害となる不都合がある。
のビット数及び乗算器のピント数を増す必要があり、そ
のため、定数を記憶するメモリや乗算器が大きくなり、
集積回路化する際の障害となる不都合がある。
(ニ)問題点を解決するための手段
本発明は、上述した点に鑑みて創作されたものであり、
所定の時間単位毎に入力されるデジタルデータを前記時
間単位で遅延する複数の第1の遅延手段と、前記入力さ
れたデジタルデータ及び前記第1の遅延手段の各遅延出
力に各々定められた定数を乗算する第1の乗算手段と、
出力デジタルデータを前記時間単位で遅延する複数の第
2の遅延手段と、該第2の遅延手段の各遅延出力に各々
定められた定数を乗算する第2の乗算手段と、前記第1
の乗算手段の各出力と前記第2の乗算手段の各出力を加
算する第1の加算手段と、該第1の加算手段の加算結果
に定数を乗算する第3の乗算丁段と、前記入力されたデ
ジタルデータがら出力されたデジタルデータを減算する
減算手段と、該減算手段の出力を前記時間単位で遅延す
る第3の遅延手段と、該第3の遅延手段の所定出力に所
定の定数を乗算する第4の乗算手段と、前記入力された
デジタルデータ、前記第3の乗算手段の乗算結果、前記
第4の乗算手段の乗算結果、及び、前記第3の遅延回路
の出力デジタルデを加算する第2の加算手段とによって
低周波帯域デジタルフィルタを構成したことを特徴とす
る。
所定の時間単位毎に入力されるデジタルデータを前記時
間単位で遅延する複数の第1の遅延手段と、前記入力さ
れたデジタルデータ及び前記第1の遅延手段の各遅延出
力に各々定められた定数を乗算する第1の乗算手段と、
出力デジタルデータを前記時間単位で遅延する複数の第
2の遅延手段と、該第2の遅延手段の各遅延出力に各々
定められた定数を乗算する第2の乗算手段と、前記第1
の乗算手段の各出力と前記第2の乗算手段の各出力を加
算する第1の加算手段と、該第1の加算手段の加算結果
に定数を乗算する第3の乗算丁段と、前記入力されたデ
ジタルデータがら出力されたデジタルデータを減算する
減算手段と、該減算手段の出力を前記時間単位で遅延す
る第3の遅延手段と、該第3の遅延手段の所定出力に所
定の定数を乗算する第4の乗算手段と、前記入力された
デジタルデータ、前記第3の乗算手段の乗算結果、前記
第4の乗算手段の乗算結果、及び、前記第3の遅延回路
の出力デジタルデを加算する第2の加算手段とによって
低周波帯域デジタルフィルタを構成したことを特徴とす
る。
(4t)作用
り述の手段によれば、デジタルフィルタを実現する(1
)式の定数C,,C,,C,・・・・・・を低周波帯域
の場合には、α+β・δ〔αは定数にもっとも近い整数
、βは整数aと定数の差を各定数を共通の定数δ(δく
く1)で割った値〕の形に分割し、入力されたデータに
対して各々の定数βの積和演算を行った後、定数δを乗
算し、該乗算結果に各々の定数αと入力されたデータの
積和演算の結果を加減算することができる。
)式の定数C,,C,,C,・・・・・・を低周波帯域
の場合には、α+β・δ〔αは定数にもっとも近い整数
、βは整数aと定数の差を各定数を共通の定数δ(δく
く1)で割った値〕の形に分割し、入力されたデータに
対して各々の定数βの積和演算を行った後、定数δを乗
算し、該乗算結果に各々の定数αと入力されたデータの
積和演算の結果を加減算することができる。
これにより、各々の定数の少数点以下は、β・δの如く
、有効数字βと1以下の非常に小さい共通定数δの積と
して表わされるため、βは限定された少ないビット数、
例えば16ビツトで表わされ、データとの積和演算を精
度良く行うことができる。そして、βの積和演算の結果
にδを乗算することで小数点以下の部分の演算結果が求
められる。一方、整数部分αとデータの積和演算を行っ
て、両方を加算することにより、全体としての演算結果
を得ることができ、低周波帯域での演算を16ビツトの
データ長で十分精度良く行え得る。
、有効数字βと1以下の非常に小さい共通定数δの積と
して表わされるため、βは限定された少ないビット数、
例えば16ビツトで表わされ、データとの積和演算を精
度良く行うことができる。そして、βの積和演算の結果
にδを乗算することで小数点以下の部分の演算結果が求
められる。一方、整数部分αとデータの積和演算を行っ
て、両方を加算することにより、全体としての演算結果
を得ることができ、低周波帯域での演算を16ビツトの
データ長で十分精度良く行え得る。
(へ)実施例
第1図は本発明の実施例を示す低周波帯域デジタルフィ
ルタの回路図である。図において、(29)で示される
Z−Iは単位時間(ここではサンプリング周M)の遅延
素子であり、サンプリング信号によって動作するラッチ
回路やメモリによって構成することができる。(30)
は定数の乗算素子、(31)は加算素子であり、乗算回
路及び加算回路によって構成される。
ルタの回路図である。図において、(29)で示される
Z−Iは単位時間(ここではサンプリング周M)の遅延
素子であり、サンプリング信号によって動作するラッチ
回路やメモリによって構成することができる。(30)
は定数の乗算素子、(31)は加算素子であり、乗算回
路及び加算回路によって構成される。
第8図に示された従来のデジタルフィルタの場合、中心
周波数が200Hz程度の低周波帯域になると、定数C
1〜C3の有効桁数は、16ビツトで表わすことができ
なくなる。そこで、本発明に於ては、各定数をα+β・
δという形に変換する。
周波数が200Hz程度の低周波帯域になると、定数C
1〜C3の有効桁数は、16ビツトで表わすことができ
なくなる。そこで、本発明に於ては、各定数をα+β・
δという形に変換する。
即ち、αは、定数の最も近い整数であり、βは整数αと
元の定数Cとの差を1より小さい数δで割った商である
。中心周波数を2001−1zとすると定数01〜C,
は、 C+ = 1 + a・δ C,=−2+b・δ C5=1+c・δ C,=2+d・δ ci=++−1+e・δ となる。ここでδは1/2” (口は整数)とする。
元の定数Cとの差を1より小さい数δで割った商である
。中心周波数を2001−1zとすると定数01〜C,
は、 C+ = 1 + a・δ C,=−2+b・δ C5=1+c・δ C,=2+d・δ ci=++−1+e・δ となる。ここでδは1/2” (口は整数)とする。
これらを(1)式に代入すると
Y+=L−2L−++L−t+2Y+−+−Y+−f+
δ(aX、+bX+−++ CX+−x+dY+−++
eYl−s)=Xl−2(X+−+−’l’1−1)
+Xl−1−Y+−*+δ(aX+ bXl−+ +
CL−*+ dY+−1+eY+−*)となる。
δ(aX、+bX+−++ CX+−x+dY+−++
eYl−s)=Xl−2(X+−+−’l’1−1)
+Xl−1−Y+−*+δ(aX+ bXl−+ +
CL−*+ dY+−1+eY+−*)となる。
第1図はこの積和演算を実現する回路である。即ち、a
X+ + bL−+ + CL−s+ dY+−+ +
eYl−*の演算結果を求めてδを乗算し、該乗算結
果に入力データ島と、2サンプリング前のデータX+−
t−Y+−tを加算し、更に、その結果から、1サンプ
リング前のデータX l−H−Y 1−1に2を乗算し
たものを引いて、出力データY、を算出する。従って、
16ビツトで十分有効桁が表わされる定数a + b
+ C+ d + eを用いて積和演算を行う
ので小数点以下の演算精度が向上する。
X+ + bL−+ + CL−s+ dY+−+ +
eYl−*の演算結果を求めてδを乗算し、該乗算結
果に入力データ島と、2サンプリング前のデータX+−
t−Y+−tを加算し、更に、その結果から、1サンプ
リング前のデータX l−H−Y 1−1に2を乗算し
たものを引いて、出力データY、を算出する。従って、
16ビツトで十分有効桁が表わされる定数a + b
+ C+ d + eを用いて積和演算を行う
ので小数点以下の演算精度が向上する。
第2図は、グラフィックイコライザを実現する回路であ
る。即ち、第1図及び第8図に示されたフィルタを縦続
接続したものであり、1段目では、入力データがxl、
定数がA、B、C,D。
る。即ち、第1図及び第8図に示されたフィルタを縦続
接続したものであり、1段目では、入力データがxl、
定数がA、B、C,D。
E、出力がylであり、2段目では、入力データがyl
、定数がa、b、Cv d+ e* δ、2.出カデ
ータが2.となる。
、定数がa、b、Cv d+ e* δ、2.出カデ
ータが2.となる。
第1図及び第2図に示されたデジタルフィルタは、DS
Pを用いてプログラムソフトで実現することら可能であ
る。
Pを用いてプログラムソフトで実現することら可能であ
る。
第3図は、デジタルフィルタ実現する場合に好都合なオ
ーディオ用DSPのブロック図であり、一対のデジタル
処理回路(9)(10)と、該デジタル処理回路(9)
(10)のデータバス(BUSI)(BUS2)(11
)に接続されたデータ入出力回路(12)と、同様にデ
ータバス(11)に接続されたインターフェイス回路(
13)と、これらデジタル処理回路(9)(10)、デ
ータ入出力回路(12)、及び、インターフェイス回路
(13)の動作を制御する制御回路(14)とから構成
される。
ーディオ用DSPのブロック図であり、一対のデジタル
処理回路(9)(10)と、該デジタル処理回路(9)
(10)のデータバス(BUSI)(BUS2)(11
)に接続されたデータ入出力回路(12)と、同様にデ
ータバス(11)に接続されたインターフェイス回路(
13)と、これらデジタル処理回路(9)(10)、デ
ータ入出力回路(12)、及び、インターフェイス回路
(13)の動作を制御する制御回路(14)とから構成
される。
データバス(11)は、各々8ビツト×3の24ビツト
構成である。データ入出力゛回路(12)は、入力端子
INに外部から印加された16ビツトの左チャンネルと
右チャンネルのサンプリングデータ(例えば、CDプレ
ーヤの場合はサンプリング周波数が44.1K)Izの
データ)をシリアルに入力5し、左チャンネルのデータ
はデータバス(11)のBUSIに、右チャンネルのデ
ータはデータバス(11)のBUS2に送出し、更に、
データバスBUS1に送出された処理済の左チャンネル
のデータとデータバスBUS2L、送出された処理済の
右チャンネルのデータを受は取り、出力端子OUTから
交互にシリアル出力するものである。インターフェイス
回路(13)は、DSPシステムとマイクロコンピュー
タ(不図示)の間のデータ送受を行うものであり、マイ
クロコンピュータから印加されたデジタルフィルタの定
数等をデータバス(11)に各々送出し、また、データ
バス(11)に送出されたシステムスティタスデータ等
を受は取りマイクロコンピュータに送出するものである
。データ処理回路(9)は左チャンネルのデータ処理用
で、データ処理回路(10)は右チャンネルのデータ処
理用であり、各々全く同じ構成から成る。即ち、データ
処理回路(9)(10)は、データバス(11)、デー
タRA M (15)、定数RA M (16)、定数
ROM (17)、アドレスポインタ(18)(19)
(20)、乗算器(MUL)(21)、A L U (
22)、アキュームレータ(ACC)(23)、テンポ
ラリ−レジスタ(TMPI、TMP2、・・・・・・)
(24)を有している。データRAM(15)は、デ
ータ入出力回路(12)から送出された処理前のデータ
及び演算処理後のデータを記憶する24ビツト×128
の容量を持つ第1のRA Mであり、データバス(11
)及び乗算器(21)の入力に接続される。定数RA
M (16)は、インターフェイス回路(13)から送
出されるデジタルフィルタの係数等の定数を記憶する1
6ビツ)x256の容量を持つ第2のRAMであり、デ
ータバス(11)及び乗算5(21)の他方の入力に接
続される。アドレスポインタ(18)は、8ビツトで構
成されデータRAM(15)のアドレス指定を行うもの
であり、制御回路(14)から出力されるマイクロコー
ドlNCl及びDECIで制御され、保持しているアド
レスデータをインクリメント(+1)及びデクリメント
(−1)する機能を備えると共に、プログラムによって
任意の値が設定できるレジスタと、設定された値とアド
レスデータを比較する回路を内蔵し、ア、ドレスデータ
をインクリメントした結果が設定値を越えるとrQJに
なり、デクリメントの結果が「0」未満になると設定値
になる機能、即ち、「0」と設定値の間を循環する機能
を有している。この循環アドレス指定機能を使用してデ
ジタルフィルタの積和演算を簡単化している。また、ア
ドレスポインタ(19)は、定数R,A M (16)
のアドレスを指定する10ビツトのポインタであり、制
御回路(14)から出力されるマイクロコードlNC2
で制御され、アドレスデータをインクリメントする機能
と、制御回路(14)から出力されるマイクロコードC
LEAR2によって「0」にクリアされる機能を有して
いる。更に、アドレスポインタ(20)は、定数ROM
(17)のアドレスを指定する8ビツトのポインタで
あり、制御回路(14)から出力されるマイクロコード
DEC3によってアドレスデータをデクリメントする機
能を有している。
構成である。データ入出力゛回路(12)は、入力端子
INに外部から印加された16ビツトの左チャンネルと
右チャンネルのサンプリングデータ(例えば、CDプレ
ーヤの場合はサンプリング周波数が44.1K)Izの
データ)をシリアルに入力5し、左チャンネルのデータ
はデータバス(11)のBUSIに、右チャンネルのデ
ータはデータバス(11)のBUS2に送出し、更に、
データバスBUS1に送出された処理済の左チャンネル
のデータとデータバスBUS2L、送出された処理済の
右チャンネルのデータを受は取り、出力端子OUTから
交互にシリアル出力するものである。インターフェイス
回路(13)は、DSPシステムとマイクロコンピュー
タ(不図示)の間のデータ送受を行うものであり、マイ
クロコンピュータから印加されたデジタルフィルタの定
数等をデータバス(11)に各々送出し、また、データ
バス(11)に送出されたシステムスティタスデータ等
を受は取りマイクロコンピュータに送出するものである
。データ処理回路(9)は左チャンネルのデータ処理用
で、データ処理回路(10)は右チャンネルのデータ処
理用であり、各々全く同じ構成から成る。即ち、データ
処理回路(9)(10)は、データバス(11)、デー
タRA M (15)、定数RA M (16)、定数
ROM (17)、アドレスポインタ(18)(19)
(20)、乗算器(MUL)(21)、A L U (
22)、アキュームレータ(ACC)(23)、テンポ
ラリ−レジスタ(TMPI、TMP2、・・・・・・)
(24)を有している。データRAM(15)は、デ
ータ入出力回路(12)から送出された処理前のデータ
及び演算処理後のデータを記憶する24ビツト×128
の容量を持つ第1のRA Mであり、データバス(11
)及び乗算器(21)の入力に接続される。定数RA
M (16)は、インターフェイス回路(13)から送
出されるデジタルフィルタの係数等の定数を記憶する1
6ビツ)x256の容量を持つ第2のRAMであり、デ
ータバス(11)及び乗算5(21)の他方の入力に接
続される。アドレスポインタ(18)は、8ビツトで構
成されデータRAM(15)のアドレス指定を行うもの
であり、制御回路(14)から出力されるマイクロコー
ドlNCl及びDECIで制御され、保持しているアド
レスデータをインクリメント(+1)及びデクリメント
(−1)する機能を備えると共に、プログラムによって
任意の値が設定できるレジスタと、設定された値とアド
レスデータを比較する回路を内蔵し、ア、ドレスデータ
をインクリメントした結果が設定値を越えるとrQJに
なり、デクリメントの結果が「0」未満になると設定値
になる機能、即ち、「0」と設定値の間を循環する機能
を有している。この循環アドレス指定機能を使用してデ
ジタルフィルタの積和演算を簡単化している。また、ア
ドレスポインタ(19)は、定数R,A M (16)
のアドレスを指定する10ビツトのポインタであり、制
御回路(14)から出力されるマイクロコードlNC2
で制御され、アドレスデータをインクリメントする機能
と、制御回路(14)から出力されるマイクロコードC
LEAR2によって「0」にクリアされる機能を有して
いる。更に、アドレスポインタ(20)は、定数ROM
(17)のアドレスを指定する8ビツトのポインタで
あり、制御回路(14)から出力されるマイクロコード
DEC3によってアドレスデータをデクリメントする機
能を有している。
乗算器(21)は、24ビツト×16ビツトの乗算をす
るものであり、六入力は24ビツト、B入力は16ビツ
トで、その乗算結果は1サイクル後に確定するものであ
る3更に、乗算器(21)の六入力とB入力には、入力
選択回路MPXAとMPXBが設けられ、入力選択回路
MPXAは、制御回路(14)からのマイクロコードA
−BUSによりデータバス(11)を選択し、マイクロ
コードA−DRAMによりデータRA M (15)を
選択して六入力に印加し、入力選択回路M P X B
は、マイクロコードB−Busによりデータバス(11
)を選択し、マイクロコードB−CRAMにより定数R
AM(16)を選択し、マイクロコードB−CROMに
より定数ROM (17)を選択してB入力に印加する
。乗算結果は32ビツトで出力される。
るものであり、六入力は24ビツト、B入力は16ビツ
トで、その乗算結果は1サイクル後に確定するものであ
る3更に、乗算器(21)の六入力とB入力には、入力
選択回路MPXAとMPXBが設けられ、入力選択回路
MPXAは、制御回路(14)からのマイクロコードA
−BUSによりデータバス(11)を選択し、マイクロ
コードA−DRAMによりデータRA M (15)を
選択して六入力に印加し、入力選択回路M P X B
は、マイクロコードB−Busによりデータバス(11
)を選択し、マイクロコードB−CRAMにより定数R
AM(16)を選択し、マイクロコードB−CROMに
より定数ROM (17)を選択してB入力に印加する
。乗算結果は32ビツトで出力される。
ALじ(22)は32ビツトの演算回路であり、方に入
力された32ビツトの乗算結果と他方に入力された32
ビツトのA CC(23)のデータをマイクロコードA
ddによって加算処理して、その結果をA CC(23
)に転送する。A CC(23)の32ピントのうち、
上位24ビツトはデータバス(11)と接続され、下位
8ビツトは補助バス(25)によってテンポラリ−レジ
スタ(24)の下位8ビツトと接続されている。テンポ
ラリ−レジスタ(24)は、32ビツトのレジスタTM
PI、TMP2・・・・・・TMP8で構成され、32
ビツトのデータを最大8個保持するレジスタであり、各
々の上位24ビツトはデータバス(11)と接続される
。データバス(11)と補助バス(25)によって、テ
ンポラリ−レジスタ(24)とA CC(23)間で3
2ビツトデータの転送が行われる。
力された32ビツトの乗算結果と他方に入力された32
ビツトのA CC(23)のデータをマイクロコードA
ddによって加算処理して、その結果をA CC(23
)に転送する。A CC(23)の32ピントのうち、
上位24ビツトはデータバス(11)と接続され、下位
8ビツトは補助バス(25)によってテンポラリ−レジ
スタ(24)の下位8ビツトと接続されている。テンポ
ラリ−レジスタ(24)は、32ビツトのレジスタTM
PI、TMP2・・・・・・TMP8で構成され、32
ビツトのデータを最大8個保持するレジスタであり、各
々の上位24ビツトはデータバス(11)と接続される
。データバス(11)と補助バス(25)によって、テ
ンポラリ−レジスタ(24)とA CC(23)間で3
2ビツトデータの転送が行われる。
制御回路(14)は、プログラムを記憶するプログラム
ROM(26)と、プログラムROM(26)のアドレ
スを指定するプログラムカウンタ(PC)(27)と、
読み出された命令を解読するインストラクションデコー
ダ(1−DEC) (28)とを有する。
ROM(26)と、プログラムROM(26)のアドレ
スを指定するプログラムカウンタ(PC)(27)と、
読み出された命令を解読するインストラクションデコー
ダ(1−DEC) (28)とを有する。
プログラムROM (26)は、32ビツト×512の
容量を有し、デジタルフィルタを実現するためのプログ
ラム、及び、その他必要なプログラムが格納される。イ
ンストラクションデコーダ(28)は、命令を解読して
マイクロコードを出力するものであり、アドレスポイン
タ(18)(19)(20)を制御するlNCl、lN
C2,DECI、CLEAR2゜DEC3や、入力選択
回路MPXA、MPXBを制御するA−BUS、A−D
RAM、B−BtJS、B−CRAM、B−CROM、
あるいはALU (22)を制御するADD、THR等
を出力する。
容量を有し、デジタルフィルタを実現するためのプログ
ラム、及び、その他必要なプログラムが格納される。イ
ンストラクションデコーダ(28)は、命令を解読して
マイクロコードを出力するものであり、アドレスポイン
タ(18)(19)(20)を制御するlNCl、lN
C2,DECI、CLEAR2゜DEC3や、入力選択
回路MPXA、MPXBを制御するA−BUS、A−D
RAM、B−BtJS、B−CRAM、B−CROM、
あるいはALU (22)を制御するADD、THR等
を出力する。
このマイクロコードは、各々データ処理回路(9)(1
0)の各部の共通する回路に印加されるため、つの命令
の実行によってデータ処理回路(9)(10)を同時に
同一の制御が行われる。
0)の各部の共通する回路に印加されるため、つの命令
の実行によってデータ処理回路(9)(10)を同時に
同一の制御が行われる。
第3図に示されたDSPシステムに於いて、デジタルフ
ィルタを構成するために必要な命令の例を第4図に示す
。第4図に於いて、MUL命令は乗算命令であり、乗算
器(21)の入力A及び入力Bに入力される対象を選択
し、乗算を行わせるものである。AP命令は、アドレス
ポインタ(18)(19)(20)のインクリメント、
デクリメントあるいはクノアを行うものである。ALU
命令はA L U (22)の制御命令であり、ALU
ADDは、入力された2つのデータをA L U (2
2)で加算し、加算結果をA CC(23)に保持させ
、ALUSUBは一方の入力のデータから他方の入力の
データを減算し、減算結果をA CC(23)に保持さ
せ、ALUTHRは、Nl算!(21)からの乗算結果
をそのままACC(23)に保持させる命令である。R
AM I D、 TMPID、TMP2D、TMP3D
はストア命令であり、データバス(11)のデータをデ
ータRAM(15)、テンポラリ−レジスタ(24)に
記憶させる。ACLS、TMPIS、TMP2S、TM
P3Sは転送命令であり、A CC(23)、テンポラ
リ−レジスタ(24)のデータをデータバス(11)及
び補助バス(25)に送出する命令である。
ィルタを構成するために必要な命令の例を第4図に示す
。第4図に於いて、MUL命令は乗算命令であり、乗算
器(21)の入力A及び入力Bに入力される対象を選択
し、乗算を行わせるものである。AP命令は、アドレス
ポインタ(18)(19)(20)のインクリメント、
デクリメントあるいはクノアを行うものである。ALU
命令はA L U (22)の制御命令であり、ALU
ADDは、入力された2つのデータをA L U (2
2)で加算し、加算結果をA CC(23)に保持させ
、ALUSUBは一方の入力のデータから他方の入力の
データを減算し、減算結果をA CC(23)に保持さ
せ、ALUTHRは、Nl算!(21)からの乗算結果
をそのままACC(23)に保持させる命令である。R
AM I D、 TMPID、TMP2D、TMP3D
はストア命令であり、データバス(11)のデータをデ
ータRAM(15)、テンポラリ−レジスタ(24)に
記憶させる。ACLS、TMPIS、TMP2S、TM
P3Sは転送命令であり、A CC(23)、テンポラ
リ−レジスタ(24)のデータをデータバス(11)及
び補助バス(25)に送出する命令である。
次に、第3図に示されたDSPシステムを用いて、第2
図に示されるようなグラフィックイコライザを実現する
方法を説明する。
図に示されるようなグラフィックイコライザを実現する
方法を説明する。
第5図は、第2図のデジタルフィルタを実現するプログ
ラムを示す図であり、第6図は、データRA M (1
5)、定数RA M (16)、及びテンポラリ−レジ
スタ(24)に記憶されるデータの割付は図である。第
5図のプログラムにより定数の乗算は、C+ B *
A + E + D + C+ b * a
+ e + dの順で行うために定数RA M
(16)のアドレス「0」から1゛9」までには、同一
順序で定数が格納される。
ラムを示す図であり、第6図は、データRA M (1
5)、定数RA M (16)、及びテンポラリ−レジ
スタ(24)に記憶されるデータの割付は図である。第
5図のプログラムにより定数の乗算は、C+ B *
A + E + D + C+ b * a
+ e + dの順で行うために定数RA M
(16)のアドレス「0」から1゛9」までには、同一
順序で定数が格納される。
一方、データRA M (15)には、Xl+ Y
l+ Zlのデータが3アドレスおきに書き込まれる
が、サンプリング周期、即ち、1つの入力データX、ゆ
、(二対する演算処理毎に、1アドレスずらしてX3’
i+1lZl。1を書き込むことにより、遅延素f−(
29)による遅延データを作成している。よって、第2
図に示されたデジタルフィルタの場合には、アドレスポ
インタ(18)は「o」〜「7」の循環アドレス指定、
及び、アドレスポインタ(19)は「0」〜「9」の循
環アドレス指定となるようにtめプログラムによって、
設定しておく。
l+ Zlのデータが3アドレスおきに書き込まれる
が、サンプリング周期、即ち、1つの入力データX、ゆ
、(二対する演算処理毎に、1アドレスずらしてX3’
i+1lZl。1を書き込むことにより、遅延素f−(
29)による遅延データを作成している。よって、第2
図に示されたデジタルフィルタの場合には、アドレスポ
インタ(18)は「o」〜「7」の循環アドレス指定、
及び、アドレスポインタ(19)は「0」〜「9」の循
環アドレス指定となるようにtめプログラムによって、
設定しておく。
ここで、入力データX、に対して第5図のプログラムの
ステップ「O」を実行する時点に於いて、データRA
M (15)の内容が第6図(イ)の如くであり、アド
レスポインタ(18)(19)が共にアドレスr□、で
あるとき、ステップ「o」が実行されると、乗算器(2
1)の入力A及びBには、データR、AM(15)のア
ドレス「0」に記憶されている。
ステップ「O」を実行する時点に於いて、データRA
M (15)の内容が第6図(イ)の如くであり、アド
レスポインタ(18)(19)が共にアドレスr□、で
あるとき、ステップ「o」が実行されると、乗算器(2
1)の入力A及びBには、データR、AM(15)のア
ドレス「0」に記憶されている。
データx+−t(2サンプル前の入力データ)と定数R
A M (16)のアドレス「0」に記憶されている係
数Cが印加されるが、その乗算結果は、次のステップで
確定し出力される。また、ステップ「0」の最後に、命
令API INC,AP21NCにより、アドレスポイ
ンタ(18)(19)が共にインクリメントされ、その
内容が「1」となる。
A M (16)のアドレス「0」に記憶されている係
数Cが印加されるが、その乗算結果は、次のステップで
確定し出力される。また、ステップ「0」の最後に、命
令API INC,AP21NCにより、アドレスポイ
ンタ(18)(19)が共にインクリメントされ、その
内容が「1」となる。
ステップ「l」が実行されると、ステップ「O」と同様
にデータRA M (15)と定数RAM(16)が乗
算器(21)の入力として選択され、各々、アドレス「
1」に記憶されたデータx1−1と定数Bが乗算器(2
1)に印加される。また、前回のステップ「0」で乗算
された結果は、命令A L U T HRニヨリ、A
L U (22)を素通りし1: A CC(23)に
最初の乗算結果C’X+−*がストアされる。ステップ
「1」の最後に、命令API INC,AP21NCに
より、アドレスポインタ(18)(19)がインクリメ
ントされ、その内容はアドレス「2」となる。
にデータRA M (15)と定数RAM(16)が乗
算器(21)の入力として選択され、各々、アドレス「
1」に記憶されたデータx1−1と定数Bが乗算器(2
1)に印加される。また、前回のステップ「0」で乗算
された結果は、命令A L U T HRニヨリ、A
L U (22)を素通りし1: A CC(23)に
最初の乗算結果C’X+−*がストアされる。ステップ
「1」の最後に、命令API INC,AP21NCに
より、アドレスポインタ(18)(19)がインクリメ
ントされ、その内容はアドレス「2」となる。
次に、ステップ「2」が実行されると、命令MULA−
BUS、B−CRAMi:よt)、乗算器(21)の入
力Aにはデータバス(11)、入力Bには定数RA M
(16)カ!択さiる。一方、命令TMP I Sに
より、テンポラリ−レジスタTMP lの内容がデータ
バス(11)に送出され、命令RAMIDによ)、デー
タバス(11)に送出されたデータが、アドレスポイン
タ(18)で指定されるデータRA M (15)のア
ドレス「2」にストアされる。このとき、テンポラリ−
レジスタTMP 1には、サンプリング周jυj毎にデ
ータ入力回路(12)に外部から印加された入力データ
x1が予めストアされている。従って、入力データx1
は、乗算器(21)によって定数RA M (16)か
ら読み出された定数Aと乗算されると共に、データRA
M (15)のアドレス「2」にストアされる。一方
、命令ALUADDにより、ACC(23)にストアさ
れているC−x、−、とステップ「l」の乗算結果B’
X+−+の加算が行われ、その結果B’X1−+ +
C−Xl−+がA CC(23)にストアされる。
BUS、B−CRAMi:よt)、乗算器(21)の入
力Aにはデータバス(11)、入力Bには定数RA M
(16)カ!択さiる。一方、命令TMP I Sに
より、テンポラリ−レジスタTMP lの内容がデータ
バス(11)に送出され、命令RAMIDによ)、デー
タバス(11)に送出されたデータが、アドレスポイン
タ(18)で指定されるデータRA M (15)のア
ドレス「2」にストアされる。このとき、テンポラリ−
レジスタTMP 1には、サンプリング周jυj毎にデ
ータ入力回路(12)に外部から印加された入力データ
x1が予めストアされている。従って、入力データx1
は、乗算器(21)によって定数RA M (16)か
ら読み出された定数Aと乗算されると共に、データRA
M (15)のアドレス「2」にストアされる。一方
、命令ALUADDにより、ACC(23)にストアさ
れているC−x、−、とステップ「l」の乗算結果B’
X+−+の加算が行われ、その結果B’X1−+ +
C−Xl−+がA CC(23)にストアされる。
ステップ「2」の最?麦に、アドレスポインタ(18)
(19)がインクリメントされ、その内容はアドレス「
3」となる。
(19)がインクリメントされ、その内容はアドレス「
3」となる。
ステップ「3」が実行されると、乗算器(21)の・入
力A及びBには、データRAM(15)と定数RAλ1
(16)のアドレス「3」にストアされているデータ
y1−8と定数Eが印加され、命令ALUADDにより
、ステップ「2」の乗算結果A−x+とACC(23)
の内容B−X+−++C−X+−xがA L U (2
2)に於いて加算され、加算結果A−x++B−x+−
++C−X+−*がACC(23)にストアされる。ス
テップ「3」の最後にアドレスポインタ(18)(19
)がインクリメントされ、アドレス「4」となる。
力A及びBには、データRAM(15)と定数RAλ1
(16)のアドレス「3」にストアされているデータ
y1−8と定数Eが印加され、命令ALUADDにより
、ステップ「2」の乗算結果A−x+とACC(23)
の内容B−X+−++C−X+−xがA L U (2
2)に於いて加算され、加算結果A−x++B−x+−
++C−X+−*がACC(23)にストアされる。ス
テップ「3」の最後にアドレスポインタ(18)(19
)がインクリメントされ、アドレス「4」となる。
ステップ「4」が実行されると、乗算器(21)の入力
A及びBには、データRA M (15)と定数RAM
(16)のアドレス「4」にストアされているデータ
Y +−+と定数りが印加され、命令ALUADDによ
り、ステップ「3」の乗算結果E−Y+−*とACC(
23)の内容A’X+−+ + B−X+−+ + C
’Xt−tがALU(22)に於いて加算され、加算結
果A−x++ B−X+−++C・x+−t+l”y+
−*がA CC(23)にストアされる。ステップ「4
」の最後に、命令APIDEC,AP21NCにより、
アドレスポインタ(18)はデクリメントされて、アド
レスr3J となり、アドレスポインタ(19)はイン
クリメントされてアドレス「5」となる。
A及びBには、データRA M (15)と定数RAM
(16)のアドレス「4」にストアされているデータ
Y +−+と定数りが印加され、命令ALUADDによ
り、ステップ「3」の乗算結果E−Y+−*とACC(
23)の内容A’X+−+ + B−X+−+ + C
’Xt−tがALU(22)に於いて加算され、加算結
果A−x++ B−X+−++C・x+−t+l”y+
−*がA CC(23)にストアされる。ステップ「4
」の最後に、命令APIDEC,AP21NCにより、
アドレスポインタ(18)はデクリメントされて、アド
レスr3J となり、アドレスポインタ(19)はイン
クリメントされてアドレス「5」となる。
ステップ「5」が実行されると、5F!算u(21)の
人力A及びBには、データRA M (15)のアドレ
ス「3」にストアされたデータyl、と定数RAM(1
6)のアドレスr5.にストアされた定数Cが印加され
る。即ち、乗算器(21)は、このステップ「5」から
第2図に示されたデジタルフィルタの2段目の乗算を行
う。一方、命令ALUADDにより、ステップ「4」の
乗算結果D’)’+−+とACC(23)の内容A・X
1+ B−++−++ c−xl−1+ E’)’+−
tがALU (22)に於いて加算され、加算結果A−
x+ + B’X+−++C−X+−t+D−Y+−+
+E−’l+−tがA CC(23)にストアされる。
人力A及びBには、データRA M (15)のアドレ
ス「3」にストアされたデータyl、と定数RAM(1
6)のアドレスr5.にストアされた定数Cが印加され
る。即ち、乗算器(21)は、このステップ「5」から
第2図に示されたデジタルフィルタの2段目の乗算を行
う。一方、命令ALUADDにより、ステップ「4」の
乗算結果D’)’+−+とACC(23)の内容A・X
1+ B−++−++ c−xl−1+ E’)’+−
tがALU (22)に於いて加算され、加算結果A−
x+ + B’X+−++C−X+−t+D−Y+−+
+E−’l+−tがA CC(23)にストアされる。
このときA CC(23)の内容は、1段目のデジタル
フィルタの出力y1となる。ステップ「5」の最後にア
ドレスポインタ(18)はインクリメントされてアドレ
ス「4」となり、アドレスポインタ(19)はインクリ
メントされてアドレス「6」 となる。
フィルタの出力y1となる。ステップ「5」の最後にア
ドレスポインタ(18)はインクリメントされてアドレ
ス「4」となり、アドレスポインタ(19)はインクリ
メントされてアドレス「6」 となる。
ステップ「6」が実行されると、乗算器(21)の入力
A及びBには、データRA M (15)のアドレス「
、1」にストアされたデータy、−1と定数RAM(1
6)のアドレス「6」にストアされた定数すが印加され
る。また、命令ACOSにより、A CC(23)にス
トアされたデータy;がデータバス(11)に送出され
、命令TMP I Dにより、データバス(11)に送
出されたデータylがテンポラリ−レジスタTMP+に
ストアされる。一方、命令ALUTHRにより、ステッ
プ「5」の乗算結果C・y、−2は、A、 LU(22
)を素通りしてA CC(23)にストアされる。
A及びBには、データRA M (15)のアドレス「
、1」にストアされたデータy、−1と定数RAM(1
6)のアドレス「6」にストアされた定数すが印加され
る。また、命令ACOSにより、A CC(23)にス
トアされたデータy;がデータバス(11)に送出され
、命令TMP I Dにより、データバス(11)に送
出されたデータylがテンポラリ−レジスタTMP+に
ストアされる。一方、命令ALUTHRにより、ステッ
プ「5」の乗算結果C・y、−2は、A、 LU(22
)を素通りしてA CC(23)にストアされる。
ステップ「6」の最後にアドレスポインタ(1B)(1
9)はインクリメントされて、アドレスr5Jとアドレ
ス「7Jになる。
9)はインクリメントされて、アドレスr5Jとアドレ
ス「7Jになる。
ステップ「7」が実行されると、命令MULA−BUS
、B−CRAMにより、乗算器(21)の入力A及びB
には、データバス(11)に送出されたデータと定数、
RA M (16)のアドレス「7」にストアされた定
数aが印加される。また、命令T〜IPIS及びRAM
IDにより、テンポラリ−レジスタTMP 1にストア
されたデータy1は、データバス(11)に送出されて
乗算器(21)の入力Aに印加されると共に、アドレス
ポインタ(18)で指定されたデータRA M (15
)のアドレス「5」にストアされる。一方、命令ALU
ADDによりステップ「6」の乗算結果11y+−1と
A CC(23)のC’y1−tがA L U (22
)に於いて加算され、その結果’)’y+−+十C・y
、−1がA CC(23)にストアされる。ステップ「
7」の最後に、アドレスポインタ(18)(19)はイ
ンクリメントされてアドレス「6」とアドレス「8」に
なる。
、B−CRAMにより、乗算器(21)の入力A及びB
には、データバス(11)に送出されたデータと定数、
RA M (16)のアドレス「7」にストアされた定
数aが印加される。また、命令T〜IPIS及びRAM
IDにより、テンポラリ−レジスタTMP 1にストア
されたデータy1は、データバス(11)に送出されて
乗算器(21)の入力Aに印加されると共に、アドレス
ポインタ(18)で指定されたデータRA M (15
)のアドレス「5」にストアされる。一方、命令ALU
ADDによりステップ「6」の乗算結果11y+−1と
A CC(23)のC’y1−tがA L U (22
)に於いて加算され、その結果’)’y+−+十C・y
、−1がA CC(23)にストアされる。ステップ「
7」の最後に、アドレスポインタ(18)(19)はイ
ンクリメントされてアドレス「6」とアドレス「8」に
なる。
ステップ「8」が実行されると、乗算器(21)の入力
A及びBには、データRAM(15)のアドレス「6」
にストアされたデータz1−8と定数RAM(16)の
アドレス「8」にストアされた定数eが印加され、一方
A L U (22)に於いてステップ「7」の乗算結
果a’y、とA CC(23)にストアされたデータh
’yl−++C−y+−tが加算され、その結果a−y
I+b−y−1+C−y1−*がA CC(23)にス
トアされる。ステップ「8」の最後にアドレスポインタ
(18)(19)はインクリメントされて、アドレス「
7」とアドレス「9」になる。
A及びBには、データRAM(15)のアドレス「6」
にストアされたデータz1−8と定数RAM(16)の
アドレス「8」にストアされた定数eが印加され、一方
A L U (22)に於いてステップ「7」の乗算結
果a’y、とA CC(23)にストアされたデータh
’yl−++C−y+−tが加算され、その結果a−y
I+b−y−1+C−y1−*がA CC(23)にス
トアされる。ステップ「8」の最後にアドレスポインタ
(18)(19)はインクリメントされて、アドレス「
7」とアドレス「9」になる。
ステップ「9」が実行されると、乗算器(21)の人力
A及びBには、データRAM(15)のアドレス「7」
にストアされたデータz1−5と定数RAM(16)の
アドレス「9」にストアされた定数dが印onされ、一
方A L T、’ (22)に於いて、ステップ「8」
の乗算結果e’Zl−1とA CC(23)にストアさ
れたデータa−y++b−)’+−++C・yl−3が
加算され、加算結果1−y++ FV’Jl−+ +
C’Y1−++ e−Zl−*がA CC(22)にス
トアされる。ステップ「9」の最後にアドレスポインタ
(18)(19)がインクリメントされると、アドレス
ポインタ(18)(19)は共にアドレスrQJ とな
る。
A及びBには、データRAM(15)のアドレス「7」
にストアされたデータz1−5と定数RAM(16)の
アドレス「9」にストアされた定数dが印onされ、一
方A L T、’ (22)に於いて、ステップ「8」
の乗算結果e’Zl−1とA CC(23)にストアさ
れたデータa−y++b−)’+−++C・yl−3が
加算され、加算結果1−y++ FV’Jl−+ +
C’Y1−++ e−Zl−*がA CC(22)にス
トアされる。ステップ「9」の最後にアドレスポインタ
(18)(19)がインクリメントされると、アドレス
ポインタ(18)(19)は共にアドレスrQJ とな
る。
ステップ「10」が実行されると乗算は行われず、ステ
5yプ「9」の乗算結果d−z、−,とA CC(23
)にストアされたデータa−yl+ b−yt−H+
C’y+−t+e’Z+−tがA L U (22)に
於いて加算され、その加り結果a−Y++ b−Y+−
++ Cf+−++ FZI−+ + eZ+−tがA
CC(23)にストアされる。
5yプ「9」の乗算結果d−z、−,とA CC(23
)にストアされたデータa−yl+ b−yt−H+
C’y+−t+e’Z+−tがA L U (22)に
於いて加算され、その加り結果a−Y++ b−Y+−
++ Cf+−++ FZI−+ + eZ+−tがA
CC(23)にストアされる。
ステップ「ll」が実行されるとA CC(23)にス
トアされたデータがnビット右方向にシフトされる。シ
フトされた結果は、δ(a−y++ b−yI−1+C
−yI−tod−Zl−++1”Zt−z)となる。即
ち、δはl/2”と設定されているため、右方向にnピ
ットシフトすることがl/21を乗算したことになる。
トアされたデータがnビット右方向にシフトされる。シ
フトされた結果は、δ(a−y++ b−yI−1+C
−yI−tod−Zl−++1”Zt−z)となる。即
ち、δはl/2”と設定されているため、右方向にnピ
ットシフトすることがl/21を乗算したことになる。
ステップ「12」が実行されると、命令TMP3Sによ
り、テンポラリ−レジスタTMP 3に保持されている
データy+ −s −Z l−*がデータバス(11)
に送出され、A L U (22)に於いて、A CC
(23)のデータと加算され、その加算結果、Yl−*
−Zl−w+δ(a−y++b−Yl−++C−Y+−
m+clZ+−++(lZ+−t)がA CC(23)
に保持される。
り、テンポラリ−レジスタTMP 3に保持されている
データy+ −s −Z l−*がデータバス(11)
に送出され、A L U (22)に於いて、A CC
(23)のデータと加算され、その加算結果、Yl−*
−Zl−w+δ(a−y++b−Yl−++C−Y+−
m+clZ+−++(lZ+−t)がA CC(23)
に保持される。
ステップ「13」が実行されると、命令T M P2S
によりテンポラリ−レジスタTMP 2のデータy+−
+−Z+−tがデータバス(11)に送出されると共に
、次のサンプリングデータの処理の遅延データを得るた
めに命令T M P 3 Dにより、データy+−+”
−21−+がテンボーラリ−レジスタTMP 3に書き
込まれる。一方、命令ALUSUBにより、ALU(2
2)に於いて、A CC(23)に保持されたデータか
、らデータバス(11)に送出されたデータ)’+−+
−Z+−+が引算され、その結果がA CC(23)に
保持される。
によりテンポラリ−レジスタTMP 2のデータy+−
+−Z+−tがデータバス(11)に送出されると共に
、次のサンプリングデータの処理の遅延データを得るた
めに命令T M P 3 Dにより、データy+−+”
−21−+がテンボーラリ−レジスタTMP 3に書き
込まれる。一方、命令ALUSUBにより、ALU(2
2)に於いて、A CC(23)に保持されたデータか
、らデータバス(11)に送出されたデータ)’+−+
−Z+−+が引算され、その結果がA CC(23)に
保持される。
ステップ「14」が実行されると、ステップ「13」と
同様、データバス(11)にデータy、−121−1が
送出され、A L U (22)に於いて、A CC(
23)に保持されたデータからyI−1−Z + −+
が引算され、その結果がA CC(23)に書き込まれ
る。このときのA CC(23)のデータは−2(yI
−+−2+−+)+ (Y 1− 鵞−z + −!
) + δ (a“y++b°y+−1+ Coy
l−g +d−z、−++e−z+−t)である。
同様、データバス(11)にデータy、−121−1が
送出され、A L U (22)に於いて、A CC(
23)に保持されたデータからyI−1−Z + −+
が引算され、その結果がA CC(23)に書き込まれ
る。このときのA CC(23)のデータは−2(yI
−+−2+−+)+ (Y 1− 鵞−z + −!
) + δ (a“y++b°y+−1+ Coy
l−g +d−z、−++e−z+−t)である。
ステップ「15」が実行されると、命令TMPISによ
り、テンポラリ−レジスタTMP 1のデータx、がデ
ータバス(11)に送出され、ALU(23)に於いて
、A CC(23)のデータと加算され、加算結果がA
CC(23)に書き込まれる。このときのA CC(
23)のデータは、Yl−x (V+−+−Z+−+)
+(S’+−*−Zl−1)+δ(a−yl+b−y
l−r+c’Y+−@+d・z、−++e−Z+−t)
、即ち、デジタルフィルタの出力データZiとなる。
り、テンポラリ−レジスタTMP 1のデータx、がデ
ータバス(11)に送出され、ALU(23)に於いて
、A CC(23)のデータと加算され、加算結果がA
CC(23)に書き込まれる。このときのA CC(
23)のデータは、Yl−x (V+−+−Z+−+)
+(S’+−*−Zl−1)+δ(a−yl+b−y
l−r+c’Y+−@+d・z、−++e−Z+−t)
、即ち、デジタルフィルタの出力データZiとなる。
ステップ「16Jが実行されると、命令ACC8により
A CC(23)にストアされたデータz1がデータバ
ス(11)に送出され、命令RAMIDにより、アドレ
スポインタ(18)で指定されたデータRAM(15)
のアドレス「0」にストアされる。
A CC(23)にストアされたデータz1がデータバ
ス(11)に送出され、命令RAMIDにより、アドレ
スポインタ(18)で指定されたデータRAM(15)
のアドレス「0」にストアされる。
ステップ「17」が実行されると、命令T M PIS
により、テンポラリ−レジスタTMP 1のデータyl
がデータバス(11)に送出され、命令ALUSUBに
より、データylからA CC(23)にストアされた
データ2.がA L tJ (22)で引算され、yI
−21がA CC(23)にストアされる。
により、テンポラリ−レジスタTMP 1のデータyl
がデータバス(11)に送出され、命令ALUSUBに
より、データylからA CC(23)にストアされた
データ2.がA L tJ (22)で引算され、yI
−21がA CC(23)にストアされる。
ステップ「18」が実行されると、命令ACC8により
、A CC(23)にストアされたデータY+−21が
データバス(11)に送出され、命令TMP 2 Dに
より、データバス(11)のブタY+ Zlがテンポ
ラリ−レジスタTMP 2にストアされ、次のサンプリ
ングデータの処理のための遅延データとなる。
、A CC(23)にストアされたデータY+−21が
データバス(11)に送出され、命令TMP 2 Dに
より、データバス(11)のブタY+ Zlがテンポ
ラリ−レジスタTMP 2にストアされ、次のサンプリ
ングデータの処理のための遅延データとなる。
ステップ「18」の最後に命令APIINCにより、ア
ドレスポインタ(18)がインクリメントされてアドレ
スrlJ となる。従って、次のサンプリングデータX
l+1の処理開始時には、アドレスポインタ(18)で
アドレスされるデータRA M (15)は、アドレス
「1」からアクセスされることになり、前回のスタート
アドレスより1アドレス先にずれる。
ドレスポインタ(18)がインクリメントされてアドレ
スrlJ となる。従って、次のサンプリングデータX
l+1の処理開始時には、アドレスポインタ(18)で
アドレスされるデータRA M (15)は、アドレス
「1」からアクセスされることになり、前回のスタート
アドレスより1アドレス先にずれる。
以上のステップ「0」〜「18」のプログラムをサンプ
リング周期毎に実行することにより、入力データX+、
X+++I X++1・・・・・・に対するフィルタ
処理が行われ、データRA M (15)の内容が第7
図(()(O)(・・)(ニ)・・・・・・の如く変化
し、フィルタ出力Zl+z1やto ZI+l+ ・・
・・・・が得られる。
リング周期毎に実行することにより、入力データX+、
X+++I X++1・・・・・・に対するフィルタ
処理が行われ、データRA M (15)の内容が第7
図(()(O)(・・)(ニ)・・・・・・の如く変化
し、フィルタ出力Zl+z1やto ZI+l+ ・・
・・・・が得られる。
このように、第8図に示されたデジタルフィルタと第1
図に示された低周波帯域デジタルフィルタの積和演算が
連続して行え得ると共に、定数の小数点以下の有効数次
を16ビツトで表わされるようにして乗算するので乗算
精度が向上する。
図に示された低周波帯域デジタルフィルタの積和演算が
連続して行え得ると共に、定数の小数点以下の有効数次
を16ビツトで表わされるようにして乗算するので乗算
精度が向上する。
(ト)発明の効果
上述の如く本発明によれば、低周波帯域デジタルフィル
タにおいて、乗算のビット数を増加することなく乗算精
度を高くすることができるため、低周波帯域でのフィル
タ特性を良好に確保することができる。更に、他の低周
波帯域のフィルタ処理と連続して行うことがでる。特に
、DSPシステムによってグラフィックイコライザを実
現する場合、プログラムステップ数を短縮することがで
き、他の処理を行う余裕が生じ、DSPシステム全体の
スループットの向上にも貢献するものである。
タにおいて、乗算のビット数を増加することなく乗算精
度を高くすることができるため、低周波帯域でのフィル
タ特性を良好に確保することができる。更に、他の低周
波帯域のフィルタ処理と連続して行うことがでる。特に
、DSPシステムによってグラフィックイコライザを実
現する場合、プログラムステップ数を短縮することがで
き、他の処理を行う余裕が生じ、DSPシステム全体の
スループットの向上にも貢献するものである。
第1図は本発明の実施例を示す回路図、第2図は他の実
施例を示す回路図、第3図は第1図及び第2図に示され
たデジタルフィルタを実現するために好都合なりSPの
ブロック図、第4図は第3図のDSP装置に用いられる
命令の例を示す図、第5図は第2図のグラフィックイコ
ライザを実現するプログラムを示す図、第6図は、デー
タRAλ1、定数RAM、及び、テンポラリ−レジスタ
のデータ割付は図、第7図は一般的なりSP装置のブロ
ック図、第8図は従来のデジタルフィルタの回路図であ
る。 (9)(10)・・・デジタル処理回路、 (12)・
・・データ入出力回路、 (13)・・・インターフェ
イス回路、 (14)・・・制御回路、 (11)・
・・データバス、 (15)・・・データRAM、
(16)・・・定数RAM、 (17)・・・定数RO
M、 (18)(19)(20)・・・アドレスポイ
ンタ、(21)・・・乗算器、 (22)・・・ALU
、 (23)・・・アキュームレータ(ACC)、
(24)・・・テンボラノーレジスタ、(25)・・・
補助バス、 (26)・・・プログラムROM、 (2
7)・・・プログラムカウンタ、(28)・・・インス
トラクションデコーダ、 (29)・・・遅延素子、
(30)・・・乗算素子、 (31)・・・加算素子
。
施例を示す回路図、第3図は第1図及び第2図に示され
たデジタルフィルタを実現するために好都合なりSPの
ブロック図、第4図は第3図のDSP装置に用いられる
命令の例を示す図、第5図は第2図のグラフィックイコ
ライザを実現するプログラムを示す図、第6図は、デー
タRAλ1、定数RAM、及び、テンポラリ−レジスタ
のデータ割付は図、第7図は一般的なりSP装置のブロ
ック図、第8図は従来のデジタルフィルタの回路図であ
る。 (9)(10)・・・デジタル処理回路、 (12)・
・・データ入出力回路、 (13)・・・インターフェ
イス回路、 (14)・・・制御回路、 (11)・
・・データバス、 (15)・・・データRAM、
(16)・・・定数RAM、 (17)・・・定数RO
M、 (18)(19)(20)・・・アドレスポイ
ンタ、(21)・・・乗算器、 (22)・・・ALU
、 (23)・・・アキュームレータ(ACC)、
(24)・・・テンボラノーレジスタ、(25)・・・
補助バス、 (26)・・・プログラムROM、 (2
7)・・・プログラムカウンタ、(28)・・・インス
トラクションデコーダ、 (29)・・・遅延素子、
(30)・・・乗算素子、 (31)・・・加算素子
。
Claims (1)
- (1)所定の時間単位毎に入力されるデジタルデータを
前記時間単位で遅延する複数の第1の遅延手段と、 前記入力されたデジタルデータ及び前記第1の遅延手段
の各遅延出力に各々定められた定数を乗算する第1の乗
算手段と、 出力デジタルデータを前記時間単位で遅延する複数の第
2の遅延手段と、 該第2の遅延手段の各遅延出力に各々定められた定数を
乗算する第2の乗算手段と、 前記第1の乗算手段の各出力と前記第2の乗算手段の各
出力を加算する第1の加算手段と、該第1の加算手段の
加算結果に定数を乗算する第3の乗算手段と、 前記入力されたデジタルデータから出力されたデジタル
データを減算する減算手段と、 該減算手段の出力を前記時間単位で遅延する第3の遅延
手段と、 該第3の遅延手段の所定出力に所定の定数を乗算する第
4の乗算手段と、 前記入力されたデジタルデータ、前記第3の乗算手段の
乗算結果、前記第4の乗算手段の乗算結果、及び、前記
第3の遅延回路の出力デジタルデを加算する第2の加算
手段と、 からなる低周波帯域デジタルフィルタ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP23752689A JPH0695627B2 (ja) | 1989-09-13 | 1989-09-13 | 低周波帯域デジタルフィルタ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP23752689A JPH0695627B2 (ja) | 1989-09-13 | 1989-09-13 | 低周波帯域デジタルフィルタ |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62179301A Division JP2630778B2 (ja) | 1987-07-17 | 1987-07-17 | 低周波帯域デジタルフィルタの構成方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02140010A true JPH02140010A (ja) | 1990-05-29 |
| JPH0695627B2 JPH0695627B2 (ja) | 1994-11-24 |
Family
ID=17016638
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP23752689A Expired - Fee Related JPH0695627B2 (ja) | 1989-09-13 | 1989-09-13 | 低周波帯域デジタルフィルタ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0695627B2 (ja) |
-
1989
- 1989-09-13 JP JP23752689A patent/JPH0695627B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0695627B2 (ja) | 1994-11-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5216718A (en) | Method and apparatus for processing audio signals | |
| JPH11261376A (ja) | 少ない乗算器によるディジタルiirフィルタ | |
| US5933360A (en) | Method and apparatus for signal compression and processing using logarithmic differential compression | |
| EP0577101A1 (en) | Multiplier accumulator | |
| JPH02140010A (ja) | 低周波帯域デジタルフィルタ | |
| US6209012B1 (en) | System and method using mode bits to support multiple coding standards | |
| KR0134042B1 (ko) | 디지탈 신호처리장치 및 신호처리방법 | |
| US6032081A (en) | Dematrixing processor for MPEG-2 multichannel audio decoder | |
| KR0147758B1 (ko) | Mpeg-2 오디오 복호화기의 합성 필터 | |
| JPH04140827A (ja) | 浮動小数点表示データの演算方法 | |
| JPH0410009A (ja) | デジタルデータの非線形変換方法及びこれを用いた信号処理装置 | |
| JP2647991B2 (ja) | 方向性強調を有するオーディオ信号処理装置 | |
| JPH02236693A (ja) | デジタル信号処理装置 | |
| JP2630778B2 (ja) | 低周波帯域デジタルフィルタの構成方法 | |
| JPS63316165A (ja) | デジタル信号処理装置 | |
| JPH01179515A (ja) | デジタル信号処理装置 | |
| JP2589199B2 (ja) | デジタルデータの非線形変換方法及びこれを用いた信号処理装置 | |
| JP3672076B2 (ja) | 演算器および演算方法およびプロセッサ | |
| EP0901106B1 (en) | System and method using mode bits to support multiple coding standards | |
| JP2686234B2 (ja) | デジタル信号処理装置及び信号処理方法 | |
| JPH07191964A (ja) | デジタル信号処理装置 | |
| JPH0199312A (ja) | 演算装置 | |
| JPH0375927A (ja) | 平方根演算装置 | |
| JPH0438541A (ja) | デジタル信号処理装置 | |
| JPS59180733A (ja) | 累積加算回路 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |