JP4545272B2 - Digital attenuator and digital attenuation processing method - Google Patents
Digital attenuator and digital attenuation processing method Download PDFInfo
- Publication number
- JP4545272B2 JP4545272B2 JP2000099181A JP2000099181A JP4545272B2 JP 4545272 B2 JP4545272 B2 JP 4545272B2 JP 2000099181 A JP2000099181 A JP 2000099181A JP 2000099181 A JP2000099181 A JP 2000099181A JP 4545272 B2 JP4545272 B2 JP 4545272B2
- Authority
- JP
- Japan
- Prior art keywords
- coefficient
- bit
- digital
- data
- value
- 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
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明はデジタルアッテネータに関し、特にPCM(Pulse Code Modulation)信号等のデジタルデータを減衰させるデジタルアッテネータに関する。
【0002】
【従来の技術】
一般に、デジタルアッテネータは、図11に示されているように、入力されたデジタルデータに対して1以下の係数データを乗じることによって、減衰されたデータを出力する機能を有している。このデジタルアッテネータを実現する場合、最も簡単な構成は、予め係数データをメモリに記憶しておき、このメモリから対応するデータを読出す構成である。
【0003】
例えば、減衰させるべく入力される24ビットのデジタルデータ(符号ビットを含む)に対して、−0.5dB刻みで−127dBの深さまで減衰をコントロールしようとする場合、データに乗じるための25ビットの係数データを生成する必要がある。係数データを選択するために外部から設定されるデータが8ビットである場合、図12に示されているように、係数データの「11111111」を−0dBに対応させ、同じく「11111110」を−0.5dBに対応させ、以下同様に0.5dB刻みで減衰量を割当てる。ただし、係数データ「00000000」に対しては−∞dBの減衰量を割当てる。
【0004】
この場合、同図に示されているように、減衰量0dBについては、20log(33554432/225)=0dBであり、係数データは「33554432」(10進数)である。また、減衰量−0.5dBについては20log(31674426/225)=−0.5dBであり、係数データは「31674426」である。以下同様に、0.5dB刻みの減衰量に対応する係数データを用意する必要がある。
【0005】
【発明が解決しようとする課題】
上述した図11に示されている構成によるアッテネータにおいて、係数データを予め記憶しておくには、25ビット×256個のデータを記憶できるメモリを用意する必要がある。したがって、記憶容量が大きく、チップサイズも大きいメモリを用いなければならず、レイアウト面積が大きくなる。したがって、より小さいレイアウト面積で実現することのできるデジタルアッテネータの実現が望まれる。
【0006】
また、減衰させる場合、所望の値までいきなり減衰させると、聴感上耳障りになる。すなわち、図13(a)に示されているように、所望の値までいきなり減衰させると、聴感上違和感がある。これを防止するために、グランドレベルと交わる零クロス点で所望の値まで減衰させる手法が採用されるのが通常である。しかしながら、音声信号を符号化したデジタルデータについては零クロス点が長時間生じない場合もあり、所望の値まで速やかに減衰させることができないという欠点もある。したがって、所望の値まで徐々に、なめらかにかつ、速やかに変化させることのできるデジタルアッテネータの実現が望まれる。
【0007】
本発明は上述した従来技術の欠点を解決するためになされたものであり、その目的はより少ないレイアウト面積で実現できるデジタルアッテネータを提供することである。また、本発明の他の目的は、聴感上耳障りにならずに所望の値まで減衰させることのできるデジタルアッテネータを提供することである。
【0008】
本発明によるデジタルアッテネータは、入力されるデジタルデータについて外部から指定される指定減衰量に応じて減衰処理を行うデジタルアッテネータであって、現在の減衰量と前記指定減衰量との比較結果に応じて前記デジタルデータに乗算すべきファイン係数を変化させるファイン係数乗算手段と、前記指定減衰量を減衰しうるステップ数で除算した商の値に応じて前記デジタルデータについてビットシフトを行うビットシフト手段と、前記除算による余りの値に応じて前記デジタルデータに乗算すべきラフ係数を変化させるラフ係数乗算手段とを含み、
前記ファイン係数乗算手段及び前記ラフ係数乗算手段において共用する乗算器を設け、これら乗算手段により該乗算器を時分割に用いることを特徴とする。また、前記ファイン係数乗算手段は、前記比較結果に応じてカウント値が変化するアップダウンカウンタと、このカウント値を前記デジタルデータに乗算する乗算器とを含むことを特徴とする。さらに、前記ビットシフト手段は、前記デジタルデータを入力とするシフトレジスタを含み、前記シフトレジスタを前記商の値に応じてシフト制御するようにしたことを特徴とする。そして、前記ラフ係数乗算手段は、前記余りの値をアドレスとして前記ラフ係数を出力するメモリと、このメモリから出力されるラフ係数を前記デジタルデータに乗算する乗算器とを含むことを特徴とする。
【0010】
また、本発明による別のデジタルアッテネータは、デジタルデータに係数データを乗算してデジタルデータを減衰するデジタルアッテネータであって、nビットの入力された減衰設定値と下位に拡張されたmビットのデータを(n+m)ビットの係数設定値として記憶する第1の記憶手段と、現在の(n+m)ビットの係数設定値を記憶する第2の記憶手段と、前記第1の記憶手段と前記第2の記憶手段とに記憶された係数設定値の大小に基づいて前記係数設定値を更新する更新手段と、前記係数設定値の下位mビットと上位の固定されたkビットとによって第1の係数データを生成する手段と、前記第1の係数データを入力された第1のデジタルデータに乗算して第2のデジタルデータを出力する第1の乗算手段と、前記更新手段により更新された係数設定値の上位nビットと前記第2のデジタルデータとから第3のデジタルデータを出力する演算手段とを含み、
前記演算手段は、前記係数設定値の上位nビットを所定の値で除算する除算手段と、前記除算の商の値に基づいて前記第2のデジタルデータをビットシフトするビットシフト手段と、前記除算の余りの値に基づいて所定の係数データを前記ビットシフト手段のビットシフト出力に乗算し、第3のデジタルデータを出力する第2の乗算手段とを含み、
前記第1の乗算手段及び前記第2の乗算手段において共用する乗算器を設け、これら乗算手段により該乗算器を時分割に用いることを特徴とする。そして、前記固定されたkビットのデータは全て「1」であることを特徴とする。さらに、前記第2の乗算手段において乗算される係数データは、前記除算手段の余りの値をアドレスとし係数が記憶された記憶手段とから出力されることを特徴とする。
【0011】
本発明によるデジタル減衰処理方法は、入力されるデジタルデータについて外部から指定される指定減衰量に応じて減衰処理を行うデジタル減衰処理方法であって、現在の減衰量と前記指定減衰量との比較結果に応じて前記デジタルデータに乗算すべきファイン係数を変化させるファイン係数乗算ステップと、前記指定減衰量を減衰しうるステップ数で除算した商の値に応じて前記デジタルデータについてビットシフトを行うビットシフトステップと、前記除算による余りの値に応じて前記デジタルデータに乗算すべきラフ係数を変化させるラフ係数乗算ステップとを含み、前記ファイン係数乗算ステップ及び前記ラフ係数乗算ステップにおいて、これらの乗算を時分割で行うことを特徴とする。
【0012】
要するに、ファイン係数の乗算、ビットシフト処理、及びラフ係数の乗算によってデジタル値の減衰処理を実現しているので、大容量のメモリを用いる必要がなく、より少ないレイアウト面積でデジタルアッテネータを実現できるのである。
また、本デジタルアッテネータでは、聴感上耳障りにならないように減衰させるために、乗算する係数データは固定の上位ビットと変化自在な下位ビットとから構成され、この下位ビットのみを変化させるように制御しているのである。
【0013】
【発明の実施の形態】
次に、図面を参照して本発明の実施の形態について説明する。なお、以下の説明において参照する各図では、他の図と同等部分は同一符号によって示されている。
図1は本発明によるデジタルアッテネータの実施の一形態を示すブロック図である。同図に示されているように、本実施形態によるデジタルアッテネータは、現在の減衰量と外部から指定された減衰量との比較結果に応じて生成したファイン係数を、入力されたデジタルデータに乗算するファイン係数乗算部1と、デジタルデータについて減衰ステップ数で除算した商に応じてビットシフト処理を行うビットシフト部2と、上記除算した余りに応じて生成したラフ係数を、デジタルデータに乗算するラフ係数乗算部3とを含んで構成されている。このように、本アッテネータでは、ファイン係数の乗算、ビットシフト処理、及びラフ係数の乗算によってデジタル値の減衰処理を実現しているのである。本例では、ファイン係数乗算部1でのファイン係数の乗算において(0.5/29)dBステップの減衰を実現している。また、ビットシフト部2でのビットシフト処理において6dBステップの減衰を実現している。さらに、ラフ係数乗算部3でのラフ係数の乗算において0.5dBステップの減衰を実現している。
【0014】
まず、ファイン係数の乗算は、図12に示されているように、0.5dBステップで255段階に減衰量を設定できるものとする。すなわち、0dBに「11111111」を、−0.5dBに「11111110」をそれぞれ対応させる。同様に、−127dBに「00000001」を、−∞dBに「00000000」を対応させる。
【0015】
ファイン乗算に29進カウンタを用いる場合、0.5dB遷移は、0.5dB/29ステップでソフト遷移させることができる。この29進カウンタは、29<25であるから、5ビットのカウンタで実現することができる。本実施形態においては、この5ビットを下位ビットとし、更に上位に4ビット追加し、合計9ビットとする。ただし、上位4ビットは「1111」に固定するものとする。このため、0.5dBについて、0dBに対応する「111111111」から−0.489dBに対応する「111100011」まで、約0.017dB刻みで変化させることができる。
【0016】
この29進カウンタの出力値が図2に示されている。同図に示されているように、カウンタのカウント値「0」〜「28」に対してデジタルデータ「111111111」〜「111100011」(十進数の「511」〜「483」)が対応する。この29進カウンタはアップダウンカウンタとして構成する。このため、カウントアップによって出力値が「111111111」になった場合、次のカウント値は「111100011」である。また、カウントダウンによって出力値が「111100011」になった場合、次のカウント値は「111111111」である。この29進カウンタを用いることによって得られる減衰量は、−0.0000dB〜−0.4895dBまで、約0.017dBステップで得られる。この場合、同図に示されているように、得られる減衰量に対応するデジタルデータ「111111111」〜「111100011」は、上位4ビットが「1111」に固定されている。このように、上位4ビットを「1」に固定した状態で、下位5ビットを変化させているので、後述するように、所望の値までソフトに遷移させることができるのである。
【0017】
ビットシフト部2が行うビットシフト処理においては、周知のシフトレジスタを用いてビットシフトを行う。このビットシフト処理においては、デジタル値を1桁シフトさせると10進数で表した場合の値が1/2又は2倍になる。よって、20log(1/2)=−6dB、20log2=6dBであり、振幅が1/2又は2倍になる6dB刻みで減衰値を変化させることができる。本例では、8ビットの減衰量を12(=6dB/0.5dB)で除算した商の値をシフト量としてビットシフトパルスを発生させる。
【0018】
また、ラフ係数乗算処理では、上記除算の余りの値をROMのアドレスとする。12で除算する場合の余りは「0」〜「11」のいずれかの値になるので、余り「0」に0dB、余り「1」に−0.5dBを対応させる。同様に、0.5dBステップ刻みで対応させ、余り「11」には−5.5dBを対応させることになる。このため、余りの値をアドレス値とし、余りの値に応じて対応するdB値が読出されるように、各データをROMに記憶させておく。
【0019】
このROMに記憶させておくデータが図3に示されている。同図に示されているように、アドレスである余りの値「0」〜「11」に、9ビットの値「111111111」〜「100001111」が対応し、これらの値をROMに記憶させておくことになる。したがって、メモリの容量は、従来よりもはるかに小さくなる。
【0020】
以上の3つの処理についてのより詳細なフローチャートが図4に示されている。同図に示されているように、ファイン係数乗算部1には、29進のアップダウンカウンタが用いられる。このカウンタは、0.5dBステップの設定値間をソフトに遷移させるために用いられる。係数9ビットのうちの下位5ビットを1ずつ変化させると、0.5dBの範囲を0.017dB刻みで遷移させることができる。すなわち、「111111111」から「111111110」にダウンカウントさせた場合、その間には−0.017dBの差がある。同様に、「111100011」から「111100100」にアップカウントさせた場合、その間には0.017dBの差がある。この場合、上位4ビットは「1111」に固定しておく。なお、アップカウント動作中にカウント値が「111111111」になった場合、あるいはダウンカウント動作中にカウント値が「111100001」になった場合は、後述するようにラフ係数が1段階変化するものとする。
【0021】
カウンタをアップカウント動作させるかダウンカウント動作させるかについては、減衰量についての新たな設定値と現在の減衰量との比較結果によって決定する。すなわち、新しい設定値(A)8ビットを上位ビットとし下位ビット側に5ビットに「00000」を付加して拡張した合計13ビットと、現在の減衰量(B)8ビットを上位ビットとし下位ビット側にファイン係数5ビットを付加した合計13ビット(C)との大小比較を行う。そして、新しい設定値の方が現在の減衰量よりも大であればアップカウント動作を行う。逆に、新しい設定値が現在の減衰量よりも小であればダウンカウント動作を行う。両者が等しい場合は、アップカウント及びダウンカウントのいずれも行わず、現在のカウント値を維持する。
【0022】
以上のようにアップカウントやダウンカウントを行うことにより、現在の減衰量(B)8ビットを上位ビットとし下位ビット側にファイン係数5ビットを付加した合計13ビット(C)のLSB(Least Significant Bit)について+1、+0又は−1を行う。この更新された13ビット(C)については、下位5ビットを次の時刻の計算に用い、上位8ビットはビットシフト処理及びラフ乗算処理における除算に用いる。
【0023】
すなわち、更新された13ビット(C)のうちの上位8ビットに対応する十進数を「255」から減算し、この減算結果を12で除算する。そして、この除算における商をビットシフト処理に用い、余りをラフ係数の乗算に用いるのである。
ビットシフト部2は、上記除算の商をビットシフト数とし、その数だけデータを下位ビット側あるいは上位ビット側にシフトする。また、ラフ係数乗算部3は、上記除算の余りに応じて6dBの範囲を0.5dB刻みで設定する。
【0024】
例えば、上記の更新された13ビットの上位8ビットが「11110001」(十進数で「241」)の場合、(255−241)/12の乗算を行い、商=1、余り=2となる。これにより、ビットシフト部2及びラフ係数乗算部3は、同図中の☆印で示されている設定になる。したがって、ビットシフト部2で−6.0dB、ラフ係数乗算部3で−1.0dBの減衰処理が行われ、合計の減衰量は−7.0dBとなる。
【0025】
以上のように、図4に示されている減衰処理を行うので、現在の減衰量と前記指定減衰量との比較結果に応じて前記デジタルデータに乗算すべきファイン係数を変化させるファイン係数乗算ステップと、指定減衰量を減衰しうるステップ数で除算した商の値に応じてデジタルデータについてビットシフトを行うビットシフトステップと、上記除算による余りの値に応じてデジタルデータに乗算すべきラフ係数を変化させるラフ係数乗算ステップとを含むデジタル減衰処理方法が、図1のデジタルアッテネータによって実現されていることになる。
【0026】
図1に示されているデジタルアッテネータの詳細な構成例が図5及び図6に示されている。まず図5を参照すると、デジタルアッテネータは、外部から設定された減衰値をデジタルデータで出力するCPUインタフェース101と、CPUインタフェース101から出力される左チャンネル及び右チャンネルの各8ビットのデジタルデータをそれぞれ保持するレジスタ102L及び102Rと、このレジスタ102L及び102Rにそれぞれ保持されたデジタルデータを選択するセレクタ103と、このセレクタ103によって選択されたデジタルデータを加算入力の一方とする13ビット加算器104とを含んで構成されている。セレクタ103は、セレクト信号SELLがハイレベルのときに左チャンネルレジスタ102Lの出力を選択し、ローレベルのときに右チャンネルレジスタ102Rの出力を選択するものとする。
【0027】
また、同図を参照すると、デジタルアッテネータは、13ビットカウンタ105と、このカウンタ105の出力の上位8ビットを入力とするセレクタ106と、このセレクタ106の出力を入力の一方とする8ビット加算器107と、この加算器107の出力を保持するレジスタ108とを含んで構成されている。13ビットカウンタ105は、クロックCLKを64分周したクロックCLK2の遷移タイミングでカウント値が変化するものとする。セレクタ106は、セレクト信号SELATTがハイレベルのときにカウンタ105の出力を選択し、ローレベルのときにレジスタ108の出力を選択するものとする。レジスタ108は、リセット信号RSTが入力されると、その保持内容がリセットされるものとする。
【0028】
さらに、同図を参照すると、デジタルアッテネータは、上位4ビットが「1111」に固定され13ビットカウンタ105の下位5ビットを保持するレジスタ109と、レジスタ108の下位4ビットをアドレスとして先述したラフ係数が読出されるROM111と、レジスタ109の保持データ及びROM111から読出されるデータについてパラレルシリアル変換を行うパラシリ変換器110とを含んで構成されている。
【0029】
13ビット加算器104は、上位8ビットにセレクタ103の出力が入力され、残りの下位5ビットはオール「1」に固定されているものとする。この13ビット加算器104のもう一方の加算入力には13ビットカウンタ105の出力が入力される。この加算器104は2つの入力の差を出力し、両者の差に応じてキャリ信号CARRYを出力し、13ビットカウンタ105をアップカウント動作又はダウンカウント動作させる。すなわち、この加算器104は現在の減衰量と所望の減衰量という、2つの入力値を比較する比較器として動作する。そして、両者の差が零より大であれば13ビットカウンタ105をアップカウント動作させる。一方、両者の差が零より小であれば13ビットカウンタ105をダウンカウント動作させる。そして、両者の差がオール零すなわち両者が一致している場合は、ストップ信号STOPを生成し、13ビットカウンタ105のカウント動作を停止させる。
【0030】
13ビットカウンタ105の上位8ビットは、セレクタ106を介して8ビット加算器107に入力される。8ビット加算器107では、「12」を減算し、その減算結果をレジスタ108及びセレクタ106を介して再び入力側に戻す処理を順次繰返すことによって除算器の機能を実現しているのである。この場合、「12」を減算できる限りパルスが出力され、先述したビットシフト処理のためのシフトクロックとなる。つまり、8ビット加算器107による除算処理結果の商がビットシフトクロックとして先述したビットシフト部2に入力されることになる。「12」を減算できなくなった場合には、アンドゲート112の出力によってレジスタ108に与えるクロックを抑止する。この抑止により、レジスタ108には上記除算処理結果の余りが保持されることになる。
【0031】
8ビット加算器107は、「12」を減算した結果を入力側に戻す処理を繰返している期間においてはもう一方の入力に「−12」が入力され、それ以外の期間においては「0」が入力されているものとする。
アンドゲート112の入力側には、クロックCLK及びビットシフト動作期間を定めるシフト信号SFTを入力とするアンドゲート113が設けられている。
アンドゲート112を介してレジスタ108にクロックが与えられている限り、アンドゲート114からビットシフト用クロックSFTCKが出力される。このため、アンドゲート113にクロックCLK及びシフト信号SFTが共に入力されている状態で、かつ、上記の除算処理が行われている場合に限り、ビットシフト用クロックSFTCKが出力されることになる。
【0032】
また、この除算処理結果の余り(4ビット)は、アドレスとしてROM111に入力される。このROM111からは先述したラフ係数が読出される。この合計9ビットのデータはパラシリ変換器110に入力され、シリアルデータに変換された後、先述したラフ係数として出力される。なお、所定時間経過後、レジスタ108に保持データはリセット信号RSTによってリセットされる。
【0033】
13ビットカウンタ105の下位5ビットは、レジスタ109に入力される。
このレジスタ109の上位4ビットは、「1111」に固定されている。この合計9ビットのデータはパラシリ変換器110に入力され、シリアルデータに変換された後、先述したファイン係数として出力される。
一方、図6には、ファイン係数及びラフ係数の乗算処理並びにビットシフト処理を行うためのより具体的な回路構成が示されている。同図には、ビットシフト処理を行うためのシフトレジスタ113と、加算器114と、この加算結果を保持するワーキングレジスタ115と、ファイン係数やラフ係数を乗算するためのアンドゲート回路116と、このアンドゲート回路116の入力の一方を選択するセレクタ117とが示されている。
【0034】
図7は、図6をデータのビットごとに書き表したものである。このような構成の回路を用いれば、デジタルデータとシリアル入力される係数9ビットを係数のLSBから順に乗算することができる。
減衰されるべきデジタルデータ(Lチャンネル又はRチャンネルのデータ)が入力されると、このデータはセレクタ117を介してアンドゲート回路116の入力の一方となり、その入力の他方に入力される9ビットのファイン係数のLSB1ビットとまず乗算される。このファイン係数のLSB1ビットとデータの乗算結果は、加算器114aの入力の一方となり、その入力の他方には、最初は「0」が入力される。よって、乗算結果は、そのまま通過しシフトレジスタ113aに入力され保持される。このシフトレジスタ113aに予めシフトクロックを入力して、保持内容を1ビット下位側へシフトして出力する。このシフトされたデータは、加算器114aの入力の一方となり、その入力の他方に入力されるデータと9ビットのファイン係数の下位から2ビット目との乗算結果と加算される。そして、再びシフトレジスタ113aに入力され保持され、保持内容を1ビット下位側へシフトして出力し、同様のくり返し加算を9回行った結果を、デジタルデータとファイン係数との最終乗算結果として、シフトレジスタ113aへ保持しておく。
【0035】
次に、シフトレジスタ113aは、前述した除算の商の数だけ、ビットシフト処理を行う。ビットシフト用クロックが入力されるごとに保持内容を1ビット下位側又は上位側にシフトして出力する。このシフトされたデータは、加算器114aを介して、再びシフトレジスタ113aに保持される。ビットシフト処理を行っている期間においては、アンドゲート116aの出力はオール「0」にしているので、ビットシフト用クロックのパルス数と同じだけ、データのビットシフトのみが行われる。ビットシフト処理後のデータは、ワーキングレジスタ115aに入力され、保持される。
【0036】
このビットシフトされてワーキングレジスタ115に保持されたデータは、セレクタ117を介して再びアンドゲート回路116の入力の一方となる。このとき、アンドゲート回路116の入力の他方にはラフ係数が入力され、両者がファイン係数の場合と同様にくり返し乗算される。このデータとラフ係数の最終乗算結果は、再びワーキングレジスタ115に入力されて保持される。この保持されたデータは減衰されたデータであり、減衰出力として導出される。
【0037】
以上の動作において、アップダウンカウンタである図5中のカウンタ105、乗算器である図6中のアンドゲート回路116等によって図1中のファイン係数乗算部1が実現されていることになる。また、シフトクロックに応じてビットシフト処理を行う図6中のシフトレジスタによって、図1中のビットシフト部2が実現されていることになる。さらに、余りの値をアドレスとしてラフ係数を出力するメモリである図5中のROM111、この出力されるラフ係数を乗算する乗算器である図6中のアンドゲート回路116等によって図1中のラフ係数乗算部3が実現されていることになる。
【0038】
なお、以上の動作において、アンドゲート回路116やワーキングレジスタ115は、ファイン係数乗算処理及びラフ係数乗算処理の2つの処理において共用される。つまり、これらの両乗算処理は同時に行われることがないので、図1に示されているように、物理的に別々の回路を用意するよりも、単一の回路を時分割で使用するのである。これにより、回路のレイアウトの小規模化、低コスト化を実現できる。
【0039】
上述した図5及び図6の各部の動作について、更に図8のタイムチャートを参照して説明する。同図には、図5及び図6中の各部の信号が示されている。ただし、同図には左チャンネル信号についての動作のみが示されており、右チャンネルも同様の動作であるものとする。
同図を参照すると、本アッテネータは、ファイン係数作成期間、シフトクロック作成期間、及びラフ係数作成期間の3つの動作期間を有している。ファイン係数作成期間はクロック16個分の期間、シフトクロック作成期間はクロック32個分の期間、ラフ係数作成期間はクロック16個分の期間であるものとする。
【0040】
まず、ファイン係数作成期間においては、上述したレジスタ109に保持されたデータがパラシリ変換器110によってシリアルデータに変換され、この変換後のデータがファイン係数として出力される。
次に、シフトクロック作成期間においては、シフト信号SFTがハイレベルの期間において、上述した除算の結果得られる商の値に応じて最大21個のパルス数のシフトクロックが生成される。この生成されたシフトクロックが先述したシフトレジスタ113に入力され、下位ビット側又は上位ビット側へのビットシフト処理が行われる。
【0041】
そして、ラフ係数作成期間においては、上述した除算の結果得られる余りの値に応じて最大11個のパルス数のデータが生成され、このデータをアドレス値としてROM111からラフ係数が出力される。このラフ係数はパラシリ変換器110によってシリアルデータに変換され、この変換後のデータがラフ係数として出力される。
【0042】
以上の動作の間、13ビットカウンタ105の現在値と目標とする減衰値との比較処理が先述した13ビット加算器104において行われる。そして、この比較結果に応じて、13ビットカウンタ105をカウントアップ又はカウントダウンさせるか、カウント動作を停止させるための信号が生成される。
ところで、上述したように、全部で9ビットのうちの上位4ビットをオール「1」に固定し、下位5ビットを29進カウンタで変化させている。このため、0.017dB刻みで、図9に示されているように少しずつ減衰させることができる。同図を参照するとわかるように、減衰量が僅かである範囲Lにおいては、ほとんどリニアに近い僅かな変化をし、減衰量が段々大きくなる範囲Vにおいては徐々に大きく変化することになる。つまり、上位ビットを固定し、それ以外の下位ビットを増減することによって、図9中のLの部分のみを使ってソフトに遷移させていることになる。上述した図13(a)に示されているように所望の値までいきなり減衰させるのではなく、同図(b)に示されているように段階的に徐々に、かつ、速やかに減衰させることができるのである。
【0043】
この場合、固定の上位ビットは、図5に示されている加算器104のように、入力側に固定値を付加して拡張したものである。そして、変化自在な下位ビットは、同図に示されているアップダウンカウンタであるカウンタ105によって発生させているのである。
図10には、デジタルデータとして、DC4.8Vを入力した場合の、減衰出力の電圧値の変化が示されている。同図には、−∞dBまで減衰させる場合、すなわちフェードアウトする場合の時間経過に対する減衰出力の電圧値の変化が示されている。同図中の実線Dが減衰出力であり、外部から−∞dBへ減衰させるべく減衰値を設定してから、徐々に4.8Vから約1.0Vまでなめらかに減衰してゆく様子がわかる。
【0044】
同図中の実線Fは、ファイン係数乗算処理の様子を縦軸の目盛とは無関係に相対的に表したものである。同図中の実線Rは、ラフ係数乗算処理の様子を縦軸の目盛とは無関係に相対的に表したものである。同図中の実線Sは、ビットシフト処理の様子を縦軸の目盛とは無関係に相対的に表したものである。
まず、ファイン係数乗算処理においては、上述したように0.5dBの範囲を29ステップで変化させている。このため、この処理単独では、同図中の実線Fで示されているように、ラフ係数乗算処理の1ステップの間を、くり返し電圧値が変化することになる。
【0045】
また、ラフ係数乗算処理においては、上述したように0.5dBステップで12段階に変化させている。このため、この処理単独では、同図中の実線Rで示されているように、「111111111」なら「100001111」まで、12段の階段状に電圧値が変化することになる。
さらに、ビットシフト処理においては、上述したように1ビットのシフトで6dB変化させることができる。このため、この処理単独では、同図中の実線Sで示されているように、ラフ係数乗算処理の12ステップ、すなわち6dBごとにビットシフト数が変化することになる。
【0046】
これら3つの処理、すなわちファイン係数乗算処理、ビットシフト処理、ラフ係数乗算処理全てによって実現できる減衰特性は、同図中の実線Dで示されているような曲線になる。
なお、上述した図1においては、ファイン係数乗算処理、ビットシフト処理、ラフ係数乗算処理の順序で処理が行われている。しかしながら、処理の順序が、この順序に限定されることはなく、順不同で以上の3つの処理が行われれば良い。
【0047】
ところで、本デジタルアッテネータでは、聴感上耳障りにならないように減衰させるために、乗算する係数データは固定の上位ビットと変化自在な下位ビットとから構成され、この下位ビットのみを変化させるように制御している。そして、この下位ビットは、アップダウンカウンタである図5中のカウンタ105によって発生させているのである。
【0048】
また、本デジタルアッテネータでは、図5中のレジスタ102L(102R)」及び加算器104の入力部分によって、nビットの入力された減衰設定値と下位に拡張されたmビットのデータを(n+m)ビットの係数設定値として記憶する第1の記憶手段を実現し、同図中のカウンタ105によって現在の(n+m)ビットの係数設定値を記憶する第2の記憶手段を実現している。さらに、同図中の加算器104の出力に応じてカウンタ105をアップカウント又はダウンカウント動作させることによって、係数設定値を更新する更新手段を実現している。
この係数設定値の下位mビットは、固定された上位kビットを有する図5中のレジスタ109に保持されることによってファイン係数を生成することになる。
【0049】
上記係数設定値の上位nビットは、減衰しうる所定のステップ数で除算され、この除算の商の値に基づいて図6中のシフトレジスタによるビットシフトが行われ、この除算の余りの値に基づいて図5中のROMからラフ係数を生成してデジタルデータとの乗算が行われるのである。
なお、上記のk、m、nはいずれも任意の自然数であるものとし、上記の各数値に限定されるものではない。
【0050】
【発明の効果】
以上説明したように本発明は、ファイン係数の乗算、ビットシフト処理、及びラフ係数の乗算によってデジタル値の減衰処理を行うことにより、大容量のメモリが不要で、より少ないレイアウト面積でデジタルアッテネータを実現できるという効果がある。また、上位ビットを固定した状態で、下位ビットを変化させることにより、所望の値までソフトに遷移させることができるという効果がある。
【図面の簡単な説明】
【図1】本発明によるデジタルアッテネータの実施の一形態を示すブロック図である。
【図2】29進カウンタの出力値に対応する減衰量を示す図である。
【図3】除算結果の余りに対応する減衰量を示す図である。
【図4】図1のデジタルアッテネータによる処理についてのより詳細なフローチャートである。
【図5】本発明によるデジタルアッテネータを実現するためのより具体的な回路構成の一部を示すブロック図である。
【図6】本発明によるデジタルアッテネータを実現するためのより具体的な回路構成の一部を示すブロック図である。
【図7】図6中のアンドゲート回路の内部構成を示す図である。
【図8】図5及び図6の各部の動作を示すタイムチャートである。
【図9】本発明のデジタルアッテネータによる減衰動作を示す図である。
【図10】本発明によるデジタルアッテネータによって−∞dBまで減衰させる場合の各部の動作を示す図である。
【図11】従来のデジタルアッテネータの回路構成を示すブロック図である。
【図12】外部からの設定値と減衰量との対応関係を示す図である。
【図13】(a)は従来のデジタルアッテネータによる減衰開始時の動作を示す図、(b)は本発明のデジタルアッテネータによる減衰開始時の動作を示す図である。
【符号の説明】
1 ファイン係数乗算部
2 ビットシフト部
3 ラフ係数乗算部
101 CPUインタフェース
102L、102R、108、109 レジスタ
103、106、117 セレクタ
104 13ビット加算器
105 13ビットカウンタ
107 8ビット加算器
110 パラシリ変換器
111 ROM
113 シフトレジスタ
114 加算器
115 ワーキングレジスタ
116 アンドゲート回路[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a digital attenuator, and more particularly to a digital attenuator that attenuates digital data such as a PCM (Pulse Code Modulation) signal.
[0002]
[Prior art]
Generally, as shown in FIG. 11, the digital attenuator has a function of outputting attenuated data by multiplying input digital data by coefficient data of 1 or less. When realizing this digital attenuator, the simplest configuration is a configuration in which coefficient data is stored in a memory in advance and the corresponding data is read from the memory.
[0003]
For example, when 24-bit digital data (including a sign bit) input to be attenuated is to be controlled to a depth of -127 dB in steps of -0.5 dB, a 25-bit data to be multiplied by the data Coefficient data needs to be generated. When the data set from the outside to select coefficient data is 8 bits, as shown in FIG. 12, “11111111” of coefficient data is made to correspond to −0 dB, and “11111110” is also set to −0. Corresponding to 5 dB, the attenuation is assigned in 0.5 dB steps in the same manner. However, an attenuation amount of −∞ dB is assigned to the coefficient data “00000000”.
[0004]
In this case, as shown in the figure, for the attenuation of 0 dB, 20 log (335544432/2)twenty five) = 0 dB, and the coefficient data is “33555432” (decimal number). Moreover, about 20-log (31674426/2) about attenuation amount -0.5dB.twenty five) = − 0.5 dB, and the coefficient data is “31674426”. Similarly, it is necessary to prepare coefficient data corresponding to the attenuation amount in 0.5 dB steps.
[0005]
[Problems to be solved by the invention]
In the attenuator having the configuration shown in FIG. 11 described above, in order to store the coefficient data in advance, it is necessary to prepare a memory capable of storing 25 bits × 256 data. Therefore, a memory having a large storage capacity and a large chip size must be used, resulting in a large layout area. Therefore, it is desired to realize a digital attenuator that can be realized with a smaller layout area.
[0006]
In addition, in the case of attenuation, if it is attenuated suddenly to a desired value, it becomes harsh on hearing. That is, as shown in FIG. 13A, if the sound is suddenly attenuated to a desired value, there is a sense of discomfort in terms of hearing. In order to prevent this, it is usual to employ a technique of attenuating to a desired value at the zero cross point that intersects the ground level. However, the digital data obtained by encoding the audio signal may not have a zero cross point for a long time, and has a disadvantage that it cannot be quickly attenuated to a desired value. Therefore, it is desired to realize a digital attenuator that can be changed gradually, smoothly and quickly to a desired value.
[0007]
The present invention has been made to solve the above-described drawbacks of the prior art, and an object thereof is to provide a digital attenuator that can be realized with a smaller layout area. Another object of the present invention is to provide a digital attenuator that can be attenuated to a desired value without causing an audible disturbance.
[0008]
The digital attenuator according to the present invention is a digital attenuator that performs attenuation processing on input digital data according to a designated attenuation amount designated from the outside, and according to a comparison result between the current attenuation amount and the designated attenuation amount. Fine coefficient multiplication means for changing a fine coefficient to be multiplied to the digital data, bit shift means for performing bit shift on the digital data according to a quotient value obtained by dividing the designated attenuation amount by the number of steps that can be attenuated, Rough coefficient multiplication means for changing a rough coefficient to be multiplied by the digital data in accordance with a remainder value obtained by the division.See
A multiplier shared by the fine coefficient multiplication means and the rough coefficient multiplication means is provided, and the multiplier is used for time division by these multiplication means.It is characterized by that. Further, the fine coefficient multiplication means includes an up / down counter whose count value changes according to the comparison result, and a multiplier which multiplies the digital data by the count value. Further, the bit shift means includes a shift register that receives the digital data, and shift-controls the shift register in accordance with the quotient value. The rough coefficient multiplication means includes a memory that outputs the rough coefficient using the remainder value as an address, and a multiplier that multiplies the digital data by the rough coefficient output from the memory..
[0010]
Another digital attenuator according to the present invention is a digital attenuator for attenuating digital data by multiplying the digital data by coefficient data, and an n-bit input attenuation setting value and m-bit data expanded downward. Is stored as an (n + m) -bit coefficient setting value, second storage means for storing the current (n + m) -bit coefficient setting value, the first storage means, and the second storage means First coefficient data is updated by updating means for updating the coefficient setting value based on the magnitude of the coefficient setting value stored in the storage means, and lower m bits and upper fixed k bits of the coefficient setting value. A first multiplication unit that multiplies the first coefficient data by the first coefficient data and outputs a second digital data; and a updating unit that updates the first coefficient data. Containing an arithmetic unit for outputting a third digital data from the higher-order n bits of the coefficient set value and the second digital dataSee
The arithmetic means comprises: dividing means for dividing upper n bits of the coefficient setting value by a predetermined value; bit shifting means for bit-shifting the second digital data based on a quotient value of the division; and the division A second multiplying means for multiplying the bit shift output of the bit shift means by a predetermined coefficient data based on the remainder of the output and outputting third digital data;
A multiplier shared by the first multiplier and the second multiplier is provided, and the multiplier is used for time division by the multiplier.It is characterized by that. The fixed k-bit data is all “1”.. TheFurthermore, the coefficient data multiplied by the second multiplication means is output from the storage means storing the coefficient with the remainder value of the division means as an address.
[0011]
A digital attenuation processing method according to the present invention is a digital attenuation processing method for performing attenuation processing on input digital data according to a designated attenuation amount designated from the outside, and compares a current attenuation amount with the designated attenuation amount. A fine coefficient multiplying step for changing a fine coefficient to be multiplied with the digital data according to a result, and a bit for performing a bit shift on the digital data according to a quotient value obtained by dividing the designated attenuation amount by the number of steps that can be attenuated A shift step, and a rough coefficient multiplication step for changing a rough coefficient to be multiplied by the digital data in accordance with a remainder value obtained by the division.In the fine coefficient multiplication step and the rough coefficient multiplication step, these multiplications are performed in a time division manner.It is characterized by that.
[0012]
In short, because digital value attenuation processing is realized by fine coefficient multiplication, bit shift processing, and rough coefficient multiplication, it is not necessary to use a large-capacity memory, and a digital attenuator can be realized with a smaller layout area. is there.
In addition, in this digital attenuator, the coefficient data to be multiplied is composed of a fixed upper bit and a variable lower bit in order to attenuate so as not to disturb the hearing, and control is performed so that only this lower bit is changed. -ing
[0013]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described with reference to the drawings. In the drawings referred to in the following description, the same parts as those in the other drawings are denoted by the same reference numerals.
FIG. 1 is a block diagram showing an embodiment of a digital attenuator according to the present invention. As shown in the figure, the digital attenuator according to the present embodiment multiplies the input digital data by the fine coefficient generated according to the comparison result between the current attenuation amount and the attenuation amount designated from the outside. A fine
[0014]
First, as shown in FIG. 12, in the multiplication of the fine coefficient, it is assumed that the attenuation can be set in 255 steps in 0.5 dB steps. That is, “11111111” corresponds to 0 dB, and “11111110” corresponds to −0.5 dB. Similarly, “00000001” corresponds to −127 dB, and “00000000” corresponds to −∞ dB.
[0015]
When a 29-ary counter is used for fine multiplication, the 0.5 dB transition can be softly shifted in 0.5 dB / 29 steps. This 29-digit counter is 29 <2FiveTherefore, it can be realized by a 5-bit counter. In the present embodiment, these 5 bits are set as the lower bits, and 4 bits are further added to the upper bits, for a total of 9 bits. However, the upper 4 bits are fixed to “1111”. For this reason, 0.5 dB can be changed in steps of about 0.017 dB from “111111111” corresponding to 0 dB to “111100011” corresponding to −0.489 dB.
[0016]
The output value of the 29-ary counter is shown in FIG. As shown in the figure, digital data “111111111” to “111100011” (decimal numbers “511” to “483”) correspond to the count values “0” to “28” of the counter. This 29-digit counter is configured as an up / down counter. Therefore, when the output value becomes “111111111” due to the count-up, the next count value is “111100011”. When the output value becomes “111100011” due to the countdown, the next count value is “111111111”. The attenuation obtained by using this 29-ary counter is obtained in steps of about 0.017 dB from −0.0000 dB to −0.4895 dB. In this case, as shown in the figure, the upper 4 bits of the digital data “111111111” to “111100011” corresponding to the obtained attenuation amount are fixed to “1111”. Thus, since the lower 5 bits are changed while the upper 4 bits are fixed to “1”, it is possible to make a soft transition to a desired value as will be described later.
[0017]
In the bit shift processing performed by the
[0018]
In the rough coefficient multiplication process, the remainder of the division is used as the ROM address. Since the remainder when dividing by 12 is any value from “0” to “11”, the remainder “0” corresponds to 0 dB, and the remainder “1” corresponds to −0.5 dB. Similarly, correspondence is made in steps of 0.5 dB, and the remainder “11” is made to correspond to −5.5 dB. For this reason, the remainder value is used as an address value, and each data is stored in the ROM so that the corresponding dB value is read according to the remainder value.
[0019]
Data stored in the ROM is shown in FIG. As shown in the figure, 9-bit values “111111111” to “100001111” correspond to the remaining values “0” to “11” which are addresses, and these values are stored in the ROM. It will be. Therefore, the capacity of the memory is much smaller than before.
[0020]
A more detailed flowchart for the above three processes is shown in FIG. As shown in the figure, the fine
[0021]
Whether the counter is to be up-counted or down-counted is determined by a comparison result between a new set value for the attenuation and the current attenuation. That is, the new setting value (A) 8 bits are the upper bits and the lower bits are added by adding “00000” to the 5 bits and a total of 13 bits, and the current attenuation (B) 8 bits are the upper bits and the lower bits Comparison is made with a total of 13 bits (C) with a fine coefficient of 5 bits added to the side. If the new set value is larger than the current attenuation, an up-count operation is performed. On the contrary, if the new set value is smaller than the current attenuation, the down-counting operation is performed. When both are equal, neither up-counting nor down-counting is performed, and the current count value is maintained.
[0022]
By performing up-counting and down-counting as described above, a total of 13 bits (C) LSB (Least Significant Bit) in which the current attenuation amount (B) is 8 bits and the fine bit is added to the lower bits. ), +1, +0 or -1. For the updated 13 bits (C), the lower 5 bits are used for calculation of the next time, and the upper 8 bits are used for division in the bit shift process and the rough multiplication process.
[0023]
That is, the decimal number corresponding to the upper 8 bits of the updated 13 bits (C) is subtracted from “255”, and the subtraction result is divided by 12. The quotient in this division is used for bit shift processing, and the remainder is used for multiplication of rough coefficients.
The
[0024]
For example, if the upper 8 bits of the updated 13 bits are “11110001” (decimal number “241”), multiplication of (255-241) / 12 is performed, and the quotient = 1 and the remainder = 2. As a result, the
[0025]
As described above, since the attenuation process shown in FIG. 4 is performed, a fine coefficient multiplication step for changing the fine coefficient to be multiplied with the digital data in accordance with the comparison result between the current attenuation amount and the designated attenuation amount. A bit shift step for performing a bit shift on the digital data according to a quotient value obtained by dividing the designated attenuation amount by the number of steps that can be attenuated, and a rough coefficient to be multiplied with the digital data according to the remainder value obtained by the division The digital attenuation processing method including the rough coefficient multiplication step to be changed is realized by the digital attenuator of FIG.
[0026]
Detailed configuration examples of the digital attenuator shown in FIG. 1 are shown in FIGS. First, referring to FIG. 5, the digital attenuator outputs a
[0027]
Referring to the figure, the digital attenuator includes a 13-
[0028]
Further, referring to the figure, the digital attenuator includes the
[0029]
In the 13-
[0030]
The upper 8 bits of the 13-
[0031]
The 8-
On the input side of the AND
As long as the clock is supplied to the
[0032]
Further, the remainder (4 bits) of the division processing result is input to the
[0033]
The lower 5 bits of the 13-
The upper 4 bits of the
On the other hand, FIG. 6 shows a more specific circuit configuration for performing a multiplication process and a bit shift process of a fine coefficient and a rough coefficient. The figure shows a
[0034]
FIG. 7 shows FIG. 6 written for each bit of data. If a circuit having such a configuration is used, digital data and 9-bit coefficient input serially can be sequentially multiplied from the LSB of the coefficient.
When digital data (L channel or R channel data) to be attenuated is input, this data becomes one of the inputs of the AND
[0035]
Next, the
[0036]
The data shifted by this bit shift and held in the working
[0037]
In the above operation, the fine
[0038]
In the above operation, the AND
[0039]
The operation of each part of FIGS. 5 and 6 described above will be further described with reference to the time chart of FIG. In the same figure, signals of respective parts in FIGS. 5 and 6 are shown. However, only the operation for the left channel signal is shown in the figure, and the same operation is performed for the right channel.
Referring to the figure, the attenuator has three operation periods: a fine coefficient creation period, a shift clock creation period, and a rough coefficient creation period. It is assumed that the fine coefficient generation period is a period of 16 clocks, the shift clock generation period is a period of 32 clocks, and the rough coefficient generation period is a period of 16 clocks.
[0040]
First, in the fine coefficient generation period, the data held in the
Next, in the shift clock generation period, a shift clock having a maximum number of 21 pulses is generated in accordance with the value of the quotient obtained as a result of the above-described division while the shift signal SFT is at a high level. The generated shift clock is input to the
[0041]
In the rough coefficient generation period, data of a maximum of 11 pulses is generated according to the remainder value obtained as a result of the division described above, and the rough coefficient is output from the
[0042]
During the above operation, a comparison process between the current value of the 13-
By the way, as described above, the upper 4 bits of all 9 bits are fixed to all “1”, and the lower 5 bits are changed by the 29-ary counter. For this reason, it can be gradually attenuated in increments of 0.017 dB as shown in FIG. As can be seen from the figure, in the range L where the amount of attenuation is small, there is a slight change almost linear, and in the range V where the amount of attenuation gradually increases, the value gradually changes greatly. In other words, the upper bits are fixed, and the other lower bits are increased / decreased, so that only the portion L in FIG. 9 is used for transition to software. Rather than suddenly attenuating to a desired value as shown in FIG. 13 (a), it is gradually and quickly attenuated step by step as shown in FIG. 13 (b). Can do it.
[0043]
In this case, the fixed upper bits are expanded by adding a fixed value to the input side, like the
FIG. 10 shows a change in the voltage value of the attenuated output when DC 4.8 V is input as digital data. This figure shows a change in the voltage value of the attenuated output with respect to time when attenuation is performed to −∞ dB, that is, when fading out. A solid line D in the figure is an attenuation output, and it can be seen that the attenuation value is gradually attenuated from 4.8 V to about 1.0 V after the attenuation value is set to be attenuated to −∞ dB from the outside.
[0044]
A solid line F in the figure relatively represents the state of the fine coefficient multiplication process regardless of the scale on the vertical axis. A solid line R in the figure relatively represents the rough coefficient multiplication process regardless of the scale on the vertical axis. A solid line S in the figure relatively represents the state of the bit shift processing regardless of the scale on the vertical axis.
First, in the fine coefficient multiplication process, the range of 0.5 dB is changed in 29 steps as described above. For this reason, in this process alone, the repeated voltage value changes during one step of the rough coefficient multiplication process as indicated by the solid line F in FIG.
[0045]
Further, in the rough coefficient multiplication process, as described above, it is changed in 12 steps in 0.5 dB steps. For this reason, in this process alone, as indicated by a solid line R in the figure, if “111111111”, the voltage value changes in a stepped manner of 12 steps up to “100001111”.
Further, in the bit shift processing, 6 dB can be changed by 1-bit shift as described above. For this reason, in this process alone, as indicated by the solid line S in the figure, the bit shift number changes every 12 steps of the rough coefficient multiplication process, that is, every 6 dB.
[0046]
The attenuation characteristics that can be realized by these three processes, that is, the fine coefficient multiplication process, the bit shift process, and the rough coefficient multiplication process are curves as indicated by the solid line D in FIG.
In FIG. 1 described above, processing is performed in the order of fine coefficient multiplication processing, bit shift processing, and rough coefficient multiplication processing. However, the order of processing is not limited to this order, and the above three processes may be performed in any order.
[0047]
By the way, in this digital attenuator, coefficient data to be multiplied is composed of a fixed upper bit and a variable lower bit in order to attenuate so as not to disturb the hearing, and control is performed so that only this lower bit is changed. ing. This lower bit is generated by the
[0048]
Further, in the present digital attenuator, the input portion of the
The lower m bits of the coefficient set value are held in the
[0049]
The upper n bits of the coefficient setting value are divided by a predetermined number of steps that can be attenuated, and bit shift is performed by the shift register in FIG. 6 based on the quotient value of the division, and the remainder of the division is obtained. Based on this, rough coefficients are generated from the ROM in FIG. 5 and multiplied with the digital data.
In addition, said k, m, and n shall all be arbitrary natural numbers, and are not limited to said each numerical value.
[0050]
【The invention's effect】
As described above, the present invention performs digital value attenuation processing by fine coefficient multiplication, bit shift processing, and rough coefficient multiplication, thereby eliminating the need for a large-capacity memory and providing a digital attenuator with a smaller layout area. There is an effect that it can be realized. Further, there is an effect that it is possible to make a soft transition to a desired value by changing the lower bits while the upper bits are fixed.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an embodiment of a digital attenuator according to the present invention.
FIG. 2 is a diagram illustrating an attenuation amount corresponding to an output value of a 29-ary counter.
FIG. 3 is a diagram illustrating an attenuation amount corresponding to a remainder of a division result.
4 is a more detailed flowchart for processing by the digital attenuator of FIG. 1; FIG.
FIG. 5 is a block diagram showing a part of a more specific circuit configuration for realizing a digital attenuator according to the present invention.
FIG. 6 is a block diagram showing a part of a more specific circuit configuration for realizing the digital attenuator according to the present invention.
7 is a diagram showing an internal configuration of an AND gate circuit in FIG. 6. FIG.
FIG. 8 is a time chart showing the operation of each part in FIG. 5 and FIG. 6;
FIG. 9 is a diagram showing an attenuation operation by the digital attenuator of the present invention.
FIG. 10 is a diagram illustrating the operation of each unit when the digital attenuator according to the present invention attenuates to −∞ dB.
FIG. 11 is a block diagram showing a circuit configuration of a conventional digital attenuator.
FIG. 12 is a diagram illustrating a correspondence relationship between an externally set value and an attenuation amount.
13A is a diagram showing an operation at the start of attenuation by a conventional digital attenuator, and FIG. 13B is a diagram showing an operation at the start of attenuation by a digital attenuator of the present invention.
[Explanation of symbols]
1 Fine coefficient multiplier
2-bit shift section
3 Rough coefficient multiplier
101 CPU interface
102L, 102R, 108, 109 registers
103, 106, 117 selector
104 13-bit adder
105 13-bit counter
107 8-bit adder
110 Parasiri converter
111 ROM
113 Shift register
114 adder
115 Working register
116 AND Gate Circuit
Claims (8)
前記ファイン係数乗算手段及び前記ラフ係数乗算手段において共用する乗算器を設け、これら乗算手段により該乗算器を時分割に用いることを特徴とするデジタルアッテネータ。A digital attenuator for performing attenuation processing on input digital data according to a designated attenuation amount designated from the outside, and the digital data should be multiplied according to a comparison result between the current attenuation amount and the designated attenuation amount Fine coefficient multiplication means for changing the fine coefficient, bit shift means for performing bit shift on the digital data in accordance with a quotient value obtained by dividing the designated attenuation amount by the number of steps that can be attenuated, depending look contains a rough coefficient multiplying means for varying the rough coefficients to be multiplied by the digital data,
A digital attenuator characterized in that a multiplier shared by the fine coefficient multiplication means and the rough coefficient multiplication means is provided, and the multiplier is used for time division by these multiplication means .
前記演算手段は、前記係数設定値の上位nビットを所定の値で除算する除算手段と、前記除算の商の値に基づいて前記第2のデジタルデータをビットシフトするビットシフト手段と、前記除算の余りの値に基づいて所定の係数データを前記ビットシフト手段のビットシフト出力に乗算し、第3のデジタルデータを出力する第2の乗算手段とを含み、
前記第1の乗算手段及び前記第2の乗算手段において共用する乗算器を設け、これら乗算手段により該乗算器を時分割に用いることを特徴とするデジタルアッテネータ。A digital attenuator that multiplies digital data by coefficient data to attenuate the digital data, and stores the n-bit input attenuation setting value and the m-bit data expanded in the lower order as the (n + m) -bit coefficient setting value Of the coefficient setting values stored in the first storage means, the second storage means for storing the current (n + m) bit coefficient setting value, the first storage means and the second storage means. Updating means for updating the coefficient setting value based on magnitude, means for generating first coefficient data by lower m bits and upper fixed k bits of the coefficient setting value, and the first coefficient data Is multiplied by the input first digital data and the second digital data is output, and the upper n bits of the coefficient set value updated by the updating means and the second data And arithmetic means for outputting a third digital data from the barrel data seen including,
The arithmetic means comprises: dividing means for dividing upper n bits of the coefficient setting value by a predetermined value; bit shifting means for bit-shifting the second digital data based on a quotient value of the division; and the division A second multiplying means for multiplying the bit shift output of the bit shift means by a predetermined coefficient data based on the remainder of the output and outputting third digital data;
A digital attenuator characterized in that a multiplier shared by the first multiplier and the second multiplier is provided, and the multiplier is used for time division by these multipliers .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000099181A JP4545272B2 (en) | 2000-03-31 | 2000-03-31 | Digital attenuator and digital attenuation processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000099181A JP4545272B2 (en) | 2000-03-31 | 2000-03-31 | Digital attenuator and digital attenuation processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001282296A JP2001282296A (en) | 2001-10-12 |
JP4545272B2 true JP4545272B2 (en) | 2010-09-15 |
Family
ID=18613565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000099181A Expired - Fee Related JP4545272B2 (en) | 2000-03-31 | 2000-03-31 | Digital attenuator and digital attenuation processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4545272B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4554855B2 (en) * | 2001-09-20 | 2010-09-29 | 旭化成エレクトロニクス株式会社 | Digital signal processing circuit |
JP5213733B2 (en) * | 2009-01-21 | 2013-06-19 | キヤノン株式会社 | Transmitting device, receiving device, transmitting method, receiving method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6361508A (en) * | 1986-09-01 | 1988-03-17 | Kenwood Corp | Analog oscillator with digital attenuator |
JPH05198090A (en) * | 1992-01-20 | 1993-08-06 | Sony Corp | Level control circuit |
JP2000047850A (en) * | 1998-05-28 | 2000-02-18 | Matsushita Electric Ind Co Ltd | Decoder |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09130245A (en) * | 1995-11-06 | 1997-05-16 | Sony Corp | Gain varying circuit |
JP3638218B2 (en) * | 1998-08-31 | 2005-04-13 | 株式会社リコー | Microprocessor with ALU instruction with shift function |
-
2000
- 2000-03-31 JP JP2000099181A patent/JP4545272B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6361508A (en) * | 1986-09-01 | 1988-03-17 | Kenwood Corp | Analog oscillator with digital attenuator |
JPH05198090A (en) * | 1992-01-20 | 1993-08-06 | Sony Corp | Level control circuit |
JP2000047850A (en) * | 1998-05-28 | 2000-02-18 | Matsushita Electric Ind Co Ltd | Decoder |
Also Published As
Publication number | Publication date |
---|---|
JP2001282296A (en) | 2001-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4636926B2 (en) | Multi-bit ΔΣ modulation type DA converter | |
KR20040041781A (en) | The improved method of compressing look up table for reducing memory and non-linear function generating apparatus having look up table compressed using the method and the non-linear function generating method | |
JP4545272B2 (en) | Digital attenuator and digital attenuation processing method | |
JPH01245607A (en) | Composite finite impulse response digital filter | |
US4928569A (en) | Envelope shape generator for tone signal control | |
JP3275224B2 (en) | Digital signal processing system | |
WO1991018355A1 (en) | Integrated interpolator and method of operation | |
EP0266159B1 (en) | Digital muting circuit | |
JPH10503311A (en) | Galois field polynomial multiply / divide circuit and digital signal processor incorporating the same | |
US5808923A (en) | Denormalization device and method for multichannel audio decoder | |
US5945657A (en) | Constant divider | |
JP4385893B2 (en) | Coefficient interpolation circuit in data processing circuit | |
KR100359037B1 (en) | Method and device for encoding digital data | |
JP2005197995A (en) | Delta-sigma d/a converter | |
JP3223560B2 (en) | Waveform data reading device | |
KR0125861Y1 (en) | Digital signal attenuator | |
JPH0546176A (en) | Data compression and expansion device and electronic musical instrument using the same | |
JP3847734B2 (en) | Timer circuit | |
JPH08335887A (en) | Interleave address generation circuit for plural interleave matrixes | |
KR100293712B1 (en) | Address Generator Used for Digital Filtering | |
JP4400373B2 (en) | Data processing circuit | |
JPH0883167A (en) | Random number generation circuit | |
JP2001177408A (en) | Pipeline a/d converter | |
KR100519284B1 (en) | Read-write filter in digital tv | |
JP3223555B2 (en) | Waveform reading device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070402 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20070402 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100201 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100629 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100630 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130709 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |