JP3716695B2 - 高速アダマール変換器 - Google Patents
高速アダマール変換器 Download PDFInfo
- Publication number
- JP3716695B2 JP3716695B2 JP36585799A JP36585799A JP3716695B2 JP 3716695 B2 JP3716695 B2 JP 3716695B2 JP 36585799 A JP36585799 A JP 36585799A JP 36585799 A JP36585799 A JP 36585799A JP 3716695 B2 JP3716695 B2 JP 3716695B2
- Authority
- JP
- Japan
- Prior art keywords
- output
- input
- data
- shift register
- log
- 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
- 238000013139 quantization Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 description 16
- 238000011161 development Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 238000000034 method Methods 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/709—Correlator structure
- H04B1/7093—Matched filter type
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/709—Correlator structure
- H04B1/7093—Matched filter type
- H04B2001/70935—Matched filter type using a bank of matched fileters, e.g. Fast Hadamard Transform
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Description
【発明の属する技術分野】
本発明は、高速アダマール変換器に関わり、例えば符号分割多元接続方式の移動体通信システムにおける拡散符号の直交変調に好適な高速アダマール変換器に関する。
【0002】
【従来の技術】
次世代の移動体通信の標準方式として注目されている符号分割多元接続(Code Division Multiple Access:以下、CDMAと略す。)方式の移動体通信システムの移動体通信端末では、スペクトラム拡散技術により同じ周波数帯域の信号を使って同時に複数チャネルの通信を行う。これは、例えばチャネルごとに相互相関関数が“0”になるウォルッシュ(Walsh)符号を使用したウォルッシュ直交変調を行うことにより実現される。このウォルッシュ符号は、“+1”と“−1”の要素からなるアダマール変換(Hadamard transform)行列により表現できる。ウォルッシュ直交変調は、このアダマール変換行列を用いたアダマール変換を行うことによって、バタフライ演算に基づく高速な演算処理が可能となる。このようなバタフライ演算に基づく高速なアダマール変換を行うものを、高速アダマール変換(Fast Hadamard Transform:FHT)器と呼ぶ。
【0003】
図7は、従来の高速アダマール変換器の構成の概要を表わしたものである。ここでは、量子化ビット数をpとし、8次(次元数nが8)の高速アダマール変換を行うものとする。この高速アダマール変換器は、8次元の入力ベクトルXの各成分データx1〜x8ごとにビット直列入力され、それぞれ第1〜第8の入力ラッチ101〜108でラッチされる。これら第1〜第8の入力ラッチ101〜108は、図示しない入力ラッチ出力イネーブル信号によって、その出力端子がハイインピーダンスにされる。第1および第2の入力ラッチ101、102の出力端子は、ともに(p−1+log2n)加算器111と(p−1+log2n)減算器121とに接続される。同様に第3および第4の入力ラッチ103、104の出力端子、第5および第6の入力ラッチ105、106の出力端子、第7および第8の入力ラッチ107、108の出力端子は、それぞれ(p−1+log2n)加算器112と(p−1+log2n)減算器122、(p−1+log2n)加算器113と(p−1+log2n)減算器123、(p−1+log2n)加算器114と(p−1+log2n)減算器124とに接続される。
【0004】
(p−1+log2n)加算器111の出力端子は、第1の出力ラッチ131と第1のセレクタ無ラッチ141に接続される。(p−1+log2n)減算器121の出力端子は、第5の出力ラッチ135と第1のセレクタ有ラッチ151に接続される。(p−1+log2n)加算器112の出力端子は、第2の出力ラッチ132と第2のセレクタ有ラッチ152に接続される。(p−1+log2n)減算器122の出力端子は、第6の出力ラッチ136と第3のセレクタ有ラッチ153に接続される。(p−1+log2n)加算器113の出力端子は、第3の出力ラッチ133と第4のセレクタ有ラッチ154に接続される。(p−1+log2n)減算器123の出力端子は、第7の出力ラッチ137と第5のセレクタ有ラッチ155に接続される。(p−1+log2n)加算器114の出力端子は、第4の出力ラッチ134と第6のセレクタ有ラッチ156に接続される。(p−1+log2n)減算器124の出力端子は、第8の出力ラッチ138と第2のセレクタ無ラッチ142に接続される。
【0005】
これら(p−1+log2n)加算器111〜114および(p−1+log2n)減算器121〜124は、各1個でバタフライ演算器を構成する。
【0006】
第1および第2のセレクタ無ラッチ141、142は、図示しないセレクタラッチ信号により(p−1+log2n)加算器あるいは(p−1+log2n)減算器の出力をラッチする。また、第1および第2のセレクタ無ラッチ141、142の出力端子は、それぞれ第1および第8の入力ラッチ101、108の出力端子に接続され、それぞれ図示しないセレクタ有無ラッチ出力イネーブル信号によって、ハイインピーダンスにされる。第1〜第6のセレクタ有ラッチ151〜156は、図示しないセレクタラッチ信号により(p−1+log2n)加算器あるいは(p−1+log2n)減算器の出力をラッチする。これら第1〜第6のセレクタ有ラッチ151〜156は、それぞれ2つの出力端子A、Bを有し、図示しないセレクタ有ラッチ切替信号によりラッチしているデータを選択出力する。また、これらの出力端子は、第2〜第7の入力ラッチ102〜107の出力端子に接続され、それぞれ上述したセレクタ有無ラッチ出力イネーブル信号によって、ハイインピーダンスにされる。
【0007】
第1〜第8の出力ラッチ131〜138は、それぞれ図示しない出力ラッチ信号により、対応する(p−1+log2n)加算器あるいは(p−1+log2n)減算器の出力をラッチし、8次元の出力ベクトルYの各成分データy1〜y8として出力する。
【0008】
図8は、図7に示した高速アダマール変換器の動作タイミングを表わしたものである。まずタイミングt1の入力ラッチクロックにより、第1〜第8の入力ラッチ101〜108は、8次元の入力ベクトルXの各成分データをラッチする(図8(a))。このとき入力ラッチ出力イネーブル信号を“L”(同図(c))、セレクタ有無ラッチ出力イネーブル信号を“H”(同図(e))にして、各入力ラッチに格納されたラッチデータを、(p−1+log2n)加算器111〜114あるいは(p−1+log2n)減算器121〜124に対して出力させる。また、セレクタ有ラッチ切替信号により、第1〜第6のセレクタ有ラッチ151〜156の出力端子Aを選択させている(同図(d))。このとき各(p−1+log2n)加算器あるいは(p−1+log2n)減算器が出力するフィードバックデータは、次のようになる。
【0009】
w1(t1)=x1+x2
w2(t1)=x1−x2
w3(t1)=x3+x4
w4(t1)=x3−x4
w5(t1)=x5+x6
w6(t1)=x5−x6
w7(t1)=x7+x8
w8(t1)=x7−x8
【0010】
次にタイミングt2のセレクタラッチにより、フィードバックデータw1(t1)とw8(t1)とが第1および第2のセレクタ無ラッチ141、142に、フィードバックデータw2(t1)〜w7(t1)が第1〜第6のセレクタ有ラッチ151〜156にそれぞれ格納される(同図(f))。このとき入力ラッチ出力イネーブル信号を“H”(同図(c))、セレクタ有無ラッチ出力イネーブル信号を“L”(同図(e))にして、第1および第2のセレクタ無ラッチ141、142と第1〜第6のセレクタ有ラッチ151〜156のラッチデータを、(p−1+log2n)加算器111〜114あるいは(p−1+log2n)減算器121〜124に対して出力させる。このとき各(p−1+log2n)加算器あるいは(p−1+log2n)減算器が出力するフィードバックデータは、次のようになる。
【0011】
w1(t2)=w1(t1)+w3(t1)=x1+x2+x3+x4
w2(t2)=w1(t1)−w3(t1)=x1+x2−x3−x4
w3(t2)=w2(t1)+w4(t1)=x1−x2+x3−x4
w4(t2)=w2(t1)−w4(t1)=x1−x2−x3+x4
w5(t2)=w5(t1)+w7(t1)=x5+x6+x7+x8
w6(t2)=w5(t1)−w7(t1)=x5+x6−x7−x8
w7(t2)=w6(t1)+w8(t1)=x5−x6+x7−x8
w8(t2)=w6(t1)−w8(t1)=x5−x6−x7+x8
【0012】
次にタイミングt3のセレクタラッチにより、フィードバックデータw1(t2)とw8(t2)とが第1および第2のセレクタ無ラッチ141、142に、フィードバックデータw2(t2)〜w7(t2)が第1〜第6のセレクタ有ラッチ151〜156にそれぞれ格納される(同図(g))。タイミングt2以降、セレクタ有ラッチ切替信号により、第1〜第6のセレクタ有ラッチ151〜156の出力端子Bを選択させ(同図(d))、各(p−1+log2n)加算器あるいは(p−1+log2n)減算器が出力するフィードバックデータは、次のようになる。
【0013】
【0014】
その後、次のタイミングt1の入力ラッチクロックと共通の出力ラッチクロックで、フィードバックデータw1(t3)〜w8(t3)を、対応する第1〜第8の出力ラッチ131〜138にラッチし、次の各成分データy1〜y8からなる出力データYとして出力する。
【0015】
y1=w1(t3)=x1+x2+x3+x4+x5+x6+x7+x8
y2=w3(t3)=x1−x2+x3−x4+x5−x6+x7−x8
y3=w5(t3)=x1+x2−x3−x4+x5+x6−x7−x8
y4=w7(t3)=x1−x2−x3+x4+x5−x6−x7+x8
y5=w2(t3)=x1+x2+x3+x4−x5−x6−x7−x8
y6=w4(t3)=x1−x2+x3−x4−x5+x6−x7+x8
y7=w6(t3)=x1+x2−x3−x4−x5−x6+x7+x8
y8=w8(t3)=x1−x2−x3+x4−x5+x6+x7−x8
【0016】
このように従来の高速アダマール変換器では、量子化ビット数pのn次元入力ベクトルの各成分データに対して、各n/2個の(p−1+log2n)ビット加算器および減算器によるバタフライ演算処理で加減算を施し、n次のアダマール変換をして、n次元出力ベクトルの各成分データを生成する。このような高速アダマール変換器に関する技術は、例えば特開平6−301711号公報「高速アダマール変換器」に開示されている。
【0017】
【発明が解決しようとする課題】
しかしながら従来提案された高速アダマール変換器は、演算するビット数がk倍になったとき、ビットごとに入力ラッチ、セレクタ有ラッチおよび出力ラッチの3つのラッチが必要であるため、単純計算で回路規模が3k倍になってしまう。また、バタフライ演算処理における加減算処理をパラレル処理しているため、加減算器のビット数を(p−1+log2n)ビット必要とするばかりでなく、ラッチのレジスタビット数も(p−1+log2n)ビット必要とする。このような高速アダマール変換器をゲートアレイ化する場合、回路規模の増大により、非常にコストがかかり、ゲートアレイには不向きである。また、成分データに応じてセレクタ有ラッチやセレクタ無ラッチ等異なる機能を有するブロックを必要とするため、各ブロックごとの検証が必要となるばかりでなく、同一ブロックの繰り返し配置配線に適する集積化にも開発工数がかかり、開発TATの短縮化が望ましい。
【0018】
そこで本発明の目的は、演算すべきビット数が増加した場合であっても回路規模の増大を最小限に抑えるとともに開発TATの短縮化を図ることができる高速アダマール変換器を提供することにある。
【0019】
【課題を解決するための手段】
請求項1記載の発明では、(イ)所定のデータ入力タイミングでそれぞれ入力される量子化ビット数pからなる入力データあるいは(p+log2n)(nは自然数)ビットのシリアルデータのいずれか一方を順次1ビットずつ所定のシフトタイミングでシフトする第1〜第nのシフトレジスタ部と、(ロ)第(2i−1)(ただし、1≦i≦n/2、iは自然数)および第(2i)のシフトレジスタ部によって1ビットずつ順次シフト出力された1ビットデータの加算および減算を行って、加算結果および減算結果をそれぞれ第iおよび第(i+n/2)のシフトレジスタ部に対してシリアルデータとして出力する第1〜第(n/2)のバタフライ演算部と、(ハ)これら第1〜第(n/2)のバタフライ演算部それぞれの入力元および出力先をシフトによりデータが1周するたびに切り替える入力元出力先切替スイッチとを高速アダマール変換器に具備させる。
【0020】
すなわち請求項1記載の発明では、n個のシフトレジスタ部と(n/2)個のバタフライ演算部とから構成され、量子化ビットpからなるn次元の入力データについて、各シフトレジスタ部では各次元の入力データあるいは(p+log2n)(nは自然数)ビットのシリアルデータのいずれか一方を順次1ビットずつ所定のシフトタイミングでシフトさせる。そして、第iのバタフライ演算部では、第(2i−1)および第(2i)のシフトレジスタ部によって1ビットずつ順次シフト出力された1ビットデータの加算および減算を行って、加算結果および減算結果をそれぞれ第iおよび第(i+n/2)のシフトレジスタ部に対してシリアルデータとして出力する。
【0021】
請求項2記載の発明では、請求項1記載の高速アダマール変換器で、バタフライ演算部は、第(2i−1)のシフトレジスタ部によってシフト出力された1ビットデータと第(2i)のシフトレジスタ部によってシフト出力された1ビットデータと前回のシフトタイミングで生成されたキャリーとを加算する加算手段と、この加算手段によって生成されたキャリーを1シフトタイミングだけ遅延する第1の遅延手段と、第(2i−1)のシフトレジスタ部によってシフト出力された1ビットデータから第(2i)のシフトレジスタ部によってシフト出力された1ビットデータと前回のシフトタイミングで生成されたボローを減算する減算手段と、この減算手段によって生成されたボローを1シフトタイミングだけ遅延する第2の遅延手段とを備えることを特徴としている。
【0022】
すなわち請求項2記載の発明では、バタフライ演算部を、1ビットの加算器と減算器と、第1および第2の遅延手段でのみ構成するようにしたので、回路の簡素化と規模の縮小化のみならず、回路の高速化を図ることができる。
【0023】
請求項3記載の発明では、請求項1または請求項2記載の高速アダマール変換器で、シフトレジスタ部それぞれは、所定のデータ出力タイミングでシフトレジスタ部でシフトされる(p+log2n)ビットを選択出力する(p+log2n)個の出力スイッチを備えることを特徴としている。
【0024】
すなわち請求項3記載の発明では、各シフトレジスタ部では、所定のデータ出力タイミングでシフトレジスタ部でシフトされる(p+log2n)ビットを選択出力する(p+log2n)個の出力スイッチを備え、所定のデータ出力タイミングごとに高速アダマール変換結果を取り出せるようにした。
【0025】
請求項4記載の発明では、請求項2または請求項3記載の高速アダマール変換器で、第1および第2の遅延手段は、(log2n×(p+log2n))シフトタイミングごとに初期化されるものであることを特徴としている。
【0026】
すなわち請求項4記載の発明では、(log2n×(p+log2n))シフトタイミングごとに第1および第2の遅延手段で遅延されるデータを初期化するようにしたので、(log2n×(p+log2n))シフトタイミングごとに連続して高速アダマール変換を行うことができる。
【0027】
【発明の実施の形態】
【0028】
【実施例】
以下実施例につき本発明を詳細に説明する。
【0029】
図1は、本発明の一実施例における高速アダマール変換器の構成の概要を表わしたものである。本実施例における高速アダマール変換器は、量子化ビット数pのn次元高速アダマール変換を行う場合、n個のシフトレジスタ部201〜20nと、n/2個のバタフライ演算部211〜21n/2とから構成される。
【0030】
シフトレジスタ部201〜20nは、それぞれ2つの入力端子DIN、LINと、2つの出力端子DOUT、LOUTとを有している。DINにはn次元の入力データV1〜Vnが入力され、DOUTからはn次元の出力データW1〜Wnが出力される。LOUTからは、DINから入力された入力データがシリアルデータとして1ビットずつバタフライ演算部に対して出力される。LINには、バタフライ演算部によって演算された結果である1ビットデータが入力される。このようなシフトレジスタ部201〜20nは、セレクタを設けて入力ラッチおよび出力ラッチを共用化して所定の入力タイミングでDINからの入力データV1〜Vnを取り込み、シフトレジスタ部でシリアル変換されて1ビットずつバタフライ演算部で加減算処理され、最終的にバタフライ演算処理された結果が所定の出力タイミングでDOUTから出力データW1〜Wnとして出力されるようになっている。
【0031】
バタフライ演算部は、2つの入力端子ADDIN、SUBINと、2つの出力端子ADDOUT、SUBOUTとを有し、シフトレジスタ部のLOUTから入力された入力データに対して1ビットずつバタフライ演算を行って、その結果をシフトレジスタ部のLINに供給する。このとき、図示しない入力元出力先切替スイッチによってバタフライ演算部の入力元と出力先が切り替えられるようになっている。
【0032】
以下、本実施例における高速アダマール変換器の要部について説明する。ここでは、量子化ビット数pを“4”、次元数nを“8”とする。すなわち、この高速アダマール変換器は、シフトレジスタ部201〜208と、バタフライ演算部211〜214とを備えている。シフトレジスタ部201〜208は、それぞれ同一構成をなしている。バタフライ演算部211〜214は、それぞれ同一構成をなしている。シフトレジスタ部201〜208のDINには、入力データV1〜V8が入力され、DOUTからは出力データW1〜W8が出力される。シフトレジスタ部202q-1(1≦q≦4、qは自然数)のLOUTは、バタフライ演算部21qのADDINに接続される。またシフトレジスタ部202qのLOUTは、バタフライ演算部21qのSUBINに接続される。バタフライ演算部21r(1≦r≦4、rは自然数)のADDOUTは、シフトレジスタ部20rのLINに接続される。また、バタフライ演算部21rのSUBOUTは、シフトレジスタ部20r+4のLINに接続される。
【0033】
図2は、シフトレジスタ部20の構成要部を表わしたものである。シフトレジスタ部20は、mを“p+log2n”とすると、m個の1ビットのフリップフロップ301〜30mと、m個の入力スイッチ311〜31mと、m個の出力スイッチ321〜32mとを備えている。フリップフロップ301〜30mは所定のラッチクロックでD端子の入力データをラッチしてQ端子から出力する。入力スイッチ311〜31mは、所定の入力スイッチ切替信号により、IN端子から入力されたデータをO1端子あるいはO2端子から出力させる。出力スイッチ321〜32mは、所定の出力スイッチ切替信号により、I1端子あるいはI2端子のいずれか一方から入力されたデータを、OUT端子から出力させる。
【0034】
入力スイッチ311のIN端子には、LINから入力されたデータが入力される。入力スイッチ311のO1端子からは、DOUTの1ビットが出力される。入力スイッチ311のO2端子は、出力スイッチ321のI2端子に接続される。出力スイッチ321のI1端子には、DINの最上位ビット(Most Significant Bit:以下、MSBと略す。)が入力される。出力スイッチ321のOUT端子は、フリップフロップ301のD端子に接続される。
【0035】
入力スイッチ312〜317のIN端子には、それぞれ前段のフリップフロップ301〜306のQ端子が接続される。入力スイッチ312〜317のO1端子は、DOUTの1ビットとして出力される。入力スイッチ312〜317のO2端子は、それぞれ出力スイッチ322〜327のI2端子に接続される。出力スイッチ322〜327のI1端子は、それぞれDINのMSBの次の上位ビットから順に最下位ビット(Least Significant Bit:以下、LSBと略す。)まで入力される。出力スイッチ322〜327のOUT端子は、フリップフロップ302〜307のD端子に接続される。フリップフロップ307のQ端子は、LOUTとして出力される。
【0036】
このような構成のフリップフロップはn次の高速アダマール変換における各段の変換結果を1ビットごとに保持し、入力スイッチおよび出力スイッチは本実施例における高速アダマール変換器へのデータ入力と演算結果としてのデータ出力を行う際の信号の流れを制御する。すなわち、所定のデータ入力タイミングにおける入力スイッチ切替信号により、出力スイッチ321〜327はI1端子とOUT端子とを接続し、DINから入力される入力データをフリップフロップ301〜307に取り込む。また、所定のデータ出力タイミングにおける出力スイッチ切替信号により、入力スイッチ311〜317はIN端子とO1端子とを接続し、LINから入力されるバタフライ演算結果をDOUTとして出力する。それ以外では、入力スイッチ311〜317はIN端子とO2端子を接続し、出力スイッチ321〜327はI2端子とOUT端子を接続し、フリップフロップ301〜307で所定のラッチクロックごとに1ビットずつシフトさせ、順次LOUTとしてバタフライ演算部に供給する。
【0037】
図3は、バタフライ演算部21の構成要部を表わしたものである。このバタフライ演算部21は、1ビットのキャリー入出力付きの加算器40と、1ビットのボロー入出力付きの減算器41と、1ビットのリセット付きフリップフロップ42と、1ビットのセット付きフリップフロップ43とを有している。シフトレジスタ部から入力されるADDINは、加算器40および減算器41のADD0端子に入力される。シフトレジスタ部から入力されるSUBINは、それぞれ加算器40のADD1端子および減算器41のSUB0端子に入力される。
【0038】
図4は、加算器40の論理レベルの動作を示す真理値表を表わしたものである。加算器40は、ADD0端子およびADD1端子から入力された1ビットデータとCIN端子から入力される1ビットのキャリーとの加算結果をOUT端子から出力するとともに、1ビットのキャリー出力をCOUT端子から出力する。OUT端子から出力された加算結果は、ADDOUTとしてシフトレジスタ部に供給される。COUT端子はフリップフロップ42のD端子に接続され、このフリップフロップ42のQ端子は加算器40のCIN端子に接続される。
【0039】
図5は、減算器41の論理レベルの動作を示す真理値表を表わしたものである。減算器41は、ADD0端子およびSUB0端子から入力された1ビットデータとBIN端子から入力される1ビットのボローとの減算結果をOUT端子から出力するとともに、1ビットのボロー出力をBOUT端子から出力する。OUT端子から出力された減算結果は、SUBOUTとしてシフトレジスタ部に供給される。BOUT端子はフリップフロップ43のD端子に接続され、このフリップフロップ43のQ端子は減算器41のBIN端子に接続される。
【0040】
フリップフロップ42は、初期状態においてR端子に入力されたリセット信号により“0”が出力され、通常の動作時において1ビットのキャリーをラッチクロックの1クロック分遅延させて加算器40に供給することで、1ビットの桁上がり計算を行う。フリップフロップ43は、初期状態においてS端子に入力されたセット信号により“1”が出力され、通常の動作時において1ビットのボローをラッチクロックの1クロック分遅延させて減算器41に供給することで、1ビットの桁下がりの計算を行う。
【0041】
次に、図6を参照しながら、上述した構成要部を有する本実施例における高速アダマール変換器の動作について説明する。
【0042】
図6は、本実施例における高速アダマール変換器の動作タイミングの概要を表わしたものである。同図(a)は、ラッチクロックのタイミングを示す。同図(b)は、入力ベクトルのデータ入力タイミングを示す。同図(c)は、高速アダマール変換によるデータ出力タイミングを示す。同図(d)は、入力スイッチおよび出力スイッチのスイッチ切替タイミングを示す。同図(e)は、バタフライ演算部の加算器のリセットタイミングおよび減算器のセットタイミングを示す。
【0043】
量子化ビット数pが“4”のデータ系列に8次元の高速アダマール変換を行う場合、同図(b)に示すタイミングで、本実施例における高速アダマール変換器には、それぞれMSB側からb3、b2、b1、b0で表現される8次元の入力ベクトルV0〜V7からなる入力データ50が、LSB側から順にLOUTとしてバタフライ演算部に供給されるようにDINとして入力される。具体的には、DINのb3が入力スイッチ324のI1端子、b2が入力スイッチ325のI1端子、b1が入力スイッチ326のI1端子、b0が入力スイッチ327のI1端子それぞれに入力される。入力スイッチは、7ビット分備えているが、これはバタフライ演算により桁上がりが発生するためであり、データ入力時には上位3ビットは“0”が入力される。したがって、データ入力時における入力スイッチ321〜323のI1端子には、“0”が入力される。
【0044】
このようなデータ入力に対応して、入力スイッチ321〜327に同図(d)に示すタイミングの入力スイッチ切替信号が入力される(スイッチ切替51)。この入力スイッチ切替信号が“L”のとき、入力スイッチ321〜327では、I1端子とOUT端子が接続され、I1端子に供給される入力データがフリップフロップ301〜307のD端子に入力される。また、出力スイッチ切替信号が、同図(d)に示す入力スイッチ切替信号と同一タイミングで出力スイッチ311〜317に入力されるようになっており、出力スイッチ切替信号が“L”のとき、出力スイッチ311〜317ではIN端子とO1端子が接続され、IN端子に入力されるデータがDOUTとして出力される。このDOUTは、前サイクルの高速アダマール変換結果である出力データ52として出力される。さらにまた、同図(e)に示すように、バタフライ演算部にリセット信号およびセット信号が入力されるので、バタフライ演算部のフリップフロップ42、43が初期化されるようになっている(クリア53)。
【0045】
上述したように、入力スイッチ切替信号が“H”のとき、シフトレジスタ部201〜208は、それぞれ7段のシフトレジスタを構成する。この間、出力スイッチ切替信号も“H”であるため、LINにはバタフライ演算部の出力であるADDOUTあるいはSUBOUTからの1ビットデータが接続され、LOUTからはバタフライ演算部のADDINあるいはSUBINに対してシフトレジスタ結果として1ビットずつ出力される。そして、7回シフトによりデータが1周することによって、3(=log2n)段の計算を行う高速アダマール変換の1段目の計算が行われるようになっている。
【0046】
すなわち、所定のデータ入力タイミングでシフトレジスタ部のフリップフロップ301〜307に格納されたデータは、最初の1クロック目でLSBの1ビット加算を行う。例えば、バタフライ演算部211のADDOUTからは“V1+V2”のLSBの計算結果が出力され、SUBOUTからは“V1−V2”のLSBのLSBの計算結果が出力される。ここで、それぞれb3〜b0で表現されるV1とV2(b5〜b7は“0”)について、ADDOUTから出力される“V1+V2”に着目すると、次のようになる。
【0047】
1クロック目:V1(b0)+V2(b0)
2クロック目:V1(b1)+V2(b1)+(b0加算時のキャリー)
3クロック目:V1(b2)+V2(b2)+(b1加算時のキャリー)
4クロック目:V1(b3)+V2(b3)+(b2加算時のキャリー)
5クロック目:V1(b4)+V2(b4)+(b3加算時のキャリー)
6クロック目:V1(b5)+V2(b5)+(b4加算時のキャリー)
7クロック目:V1(b6)+V2(b6)+(b5加算時のキャリー)
【0048】
入力データが取り込まれてから最初の7クロックで、シフトレジスタ部のフリップフロップ301〜307に格納されている演算結果を、フリップフロップ301をMSB、フリップフロップ107をLSBとした量子化データとしたとき、これらフィードバックデータw1(1)〜w8(1)は、次のようになる。なお、各段で、前記した入力元出力先切替スイッチによるバタフライ演算部21 1 〜21 4 の入力元出力先が切り替わることになるが、これらについての図示は省略し、フィードバックデータw 1 (1)〜w 8 (1)、w 1 (2)〜w 8 (2)、w 1 (3)〜w 8 (3)のみを順に示していくことにする。
【0049】
w1(1)=V1+V2
w2(1)=V1−V2
w3(1)=V3+V4
w4(1)=V3−V4
w5(1)=V5+V6
w6(1)=V5−V6
w7(1)=V7+V8
w8(1)=V7−V8
【0050】
そして、入力データが取り込まれてから7クロック目に、図6(e)に示すようにバタフライ演算部にリセット信号およびセット信号が入力され、バタフライ演算部の加算器および減算器が初期化される。以降シフトレジスタ部のデータを1ビットごとに同様の計算を行う。したがって、次の7クロック目におけるフィードバックデータw1(2)〜w8(2)は、次のようになる。
【0051】
w1(2)=V1+V2+V3+V4
w2(2)=V5+V6+V7+V8
w3(2)=V1−V2+V3−V4
w4(2)=V5−V6+V7−V8
w5(2)=V1+V2−V3−V4
w6(2)=V5+V6−V7−V8
w7(2)=V1−V2−V3+V4
w8(2)=V5−V6−V7+V8
【0052】
同様に、7クロックごとに入力されるリセット信号およびセット信号により、バタフライ演算部が初期化され、さらに次の7クロック目におけるフィードバックデータw1(3)〜w8(3)は、次のようになる。
【0053】
w1(3)=V1+V2+V3+V4+V5+V6+V7+V8
w2(3)=V1−V2+V3−V4+V5−V6+V7−V8
w3(3)=V1+V2−V3−V4+V5+V6−V7−V8
w4(3)=V1−V2−V3+V4+V5−V6−V7+V8
w5(3)=V1+V2+V3+V4−V5−V6−V7−V8
w6(3)=V1−V2+V3−V4−V5+V6−V7+V8
w7(3)=V1+V2−V3−V4−V5−V6+V7+V8
w8(3)=V1−V2−V3+V4−V5+V6+V7−V8
【0054】
このようにして、シフトレジスタ部のフリップフロップによりパラレル−シリアル変換を行い、“log2n×(p+log2n)”クロックによりバタフライ演算部で加減算を行う。例えば量子化ビット数pが“4”で、8次元の入力ベクトルデータに対して、21クロックで8次のアダマール変換を完了することができる。そして、同図(d)に示すように21クロックごとにスイッチ切替信号により入力スイッチおよび出力スイッチを切り替えて、シフトレジスタ部のフリップフロップに格納された量子化データをDOUTとして出力するとともに、次の入力ベクトルデータを取り込んでデータの入れ替えを行う。
【0055】
このように本実施例における高速アダマール変換器では、量子化ビット数pのn次元の入力データに対してそれぞれ同様の構成をなし、入力ラッチと出力ラッチを共用化する切替スイッチを用いて“p+log2n”段の1ビットシフトレジスタを構成するn個のシフトレジスタ部と、1ビットごとに加減算を行う“n/2”個のバタフライ演算部を備えるようにした。これにより、従来のように複数ビットの加減算器と複数ビットのラッチレジスタを複数個必要としていたのに対して、ラッチレジスタの個数を1/3にし、回路規模が1/“3×(量子化ビット数)”以下に削減することができる。したがって、演算すべきビット数が増加した場合であっても回路規模の増大を最小限に抑えることができる。また、高速アダマール変換器を構成するブロックは、各データともに同一の構成をなしているので、開発工数の削減および開発TATの短縮化を図ることができ、最適な構成の高速アダマール変換器を提供することができるようになる。さらに、また1ビット構成により回路構成を非常に簡素化したので、従来のような多ビット構成よりも個々の高速化が容易となって、高速アダマール変換器をさらに高速なラッチクロックで動作させることができるようになる。
【0056】
【発明の効果】
以上説明したように請求項1記載の発明によれば、量子化ビット数pのn次元の入力データに対してそれぞれ同様の構成をなし、入力ラッチと出力ラッチを共用化する切替スイッチを用いて“p+log2n”段の1ビットシフトレジスタを構成するn個のシフトレジスタ部と、1ビットごとに加減算を行う“n/2”個のバタフライ演算部を備えるようにしたので、従来のように複数ビットの加減算器と複数ビットのラッチレジスタを複数個必要としていたのに対して、ラッチレジスタの個数を1/3にし、回路規模が1/“3×(量子化ビット数)”以下に削減することができる。したがって、演算すべきビット数が増加した場合であっても回路規模の増大を最小限に抑えることができる。また、高速アダマール変換器を構成するブロックは、各データともに同一の構成をなしているので、開発工数の削減および開発TATの短縮化を図ることができ、最適な構成の高速アダマール変換器を提供することができるようになる。
【0057】
また請求項2または請求項3記載の発明によれば、1ビットの加算器と減算器と、第1および第2の遅延手段でのみ構成し、あるいは各シフトレジスタ部では、所定のデータ出力タイミングでシフトレジスタ部でシフトされる(p+log2n)ビットを選択出力する(p+log2n)個の出力スイッチを備え、所定のデータ出力タイミングごとに高速アダマール変換結果を取り出せるようにしたので、回路の簡素化と規模の縮小化のみならず、回路の高速化を図ることができる。
【0058】
さらにまた請求項4記載の発明によれば、(log2n×(p+log2n))シフトタイミングごとに第1および第2の遅延手段で遅延されるデータを初期化するようにしたので、(log2n×(p+log2n))シフトタイミングごとに連続して容易に高速アダマール変換を行うことができる。
【図面の簡単な説明】
【図1】本実施例における高速アダマール変換器の構成の概要を示すブロック図である。
【図2】本実施例におけるシフトレジスタ部の構成要部を示すブロック図である。
【図3】本実施例におけるバタフライ演算部の構成要部を示すブロック図である。
【図4】本実施例における加算器の論理レベルの動作を示す真理値表を示す説明図である。
【図5】本実施例における減算器の論理レベルの動作を示す真理値表を示す説明図である。
【図6】本実施例における高速アダマール変換器の動作タイミングを示すタイミング図である。
【図7】従来提案された高速アダマール変換器の構成の概要を示すブロック図である。
【図8】従来の高速アダマール変換器の動作タイミングを示すタイミング図である。
【符号の説明】
20、201〜208 シフトレジスタ部
21、211〜214 バタフライ演算部
301〜307 フリップフロップ
311〜317 出力スイッチ
321〜327 入力スイッチ
40 キャリー入出力付き加算器
41 ボロー入出力付き減算器
42 リセット付きフリップフロップ
43 セット付きフリップフロップ
Claims (4)
- 所定のデータ入力タイミングでそれぞれ入力される量子化ビット数pからなる入力データあるいは(p+log2n)(nは自然数)ビットのシリアルデータのいずれか一方を順次1ビットずつ所定のシフトタイミングでシフトする第1〜第nのシフトレジスタ部と、
第(2i−1)(ただし、1≦i≦n/2、iは自然数)および第(2i)のシフトレジスタ部によって1ビットずつ順次シフト出力された1ビットデータの加算および減算を行って、加算結果および減算結果をそれぞれ第iおよび第(i+n/2)のシフトレジスタ部に対して前記シリアルデータとして出力する第1〜第(n/2)のバタフライ演算部と、
これら第1〜第(n/2)のバタフライ演算部それぞれの入力元および出力先を前記シフトによりデータが1周するたびに切り替える入力元出力先切替スイッチ
とを具備することを特徴とする高速アダマール変換器。 - 前記バタフライ演算部は、第(2i−1)のシフトレジスタ部によってシフト出力された1ビットデータと第(2i)のシフトレジスタ部によってシフト出力された1ビットデータと前回の前記シフトタイミングで生成されたキャリーとを加算する加算手段と、この加算手段によって生成されたキャリーを1シフトタイミングだけ遅延する第1の遅延手段と、第(2i−1)のシフトレジスタ部によってシフト出力された1ビットデータから第(2i)のシフトレジスタ部によってシフト出力された1ビットデータと前回の前記シフトタイミングで生成されたボローを減算する減算手段と、この減算手段によって生成されたボローを1シフトタイミングだけ遅延する第2の遅延手段とを備えることを特徴とする請求項1記載の高速アダマール変換器。
- 前記シフトレジスタ部それぞれは、所定のデータ出力タイミングで前記シフトレジスタ部でシフトされる(p+log2n)ビットを選択出力する(p+log2n)個の出力スイッチを備えることを特徴とする請求項1または請求項2記載の高速アダマール変換器。
- 前記第1および第2の遅延手段は、(log2n×(p+log2n))シフトタイミングごとに初期化されるものであることを特徴とする請求項2または請求項3記載の高速アダマール変換器。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP36585799A JP3716695B2 (ja) | 1999-12-24 | 1999-12-24 | 高速アダマール変換器 |
EP20000128244 EP1111804A3 (en) | 1999-12-24 | 2000-12-21 | Fast hadamard transform device for CDMA communication systems |
BR0006539A BR0006539A (pt) | 1999-12-24 | 2000-12-21 | Dispositivo de transformação rápida hadamard |
US09/745,649 US6732130B2 (en) | 1999-12-24 | 2000-12-22 | Fast hadamard transform device |
KR1020000081107A KR100354285B1 (ko) | 1999-12-24 | 2000-12-23 | 패스트 하다마드 변환 디바이스 |
CN00136131A CN1302126A (zh) | 1999-12-24 | 2000-12-25 | 快速哈达玛变换装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP36585799A JP3716695B2 (ja) | 1999-12-24 | 1999-12-24 | 高速アダマール変換器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001184337A JP2001184337A (ja) | 2001-07-06 |
JP3716695B2 true JP3716695B2 (ja) | 2005-11-16 |
Family
ID=18485298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP36585799A Expired - Fee Related JP3716695B2 (ja) | 1999-12-24 | 1999-12-24 | 高速アダマール変換器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6732130B2 (ja) |
EP (1) | EP1111804A3 (ja) |
JP (1) | JP3716695B2 (ja) |
KR (1) | KR100354285B1 (ja) |
CN (1) | CN1302126A (ja) |
BR (1) | BR0006539A (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030050944A1 (en) * | 2001-08-21 | 2003-03-13 | Olivier Gay-Bellile | Device for computing discrete transforms |
KR100800897B1 (ko) * | 2001-10-27 | 2008-02-04 | 삼성전자주식회사 | 고속 하다마드 변환 장치 및 방법 |
US7188132B2 (en) * | 2001-12-25 | 2007-03-06 | Canon Kabushiki Kaisha | Hadamard transformation method and apparatus |
KR100846485B1 (ko) * | 2002-04-09 | 2008-07-17 | 삼성전자주식회사 | 하다마드 트랜스폼 방법 및 장치 |
WO2004002037A1 (fr) * | 2002-06-21 | 2003-12-31 | Linkair Communications,Inc. | Procede pour etaler le spectre de canaux multicodes pour des codes ls |
JP3902990B2 (ja) * | 2002-07-02 | 2007-04-11 | キヤノン株式会社 | アダマール変換処理方法及びその装置 |
US7003536B2 (en) * | 2002-08-15 | 2006-02-21 | Comsys Communications & Signal Processing Ltd. | Reduced complexity fast hadamard transform |
US6996163B2 (en) * | 2003-03-27 | 2006-02-07 | Arraycomm, Inc. | Walsh-Hadamard decoder |
CN1937451B (zh) * | 2005-09-19 | 2010-05-12 | 中兴通讯股份有限公司 | 一种快速哈达玛变换装置 |
US7555514B2 (en) * | 2006-02-13 | 2009-06-30 | Atmel Corportation | Packed add-subtract operation in a microprocessor |
US20080288568A1 (en) * | 2007-05-14 | 2008-11-20 | Hou Hsieh S | Low power Fast Hadamard transform |
JP4933405B2 (ja) * | 2007-11-13 | 2012-05-16 | キヤノン株式会社 | データ変換装置及びその制御方法 |
US8228971B2 (en) | 2008-07-29 | 2012-07-24 | Agere Systems Inc. | Technique for searching for a preamble signal in a spread spectrum signal using a fast Hadamard transform |
CN101894095B (zh) * | 2010-02-08 | 2015-08-12 | 北京韦加航通科技有限责任公司 | 快速哈达玛变换装置及方法 |
CN101841711B (zh) * | 2010-04-17 | 2012-01-04 | 上海交通大学 | 用于视频解码的反量化装置及其实现方法 |
CN105552755B (zh) * | 2012-06-25 | 2017-11-28 | 重庆欧荣莱汽车配件有限公司 | 变压器散热管蝶形阀维修装置 |
US8842665B2 (en) | 2012-08-17 | 2014-09-23 | Lsi Corporation | Mixed radix fast hadamard transform for communication systems |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5737925A (en) | 1980-08-14 | 1982-03-02 | Matsushita Electric Ind Co Ltd | High-speed hadamard converter |
JPH05233681A (ja) | 1992-02-21 | 1993-09-10 | Sony Corp | アダマール変換回路 |
JPH06301711A (ja) | 1993-04-14 | 1994-10-28 | Mitsubishi Electric Corp | 高速アダマール変換器 |
US5561618A (en) * | 1993-12-22 | 1996-10-01 | Qualcomm Incorporated | Method and apparatus for performing a fast Hadamard transform |
US5784293A (en) * | 1994-11-03 | 1998-07-21 | Motorola, Inc. | Apparatus and method for determining transmitted modulation symbols |
KR970011794B1 (ko) * | 1994-11-23 | 1997-07-16 | 한국전자통신연구원 | 메모리 소자를 이용한 하다마드 변환기 |
US6311202B1 (en) * | 1999-03-12 | 2001-10-30 | Lucent Technologies Inc. | Hardware efficient fast hadamard transform engine |
-
1999
- 1999-12-24 JP JP36585799A patent/JP3716695B2/ja not_active Expired - Fee Related
-
2000
- 2000-12-21 BR BR0006539A patent/BR0006539A/pt not_active IP Right Cessation
- 2000-12-21 EP EP20000128244 patent/EP1111804A3/en not_active Withdrawn
- 2000-12-22 US US09/745,649 patent/US6732130B2/en not_active Expired - Fee Related
- 2000-12-23 KR KR1020000081107A patent/KR100354285B1/ko not_active IP Right Cessation
- 2000-12-25 CN CN00136131A patent/CN1302126A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP1111804A2 (en) | 2001-06-27 |
CN1302126A (zh) | 2001-07-04 |
KR20010062661A (ko) | 2001-07-07 |
US6732130B2 (en) | 2004-05-04 |
BR0006539A (pt) | 2001-07-24 |
JP2001184337A (ja) | 2001-07-06 |
US20010007110A1 (en) | 2001-07-05 |
KR100354285B1 (ko) | 2002-09-28 |
EP1111804A3 (en) | 2003-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3716695B2 (ja) | 高速アダマール変換器 | |
US6247034B1 (en) | Fast fourier transforming apparatus and method, variable bit reverse circuit, inverse fast fourier transforming apparatus and method, and OFDM receiver and transmitter | |
CA2179758C (en) | Method and apparatus for performing a fast hadamard transform | |
Kim et al. | A carry-free 54b/spl times/54b multiplier using equivalent bit conversion algorithm | |
US6370556B1 (en) | Method and arrangement in a transposed digital FIR filter for multiplying a binary input signal with tap coefficients and a method for designing a transposed digital filter | |
US5761265A (en) | Parallel architecture for generating pseudo-random sequences | |
US7830949B2 (en) | Cross correlation circuits and methods | |
US6138132A (en) | High speed ROM-based nyquist fir filter | |
US20020002572A1 (en) | Fir filter,method of operating the same, semiconductor integrated circuit including fir filter, and communication system for transmiting data filtered by fir filter | |
US6993541B2 (en) | Fast hadamard peak detector | |
CN110705196B (zh) | 一种基于随机计算的无误差加法器 | |
JPH10308720A (ja) | M系列を任意にシフトする回路 | |
JP3418595B2 (ja) | 三値ディジタル回路 | |
KR20040043582A (ko) | 병렬 순환 중복 검사 코드 발생 시스템 및 방법 | |
EP0353041A2 (en) | Signal processing apparatus and method using modified signed digit arithmetic | |
JPH06301711A (ja) | 高速アダマール変換器 | |
JP2000347834A (ja) | Sw数系による演算回路 | |
JP2001177378A (ja) | Firデジタルフィルタ | |
KR100545609B1 (ko) | 통신 시스템의 변조기내 유한 임펄스 응답 필터 | |
JPS63163927A (ja) | 乗算回路 | |
KR19990079024A (ko) | 병렬 승산기 | |
JPH04257024A (ja) | 開平器 | |
RU2239955C1 (ru) | Криптографический преобразователь двоичных данных | |
WO2000034853A1 (en) | A serial-parallel binary multiplier | |
JP2003140881A (ja) | シリアルパラレル変換回路およびパラレルシリアル変換回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041025 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050111 |
|
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: 20050809 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050822 |
|
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: 20080909 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090909 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090909 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100909 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |