(57)【特許請求の範囲】
【請求項１】
或る時間間隔において、入力された信号をＡ／Ｄ変換して出力されたデジタルデータの信号レベルが或る規定値を越えている時間の比率であるオーバーレートを検出するオーバーレート検出手段と、
前記オーバーレート検出手段によって検出されたオーバーレートを用いて減衰制御量を発生させることのできる減衰制御量発生手段と、
前記減衰制御量発生手段によって発生された減衰制御量に基づいて入力信号の減衰動作を行なう減衰手段と、
を備え、
前記減衰制御量発生手段は、前記オーバーレート検出手段によるオーバーレート検出動作のための前記信号レベルの測定を行なう時間間隔が変動した場合に前記減衰手段に対する減衰制御量の応答性が変動しないように、時間間隔の変動に対応して減衰制御量の算出のための係数を選択すること
を特徴とするオートゲインコントロール回路。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明はオーディオ信号の伝送系などに用いられるオートゲインコントロール回路（以下、ＡＧＣ回路という）に関するものである。
【０００２】
【従来の技術】
従来より、各種機器においてＡＧＣ回路は採用されている。例えばデジタルオーディオテープレコーダなどにおいては、記録信号となるオーディオ信号のレベルが一定レベル以上にならないようにしているものが多い。具体的にはオーディオ信号を減衰器（アッテネータ）に供給し、所定量の減衰を実行させるものであるが、その減衰量はオーディオ信号レベルの検出値に基づいて自動的にコントロールされるようにしている。
減衰量の制御に用いるオーディオ信号レベルの検出値とは、例えば或る期間におけるピーク検出値としたり、もしくは平均値としたりすることが行なわれている。
【０００３】
【発明が解決しようとする課題】
ところで、従来のＡＧＣ回路では、急激に大きなレベルの信号が入力された場合には、途中で信号がクリップされてしまい、検出されるピーク値や平均値は実際の値よりも小さいものとなってしまうことがある。
例えば図６においてデジタル値で『７ＦＦＦｈ』（なお『ｈ』のついた数値は１６進表現）がクリップレベルとした場合に、急激に実線で示すような大振幅の入力があったとする。
このとき、この入力に対するＡＧＣ回路の応答性が追付かない場合は、図６に一点鎖線で示すように波形がクリップされてしまう。
【０００４】
このように波形がクリップされた場合、そのレベルは当然ながら実際のレベルより小さいものとなり、つまり実際の値よりも小さいピーク値や平均値が検出されてしまう。そして、その検出値に基づいて減衰量を制御するものであるため、実際の値よりも小さい値が検出されるということは、そのＡＧＣ回路が、入力に対する応答時間が遅くなってしまうということになる。つまり、大振幅入力に対して適切な減衰量を与え、クリップが発生しないようにするまでに時間を要することになる。
このため、急激な大振幅入力については、信号がクリップすることが避けられず、信号の歪を発生させることになるという問題があった。
【０００５】
【課題を解決するための手段】
本発明はこのような問題に鑑みてなされたもので、ＡＧＣ回路における減衰手段の減衰量を設定する基準値として、オーバーレート検出手段によって或る時間間隔において入力された信号をＡ／Ｄ変換して出力されたデジタルデータの信号レベルが或る規定値を越えている時間の比率であるオーバーレートを検出する。そして、このオーバーレートに基づいて減衰制御量発生手段において減衰制御量を発生させる。
【０００６】
このとき、オーバーレート検出手段によるオーバーレート検出動作のための前記信号レベルの測定を行なう時間間隔が変動した場合に減衰手段に対する減衰制御量の応答性が変動しないように、減衰制御量発生手段は、時間間隔の変動に対応して減衰制御量の算出のための係数を選択するようにする。
【０００７】
【作用】
ある時間間隔において、信号レベルが或る規定値を越えている時間を検出し、いわゆるオーバーレートを求めるようにすると、例えクリップが発生するような大振幅の信号が入力されても、オーバーレートはその振幅量に応じた値となる。つまり、瞬間的にクリップが発生して適正なピーク値、平均値が求められない状態であっても、オーバーレートは信号レベルに応じた値として算出でき、これによって減衰量をコントロールすることで、迅速な応答性を実現できることになる。
【０００８】
【実施例】
以下、図１〜図５により本発明のＡＧＣ回路の実施例を説明する。
図１は例えば録音装置などに搭載されるＡＧＣ回路の構成を示したものである。
【０００９】
一点鎖線で示すＡＧＣ回路１は例えば磁気テープ等を記録媒体として音声信号を記録する記録装置部２０の前段に設けられる。記録信号となるオーディオ信号は端子２からＡＧＣ回路１に入力され、減衰器３に供給される。
減衰器３では供給される減衰制御信号ＡＴＴS に応じた減衰量で入力されたオーディオ信号を減衰させて出力する。
減衰器３の出力はアンプ４を介してＡ／Ｄ変換器５に供給され、デジタルデータとされる。そしてそのデジタルデータはＤＳＰ（デジタルシグナルプロセッサ）６において各種所要の処理が施される。
【００１０】
ＤＳＰ６で処理されたデジタルデータは端子１１から記録装置部２０に供給され例えば磁気ヘッドから磁気テープなどのメディアに記録されることになる。例えばこの記録装置部２０はＤＡＴ（デジタルオーディオテープ）記録装置部などで実現される。
ＤＳＰ６においての記録装置部２０に対する記録信号の供給動作のための処理としては、データの変調、記録フォーマットへの変換やエラー訂正用の符号付加、さらに各種制御データの付加等が行なわれることになる。
【００１１】
ＡＧＣ回路１の動作としては、ＤＳＰ６は入力されたデジタルデータから、ピークレベルPK.LVL、オーバーレートOV.RATE 、平均値M.LVL を検出し、これを出力する。
検出されたピークレベルPK.LVL、及びオーバーレートOV.RATE はローパスフィルタ７に供給される。
また検出された平均値M.LVL は、ローパスフィルタ８及びローパスフィルタ９に供給される。
各ローパスフィルタ７，８，９の出力は加算器１０に供給され、演算処理が施される。そして、加算器１０の出力が減衰制御信号ＡＴＴS となり、減衰器３に供給される。
【００１２】
このように、本実施例のＡＧＣ回路１は、ＤＳＰ６で検出されたオーディオ信号（デジタルデータ）のピークレベルPK.LVL、オーバーレートOV.RATE 、平均値M.LVL をローパスフィルタ７，８，９に注入して得られた値を加算し、減衰制御信号ＡＴＴS を生成することで、入力オーディオ信号のゲインを自動調整する回路系が構成されているものである。
【００１３】
ＤＳＰ６におけるピークレベルPK.LVLの検出動作は、入力されたデータの最大値を記憶することで実行される。これは例えば５ｍｓｅｃなどの一定周期ごとに行なわれる。即ち、５ｍｓｅｃの期間において逐次入力されてくるデータの最大値を更新しながら記憶していくことで、５ｍｓｅｃの期間が終了した時点で記憶されているデータの値が、その５ｍｓｅｃの期間のピークレベルPK.LVLとなる。この記憶されているピークレベルPK.LVLは５ｍｓｅｃ期間の終了時点で読み出されてローパスフィルタ７に出力されることになるが、ＤＳＰ６内部の記憶値としてはこの時点でクリアされ、再び次の５ｍｓｅｃ期間でのピークレベルPK.LVLの検出動作に入ることになる。
なお、ピークレベルPK.LVL検出の対象となるデータとは、入力されるデジタルデータ（音声信号）について正負の値を絶対値に変換したデータである。
【００１４】
ＤＳＰ６における平均値M.LVL の検出動作は、入力された全てのデータを積算することで行なわれる。これは例えば１００ｍｓｅｃなどの一定周期毎に行なわれるものとなり、つまり、１００ｍｓｅｃ内に入力されたデータの積算値が平均値M.LVL としてローパスフィルタ８，９に出力される。ＤＳＰ６内に保持している積算値は、ローパスフィルタ８，９に出力した時点でクリアされ、再び次の１００ｍｓｅｃ期間の積算動作を行なうことになる。
この平均値M.LVL の検出の対象となるデータも、入力されるデジタルデータ（音声信号）について正負の値を絶対値に変換したデータである。
なお、処理の都合上、必ずしも常に１００ｍｓｅｃ毎にＤＳＰ６からの平均値M.LVL の読出を行なうことができないことが考えられるため、読出周期を数えるカウンタも用意する。このカウンタは読出動作でクリアされ、またサンプリングクロックでインクリメントされるものである。
【００１５】
ＤＳＰ６において検出されるオーバーレートOV.RATE とは、Ａ／Ｄ変換器５からのデジタルデータとしての各サンプルデータのうち、一定レベルを越えたデータの個数を数えるカウンタによって計数される値である。なお、詳しくは後述するが、このカウンタの値はパーセンテージに変換され、オーバーレートOV.RATE とされるものであり、説明上、カウンタの計数値をオーバーレートOV.RATE 、カウンタの計数値をパーセンテージに変換した値をオーバーレート％OV.RATE とする。
【００１６】
このオーバーレートOV.RATE の検出は例えば５ｍｓｅｃ毎に行なわれ、つまり５ｍｓｅｃ毎にカウンタの計数値から得られる値が読み出されてローパスフィルタ７に出力される。そしてこの読出によってカウンタの値はクリアされ、次の５ｍｓｅｃ期間における計数動作に入ることになる。
このオーバーレートOV.RATE の検出の対象となるデータも絶対値データであり、また処理の都合上、必ずしも常に５ｍｓｅｃ毎にＤＳＰ６からの読出を行なうことができないことが考えられるため、読出周期を数えるカウンタも用意している。このカウンタは上記平均値M.LVL に関するカウンタと同様に、読出動作でクリアされ、またサンプリングクロックでインクリメントされるものである。
【００１７】
またオーバーレートOV.RATE の検出は、一定レベルを越えたデータの個数を数えることでなされるが、一定レベルとは、例えばデジタルデータの最大値の−１ｄＢ程度のレベルに設定すればよい。
例えばＡ／Ｄ変換器５からのデジタルデータが、１６ビットの２の補数表現としてみた場合、データの最大値は『７ＦＦＦｈ』（＝３２７６８）となる。この場合、オーバーレートOV.RATE の検出は例えば『７ＦＦＤｈ』を越えたデータ数を数えるようにすればよい。
【００１８】
図５にオーバーレートOV.RATE の検出の概念を示した。５ｍｓｅｃの期間に図中▲１▼のようなデータ（音声信号）入力があったとすると、『７ＦＦＤｈ』を越えるデータはないため、オーバーレートOV.RATE ＝０となる。一方、図中▲２▼のようなデータ（音声信号）入力があったとすると、ＴOVと示す期間のデータ（一点鎖線部分）は『７ＦＦＤｈ』を越えることになり、このときのデータ数（サンプル数）がカウンタによって計数され、オーバーレートOV.RATE が検出される。
例えばＡ／Ｄ変換器５のサンプリング周波数が３２KHz であるとすると、５ｍｓｅｃ期間には１６０サンプルのデータが入力される。そして図５のＴOVが２ｍｓｅｃの期間であると仮定すると、カウンタによって計数される値は『６４』（６４サンプル）となる。従ってオーバーレートOV.RATE ＝６４となる。なお、パーセンテージとしてのオーバーレート％OV.RATE は、（６４／１６０）×１００＝４０％となる。
【００１９】
図１における各ローパスフィルタ７，８，９は同一の構成としてよいが、アタックスレッショルドレベルTHD1、リカバリースレッショルドレベルTHD2、アタックゲインGAIN1 、リカバリーゲインGAIN2 、アタックタイムTC1 、リカバリータイムTC2 の各パラメータは次の（表１）に示すように異なるものとされている。
【表１】
0003867303.tif 000002
【００２０】
そして、ローパスフィルタ７は、ＤＳＰ６から供給されるピークレベルPK.LVL又はオーバーレートOV.RATE が入力され、応答の時定数が数ｍｓｅｃと早いものとされる。
またローパスフィルタ８は、ＤＳＰ６からの平均値M.LVL を入力とし、応答の時定数は数１０ｍｓｅｃと中間的なものとされ、さらにローパスフィルタ９もＤＳＰ６からの平均値M.LVL を入力とし、応答の時定数は数１００ｍｓｅｃと比較的ゆっくりなものとされている。
【００２１】
上述のようにローパスフィルタ７，８，９の出力が加算器１０で加算されて減衰制御信号ＡＴＴS が得られるが、図１の構成において仮にオーバーレートOV.RATE を考慮しないものとすると、いわゆる通常のＡＧＣループが実現されるものとなる。
即ち本実施例では、オーバーレートOV.RATE を用いて減衰制御信号ＡＴＴS を生成する点が特徴的なものとなり、ここで、オーバーレートOV.RATE を減衰制御信号ＡＴＴS の生成の要素として取り入れた場合について説明する。
【００２２】
いま、ＡＧＣ回路１に入力される音声信号を正弦波と仮定する。このときに、オーバーレート％OV.RATE が図４に示す値OVa であったとすると、図中ＡＴU で示す量が、いわゆるレベルオーバーしている量となる。そこで、値ＡＴU に相当する分だけ減衰器３の減衰量を増加させてやれば、音声信号のゲインを、クリップしないレベルに設定することができることになる。
ここで、減衰量をＹ（ｄＢ）で表わすとすると、オーバーレート％OV.RATE に応じた減衰量Ｙは、
Ｙ＝２０×log（１／cos（0.5π・（％OV.RATE）／１００））
で求めることができる。
つまり、オーバーレート％OV.RATE に応じた適切な減衰量Ｙが算出できる。
【００２３】
ただし、このまま計算することは、ソフトウエア処理としてのオーバーヘッドが大きくなるため、次の式で減衰量Ｙを求めることとする。なお、オーバーレートOV.RATE となる計数値が２５６のときにオーバーレート％OV.RATE ＝１００％としている。オーバーレート％OV.RATE をＸとすると、
０＜Ｘ≦３２のとき：Ｙ＝（Ｘ＋４）・（Ｘ＋４）／２  ・・・・・・［式１］
３２＜Ｘのとき    ：Ｙ＝（Ｘ−１６）・Ｘ            ・・・・・・［式２］
なお、この式では、オーバーレートOV.RATE ≧２００の時に誤差が大きくなるが、減衰量を大きくしすぎると発振等の問題が発生するため、或る程度誤差があったほうが実際の装置としてはむしろ好都合なものとなる。
そしてこのようにして算出された減衰量Ｙが、即ち減衰制御信号ＡＴＴS の生成の１要素となるものである。
【００２４】
このように本実施例では、オーバーレートOV.RATE を用いて減衰制御信号ＡＴＴS を生成する。
そしてＡＧＣ回路１において減衰器３に対する減衰量制御のための動作としては、ＤＳＰ６における各データの読出、ローパスフィルタ７，８，９としての演算、加算器１０の演算が必要になるわけであるが、これらの処理は実際には全てマイクロプロセッサーによるソフトウエアで実現できるものである。
マイクロプロセッサーによるソフトウエア処理を詳しく説明する前に、まず全体的な動作を概略的に説明すると次のようになる。
【００２５】
ＤＳＰ６はピークレベルPK.LVL及びオーバーレートOV.RATE を５ｍｓｅｃ毎にローパスフィルタ７としての演算処理に供給する。このときにオーバーレートOV.RATE ＝０であった場合は、ローパスフィルタ７としての演算処理、即ち前述した（表１）のパラメータに応じた演算についての入力はピークレベルPK.LVLを用いる。またオーバーレートOV.RATE が０でなかった場合は、上述した［式１］［式２］で求められる値Ｙを用いてローパスフィルタ７としての演算処理を行なう。
【００２６】
なお、通常ローパスフィルタへ入力された値は、時定数によって応答がゆっくりになるが、オーバーレートOV.RATE を入力として用いて演算する場合は、時定数をゼロとして、値Ｙを直接出力するようにしてもよい。これは、上述のように音声信号の値に対して好適な減衰量が分かることになるためである。
【００２７】
一方、ローパスフィルタ８，９に対してはＤＳＰ６は平均値M.LVL を１００ｍｓｅｃ毎に供給し、ローパスフィルタ８，９としての演算処理が行なわれる。
そしてこの３つのローパスフィルタ７，８，９の出力が加算器１０としての演算処理で加算されて減衰制御信号ＡＴＴS が生成される。
このような動作により、本実施例のＡＧＣ回路１は、入力音声信号のレベルが通常の（クリップしない）範囲内であれば、平均値M.LVL やピークレベルPK.LVLに基づく減衰制御信号ＡＴＴS でいわゆる自動ゲイン調整が行なわれ、一方、クリップが生ずるような大振幅入力があった場合は、減衰制御信号ＡＴＴS の生成にオーバーレートOV.RATE が用いられることで、入力音声信号の振幅を推定し適正な減衰量を与えるという動作が行なわれ、応答性がよくしかも信号にクリップの発生しないような自動ゲイン調整が行なわれることになる。
【００２８】
このような動作を実現するためのマイクロプロセッサーによるソフトウエア処理を図２のＰＡＤチャートで説明する。
ＡＧＣ処理としてまず各種パラメータなどの初期設定がされた後(P101)、まずタイマＴＭがゼロにリセットされる。このタイマＴＭは１００ｍｓｅｃの周期を判別するためのものである。
そしてステップP103として、ステップP104〜P122の処理が、５ｍｓｅｃ毎に繰り返される。
この５ｍｓｅｃ毎の処理として、先ずタイマＴＭがインクリメントされる(P104)。次に、タイマＴＭの値が『２０』以上になっているか否かが判別される。
タイマＴＭはステップP102又はP106でリセットされるものであり、タイマＴＭの値が『２０』以上になるのは、１００ｍｓｅｃが経過した時点である。
【００２９】
このタイマＴＭの値が『２０』に達した時点、即ち１００ｍｓｅｃの周期タイミングであった場合は、ステップP106の処理でタイマＴＭがリセットされ、続いてＤＳＰ６から平均値M.LVL が読み出される。つまり、その時点までの１００ｍｓｅｃの期間にＤＳＰ６に入力されたデータの積算値が読み出される。
そして、平均値M.LVL を入力として、ローパスフィルタ８の出力が求められ(P108)、また同じく平均値M.LVL を入力として、ローパスフィルタ９の出力が求められる(P109)。
つまり、ステップP106〜P109の処理はローパスフィルタ８，９についての１００ｍｓｅｃ毎に行なわれる処理となる。
【００３０】
このステップP106〜P109の処理が行なわれた後、もしくはステップP105でタイマＴＭの値が『２０』に達していないと判断された場合はステップP106〜P109の処理が行なわれずにステップP110の処理が行なわれる。つまり５ｍｓｅｃ周期の各タイミングでの処理は必ずステップP110に進む。そしてステップP110として、ＤＳＰ６からピークレベルPK.LVL及びオーバーレートOV.RATE が読み出されることになる。
【００３１】
次に、読み出されたオーバーレートOV.RATE が『０』より大きいか否かが判別される(P111)。オーバーレートOV.RATE が『０』より大きい場合、即ち大振幅の音声信号入力が生じていた場合は、ステップP112の処理として、オーバーレートOV.RATE からリミットレベルLMT.LVL が求められる。
このステップP112の処理は、上述した［式１］［式２］に相当する。即ちまずオーバーレートOV.RATE をパーセンテージとしてのオーバーレート％OV.RATE に変換する。そして、例えばオーバーレート％OV.RATE が３２以下の場合は［式１］が用いられ、リミットレベルLMT.LVL は、
LMT.LVL ＝（％OV.RATE ＋４）・（％OV.RATE ＋４）／２
とされ、またオーバーレート％OV.RATE が３２より大きい場合は［式２］が用いられ、リミットレベルLMT.LVL は、
LMT.LVL ＝（％OV.RATE −１６）・（％OV.RATE ）
として求められる。
【００３２】
一方、ステップP111でオーバーレートOV.RATE ＝０と判別された場合は、ステップP113で、読み出されたピークレベルPK.LVLが或る値に設定されているリミットスレッショルドレベルLMT.THD より大きいか否かが判別される。
そしてピークレベルPK.LVLがリミットスレッショルドレベルLMT.THD より大きければ、ステップP114でピークレベルPK.LVLからリミットレベルLMT.LVL が求められる。つまり、ピークレベルPK.LVLとリミットスレッショルドレベルLMT.THD の差分に対して所定の値に設定されているリミットゲインLMT.GAINが乗算され、それがリミットレベルLMT.LVL とされる。
また、ステップP113でピークレベルPK.LVLがリミットスレッショルドレベルLMT.THD 以下と判断されれば、ステップP115でリミットレベルLMT.LVL ＝０と設定される。
【００３３】
ステップP111〜P115の処理でリミットレベルLMT.LVL が求められたら、それを入力として、ステップP116でローパスフィルタ７の出力が求められる。
そして、ローパスフィルタ７の出力が求められたら、図１における加算器１０に相当する処理として、ステップP117でローパスフィルタ７，８，９の加算値LPF.SUM が算出される。
加算値LPF.SUM は、各ローパスフィルタ７，８，９の出力と、オフセット値が加算された値とされる。ローパスフィルタ８，９の出力とは、その時点以前でステップP108,P109 で求められている値である。また、オフセット値とは、基準レベルの音声信号入力時における減衰量に相当する値である。
【００３４】
加算値LPF.SUM が求められたら、減衰動作として不必要に減衰量が変動しないようにバックラッシュ要素を加えるようにしている。このためにステップP118で加算値LPF.SUM とその時点の（前回の）制御信号値ＡＴＴS を比較し、加算値LPF.SUM が制御信号値ＡＴＴS を越えていたら、加算値LPF.SUM を今回の減衰制御信号値ＡＴＴS として設定する(P119)。
一方、加算値LPF.SUM が前回の制御信号値ＡＴＴS 以下であったら、次に前回の制御信号値ＡＴＴS と、加算値LPF.SUM にバックラッシュ値ＢＬを加えた値を比較する(P120)。そして、この比較動作で前回の制御信号値ＡＴＴS が大きいという結果が出た場合は、加算値LPF.SUM にバックラッシュ値ＢＬを加えた値を今回の減衰制御信号値ＡＴＴS として設定する(P121)。
ステップP120で否定結果が出た場合は、減衰制御信号値ＡＴＴS は更新しない。
【００３５】
以上の処理で減衰制御信号値ＡＴＴS が設定されたら、ステップP122の処理として、その減衰制御信号値ＡＴＴS を減衰器３に供給し、減衰動作を実行させることになる。
この図２の処理が５ｍｓｅｃ毎に繰り返されることで、入力音声信号に対してクリップを生じさせずに、好適な自動ゲイン調整が実現される。
【００３６】
なお、このようなＡＧＣ回路１において減衰器３がステップ方式で減衰量を変化させるものである場合は、ゲイン変更は入力信号レベルがゼロの時に行なうようにすることが好ましい。これは、振幅が大きいときにゲインを変えると信号の振幅がステップ上に変化し、いわゆるプチ音が聞こえることになるためである。しかしながら、オーバーレートが発生するような大振幅入力の時は、歪が大きくならないように、入力信号のレベルに関わらず、速やかにゲインを変えることが有効である。
【００３７】
ところで、上記図２で説明したようにＤＳＰ６からの各値の読出をソフトウエア制御で行なう場合、必ずしも時間間隔が一定にならないことが通常である。これはつまり、マルチタスクで動いているソフトウエアは、その動作時間を厳密に決めることができず、また割り込み制御の場合でも、その優先順位が低い場合には、他の優先処理によって待たされる場合があるためである。
【００３８】
このようなことを考えるとローパスフィルタに対する入力の時間間隔も不規則なものとなり、これに対して常に一定の時定数で処理することとすると、応答がぎくしゃくしたものとなってしまう。ソフトウエアとしての１つのタスクの最小実行時間を５ｍｓｅｃとした場合、時間間隔の誤差はその整数倍の５〜１０ｍｓｅｃとなり、本実施例については、特に入力の時間間隔が５ｍｓｅｃと短いものとなっているローパスフィルタ７について大きな影響としてあらわれる。なお、ローパスフィルタ８，９については、入力の時間間隔が１００ｍｓｅｃであり、誤差に対して十分に長い時間間隔であるため、殆ど影響はない。
このような入力間隔誤差に対応するために、本実施例のローパスフィルタ７では、入力間隔に応じて演算処理計数となる時定数を可変するようにしている。
【００３９】
いま、ローパスフィルタに対する入力時間間隔をＴ、時定数をτ、入力をＸｉ、出力をＹｉとすると、係数Ｋ＝１−EXP(-T／τ）として、
0003867303.tif 000003
という関係になる。
通常のローパスフィルタでは、入力時間間隔Ｔを一定と考えられるため、予め係数Ｋの値を求めておけば、上記［式３］として乗算の回数は１回ですむことになる。
【００４０】
ところが、入力時間間隔Ｔが変動する場合には、入力時間間隔Ｔに応じた係数Ｋを求めるために徐算と指数計算を行なわなくてはならず、ソフトウエアとしてのオーバヘッドは大きいものとなる。
そこで、各種の入力時間間隔Ｔの値に対応する係数Ｋの値を予め求めておき、これをいわゆるメモリテーブルとして保持しておくことで、徐算と指数計算は不要となり、処理を高速化することができる。
例えば実施例のローパスフィルタ７では、入力時間間隔Ｔとして１ｍｓｅｃ〜２０ｍｓｅｃ迄の各値に対応する係数Ｋの値を記憶しておくようにすればよい。
【００４１】
図３はローパスフィルタ７としての演算処理の流れを図式化したものである。ステップST1 として入力Ｘｉがあると、ステップST2 としてその入力Ｘｉのレベルが判断される。
入力Ｘｉが上記した（表１）に示したアタックスレッショルドレベルTHD1より大きければ、入力ＸｉとアタックスレッショルドレベルTHD1の差分に対してアタックゲインGAIN1 が付加される(ST4,ST5,ST6) 。
また入力ＸｉがリカバリースレッショルドレベルTHD2より小さければ、入力ＸｉとリカバリースレッショルドレベルTHD2の差分に対してリカバリーゲインGAIN2 が付加される(ST7,ST8,ST9) 。
入力ＸｉのレベルがアタックスレッショルドレベルTHD1とリカバリースレッショルドレベルTHD2の間であれば、入力は『０』とされる(ST3) 。
【００４２】
これらのレベルに応じた処理で得られた値が加算処理としてステップST10に送られることになる。
加算処理(ST10)には、前回の出力Ｙｉに対してステップST19,ST20 で『−１』が乗算された値（−Ｙｉ）も供給されるため、加算処理(ST10)は、即ち上記［式３］における（Ｘｉ−Ｙｉ）の演算となる。
そしてこの加算処理出力に対してステップST11で係数Ｋの乗算処理が行なわれる。つまり上記［式３］におけるＫ（Ｘｉ−Ｙｉ）の演算となる。
さらに、Ｋ（Ｘｉ−Ｙｉ）の値はステップST16において値Ｙｉと加算され、これによって［式３］の演算としてＹｉ＋Ｋ（Ｘｉ−Ｙｉ）が完了したことになり、つまり次の出力Ｙｉ＋１がラッチ処理(ST17)を介して出力される(ST18)。
【００４３】
ここで、係数Ｋとしては、加算処理(ST10)の結果が正の値であるか負の値であるかの判別処理(ST12)に応じて選択処理(ST15)で選択されるものである。つまり、係数Ｋを、アタックタイムTC1 としての時定数を設定するものか、リカバリータイムTC2 としての時定数を設定するものかが選択される。
アタックタイムTC1 としての時定数に関する係数ＫはステップST13として発生され、またリカバリータイムTC2 としての時定数を設定するの係数ＫはステップST14として発生されるが、上述したように入力時間間隔に応じて係数Ｋを変化させるようにするため、それぞれ、１ｍｓｅｃ〜２０ｍｓｅｃの２０種類の入力時間間隔に応じて２０種類の係数Ｋを保持している。
そして、入力時間間隔はステップ21としての処理で測定され、その測定時間に応じて、読み出される係数Ｋが決定されるものとなる。
【００４４】
このように係数Ｋを予め保持しておき、入力時間間隔に応じて係数Ｋを発生させることで、ローパスフィルタ７としては入力時間間隔の変動に影響をうけない出力を得ることができ、これによってスムーズな応答を得ることができる。
【００４５】
【発明の効果】
以上説明したように本発明のＡＧＣ回路は、減衰手段の減衰量を設定する基準値として、オーバーレート検出手段によって或る時間間隔において信号レベルが或る規定値を越えている時間の比率であるオーバーレートを検出するようにし、このオーバーレートに基づいて減衰制御量発生手段において減衰制御量を発生させるようにしているため、クリップが発生するような大入力の信号に対しても、そのピーク値を推定し、適切な減衰制御を行なうことが可能となり、速やかにクリップの発生しないレベルまでゲイン制御を行なうことが可能となるという効果がある。
また減衰制御量発生手段は、入力時間間隔の変動に対応して減衰制御量の算出のための係数を選択するようにしているため、ソフトウエア処理として実現する場合でも円滑なゲインコントロールが可能になる。
【図面の簡単な説明】
【図１】本発明の実施例のＡＧＣ回路のブロック図である。
【図２】実施例のＡＧＣ回路の処理のＰＡＤチャートである。
【図３】実施例のＡＧＣ回路のローパスフィルタの処理の説明図である。
【図４】実施例におけるオーバーレートに基づく減衰処理の説明図である。
【図５】実施例におけるオーバーレート検出の説明図である。
【図６】大振幅入力信号の場合のクリップの説明図である。
【符号の説明】
１  ＡＧＣ回路
３  減衰器
５  Ａ／Ｄ変換器
６  ＤＳＰ
７，８，９  ローパスフィルタ
１０  加算器
【図１】
0003867303.tif 000004
【図２】
0003867303.tif 000005
【図３】
0003867303.tif 000006
【図４】
0003867303.tif 000007
【図５】
0003867303.tif 000008
【図６】
0003867303.tif 000009