JP4545272B2 - Digital attenuator and digital attenuation processing method - Google Patents

Digital attenuator and digital attenuation processing method Download PDF

Info

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
Application number
JP2000099181A
Other languages
Japanese (ja)
Other versions
JP2001282296A (en
Inventor
直人 尾▲崎▼
哲郎 杉本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Asahi Kasei EMD Corp
Original Assignee
Asahi Kasei EMD Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Asahi Kasei EMD Corp filed Critical Asahi Kasei EMD Corp
Priority to JP2000099181A priority Critical patent/JP4545272B2/en
Publication of JP2001282296A publication Critical patent/JP2001282296A/en
Application granted granted Critical
Publication of JP4545272B2 publication Critical patent/JP4545272B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To actualize a digital attenuator with smaller layout area without using any large-capacity memory. SOLUTION: A fine coefficient multiplication part 1 performs multiplication by a fine coefficient which enables an attenuation quantity to be set in 255 stages as to 0.5 dB steps. When a digital value is shifted by one digit, the value represented in decimal notation becomes 1/2 time or twice, so bit shift pulses are generated by using as a shift quantity the value of the quotient obtained by dividing an 8-bit attenuation quantity by 12 (=6dB/0.5dB) to perform bit shifting processing by a bit shift part 2. A rough coefficient multiplication part 3 which performs multiplication by a rough coefficient uses the value of the remainder of the mentioned division as addresses of a ROM and reads a 9-bit value '111111111' to '100001111' corresponding to remainder values '0' to '11' as the addresses out of the ROM, so that the attenuation quantity can be set in 0.5dB steps.

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 coefficient multiplying unit 1 that performs bit shift processing according to a quotient obtained by dividing the digital data by the number of attenuation steps, and a rough that multiplies the digital data by a rough coefficient generated according to the remainder obtained by the division. The coefficient multiplication unit 3 is included. In this way, in the present attenuator, digital value attenuation processing is realized by fine coefficient multiplication, bit shift processing, and rough coefficient multiplication. In this example, attenuation of (0.5 / 29) dB steps is realized in the fine coefficient multiplication in the fine coefficient multiplication unit 1. In addition, the bit shift processing in the bit shift unit 2 realizes 6 dB step attenuation. Further, attenuation of 0.5 dB step is realized in the rough coefficient multiplication in the rough coefficient multiplication unit 3.
[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 bit shift unit 2, bit shift is performed using a known shift register. In this bit shift processing, when the digital value is shifted by one digit, the value expressed in decimal number becomes 1/2 or double. Therefore, 20 log (1/2) = − 6 dB, 20 log 2 = 6 dB, and the attenuation value can be changed in increments of 6 dB at which the amplitude is halved or doubled. In this example, a bit shift pulse is generated using a quotient value obtained by dividing the 8-bit attenuation by 12 (= 6 dB / 0.5 dB) as a shift amount.
[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 coefficient multiplication unit 1 uses a 29-ary up / down counter. This counter is used to make a soft transition between set values of 0.5 dB steps. If the lower 5 bits of the coefficient 9 bits are changed one by one, the range of 0.5 dB can be changed in increments of 0.017 dB. That is, when down-counting from “111111111” to “111111110”, there is a difference of −0.017 dB between them. Similarly, when the up-count is performed from “111100011” to “111100100”, there is a difference of 0.017 dB between them. In this case, the upper 4 bits are fixed to “1111”. When the count value becomes “111111111” during the up-count operation or when the count value becomes “111100001” during the down-count operation, the rough coefficient is changed by one step as described later. .
[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 bit shift unit 2 uses the division quotient as the bit shift number, and shifts the data to the lower bit side or the upper bit side by that number. The rough coefficient multiplication unit 3 sets a range of 6 dB in 0.5 dB increments according to the remainder of the division.
[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 bit shift unit 2 and the rough coefficient multiplication unit 3 are set as indicated by asterisks in FIG. Therefore, attenuation processing of −6.0 dB is performed in the bit shift unit 2 and −1.0 dB is performed in the rough coefficient multiplication unit 3, so that the total attenuation amount is −7.0 dB.
[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 CPU interface 101 for outputting attenuation values set from the outside as digital data, and 8-bit digital data for each of the left channel and the right channel output from the CPU interface 101. Registers 102L and 102R to be held, a selector 103 for selecting digital data held in the registers 102L and 102R, respectively, and a 13-bit adder 104 having the digital data selected by the selector 103 as one of addition inputs It is configured to include. The selector 103 selects the output of the left channel register 102L when the select signal SELL is high level, and selects the output of the right channel register 102R when it is low level.
[0027]
Referring to the figure, the digital attenuator includes a 13-bit counter 105, a selector 106 having the higher 8 bits of the output of the counter 105 as an input, and an 8-bit adder having the output of the selector 106 as one of its inputs. 107 and a register 108 that holds the output of the adder 107. The 13-bit counter 105 is assumed to change the count value at the transition timing of the clock CLK2 obtained by dividing the clock CLK by 64. The selector 106 selects the output of the counter 105 when the select signal SELATT is at a high level, and selects the output of the register 108 when it is at a low level. The register 108 is reset when the reset signal RST is input.
[0028]
Further, referring to the figure, the digital attenuator includes the register 109 that holds the lower 5 bits of the 13-bit counter 105 with the upper 4 bits fixed to “1111” and the rough coefficient described above using the lower 4 bits of the register 108 as an address. Is read out, and the parallel-serial converter 110 that performs parallel-serial conversion on the data held in the register 109 and the data read out from the ROM 111 is configured.
[0029]
In the 13-bit adder 104, the output of the selector 103 is input to the upper 8 bits, and the remaining lower 5 bits are fixed to all “1”. The output of the 13-bit counter 105 is input to the other addition input of the 13-bit adder 104. The adder 104 outputs a difference between the two inputs, outputs a carry signal CARRY according to the difference between the two, and causes the 13-bit counter 105 to perform an up-count operation or a down-count operation. That is, the adder 104 operates as a comparator that compares two input values, the current attenuation amount and the desired attenuation amount. If the difference between the two is greater than zero, the 13-bit counter 105 is up-counted. On the other hand, if the difference between the two is smaller than zero, the 13-bit counter 105 is down-counted. If the difference between them is all zero, that is, they match, a stop signal STOP is generated, and the counting operation of the 13-bit counter 105 is stopped.
[0030]
The upper 8 bits of the 13-bit counter 105 are input to the 8-bit adder 107 via the selector 106. In the 8-bit adder 107, the function of the divider is realized by sequentially repeating the process of subtracting “12” and returning the result of the subtraction to the input side again via the register 108 and the selector 106. In this case, a pulse is output as much as “12” can be subtracted, and becomes a shift clock for the bit shift processing described above. That is, the quotient of the division processing result by the 8-bit adder 107 is input to the bit shift unit 2 described above as a bit shift clock. When “12” cannot be subtracted, the clock supplied to the register 108 is suppressed by the output of the AND gate 112. Due to this suppression, the remainder of the division processing result is held in the register 108.
[0031]
The 8-bit adder 107 receives “−12” as the other input during the period when the process of returning the result of subtracting “12” to the input side is repeated, and “0” during the other periods. It is assumed that it has been entered.
On the input side of the AND gate 112, an AND gate 113 that receives a clock CLK and a shift signal SFT that determines a bit shift operation period is provided.
As long as the clock is supplied to the register 108 via the AND gate 112, the bit shift clock SFTCK is output from the AND gate 114. For this reason, the bit shift clock SFTCK is output only when the clock CLK and the shift signal SFT are both input to the AND gate 113 and the above division processing is being performed.
[0032]
Further, the remainder (4 bits) of the division processing result is input to the ROM 111 as an address. From the ROM 111, the aforementioned rough coefficients are read out. The total 9-bit data is input to the parallel-serial converter 110, converted into serial data, and then output as the rough coefficient described above. Note that the data held in the register 108 is reset by a reset signal RST after a predetermined time has elapsed.
[0033]
The lower 5 bits of the 13-bit counter 105 are input to the register 109.
The upper 4 bits of the register 109 are fixed to “1111”. The total 9-bit data is input to the parallel-serial converter 110, converted into serial data, and then output as the fine coefficient described above.
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 shift register 113 for performing bit shift processing, an adder 114, a working register 115 for holding the addition result, an AND gate circuit 116 for multiplying a fine coefficient and a rough coefficient, A selector 117 for selecting one of the inputs of the AND gate circuit 116 is shown.
[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 gate circuit 116 via the selector 117, and a 9-bit input to the other of the inputs. The LSB1 bit of the fine coefficient is first multiplied. The multiplication result of the LSB1 bit of the fine coefficient and the data becomes one of the inputs of the adder 114a, and “0” is initially input to the other input. Therefore, the multiplication result passes as it is and is input and held in the shift register 113a. A shift clock is input to the shift register 113a in advance, and the stored contents are shifted to the lower side by 1 bit and output. This shifted data becomes one of the inputs of the adder 114a, and is added to the multiplication result of the data input to the other of the inputs and the second bit from the lower order of the 9-bit fine coefficient. Then, the result is again input and held in the shift register 113a, and the held content is shifted to the lower side by 1 bit and output, and the result of performing the same repeated addition nine times is the final multiplication result of the digital data and the fine coefficient, The data is held in the shift register 113a.
[0035]
Next, the shift register 113a performs bit shift processing for the number of divisions described above. Each time a bit shift clock is input, the stored content is shifted to the lower side or the upper side by one bit and output. The shifted data is again held in the shift register 113a via the adder 114a. Since the output of the AND gate 116a is all “0” during the period during which the bit shift process is being performed, only the bit shift of data is performed as much as the number of pulses of the bit shift clock. The data after the bit shift processing is input to the working register 115a and held.
[0036]
The data shifted by this bit shift and held in the working register 115 becomes one of the inputs of the AND gate circuit 116 again via the selector 117. At this time, a rough coefficient is input to the other input of the AND gate circuit 116, and both are repeatedly multiplied in the same manner as in the case of the fine coefficient. The final multiplication result of the data and the rough coefficient is input again to the working register 115 and held. This retained data is attenuated data and is derived as an attenuated output.
[0037]
In the above operation, the fine coefficient multiplication unit 1 in FIG. 1 is realized by the counter 105 in FIG. 5 which is an up / down counter, the AND gate circuit 116 in FIG. 6 which is a multiplier, and the like. Further, the bit shift unit 2 in FIG. 1 is realized by the shift register in FIG. 6 that performs the bit shift processing in accordance with the shift clock. Further, the ROM 111 in FIG. 5 which outputs a rough coefficient using the remainder value as an address, the AND gate circuit 116 in FIG. 6 which is a multiplier for multiplying the output rough coefficient, etc. The coefficient multiplication unit 3 is realized.
[0038]
In the above operation, the AND gate circuit 116 and the working register 115 are shared in two processes, the fine coefficient multiplication process and the rough coefficient multiplication process. In other words, since both of these multiplication processes are not performed simultaneously, as shown in FIG. 1, a single circuit is used in a time division manner rather than preparing physically separate circuits. . As a result, the circuit layout can be reduced in size and cost.
[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 register 109 is converted into serial data by the parallel-serial converter 110, and the converted data is output as a fine coefficient.
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 shift register 113 described above, and bit shift processing to the lower bit side or the upper bit side is performed.
[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 ROM 111 using this data as an address value. The rough coefficient is converted into serial data by the parallel-serial converter 110, and the converted data is output as a rough coefficient.
[0042]
During the above operation, a comparison process between the current value of the 13-bit counter 105 and the target attenuation value is performed in the 13-bit adder 104 described above. Then, a signal for counting up or counting down the 13-bit counter 105 or stopping the counting operation is generated according to the comparison result.
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 adder 104 shown in FIG. The changeable lower bits are generated by the counter 105, which is an up / down counter shown in FIG.
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 counter 105 in FIG. 5 which is an up / down counter.
[0048]
Further, in the present digital attenuator, the input portion of the register 102L (102R) ”and the adder 104 in FIG. 5 converts the n-bit input attenuation setting value and the m-bit data expanded to the lower order to (n + m) bits. The first storage means for storing the coefficient setting value is realized, and the second storage means for storing the current (n + m) -bit coefficient setting value is realized by the counter 105 in FIG. Furthermore, an updating means for updating the coefficient set value is realized by causing the counter 105 to perform an up-counting or down-counting operation according to the output of the adder 104 in FIG.
The lower m bits of the coefficient set value are held in the register 109 in FIG. 5 having a fixed upper k bits, thereby generating a fine coefficient.
[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 .
前記ファイン係数乗算手段は、前記比較結果に応じてカウント値が変化するアップダウンカウンタと、このカウント値を前記デジタルデータに乗算する乗算器とを含むことを特徴とする請求項1記載のデジタルアッテネータ。  2. The digital attenuator according to claim 1, wherein 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. . 前記ビットシフト手段は、前記デジタルデータを入力とするシフトレジスタを含み、前記シフトレジスタを前記商の値に応じてシフト制御するようにしたことを特徴とする請求項1記載のデジタルアッテネータ。  2. The digital attenuator according to claim 1, wherein 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. 前記ラフ係数乗算手段は、前記余りの値をアドレスとして前記ラフ係数を出力するメモリと、このメモリから出力されるラフ係数を前記デジタルデータに乗算する乗算器とを含むことを特徴とする請求項1記載のデジタルアッテネータ。  The rough coefficient multiplying unit 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. The digital attenuator according to 1. デジタルデータに係数データを乗算してデジタルデータを減衰するデジタルアッテネータであって、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の乗算手段において共用する乗算器を設け、これら乗算手段により該乗算器を時分割に用いることを特徴とするデジタルアッテネータ。
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 .
前記固定されたkビットのデータは全て「1」であることを特徴とする請求項5記載のデジタルアッテネータ。6. The digital attenuator according to claim 5, wherein all of the fixed k-bit data are “1”. 前記第2の乗算手段において乗算される係数データは、前記除算手段の余りの値をアドレスとし係数が記憶された記憶手段とから出力されることを特徴とする請求項5又は6記載のデジタルアッテネータ。7. The digital attenuator according to claim 5, wherein the coefficient data multiplied by the second multiplication means is output from a storage means in which a remainder value of the division means is used as an address and a coefficient is stored. . 入力されるデジタルデータについて外部から指定される指定減衰量に応じて減衰処理を行うデジタル減衰処理方法であって、現在の減衰量と前記指定減衰量との比較結果に応じて前記デジタルデータに乗算すべきファイン係数を変化させるファイン係数乗算ステップと、前記指定減衰量を減衰しうるステップ数で除算した商の値に応じて前記デジタルデータについてビットシフトを行うビットシフトステップと、前記除算による余りの値に応じて前記デジタルデータに乗算すべきラフ係数を変化させるラフ係数乗算ステップとを含み、前記ファイン係数乗算ステップ及び前記ラフ係数乗算ステップにおいて、これらの乗算を時分割で行うことを特徴とするデジタル減衰処理方法。A digital attenuation processing method for performing attenuation processing on input digital data according to a designated attenuation amount designated from the outside, and multiplying the digital data according to a comparison result between a current attenuation amount and the designated attenuation amount A fine coefficient multiplication step for changing a fine coefficient to be performed, a bit shift step for performing a 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, and a remainder of the division A rough coefficient multiplication step for changing a rough coefficient to be multiplied with the digital data according to a value, and performing the multiplication by time division in the fine coefficient multiplication step and the rough coefficient multiplication step. Digital attenuation processing method.
JP2000099181A 2000-03-31 2000-03-31 Digital attenuator and digital attenuation processing method Expired - Fee Related JP4545272B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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