JP4086459B2 - 固定小数点データ生成方法及び固定小数点データ生成回路 - Google Patents
固定小数点データ生成方法及び固定小数点データ生成回路 Download PDFInfo
- Publication number
- JP4086459B2 JP4086459B2 JP2000345317A JP2000345317A JP4086459B2 JP 4086459 B2 JP4086459 B2 JP 4086459B2 JP 2000345317 A JP2000345317 A JP 2000345317A JP 2000345317 A JP2000345317 A JP 2000345317A JP 4086459 B2 JP4086459 B2 JP 4086459B2
- Authority
- JP
- Japan
- Prior art keywords
- point data
- fixed
- floating
- value
- bit
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/4991—Overflow or underflow
- G06F7/49921—Saturation, i.e. clipping the result to a minimum or maximum value
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49936—Normalisation mentioned as feature only
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Nonlinear Science (AREA)
- Error Detection And Correction (AREA)
Description
【発明の属する技術分野】
本発明は、浮動小数点データから固定小数点データを生成する固定小数点データ生成方法及び固定小数点データ生成回路に関し、特に、浮動小数点データから、Wide-Band Code Division Multiple Access(以下、W−CDMAと略する)におけるViterbi復号器に入力される固定小数点データを生成する固定小数点データ生成方法及び固定小数点データ生成回路に関する。
【0002】
【従来の技術】
図9は、従来の、浮動小数点データから固定小数点データを生成してViterbi復号を行う回路の一例を示す図であり、図10は、図9に示した回路を用いた、浮動小数点データから固定小数点データを生成してViterbi復号を行う方法を説明するためのフローチャートである。
【0003】
本従来例においては、浮動小数点データが入力されると(ステップS101)、まず、最適化回路101において、入力された浮動小数点データが下記式を用いて固定小数点データに変換される(ステップS102)。
【0004】
【数1】
【0005】
上記式にて変換された固定小数点データはViterbi復号回路102に入力され(ステップS103)、Viterbi復号回路102において、入力された固定小数点データを用いてViterbi復号が行われる(ステップS104)。
【0006】
その後、ステップS104におけるViterbi復号結果がViterbi復号回路102から出力される(ステップS105)。
【0007】
【発明が解決しようとする課題】
しかしながら、上述したような従来のものにおいては、入力された浮動小数点データから固定小数点データを生成する最適化回路において除算処理を行うための除算回路を設ける必要があるため、回路規模が増大してしまうという問題点がある。
【0008】
また、Viterbi入力bit幅が固定であるため、固定したbit分の復号精度しかViterbi復号率を向上させることができないという問題点がある。
【0009】
本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、回路規模を縮小させながらもビット復号率を向上させることができる固定小数点データ生成方法及び固定小数点データ生成回路を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記目的を達成するために本発明は、
浮動小数点データから固定小数点データを生成する固定小数点データ生成方法であって、
前記浮動小数点データのうち最小となる浮動小数点データを検出する処理と、
前記浮動小数点データの指数部の値と前記最小となる浮動小数点データの指数部の値との差分を求める処理と、
前記浮動小数点データの仮数部を前記差分だけシフトさせる処理と、
前記シフトさせた仮数部のうち所定のビット数を前記固定小数点データとして抽出する処理とを有し、
前記固定小数点データとして抽出するビットにオーバーフローが生じている場合、抽出するビットにて最大値を表現することを特徴とする。
また、 浮動小数点データから固定小数点データを生成する固定小数点データ生成方法であって、
前記浮動小数点データのうち最大となる浮動小数点データを検出する処理と、
前記浮動小数点データの指数部の値と前記最大となる浮動小数点データの指数部の値との差分を求める処理と、
前記浮動小数点データの仮数部を前記差分だけシフトさせる処理と、
前記シフトさせた仮数部のうち所定のビット数を前記固定小数点データとして抽出する処理とを有し、
前記固定小数点データとして抽出するビットにオーバーフローが生じている場合、抽出するビットにて最大値を表現することを特徴とする。
【0012】
また、浮動小数点データから固定小数点データを生成する固定小数点データ生成方法であって、
前記浮動小数点データの平均値を算出する処理と、
前記浮動小数点データの指数部の値と前記平均値となる浮動小数点データの指数部の値との差分を求める処理と、
前記浮動小数点データの仮数部を前記差分だけシフトさせる処理と、
前記シフトさせた仮数部のうち所定のビット数を前記固定小数点データとして抽出する処理とを有することを特徴とする。
【0013】
また、前記固定小数点データとして抽出されるビットの位置は、予め決められていることを特徴とする。
【0014】
また、前記固定小数点データとして抽出するビットにオーバーフローが生じている場合、抽出するビットにて最大値を表現することを特徴とする。
【0016】
また、複数の浮動小数点データが入力され、該複数の浮動小数点データをそれぞれ固定小数点データに変換する固定小数点データ生成回路であって、
前記浮動小数点データのうち最小となる浮動小数点データを検出する指数部最小値検出手段と、
前記入力される複数の浮動小数点データの指数部の値と前記指数部最小値検出手段にて最小値として検出された浮動小数点データの指数部の値との差分を求める指数部減算手段と、
前記浮動小数点データの仮数部を前記指数部減算手段にて求められた差分だけシフトさせるシフト手段と、
前記シフト手段にてシフトさせた仮数部のうち所定のビット数を前記固定小数点データとして抽出するビット抽出手段とを有し、
前記ビット抽出手段は、前記固定小数点データとして抽出するビットにオーバーフローが生じている場合、抽出するビットにて最大値を表現することを特徴とする。
また、複数の浮動小数点データが入力され、該複数の浮動小数点データをそれぞれ固定小数点データに変換する固定小数点データ生成回路であって、
前記浮動小数点データのうち最大となる浮動小数点データを検出する指数部最大値検出手段と、
前記入力される複数の浮動小数点データの指数部の値と前記指数部最大値検出手段にて最大値として検出された浮動小数点データの指数部の値との差分を求める指数部減算手段と、
前記浮動小数点データの仮数部を前記指数部減算手段にて求められた差分だけシフトさせるシフト手段と、
前記シフト手段にてシフトさせた仮数部のうち所定のビット数を前記固定小数点データとして抽出するビット抽出手段とを有し、
前記ビット抽出手段は、前記固定小数点データとして抽出するビットにオーバーフローが生じている場合、抽出するビットにて最大値を表現することを特徴とする。
【0017】
また、複数の浮動小数点データが入力され、該複数の浮動小数点データをそれぞれ固定小数点データに変換する固定小数点データ生成回路であって、
前記浮動小数点データの平均値を算出する指数部平均値算出手段と、
前記入力される複数の浮動小数点データの指数部の値と前記指数部平均値算出検出手段にて算出された平均値の指数部の値との差分を求める指数部減算手段と、
前記浮動小数点データの仮数部を前記指数部減算手段にて求められた差分だけシフトさせるシフト手段と、
前記シフト手段にてシフトさせた仮数部のうち所定のビット数を前記固定小数点データとして抽出するビット抽出手段とを有することを特徴とする。
【0018】
また、前記ビット抽出手段は、前記固定小数点データとして抽出されるビットの位置を、予め決められた位置とすることを特徴とする。
【0019】
また、前記ビット抽出手段は、前記固定小数点データとして抽出するビットにオーバーフローが生じている場合、抽出するビットにて最大値を表現することを特徴とする。
【0020】
(作用)
上記のように構成された本発明においては、複数の浮動小数点データが入力されると、まず、複数の浮動小数点データの中から最小となる浮動小数点データが検出され、入力される複数の浮動小数点データの指数部の値と最小となる浮動小数点データの指数部の値との差分が求められる。その後、入力された浮動小数点データの仮数部が差分だけシフトさせられ、シフトした仮数部のうち所定のビット数が固定小数点データとして抽出される。
【0021】
このように、入力される浮動小数点データの比較及び減算処理のみにより、浮動小数点データから固定小数点データが生成されるので、回路規模が大型化することはない。
【0022】
また、入力された複数の浮動小数点データの平均値を算出し、この平均値の指数部の値と入力される複数の浮動小数点データの指数部の値との差分を求める場合においても、この差分だけ浮動小数点データの仮数部がシフトさせられ、シフトした仮数部のうち所定のビット数が固定小数点データとして抽出される。
【0023】
また、固定小数点データとして抽出されるビットの位置が、復号率の高いビット位置に予め決められている場合は、復号率が向上する。
【0024】
【発明の実施の形態】
以下に、本発明の実施の形態について図面を参照して説明する。
【0025】
(関連技術)
図1は、本発明の固定小数点データ生成回路の関連技術の一構成例を示すブロック図である。
【0026】
本構成例は図1に示すように、入力された浮動小数点データのうち最大となる浮動小数点データを検出する指数部MAX値検出回路10と、入力された浮動小数点データの指数部の値を指数部MAX値検出回路10にて最大値として検出された浮動小数点データの指数部の値から減算する指数部減算器20と、指数部減算器20における減算結果に基づいて、入力された浮動小数点データの仮数部の値をシフトさせるシフトレジスタ30と、シフトレジスタ30にてシフトした仮数部から所定のビット数だけViterbi復号回路(不図示)に入力される固定小数点データとして抽出するビット抽出部40とから構成されている。
【0027】
以下に、上記のように構成された固定小数点データ生成回路における固定小数点データ生成方法についてフローチャートを参照して説明する。
【0028】
図2は、図1に示した固定小数点データ生成回路における固定小数点データ生成方法を説明するためのフローチャートである。
【0029】
浮動小数点データが入力されると(ステップS1)、まず、指数部MAX値検出回路10において、入力された浮動小数点データの中から最大となる浮動小数点データが検出される(ステップS2)。
【0030】
【数2】
【0031】
次に、入力された浮動小数点データの指数部を最大値に合わせ込むため、指数部減算器20において、入力された浮動小数点データの指数部の値が指数部MAX値検出回路10にて最大値として検出された浮動小数点データの指数部の値から減算され、シフト量として出力される(ステップS3)。
【0032】
【数3】
【0033】
次に、シフトレジスタ30において、式(3)にて算出されたシフト量に基づいて、入力された浮動小数点データの仮数部の値がシフトされる(ステップS4)。
【0034】
【数4】
【0035】
次に、ビット抽出部40において、シフトレジスタ30にてシフトされた仮数部から所定のビット数だけViterbi復号回路に入力される固定小数点データとしてとして抽出される(ステップS5)。なお、この際、抽出するビット位置を復号率の高いビット位置に固定すれば、復号精度を向上させることができる。
【0036】
また、ビット抽出部40においては、抽出するビットにおいてオーバーフローが生じた場合は、抽出されたビットにて最大値を表現することにより飽和処理が行われ(ステップS6)、データの最適化が図られる。
【0037】
その後、ビット抽出部40にて抽出された固定小数点データがViterbi復号回路に入力され(ステップS7)、Viterbi復号回路において、入力された固定小数点データを用いてViterbi復号が行われる(ステップS8)。
【0038】
以下に、上述した一連の処理について、Viterbi復号回路に4ビットのデータが入力される場合を例を挙げて説明する。
【0039】
入力されるデータは仮数部(符号ビット込み)8ビット、指数部4ビットとし、出力を4ビットとし、以下の3つの浮動小数点データが入力されたとものする。
仮数部 | 指数部
#1: 0110 0100 | 0100 =100×24=1600
#2: 0110 0000 | 0110 =96×26=6144
#3: 0110 1000 | 0101 =104×25=3328
まず、指数部MAX値検出回路10において、入力された浮動小数点データの中から最大となる浮動小数点データを検出する。ここで、上述した3つの浮動小数点データのうち最大となる浮動小数点データは#2となるため、浮動小数点データ#2が最大値として検出される。
【0040】
次に、指数部減算器20において、入力された全ての浮動小数点データの指数部を合わせ込むために、最大値となる浮動小数点データ#2の指数部の値から入力された浮動小数点データの指数部の値を減算する。ここで、上述した3つの浮動小数点データにおいては、
#2−#1= 0110 − 0100 = 0010
#2−#3= 0110 − 0101 = 0001
となる。
【0041】
次に、シフトレジスタ30において、上述した減算結果に基づいて、浮動小数点データ#1,#3の仮数部をシフトさせ、それにより、浮動小数点データ#1,#3を浮動小数点データ#2と同一指数で表現する。
#2−#1= 0110 − 0100 = 0010
により、浮動小数点データ#1の仮数部の値を2ビットシフトさせ、また、
#2−#3= 0110 − 0101 = 0001
により、浮動小数点データ#3の仮数部の値を1ビットシフトさせる。
【0042】
これにより、
仮数部 | 指数部
#1: 0001 1001 | 0110 =25×26=1600(仮数部:2ビットシフト)
#2: 0110 0000 | 0110 =96×26=6144
#3: 0011 0100 | 0110 =52×26=3328(仮数部:1ビットシフト)
となる。
【0043】
その後、ビット抽出部40において、浮動小数点データ#1〜#3のそれぞれについて、MSBビット側から所定の出力ビット幅だけ抽出し、Viterbi入力データとする。
仮数部 | Viterbi入力データ(4ビット)
#1: 0001 1001 | to 0001
#2: 0110 0000 | to 0110
#3: 0011 0100 | to 0011
上述したような一連の処理は、指数部ビット分の減算器と、比較器と、シフトレジスタとを用いることによって実現することができる。
【0044】
さらに、ビット抽出部40にて抽出されるビット以外の下位ビットを有効にすることで、Viterbi復号の精度を向上することができる。
【0045】
以下に精度向上のための、ビット抽出部40におけるビット抽出処理について説明する。
【0046】
ビット抽出部40にて抽出するビットに対し、抜き出すデータのビット位置を変更して切り捨ての下位ビットを有効にし、それにより、Viterbi復号率の精度を向上させる。
【0047】
以下に、具体例を挙げて説明する。
【0048】
上述したデータ
#1: 0001 1001 | 0110 =25×26=1600(仮数部:2ビットシフト)
#2: 0110 0000 | 0110 =96×26=6144
#3: 0011 0100 | 0110 =52×26=3328(仮数部:1ビットシフト)
に対して、ビット抽出部40にて抽出されるビットを、それぞれMSBビット側から(符号ビットは除く)2ビット目を先頭とすると、
仮数部 | Viterbi入力データ(4ビット)
#1: 0001 1001 | to 0011
#2: 0110 0000 | to 0100
#3: 0011 0100 | to 0110
となる。ここで、このままでは、#2にてオーバーフローが生じているため、#2のビット内にて最大値を表現することにより飽和処理を行う。
#1: 0001 1001 | to 0011
#2: 0110 0000 | to 0111(飽和処理)
#3: 0011 0100 | to 0110
なお、ビット抽出部40にて抽出するビットの設定においては、抽出するビット位置をパラメータで設定し、Viterbi復号率の高い設定値を固定値とする。
【0049】
図3は、減算器を用いた固定小数点データ生成回路の回路規模と除算器を用いた固定小数点データ生成回路の回路規模を示すグラフである。
【0050】
図3に示すように、図1に示した固定小数点データ生成回路のように減算器で構成した固定小数点データ生成回路は、除算器を用いた固定小数点データ生成回路に比べて回路面積を縮小することができる。
【0051】
図4は、図1に示した固定小数点データ生成回路及び従来の固定小数点データ生成回路におけるビット誤り率(BER:Bit Error Rate)特性を示すグラフであり、Eb/No(1ビット当りのエネルギー対雑音電力密度比)毎の復号率を示す。
【0052】
図4に示すように、従来の固定小数点データ生成回路と図1に示した固定小数点データ生成回路において、同等の浮動小数点データを入力とし、Viterbi復号器への入力ビットを8ビットとした場合のEb/NoにおけるBER値を比較すると、Eb/No=6dB付近においては、従来の固定小数点データ生成回路が、BER=1.00E−02(データ数100個に対し、1個の割合で復号できない)であるのに対して、図1に示した固定小数点データ生成回路においては、BER=1.00E−03(データ数1000個に対し、1個の割合で復号できない)となり、復号精度が向上していることがわかる。
【0053】
(第1の実施の形態)
図5は、本発明の固定小数点データ生成回路の第1の実施の形態を示すブロック図である。
【0054】
本形態は図5に示すように、入力された浮動小数点データのうち最小となる浮動小数点データを検出する指数部MIN値検出回路11と、入力された浮動小数点データの指数部の値から指数部MIN値検出回路11にて最小値として検出された指数部の値を減算する指数部減算器21と、指数部減算器21における減算結果に基づいて、入力された浮動小数点データの仮数部の値をシフトさせるシフトレジスタ30と、シフトレジスタ30にてシフトした仮数部から所定のビット数だけViterbi復号回路(不図示)に入力される固定小数点データとして抽出するビット抽出部40とから構成されている。
【0055】
以下に、上記のように構成された固定小数点データ生成回路における固定小数点データ生成方法についてフローチャートを参照して説明する。
【0056】
図6は、図5に示した固定小数点データ生成回路における固定小数点データ生成方法を説明するためのフローチャートである。
【0057】
浮動小数点データが入力されると(ステップS11)、まず、指数部MIN値検出回路10において、入力された浮動小数点データの中から最小となる浮動小数点データが検出される(ステップS12)。
【0058】
【数5】
【0059】
次に、入力された浮動小数点データの指数部を最小値に合わせ込むため、指数部減算器21において、入力された浮動小数点データの指数部の値から指数部MIN値検出回路11にて最小値として検出された浮動小数点データの指数部の値が減算され、シフト量として出力される(ステップS13)。
【0060】
【数6】
【0061】
次に、シフトレジスタ30において、式(6)にて算出されたシフト量に基づいて、入力された浮動小数点データの仮数部の値がシフトされる(ステップS14)。
【0062】
【数7】
【0063】
ここで、シフトされたビットにオーバーフローが生じた場合は、ビット内にて最大値を表現することにより飽和処理が行われる(ステップS15)。
【0064】
次に、ビット抽出部40において、シフトレジスタ30にてシフトされた仮数部から所定のビット数だけViterbi復号回路に入力される固定小数点データとしてとして抽出される(ステップS16)。なお、この際、抽出するビット位置を復号率の高いビット位置に固定すれば、復号精度を向上させることができる。
【0065】
また、ビット抽出部40においては、抽出するビットにおいてオーバーフローが生じた場合は、抽出されたビットにて最大値を表現することにより飽和処理が行われ(ステップS17)、データの最適化が図られる。
【0066】
その後、ビット抽出部40にて抽出された固定小数点データがViterbi復号回路に入力され(ステップS18)、Viterbi復号回路において、入力された固定小数点データを用いてViterbi復号が行われる(ステップS19)。
【0067】
(第2の実施の形態)
図7は、本発明の固定小数点データ生成回路の第2の実施の形態を示すブロック図である。
【0068】
本形態は図7に示すように、入力された浮動小数点データの平均値を算出する指数部平均値算出回路12と、入力された浮動小数点データの指数部の値と指数部平均値算出回路12にて算出された平均値の指数部の値との差分を求める指数部減算器22と、指数部減算器22にて求められた差分に基づいて、入力された浮動小数点データの仮数部の値をシフトさせるシフトレジスタ30と、シフトレジスタ30にてシフトした仮数部から所定のビット数だけViterbi復号回路(不図示)に入力される固定小数点データとして抽出するビット抽出部40とから構成されている。
【0069】
以下に、上記のように構成された固定小数点データ生成回路における固定小数点データ生成方法についてフローチャートを参照して説明する。
【0070】
図8は、図7に示した固定小数点データ生成回路における固定小数点データ生成方法を説明するためのフローチャートである。
【0071】
浮動小数点データが入力されると(ステップS21)、まず、指数部平均値算出回路12において、入力された浮動小数点データの平均値が算出される(ステップS22)。
【0072】
【数8】
【0073】
次に、入力された浮動小数点データの指数部を平均値に合わせ込むため、指数部減算器22において、入力された浮動小数点データの指数部の値と指数部平均値算出回路12にて算出された平均値の指数部の値との差分が求められ、シフト量として出力される(ステップS23)。
【0074】
【数9】
【0075】
次に、シフトレジスタ30において、式(9)にて算出されたシフト量に基づいて、入力された浮動小数点データの仮数部の値がシフトされる(ステップS24)。ここで、本形態のように浮動小数点データの平均値を用いてシフト量を算出する場合、MSBビット側、LSBビット側のどちらにも仮数部の値がシフトする可能性があり、固定小数点データ算出時のシフトレジスタ30の動作には、以下の2通りの式が成り立つ。
【0076】
【数10】
【0077】
また、シフトされたビットにオーバーフローが生じた場合は、ビット内にて最大値を表現することにより飽和処理が行われる(ステップS25)。
【0078】
次に、ビット抽出部40において、シフトレジスタ30にてシフトされた仮数部から所定のビット数だけViterbi復号回路に入力される固定小数点データとしてとして抽出される(ステップS26)。なお、この際、抽出するビット位置を復号率の高いビット位置に固定すれば、復号精度を向上させることができる。
【0079】
また、ビット抽出部40においては、抽出するビットにおいてオーバーフローが生じた場合は、抽出されたビットにて最大値を表現することにより飽和処理が行われ(ステップS27)、データの最適化が図られる。
【0080】
その後、ビット抽出部40にて抽出された固定小数点データがViterbi復号回路に入力され(ステップS28)、Viterbi復号回路において、入力された固定小数点データを用いてViterbi復号が行われる(ステップS29)。
【0081】
【発明の効果】
以上説明したように本発明においては、複数の浮動小数点データの中から指数部が最小となる浮動小数点データが検出され、入力される複数の浮動小数点データの指数部の値と最小となる浮動小数点データの指数部の値との差分が求められ、その後、入力された浮動小数点データの仮数部が差分だけシフトさせられ、シフトした仮数部のうち所定のビット数が固定小数点データとして抽出され構成としたため、入力される浮動小数点データの比較及び減算処理のみにより浮動小数点データから固定小数点データが生成され、入力された浮動小数点データに対する最適化を図ることができるとともに、回路規模を縮小することができる。
【0082】
また、入力された複数の浮動小数点データの平均値を算出し、この平均値の指数部の値と入力される複数の浮動小数点データの指数部の値との差分を求めた場合においても、上記同様の効果を奏する。
【0083】
また、固定小数点データとして抽出されるビットの位置が、復号率の高いビット位置に予め決められているものにおいては、復号率を向上させることができる。
【図面の簡単な説明】
【図1】 本発明の固定小数点データ生成回路の関連技術の一構成例を示すブロック図である。
【図2】 図1に示した固定小数点データ生成回路における固定小数点データ生成方法を説明するためのフローチャートである。
【図3】 減算器を用いた固定小数点データ生成回路の回路規模と除算器を用いた固定小数点データ生成回路の回路規模を示すグラフである。
【図4】 図1に示した固定小数点データ生成回路及び従来の固定小数点データ生成回路におけるビット誤り率特性を示すグラフである。
【図5】 本発明の固定小数点データ生成回路の第1の実施の形態を示すブロック図である。
【図6】 図5に示した固定小数点データ生成回路における固定小数点データ生成方法を説明するためのフローチャートである。
【図7】 本発明の固定小数点データ生成回路の第2の実施の形態を示すブロック図である。
【図8】 図7に示した固定小数点データ生成回路における固定小数点データ生成方法を説明するためのフローチャートである。
【図9】 従来の、浮動小数点データから固定小数点データを生成してViterbi復号を行う回路の一例を示す図である。
【図10】 図9に示した回路を用いた、浮動小数点データから固定小数点データを生成してViterbi復号を行う方法を説明するためのフローチャートである。
【符号の説明】
10 指数部MAX値検出回路
11 指数部MIN値検出回路
12 指数部平均値算出回路
20〜22 指数部減算器
30 シフトレジスタ
40 ビット抽出部
Claims (10)
- 浮動小数点データから固定小数点データを生成する固定小数点データ
生成方法であって、
前記浮動小数点データのうち、最大となる指数部の値を求める処理と、
前記浮動小数点データの指数部の値と前記最大となる指数部の値との差分を求める処理と、
前記浮動小数点データの仮数部を前記差分だけシフトさせる処理と、
前記シフトさせた仮数部のうち、MSBビット側(符号ビットは除く)から2ビット目を先頭とするビット列から所定のビット数を前記固定小数点データとして抽出する処理とを有し、
前記固定小数点データとして抽出するビットにオーバーフローが生じている場合、抽出するビットにて最大値を表現することを特徴とする固定小数点データ生成方法。 - 浮動小数点データから固定小数点データを生成する固定小数点データ
生成方法であって、
前記浮動小数点データのうち、最小となる指数部の値を求める処理と、
前記浮動小数点データの指数部の値と前記最小となる指数部の値との差分を求める処理と、
前記浮動小数点データの仮数部を前記差分だけシフトさせる処理と、
前記シフトさせた仮数部のうち所定のビット数を前記固定小数点データとして抽出する処理とを有し、
前記固定小数点データとして抽出するビットにオーバーフローが生じている場合、抽出するビットにて最大値を表現することを特徴とする固定小数点データ生成方法。 - 浮動小数点データから固定小数点データを生成する固定小数点データ
生成方法であって、
前記浮動小数点データの平均値を算出する処理と、
前記浮動小数点データの指数部の値と前記平均値の指数部の値との差分を求める処理と、
前記浮動小数点データの仮数部を前記差分だけシフトさせる処理と、
前記シフトさせた仮数部のうち所定のビット数を前記固定小数点データとして抽出する処理とを有することを特徴とする固定小数点データ生成方法。 - 請求項2又は3のいずれか1項に記載の固定小数点データ生成方法に
おいて、
前記固定小数点データとして抽出されるビットの位置は、予め決められていることを特徴とする固定小数点データ生成方法。 - 請求項3に記載の固定小数点データ生成方法において、
前記固定小数点データとして抽出するビットにオーバーフローが生じている場合、抽出するビットにて最大値を表現することを特徴とする固定小数点データ生成方法。 - 複数の浮動小数点データが入力され、該複数の浮動小数点データをそれぞれ固定小数点データに変換する固定小数点データ生成回路であって、
前記浮動小数点データのうち最大指数値を求める手段と、
前記入力される複数の浮動小数点データの指数部の値と前記最大指数値との差分を求める指数部減算手段と、
前記浮動小数点データの仮数部を前記指数部減算手段にて求められた差分だけシフトさせるシフト手段と、
前記シフト手段にてシフトさせた仮数部のうち、MSBビット側(符号ビットは除く)か ら2ビット目を先頭とするビット列から所定のビット数を前記固定小数点データとして抽出するビット抽出手段とを有し、
前記ビット抽出手段は、前記固定小数点データとして抽出するビットにオーバーフローが生じている場合、抽出するビットにて最大値を表現することを特徴とする固定小数点データ生成回路。 - 複数の浮動小数点データが入力され、該複数の浮動小数点データをそれぞれ固定小数点データに変換する固定小数点データ生成回路であって、
前記浮動小数点データのうち最小指数値を求める手段と、
前記入力される複数の浮動小数点データの指数部の値と前記最小指数値との差分を求める指数部減算手段と、
前記浮動小数点データの仮数部を前記指数部減算手段にて求められた差分だけシフトさせるシフト手段と、
前記シフト手段にてシフトさせた仮数部のうち所定のビット数を前記固定小数点データとして抽出するビット抽出手段とを有し、
前記ビット抽出手段は、前記固定小数点データとして抽出するビットにオーバーフローが生じている場合、抽出するビットにて最大値を表現することを特徴とする固定小数点データ生成回路。 - 複数の浮動小数点データが入力され、該複数の浮動小数点データをそれぞれ固定小数点データに変換する固定小数点データ生成回路であって、
前記浮動小数点データの平均値を算出する指数部平均値算出手段と、
前記入力される複数の浮動小数点データの指数部の値と前記指数部平均値算出検出手段にて算出された平均値の指数部の値との差分を求める指数部減算手段と、
前記浮動小数点データの仮数部を前記指数部減算手段にて求められた差分だけシフトさせるシフト手段と、
前記シフト手段にてシフトさせた仮数部のうち所定のビット数を前記固定小数点データとして抽出するビット抽出手段とを有することを特徴とする固定小数点データ生成回路。 - 請求項7又は8のいずれか1項に記載の固定小数点データ生成回路に
おいて、
前記ビット抽出手段は、前記固定小数点データとして抽出されるビットの位置を、予め決められた位置とすることを特徴とする固定小数点データ生成回路。 - 請求項8に記載の固定小数点データ生成回路において、
前記ビット抽出手段は、前記固定小数点データとして抽出するビットにオーバーフローが生じている場合、抽出するビットにて最大値を表現することを特徴とする固定小数点データ生成回路。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000345317A JP4086459B2 (ja) | 2000-11-13 | 2000-11-13 | 固定小数点データ生成方法及び固定小数点データ生成回路 |
US09/986,748 US7263539B2 (en) | 2000-11-13 | 2001-11-09 | Circuit and method for generating fixed point data with reduced circuit scale |
KR10-2001-0070051A KR100443395B1 (ko) | 2000-11-13 | 2001-11-12 | 축소된 회로 규모로 고정 소수점 데이터를 생성하는 회로및 방법 |
CNB011349050A CN1173501C (zh) | 2000-11-13 | 2001-11-12 | 用于产生定点数据的电路和方法 |
GB0127165A GB2371649B (en) | 2000-11-13 | 2001-11-12 | Circuit and method for generating fixed point data with reduced circuit scale |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000345317A JP4086459B2 (ja) | 2000-11-13 | 2000-11-13 | 固定小数点データ生成方法及び固定小数点データ生成回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002149397A JP2002149397A (ja) | 2002-05-24 |
JP4086459B2 true JP4086459B2 (ja) | 2008-05-14 |
Family
ID=18819369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000345317A Expired - Fee Related JP4086459B2 (ja) | 2000-11-13 | 2000-11-13 | 固定小数点データ生成方法及び固定小数点データ生成回路 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7263539B2 (ja) |
JP (1) | JP4086459B2 (ja) |
KR (1) | KR100443395B1 (ja) |
CN (1) | CN1173501C (ja) |
GB (1) | GB2371649B (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040153484A1 (en) * | 2003-01-31 | 2004-08-05 | Takahiro Unno | Fixed-point filter and method |
CN100410871C (zh) * | 2003-07-23 | 2008-08-13 | 联发科技股份有限公司 | 应用跳跃式浮点数运算法的数字讯号处理器 |
CN1658153B (zh) * | 2004-02-18 | 2010-04-28 | 联发科技股份有限公司 | 复合式动态定点数表示法与运算法及其处理器结构 |
US7389499B2 (en) * | 2004-10-21 | 2008-06-17 | International Business Machines Corporation | Method and apparatus for automatically converting numeric data to a processor efficient format for performing arithmetic operations |
AU2006202143A1 (en) * | 2005-06-23 | 2007-01-11 | Nec Australia Pty Ltd | MBMS soft combining |
JP4523885B2 (ja) * | 2005-06-30 | 2010-08-11 | 日本電信電話株式会社 | 信号の符号化装置、方法、プログラムおよび記録媒体 |
US7873212B2 (en) * | 2006-01-24 | 2011-01-18 | Nokia Corporation | Compression of images for computer graphics |
JP4861087B2 (ja) | 2006-07-31 | 2012-01-25 | 富士通株式会社 | 演算プログラム変換装置、演算プログラム変換プログラム、演算プログラム変換方法 |
KR100887327B1 (ko) * | 2006-08-25 | 2009-03-05 | 엠텍비젼 주식회사 | 다양한 정밀도에 대한 고속 부동 소수점 연산을 수행하는방법, 프로그래밍 구조 및 기록 매체 |
JP2010170196A (ja) | 2009-01-20 | 2010-08-05 | Sony Corp | 演算プログラム変換装置、演算プログラム変換方法およびプログラム |
US8402075B2 (en) * | 2009-03-16 | 2013-03-19 | Advanced Micro Devices, Inc. | Mechanism for fast detection of overshift in a floating point unit of a processing device |
KR101084581B1 (ko) | 2009-11-02 | 2011-11-17 | 전자부품연구원 | 고정 소수점 지수함수 연산 방법, 장치 및 기록매체 |
CN103069381B (zh) * | 2010-07-01 | 2016-06-01 | 瑞典爱立信有限公司 | 循环浮点数生成器、循环浮点数加法器、生成循环浮点数方法及循环浮点数相加方法 |
CN101907985B (zh) * | 2010-08-06 | 2013-03-20 | 上海交通大学 | 信息定点化处理装置及其处理方法 |
CN103458460B (zh) * | 2012-05-31 | 2017-04-12 | 国际商业机器公司 | 对信号数据进行压缩和解压缩的方法和装置 |
JP5935613B2 (ja) * | 2012-09-14 | 2016-06-15 | 富士通株式会社 | 受信機および軟判定データ処理方法 |
US8743493B1 (en) * | 2013-01-16 | 2014-06-03 | Lsi Corporation | Fixed-point processing using quantization levels based on floating-point processing |
US20160019027A1 (en) * | 2014-07-15 | 2016-01-21 | Qualcomm Incorporated | Vector scaling instructions for use in an arithmetic logic unit |
CN108628807B (zh) * | 2017-03-20 | 2022-11-25 | 北京百度网讯科技有限公司 | 浮点数矩阵的处理方法、装置、设备及计算机可读存储介质 |
GB2556645B (en) * | 2017-03-24 | 2019-04-03 | Imagination Tech Ltd | Floating point to fixed point conversion |
CN113625989B (zh) * | 2021-07-16 | 2024-06-28 | 深圳云天励飞技术股份有限公司 | 数据运算装置、方法、电子设备及存储介质 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6126135A (ja) | 1984-07-16 | 1986-02-05 | Nec Corp | 浮動小数点デ−タ変換回路 |
JPS61210426A (ja) | 1985-03-14 | 1986-09-18 | Fujitsu Ltd | 書式変換回路 |
JP2509279B2 (ja) | 1988-02-16 | 1996-06-19 | 富士通株式会社 | 浮動小数点数一固定小数点数変換装置 |
US4999801A (en) * | 1988-07-15 | 1991-03-12 | Fujitsu Limited | Floating point operation unit in division and square root operations |
JP2693800B2 (ja) * | 1988-12-28 | 1997-12-24 | 甲府日本電気株式会社 | 浮動小数点データ総和演算回路 |
JPH04290122A (ja) * | 1991-03-19 | 1992-10-14 | Fujitsu Ltd | 数値表現変換装置 |
JPH0553759A (ja) * | 1991-08-22 | 1993-03-05 | Nec Corp | 固定小数点演算ユニツト |
JPH05274116A (ja) | 1992-03-26 | 1993-10-22 | Matsushita Electric Ind Co Ltd | 浮動小数点演算装置 |
US5359548A (en) * | 1992-04-15 | 1994-10-25 | Fujitsu Limited | Floating-point arithmetic system having multiple-input addition and subtraction means |
JPH0784755A (ja) | 1993-09-16 | 1995-03-31 | Toshiba Corp | デジタル信号処理装置 |
JPH07199996A (ja) | 1993-11-29 | 1995-08-04 | Casio Comput Co Ltd | 波形データ符号化装置、波形データ符号化方法、波形データ復号装置、及び波形データ符号化/復号装置 |
JP3384470B2 (ja) | 1994-09-30 | 2003-03-10 | ソニー株式会社 | 数値変換装置および方法、並びに座標値整数化装置および方法 |
US5619198A (en) * | 1994-12-29 | 1997-04-08 | Tektronix, Inc. | Number format conversion apparatus for signal processing |
US5901076A (en) | 1997-04-16 | 1999-05-04 | Advanced Micro Designs, Inc. | Ripple carry shifter in a floating point arithmetic unit of a microprocessor |
KR19990065218A (ko) * | 1998-01-09 | 1999-08-05 | 윤종용 | 디지탈 회로 설계 방법 |
US6070263A (en) | 1998-04-20 | 2000-05-30 | Motorola, Inc. | Circuit for use in a Viterbi decoder |
-
2000
- 2000-11-13 JP JP2000345317A patent/JP4086459B2/ja not_active Expired - Fee Related
-
2001
- 2001-11-09 US US09/986,748 patent/US7263539B2/en not_active Expired - Fee Related
- 2001-11-12 CN CNB011349050A patent/CN1173501C/zh not_active Expired - Fee Related
- 2001-11-12 GB GB0127165A patent/GB2371649B/en not_active Expired - Fee Related
- 2001-11-12 KR KR10-2001-0070051A patent/KR100443395B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20020037278A (ko) | 2002-05-18 |
GB0127165D0 (en) | 2002-01-02 |
US20020059354A1 (en) | 2002-05-16 |
CN1355623A (zh) | 2002-06-26 |
KR100443395B1 (ko) | 2004-08-23 |
GB2371649B (en) | 2003-09-10 |
CN1173501C (zh) | 2004-10-27 |
JP2002149397A (ja) | 2002-05-24 |
GB2371649A (en) | 2002-07-31 |
US7263539B2 (en) | 2007-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4086459B2 (ja) | 固定小数点データ生成方法及び固定小数点データ生成回路 | |
EP0671817A1 (en) | Soft symbol decoding for use in an MLSE-equaliser or convolutional decoder | |
KR101583139B1 (ko) | 높은 처리량과 낮은 복잡성을 갖는 연속 제거 극 부호 복호 장치 및 그 방법 | |
EP0935203A2 (en) | Exponential calculation device | |
KR19980032114A (ko) | 제곱근의 부동 소수점 역에 대한 초기 추정을 발생하는 방법 및 장치 | |
US7400688B2 (en) | Path metric normalization | |
JP2001345713A (ja) | 復号装置及び復号方法 | |
JP2001222410A (ja) | 除算器 | |
CN111711431B (zh) | 减少数字滤波器csd系数中非零位的方法 | |
JP2757671B2 (ja) | プライオリティエンコーダおよび浮動小数点加減算装置 | |
JPH10107785A (ja) | 既知パタン検出装置 | |
JP4219926B2 (ja) | 電子回路中で乗算演算または除算演算を行う方法およびその装置 | |
JP2010102431A (ja) | 浮動小数点数演算回路と浮動小数点演算方法及びサーボ制御装置 | |
JP4259110B2 (ja) | 波形データ符号化装置及び波形データ符号化方法 | |
JP3620506B2 (ja) | Mq−coder方式の算術符号化/復号装置及び再正規化方法 | |
JP4148356B2 (ja) | 量子化ステップパラメータ決定装置と量子化ステップパラメータ決定方法と量子化ステップパラメータ決定プログラム、ならびに非線形量子化方法と非線形量子化装置と非線形量子化プログラム | |
KR100360926B1 (ko) | 경로 메트릭값의 오버플로우를 방지하기 위한 리스케일링 동작을 | |
CN117200809B (zh) | 用于纠两个误码的rs码的低功耗钱搜索和错误估值电路 | |
JP3920178B2 (ja) | 軟判定装置 | |
JP2723707B2 (ja) | 正規化回路 | |
KR100198781B1 (ko) | 저 전송률 비디오 신호 압축을 위한 양자화기 | |
US7751638B1 (en) | Adaptive quantizer | |
JPH07160267A (ja) | 波形データ符号化装置、波形データ符号化方法、波形データ復号装置、及び波形データ符号化/復号装置 | |
JP3200875B2 (ja) | Adpcm方式復号器 | |
JP2002344316A (ja) | 非線形量子化装置および非線形量子化方法、並びに非線形量子化プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040225 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040422 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040811 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20040910 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20040910 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20060307 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070703 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080219 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110228 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110228 Year of fee payment: 3 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110228 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110228 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120229 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130228 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140228 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |