(57)【特許請求の範囲】
【請求項１】
入力されるデジタルデータについて外部から指定される指定減衰量に応じて減衰処理を行うデジタルアッテネータであって、現在の減衰量と前記指定減衰量との比較結果に応じて前記デジタルデータに乗算すべきファイン係数を変化させるファイン係数乗算手段と、前記指定減衰量を減衰しうるステップ数で除算した商の値に応じて前記デジタルデータについてビットシフトを行うビットシフト手段と、前記除算による余りの値に応じて前記デジタルデータに乗算すべきラフ係数を変化させるラフ係数乗算手段とを含み、
前記ファイン係数乗算手段及び前記ラフ係数乗算手段において共用する乗算器を設け、これら乗算手段により該乗算器を時分割に用いることを特徴とするデジタルアッテネータ。
【請求項２】
前記ファイン係数乗算手段は、前記比較結果に応じてカウント値が変化するアップダウンカウンタと、このカウント値を前記デジタルデータに乗算する乗算器とを含むことを特徴とする請求項１記載のデジタルアッテネータ。
【請求項３】
前記ビットシフト手段は、前記デジタルデータを入力とするシフトレジスタを含み、前記シフトレジスタを前記商の値に応じてシフト制御するようにしたことを特徴とする請求項１記載のデジタルアッテネータ。
【請求項４】
前記ラフ係数乗算手段は、前記余りの値をアドレスとして前記ラフ係数を出力するメモリと、このメモリから出力されるラフ係数を前記デジタルデータに乗算する乗算器とを含むことを特徴とする請求項１記載のデジタルアッテネータ。
【請求項５】
デジタルデータに係数データを乗算してデジタルデータを減衰するデジタルアッテネータであって、ｎビットの入力された減衰設定値と下位に拡張されたｍビットのデータを（ｎ＋ｍ）ビットの係数設定値として記憶する第１の記憶手段と、現在の（ｎ＋ｍ）ビットの係数設定値を記憶する第２の記憶手段と、前記第１の記憶手段と前記第２の記憶手段とに記憶された係数設定値の大小に基づいて前記係数設定値を更新する更新手段と、前記係数設定値の下位ｍビットと上位の固定されたｋビットとによって第１の係数データを生成する手段と、前記第１の係数データを入力された第１のデジタルデータに乗算して第２のデジタルデータを出力する第１の乗算手段と、前記更新手段により更新された係数設定値の上位ｎビットと前記第２のデジタルデータとから第３のデジタルデータを出力する演算手段とを含み、
前記演算手段は、前記係数設定値の上位ｎビットを所定の値で除算する除算手段と、前記除算の商の値に基づいて前記第２のデジタルデータをビットシフトするビットシフト手段と、前記除算の余りの値に基づいて所定の係数データを前記ビットシフト手段のビットシフト出力に乗算し、第３のデジタルデータを出力する第２の乗算手段とを含み、
前記第１の乗算手段及び前記第２の乗算手段において共用する乗算器を設け、これら乗算手段により該乗算器を時分割に用いることを特徴とするデジタルアッテネータ。
【請求項６】
前記固定されたｋビットのデータは全て「１」であることを特徴とする請求項５記載のデジタルアッテネータ。
【請求項７】
前記第２の乗算手段において乗算される係数データは、前記除算手段の余りの値をアドレスとし係数が記憶された記憶手段とから出力されることを特徴とする請求項５又は６記載のデジタルアッテネータ。
【請求項８】
入力されるデジタルデータについて外部から指定される指定減衰量に応じて減衰処理を行うデジタル減衰処理方法であって、現在の減衰量と前記指定減衰量との比較結果に応じて前記デジタルデータに乗算すべきファイン係数を変化させるファイン係数乗算ステップと、前記指定減衰量を減衰しうるステップ数で除算した商の値に応じて前記デジタルデータについてビットシフトを行うビットシフトステップと、前記除算による余りの値に応じて前記デジタルデータに乗算すべきラフ係数を変化させるラフ係数乗算ステップとを含み、前記ファイン係数乗算ステップ及び前記ラフ係数乗算ステップにおいて、これらの乗算を時分割で行うことを特徴とするデジタル減衰処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデジタルアッテネータに関し、特にＰＣＭ（Pulse Code Modulation）信号等のデジタルデータを減衰させるデジタルアッテネータに関する。
【０００２】
【従来の技術】
一般に、デジタルアッテネータは、図１１に示されているように、入力されたデジタルデータに対して１以下の係数データを乗じることによって、減衰されたデータを出力する機能を有している。このデジタルアッテネータを実現する場合、最も簡単な構成は、予め係数データをメモリに記憶しておき、このメモリから対応するデータを読出す構成である。
【０００３】
例えば、減衰させるべく入力される２４ビットのデジタルデータ（符号ビットを含む）に対して、−０．５ｄＢ刻みで−１２７ｄＢの深さまで減衰をコントロールしようとする場合、データに乗じるための２５ビットの係数データを生成する必要がある。係数データを選択するために外部から設定されるデータが８ビットである場合、図１２に示されているように、係数データの「１１１１１１１１」を−０ｄＢに対応させ、同じく「１１１１１１１０」を−０．５ｄＢに対応させ、以下同様に０．５ｄＢ刻みで減衰量を割当てる。ただし、係数データ「００００００００」に対しては−∞ｄＢの減衰量を割当てる。
【０００４】
この場合、同図に示されているように、減衰量０ｄＢについては、２０ｌｏｇ（３３５５４４３２／２25）＝０ｄＢであり、係数データは「３３５５４４３２」（１０進数）である。また、減衰量−０．５ｄＢについては２０ｌｏｇ（３１６７４４２６／２25）＝−０．５ｄＢであり、係数データは「３１６７４４２６」である。以下同様に、０．５ｄＢ刻みの減衰量に対応する係数データを用意する必要がある。
【０００５】
【発明が解決しようとする課題】
上述した図１１に示されている構成によるアッテネータにおいて、係数データを予め記憶しておくには、２５ビット×２５６個のデータを記憶できるメモリを用意する必要がある。したがって、記憶容量が大きく、チップサイズも大きいメモリを用いなければならず、レイアウト面積が大きくなる。したがって、より小さいレイアウト面積で実現することのできるデジタルアッテネータの実現が望まれる。
【０００６】
また、減衰させる場合、所望の値までいきなり減衰させると、聴感上耳障りになる。すなわち、図１３（ａ）に示されているように、所望の値までいきなり減衰させると、聴感上違和感がある。これを防止するために、グランドレベルと交わる零クロス点で所望の値まで減衰させる手法が採用されるのが通常である。しかしながら、音声信号を符号化したデジタルデータについては零クロス点が長時間生じない場合もあり、所望の値まで速やかに減衰させることができないという欠点もある。したがって、所望の値まで徐々に、なめらかにかつ、速やかに変化させることのできるデジタルアッテネータの実現が望まれる。
【０００７】
本発明は上述した従来技術の欠点を解決するためになされたものであり、その目的はより少ないレイアウト面積で実現できるデジタルアッテネータを提供することである。また、本発明の他の目的は、聴感上耳障りにならずに所望の値まで減衰させることのできるデジタルアッテネータを提供することである。
【０００８】
本発明によるデジタルアッテネータは、入力されるデジタルデータについて外部から指定される指定減衰量に応じて減衰処理を行うデジタルアッテネータであって、現在の減衰量と前記指定減衰量との比較結果に応じて前記デジタルデータに乗算すべきファイン係数を変化させるファイン係数乗算手段と、前記指定減衰量を減衰しうるステップ数で除算した商の値に応じて前記デジタルデータについてビットシフトを行うビットシフト手段と、前記除算による余りの値に応じて前記デジタルデータに乗算すべきラフ係数を変化させるラフ係数乗算手段とを含み、
前記ファイン係数乗算手段及び前記ラフ係数乗算手段において共用する乗算器を設け、これら乗算手段により該乗算器を時分割に用いることを特徴とする。また、前記ファイン係数乗算手段は、前記比較結果に応じてカウント値が変化するアップダウンカウンタと、このカウント値を前記デジタルデータに乗算する乗算器とを含むことを特徴とする。さらに、前記ビットシフト手段は、前記デジタルデータを入力とするシフトレジスタを含み、前記シフトレジスタを前記商の値に応じてシフト制御するようにしたことを特徴とする。そして、前記ラフ係数乗算手段は、前記余りの値をアドレスとして前記ラフ係数を出力するメモリと、このメモリから出力されるラフ係数を前記デジタルデータに乗算する乗算器とを含むことを特徴とする。
【００１０】
また、本発明による別のデジタルアッテネータは、デジタルデータに係数データを乗算してデジタルデータを減衰するデジタルアッテネータであって、ｎビットの入力された減衰設定値と下位に拡張されたｍビットのデータを（ｎ＋ｍ）ビットの係数設定値として記憶する第１の記憶手段と、現在の（ｎ＋ｍ）ビットの係数設定値を記憶する第２の記憶手段と、前記第１の記憶手段と前記第２の記憶手段とに記憶された係数設定値の大小に基づいて前記係数設定値を更新する更新手段と、前記係数設定値の下位ｍビットと上位の固定されたｋビットとによって第１の係数データを生成する手段と、前記第１の係数データを入力された第１のデジタルデータに乗算して第２のデジタルデータを出力する第１の乗算手段と、前記更新手段により更新された係数設定値の上位ｎビットと前記第２のデジタルデータとから第３のデジタルデータを出力する演算手段とを含み、
前記演算手段は、前記係数設定値の上位ｎビットを所定の値で除算する除算手段と、前記除算の商の値に基づいて前記第２のデジタルデータをビットシフトするビットシフト手段と、前記除算の余りの値に基づいて所定の係数データを前記ビットシフト手段のビットシフト出力に乗算し、第３のデジタルデータを出力する第２の乗算手段とを含み、
前記第１の乗算手段及び前記第２の乗算手段において共用する乗算器を設け、これら乗算手段により該乗算器を時分割に用いることを特徴とする。そして、前記固定されたｋビットのデータは全て「１」であることを特徴とする。さらに、前記第２の乗算手段において乗算される係数データは、前記除算手段の余りの値をアドレスとし係数が記憶された記憶手段とから出力されることを特徴とする。
【００１１】
本発明によるデジタル減衰処理方法は、入力されるデジタルデータについて外部から指定される指定減衰量に応じて減衰処理を行うデジタル減衰処理方法であって、現在の減衰量と前記指定減衰量との比較結果に応じて前記デジタルデータに乗算すべきファイン係数を変化させるファイン係数乗算ステップと、前記指定減衰量を減衰しうるステップ数で除算した商の値に応じて前記デジタルデータについてビットシフトを行うビットシフトステップと、前記除算による余りの値に応じて前記デジタルデータに乗算すべきラフ係数を変化させるラフ係数乗算ステップとを含み、前記ファイン係数乗算ステップ及び前記ラフ係数乗算ステップにおいて、これらの乗算を時分割で行うことを特徴とする。
【００１２】
要するに、ファイン係数の乗算、ビットシフト処理、及びラフ係数の乗算によってデジタル値の減衰処理を実現しているので、大容量のメモリを用いる必要がなく、より少ないレイアウト面積でデジタルアッテネータを実現できるのである。
また、本デジタルアッテネータでは、聴感上耳障りにならないように減衰させるために、乗算する係数データは固定の上位ビットと変化自在な下位ビットとから構成され、この下位ビットのみを変化させるように制御しているのである。
【００１３】
【発明の実施の形態】
次に、図面を参照して本発明の実施の形態について説明する。なお、以下の説明において参照する各図では、他の図と同等部分は同一符号によって示されている。
図１は本発明によるデジタルアッテネータの実施の一形態を示すブロック図である。同図に示されているように、本実施形態によるデジタルアッテネータは、現在の減衰量と外部から指定された減衰量との比較結果に応じて生成したファイン係数を、入力されたデジタルデータに乗算するファイン係数乗算部１と、デジタルデータについて減衰ステップ数で除算した商に応じてビットシフト処理を行うビットシフト部２と、上記除算した余りに応じて生成したラフ係数を、デジタルデータに乗算するラフ係数乗算部３とを含んで構成されている。このように、本アッテネータでは、ファイン係数の乗算、ビットシフト処理、及びラフ係数の乗算によってデジタル値の減衰処理を実現しているのである。本例では、ファイン係数乗算部１でのファイン係数の乗算において（０．５／２９）ｄＢステップの減衰を実現している。また、ビットシフト部２でのビットシフト処理において６ｄＢステップの減衰を実現している。さらに、ラフ係数乗算部３でのラフ係数の乗算において０．５ｄＢステップの減衰を実現している。
【００１４】
まず、ファイン係数の乗算は、図１２に示されているように、０．５ｄＢステップで２５５段階に減衰量を設定できるものとする。すなわち、０ｄＢに「１１１１１１１１」を、−０．５ｄＢに「１１１１１１１０」をそれぞれ対応させる。同様に、−１２７ｄＢに「０００００００１」を、−∞ｄＢに「００００００００」を対応させる。
【００１５】
ファイン乗算に２９進カウンタを用いる場合、０．５ｄＢ遷移は、０．５ｄＢ／２９ステップでソフト遷移させることができる。この２９進カウンタは、２９＜２5であるから、５ビットのカウンタで実現することができる。本実施形態においては、この５ビットを下位ビットとし、更に上位に４ビット追加し、合計９ビットとする。ただし、上位４ビットは「１１１１」に固定するものとする。このため、０．５ｄＢについて、０ｄＢに対応する「１１１１１１１１１」から−０．４８９ｄＢに対応する「１１１１０００１１」まで、約０．０１７ｄＢ刻みで変化させることができる。
【００１６】
この２９進カウンタの出力値が図２に示されている。同図に示されているように、カウンタのカウント値「０」〜「２８」に対してデジタルデータ「１１１１１１１１１」〜「１１１１０００１１」（十進数の「５１１」〜「４８３」）が対応する。この２９進カウンタはアップダウンカウンタとして構成する。このため、カウントアップによって出力値が「１１１１１１１１１」になった場合、次のカウント値は「１１１１０００１１」である。また、カウントダウンによって出力値が「１１１１０００１１」になった場合、次のカウント値は「１１１１１１１１１」である。この２９進カウンタを用いることによって得られる減衰量は、−０．００００ｄＢ〜−０．４８９５ｄＢまで、約０．０１７ｄＢステップで得られる。この場合、同図に示されているように、得られる減衰量に対応するデジタルデータ「１１１１１１１１１」〜「１１１１０００１１」は、上位４ビットが「１１１１」に固定されている。このように、上位４ビットを「１」に固定した状態で、下位５ビットを変化させているので、後述するように、所望の値までソフトに遷移させることができるのである。
【００１７】
ビットシフト部２が行うビットシフト処理においては、周知のシフトレジスタを用いてビットシフトを行う。このビットシフト処理においては、デジタル値を１桁シフトさせると１０進数で表した場合の値が１／２又は２倍になる。よって、２０ｌｏｇ（１／２）＝−６ｄＢ、２０ｌｏｇ２＝６ｄＢであり、振幅が１／２又は２倍になる６ｄＢ刻みで減衰値を変化させることができる。本例では、８ビットの減衰量を１２（＝６ｄＢ／０．５ｄＢ）で除算した商の値をシフト量としてビットシフトパルスを発生させる。
【００１８】
また、ラフ係数乗算処理では、上記除算の余りの値をＲＯＭのアドレスとする。１２で除算する場合の余りは「０」〜「１１」のいずれかの値になるので、余り「０」に０ｄＢ、余り「１」に−０．５ｄＢを対応させる。同様に、０．５ｄＢステップ刻みで対応させ、余り「１１」には−５．５ｄＢを対応させることになる。このため、余りの値をアドレス値とし、余りの値に応じて対応するｄＢ値が読出されるように、各データをＲＯＭに記憶させておく。
【００１９】
このＲＯＭに記憶させておくデータが図３に示されている。同図に示されているように、アドレスである余りの値「０」〜「１１」に、９ビットの値「１１１１１１１１１」〜「１００００１１１１」が対応し、これらの値をＲＯＭに記憶させておくことになる。したがって、メモリの容量は、従来よりもはるかに小さくなる。
【００２０】
以上の３つの処理についてのより詳細なフローチャートが図４に示されている。同図に示されているように、ファイン係数乗算部１には、２９進のアップダウンカウンタが用いられる。このカウンタは、０．５ｄＢステップの設定値間をソフトに遷移させるために用いられる。係数９ビットのうちの下位５ビットを１ずつ変化させると、０．５ｄＢの範囲を０．０１７ｄＢ刻みで遷移させることができる。すなわち、「１１１１１１１１１」から「１１１１１１１１０」にダウンカウントさせた場合、その間には−０．０１７ｄＢの差がある。同様に、「１１１１０００１１」から「１１１１００１００」にアップカウントさせた場合、その間には０．０１７ｄＢの差がある。この場合、上位４ビットは「１１１１」に固定しておく。なお、アップカウント動作中にカウント値が「１１１１１１１１１」になった場合、あるいはダウンカウント動作中にカウント値が「１１１１００００１」になった場合は、後述するようにラフ係数が１段階変化するものとする。
【００２１】
カウンタをアップカウント動作させるかダウンカウント動作させるかについては、減衰量についての新たな設定値と現在の減衰量との比較結果によって決定する。すなわち、新しい設定値（Ａ）８ビットを上位ビットとし下位ビット側に５ビットに「０００００」を付加して拡張した合計１３ビットと、現在の減衰量（Ｂ）８ビットを上位ビットとし下位ビット側にファイン係数５ビットを付加した合計１３ビット（Ｃ）との大小比較を行う。そして、新しい設定値の方が現在の減衰量よりも大であればアップカウント動作を行う。逆に、新しい設定値が現在の減衰量よりも小であればダウンカウント動作を行う。両者が等しい場合は、アップカウント及びダウンカウントのいずれも行わず、現在のカウント値を維持する。
【００２２】
以上のようにアップカウントやダウンカウントを行うことにより、現在の減衰量（Ｂ）８ビットを上位ビットとし下位ビット側にファイン係数５ビットを付加した合計１３ビット（Ｃ）のＬＳＢ（Least Significant Bit）について＋１、＋０又は−１を行う。この更新された１３ビット（Ｃ）については、下位５ビットを次の時刻の計算に用い、上位８ビットはビットシフト処理及びラフ乗算処理における除算に用いる。
【００２３】
すなわち、更新された１３ビット（Ｃ）のうちの上位８ビットに対応する十進数を「２５５」から減算し、この減算結果を１２で除算する。そして、この除算における商をビットシフト処理に用い、余りをラフ係数の乗算に用いるのである。
ビットシフト部２は、上記除算の商をビットシフト数とし、その数だけデータを下位ビット側あるいは上位ビット側にシフトする。また、ラフ係数乗算部３は、上記除算の余りに応じて６ｄＢの範囲を０．５ｄＢ刻みで設定する。
【００２４】
例えば、上記の更新された１３ビットの上位８ビットが「１１１１０００１」（十進数で「２４１」）の場合、（２５５−２４１）／１２の乗算を行い、商＝１、余り＝２となる。これにより、ビットシフト部２及びラフ係数乗算部３は、同図中の☆印で示されている設定になる。したがって、ビットシフト部２で−６．０ｄＢ、ラフ係数乗算部３で−１．０ｄＢの減衰処理が行われ、合計の減衰量は−７．０ｄＢとなる。
【００２５】
以上のように、図４に示されている減衰処理を行うので、現在の減衰量と前記指定減衰量との比較結果に応じて前記デジタルデータに乗算すべきファイン係数を変化させるファイン係数乗算ステップと、指定減衰量を減衰しうるステップ数で除算した商の値に応じてデジタルデータについてビットシフトを行うビットシフトステップと、上記除算による余りの値に応じてデジタルデータに乗算すべきラフ係数を変化させるラフ係数乗算ステップとを含むデジタル減衰処理方法が、図１のデジタルアッテネータによって実現されていることになる。
【００２６】
図１に示されているデジタルアッテネータの詳細な構成例が図５及び図６に示されている。まず図５を参照すると、デジタルアッテネータは、外部から設定された減衰値をデジタルデータで出力するＣＰＵインタフェース１０１と、ＣＰＵインタフェース１０１から出力される左チャンネル及び右チャンネルの各８ビットのデジタルデータをそれぞれ保持するレジスタ１０２Ｌ及び１０２Ｒと、このレジスタ１０２Ｌ及び１０２Ｒにそれぞれ保持されたデジタルデータを選択するセレクタ１０３と、このセレクタ１０３によって選択されたデジタルデータを加算入力の一方とする１３ビット加算器１０４とを含んで構成されている。セレクタ１０３は、セレクト信号ＳＥＬＬがハイレベルのときに左チャンネルレジスタ１０２Ｌの出力を選択し、ローレベルのときに右チャンネルレジスタ１０２Ｒの出力を選択するものとする。
【００２７】
また、同図を参照すると、デジタルアッテネータは、１３ビットカウンタ１０５と、このカウンタ１０５の出力の上位８ビットを入力とするセレクタ１０６と、このセレクタ１０６の出力を入力の一方とする８ビット加算器１０７と、この加算器１０７の出力を保持するレジスタ１０８とを含んで構成されている。１３ビットカウンタ１０５は、クロックＣＬＫを６４分周したクロックＣＬＫ２の遷移タイミングでカウント値が変化するものとする。セレクタ１０６は、セレクト信号ＳＥＬＡＴＴがハイレベルのときにカウンタ１０５の出力を選択し、ローレベルのときにレジスタ１０８の出力を選択するものとする。レジスタ１０８は、リセット信号ＲＳＴが入力されると、その保持内容がリセットされるものとする。
【００２８】
さらに、同図を参照すると、デジタルアッテネータは、上位４ビットが「１１１１」に固定され１３ビットカウンタ１０５の下位５ビットを保持するレジスタ１０９と、レジスタ１０８の下位４ビットをアドレスとして先述したラフ係数が読出されるＲＯＭ１１１と、レジスタ１０９の保持データ及びＲＯＭ１１１から読出されるデータについてパラレルシリアル変換を行うパラシリ変換器１１０とを含んで構成されている。
【００２９】
１３ビット加算器１０４は、上位８ビットにセレクタ１０３の出力が入力され、残りの下位５ビットはオール「１」に固定されているものとする。この１３ビット加算器１０４のもう一方の加算入力には１３ビットカウンタ１０５の出力が入力される。この加算器１０４は２つの入力の差を出力し、両者の差に応じてキャリ信号ＣＡＲＲＹを出力し、１３ビットカウンタ１０５をアップカウント動作又はダウンカウント動作させる。すなわち、この加算器１０４は現在の減衰量と所望の減衰量という、２つの入力値を比較する比較器として動作する。そして、両者の差が零より大であれば１３ビットカウンタ１０５をアップカウント動作させる。一方、両者の差が零より小であれば１３ビットカウンタ１０５をダウンカウント動作させる。そして、両者の差がオール零すなわち両者が一致している場合は、ストップ信号ＳＴＯＰを生成し、１３ビットカウンタ１０５のカウント動作を停止させる。
【００３０】
１３ビットカウンタ１０５の上位８ビットは、セレクタ１０６を介して８ビット加算器１０７に入力される。８ビット加算器１０７では、「１２」を減算し、その減算結果をレジスタ１０８及びセレクタ１０６を介して再び入力側に戻す処理を順次繰返すことによって除算器の機能を実現しているのである。この場合、「１２」を減算できる限りパルスが出力され、先述したビットシフト処理のためのシフトクロックとなる。つまり、８ビット加算器１０７による除算処理結果の商がビットシフトクロックとして先述したビットシフト部２に入力されることになる。「１２」を減算できなくなった場合には、アンドゲート１１２の出力によってレジスタ１０８に与えるクロックを抑止する。この抑止により、レジスタ１０８には上記除算処理結果の余りが保持されることになる。
【００３１】
８ビット加算器１０７は、「１２」を減算した結果を入力側に戻す処理を繰返している期間においてはもう一方の入力に「−１２」が入力され、それ以外の期間においては「０」が入力されているものとする。
アンドゲート１１２の入力側には、クロックＣＬＫ及びビットシフト動作期間を定めるシフト信号ＳＦＴを入力とするアンドゲート１１３が設けられている。
アンドゲート１１２を介してレジスタ１０８にクロックが与えられている限り、アンドゲート１１４からビットシフト用クロックＳＦＴＣＫが出力される。このため、アンドゲート１１３にクロックＣＬＫ及びシフト信号ＳＦＴが共に入力されている状態で、かつ、上記の除算処理が行われている場合に限り、ビットシフト用クロックＳＦＴＣＫが出力されることになる。
【００３２】
また、この除算処理結果の余り（４ビット）は、アドレスとしてＲＯＭ１１１に入力される。このＲＯＭ１１１からは先述したラフ係数が読出される。この合計９ビットのデータはパラシリ変換器１１０に入力され、シリアルデータに変換された後、先述したラフ係数として出力される。なお、所定時間経過後、レジスタ１０８に保持データはリセット信号RSTによってリセットされる。
【００３３】
１３ビットカウンタ１０５の下位５ビットは、レジスタ１０９に入力される。
このレジスタ１０９の上位４ビットは、「１１１１」に固定されている。この合計９ビットのデータはパラシリ変換器１１０に入力され、シリアルデータに変換された後、先述したファイン係数として出力される。
一方、図６には、ファイン係数及びラフ係数の乗算処理並びにビットシフト処理を行うためのより具体的な回路構成が示されている。同図には、ビットシフト処理を行うためのシフトレジスタ１１３と、加算器１１４と、この加算結果を保持するワーキングレジスタ１１５と、ファイン係数やラフ係数を乗算するためのアンドゲート回路１１６と、このアンドゲート回路１１６の入力の一方を選択するセレクタ１１７とが示されている。
【００３４】
図７は、図６をデータのビットごとに書き表したものである。このような構成の回路を用いれば、デジタルデータとシリアル入力される係数９ビットを係数のＬＳＢから順に乗算することができる。
減衰されるべきデジタルデータ（Ｌチャンネル又はＲチャンネルのデータ）が入力されると、このデータはセレクタ１１７を介してアンドゲート回路１１６の入力の一方となり、その入力の他方に入力される９ビットのファイン係数のＬＳＢ１ビットとまず乗算される。このファイン係数のＬＳＢ１ビットとデータの乗算結果は、加算器１１４ａの入力の一方となり、その入力の他方には、最初は「０」が入力される。よって、乗算結果は、そのまま通過しシフトレジスタ１１３ａに入力され保持される。このシフトレジスタ１１３ａに予めシフトクロックを入力して、保持内容を１ビット下位側へシフトして出力する。このシフトされたデータは、加算器１１４ａの入力の一方となり、その入力の他方に入力されるデータと９ビットのファイン係数の下位から２ビット目との乗算結果と加算される。そして、再びシフトレジスタ１１３ａに入力され保持され、保持内容を１ビット下位側へシフトして出力し、同様のくり返し加算を９回行った結果を、デジタルデータとファイン係数との最終乗算結果として、シフトレジスタ１１３ａへ保持しておく。
【００３５】
次に、シフトレジスタ１１３ａは、前述した除算の商の数だけ、ビットシフト処理を行う。ビットシフト用クロックが入力されるごとに保持内容を１ビット下位側又は上位側にシフトして出力する。このシフトされたデータは、加算器１１４ａを介して、再びシフトレジスタ１１３ａに保持される。ビットシフト処理を行っている期間においては、アンドゲート１１６ａの出力はオール「０」にしているので、ビットシフト用クロックのパルス数と同じだけ、データのビットシフトのみが行われる。ビットシフト処理後のデータは、ワーキングレジスタ１１５ａに入力され、保持される。
【００３６】
このビットシフトされてワーキングレジスタ１１５に保持されたデータは、セレクタ１１７を介して再びアンドゲート回路１１６の入力の一方となる。このとき、アンドゲート回路１１６の入力の他方にはラフ係数が入力され、両者がファイン係数の場合と同様にくり返し乗算される。このデータとラフ係数の最終乗算結果は、再びワーキングレジスタ１１５に入力されて保持される。この保持されたデータは減衰されたデータであり、減衰出力として導出される。
【００３７】
以上の動作において、アップダウンカウンタである図５中のカウンタ１０５、乗算器である図６中のアンドゲート回路１１６等によって図１中のファイン係数乗算部１が実現されていることになる。また、シフトクロックに応じてビットシフト処理を行う図６中のシフトレジスタによって、図１中のビットシフト部２が実現されていることになる。さらに、余りの値をアドレスとしてラフ係数を出力するメモリである図５中のＲＯＭ１１１、この出力されるラフ係数を乗算する乗算器である図６中のアンドゲート回路１１６等によって図１中のラフ係数乗算部３が実現されていることになる。
【００３８】
なお、以上の動作において、アンドゲート回路１１６やワーキングレジスタ１１５は、ファイン係数乗算処理及びラフ係数乗算処理の２つの処理において共用される。つまり、これらの両乗算処理は同時に行われることがないので、図１に示されているように、物理的に別々の回路を用意するよりも、単一の回路を時分割で使用するのである。これにより、回路のレイアウトの小規模化、低コスト化を実現できる。
【００３９】
上述した図５及び図６の各部の動作について、更に図８のタイムチャートを参照して説明する。同図には、図５及び図６中の各部の信号が示されている。ただし、同図には左チャンネル信号についての動作のみが示されており、右チャンネルも同様の動作であるものとする。
同図を参照すると、本アッテネータは、ファイン係数作成期間、シフトクロック作成期間、及びラフ係数作成期間の３つの動作期間を有している。ファイン係数作成期間はクロック１６個分の期間、シフトクロック作成期間はクロック３２個分の期間、ラフ係数作成期間はクロック１６個分の期間であるものとする。
【００４０】
まず、ファイン係数作成期間においては、上述したレジスタ１０９に保持されたデータがパラシリ変換器１１０によってシリアルデータに変換され、この変換後のデータがファイン係数として出力される。
次に、シフトクロック作成期間においては、シフト信号ＳＦＴがハイレベルの期間において、上述した除算の結果得られる商の値に応じて最大２１個のパルス数のシフトクロックが生成される。この生成されたシフトクロックが先述したシフトレジスタ１１３に入力され、下位ビット側又は上位ビット側へのビットシフト処理が行われる。
【００４１】
そして、ラフ係数作成期間においては、上述した除算の結果得られる余りの値に応じて最大１１個のパルス数のデータが生成され、このデータをアドレス値としてＲＯＭ１１１からラフ係数が出力される。このラフ係数はパラシリ変換器１１０によってシリアルデータに変換され、この変換後のデータがラフ係数として出力される。
【００４２】
以上の動作の間、１３ビットカウンタ１０５の現在値と目標とする減衰値との比較処理が先述した１３ビット加算器１０４において行われる。そして、この比較結果に応じて、１３ビットカウンタ１０５をカウントアップ又はカウントダウンさせるか、カウント動作を停止させるための信号が生成される。
ところで、上述したように、全部で９ビットのうちの上位４ビットをオール「１」に固定し、下位５ビットを２９進カウンタで変化させている。このため、０．０１７ｄＢ刻みで、図９に示されているように少しずつ減衰させることができる。同図を参照するとわかるように、減衰量が僅かである範囲Ｌにおいては、ほとんどリニアに近い僅かな変化をし、減衰量が段々大きくなる範囲Ｖにおいては徐々に大きく変化することになる。つまり、上位ビットを固定し、それ以外の下位ビットを増減することによって、図９中のＬの部分のみを使ってソフトに遷移させていることになる。上述した図１３（ａ）に示されているように所望の値までいきなり減衰させるのではなく、同図（ｂ）に示されているように段階的に徐々に、かつ、速やかに減衰させることができるのである。
【００４３】
この場合、固定の上位ビットは、図５に示されている加算器１０４のように、入力側に固定値を付加して拡張したものである。そして、変化自在な下位ビットは、同図に示されているアップダウンカウンタであるカウンタ１０５によって発生させているのである。
図１０には、デジタルデータとして、ＤＣ４．８Ｖを入力した場合の、減衰出力の電圧値の変化が示されている。同図には、−∞ｄＢまで減衰させる場合、すなわちフェードアウトする場合の時間経過に対する減衰出力の電圧値の変化が示されている。同図中の実線Ｄが減衰出力であり、外部から−∞ｄＢへ減衰させるべく減衰値を設定してから、徐々に４．８Ｖから約１．０Ｖまでなめらかに減衰してゆく様子がわかる。
【００４４】
同図中の実線Ｆは、ファイン係数乗算処理の様子を縦軸の目盛とは無関係に相対的に表したものである。同図中の実線Ｒは、ラフ係数乗算処理の様子を縦軸の目盛とは無関係に相対的に表したものである。同図中の実線Ｓは、ビットシフト処理の様子を縦軸の目盛とは無関係に相対的に表したものである。
まず、ファイン係数乗算処理においては、上述したように０．５ｄＢの範囲を２９ステップで変化させている。このため、この処理単独では、同図中の実線Ｆで示されているように、ラフ係数乗算処理の１ステップの間を、くり返し電圧値が変化することになる。
【００４５】
また、ラフ係数乗算処理においては、上述したように０．５ｄＢステップで１２段階に変化させている。このため、この処理単独では、同図中の実線Ｒで示されているように、「１１１１１１１１１」なら「１００００１１１１」まで、１２段の階段状に電圧値が変化することになる。
さらに、ビットシフト処理においては、上述したように１ビットのシフトで６ｄＢ変化させることができる。このため、この処理単独では、同図中の実線Ｓで示されているように、ラフ係数乗算処理の１２ステップ、すなわち６ｄＢごとにビットシフト数が変化することになる。
【００４６】
これら３つの処理、すなわちファイン係数乗算処理、ビットシフト処理、ラフ係数乗算処理全てによって実現できる減衰特性は、同図中の実線Ｄで示されているような曲線になる。
なお、上述した図１においては、ファイン係数乗算処理、ビットシフト処理、ラフ係数乗算処理の順序で処理が行われている。しかしながら、処理の順序が、この順序に限定されることはなく、順不同で以上の３つの処理が行われれば良い。
【００４７】
ところで、本デジタルアッテネータでは、聴感上耳障りにならないように減衰させるために、乗算する係数データは固定の上位ビットと変化自在な下位ビットとから構成され、この下位ビットのみを変化させるように制御している。そして、この下位ビットは、アップダウンカウンタである図５中のカウンタ１０５によって発生させているのである。
【００４８】
また、本デジタルアッテネータでは、図５中のレジスタ１０２Ｌ（１０２Ｒ）」及び加算器１０４の入力部分によって、ｎビットの入力された減衰設定値と下位に拡張されたｍビットのデータを（ｎ＋ｍ）ビットの係数設定値として記憶する第１の記憶手段を実現し、同図中のカウンタ１０５によって現在の（ｎ＋ｍ）ビットの係数設定値を記憶する第２の記憶手段を実現している。さらに、同図中の加算器１０４の出力に応じてカウンタ１０５をアップカウント又はダウンカウント動作させることによって、係数設定値を更新する更新手段を実現している。
この係数設定値の下位ｍビットは、固定された上位ｋビットを有する図５中のレジスタ１０９に保持されることによってファイン係数を生成することになる。
【００４９】
上記係数設定値の上位ｎビットは、減衰しうる所定のステップ数で除算され、この除算の商の値に基づいて図６中のシフトレジスタによるビットシフトが行われ、この除算の余りの値に基づいて図５中のＲＯＭからラフ係数を生成してデジタルデータとの乗算が行われるのである。
なお、上記のｋ、ｍ、ｎはいずれも任意の自然数であるものとし、上記の各数値に限定されるものではない。
【００５０】
【発明の効果】
以上説明したように本発明は、ファイン係数の乗算、ビットシフト処理、及びラフ係数の乗算によってデジタル値の減衰処理を行うことにより、大容量のメモリが不要で、より少ないレイアウト面積でデジタルアッテネータを実現できるという効果がある。また、上位ビットを固定した状態で、下位ビットを変化させることにより、所望の値までソフトに遷移させることができるという効果がある。
【図面の簡単な説明】
【図１】本発明によるデジタルアッテネータの実施の一形態を示すブロック図である。
【図２】２９進カウンタの出力値に対応する減衰量を示す図である。
【図３】除算結果の余りに対応する減衰量を示す図である。
【図４】図１のデジタルアッテネータによる処理についてのより詳細なフローチャートである。
【図５】本発明によるデジタルアッテネータを実現するためのより具体的な回路構成の一部を示すブロック図である。
【図６】本発明によるデジタルアッテネータを実現するためのより具体的な回路構成の一部を示すブロック図である。
【図７】図６中のアンドゲート回路の内部構成を示す図である。
【図８】図５及び図６の各部の動作を示すタイムチャートである。
【図９】本発明のデジタルアッテネータによる減衰動作を示す図である。
【図１０】本発明によるデジタルアッテネータによって−∞ｄＢまで減衰させる場合の各部の動作を示す図である。
【図１１】従来のデジタルアッテネータの回路構成を示すブロック図である。
【図１２】外部からの設定値と減衰量との対応関係を示す図である。
【図１３】（ａ）は従来のデジタルアッテネータによる減衰開始時の動作を示す図、（ｂ）は本発明のデジタルアッテネータによる減衰開始時の動作を示す図である。
【符号の説明】
１  ファイン係数乗算部
２  ビットシフト部
３  ラフ係数乗算部
１０１  ＣＰＵインタフェース
１０２Ｌ、１０２Ｒ、１０８、１０９  レジスタ
１０３、１０６、１１７  セレクタ
１０４  １３ビット加算器
１０５  １３ビットカウンタ
１０７  ８ビット加算器
１１０  パラシリ変換器
１１１  ＲＯＭ
１１３  シフトレジスタ
１１４  加算器
１１５  ワーキングレジスタ
１１６  アンドゲート回路
【図１】
0004545272.tif 000002
【図２】
0004545272.tif 000003
【図３】
0004545272.tif 000004
【図４】
0004545272.tif 000005
【図５】
0004545272.tif 000006
【図６】
0004545272.tif 000007
【図７】
0004545272.tif 000008
【図８】
0004545272.tif 000009
【図９】
0004545272.tif 000010
【図１０】
0004545272.tif 000011
【図１１】
0004545272.tif 000012
【図１２】
0004545272.tif 000013
【図１３】
0004545272.tif 000014