JP2006287325A - インターリーブ及びデインターリーブ方法、無線装置及びその半導体装置 - Google Patents

インターリーブ及びデインターリーブ方法、無線装置及びその半導体装置 Download PDF

Info

Publication number
JP2006287325A
JP2006287325A JP2005101070A JP2005101070A JP2006287325A JP 2006287325 A JP2006287325 A JP 2006287325A JP 2005101070 A JP2005101070 A JP 2005101070A JP 2005101070 A JP2005101070 A JP 2005101070A JP 2006287325 A JP2006287325 A JP 2006287325A
Authority
JP
Japan
Prior art keywords
ram
data
address
state information
mode
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.)
Withdrawn
Application number
JP2005101070A
Other languages
English (en)
Inventor
Koji Higa
孝治 比嘉
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.)
Toyota Industries Corp
Original Assignee
Toyota Industries 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 Toyota Industries Corp filed Critical Toyota Industries Corp
Priority to JP2005101070A priority Critical patent/JP2006287325A/ja
Priority to US11/393,547 priority patent/US20060233009A1/en
Publication of JP2006287325A publication Critical patent/JP2006287325A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Error Detection And Correction (AREA)

Abstract

【課題】インターリーブ及びデインターリーブ処理を行うための回路を簡素化する。
【解決手段】RAMアドレスコントロール14は、ステート情報に基づいて、アドレスROM16から出力されるアドレスに所定のオフセットを加算したアドレスをRAM17に出力する。アドレスROM16には、各変調方式のデータの並べ替え規則に対応するアドレスデータが格納されている。RAMアドレスコントロール14により指定されるアドレスのデータをRAM17から読み出す、あるいはRAM17に書き込むことでデインターリーブまたはインターリーブ処理を実現できる。
【選択図】 図1

Description

本発明は、インターリーブ及びデインターリーブ方法、インターリーブ・デインターリーブ機能を有する無線装置及びその半導体装置に関する。
地上デジタル放送、無線LAN等のデータ伝送でOFDM(Orthogonal Frequency Division Multiplexing:直交周波数分割多重)が用いられる。
特許文献1には、OFDMによりデータの送受信を行う装置において、フーリエ変換手段で送信用の逆フーリエ変換処理と受信用のフーリエ変換処理とを行い、フーリエ変換手段の変換結果を出力レジスタにセットし、その出力レジスタにセットされたデータを、送信時と受信時で異なる順序で読み出すことが記載されている。これにより、フーリエ変換手段の出力処理でそれぞれ専用の回路が不要となる。
特許文献2には、インターリーブを施した状態で読み出すための読み出しアドレスを格納した周波数デインターリーブテーブルを変調方式と各変調方式のセグメント数に対応して作成し、その周波数デインターリーブテーブルに従って周波数デインターリーブを行うことが記載されている。
特許文献2の発明は、周波数インターリーブ時のメモリの節約を意図したものであるが、各変調方式のセグメント数に対応して周波数インターリーブテーブルを作成する必要がありメモリの節約に制限がある。さらに、特許文献2の発明は、インターリーブとデインターリーブ処理を実現するための回路の規模を小さくすることを目的としたものではない。
また、インターリーブ及びデインターリーブのデータの並べ替えの従来の方法にについて図3、図4を参照して説明する。
図3は、RAM17の構成を模式的に示す図(メモリマップ)であり、図3の正面から見て、RAM17の上部の水平方向に並ぶ文字A0、B0、C0・・・F2が列を示し、左側に垂直方向に並ぶ数字0,1,2、3・・・15が行を示す。入力データa,b,c・・・を、RAM17の列方向に順に書き込み、行方向に読み出す時に並べ替えることでデータを所定の順序に並べ替えることができる。例えば、図3のように、RAM17のA0列から列方向に1ビットづつ書き込み、0行から行方向にaqGW・・・と1ビットづつ読み出すことで連続したビット列を16ビット離れた位置に並べ替えることができる。
インターリーブにおける各変調方式のデータの並べ替え規則は、図4に示すように定められている。
図4は、データの並べ替えを行わない場合(Without Permutation)と、並べ替えを行う場合(With Permutation)のデータの並べ替え規則を、変調方式に対応させた表である。
図4において、16QAM変調のROW_0_2、ROW_1_2と、64QAM変調のROW_0_3,ROW_1_3,ROW_2_3は、それぞれ図3の行番号を「2」または「3」で割ったときの余りの数値で指定される行を示している。
例えば、ROW_1_2は、行番号を2で割ったときの余りが「1」であるので奇数行を示し、ROW_0_2は、行番号を2で割ったときの余りが「0」であるので偶数行を示す。また、An,Bn,..はn=0,1,2とし,図3のA0,B0,...,A1,B1,...,A2,B2,...を表す。
図4に示すように、16QAM変調方式でデータの並べ替えを行う場合には、ROW_0_2の偶数行は、並べ替えを行わない場合と同じデータの配置となる。また、ROW_1_2の奇数行については、0ビット目のAnと1ビット目のBnとが入れ替えられ、3ビット目のEnと4ビット目のDnが入れ替えられ、その他ビットには0が設定される。なお、図4のWithout PermutationのAn側から0ビット目、1ビット目・・・5ビット目とする。
64QAM変調方式でデータの並べ替えを行う場合、ROW_0_3、つまり行番号を3で割ったときの除余が0の列については、並べ替えを行わない場合と同じ順序となる。
ROW_1_3、つまり行番号を3で割ったときの除余が1の行については、0ビット目がBn、1ビット目がCn、2ビット目がAn、3ビット目がEn、4ビット目がFn、5ビット目がDnとなるようにデータの並べ替えを行う。
ROW_2_3、つまり行番号を3で割ったときの除余が2の行については、0ビット目がCn、1ビット目がAn、2ビット目がBn、3ビット目がFn、4ビット目がDn、5ビット目がEnとなるように並べ替えを行う。デインターリーブにおいては,並べ替えられたデータを元の並びに戻す処理を行う。すなわち,図4において,With Permutation の並びから,Without Permutation の並びに変換する処理を行う。
しかしながら、従来のインターリーブ及びデインターリーブのデータの並べ替えの方法では、インターリーブ用の処理部とデインターリーブ用の処理部と別々のものを必要とするため回路規模が大きくなるという問題がある。また、インターリーブ処理とデインターリーブ処理が別々に独立して動作する場合は、インターリーブ用のメモリとデインターリーブ用のメモリと別々のものを必要とするため回路規模が大きくなるという問題もある。
特開11−308190号公報 特開2003−124904号公報
本発明の課題は、インターリーブ・デインターリーブ処理に必要な回路を簡素化することである。
本発明は、データの並べ替えを行うインターリーブ及びデインターリーブ方法であって、複数のRAMの内のアクセス対象のRAMの選択及びアドレス指定を行うためのステート情報をステート制御部から出力させ、前記ステート制御部は、データの並べ替えを行う第1のモードのステート情報と、データの並べ替えを行わない第2のモードのステート情報を出力する。
この発明によれば、インターリーブとデインターリーブ処理を行うための回路を共通化して回路規模を小さくできる。また、回路規模を小さくすることで消費電力も減らすことができる。
上記の発明のインターリーブ及びデインターリーブ方法であって、複数のRAMの内のアクセス対象のRAMの選択及びアドレス指定を行うためのステート情報をステート制御部から出力させ、前記ステート情報に基づいてROMの読み出しアドレスを指定して前記ROMに格納されている前記複数のRAMのアドレスを指定するアドレスデータを出力させ、前記ステート情報に基づいて、アクセス対象のRAMを選択する選択信号を出力させ、前記ステート制御部は、データの並べ替えを行う第1のモードのステート情報と、データの並べ替えを行わない第2のモードのステート情報を出力する。
このように構成することで、インターリーブとデインターリーブ処理を行うための回路を共通化して回路規模を小さくできる。また、回路規模を小さくすることで消費電力も減らすことができる。
上記の発明のインターリーブ及びデインターリーブ方法において、前記ROMから出力されるアドレスデータに前記ステート情報により定まるユニットオフセットを加算して得られるアドレスを前記RAMに出力する。
このように構成することで、ユニットオフセットを変更することで所定のアドレス間隔でデータを読み出してデータの並べ替えを行うことができる。
上記の発明のインターリーブ及びデインターリーブ方法において、前記第1のモードのステート情報に基づいて前記複数のRAMの内のアクセス対象のRAMのアドレスを指定してデータを読み出しまたは書き込むことでデータの並べ替えを行い、同時に前記第2のモードのステート情報に基づいて前記複数のRAMの内の他のアクセス対象のRAMのアドレスを指定する。
上記のように構成することで、第1のモードのステート情報に従って複数のRAMの内のアクセス対象のRAMのアドレスを指定してデータの並べ替えを行い、同時に複数のRAMの内の他のアクセス対象のRAMに対してデータの書き込みまたは読み出しの他方を行うことができる。これにより、インターリーブ及びデインターリーブ処理の高速化を図れる。
上記の発明のインターリーブ及びデインターリーブ方法において、前記第1のモードのステート情報に基づいてアクセス対象のRAMを選択する選択信号を出力すると共に、前記第2のモードのステート情報に基づいて前記アクセス対象のRAMを書き込み状態にするか、それとも読み出し状態にするかを指定する信号を出力する。
このように構成することで、第1のモードのステート情報に基づいてアクセス対象のRAMを選択してデータの並べ替えを行い、同時に他のRAMに対してデータの書き込みまたは読み出しの他方の動作を行うことができる。これによりインターリーブ及びデインターリーブ処理の高速化を図れる。
上記の発明のインターリーブ及びデインターリーブ方法において、各変調方式の各ステート情報に対応して定められるアドレスに、第1のタイミング信号に同期して変化するベースアドレスを加算したアドレスを読み出しアドレスとして前記ROMに出力する。
このように構成することで、例えば、同一のステート情報に対して変調方式毎に異なるアドレス設定することで各変調方式に対して同一のステート情報を使用してROMのアドレスを指定することができる。これによりROMのアドレスを指定するための制御情報を少なくできるのでROMのアドレス制御が簡単になる。
また、本発明の無線装置は、データを所定の順序に並べ替えるインターリーブ及びデインターリーブ機能を有する無線装置であって、データを書き込み、読み出すためのRAMと、ステート制御部とを備え、前記ステート制御部は、前記RAMのアドレス指定を行い、インターリーブ処理とデインターリーブ処理とを行う無線装置である。
また、本発明の半導体装置は、データを所定の順序に並べ替えるインターリーブ・デインターリーブ処理部を有する半導体装置であって、データを書き込み、読み出すためのRAMと、ステート制御部とを備え、前記ステート制御部は、インターリーブ処理とデインターリーブ処理とを行うための第1のモードのステート情報と第2のモードのステート情報を出力する半導体装置である。
このように構成することで、インターリーブとデインターリーブ処理のための回路を共通化できる。
本発明によれば、インターリーブとデインターリーブ処理のための回路を共通化できるので回路規模を小さくできる。また、回路規模を小さくすることで消費電力も減らすことができる。
以下、本発明の実施の形態を図面を参照して説明する。図1は、実施の形態の無線装置(例えば、802.11の通信プロトコルに基づいて無線通信を行う無線LAN等の無線装置)のインターリーブ・デインターリーブ処理部11のブロック図である。
図1において、ステートコントロール(State Control:ステート制御部に対応する)12は、入力データを並べ替えてRAM17に書き込むため、あるいはRAM17に記憶されたデータを並べ替えて読み出すためのステート情報をROMアドレスコントロール(ROM Address Control)13,RAMアドレスコントロール(RAM Address Control)14及びRAMアクセスコントロール(RAM Access Control)15に出力する。
ROMアドレスコントロール(ROMアドレス制御部に対応する)13は、ステートコントロール12から出力されるステート情報に基づいてアドレスROM16に読み出しアドレスを出力する。
アドレスROM16は、入力データを所定の順序に並べ替えてRAM17に書き込みまたは読み出すためのアドレスデータを各変調方式に対応させて記憶する。
RAMアドレスコントロール(RAMアドレス制御部に対応する)14は、ステートコントロール12から出力されるステート情報に基づいて、アドレスROM16から出力されるアドレスデータに所定のユニットオフセットを加算したアドレスをRAM17に出力する。ユニットオフセットについては図14で後述する。
RAMアクセスコントロール(RAMアクセス制御部に対応する)15は、ステートコントロール12から出力されるステート情報に基づいて複数のRAM17の内のアクセス対象のRAMを選択する信号を出力する。
ゼロ挿入回路(Zero Insertion)18は、RAM17から読み出されたデータの所定の位置にゼロを挿入し、あるいはRAM17から読み出されたデータをそのまま出力する。
データ再配置部(Data Rearrangement)19は、入力データまたはゼロ挿入回路18から出力されるデータを出力側の回路のデータ形式に合わせて再配置して出力する。
図2は、インターリーブ・デインターリーブ処理部11の詳細なブロック図である。
図2において、ステートコントロール12は、Mode−1ステートコントロール(Mode−1 State Control)21とMode−2ステートコントロール(Mode−2 State Control)22とからなる。
Mode−1ステートコントロール21は、データに同期したmode−1のタイミング信号tmg1(第1のタイミング)と変調方式を示すデータrateとに基づいてmode−1のステート情報state1(第1のモードのステート情報)を出力する。
Mode−2ステートコントロール22は、カウンタ(CNTR)22aとステートマシン(State Machine)22bとからなり、データに同期した、mode−2のタイミング信号tmg2(第2のタイミング信号)に基づいてmode−2のステート情報state 2(第2のモードのステート情報)を出力する。
ROMアドレスコントロール13は、ベースアドレスコントロール(Base Address Control)23と、オフセットコントロール(Offset Control)24と、加算器25とからなる。
ベースアドレスコントロール23は、例えば、カウンタ(CNTR)からなり、タイミング信号tmg1に応じて変化する又は同期して変化する0〜7のベースアドレスを出力する。
オフセットコントロール24は、mode−1のステート情報state1により定まる所定のアドレスオフセットを出力する。
加算器25は、ベースアドレスとオフセットアドレスとを加算し、加算結果のアドレスrom_addrをアドレスROM16に出力する。
RAMアドレスコントロール14は、mode−1アドレスコントロール26とmode−2アドレスコントロール27からなる。mode−1アドレスコントロール26は、データの並べ替えを行うmode−1のRAMアドレスを出力し、mode−2アドレスコントロール27は、データの並べ替えを行わないmode−2におけるRAMアドレスを出力する。
Mode−1アドレスコントロール26は、ステート情報state1に基づいて各ユニット(後述する)のユニットオフセットを出力するユニットオフセットコントロール(Unit Offset Control)28と、アドレスROM16から読み出されるアドレスデータaddr_outに、上記のユニットオフセットを加算する加算器29と、mode−1におけるRAM_A用のアドレスaddr_a1とRAM_B用のアドレスaddr_b1を出力する出力部(Sel)30とで構成されている。
Mode−2アドレスコントロール27は、mode−2のステート情報state2とタイミング信号tmg2とに基づいて、mode−2のRAM_A用のアドレスaddr_a2とRAM_B用のアドレスaddr_b2とを出力する。
RAM17は、RAM_AとRAM_Bとで構成されており、さらに、RAM_AはRAM_A@0及びRAM_A@1で構成され、RAM_BはRAM_B@0及びRAM_B@1で構成されている。これら4つのRAM(RAM_A@0、RAM_A@1、RAM_B@0、RAM_B@1)を1組とすると、RAM17は合わせて2組のRAMを備えている(その2組はSet_0とSet_1の名称の組とする)。ここで@は0または1として2組のRAMを区別し、@=0のときの組(即ちRAM_A00、RAM_A01、RAM_B00、RAM_B01)をSet_0とし、@=1のときの組(即ちRAM_A10、RAM_A11、RAM_B10、RAM_B11)をSet_1とする。即ち、RAM17は全体で8つのRAM(RAM_A00、RAM_A01、RAM_B00、RAM_B01、RAM_A10、RAM_A11、RAM_B10、RAM_B11)を有する。
RAMアクセスコントロール15は、タイミング信号tmg1をカウントして所定のタイミングで信号を出力するカウンタ(CNTR)31と、mode−1のステート情報state1、変調方式を指定するデータrate及びタイミング信号tmg1と、カウンタ31の出力信号とに基づいてRAM17の選択信号cen1〜4を出力する選択信号生成部(CEN Generator)32と、タイミング信号tmg2をカウントして所定のタイミングで信号を出力するカウンタ(CNTR)33と、ステート信号state2と、カウンタ33の出力信号とに基づいてRAM17のリードイネーブル信号read_enと、2組のRAMのうちの一方を書き込み可能な状態にする信号rw_selとをRAM17に出力するスイッチ回路34とで構成されている。
次に、本実施の形態のインターリーブ及びデインターリーブ処理におけるRAM17のデータ構成を図7〜図9を参照して説明する。
図7は、RAM17のデータ構成を模式的に示す図(メモリマップ)である。図7(A)のRAM17は、図7(B)に示すように2個のRAM_A及びRAM_Bで構成されており、6ビットのデータ[1]〜[48]がRAM_AとRAM_Bの行方向に図7(A)の1行分づつ交互に書き込まれる。なお、図7(A)のRAM17の左側の0、1、2・・・15は行番号を示すので、1行分とは例えば[1][2][3]のデータを示す。なお、図7(A)下の<0>〜<17>は列番号を示す。
ここで、RAM_AとRAM_Bに格納されるデータを図8を参照して説明する。RAM_Aの右下隅の位置(図8の正面から見て)を基準にすると、0行の0列〜5列(<0>〜<5>)に6ビットのデータ[1]が格納され、次に、同じ行の6列〜11列(<6>〜<11>)に次の6ビットのデータ[2]が格納され、同じ行の12列〜17列(<12>〜<17>)に次の6ビットのデータ[3]が格納される。
同様に、RAM_Bには、1行の0列〜5列に6ビットのデータ[4]が格納され、6列〜11列にデータ[5]が、12列〜17列にデータ[6]が格納される。
なお、図8は、図7(A)に示したRAM17のメモリマップと対応するようにRAM_Aの偶数行とRAM_Bの奇数行にデータが格納された状態を示したが、実際にはそれぞれのメモリエリアRAM_AとRAM_Bに連続してデータが格納される。
さらに、RAM_AとRAM_Bは、図7(C)に示すように、データを並列で処理及び格納するためにそれぞれRAM_A@0及びRAM_A@1とRAM_B@0及びRAM_B@1で構成されている。
今、図7(D)に示すように6ビット単位のデータ[1]、[2]・・・の各ビットをV5〜V0で表すと、図7(C)に示すように、RAM_A@0には、データ[1]の内の0ビット目のデータV5,2ビット目のデータV3,4ビット目のデータV1が格納される。また、RAM_A@1には、データ[1]の1ビット目のデータV4と、3ビット目のデータV2と、5ビット目のデータV0が格納される。以下、同様にデータ[2]、「3」、[7]、[8]・・・の6ビットのデータの内の3ビットのデータV5,V3,V1がRAM_A@0に格納され、残りの3ビットのデータV4,V2,V0がRAM_A@1に格納される。RAM_B@0,RAM_B@1についても同様である。
図9は、上記のRAM_A@0,RAM_A@1及びRAM_B@0,RAMB@1に格納されるデータの構成を模式的に示す図である。RAM_A@1,RAM_B@0の下に記載された<>内の数値は列番号、各RAMの右側の数値0、18、36、54は<0>列のアドレスを表す。なお、図9に示す列番号とデータが格納された[1][2][3][7][8][9]・・・との対応関係は図7及び図8と異なるが、図7〜図9はデータ構成を模式的に示す図であり、列番号を<0>から<17>まで使うために図9と図7及び図8の対応関係を異ならせただけである。
図9のRAM_A及びRAM_Bの0行0列のアドレスを「0」、0行1列のアドレスを「1」、0行2列のアドレスを「2」とすると、RAM_A@0のアドレス0〜2に、ユニット1(ユニットについては図14で後述する)のデータ[1]の3ビットのデータV5,V3、V1が格納され、RAM_A@1のアドレス0〜2にデータ[1]の残りの3ビットのデータV4,V2,V0が格納される。そして、RAM_A@0のアドレス3〜5にデータ[2]の3ビットのデータV5,V3,V1が格納され、RAM_A@1のアドレス3〜5にデータ[2]の残りの3ビットのデータV4,V2,V0が格納される。
同様に、RAM_A@0のアドレス9〜11にデータ[7]の3ビットのデータV5,V3,V1が格納され、RAM_A@1のアドレス9〜11にデータ[7]の残りの3ビットのデータV4,V2,V0が格納される。
以下、同様に、RAM_A@0のアドレス63〜65に、同じユニット1の最後のデータ[43]の3ビットのデータV5,V3,V1が格納され、図9の右側(正面から見て)に点線で示すように、RAM_A@1のアドレス63〜65に、同じユニット1の最後のデータ[43]の3ビットのデータV4,V2,V0が格納される。
RAM_A@0,RAM_A@1には、図7(A)のデータ[1]〜[48]の内で「1」、「2」、「3」、[7]、[8]、[9]・・・の各データが格納される。
RAM_B@0,RAM_B@1についても同様であり、RAM_B@0のアドレス0〜2にデータ[4]の3ビットのデータV5,V3,V1が格納される。RAM_B@1のアドレス0〜2にデータ[4]の残りの3ビットのデータV4,V2,V0が格納される。
従って、RAM_B@0,RAM_B@1には、図7(A)のデータ[1]〜[48]の内で[4]、[5]、[6]、[10]、[11]、[12]・・・の各データが格納される。
図9のRAM_A@0、RAM_A@1、RAM_B@0、RAM_B@1に格納されるデータの構成を横に並べて示したものが、図7(B)のRAM_AとRAM_Bを示し、または、図7(C)のRAM_A@0、RAM_A@1、RAM_B@0、RAM_B@1を示す。
次に、図1及び図2に示す構成を有するインターリーブ・デインターリーブ処理部11の動作の概要を図5を参照して説明する。なお、図5において斜線で示すブロックは、図5の(1)〜(4)及び(1)’〜(4)’の各段階でそのとき動作に関わるブロックを指す。
インターリーブ時には、データ再配置部19が入力データの再配置を行う(図5の(1))。
インターリーブ時には、ステートコントロール12から、データを並べ替えてRAM17に書き込むためのmode−1のステート情報(図2のstate1)と、RAM17に書き込まれたデータをそのまま読み出すためのmode−2のステート情報(図2のstate2)が出力される。
ROMアドレスコントロール13は、ステートコントロール12から出力されるステート情報に基づいてアドレスROM16の読み出しアドレスを制御し、RAMアドレスコントロール14が、アドレスROM16から読み出されるアドレスデータに基づいてRAM17の書き込み及び読み出しアドレスを指定する。さらに、RAMアクセスコントロール15が、ステート情報state1、state2に基づいてアクセス対象のRAM17を選択する(図5の(2))。
RAMアドレスコントロール14によりデータの並べ替えのためのアドレスが指定され、RAMアクセスコントロール15によりアクセス対象のRAM17が選択されると、指定された行及び列のアドレスにデータが順に書き込まれ、あるいは指定された行及び列のアドレスのデータが順に読み出されてデータの並べ替えが行われる。また、RAM17から読み出されるデータに「0」を挿入する必要がある場合には、ゼロ挿入回路18が、特定のビットに「0」を挿入してデータ再配置部19に出力する(図5,(3))。
データ再配置部19はインターリーブ処理では、ゼロ挿入回路18から出力されたデータをそのまま出力する(図5の(4))。
次に、デインターリーブの動作を説明する。デインターリーブ時には、データ再配置部19がデータの再配置を行う(図5の(1)’)。そして、再配置したデータを順にRAM17に書き込む(図5の(2)’)。この場合、ゼロ挿入回路18にはデータは出力されない。
データの読み出し時にデータの並べ替えを実行する。データの並べ替えは、ステートコントロール12から出力されるmode−1のステート情報に基づいてROMアドレスコントロール13が、アドレスROM16の読み出しアドレスを制御し、RAMアドレスコントロール14が、ステート情報state1、state2とアドレスROM16から読み出されるアドレスデータに基づいてRAM17の書き込み及び読み出しアドレスを指定する。さらに、RAMアクセスコントロール15がステート情報state1,state2に基づいてアクセス対象のRAM17を選択する
RAMアドレスコントロール14によりデータの並べ替えのためのアドレスが指定され、RAMアクセスコントロール15によりアクセス対象のRAM17が選択されると、RAM17の指定された行及び列のアドレスからデータが所定の順序で読み出されデータの並べ替えが行われ、さらに読み出されたデータがゼロ挿入回路18に出力される。ゼロ挿入回路18は、RAM17から出力されるデータをそのままデータ再配置部19に出力する(図5の(3)’)。
データ再配置部19は、RAM17から読み出されたデータを出力側の回路のデータ形式に合わせて再配置する(図5の(4)’)。
図6は、2組のRAM(Set_0,Set_1)に対する入力データ列A、列B、列C・・・の書き込み及び列A’、列B’、列C’の読み出し動作を示す図である。Set_0とSet_1はそれぞれ1組のRAMを意味する。例えば、4つのRAM(RAM_A@0、RAM_A@1、RAM_B@0、RAM_B@1)の@=0により構成される1組のRAMをSet_0とし、@=1により構成される1組のRAMをSet_1とする。
入力データ列に対してインターリーブを行う場合には、mode−1のステート情報に従って入力データを並べ替えてSet_0のRAMのうちの指定されたRAMに書き込む。すなわち、最初の入力データ列AをRAMアドレスコントロール14により指定されるアドレスで、かつRAMアクセスコントロール15により選択されたRAMに書き込むことでデータを並べ替える。
次に、入力データ列BをSet_1のRAMのうち、RAMアドレスコントロール14により指定されるアドレスで、かつRAMアクセスコントロール15により選択されたRAMに書き込む。このとき同時に、mode−2のステート情報に従って、Set_0のRAMのうち、RAMアドレスコントロール14により指定されるアドレスで、かつRAMアクセスコントロール15により選択されたRAMからデータの読み出し、並べ替えられたデータ列A’を読み出す。以後、同様の手順でデータの書き込みと読み出しを並行して行う。なお、図5を参照すると、mode−1とmode−2が切り替わって各モードのどちらか1つだけが動作しているように見えるが、実際は1組のRAM(例えばSet_0)がmode−1のとき他の1組のRAM(例えばSet_1)がmode−2で動作し、1組のRAMがmode−1からmode−2に切り替わって動作すると他の1組のRAMもmode−2からmode−1に切り替わって動作する。このように2組のRAMを使うことでmode−1とmode−2が同時に動作できる。
デインターリーブの場合には、上記と逆の動作を行い、mode−2のステート情報に従ってSet_0のRAMうちの指定されたRAMに入力データ列をそのまま書き込み,次に、mode_2のステート情報に従ってSet_1のRAMうちの指定されたRAMにデータをそのまま書き込み、同時にmode−1のステート情報に従って、Set_0のRAMうちの指定されたRAMの,指定されたアドレスからデータを読み出すことでデータの並べ替えを行う。
次に、図10(A)は、ステートコントロール12の動作モードを示す図である。
ステートコントロール12は、図10(A)に示すように、インターリーブ時は、mode−1のステート情報state1(図2参照)出力して、入力データを並べ替えてRAM17に書き込み、同時に,mode−2のステート情報state2(図2参照)を出力して並べ替えたデータをRAM17から読み出す制御を行う。また、デインターリーブ時は、mode−2のステート情報state2を出力して入力データをそのままRAM17に書き込みながら、同時にmode−1のステート情報state1を出力してRAM17からデータを読み出しながらデータの並べ替えを行わせる制御を実行する。
Mode−1のステート情報state1の出力とmode−2のステート情報state2の出力は、ステートコントロール12のmode−1ステートコントロール21とmode−2ステートコントロール22によりデータに同期したタイミング信号tmg1とタイミング信号tmg2に従って行われる。
図10(B)は、mode−1の動作を行わせるためにステートコントロール12から出力されるステート情報state1を変調方式と対応させた対応表31である。
ステートコントロール12は、rate信号からどの変調方式であるかを判断し、図10(B)の対応表31に示すに示すステート情報を出力する。
例えば、BPSK変調の場合には、ステートコントロール12から、ステートS10、S11、S17及びS23の4種類のステート情報が順に出力される。
QPSK変調の場合には、ステートコントロール12から、最初にBPSKの場合のステートが出力された後,ステートS11、S14,S17,S20、S23及びS26の各ステート情報が順に繰り返し出力される。(BPSK変調されたヘッダー部を読み込むので、どの変調時にもS10、S11、S17、S23のステート情報が最初に読み出され、その後、データ部の各変調にあわせてステート情報が繰り返し出力される。)
16QAM変調の場合には、最初にBPSKの場合のステートが出力された後,ステートS11,S12,S14,S15,S17,S18,S20,S21,S23,S24,S26,S27の各ステート情報が順に繰り返し出力される。
64QAM変調の場合には、最初にBPSKの場合のステートが出力された後,ステートS11〜S28の各ステート情報が順に繰り返し出力される。
図11(A)は、変調方式がBPSKの場合のmode−1のステート情報の遷移を示す図である。
BPSK変調の場合には、最初にステートS10が出力されて初期状態を確定させた後、ステートS11、S17,S23が順に出力される。そして、再びステートS11が出力され、以後、ステートS11、S17,S23の順で繰り返し出力される。QPSK変調、16QAM変調、64QAM変調の場合には、ヘッダー部はBPSK変調でデータ部は各々QPSK変調、16QAM変調、64QAM変調なので、最初に、ステート10が出力されて初期状態を確定させた後、ステートS11、S17、S23が順に出力された後、各々QPSK変調、16QAM変調、64QAM変調にあわせたステートに変わる。
図11(B)は、並べ替えを行わないmode−2のステート情報の遷移を示す図である。
Mode−2は、変調方式に依らず同じステート情報が出力され、初期状態を確定するために最初にRAM_AをアクセスするためのステートS00が出力され、次にRAM_BをアクセスするためのステートS02が出力され、以後、RAM_AをアクセスするためのステートS01と、RAM_BをアクセスするためのステートS02が交互に出力される。
次に、図12は、アドレスROM16のデータ構成を示す図である。アドレスROM16は、インターリーブ及びデインターリーブを行うときmode−1のステート情報に基づいて動作し、mode−2では動作しない。アドレスROM16には、各変調方式に対応させてRAM_AとRAM_B(RAM17)のアドレスを指定するためのアドレスデータが格納されている。図12の_AddressはROMアドレスコントロール13から出力されるアドレスROM16の読み出しアドレスを示し、a(dec)はRAM_Aのアドレスを指定するためのアドレスデータを示し、_b(dec)はRAM_Bのアドレスを指定するためのアドレスデータを示し、decは10進数を意味する。このアドレスROM16から出力されるRAM_AとRAM_Bのアドレスデータに所定のユニットオフセット(ユニット1〜3のオフセットアドレス=ユニットオフセットアドレス)が加算されて最終的なRAM_AとRAM_Bのアドレスが指定される。ユニットオフセットについては図14で後述する。
アドレスROM16のアドレス0〜7には、BPSK変調の場合のRAM_AとRAM_Bのアドレスデータが格納されている。
アドレス8〜23には、QPSK変調の場合のRAM_AとRAM_Bのアドレスデータが格納されている。
アドレス24〜47には、16QAM変調の場合のRAM_AとRAM_Bのアドレスデータが格納されている。
さらに、アドレス48〜95には、64QAM変調の場合のRAM_AとRAM_Bのアドレスデータが格納されている。
次に、図13はステート情報と各変調方式のアドレスROM16の読み出しアドレスとを対応させたROMアドレスコントロール13のアドレスオフセットテーブル41を示す図である。ROMアドレスコントロール13は、インターリーブとデインターリーブのときには、mode−1のステート情報に従って動作し、mode−2では動作しない。
ROMアドレスコントロール13のオフセットコントロール24(図2参照)は、変調方式とmode−1のステート情報state1に基づいて、図13のアドレスオフセットテーブル41に示すアドレスオフセット(address offset)(各ステート情報に対応して定められた値)を加算器25に出力する。
加算器25は、上記のアドレスオフセットにベースアドレスコントロール23から出力される0〜7のベースアドレスを加算し、加算結果をアドレスROM16の読み出しアドレスrom_addr(図2参照)として出力する。0〜7を巡回してカウントするベースアドレスをアドレスオフセットに加算することで、全ての読み出しアドレスをアドレスオフセットテーブル41に持つ必要がなくなり、アドレスオフセットテーブル41のメモリ規模を小さくできる。
例えば、64QAM変調で、mode−1のステートS11のときには、ROMアドレスコントロール13からは、ステートS11のアドレスオフセット「48」にベースアドレス0〜7が順に加算されてアドレス48〜55の8個のアドレスがアドレスROM16に順に出力される。
これにより、図12のアドレスROM16のAddress48〜55に格納されているRAM_AとRAM_Bの8組のアドレスデータ(value:_a、_b)(0、1)(9、9)(19、18)(27、28)(36、36)(46、45)(54、55)(63、63)が順に読み出される。
同様に、64QAM変調のステートS12のときには、ROMアドレスコントロール13から、図13のアドレスオフセット「56」にベースアドレス0〜7が順に加算され、アドレス「56〜63」の8個のアドレスが順に出力される。これにより、図12のアドレスROM16のアドレス56〜63からRAM_AとRAM_Bの8組のアドレスデータが順に読み出される。
次に、図14(A)は、RAMアドレスコントロール14において用いられるユニットオフセットアドレステーブル51を示す図である。また、図14(B)は、ユニットオフセットによるRAM17のアクセス位置の制御方法の説明図である。ユニットオフセットとは、RAM17を構成するRAM_A及びRAM_Bにデータを書き込み又は読み出す際に、ある間隔を持つユニット毎にデータの書き込み又は読み出しを行うために必要なオフセット値である。例えば、図14(B)に示す、ユニット1(ユニットオフセット=0)のデータ[1][4][7][10]・・・[43][46]にアクセスすることは、図7(A)で模式的に示されたデータ構成の0列〜5列(<0>〜<5>)のデータ[1][4][7][10]・・・[43][46]をアクセスすることになる。同様に、図14(B)に示す、ユニット2(ユニットオフセット=3)のデータ[2][5][8][11]・・・[44][47]にアクセスすることは、図7(A)で模式的に示されたデータ構成の6列〜11列(<6>〜<11>)のデータ[2][5][8][11]・・・[44][47]にアクセスすることになる。
RAMアドレスコントロール14は、インターリーブとデインターリーブ処理時には、mode−1におけるRAM_AとRAM_Bのアドレスaddr_a1及びaddr_b1と、mode−2におけるRAM_AとRAM_Bのアドレスaddr_a2及びaddr_b2とを同時に出力する。
図2に示すMode−1アドレスコントロール26は、ステート情報に従って、図14(A)のユニットオフセットアドレステーブル51の3種類のユニットオフセット「0」、「3」、「6」の何れかを、アドレスROM16から出力されるアドレスデータに加算し、加算結果をmode−1のRAM_AとRAM_Bのアドレスaddr_a1及びaddr_b1として出力する。図14(A)は、ステートS11のときにユニットオフセット0を加算し、ステートS17のときにユニットオフセット3を加算し、ステート23のときにユニットオフセット6を加算することを意味し、また、それ以外のステートではそのステート以前のユニットオフセットの値を保持する。例えば、64QAMでは、ステートS11の次のステートS12に変わった場合もユニットオフセットは0だが、ステート17に変わるとユニットオフセットは3となる。
Mode−2アドレスコントロール27は、ステート情報state2とタイミング信号tmg2に従ってmode−2のRAM_AとRAM_Bのアドレスaddr_a2及びaddr_b2を出力する。
上記のようにユニットオフセットを加算したアドレスをRAM_AとRAM_Bに出力することで、図14(B)に示すように、一定のアドレス間隔でRAM_AとRAM_Bのデータをアクセスすることができる。ユニット1,ユニット2、ユニット3はそれぞれ,図7(A)のRAM17における<0>〜<5>へのアクセス,<6>〜<11>へのアクセス,<12>〜<17>へのアクセスに対応する。
64QAM変調のデインターリーブ処理を行う場合には、アドレスROM16から出力されるアドレスデータにそれぞれユニット1のユニットオフセット「0」を加算してRAM_AとRAM_Bのアドレス指定を行って図7(A)のRAM17における列番号<0>〜<5>のデータを所定数読み出し、次に、ユニット2のユニットオフセット「3」を加算してRAM_AとRAM_Bのアドレス指定を行って<6>〜<11>のデータを所定数読み出し、次に、ユニット3のユニットオフセット「6」を加算してRAM_AとRAM_Bのアドレス指定を行って<12>〜<17>のデータを所定数読み出すことで、64QAM変調の並べ替え規則に従って並べ替えられたデータを元の順序に復元することができる。
次に図15(A)は、RAMアクセスコントロール15の動作条件を示す図である。図15(A)に示すように、RAMアクセスコントロール15は、インターリーブ時には、RAM_AとRAM_Bに対してmode−1でデータの書き込みを行うように動作し、mode−2でデータの読み出し行うように動作する。また、デインターリーブ時には、RAM_AとRAM_Bに対してmode−1でデータの読み出しを行うように動作し、mode−2でデータの書き込みを行うように動作する。
図15(B)は、RAM_AとRAM_Bのアクセス動作を示す図である。図15(B)の選択信号rw_selの矩形波線の下段(立下り状態)は0を示し、上段(立上り状態)は1を示す。リードイネーブル信号red_enの矩形波線の下段(立下り状態)は0を示し、上段(立上り状態)は1を示す。
2セットあるRAM_A0@及びRAM_A1@とRAM_B0@及びRAM_B1@の一方(RAM_A0@とRAM_B0@で構成されるSet_0のRAM)は、選択信号rw_selが「0」の時書き込み状態、rw_selが「1」の時読み出し状態となり、他方(RAM_A1@とRAM_M1@で構成されるSet_1のRAM)は、選択信号rw_selが「1」の時書き込み状態、rw_selが「0」の時読み出し状態となる。即ち、Set_0のRAMが読み出しを行うと同時にSet_1のRAMが書き込みを行うように動作し、Set_0が書き込みを行うと同時にSet_1が読み出しを行うように動作する。
リードイネーブル信号red_enが「1」のときRAM_AとRAM_Bの読み出しが可能となり、データの書き込みから始めるために、初期状態ではリードイネーブル信号は「0」、すなわち読み出しを行わないモードに設定される。
次に、図16は、mode−1におけるRAMアクセスコントロール15の選択動作を示すRAM選択テーブル61を示す図である。図16のstateはステート情報を示し、Access_Order(アクセスオーダ)はRAM17のどのRAMに書き込むか選択する選択状態の遷移(アクセス順)を示す。ベースアドレスの増加とアクセスオーダの増加は対応しており、アクセスオーダが1増えるとベースアドレスも1増える。即ち、アクセスオーダが変わりRAMアクセスコントロール15から出力されるRAM17の選択信号が変わると、ベースアドレスも変わりRAMアドレスコントロール14から出力されるRAM17の書き込み及び読み出しアドレスが変わることで、アクセス対象のRAMの特定のアドレスが選択されることになる。
このRAM選択テーブル61は、RAMアクセスコントロール15から出力されるRAM_A@0,RAM_A@1,RAM_B@0,RAM_B@1の選択信号(図16に○で示す)と各変調方式のステート情報とを対応づけた表である。
例えば、64QAM変調でステート情報state1がステートS11の場合で、アクセスオーダ1のときには、RAM_A@0とRAM_B@0を選択する信号が出力され、次のアクセスオーダ2で、RAM_A@1とRAM_B@0を選択する信号が出力される。
次に、以上のような構成のインターリーブ・デインターリーブ処理部11のデインターリーブ処理時の読み出し動作を図12、図13、図14、図16、図17を参照して説明する。インターリーブ処理時の書き込み動作も同じである。
デインターリーブのmode−1において、ステートコントローラ12からステート情報state1としてステートS11が出力されると、ROMアドレスコントロール13からは、図13のアドレスオフセットテーブル41のステートS11に対応するアドレスオフセット「48」にベースアドレスの初期値「0」を加算したアドレス「48」がアドレスROM16に出力される。
これにより、アドレスROM16から、図12に示す64QAM変調のアドレス「48」に格納されているRAM_Aのアドレスデータ「0」とRAM_Bのアドレスデータ「1」が出力される。
ここで、ユニット1のユニットオフセットが「0」であるので(図14のユニットオフセットアドレステーブル51参照すると、ステートS11のときのユニットオフセットは0である)、RAMアドレスコントロール14からは、アドレスROM16から出力されるRAM_Aのアドレスデータ「0」とRAM_Bのアドレスデータ「1」がそのままRAM_AとRAM_Bに出力される。
同時に、RAMアクセスコントロール15からは、64QAM変調のステートS11のRAM17の選択信号としてRAM_A@0とRAM_B@0を選択する信号が出力される(図16のRAM選択テーブル61参照)。
従って、ステートS11のユニット1の1番目のデータの読み出しでは、RAM_A@0のアドレス「0」のデータとRAM_B@0のアドレス「1」のデータが同時に読み出される。RAM_A@0のアドレス「0」は、図9のRAM_A@0のデータ[1]の位置の0ビット目であり、その位置のデータはV5である。また、RAM_B@0のアドレス「1」は、図9のRAM_B@0のデータ[4]の位置の1ビット目であり、その位置のデータはV3である。
よって、デインターリーブのmode−1のステートS11において、ユニット1で最初に読み出されるデータは、図17に示すようにV5とV3となる。
所定時間経過すると(例えば、タイミング信号tmg2で定まる期間)、ROMアドレスコントロール13から、アドレスオフセット「48」にベースアドレスの次の値「1」を加算したアドレス「49」がアドレスROM16に出力される。
これにより、アドレスROM16から、図12に示す64QAM変調のアドレス「49」に格納されているRAM_Aのアドレスデータ「9」とRAM_Bのアドレスデータ「9」が出力される。
この場合もユニットオフセットが「0」であるので、RAMアドレスコントロール14からは、アドレスROM16から出力されるRAM_Aのアドレス「9」とRAM_Bのアドレス「9」がそのままRAM_AとRAM_Bに出力される。
同時にRAMアクセスコントロール15から、図16のRAM選択テーブル61に示す、64QAM変調のステートS11のアクセスオーダ2(ユニット1の2番目である[7]と[10])のRAM_A@1とRAM_B@0を選択する選択信号が出力される。
従って、ステートS11のユニット1の2番目の読み出しでは、RAM_A@1のアドレス「9」のデータとRAM_B@0のアドレス「9」のデータが同時に読み出される。RAM_A@1のアドレス「9」は、図9のRAM_A@1のデータ[7]の位置の0ビット目を指し、その0ビット目のデータはV4である。また、RAM_B@0のアドレス「9」は、図9のRAM_B@0のデータ[10]の位置の0ビット目を指し、その0ビット目のデータはV5である。
よって、デインターリーブのステートS11において、ユニット1の2番目に読み出されるデータは、図17に示すようにV4とV5となる。
同様にして、ユニット1の3番目([13]と[16])から7番目([37]と[40])のデータの読み出しが終了し、ユニット1の8番目([43]と[46])のデータを読み出すために、ROMアドレスコントロール13から、アドレスオフセット「48」にベースアドレスの最大値「7」を加算した値「55」が出力される。
これにより、アドレスROM16から、64QAM変調のアドレス55の位置に格納されているRAM_Aのアドレスデータ「63」とRAM_Bのアドレスデータ「63」が出力される。
この場合もユニットオフセットは「0」であるので、RAMアドレスコントロール14からはRAM_Aのアドレス「63」とRAM_Bのアドレス「63」がそのまま出力される。
同時にRAMアクセスコントロール15から、RAM_A@1とRAM_B@0を選択する選択信号が出力される(図16参照)。
従って、ステートS11のユニット1の8番目の読み出し時には、RAM_A@1のアドレス「63」のデータとRAM_B@0のアドレス「63」のデータが同時に読み出される。RAM_A@1のアドレス「63」は、図9のRAM_A@1のデータ[43]の位置の0ビット目を指し、その0ビット目のデータはV4である。また、RAM_B@0のアドレス「63」は、図9のRAM_B@0のデータ[46]の位置の0ビット目を指し、その0ビット目のデータはV5である。
よって、デインターリーブのステートS11において、ユニット1の8番目から読み出されるデータは、図17に示すようにV4とV5となる。
図18は、64QAM変調のデインターリーブ処理時のmode−2の書き込み動作を示す図である。インターリーブ処理時の読み出し動作も同じである。
デインターリーブ時のmode−2のデータの書き込みは、並べ替えが行われている入力データをそのままの順序でRAM_AとRAM_Bに書き込めば良い。
ステートコントロール12からは、mode−2のステート情報として、最初にステートS00が出力され、入力データ[1]、[2]、[3]のRAM_Aへの書き込みが行われる。そして、次に、ステートコントロール12からステートS02が出力され、入力データ[4]、[5]、[6]のRAM_Bへの書き込みが行われる。次に、ステートコントロール12からステートS01が出力され、入力データ[7]、[8]、[9]のRAM_Aへの書き込みが行われる。以後、ステートコントロール12からステートS02とS01が交互に出力され、RAM_AとRAM_Bへのデータの書き込みが交互に行われる。
上述したように、インターリーブまたはデインターリーブ処理を行うときに、ステートコントロール12から、各変調方式のmode−1及びmode−2のステート情報(例えば、64QAM変調のmode−1では、ステートS11〜S28、mode−2では、ステートS00〜S02)を出力し、各変調方式のステート情報で指定されるアドレスのアドレスデータをアドレスROM16から読み出す。そして、そのアドレスデータに基づいてRAM_AとRAM_Bのアドレス指定を行い、指定されたアドレスにデータを書き込みまたはデータを読み出すことでデータを所定の順序に並べ替えることができる。すなわち、図1のインターリーブ・デインターリーブ処理部11を共通に用いてインターリーブ処理とデインターリーブ処理を実現できる。
例えば、64QAM変調のデインターリーブ処理では、RAMアドレスコントロール14から出力されるアドレスに従ってRAM_AとRAM_Bから、ユニット1の1〜8番目([1][4]・・・[43][46])のデータ、ユニット2の1〜8番目([2][5]・・・[44][47])のデータ、ユニット3の1〜8番目([3][6]・・・[45][48])のデータを順に読み出すことで、インターリーブされた入力データを元の順序に復元することができる。
次に、図19(A)は、ゼロ挿入回路18の動作条件を示す図である。インターリーブ時に、図4のデータの並べ替え規則に従ってデータを並べ替える場合には、並べ替えを行うデータ以外の部分にゼロを書き込む必要がある。そのため、ゼロ挿入回路18は、図4の各変調方式の並べ替え規則で定められている本来のデータを書き込む位置以外の位置(図4で「0」で示される位置)に「0」を挿入する。具体的には、BPSK変調、QPSK変調及び16QAM変調のインターリーブ時には、RAM17から読み出されるデータに対して図4に「0」で示される位置に「0」を挿入したデータを出力する。64QAM変調の場合には、ゼロを挿入する必要がないのでRAM17から読み出されたデータをそのまま出力する。また、デインターリーブ時には、RAM17から読み出されるデータをそのまま出力する。
次に、図20は、RAM_AとRAM_B(RAM17)から読み出されるデータ(Input)とゼロ挿入回路18から出力されるデータ(Output)を示す図である。
図20の左側のInputに示すように、BPSK変調、QPSK変調及び16QAM変調のインターリーブされたデータは、目的とするデータ(図20にAn、Bn・・で示すデータ)以外のデータは不定(例えば、図20に示すBPSK変調の場合はV0〜V4のデータのない×の箇所)になっている。
例えば、BPSK変調では、0ビット目の位置のV5以外のデータは不定であるので、1ビット目〜5ビット目の位置のV4〜V0のデータとして「0」を挿入する。
他の変調方式についても同様に、並べ替えの対象となったデータ以外の位置に「0」を挿入する。
その結果、図20の右側のOutputに示すように、各変調方式でインターリーブされたデータの該当する位置に「0」が挿入されたデータがゼロ挿入回路18からデータ再配置部19に出力される。
次に、64QAM変調でインターリーブされた入力データをデインターリーブする場合の読み出し動作を図21及び図22を参照して説明する。
図21は、64QAM変調でインターリーブされたデータがRAM_A@0,RAM_A@1,RAM_B@0及びRAM_B@1に格納された状態を示している。
今、図21のRAM_A@0,RAM_A@1,RAM_B@0及びRAM_B@1には、図20のOutputに示すデータが格納されているものとする。
図21の各RAM_A@0,RAM_A@1,RAM_B@0,RAM_B@1の四角い枠の中のアルファベットの文字A、B、C、D、E、Fは、各メモリエリアに格納されているデータを示している。また、それぞれのRAMの上段の左端と右端(図21の正面から見て)の0,8,9,17,18,26等の数字はアドレスを示し、[1]、[2]、[3]・・・は、図7のRAM17のデータ[1]、[2]、[3]・・・に対応する。また、各RAM_A@0,RAM_A@1,RAM_B@0,RAM_B@1の四角い枠の中のアルファベットの文字A、B、C、D、E、Fは、図7(A)のRAM17の構成の列<0>〜<17>に対応する列A0〜F2に対応する。即ち、図21のアルファベットの文字Aは、図7(A)の列A0、A1、A2のデータに対応しており、アルファベットの文字B〜Fも同様である。
図22は、ステートS11〜S13とそのとき選択されるRAMのアドレスを対応付けたアドレステーブル71を示す図である。
以下、このアドレステーブル71を参照しながら、デインターリーブにおけるデータの読み出し動作を図21を用いて具体的に説明する。
ステートS11のアクセスオーダ1では、図22のアドレステーブル71のAccess Order1に示すように、RAM_A@0とRAM_B@0が選択され、それぞれアドレス「0」と「1」が指定される。
その結果、図21の(1)に示すようにRAM_A@0のアドレス「0」のデータAと、RAM_B@0のアドレスの1のデータAが読み出される。
ステートS11のアクセスオーダ2では、図22のアドレステーブル71に示すようにRAM_A@1とRAM_B@0が選択され、それぞれアドレス「9」と「9」が指定される。
その結果、図21の(2)に示すように、RAM_A@1のアドレス9のデータAと、RAM_B@0のアドレス「9」のデータAが同時に読み出される。
ステートS11のアクセスオーダ3では、図22のアドレステーブル71に示すようにRAM_A@0とRAM_B@1が選択され、それぞれアドレス「19」と「18」が指定される。
その結果、図21の(3)に示すように、RAM_A@0のアドレス19のデータAと、RAM_B@0のアドレス18のデータAが同時に読み出される。
以下同様に、図22のアドレステーブル71のアクセスオーダ4〜8で指定されるRAM_AとRAM_Bのアドレスからデータが順に読み出される。
ステートS12のアクセスオーダ1では、図22のアドレステーブル71のステートS12に示すようにRAM_A@1とRAM_B@0が選択され、それぞれアドレス「0」と「「0」が指定される。
その結果、図21の(1)に示すように、RAM_A@1のアドレス「0」のデータBと、RAM_B@0のアドレス「0」のデータBとが同時に読み出される。
ステートS12のアクセスオーダ2では、図22のアドレステーブル71のステートS12に示すようにRAM_A@0とRAM_B@1が選択され、それぞれアドレス「10」と「9」が指定される。
その結果、図21の(2)に示すように、RAM_A@0のアドレス「10」のデータBとRAM_B@1のアドレス「9」のデータBが同時に読み出される。
以下同様にステートS12のアクセスオーダ3〜8で指定されるアドレスからデータが読み出される。
さらに、ステートS13のアクセスオーダ1では、図22のアドレステーブル71のステートS1に示すように、RAM_A@0とRAM_B@1が選択され、それぞれアドレス「1」と「0」が指定される。
その結果、図21の(1)に示すように、RAM_A@0のアドレス「1」のデータCとRAM_B@1のアドレス「0」のデータCが同時に読み出される。
以下同様に、ステートS13のアクセスオーダ2〜8で指定されるアドレスのデータが読み出される。
以上のような読み出し動作を行うことで、図23に示すように送信時のインターリーブ処理により並べ替えられた入力データ列AnのデータAn−0〜An15が順に読み出され(n=0、1、2)、次に、データ列Bn、Cn・・・の各データが順に読み出されて元の順序に並び替えられる。
図24及び図25は、データ再配置部19におけるデータの再配置の説明図である。
シリアル入力で出力側の回路が2ビットのパラレルデータを必要とする場合には、データ再配置部19は、図24の(A)に示すようにシリアルデータを2ビットのパラレルデータに再配置して出力し、パラレル入力の場合には、図24(B)に示すようにパラレルデータの下位ビットから順に2ビットのパラレルデータに再配置して出力する。
また、入力データが2ビットのパラレルデータで出力側の回路がシリアルデータを必要とする場合には、図25の(A)に示すように2ビットのパラレルデータをシリアルデータに再配置し、出力側の回路がパラレルデータを必要とする場合には、図25(B)に示すように、2ビットのパラレルデータを所定ビット数のパラレルデータに再配置して出力する。
その他の実施例として、図26は、データの重みを示す重みデータを付加して復調する場合に、RAM_A@0とRAM_A@1に格納されるデータを示す図である。
重みデータは各ビットが0、1の何れに近い値であるかを示すデータであり、ビット単位で付加されている。重みデータを付加することで各ビットのデータV5、V3,V1等の復調誤りを少なくすることができる。変調時、すなわち、送信時には、有効な重みデータは付加されない。
重みデータを付加する場合には、重みデータも含めて一つのデータとして扱い、並べ替え処理を行う。インターリーブ時には各ビットのデータV5,V4,V3等のみ抜き出して出力する。重みデータは無効であるため、どんな値であってもよい。デインターリーブ時には重み情報も含めて出力する。
上述した実施の形態によれば、ステートコントロール12からmode−1のステート情報とmode−2のステート情報を出力し、それらのステート情報に基づいてROMアドレスコントロール13がアドレスROM16の読み出しアドレスを指定し、RAMアドレスコントロール14とRAMアクセスコントロール15がRAM17の選択及びアドレス指定を行ってRAM17にデータを書き込むことで、所定の並べ替え規則に従って入力データを並べ替えることができる。また、同様にRAM17のアドレス指定を行ってデータを読み出すことで、インターリーブされたデータを並べ替えて元の順序に復元することができる。本実施の形態では、インターリーブとデインターリーブの処理を共通の回路で行うことができるので、インターリーブ及びデインターリーブ処理を行うための回路規模を小さくできる。また、回路規模を小さくすることで消費電力も減らすことができる。回路規模を小さくできることで、インターリーブ及びデインターリーブ処理部11を含めた無線通信回路を半導体集積回路基板上に形成して半導体装置を構成するときにチップサイズを小さくできる。
なお、上述した実施の形態は、インターリーブ処理を行う場合、RAM17にデータを書き込むときにデータの並べ替えを行っているが、RAM17からデータを読み出すときに並べ替えを行っても良い。デインターリーブ処理の場合、その逆にRAM17へのデータの書き込み時に並べ替えを行っても良い。
本発明は上述した実施の形態に限らず、例えば、以下のように構成しても良い。
(1)インターリーブ・デインターリーブ処理部11の構成は、図1及び2に示した回路に限らず、同じ機能実現できる回路であれば公知のどのような回路でも良い。
(2)実施の形態では、アドレスROM16から読み出されるアドレスデータにユニットオフセットを加算するようにしたが、アドレスROMに全てのデータを記憶させてユニットオフセットの加算を行わないようにしても良い。また、アドレスROM16をRAMアドレスコントロール14に含ませて一体形成してもよい。また、ROMアドレスコントロール13とアドレスROM16をRAMアドレスコントロール14に含ませて一体形成してもよい。
(3)本発明は無線LANに限らず、無線装置、その他の装置に適用できる。
(4)実施の形態では、RAM17は8枚のRAMとしたが、8枚に限らず、例えばSet_0とSet_1の2枚でもよく、また、mode-1とmode-2の同時処理が必要なければ複数でなくてもよい。また、1枚のRAMを仮想空間で8枚に分けて動作させてもよい。(5)実施の形態でいう「並べ替え」とは、図4に示す並べ替えを含めた動作を示すが、図3に示す並べ替えと図4に示す並べ替えの両方を含めた動作であってもよい。
図1は、実施の形態のインターリーブ・デインターリーブ処理部11の構成を示す図である。 インターリーブ・デインターリーブ処理部11の詳細なブロック図である。 インターリーブの説明図である。 各変調方式のデータの並べ替え規則を示す図である。 インターリーブ及びデインターリーブ処理の概要を示す図である。 入力データの書き込み及び読み出しの説明図である。 図7(A)〜(D)は、RAMのデータの構成を示す図である。 RAM_AとRAM_Bのデータの構成を示す図である。 RAM_A@0,RAM_A@1,RAM_B@0のデータの構成を示す図である。 図10(A)、(B)は、ステートコントロールの動作条件と、各変調方式のステート情報を示す図である。 図11(A)、(B)は、mode−1とmode−2のステート情報の遷移を示す図である。 図12は、アドレスROMの動作条件とデータ構成を示す図である。 図13は、ROMアドレスコントロールの動作条件とアドレスオフセットテーブルを示す図である。 図14(A)〜(B)は、RAMアドレスコントロールの動作条件と、ユニットオフセットアドレステーブルとRAMのアクセス位置の制御方法を示す図である。 図15(A)、(B)は、RAMアクセスコントロールの動作条件とRAM_AとRAM_Bのアクセス動作を示す図である。 RAM選択テーブルを示す図である。 インターリーブの読み出し動作の説明図である。 デインターリーブの書き込み動作の説明図である。 図19(A)、(B)は、ゼロ挿入回路の動作条件と動作を示す図である。 ゼロ挿入回路の入力データと出力データを示す図である。 デインターリーブの読み出し動作の説明図である。 アドレステーブルを示す図である。 復元されたデータを示す図である。 データの再配置の一例を示す図である。 データの再配置の一例を示す図である。 重みデータを有する場合のデータの構成を示す図である。
符号の説明
11 インターリーブ・デインターリーブ処理部
12 ステートコントロール
13 ROMアドレスコントロール
14 RAMアドレスコントロール
15 RAMアクセスコントロール
16 アドレスROM
17 RAM
18 ゼロ挿入回路
19 データ再配置部

Claims (21)

  1. データの並べ替えを行うインターリーブ及びデインターリーブ方法であって、
    複数のRAMの内のアクセス対象のRAMの選択及びアドレス指定を行うためのステート情報をステート制御部から出力させ、
    前記ステート制御部は、データの並べ替えを行う第1のモードのステート情報と、データの並べ替えを行わない第2のモードのステート情報を出力するインターリーブ及びデインターリーブ方法。
  2. データの並べ替えを行うインターリーブ及びデインターリーブ方法であって、
    複数のRAMの内のアクセス対象のRAMの選択及びアドレス指定を行うためのステート情報をステート制御部から出力させ、
    前記ステート情報に基づいてROMの読み出しアドレスを指定して前記ROMに格納されている前記複数のRAMのアドレスを指定するアドレスデータを出力させ、
    前記ステート情報に基づいて、アクセス対象のRAMを選択する選択信号を出力させ、
    前記ステート制御部は、データの並べ替えを行う第1のモードのステート情報と、データの並べ替えを行わない第2のモードのステート情報を出力する請求項1記載のインターリーブ及びデインターリーブ方法。
  3. 前記ROMから出力されるアドレスデータに前記ステート情報により定まるユニットオフセットを加算したアドレスを前記アクセス対象のRAMに出力させる請求項2記載のインターリーブ及びデインターリーブ方法。
  4. 前記第1のモードのステート情報に基づいて前記複数のRAMの内のアクセス対象のRAMのアドレスを指定してデータを読み出しまたは書き込むことでデータの並べ替えを行い、同時に前記第2のモードのステート情報に基づいて前記複数のRAMの内の他のアクセス対象のRAMのアドレスを指定してデータの並べ替えを行わない書き込みまたは読み出しを行う請求項2記載のインターリーブ及びデインターリーブ方法。
  5. 前記第1のモードのステート情報に基づいて前記アクセス対象のRAMを選択する選択信号を出力すると共に、前記第2のモードのステート情報に基づいて、前記アクセス対象のRAMを書き込み状態にするか、それとも読み出し状態にするかを指定する信号を出力する請求項2記載のインターリーブ及びデインターリーブ方法。
  6. 各変調方式の各ステート情報に対応して定められるアドレスに、データに同期した第1のタイミング信号により変化するベースアドレスを加算して得られるアドレスを読み出しアドレスとして前記ROMに出力する請求項2記載のインターリーブ及びデインターリーブ方法。
  7. 前記ROMから出力されるアドレスに、前記第1のモードのステート情報により定まる所定のユニットオフセットを加算して得られるアドレスを前記RAMに出力する請求項2記載のインターリーブ及びデインターリーブ方法。
  8. データを所定の順序に並べ替えるインターリーブ及びデインターリーブ機能を有する無線装置であって、
    複数のRAMの内のアクセス対象のRAMの選択及びアドレス指定を行うためのステート情報を出力し、前記ステート情報はデータの並べ替えを行う第1のモードのステート情報と、データの並べ替えを行わない第2のモードであるステート制御部を備える無線装置。
  9. データを所定の順序に並べ替えるインターリーブ及びデインターリーブ機能を有する無線装置であって、
    複数のRAMの内のアクセス対象のRAMの選択及びアドレス指定を行うためのステート情報を出力するステート制御部と、
    前記複数のRAMのアドレスを指定するアドレスデータを記憶するROMと、
    前記ステート情報に基づいて前記ROMの読み出しアドレスを指定するROMアドレス制御部と、
    前記ステート情報に基づいて前記複数のRAMの内のアクセス対象のRAMを選択する選択信号を出力するRAMアクセス制御部とからなり、
    前記ステート制御部は、データの並べ替えを行う第1のモードのステート情報と、データの並べ替えを行わない第2のモードのステート情報を出力する無線装置。
  10. 前記ステート制御部は、変調方式を示す情報とデータに同期した第1のタイミング信号に基づいてデータの並べ替えを行う第1のモードのステート情報を出力する第1のモードステート制御部と、データに同期した第2のタイミング信号に基づいてデータの並べ替えを行わない第2のモードのステート情報を出力する第2のモードステート制御部とを有する請求項9記載の無線装置。
  11. 前記無線装置は、RAMアドレス制御部を備え、
    前記RAMアドレス制御部は、前記ROMから出力されるアドレスデータに前記ステート情報により定まるユニットオフセットを加算したアドレスを前記アクセス対象のRAMに出力する請求項9記載の無線装置。
  12. 前記RAMアドレス制御部は、前記第1のモードのステート情報に基づいて前記複数のRAMの内のアクセス対象のRAMのアドレスを指定してデータを読み出しまたは書き込むことでデータの並べ替えを行い、同時に前記第2のモードのステート情報に基づいて前記複数のRAMの内の他のアクセス対象のRAMのアドレスを指定してデータの並べ替えを行わない書き込みまたは読み出しを行う請求項9記載の無線装置。
  13. 前記RAMアクセス制御部は、前記第1のモードのステート情報に基づいてアクセス対象のRAMを選択する選択信号を出力すると共に、前記第2のモードのステート情報に基づいて、選択されたRAMに対して書き込みを行うか、それとも読み出しを行うかを指定する信号を出力する請求項11記載の無線装置。
  14. 前記ROMアドレス制御部は、各変調方式の各ステート情報に対応して定められるアドレスに、データに同期した第1のタイミング信号に同期して変化するベースアドレスを加算したアドレスを前記ROMに出力する請求項11記載の無線装置。
  15. データを所定の順序に並べ替えるインターリーブ・デインターリーブ処理部を有する半導体装置であって、
    複数のRAMの内のアクセス対象のRAMの選択及びアドレス指定を行うためのステート情報を出力するステート制御回路と、
    前記複数のRAMのアドレスを指定するアドレスデータを記憶するROMと、
    前記ステート情報に基づいて前記ROMの読み出しアドレスを指定するROMアドレス制御回路と、
    前記ROMから出力されるアドレスデータに基づいて前記複数のRAMの内のアクセス対象のRAMのアドレスを指定するRAMアドレス制御回路と、
    前記ステート情報に基づいて、前記複数のRAMの内のアクセス対象のRAMを指定する選択信号を出力するRAMアクセス制御回路とを半導体集積回路基板上に形成した半導体装置。
  16. 前記ROMアドレス制御回路は、各変調方式の各ステート情報に対応して定められるアドレスに、データに同期した第1のタイミング信号に同期して変化するベースアドレスを加算したアドレスを前記ROMに出力する請求項15記載の半導体装置。
  17. 前記ステート制御回路は、データの並べ替えを行う第1のモードのステート情報と、データの並べ替えを行わない第2のモードのステート情報を出力する請求項15記載の半導体装置。
  18. 前記RAMアドレス制御回路は、前記第1のモードのステート情報に基づいて前記複数のRAMの内のアクセス対象のRAMのアドレスを指定してデータを読み出しまたは書き込むことでデータの並べ替えを行い、同時に前記第2のモードのステート情報に基づいて前記複数のRAMの内の他のアクセス対象のRAMのアドレスを出力する請求項17記載の半導体装置。
  19. 前記RAMアクセス制御回路は、前記第1のモードのステート情報に基づいてアクセス対象のRAMを選択する選択信号を出力すると共に、前記第2のモードのステート情報に基づいて、選択されたRAMに対して書き込みを行うか、それとも読み出しを行うかを指定する信号を出力する請求項17または18記載の半導体装置。
  20. データを所定の順序に並べ替えるインターリーブ及びデインターリーブ機能を有する無線装置であって、
    データを書き込み、読み出すためのRAMと、
    ステート制御部とを備え、
    前記ステート制御部は、前記RAMのアドレス指定を行い、インターリーブ処理とデインターリーブ処理とを行う無線装置。
  21. データを所定の順序に並べ替えるインターリーブ・デインターリーブ処理部を有する半導体装置であって、
    データを書き込み、読み出すためのRAMと、
    ステート制御部とを備え、
    前記ステート制御部は、インターリーブ処理とデインターリーブ処理とを行うための第1のモードのステート情報と第2のモードのステート情報を出力する半導体装置。

JP2005101070A 2005-03-31 2005-03-31 インターリーブ及びデインターリーブ方法、無線装置及びその半導体装置 Withdrawn JP2006287325A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005101070A JP2006287325A (ja) 2005-03-31 2005-03-31 インターリーブ及びデインターリーブ方法、無線装置及びその半導体装置
US11/393,547 US20060233009A1 (en) 2005-03-31 2006-03-30 Interleaving and de-interleaving methods, wireless apparatus and semiconductor apparatus of same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005101070A JP2006287325A (ja) 2005-03-31 2005-03-31 インターリーブ及びデインターリーブ方法、無線装置及びその半導体装置

Publications (1)

Publication Number Publication Date
JP2006287325A true JP2006287325A (ja) 2006-10-19

Family

ID=37108313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005101070A Withdrawn JP2006287325A (ja) 2005-03-31 2005-03-31 インターリーブ及びデインターリーブ方法、無線装置及びその半導体装置

Country Status (2)

Country Link
US (1) US20060233009A1 (ja)
JP (1) JP2006287325A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015005968A (ja) * 2013-06-21 2015-01-08 エフシーアイ インク 直交周波数分割多重通信における送受信装置
JP2016040897A (ja) * 2014-08-12 2016-03-24 エフシーアイ インクFci Inc 直交周波数分割多重通信における電力節減装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111478750B (zh) * 2020-03-12 2022-10-14 普联技术有限公司 一种数据并行交织方法、终端设备及计算机存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6414687B1 (en) * 1997-04-30 2002-07-02 Canon Kabushiki Kaisha Register setting-micro programming system
JP3900670B2 (ja) * 1998-04-17 2007-04-04 ソニー株式会社 通信装置
EP1650873B1 (en) * 1999-02-26 2011-05-11 Fujitsu Ltd. Turbo decoding apparatus and interleave-deinterleave apparatus
US6889055B1 (en) * 2000-10-16 2005-05-03 Qualcomm Inc. Technique for reducing average power consumption in a wireless communications device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015005968A (ja) * 2013-06-21 2015-01-08 エフシーアイ インク 直交周波数分割多重通信における送受信装置
JP2016040897A (ja) * 2014-08-12 2016-03-24 エフシーアイ インクFci Inc 直交周波数分割多重通信における電力節減装置

Also Published As

Publication number Publication date
US20060233009A1 (en) 2006-10-19

Similar Documents

Publication Publication Date Title
KR20020048421A (ko) 코딩된 저장 심벌 및 부가적인 정보를 사용하여 입력데이터 비트 시퀀스를 인터리빙하는 인터리버 및 방법
JPH11144451A (ja) 半導体記憶装置
JP2006287325A (ja) インターリーブ及びデインターリーブ方法、無線装置及びその半導体装置
JP2001229688A (ja) メモリアプリケーション用のハイブリッドデータi/o
US20080301400A1 (en) Method and Arrangement for Efficiently Accessing Matrix Elements in a Memory
WO2011064898A1 (en) Apparatus to enable time and area efficient access to square matrices and its transposes distributed stored in internal memory of processing elements working in simd mode and method therefore
KR100247064B1 (ko) 콤팩트디스크-롬 드라이브의 디코딩장치에서 에러정정을 위한 메모리 리드회로
JPH09102748A (ja) インターリーブ回路
CN109728826B (zh) 一种数据交织与解交织方法和装置
KR100248395B1 (ko) 디지털 통신용 채널 부호기 설계방법
US7061988B2 (en) Interleaver memory access apparatus and method of mobile communication system
WO2001024380A1 (en) Interleaver and method for interleaving a data bit sequence
KR100275427B1 (ko) Ram과의 인터페이스 방법 및 장치
JPH10163887A (ja) インターリーブ装置およびデインターリーブ装置
EP4325726A1 (en) Interleave circuit and communication device
KR100447177B1 (ko) 인터리빙 방법 및 이를 위한 장치
JP2000114990A (ja) インタリーブ装置
US8245010B2 (en) Method for memory address arrangement
JP3931384B2 (ja) Fifoメモリ制御装置
KR100308145B1 (ko) 인터리버
JP3295372B2 (ja) デインターリーブ装置
JP4252406B2 (ja) データ変換装置
JP2018207386A (ja) レートデマッチング及びデインターリーブ回路
JP3526542B2 (ja) データ転送装置及びその方法
JP4973042B2 (ja) データ位置変換装置およびデータ位置変換方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080603