以下、図面を参照し、この発明の実施の形態を説明する。
<第1実施形態>
図1は、この発明の第1実施形態であるAGC回路の構成を示すブロック図である。本実施形態によるAGC回路は、図1に示す電子ボリューム10Lおよび10Rと、レベル判定部20と、基準レベル発生部30と、デコーダ40および50と、クロック発生部60と、制御部100とを半導体基板上に形成してなる半導体集積回路であり、例えばスピーカ再生装置等のオーディオ機器に搭載される。
電子ボリューム10Lおよび10Rは、Lチャネルの入力オーディオ信号LINおよびRチャネルの入力オーディオ信号RINを、G(1)>G(2)>……>G(N)であるN種類のゲインG(k)(k=1〜N)のうちデコーダ50から与えられるゲイン指定データDGAINにより指定されるゲインで各々増幅し、オーディオ信号LOUTおよびROUTを各々出力する回路である。このAGC回路が例えばスピーカ再生装置に搭載される場合、電子ボリューム10Lおよび10Rが出力するオーディオ信号LOUTおよびROUTはスピーカ駆動用のパワーアンプに入力される。
図1には電子ボリューム10Lの構成例が示されている。なお、電子ボリューム10Rも電子ボリューム10Lと同様の構成を有している。図1に示す構成例では、電子ボリューム10Lは、抵抗11と、オペアンプ12と、スイッチ部13とにより構成されている。抵抗11は、入力オーディオ信号LINが与えられるオーディオ信号入力端子15とオーディオ信号LOUTの出力を行うオーディオ信号出力端子16との間に介挿されている。オペアンプ12は、非反転入力端子(+端子)には図示しない基準電圧源から出力される基準電圧VREFが与えられており、出力端子がオーディオ信号出力端子16に接続されている。スイッチ部13は、抵抗11に設けられたN個の中間タップの中から1つの中間タップを選択し、選択した中間タップをオペアンプ12の反転入力端子(−端子)に接続する回路である。
この構成例において、オペアンプ12の反転入力端子は仮想接地されており、電子ボリューム10Lのゲインは、抵抗11のうちオーディオ信号入力端子15からスイッチ部13によってオペアンプ12の反転入力端子に接続される中間タップまでの部分の抵抗値Raと、この中間タップからオーディオ信号出力端子16までの部分の抵抗値Rbとの比Rb/Raにより定まる。そして、この構成例では、ゲイン指定データDGAINにより指定され得る全てのゲインG(k)(k=1〜N)に対応して抵抗11におけるN個の中間タップの位置が決定されており、あるゲインG(k)を指定するゲイン指定データDGAINが与えられた場合には、そのゲインに対応した中間タップが選択されてオペアンプ12の反転入力端子に接続されるように、スイッチ部13が構成されている。この電子ボリューム10Lは、ゲインが抵抗比Rb/Raにより定まるので、歪を生じさせることなく、入力オーディオ信号LINを増幅することができるという利点がある。
レベル判定部20は、入力オーディオ信号LINおよびRINを基準レベル発生部30から与えられる基準レベルVrと比較し、入力オーディオ信号LINまたはRINの少なくとも一方が基準レベルVrを越えている場合にはHレベルの比較結果信号CMPを、そうでない場合にはLレベルの比較結果信号CMPを出力する回路である。本実施形態によるAGC回路では、この比較結果信号CMPに基づき、基準レベル発生部30が発生する基準レベルVrの制御および電子ボリューム10Lおよび10Rのゲインを適正値に変化させる制御が行われる。なお、これらの制御の態様については後述する。
図1に示す例では、レベル判定部20は、入力オーディオ信号LINと基準レベルVrとを比較するコンパレータ21と、入力オーディオ信号RINと基準レベルVrとを比較するコンパレータ22と、コンパレータ21および22の各出力信号の論理和を出力するORゲート23と、ORゲート23の出力信号のうち所定周波数以下の信号のみを通過させるLPF部24とにより構成されている。
LPF部24は、フリップフロップ241および242を図示のように接続してなるシフトレジスタである。各フリップフロップ241および242のクロック端子Cにはクロック発生部60から所定周波数のクロックLPFCKが与えられる。シフトレジスタの1段目を構成するフリップフロップ241のデータ入力端子DはHレベルに固定されている。そして、シフトレジスタの2段目を構成するフリップフロップ242の出力信号が比較結果信号CMPとなる。フリップフロップ241および242は、各々ローアクティブの非同期リセット端子Rを有している。ORゲート23の出力信号は、これらのうちフリップフロップ241の非同期リセット端子Rに与えられる。フリップフロップ242の非同期リセット端子Rにはローアクティブのリセット信号RST_Nが与えられる。このリセット信号RST_Nは、パワーオン時等のAGC回路の初期化が必要なときにアクティブレベル(Lレベル)とされる信号である。
この構成によれば、ORゲート23の出力信号がクロックLPFCKの1周期以上に亙ってHレベルを持続した場合に限り、比較結果信号CMPがHレベルとなり、それ以外の場合には、比較結果信号CMPはLレベルを維持する。このようなLPF部24を採用しているのは、クロックLPFCKの1周期にも満たないような瞬時的な入力オーディオ信号LINまたはRINの上昇に対しては、電子ボリューム10Lおよび10Rのゲインを変化させないようにするためである。クロックLPFCKの周波数は、例えば10kHz程度である。
基準レベル発生部30は、抵抗31とスイッチ部32とにより構成されている。ここで、抵抗31の両端には、図示しない電源から高電位側基準レベルVrefaおよび基準電圧レベルVREFが与えられる。本実施形態において、高電位側基準レベルVrefaは、AGC回路の外部から与えられる。AGC回路である半導体集積回路には、この高電位側基準レベルVrefaを受け取るための端子が設けられている。抵抗31は、外部から与えられる高電位側基準レベルVrefaを分圧して、Vr(1)<Vr(2)<……<Vr(N−1)であるN−1種類の基準レベルVr(k)(k=1〜N−1)を発生するN−1個の中間タップを有している。本実施形態において、基準レベルVr(k)(k=1〜N−1)は、入力オーディオ信号LINおよびRINのレベルをN個のレベル区分に分類する境界値として用いられる。スイッチ部32は、この抵抗31のN−1個の中間タップのうちデコーダ40から与えられる基準レベル指定データDLVLにより指定される中間タップを選択し、この選択した中間テップの基準レベルを上述した基準レベルVrとしてレベル判定部20に供給する回路である。本実施形態において、電子ボリューム10Lおよび10Rから出力されるオーディオ信号LOUTおよびROUTが例えばパワーアンプに出力される場合、パワーアンプの出力信号波形にクリップを生じさせないオーディオ信号LOUTおよびROUTのレベルの上限である出力振幅上限レベルが高電位側基準レベルVrefaとして基準レベル発生部30に与えられる。従って、以下では、場合により、高電位側基準レベルVrefaを、出力振幅上限レベルVrefaと呼ぶ。
クロック発生部60は、上述したクロックLPFCKを発生する他、制御部100のタイミング制御に用いられるベースクロックBCKおよびBCK_N、アタッククロックATKCK、リリースクロックRLSCK_Nを発生する回路である。なお、ベースクロックBCK_Nは、ベースクロックBCKをレベル反転したクロックである。好ましい態様において、クロック発生部60は、ベースクロックBCKを分周することにより、アタッククロックATKCKおよびリリースクロックRLSCK_Nを発生する。一般的に各クロックの周波数の関係は、BCK>ATKCK>RLSCK_Nとされる。好ましい態様では、ベースクロックBCKを分周してアタッククロックATKCKおよびリリースクロックRLSCK_Nを各々発生する際の分周比を任意に設定することができるようにクロック発生部60が構成される。
制御部100は、レベル判定部20から出力される比較結果信号CMPに基づき、推定レベルデータLVLmおよびゲイン設定用レベルデータLVLsを変化させる制御を行う回路である。デコーダ40は、制御部100から与えられる推定レベルデータLVLmを所定の変換ルールに従って基準レベル指定データDLVLに変換し、基準レベル指定データDLVLを基準レベル発生部30に供給する回路である。また、デコーダ50は、制御部100から与えられるゲイン設定用レベルデータLVLsを所定の変換ルールに従ってゲイン指定データDGAINに変換し、ゲイン指定データDGAINを電子ボリューム10Lおよび10Rに供給する回路である。以上の制御部100、デコーダ40および50により行われる制御の内容について詳述すると、次の通りである。
まず、推定レベルデータLVLmは、現在の入力オーディオ信号LINおよびRINのレベルのうち大きい方のレベルVpが属すると推定されるレベル区分を示すデータである。制御部100は、比較結果信号CMPに基づいて、この推定レベルデータLVLmが示すレベル区分を現在の入力オーディオ信号LINおよびRINのレベルのうち大きい方のレベルが属するレベル区分に近づけるための増減操作を行う。
図2は、推定レベルデータLVLmの内容および制御部100によって行われる推定レベルデータLVLmの増減操作を説明する図である。推定レベルデータLVLmは、N−1ビットのデータである。入力オーディオ信号のレベルVpが基準レベルVr(1)以下であると推定される場合の推定レベルデータLVLmは、図2に示すように、全ビットが“0”となる。また、入力オーディオ信号のレベルVpが少なくとも基準レベルVr(1)を越えていると推定される場合の推定レベルデータLVLmは、LSBが“1”、他のビットは“0”となる。また、入力オーディオ信号のレベルVpが少なくとも基準レベルVr(2)を越えていると推定される場合の推定レベルデータLVLmは、LSBから始まる2ビットが“1”、他のビットは“0”となる。以下同様であり、入力オーディオ信号のレベルVpが少なくとも基準レベルVr(k)を越えていると推定される場合の推定レベルデータLVLmは、LSBから始まるk個の連続したビットが“1”、残りのビットが“0”となる。
制御部100は、ベースクロックBCKがアクティブレベル(Hレベル)となるタイミングにおいて、比較結果信号CMPがHレベルである場合に、推定レベルデータLVLmにおけるビット“1”の個数を1つ増加させる操作を行う。また、制御部100は、リリースクロックRLSCK_Nがアクティブレベル(Lレベル)となった後、最初にベースクロックBCK_Nがアクティブレベル(Lレベル)となるタイミングにおいて、比較結果信号CMPがLレベルである場合に、推定レベルデータLVLmにおけるビット“1”の個数を1つ減少させる操作を行う。
図3は、デコーダ40が推定レベルデータLVLmを基準レベル指定データDLVLに変換する場合の変換ルールを示す図である。図3に示すように、デコーダ40は、推定レベルデータLVLmがオール“0”の場合とオール“1”の場合を除き、入力オーディオ信号のレベルVpが基準レベルVr(k)を越えていることを示す推定レベルデータLVLmが与えられた場合に、基準レベルVr(k+1)を指定する基準レベル指定データDLVLを出力する。また、デコーダ40は、推定レベルデータLVLmがオール“0”の場合には、基準レベルVr(1)を指定する基準レベル指定データDLVLを出力し、推定レベルデータLVLmがオール“1”の場合には、基準レベルVr(N−1)を指定する基準レベル指定データDLVLを出力する。
以上説明した制御部100による推定レベルデータLVLmの制御およびデコーダ40による推定レベルデータLVLmから基準レベル指定データDLVLへの変換が行われる結果、基準レベル発生部30からレベル判定部20へ供給される基準レベルVrは、入力オーディオ信号のレベルVpが基準レベルVr(N−1)を越えている場合を除き、基準レベルVr(k)(k=1〜N−1)のうちレベルVpを越える最小の基準レベルとされる。
次に制御部100およびデコーダ50により行われる電子ボリューム10Lおよび10Rのゲインの制御について説明する。まず、制御部100は、ゲイン設定用レベルデータLVLsを推定レベルデータLVLmに追従させる制御を行う。さらに詳述すると、入力オーディオ信号のレベルVpが増加して推定レベルデータLVLmにおける連続したビット“1”の個数が増加した場合に、制御部100は、アタッククロックATKCKが立ち上がる度に、ゲイン設定用レベルデータLVLsにおけるビット“1”を1個ずつ増加させ、ゲイン設定用レベルデータLVLsを段階的に推定レベルデータLVLmに近づける。また、入力オーディオ信号のレベルVpが減少し、かつ、リリースクロックRLSCK_Nがアクティブレベルとなって、推定レベルデータLVLmにおける連続したビット“1”の個数が1個減った場合に、制御部100は、アタッククロックATKCKの立ち上がりに応じて、ゲイン設定用レベルデータLVLsにおけるビット“1”を1個減少させ、ゲイン設定用レベルデータLVLsを推定レベルデータLVLmと一致させる。
デコーダ50は、図4に示す変換ルールに従い、ゲイン設定用レベルデータLVLsをゲイン指定データDGAINに変換する。このゲイン指定データDGAINに従って、電子ボリューム10Lおよび10Rのゲインが設定される。図5は、本実施形態において、入力オーディオ信号LINおよびRINのレベルVpが安定している場合に、そのレベルVpと、ゲイン指定データDGAINにより電子ボリューム10Lおよび10Rに設定されるゲインとの関係を示すものである。この図に示すように、入力オーディオ信号のレベルVpが基準レベルVr(1)以下である場合には、電子ボリューム10Lおよび10Rのゲインは最大のゲインG(1)とされる。そして、入力オーディオ信号のレベルVpが各基準レベルVr(k)(k=1〜N−1)を越えるに従い、電子ボリューム10Lおよび10Rに設定されるゲインはG(2)、G(3)、…という具合に段階的に低くなる。
以上説明した各装置のうちレベル判定部20と、基準レベル発生部30と、制御部100と、デコーダ40および50は、入力オーディオ信号LINおよびRINのレベルに応じて電子ボリューム10Lおよび10Rのゲインを制御する手段であって、入力オーディオ信号LINおよびRINのレベルと電子ボリューム10Lおよび10Rのゲインとにより決定される電子ボリューム10Lおよび10Rの出力信号LOUTおよびROUTのレベルが予め設定された出力振幅上限レベルVrefaを越えないように、電子ボリューム10Lおよび10Rのゲインを低下させる制御を行うゲインコントロール手段として機能する。このゲインコントロール手段としての機能により、電子ボリューム10Lおよび10Rに対する入力オーディオ信号LINおよびRINのレベルが上昇したとしても、電子ボリューム10Lおよび10Rから後段のパワーアンプに対して出力されるオーディオ信号LOUTおよびROUTのレベルが出力振幅上限レベルVrefa以内に制限され、後段のパワーアンプにおけるクリップの発生が防止される。なお、この特徴的な機能については、説明の重複を避けるため、本実施形態の動作説明において明らかにする。
次に、図6を参照し、制御部100の具体的構成を説明する。制御部100は、N−1個の制御セル100(k)(k=1〜N−1)を図示のように接続してなるものである。各制御セル100(k)(k=1〜N−1)は、各々、フリップフロップ101〜103と、NANDゲート111と、ローアクティブANDゲート112と、NORゲート113と、ローアクティブNORゲート114と、ローアクティブORゲート115と、ANDゲート116とを有している。
ここで、制御セル100(k)(k=1〜N−1)の各フリップフロップ102は、上述した推定レベルデータLVLmの各ビットLVLm(k)(k=1〜N−1)を記憶するレベルレジスタREGaを構成している。また、制御セル100(k)(k=1〜N−1)の各フリップフロップ103は、上述したゲイン設定用レベルデータLVLsの各ビットLVLs(k)(k=1〜N−1)を記憶するアタックレジスタREGbを構成している。
k=1以外の各制御セル100(k)のNANDゲート111には、比較結果信号CMPが入力されるとともに、下位の制御セル100(k−1)のフリップフロップ102から出力される推定レベルデータLVLmのビットLVLm(k−1)がデータLOWLVLとして入力される。また、制御セル100(1)のNANDゲート111には、比較結果信号CMPと、HレベルのデータLOWLVLが入力される。そして、各制御セル100(k)(k=1〜N−1)のローアクティブORゲート115には、NANDゲート111の出力信号と、フリップフロップ102のローアクティブ出力端子の出力信号が入力される。そして、各制御セル100(k)(k=1〜N−1)のフリップフロップ102は、データ入力端子DにローアクティブORゲート115の出力信号が入力され、クロック端子CにベースクロックBCKが入力され、ローアクティブの非同期リセット端子RにローアクティブNORゲート114の出力信号が入力される。
従って、k=1以外の各制御セル100(k)では、比較結果信号CMPがHレベルであり、かつ、下位の制御セル100(k−1)のフリップフロップ102から出力される推定レベルデータLVLmのビットLVLm(k−1)が“1”である場合に、NANDゲート111の出力信号がLレベルとなり、ベースクロックBCKの立ち上がりにより“1”がフリップフロップ102に書き込まれ、推定レベルデータLVLmのビットLVLm(k)が“1”となる。以後、フリップフロップ102のローアクティブ出力端子の出力信号である“0”がローアクティブORゲート115を介すことにより反転されてフリップフロップ102のデータ入力端子Dに供給されるため、非同期リセット端子Rがアクティブレベル(Lレベル)とされるまでの間、ビットLVLm(k)は“1”を維持し続ける。制御セル100(1)では、Hレベルの信号LOWLVLがNANDゲート111に与えられるため、比較結果信号CMPがHレベルである場合に、NANDゲート111の出力信号がLレベルとなり、ベースクロックBCKの立ち上がりにより推定レベルデータLVLmのビットLVLm(1)が“1”とされる。
k=N−1以外の各制御セル100(k)のローアクティブANDゲート112には、比較結果信号CMPとリリースクロックRLSCK_Nが入力されるとともに、上位の制御セル100(k+1)のフリップフロップ102から出力される推定レベルデータLVLmのビットLVLm(k+1)がデータUPPLVLとして入力される。また、制御セル100(N−1)のローアクティブANDゲート112には、比較結果信号CMPおよびリリースクロックRLSCK_Nと、LレベルのデータUPPLVLが入力される。
各制御セル100(k)(k=1〜N−1)のNORゲート113には、リセット信号RSTとローアクティブANDゲート112の出力信号が入力される。ここで、リセット信号RSTは、パワーオン時等のAGC回路の初期化が必要なときにアクティブレベル(Hレベル)とされる信号である。
各制御セル100(k)(k=1〜N−1)のフリップフロップ101は、データ入力端子DにNORゲート113の出力信号が入力され、クロック端子CにベースクロックBCK_Nが入力され、ローアクティブの非同期リセット端子Rにリセット信号RST_Nが入力される。また、各制御セル100(k)(k=1〜N−1)のローアクティブNORゲート114には、フリップフロップ101のハイアクティブ出力端子Qの出力信号と、リセット信号RST_Nが入力される。
従って、k=N−1以外の各制御セル100(k)では、比較結果信号CMPがLレベルであり、かつ、上位の制御セル100(k+1)のフリップフロップ102から出力される推定レベルデータLVLmのビットLVLm(k+1)が“0”であり、かつ、リリースクロックRLSCLK_Nがアクティブレベル(Lレベル)である場合に、ローアクティブANDゲート112の出力信号がHレベルとなり、ベースクロックBCK_Nの立ち上がりにより“0”がフリップフロップ101に書き込まれる。これにより、フリップフロップ102の非同期リセット端子Rがアクティブレベル(Lレベル)とされ、推定レベルデータLVLmのビットLVLm(k)が“0”となる。制御セル100(N−1)では、Lレベルの信号UPPLVLがローアクティブANDゲート112に与えられるため、比較結果信号CMPがLレベルであり、かつ、リリースクロックRLSCLK_Nがアクティブレベル(Lレベル)である場合に、ローアクティブANDゲート112の出力信号がHレベルとなり、ベースクロックBCK_Nの立ち上がりにより推定レベルデータLVLmのビットLVLm(k)が“0”とされる。
k=N−1以外の各制御セル100(k)のANDゲート116には、フリップフロップ102のハイアクティブ出力端子Qの出力信号が入力されるとともに、下位の制御セル100(k−1)のフリップフロップ103から出力されるゲイン設定用レベルデータLVLsのビットLVLs(k−1)がデータLOWOUTとして入力される。また、制御セル100(1)のANDゲート116には、フリップフロップ102のハイアクティブ出力端子Qの出力信号が入力されるとともに、HレベルのデータLOWOUTが入力される。
そして、各制御セル100(k)(k=1〜N−1)のフリップフロップ103は、データ入力端子DにANDゲート116の出力信号が入力され、クロック端子CにアタッククロックATKCKが入力され、ローアクティブの非同期リセット端子Rにリセット信号RST_Nが入力される。
従って、k=1以外の各制御セル100(k)では、下位の制御セル100(k−1)のフリップフロップ103から出力されるゲイン設定用レベルデータLVLsのビットLVLs(k−1)が“1”である場合に、フリップフロップ102から出力される推定レベルデータLVLmのビットLVLm(k)がANDゲート116を介してフリップフロップ103のデータ入力端子Dに供給され、アタッククロックATKCKの立ち上がりによりフリップフロップ103に書き込まれ、ゲイン設定用レベルデータLVLsのビットLVLs(k)として出力される。一方、下位の制御セル100(k−1)のフリップフロップ102から出力される推定レベルデータLVLmのビットLVLm(k−1)が“0”である場合には、フリップフロップ103に“0”が書き込まれ、ビットLVLs(k)は“0”とされる。制御セル100(1)では、Hレベルの信号LOWOUTがANDゲート116に供給される。従って、フリップフロップ102から出力されるビットLVLm(1)がアタッククロックATKCKの立ち上がりによりフリップフロップ103に書き込まれ、ゲイン設定用レベルデータLVLsのビットLVLs(1)として出力される。
以上が制御部100の構成である。
次に具体例を挙げ、本実施形態の動作を説明する。本実施形態によるAGC回路では、入力オーディオ信号LINおよびRINのレベルが上昇した場合、電子ボリューム10Lおよび10Rのゲインを段階的に低下させるアタック動作が行われる。また、本実施形態によるAGC回路では、入力オーディオ信号LINおよびRINのレベルが低下した場合、電子ボリューム10Lおよび10Rのゲインを段階的に上昇させるリリース動作が行われる。
図7は、本実施形態によるAGC回路において行われるアタック動作の例を示すタイムチャートである。この例では、初期状態において基準レベルVrが最低レベルであるVr(1)となっており、推定レベルデータLVLmはオール“0”、ゲイン設定用レベルデータLVLsもオール“0”となっている。そして、入力オーディオ信号LINの振幅は、入力オーディオ信号RINの振幅よりも大きく、この入力オーディオ信号LINは、図示のように変化する。
図7に示す入力オーディオ信号LINの第1波(最も左側に図示された波)が基準レベルVr(1)を越えると、レベル判定部20におけるORゲート23の出力信号がHレベルとなり、LPF部24は、これに応答して比較結果信号CMPをHレベルとする。比較結果信号CMPがHレベルになると、基準レベル発生部30が出力する基準レベルVrを上昇させる第1の制御が行われる。さらに詳述すると、この場合、最下位の制御セル100(1)において、NANDゲート111の出力信号がLレベルとなることから、ベースクロックBCKの立ち上がりによりフリップフロップ102に“1”が書き込まれ、推定レベルデータLVLmが“0……0001”となる。この結果、デコーダ40は、基準レベルVr(2)の出力を指示する基準レベル指定データDLVLを基準レベル発生部30に送る。これにより基準レベル発生部30が発生する基準レベルVrはVr(2)となる。
ここで、入力オーディオ信号LINのレベルがこの新たな基準レベルVr(2)よりも高いと、比較結果信号CMPはHレベルを維持する。この場合、制御セル100(2)では、制御セル100(1)からのビットLVLm(1)が“1”であり、かつ、比較結果信号CMPがHレベルであることから、NANDゲート111の出力信号がLレベルとなり、ベースクロックBCKの立ち上がりによりフリップフロップ102に“1”が書き込まれ、推定レベルデータLVLmが“0……0011”となる。
以後、基準レベルVrが入力オーディオ信号LINのピークレベルを越えて、比較結果信号CMPがLレベルとなるまで、ベースクロックBCKの立ち上がりに応じて、推定レベルデータLVLmのさらに上位のビットが順次“1”に書き換えられてゆく。図示の例では、推定レベルデータLVLmが“0……0111”とされ、基準レベルVrがVr(4)とされるまで、基準レベルデータLVLmにおけるビット“1”の増加および基準レベルVrの上昇を行わせる第1の制御がベースクロックBCKの立ち上がりに応じて行われる。
入力オーディオ信号LINが立ち下がり、基準レベルVr=Vr(4)を下回ると、比較結果信号CMPがLレベルとなる。しかし、リリースクロックRLSCK_Nが非アクティブレベルを維持している間は、比較結果信号CMPがLレベルとなっても、全ての制御セル100(k)(k=1〜N−1)においてローアクティブANDゲート112の出力信号はLレベルとなり、フリップフロップ101に対する“0”の書き込みは行われず、フリップフロップ102はリセットされない。従って、推定レベルデータLVLmは、“0……0111”を維持する。
図7に示す例では、入力オーディオ信号LINの第1波の後、第2波が立ち上がるが、この第2波のピークレベルは基準レベルVr(4)を越えない。従って、AGC回路では、推定レベルデータLVLmおよび基準レベルVrの更新は行われない。
そして、図7に示す例では、入力オーディオ信号LINの第2波の後、第1波よりもピークレベルの大きな第3波が立ち上がるが、この第3波のピークレベルは基準レベルVr(6)と基準レベルVr(7)との間のレベルである。従って、AGC回路では、推定レベルデータLVLmが“0……00111111”、基準レベルVrがVr(7)となるまで、推定レベルデータLVLmおよび基準レベルVrの更新が繰り返される。なお、図示は省略したが、入力オーディオ信号LINのレベルが最大の基準レベルVr(k−1)を越える場合には、基準レベルVrがVr(k−1)に到達した時点で推定レベルデータLVLmおよび基準レベルVrの更新は停止する。すなわち、推定レベルデータLVLmおよび基準レベルVrの更新は、比較結果信号CMPがHレベルである間または基準レベルVrが最大値Vr(k−1)に到達するまで繰り返される。
以上の動作と並行し、AGC回路では、ゲイン設定用レベルデータLVLsを推定レベルデータLVLmに段階的に近づける第3の制御がアタッククロックATKCKに応じて行われる。
図7に示す例では、ゲイン設定用レベルデータLVLsが“0……0000”、推定レベルデータLVLmが“0……0111”であるときに、アタッククロックATKCKが立ち上がる。このとき、制御セル100(1)において、ANDゲート116に対する信号LOWOUTがHレベル(“1”)であり、かつ、フリップフロップ102から出力される推定レベルデータLVLmのビットLVLm(1)が“1”であることから、フリップフロップ103に“1”が書き込まれる。この結果、ゲイン設定用レベルデータLVLsは“0……0001”となり、推定レベルデータLVLm=“0……0111”に対して1ステップだけ近づく。
その後、アタッククロックATKCKは、ゲイン設定用レベルデータLVLsが“0……0001”、推定レベルデータLVLmが“0……0111”であるときに立ち上がる。このとき、制御セル100(2)において、下位の制御セル100(1)のフリップフロップ103から出力されるゲイン設定用レベルデータLVLsのビットLVLs(1)が“1”であり、かつ、フリップフロップ102から出力される推定レベルデータLVLmのビットLVLm(2)が“1”であることから、フリップフロップ103に“1”が書き込まれる。この結果、ゲイン設定用レベルデータLVLsは“0……0011”となり、推定レベルデータLVLm=“0……0111”に対して1ステップだけ近づく。
その後、アタッククロックATKCKは、ゲイン設定用レベルデータLVLsが“0……0011”、推定レベルデータLVLmが“0……01111”であるときに立ち上がる。このとき、制御セル100(3)において、下位の制御セル100(2)のフリップフロップ103から出力されるゲイン設定用レベルデータLVLsのビットLVLs(2)が“1”であり、かつ、フリップフロップ102から出力される推定レベルデータLVLmのビットLVLm(3)が“1”であることから、フリップフロップ103に“1”が書き込まれる。この結果、ゲイン設定用レベルデータLVLsは“0……0111”となり、推定レベルデータLVLm=“0……01111”に対して1ステップだけ近づく。
以上のように、本実施形態によるAGC回路では、基準レベルVrが入力オーディオ信号LINおよびRINのレベルを越えるまで、ベースクロックBCKに応じて推定レベルデータLVLmのビット“1”の個数を増加させ、基準レベルVrを段階的に上昇させる(第1の制御)とともに、アタッククロックATKCKに応じて、ゲイン設定用レベルデータLVLsを段階的に推定レベルデータLVLmに近づけ、電子ボリューム10Lおよび10Rのゲインを段階的に低下させる(第3の制御)。ここで、アタッククロックATKCKの周波数を高くすれば、電子ボリューム10Lおよび10Rのゲインを、入力オーディオ信号LINおよびRINのレベルに対応した最適なゲインまで低下させるのに要する時間であるアタックタイムを短くすることができ、逆にアタッククロックATKCKの周波数を低くすれば、アタックタイムを長くすることができる。従って、本実施形態によれば、アタッククロックATKCKの周波数を適切な値にすることにより所望のアタックタイムを実現することができる。
図8は、本実施形態によるAGC回路において行われるリリース動作の例を示すタイムチャートである。この例では、入力オーディオ信号LINの振幅は、入力オーディオ信号RINの振幅よりも大きく、この入力オーディオ信号LINは、図示のように立ち下がり、ピークレベルがVr(1)よりも低くなっている。この入力オーディオ信号LINの立ち下がり時、基準レベルVrはVr(4)となっており、推定レベルデータLVLmは“0……0111”、ゲイン設定用レベルデータLVLsも“0……0111”となっている。
図示の例では、入力オーディオ信号LINが基準レベルVr=Vr(4)を下回り、比較結果信号CMPがLレベルになった後、リリースクロックRLSCK_Nがアクティブレベル(Lレベル)となっている。このため、制御部100では、基準レベル発生部30が出力する基準レベルVrを低下させる第2の制御が行われる。さらに詳述すると、リリースクロックRLSCK_Nがアクティブレベル(Lレベル)となったとき、制御セル100(3)では、上位の制御セル100(4)のフリップフロップ102からの推定レベルデータLVLmのビットLVLm(4)が“0”であることからローアクティブANDゲート112の出力信号がHレベルとなる。このため、ベースクロックBCK_Nの立ち上がりにより“0”がフリップフロップ101に書き込まれる。これにより、フリップフロップ102の非同期リセット端子Rがアクティブレベル(Lレベル)とされ、推定レベルデータLVLmのビットLVLm(3)が“0”となる。制御セル100(2)および100(1)では、ベースクロックBCK_Nの立ち上がり時、各々の上位の制御セル(3)および100(2)から与えられるビットLVLm(3)およびLVLm(2)が“1”となっているため、フリップフロップ101への“0”の書き込み、フリップフロップ102のリセットは行われない。このため、推定レベルデータLVLmは、ベースクロックBCK_Nの立ち上がりにより、“0……0111”から“0……0011”に変化し、基準レベル発生部30が出力する基準レベルVrはVr(4)からVr(3)に低下する。
そして、リリースクロックRLSCK_Nの立ち下がり後、最初のアタッククロックATKCKの立ち上がりがあると、制御部100では第4の制御が行われる。さらに詳述すると、制御セル100(3)において、フリップフロップ102の出力信号であるビットLVLm(3)が“0”に変わっていることから、フリップフロップ103に“0”が書き込まれ、ビットLVLs(3)が“0”となる。このため、ゲイン設定用レベルデータLVLsが“0……0111”から“0……0011”に変化し、電子ボリューム10Lおよび10RのゲインはG(4)からG(3)に上昇する。
以後、比較結果信号CMPがLレベルである間あるいは基準レベルVrが最低値Vr(1)に達するまでの間、リリースクロックRLSCK_Nがアクティブレベルとなる度に、上記と同様な推定レベルデータLVLmおよびゲイン設定用レベルデータLVLsの更新が行われ、基準レベルVrが段階的に低下し、電子ボリューム10Lおよび10Rのゲインが段階的に上昇する。その際、リリースクロックRLSCK_Nの周波数を高くすれば、電子ボリューム10Lおよび10Rのゲインを、入力オーディオ信号LINおよびRINのレベルに対応した最適なゲインまで上昇させるのに要する時間であるリリースタイムを短くすることができ、逆にリリースクロックRLSCK_Nの周波数を低くすれば、リリースタイムを長くすることができる。従って、本実施形態によれば、リリースクロックRLSCK_Nの周波数を適切な値にすることにより所望のリリースタイムを実現することができる。
以上説明したアタック動作およびリリース動作により、ゲイン設定用レベルデータLVLsは、少なくとも入力オーディオ信号LINおよびRINの信号波形のピークレベルよりも高いレベルを示すように変化し、電子ボリューム10Lおよび10Rのゲインは、このゲイン設定用レベルデータLVLsに応じた大きさに自動調整される。その際、本実施形態では、電子ボリューム10Lおよび10Rに対する入力オーディオ信号LINおよびRINのレベルが上昇したとしても、電子ボリューム10Lおよび10Rから後段のパワーアンプに対して出力されるオーディオ信号LOUTおよびROUTのレベルが出力振幅上限レベルVrefa以内に制限されるように、ゲイン設定用レベルデータLVLsが示す入力オーディオ信号LINおよびRINのレベルの区分に応じたゲインG(k)(k=1〜N)が定められており、これにより後段のパワーアンプにおけるクリップの発生が回避されるようになっている。以下、本実施形態における入力オーディオ信号LINおよびRINのレベルの区分に応じたゲインG(k)(k=1〜N)の定め方について具体例を挙げて説明する。
図9は、本実施形態において制御部100による電子ボリューム10Lおよび10Rのゲインの制御が行われている状況下での入力オーディオ信号のレベル(より正確には入力オーディオ信号LINまたはRINのうち大きい方のレベル;以下、単に「入力オーディオ信号のレベル」という)とこれに対応した出力オーディオ信号LOUTまたはROUTのレベル(以下、単に「出力オーディオ信号のレベル」という)との関係および入力オーディオ信号のレベルと電子ボリューム10Lおよび10Rに設定されるゲインとの関係の第1の例を示す図である。この図において、横軸は入力オーディオ信号のレベルのdB値、縦軸は出力オーディオ信号のdB値である。また、横軸および縦軸において出力振幅上限レベルVrefaのレベルが0dBとなっている。
この例では、ゲインG(k)(k=1〜N)の大きさがVrefa/Vr(k)となるように、電子ボリューム10Lおよび10Rの抵抗11における各ゲインG(k)に対応した中間タップの位置が決定されている。
入力オーディオ信号のレベルが基準レベルVr(1)以下である場合、電子ボリューム10Lおよび10Rでは、最大のゲインG(1)で入力オーディオ信号の増幅が行われる。従って、この場合には入力オーディオ信号の持つ強弱コントラストを損なうことなく入力オーディオ信号を増幅し、後段のパワーアンプに送ることができる。
そして、入力オーディオ信号のレベルが基準レベルVr(1)に到達するとき、出力オーディオ信号のレベルは{Vrefa/Vr(1)}・Vr(1)=Vrefaとなり、出力振幅上限レベルVrefaに到達する。しかし、入力オーディオ信号のレベルが基準レベルVr(1)を越えると、電子ボリューム10Lおよび10Rに設定されるゲインGはゲインG(1)よりも低いゲインG(2)とされるため、出力オーディオ信号のレベルは出力振幅上限レベルVrefaよりも低下し、後段のパワーアンプにおけるクリップの発生が回避される。
また、入力オーディオ信号のレベルが基準レベルVr(2)に到達するとき、出力オーディオ信号のレベルは{Vrefa/Vr(2)}・Vr(2)=Vrefaとなり、出力振幅上限レベルVrefaに到達する。しかし、入力オーディオ信号のレベルが基準レベルVr(2)を越えると、電子ボリューム10Lおよび10Rに設定されるゲインGはゲインG(2)よりも低いゲインG(3)とされるため、出力オーディオ信号のレベルは出力振幅上限レベルVrefaよりも低下し、後段のパワーアンプにおけるクリップの発生が回避される。
以下同様であり、入力オーディオ信号のレベルが高くなり、出力オーディオ信号のレベルが出力振幅上限レベルVrefaを越えようとすると、電子ボリューム10Lおよび10Rに設定されるゲインGがより低いゲインに切り換えられる。
以上のように、入力オーディオ信号のレベルが基準レベルVr(1)以下であり、出力オーディオ信号のレベルが出力振幅制限レベルVrefa以内に収まるときには、入力オーディオ信号の増幅が最大のゲインG(1)で行われる。また、入力オーディオ信号のレベルが基準レベルVr(1)を越える場合には電子ボリューム10Lおよび10Rから後段のパワーアンプに与えられる出力オーディオ信号のレベルが出力振幅上限レベルVrefa以内に制限され、後段のパワーアンプにおけるクリップの発生が回避される。
図10は、入力オーディオ信号のレベルと出力オーディオ信号のレベルとの関係および入力オーディオ信号のレベルと電子ボリューム10Lおよび10Rに設定されるゲインとの関係の第2の例を示す図である。この例では、入力オーディオ信号のレベルが基準レベルVr(1)より大きい場合、入力オーディオ信号のレベルが基準レベルVr(1)以下の区間にある場合よりも、入力オーディオ信号のレベルに対する出力オーディオ信号のレベルの勾配が小さくなるように電子ボリューム10Lおよび10Rのゲインを制御する。
入力オーディオ信号のレベルと出力オーディオ信号のレベルとの関係を図示のような関係にするため、この例では、Vu(1)<Vu(2)<…<Vu(N−1)=Vrefaとなるように適切なVu(k)(k=1〜N−1)が予め決定され、各ゲインG(k)の大きさがVu(k)/Vr(k)となるように、電子ボリューム10Lおよび10Rの抵抗11における各ゲインG(k)(k=1〜N)に対応した中間タップの位置が決定されている。
この第2の例では、入力オーディオ信号のレベルがVr(1)を越える区間では、ダイナミックレンジ圧縮が行われ、後段のパワーアンプに与えられる出力オーディオ信号のレベルが出力振幅上限レベルVrefa以内に制限され、後段のパワーアンプにおけるクリップの発生が回避される。図示の例では、対数軸上においてレベルVr(1)およびVrefa間を等間隔に刻むように基準レベルVr(k)(k=2〜N−1)の値が定められ、また、対数軸上においてレベルVu(1)およびVrefa間を等間隔に刻むようにレベルVu(k)(k=2〜N−1)の値が定められている。このため、入力オーディオ信号のレベルが基準レベルVr(1)より大きい区間において、入力オーディオ信号のレベルのdB値の増加に対して出力オーディオ信号のレベルのdB値が概略直線的に変化する。しかし、レベルVr(k)(k=2〜N−1)およびVu(k)(k=2〜N−1)の設定を変えることにより、入力オーディオ信号のレベルが基準レベルVr(1)より大きい区間における入力オーディオ信号のレベルのdB値と出力オーディオ信号のレベルのdB値との関係を任意に定めることが可能である。
以上説明したように、本実施形態によれば、ゲインをコントロールするための手段として、VCA等の非線形素子ではなく、電子ボリューム10Lおよび10Rを用いているので、入力オーディオ信号に対してパワーアンプの出力信号を歪ませることなくゲインをコントロールをすることができる。また、入力オーディオ信号のレベルが所定の基準レベル(上記第1の例では基準レベルVr(1)、第2の例では概ね基準レベルVr(N−1))以下であり、出力オーディオ信号のレベルが出力振幅上限レベルVrefa以内である場合には、比較的大きなゲインで電子ボリューム10Lおよび10Rによる入力オーディオ信号の増幅が行われる。そして、入力オーディオ信号のレベルが所定の基準レベルを越える場合には、出力オーディオ信号のレベルが出力振幅上限レベルVrefaを越えようとすると、電子ボリューム10Lおよび10Rに設定されるゲインGがより低いゲインに切り換えられ、出力オーディオ信号のレベルが出力振幅上限レベルVrefa以内に制限される。このように本実施形態によれば、クリップの生じるおそれのあるときはゲインを低下させてパワーアンプにおけるクリップの発生を防止することができる。さらに本実施形態によれば、入力オーディオ信号のレベル区分とゲインとの対応付けを適切に定めることにより、クリップ防止の効果のみならず、他の効果も得ることができる。例えば、大音量域に相当するレベル区分に対応したゲインを低下させることにより、ダイナミックレンジを抑え、不快な大音量を小さくし(例えば図10において入力オーディオ信号のレベルがVr(1)より大きい区間)、あるいは小音量域に相当するレベル区分に対応したゲインを上昇させ、小さな音を聴き易い音量にすることもできる(例えば図10において入力オーディオ信号のレベルがVr(1)以下の区間)。また、本実施形態によれば、出力振幅上限レベルVrefaを外部からAGC回路に与えることができるようになっている。従って、AGC回路の後段に各種のパワーアンプが接続される場合であっても、出力振幅上限レベルVrefaの大きさを後段に接続されるパワーアンプにおいてクリップを発生させない入力レベルの許容範囲の上限に合わせておくことにより、そのパワーアンプにおけるクリップの発生を防止することができる。
<第2実施形態>
図11は、この発明の第2実施形態であるAGC回路の構成を示すブロック図である。本実施形態は、N種類のレベル区分を画するN−1種類の基準レベルVr(k)(k=1〜N−1)と、N種類のレベル区分に対応付けられたN種類のゲインG(k)(k=1〜N)とを外部から与えられる制御情報に従って切り換えうるように上記第1実施形態に改良を加えたものである。
図11において、基準レベル発生部30Aにおける抵抗31Aは、N−1個より多くの中間タップを有しており、スイッチ32は、それらの中からデコーダ40Aからの基準レベル指定データDLVLにより指定された中間タップを選択し、その中間タップの電圧を基準レベルVrとして出力する。また、電子ボリューム10LAおよび10RAにおける抵抗11Aは、N個より多くの中間タップを有しており、スイッチ部13Aは、それらの中からデコーダ50Aからのゲイン指定データDGAINにより指定された中間タップを選択し、オペアンプ12の反転入力端子に接続する。
デコーダ40Aは、制御部100から出力される推定レベルデータLVLmを基準レベル指定データDLVLに対応付ける変換テーブルを複数記憶している。これらの変換テーブルのうち、ある変換テーブルは、各基準レベルVr(k)(k=1〜N−1)を指定する各推定レベルデータLVLmを例えば前掲図9に示される各基準レベルVr(k)に対応した抵抗31Aの中間タップ位置を指定する基準レベル指定データDLVLに対応付ける。また、他の1つの変換テーブルは、各基準レベルVr(k)(k=1〜N−1)を指定する各推定レベルデータLVLmを前掲図10に示される各基準レベルVr(k)に対応した抵抗31Aの中間タップ位置を指定する基準レベル指定データDLVLに対応付ける。同様に、デコーダ50Aは、制御部100から出力されるゲイン設定用レベルデータLVLsをゲイン指定データDGAINに対応付ける変換テーブルを複数種類記憶している。これらの変換テーブルのうち、ある変換テーブルは、各ゲインG(k)(k=1〜N)を指定する各ゲイン設定用レベルデータLVLsを例えば前掲図9に示される各ゲインG(k)(k=1〜N)に対応した抵抗11Aの中間タップ位置を指定するゲイン指定データDGAINに対応付ける。また、他の1つの変換テーブルは、各ゲインG(k)(k=1〜N)を指定する各ゲイン設定用レベルデータLVLsを例えば前掲図10に示される各ゲインG(k)(k=1〜N)に対応した抵抗11Aの中間タップ位置を指定するゲイン指定データDGAINに対応付ける。
テーブル選択部70は、外部から与えられる制御情報に従い、推定レベルデータLVLmから基準レベル指定データDLVLへの変換に用いる変換テーブルおよびゲイン設定用レベルデータLVLsからゲイン指定データDGAINへの変換に用いる変換テーブルを指定するテーブル選択情報SELをデコーダ40Aおよび50Aに出力する。デコーダ40Aおよび50Aは、このテーブル選択情報SELにより指定された変換テーブルを用いて、推定レベルデータLVLmから基準レベル指定データDLVLへの変換またはゲイン設定用レベルデータLVLsからゲイン指定データDGAINへの変換を行う。
本実施形態においても上記第1実施形態と同様な効果が得られる。また、本実施形態によれば、外部からの制御情報により、例えば前掲図9に示すようなAGC動作をAGC回路に行わせ、あるいは前掲図10に示すようなAGC動作をAGC回路に行わせる等、AGC回路に行わせるAGC動作を選択することが可能となる。
以上、この発明の一実施形態を説明したが、この発明には、他にも実施形態が考えられる。例えば上記各実施形態では、入力オーディオ信号LINおよびRINと基準レベルVrとの比較結果を監視しつつ基準レベル発生部30が出力する基準レベルVrを変化させることにより入力オーディオ信号のレベル区分を求め、そのレベル区分に応じたゲインを電子ボリューム10Lおよび10Rに設定した。しかし、このような手段を用いる代わりに、入力オーディオ信号のA/D変換を行い、これにより得られるデジタルサンプル列に基づいて入力オーディオ信号のピークレベルを求め、このピークレベルに基づいて電子ボリューム10Lおよび10Rのゲインの制御を行うようにしてもよい。
10L,10R,10LA,10RA……電子ボリューム、20……レベル判定部、30,30A……基準レベル発生部、40,50,40A,50A……デコーダ、60……クロック発生部、70……テーブル選択部、100……制御部。