JP2007079696A - 浮動小数点数のベクトル演算方法 - Google Patents

浮動小数点数のベクトル演算方法 Download PDF

Info

Publication number
JP2007079696A
JP2007079696A JP2005263815A JP2005263815A JP2007079696A JP 2007079696 A JP2007079696 A JP 2007079696A JP 2005263815 A JP2005263815 A JP 2005263815A JP 2005263815 A JP2005263815 A JP 2005263815A JP 2007079696 A JP2007079696 A JP 2007079696A
Authority
JP
Japan
Prior art keywords
vector
data
exponent
floating
point number
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.)
Pending
Application number
JP2005263815A
Other languages
English (en)
Inventor
Shinishi Ishikawa
真衣子 石川
Kinichi Higure
欽一 日暮
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.)
Hitachi Kokusai Electric Inc
Original Assignee
Hitachi Kokusai Electric Inc
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 Hitachi Kokusai Electric Inc filed Critical Hitachi Kokusai Electric Inc
Priority to JP2005263815A priority Critical patent/JP2007079696A/ja
Publication of JP2007079696A publication Critical patent/JP2007079696A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Digital Transmission Methods That Use Modulated Carrier Waves (AREA)

Abstract

【課題】 浮動小数点数のベクトル積演算に必要な処理が軽減され、固定小数点型DSPによる演算処理が適用できるようにした浮動小数点数のベクトル演算方法を提供すること。
【解決手段】 N次の行ベクトルXとN次の列ベクトルYからなるベクトル積XYを求める浮動小数点数のベクトル演算方法において、入力端子1のバッファに格納するベクトルXの成分である各データx1〜xN の仮数部m1〜mN に対して、その指数部については予め各データx1〜xN で共通の指数eにしておき、ベクトルYの成分である各データy1〜yN の仮数部l1〜lN に対しても、その指数部については予め各データy1〜yN でこれも共通の指数e′にしておいてベクトル積XYを演算するようにしたもの。
予めベクトルの指数部を共通化しておくと演算処理量が軽減される。
【選択図】 図1

Description

本発明は、浮動小数点数をベクトル演算する方法に係り、特に、デジタル信号の変復調処理における浮動小数点数のベクトル演算方法に関する。
近年、デジタル無線機器にも浮動小数点型DSP(Digital Signal Processor)が適用されるようになっているが、このとき、主としてデジタル信号の変復調処理に使用されている。そこで、近年、例えば伝送系でのマルチパス対策のため、受信側の復調処理に、この浮動小数点型DSPによる適応等化技術を適用し、受信データ系列に対して伝送路の歪みの補償が与えられるようにし、送信ビット系列が精度良く推定できるようにしている。
そして、このとき、補償最適値を伝送路の変化に追従して算出するため、RLSアルゴリズムが用いられているが、このアルゴリズムでは、その中でベクトル積演算処理を行なう際、浮動小数点数のベクトル演算が必要である(例えば、特許文献1〜特許文献3など参照)。
そこで、次に、このRLSアルゴリズムの中で行われる浮動小数点数のベクトル演算について説明する。なお、ここでは、一例として、N次の行ベクトルXとN次の列ベクトルYからなるベクトル積XYを求める際の演算方法について説明することにする。
そうすると、この場合、ベクトルの各成分は式(1)に示す通りになる。そして、このための演算処理には、例えば図3の論理ブロック構成が適用でき、このとき入力端子1にはデータx1〜xN が入力され、入力端子2にはデータy1〜yN が入力され、各々バッファに格納されることになる。
Figure 2007079696
このとき、図示のように、ベクトルXの成分である各データx1〜xN の仮数部は各々m1〜mN で、その指数部は各々e1〜eN であり、ベクトルYの成分である各データy1〜yN の仮数部は各々l1〜lN で、その指数部は各々e1′〜eN′であり、従って、詳細は図4に示すようになっている。
そして、この場合のベクトル積XYは、上記した入力データx1〜xN と入力データy1〜yN の各成分の積(x11,x22,x33,……,xNN)を求めた上で、これらの各積の加算結果(x1+y1,x2+y2,x3+y3,……,xN+yN)として得ることができ、従って、このときの演算回路(図3)演算手順は次の通りになる。
・手順1
ベクトルXの各成分の仮数部m1〜mN とベクトルYの各成分の仮数部
1〜lN を各々の乗算部31〜3N により演算し、各成分の仮数部の積
11,m22,m33,……,mNN とする。
・手順2
ベクトルXの各成分の指数部e1〜eN とベクトルYの各成分の指数部
1′〜eN′を各々の加算部41〜4N により演算し、各成分の指数部の和
1+e1′,e2+e2′,e3+e3′,……,eN+eN′とする。
・手順3
各指数部の和e1+e1′〜eN+eN′を最大値検出部5に入力し、それら
の中から最大値を検索してemax とする。
・手順4
同じく各指数部の和e1+e1′〜eN+eN′を各加算部61〜6N に入力し、
最大値emax を減算して、各々の指数部の和の減算値(e1+e1′)−emax
(e2+e2′)−emax,(e3+e3′)−emax,……,(eN+eN′)−emax
とする。
・手順5
各減算値(e1+e1′)−emax〜(eN+eN′)−emax を夫々のシフタ71
〜7N によりべき乗処理し、べき乗値2(e1+e1′)-emax,2(e2+e2′)-emax
(e3+e3′)-emax,……,2(eN+eN′)-emax とする。
・手順6
各々のべき乗値2(e1+e1′)-emax〜2(eN+eN′)-emaxを乗算器81〜8N に入
力し、これらの各々に積m11〜mNN を乗算する。そして指数部が共通化さ
れた演算結果m11×2(e1+e1′)-emax,m22×2(e2+e2′)-emax
33×2(e3+e3′)-emax,……,mNN×2(eN+eN′)-emax を得る。
・手順7
手順6の演算結果を加算器9で処理し、処理結果m11×2(e1+e1′)-emax
22×2(e2+e2′)-emax+Λ+mNN×2(eN+eN′)-emax を新たな仮数部Aと
し、最大値検出部5で求めたemax を共通の指数部BとしてXY=AB を得る。
従って、これらの手順による演算処理を数式で表わすと、次の式(2)となり、これが従来のRLSアルゴリズムの中で行われる浮動小数点数のベクトル演算である。
Figure 2007079696
特開平 6−131161号公報 特開平 9−128218号公報 特開平10−187416号公報
上記従来技術は、演算処理量の低減に配慮がされておらず、固定小数点型DSPによる処理に問題があった。
前述のベクトル演算方法は、浮動小数点数によるベクトル積の演算処理に指数部の共通化処理が含まれている。このため処理量が増加し、固定小数点型DSPによる処理が困難になってしまうのである。
本発明の目的は、浮動小数点数のベクトル積演算に必要な処理が軽減され、固定小数点型DSPによる演算処理が適用できるようにした浮動小数点数のベクトル演算方法を提供することにある。
上記目的は、 受信装置の復調処理に用いられるRLSアルゴリズムの中で行われる浮動小数点数のベクトル演算方法において、処理すべきベクトルの各成分の指数部を予め前記各成分の全てについて共通化する処理を実行した後、当該ベクトルの演算処理を開始させることにより達成される。
本発明によれば、演算処理量が抑えられるので、固定小数点型DSPによる処理が可能になり、演算規模の増大を抑えることができる。
以下、本発明による浮動小数点数のベクトル積演算方法について、図示の実施の形態により詳細に説明する。
図1は、本発明の一実施形態が適用された論理ブロックを示したものであるが、このとき比較のため、ここでも上記した従来技術の場合と同じく、式(1)に示すN次の行ベクトルXとN次の列ベクトルYからなるベクトル積XYを求める際の演算方法について説明することにする。
そうすると、この図1の論理ブロックでも、入力端子1には、式(1)に示すN次の行ベクトルXの各成分のデータx1〜xN が入力され、入力端子2には列ベクトルYの各成分のデータy1〜yN が入力され、各々バッファに格納されることになるが、しかし、この実施形態では、このとき予めベクトルXの各データx1〜xN とベクトルYの各データy1〜yN の各々の指数部についての共通化処理が施されていて、その後で各入力端子1、2から各々のバッファに格納されるようになっている。
詳しく説明すると、この場合も、ベクトルXの各データx1〜xN とベクトルYの各データy1〜yN は、元々は図4に示す通りで、指数部も、仮数部と同じく各データ毎に独立して異なったものになっていたのであるが、各入力端子1、2から入力して各々のバッファに格納される前に指数部の共通化処理を施しておくのである。なお、このときの指数部の共通化処理は、従来技術で説明した手順1から手順6までの処理と同じで良い。
従って、このときベクトルXの成分である各データx1〜xN の仮数部は、図示のように、各々m1〜mN であるが、その指数部は、例えばeで、各データx1〜xN で共通になっている。また、ベクトルYについて見ても、その成分である各データy1〜yN の仮数部は各々l1〜lN であるが、その指数部は、これも例えばe′で、各データy1〜yN で共通になっている。よって、このとき各々のバッファに格納されるデータの詳細は図2に示すようになる。
そして、ベクトル積XYは、この実施形態の場合も、上記の従来技術の場合と同様にして求める。すなわち、ベクトルXの各成分の仮数部m1〜mN とベクトルYの各成分の仮数部l1〜lN の積m11,m22,m33,……,mNN に、ベクトルXの各成分の指数部e1〜eN とベクトルYの各成分の指数部e1′〜eN′の各々の2のべき乗値、すなわち2(e1+e1′)-emax〜2(eN+eN′)-emax を乗算して求めるのであるが、しかし、この実施形態では、これらベクトルXの各成分とベクトルYの各成分の指数部は、事前に各々で共通化されている。
従って、このときの全成分の加算は、この実施形態の場合、仮数部同士の積の和であるm11+m22+m33+Λ+mNN に、各指数部の和の2のべき乗2(e+e′)を乗算するだけで求まることになる。
そこで、以上の実施形態による処理について、図1の論理ブロックにより説明すると、以下の通りになる。
・手順I
ベクトルXの各成分の仮数部m1〜mN とベクトルYの各成分の仮数部
1〜lN を各々の乗算部31〜3N により演算し、各成分の仮数部の積
11,m22,m33,……,mNN とする。
・手順II
ベクトルXの成分データx1の指数部eとベクトルYの成分データy
の指数部e′を加算部4 により演算し、指数部の和e+e′とする。
・手順III
各成分の仮数部の積m11,m22,m33,……,mNN を加算部
9により演算し、仮数部の積の和m11+m22+m33+Λ+mNN
を得る。
・手順IV
仮数部の積の和m11+m22+m33+Λ+mNN を新たな仮数部
Aとし、指数部の和e+e′の2のべき乗2(e+e′)を共通の指数部Bとし
て、XY=A×Bを得る。
そこで、以上の処理を数式で表わすと、次の式(3)に示すようになるり、従って、この実施形態によれば、予めベクトルの指数部を共通化しておくことにより、式(2)に示した従来の演算方法よりも演算処理量が減らせることができ、この結果、固定小数点型DSPで演算した場合の処理負荷を軽減させることができる。
Figure 2007079696
本発明による浮動小数点数のベクトル演算方法の一実施形態を示す演算ブロック図である。 本発明の一実施形態においてバッファに格納されたデータの配置図である。 従来技術による浮動小数点数のベクトル演算方法の一例を示す演算ブロック図である。 従来技術の一例においてバッファに格納されたデータの配置図である。
符号の説明
1:入力端子(バッファ)
2:入力端子(バッファ)
3:乗算器
4:加算器
5:最大値検出器
6:加算器
7:シフタ
8:乗算器
9:加算器

Claims (1)

  1. 受信装置の復調処理に用いられるRLSアルゴリズムの中で行われる浮動小数点数のベクトル演算方法において、
    処理すべきベクトルの各成分の指数部を予め前記各成分の全てについて共通化する処理を実行した後、当該ベクトルの演算処理を開始させることを特徴とする浮動小数点数のベクトル演算方法。
JP2005263815A 2005-09-12 2005-09-12 浮動小数点数のベクトル演算方法 Pending JP2007079696A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005263815A JP2007079696A (ja) 2005-09-12 2005-09-12 浮動小数点数のベクトル演算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005263815A JP2007079696A (ja) 2005-09-12 2005-09-12 浮動小数点数のベクトル演算方法

Publications (1)

Publication Number Publication Date
JP2007079696A true JP2007079696A (ja) 2007-03-29

Family

ID=37939969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005263815A Pending JP2007079696A (ja) 2005-09-12 2005-09-12 浮動小数点数のベクトル演算方法

Country Status (1)

Country Link
JP (1) JP2007079696A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2483902A (en) * 2010-09-24 2012-03-28 Advanced Risc Mach Ltd Method of reducing floating point vectors arguments
JP7476175B2 (ja) 2018-09-19 2024-04-30 ザイリンクス インコーポレイテッド 乗算累積回路

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2483902A (en) * 2010-09-24 2012-03-28 Advanced Risc Mach Ltd Method of reducing floating point vectors arguments
US9146901B2 (en) 2010-09-24 2015-09-29 Arm Limited Vector floating point argument reduction
GB2483902B (en) * 2010-09-24 2018-10-24 Advanced Risc Mach Ltd Vector floating point argument reduction
JP7476175B2 (ja) 2018-09-19 2024-04-30 ザイリンクス インコーポレイテッド 乗算累積回路

Similar Documents

Publication Publication Date Title
US8626813B1 (en) Dual-path fused floating-point two-term dot product unit
US9841948B2 (en) Microarchitecture for floating point fused multiply-add with exponent scaling
US8078660B2 (en) Bridge fused multiply-adder circuit
US5880983A (en) Floating point split multiply/add system which has infinite precision
US7720899B2 (en) Arithmetic operation unit, information processing apparatus and arithmetic operation method
KR101603471B1 (ko) 디지털 신호 프로세서들에서의 신호 처리를 위한 시스템 및 방법
US9696964B2 (en) Multiply adder
US5993051A (en) Combined leading one and leading zero anticipator
KR102591638B1 (ko) 3-경로 단일 곱셈-누산기 설계를 위한 고속 근경로 솔루션
US9952829B2 (en) Binary fused multiply-add floating-point calculations
US20140095568A1 (en) Fused Multiply-Adder with Booth-Encoding
JP2008510229A (ja) 効率的浮動小数点式aluのための方法及び装置
KR101560340B1 (ko) 포화가 적용된 정수 곱셈 연산 및 곱셈-덧셈 연산
US10489115B2 (en) Shift amount correction for multiply-add
US20050228844A1 (en) Fast operand formatting for a high performance multiply-add floating point-unit
JP2007163318A (ja) レーダ信号処理装置とその一定誤警報確率検出方法
US9400635B1 (en) Methods and apparatus for performing dynamic data alignment for floating-point operations
JP2007079696A (ja) 浮動小数点数のベクトル演算方法
JP2010218197A (ja) 浮動小数点積和演算装置、浮動小数点積和演算方法、及び浮動小数点積和演算用プログラム
JPH0540605A (ja) 浮動小数点乗算装置
US11494165B2 (en) Arithmetic circuit for performing product-sum arithmetic
JP3064405B2 (ja) 複素数の演算処理方式
KR0176883B1 (ko) 복소수 승산기
KR100974190B1 (ko) 부동 소수점을 이용한 복소수 곱셈방법
Bisoyi et al. Design of a Novel Fused Add-Sub Module for IEEE 754-2008 Floating Point Unit in High Speed Applications