JP3854882B2 - インタリーブ装置及びインタリーブ方法 - Google Patents
インタリーブ装置及びインタリーブ方法 Download PDFInfo
- Publication number
- JP3854882B2 JP3854882B2 JP2002079562A JP2002079562A JP3854882B2 JP 3854882 B2 JP3854882 B2 JP 3854882B2 JP 2002079562 A JP2002079562 A JP 2002079562A JP 2002079562 A JP2002079562 A JP 2002079562A JP 3854882 B2 JP3854882 B2 JP 3854882B2
- Authority
- JP
- Japan
- Prior art keywords
- interleaving
- transfer
- data
- address
- interleave
- 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
Landscapes
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Mobile Radio Communication Systems (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、無線通信の誤り訂正処理におけるインタリ−ブ装置及びインタリーブ方法に関する。
【0002】
【従来の技術】
マルチパス環境下において発生するバ−スト誤りをランダム誤りに変換する誤り訂正技術として、インタリ−ブが知られている。
【0003】
インタリ−ブとは、デ−タの順序を入れ替える処理であり、通常、送信側と受信側で対になって用いられる。具体的には、送信側において順序を入れ替えられたデ−タを、受信側において、送信側で並び替えた順序が元に戻るように、並び替える。これら一対のインタリ−ブ処理において、伝播路において発生したバ−スト誤りをランダム誤りに変換することができ、誤り訂正復号の効果を高めることができる。
【0004】
第3世代移動体通信方式においては、規格書「TS25.212 Ver.3.5.0. 4.2.5.」に、インタリ−ブの方法が開示されている。ここで開示されているインタリ−ブは、1つのトランスポ−トチャネルを対象としたインタリ−ブであり、1stインタリ−ブと呼ばれる。
【0005】
1stインタリ−ブ(以下、インタリ−ブと表記する)は、トランスポ−トチャネルごとに予め設定されたTTI(Transmitter Time Interval)によって、並べ替えパタ−ンが決まるインタリ−ブ処理である。
【0006】
また、前記規格書には、Compressed Mode時におけるインタリ−ブ方法も開示されている。Compressed Modeとは、他のシステム(異周波)にハンドオーバする際に、ハンドオーバ先の周波数帯の受信環境を測定するために発生するイベントである。前記イベントは、通常設定されている周波数帯を、一時的に、または、周期的に他のシステムの周波数帯に変更し、指定時間経過した後に、元の周波数帯に再変更することで達成される。このとき、他の周波数帯に移行している時間帯をGapという。
【0007】
Gap中においては、Gapの区間だけ、元の周波数帯に係るデ−タの送受信が行われない状態が続く。従って、Compressed Mode中においては、通常よりもデ−タの長さが短くなるので、処理が若干異なる。
【0008】
前記インタリ−ブは、Compressed Modeであって、By Punctureモ−ドが指定された場合、通常のインタリ−ブ処理と異なる。ByPunctureモードとは、インタリ−ブする前に行われるRateMatch処理において、デ−タを削除する、すなわちPunctureすることによって、デ−タの長さを調節することを指す。
【0009】
Compressed Mode By Puncture時におけるインタリ−ブ処理は、前記規格書に開示されている。Compressed ModeBy Puncture時においては、まず、後述するPビットをインタリ−ブ前のデ−タに挿入し、次いで、通常のインタリ−ブ処理を行い、さらに、前記Pビットを削除することによって、短いデ−タ長のインタリ−ブ処理を実現することができる。ここで、送信側のインタリ−ブ処理において、Pビットを削除する前のインタリ−ブ後の各フレ−ムに係るデ−タ群は、先頭からPビットが連続して存在している。言い換えると、インタリ−ブ処理後のデ−タにおいて、Pビットが先頭から連続して存在するように、インタリ−ブ前のデ−タに対しPビットを挿入しなければならない、といった複雑な処理が必要となる。また、受信側のインタリ−ブ処理においては、Pビットを挿入してインタリ−ブ処理を行い、その後、Pビットを検索して、インタリ−ブ後のデ−タから削除しなければならず、送信側と同様に、非常に複雑な処理を要する。以下、図面を用いて、送信側のインタリ−ブ処理の動作について説明する。
【0010】
図5は、Compressed Mode By Puncture時のインタリ−ブ装置を示すブロック図である。図5においては、まず、CPU11が、Pビット位置決定部12に対し、各フレ−ムのGapの長さから計算されるPビットの個数を通知する。ここで、Pビットの個数とは、そのフレ−ムのGapに係るビット数を指す。次いで、Pビット位置決定部12は、インタリ−ブされた後の各フレ−ムの先頭にPビットが連続して存在するには、インタリ−ブ前のデ−タのどの位置に挿入すべきかを、前記規格書に開示されている計算方法により決定し、Pビット挿入部14に通知する。さらに、Pビット位置決定部12は、インタリ−ブされた後の各フレ−ムのデ−タに含まれるPビットの個数を、Pビット削除部18に通知する。次いで、Pビット挿入部14は、インタリ−ブ前のデ−タが記憶されているメモリ13よりデ−タを読みこんで、メモリ15に順にデ−タを書きこむ。このとき、前記通知されたPビットの位置においては、Pビットを挿入する。次いで、インタリ−ブ部16は、Pビットが付加されたインタリ−ブ前のデ−タに対し、通常のインタリ−ブ処理を施して、メモリ17に書きこむ。次いで、Pビット削除部18は、前記インタリ−ブされたデ−タが格納されているメモリ17からデ−タを読み込んで、前記通知された削除すべきPビットに係るデ−タを除き、メモリ19に書きこむ。
【0011】
これらの方法により、Compressed Mode By Punctureの際にもインタリ−ブ処理を実現することができる。
【0012】
【発明が解決しようとする課題】
従来の技術においては、(1)計算によって求められた位置にPビットを挿入する、(2)挿入されたPビットを含むデ−タ列に対してインタリ−ブ処理する、(3)Pビットを削除する、という3段階の処理を行っていたため、メモリアクセス回数が頻繁に発生し、処理量が膨大になるといった問題があった。例えば、デ−タ数が10000ビットであった場合、インタリ−ブ処理に必要な総メモリアクセス回数は、60000(10000*6)回となってしまい、携帯端末装置の使用時間が大幅に削減されてしまう。
【0013】
本発明はかかる点に鑑みてなされたものであり、Pビットの挿入/削除処理を行わず、Pビット数から導出されるテ−ブルを用いてメモリのアドレス制御を行うことによって、メモリアクセス回数を低減したインタリーブ装置およびインタリーブ方法を提供することを目的とする。
【0014】
【課題を解決するための手段】
本発明のインタリーブ装置は、Gap区間長を表す少なくとも1つの情報に基づき少なくとも1つのテ−ブルを作成するテ−ブル作成手段と、前記テ−ブル作成手段で作成されたテ−ブルに基づいて少なくとも1つの入出力アドレスポインタテーブルを生成するアドレス生成手段と、インタリ−ブ前のデ−タを格納する第1の記憶手段と、インタリ−ブ後のデ−タを記憶する第2の記憶手段と、前記アドレス生成手段より通知されたアドレスポインタテーブルに基づいて前記第1の記憶手段に記憶されているデ−タを前記第2の記憶手段に転送する第1の転送手段と、を具備する構成を採る。
【0015】
この構成によれば、読み込む時と、書きこむときの2回のメモリアクセスのみで、Compressed Mode By Puncture時のインタリ−ブ処理を実現することが可能なため、低処理量なインタリ−ブ処理を実現することができる。
【0016】
本発明のインタリーブ装置は、作成された入力アドレスポインタテーブルと出力アドレスポインタテーブルを入れ替えた1つ以上の入出力アドレスポインタテーブルを用いて、第1の記憶装置に記憶されているデータを第2の記憶装置に転送する第2の転送手段を具備する構成を採る。
【0017】
この構成によれば、インタリーブ処理用に作成されたアドレスポインタテーブルを利用してデインタリーブ処理を行うことができるので、小型なインタリーブ装置を実現することができる。
【0018】
本発明のインタリーブ装置は、切り替え信号を発生する信号発生手段と、前記切り替え信号に応じてテ−ブル作成手段で作成された少なくとも1つのテ−ブルを第1の転送手段あるいは第2の転送手段に通知する通知手段と、を具備する構成を採る。
【0019】
この構成によれば、インタリーブ処理、デインタリーブ処理を、1つのアドレス生成部で実現することができるので、小型なインタリーブ装置を実現することができる。
【0020】
本発明の基地局装置は、上記いずれかのインタリーブ装置を具備する構成を採る。また、本発明の携帯端末装置は、上記いずれかのインタリーブ装置を具備する構成を採る。
【0021】
この構成によれば、低処理量なインタリ−ブ処理を実現することができるので、消費電力の低減を図ることができる。
【0022】
本発明のインタリーブ方法は、Gap区間長を表す少なくとも1つの情報に基づき少なくとも1つのテ−ブルを作成する工程と、作成されたテ−ブルに基づいて少なくとも1つの入出力アドレスポインタテーブルを生成する工程と、生成されたアドレスポインタテーブルに基づいてインタリ−ブ前のデ−タを格納するメモリからインタリ−ブ後のデ−タを記憶するメモリにデ−タを転送する工程と、を具備する方法を採る。
【0023】
この方法によれば、読み込む時と、書きこむときの2回のメモリアクセスのみで、Compressed Mode By Puncture時のインタリ−ブ処理を実現することが可能なため、低処理量なインタリ−ブ処理を実現することができる。
【0024】
【発明の実施の形態】
本発明の骨子は、Pビットの個数に基づいて作成されたテ−ブルを用いてメモリアクセス順序を制御することで、Compressed Mode By Puncture時であっても、低処理量なインタリ−ブ装置を提供することにある。
【0025】
以下、本発明の実施の形態について、添付図面を参照して詳細に説明する。なお、以下の説明において、アルファベットと括弧で表現する配列のアドレスは、特に示した場合を除き、0からカウントするものとする。
【0026】
(実施の形態1)
図1は、本発明の実施の形態1に係るインタリ−ブ装置の構成を示すブロック図である。
【0027】
図1に示すインタリ−ブ装置は、例えば、CDMA(Code Division Multiple Access)方式の携帯端末、基地局等の装置に搭載されるものである。
【0028】
図1において、CPU101は、TTI長と、1フレ−ムあたりのビット数と、各フレ−ムのPビット数をテ−ブル作成部102に通知する。次いで、テ−ブル作成部102は、通知された情報に基づき、後述するテ−ブル作成アルゴリズムを用いて4つのテ−ブルを作成し、アドレス生成部103に通知する。
【0029】
次いで、アドレス生成部103は、通知された4つのテ−ブルに基づき、後述のアドレス生成アルゴリズムを用いて、1Column分のインタリ−ブ処理に係る入出力アドレスポインタ、及び転送ビット数を生成し、転送部105に通知する。次いで、転送部105は、通知された入出力アドレスポインタに基づき、インタリ−ブ前のデ−タが記憶されているメモリ104から該当デ−タを読み、さらに、インタリ−ブ後のデ−タを記憶するメモリ106の該当アドレスに書きこむ。次いで、転送部105は、1Column分のインタリ−ブ処理が終了したことをアドレス生成部103に通知する。次いで、アドレス生成部103は、次の列に係る入出力アドレスポインタ、転送ビット数を更新し、次のColumnに係るアドレスを生成して、転送部105に通知する。
【0030】
前述の処理をCPU101より通知されたTTI長分だけ繰り返すことでインタリ−ブ処理が達成される。ここで、Columnとは、各フレ−ムにおけるデ−タ群を指す。
【0031】
ここで、テ−ブル作成アルゴリズム、アドレス生成アルゴリズムについて、図を用いて詳細に説明する。
【0032】
図2は、テ−ブル作成アルゴリズムのフロ−を示す図である。まず、ステップ(以下「ST」と省略する)201において、テ−ブル作成部102は、CPU101から通知された、TTI長、1フレ−ム当たりのビット数、各フレ−ムのPビットの個数を認識する。ここで、TTI長とは、フレ−ム数を指している。
【0033】
次いで、ST202において、前記フレ−ム数分、各フレ−ムのPビットの個数を除いたビット数を求めTableAに書き込む。さらに、TableAの各要素を大きい順に並べかえ、TableBに書き込む。
【0034】
次いで、ST203において、以下の式に従って、TableAからTable3を作成する。
【数1】
上記において、TableA[n]とはTableAにおけるn番目の数値であり、また、Table3[n]とは、Table3のn番目の数値である。以下、Tableを表現する場合、同様の表記を行う。また、nは、0〜TTI長−1の値を採る変数である。また、Table3[0]は0、TableA[−1]は0とする。
【0035】
次いで、ST204において、TTI長によって決まるFrameNo.とColumnNo.の関係から、TableBにおける各要素に対応するColumnNo.を、Table1として作成する。同様に、TableAにおける各要素に対応するFrameNo.をTable2として作成する。FrameNo.、及びColumnNo.は、0から前記TTI長−1までの値をとる。また、FrameNo.とColumnNo.の関係は、前記規格書に記載されている通り、前記TTI長で決まるパタ−ンである。
【0036】
次いで、ST205において、以下の式に従って、TableBからTable4を作成する。
【0037】
Table4[n]=TableB[n]−TableB[n+1]
ここで、TableB[TTI]は0とする。
【0038】
最後に、ST206において、作成したTable1からTable4を、アドレス生成部103に通知する。
【0039】
次に、アドレス作成アルゴリズム、及びインタリ−ブ処理の一連の処理について、図面を用いて説明する。
【0040】
図3は、アドレス作成アルゴリズムのフロ−を示す図である。図3において、ST301は、テ−ブル作成部102から通知された4つのテ−ブルを読み込む。次いで、ST302は、インタリ−ブ処理におけるReadポインタ(以下、rpと表記する)を0に初期化する。次いで、ColumnCt(1〜TTI長)に従って、ST303からST310までのル−プ処理を行う。
【0041】
まず、ST304において、Table1からColumnCt分読み出す。さらに、前記読み出した各値をポインタとしてTable2を読む。さらに、前記Table2から読み出した値が小さい順となるように、前記Table1から読み出した値を並べ替えて、TableCに書き込む。
【0042】
次いで、ST305において、TableCからColumnCt分読み出す。さらに、前記読み出した各値をポインタとしてTable3を読み、Writeポインタテーブル(以下、wpTと表記する)に書き込み、転送部105に通知する。
【0043】
次いで、ST306において、TableCの値をポインタとしてTable4を読み、各Column当たりの転送ビット数として、転送部105に通知する。
【0044】
次いで、ST307において、wpT、rp及びColumnCtを通知する。
【0045】
次いで、ST308においては、アドレス生成部103より通知されたwpT、rp、及び、各Column当たりの転送ビット数(以下、Xと表記する)を用いて、転送部105がインタリ−ブ処理を行う。具体的には、以下の式に従って、メモリ104からメモリ106へデ−タを転送する。
【0046】
Mem1[wpT[k%ColumnCt]
+Floor[k/ColumnCt]]=Mem0[rp+k]ここで、Mem0とはメモリ104を指し、Mem1とはメモリ106を指す。また、Mem0[P]とは、メモリ104におけるアドレスPに格納されているデ−タを指す。また、kは、0〜ColumnCt*X−1、の範囲の変数である。また、Floor[N]とは、Nを超えない最大の整数を指す。また、M%Nとは、MをNで割った余りを指す。ColumnCtは、1〜TTIの値を採るので、前記Nが0となることはない。
【0047】
次いで、ST309は、Table4の値を用いて、以下の式に従って、wpTとrpを更新する。
【0048】
wpT[TableC[h]]=wpT[TableC[h]]+X
rp=rp+X*ColumnCt
ここで、hは、0からColumnCt−1までの値を採る変数である。
【0049】
次いで、転送部105から転送終了フラグを受け取った後、アドレス生成部は、ColumnCtに1を加え、ST303〜ST310の処理を再び行う。
【0050】
以上のST303〜ST310の処理をTTI回繰り返し、処理を終了する。
【0051】
ここで、以下の例を用いて、本発明のインタリ−ブ装置の処理の流れについて説明する。
【0052】
例:TTI長=8(TTI=80ms)、1フレ−ムあたりのビット数=50
各フレ−ムのPビットの個数:
{10、27、4、25、33、41、16、0}
この例においては、TTI長=8なので、FrameNo.とColumnNo.の関係は、前記規格書に記載されている通り、以下のようになる。
【0053】
FrameNo. ={0、1、2、3、4、5、6、7}
ColumnNo.={0、4、2、6、1、3、5、7}
上記において、上段のFrameNo.の数値が、下段のColumnNo.の数値に対応する。例えば、FrameNo.4に対応するColumnNo.は1となる。
【0054】
まず、上記TTI長等の情報を、CPU101がテーブル作成部102に通知する。次いで、テーブル作成部102は、図2に示したテーブル作成フローに従って4つのテーブルを作成して、アドレス生成部103に通知する。
【0055】
ここで、前記例の場合に作成される4つのテーブル作成について以下に示す。まず、1フレームの当たりのビット数から、各フレームのPビット数を引いた値を求め、TableAを求め、さらに、TableAの各要素を大きい順に並び替えたTableBを求めると、以下のようになる。
【0056】
TableA={40、23、46、25、17、9、35、50}
TableB={50、46、40、35、25、23、17、9}
次いで、TableBの各要素に係るColumnNo.をTable1に、FrameNo.をTable2に書き込むと、以下のようになる。
【0057】
Table1={7、2、0、3、6、4、1、5}
Table2={7、2、0、6、3、1、4、5}
次いで、前述の式を用いて、TableAからTable3を作成すると、以下のようになる。
【0058】
Table3={0、40、63、109、134、151、160、195}
次いで、前述の式を用いて、TableBからTable4を作成すると、以下のようになる。
【0059】
Table4={4、6、5、10、2、6、8、9}
次に、アドレス生成部103は、テーブル作成部102から通知された前記4つのテーブルを用いて、アドレスを生成する。
【0060】
アドレスの生成は、図3のアドレス生成フローに基づいて行われる。まず、書込みポインタrpを0に初期化した後、以下に記載する処理(ST303〜ST308)がTTI回繰り返される。
【0061】
まず、ColumnCtが「1」の場合について説明する。Table1の配列からColumnCt分読み出す。ここでは、ColumnCtは1なので、Table1の配列のColumn−1を、即ち0番目のみを読み出し、「7」という数値を得、TableCに格納する。この時、取得した値全てについて、ColumnNo.の小さい順に並べ替えを行うが、取得する値が1つのみなので、今回は行わない。前記数値「7」はColumnNo.を意味する。ColumnNo.7はFrameNo.7に対応するので、Table3の配列の7番目を読み出し、「195」という数値を取得し、wpTの0番目に設定する。
【0062】
次いで、転送個数を取得するためにTable4の配列の0番を読み出し、「4」を取得する。
【0063】
次いで、rp=0、wpT=195,および前記転送個数=4を転送部105に通知する。次いで、転送部105は、通知されたテーブル等を用いて、1Column分のデ−タの転送処理を行う。
【0064】
転送が終了したら、次の転送に向けてTable3とrpの値を更新する。今転送を行ったのはFrameNo.7の4個なので、次の転送のときにはFrameNo.7の4個分は出力済みなので、4個先から転送開始する。よって、Table3の配列の7番目の値に「4」足した値「199」(=195+4)を再設定する。rpには、「4」を足した値「4」(=0+4*1)を再設定する。
【0065】
次いで、転送部105から、インタリーブ処理終了フラグが通知された後、ColumnCtに「1」を加えて同様の処理を行う。
【0066】
次いで、ColumnCt=2の場合について説明する。まず、Table1の配列の0番と1番を読み出し、「7」と「2」を得る。前記2つの数値に係るColumnNo.の小さい数値のほうを配列の0番目に、大きい数値のほうを配列の1番目として、そのColumnNo.の指すFrameNo.の数値を入れてTableCを作る。すなわち、ColumnNo.7、2に対応するのはそれぞれ、FrameNo.7、FrameNo.2であるので、TableCの0番目に「2」、1番目に「7」が入る。
【0067】
次いで、TableCの0番目を読み出すと「2」が得られる。よってTable3の2番目を読み出し、「63」という数値を取得し、wpTの0番目に設定する。次いで、転送ビット数を取得するために、Table4の配列の1番目を読み出し、「6」を取得する。
【0068】
次いで、TableCの配列の1番目を読み出すと「7」が得られる。よってTable3の配列の7番を読み出し、「199」という数値を取得し、wpTの1番目に設定する。従って、ColumnCt=2の時のwpTは、{63、199}となる。
【0069】
次いで、rp=4、wpT={63、199}、転送ビット数=6、ColumnCtを、転送部105に通知する。
【0070】
次いで、次の転送に向けてTable3とrpの値を更新する。今転送を行ったのはFrameNo.2とFrameNo.7の6個なので、次の転送のときにはFrameNo.2は6個分出力済みなので、6個先から転送を開始する。同様にFrameNo.7も6個先から転送開始する。よってTable3の配列の2番の値に「6」足した値「69」(=63+6)を再設定し、配列の7番「205」(=199+6)を再設定する。rpの更新は、今回転送したColumn数は2なので、「12」を足した値「16」(=4+6*2)とする。
【0071】
次いで、ColumnCt=3の場合について説明する。
【0072】
まず、Table1の配列の0番目と1番目と2番目を読み出すと、「7」と「2」と「0」が得られる。前記3つの数値に係るColumnNo.の小さい数値の順にソートして、前記数値に係るColumnNo.の指すFrameNo.の数値を入れて配列TableCを作る。すなわち、ColumnNo.7はFrameNo.7、ColumnNo.2はFrameNo.2、ColumnNo.0はFrameNo.0であるので、配列0番に0、配列1番に2、配列2番に7が入る。
【0073】
次いで、TableCの配列の0番目を読み出して、「0」が得られ、Table3の配列の0番目を読み出し、「0」という数値を取得し、wpTの0番地に設定する。
【0074】
次いで、転送ビット数を取得するために、Table4の配列の2番目を読み出し、「5」を取得する。
【0075】
次いで、TableCの配列の1番目を読み出すと2が得られ、Table3の配列の2番目を読み出し、「69」という数値を取得し、wpTの1番目に設定する。
【0076】
同様に、wpTの2番目に設定すべき値を求め、最終的なwpTは、{0、69、205}となる。
【0077】
次いで、次の転送に向けてTable3とrpの値を更新する。今転送を行ったのはFrameNo.0とFrameNo.2とFrameNo.7の5個なので、次の転送のときにはFrameNo.0は5個分出力済みなので、5個先から転送を開始する。同様にFrameNo.2もFrameNo.7も5個先から転送開始する。よってTable3の配列の0番の値に「5」足した値「5」(=0+5)を再設定し、配列の2番に「74」(=69+5)を再設定し、配列の7番に「210」(=205+5)を再設定する。rpの更新は、転送数5の3Column分なので、「15」を足した値「31」(=16+5*3)を再設定する。
【0078】
以下、ColumnCt=4から8までを、上記と同様に行うことで、インタリーブ処理が完了する。
【0079】
上記の方法で入出力アドレスポインタと転送数の管理を行いつつデ−タ転送を行うことで、少ない処理量のまま、Compressed Mode By Punctureのインタ−リ−ブ処理を行うことができる。
【0080】
(実施の形態2)
図4は、本発明の実施の形態2に係るインタリ−ブ装置の構成を示すブロック図である。なお、図4において図1と同じ部分については図1と同じ符号を付してその詳細な説明は省略する。
【0081】
図4に示すインタリ−ブ装置は、例えば、CDMA(Code Division Multiple Access)方式の携帯端末、基地局等の装置に搭載されるものである。
【0082】
図4において、CPU101は、TTI長と、1フレ−ムあたりのビット数と、各フレ−ムのPビット数をテ−ブル作成部102に通知する。次いで、テ−ブル作成部102は、通知された情報に基づき、後述するテ−ブル作成アルゴリズムを用いて4つのテ−ブルを作成し、アドレス生成部103に通知する。
【0083】
次いで、アドレス生成部103は、通知された4つのテ−ブルに基づき、前述したアドレス生成アルゴリズム(図2参照)を用いて、1Column分のインタリ−ブ処理に係る入出力アドレスポインタ、及び転送ビット数を生成する。
【0084】
次いで、CPU101から通知される、インタリーブ処理、もしくはデインタリーブ処理かを選択する信号により、セレクタ401は、前記入出力アドレスポインタ、及び転送ビット数を、転送部105もしくは転送部402のいずれかに通知する。
【0085】
ここで、デインタリーブ処理とは、インタリーブ処理の逆処理を指す。具体的には、インタリーブ処理で並び替えられたデータを、元の順序に並び直す処理である。
【0086】
次いで、転送部105もしくは転送部402は、通知された入出力アドレスポインタに基づき、インタリ−ブ前/デインタリーブ前のデ−タが記憶されているメモリ104から該当デ−タを読み、さらに、インタリ−ブ後/デインタリーブ後のデ−タを記憶するメモリ106の該当アドレスに書きこむ。次いで、転送部105/転送部402は、1Column分のインタリ−ブ処理が終了したことをアドレス生成部103に通知する。次いで、アドレス生成部103は、次の列に係る入出力アドレスポインタ、転送ビット数を更新し、次のColumnに係るアドレスを生成して、転送部105/転送部402に通知する。
【0087】
また、上記説明において、インタリーブ処理とデインタリーブ処理における使用メモリをメモリ104とメモリ106としたが、インタリーブ処理とデインタリーブ処理で別個のメモリを用いてもよい。
【0088】
実施の形態2に係るデインタリーブ処理は、アドレス生成部103において、インタリーブ処理用に作成されたポインタの入出力関係を逆に採ることで、デインタリーブ処理を実現することができる。以下、詳細に説明する。
【0089】
転送部402は、セレクタ401を介して、アドレス生成部103から入出力アドレスポインタ、及び処理ビット数を通知される。
【0090】
この時、前記入出力アドレスポインタとは、インタリーブ処理においての入出力であるので、入出力関係を逆に採る必要がある。
【0091】
すなわち、通知された情報である入力ポインタをrp、出力ポインタをwpT、処理ビット数をXとすると、デインタリーブ処理は、以下の式で実現される。
【0092】
ここで、Mem0とはメモリ104を指し、Mem1とはメモリ106を指す。また、Mem0[P]とは、メモリ104におけるアドレスPに格納されているデ−タを指す。また、kは、0〜ColumnCt*X−1、の範囲の変数である。また、Floor[N]とは、Nを超えない最大の整数を指す。また、M%Nとは、MをNで割った余りを指す。ColumnCtは、1〜TTIの値を採るので、前記Nが0となることはない。
【0093】
上記式は、メモリ0(Mem0)からメモリ(Mem1)へ転送する際の、アドレス制御を表したものである。
【0094】
また、インタリーブ処理の際のアドレス制御式と比べると、入出力メモリのアドレスを表す式が、Mem0とMem1が交換された形となっていることが分かる。
【0095】
以上に述べたように、CPU101によって、転送部105と転送部402を適宜選択することにより、同一のアドレス生成部103を用いてインタリーブ処理とデインタリーブ処理を実現することができる。
【0096】
【発明の効果】
以上説明したように、本発明のインタリ−ブ装置は、Compressed Mode By Puncture時においても、Pビットの挿入、削除に係る処理を行うことを必要としないため、メモリのアクセス回数を通常のインタリ−ブ処理と同等とすることができる。
【0097】
例えば、デ−タ数が10000ビットであった場合、インタリ−ブ処理に必要な総メモリアクセス回数は、前述したアクセス回数(60000回)の1/3の20000(10000*2)回であり、消費電力を著しく低減することができる。
【0098】
また、本発明のインタリ−ブ装置は、Pビットをデ−タとして取り扱うことがないため、送信側のインタリ−ブ処理と、受信側のデインタリーブ処理を同一化することが可能となるので、適宜使い分けることによって、装置の小型化が可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係るインタリ−ブ装置の構成を示すブロック図
【図2】本発明の実施の形態1のテ−ブル作成アルゴリズムのフロ−を示す図
【図3】本発明の実施の形態1のアドレス生成アルゴリズムのフロ−を示す図
【図4】本発明の実施の形態2係るインタリーブ装置の構成を示すブロック図
【図5】従来のインタリ−ブ装置を示すブロック図
【符号の説明】
101 CPU
102 テ−ブル作成部
103 アドレス生成部
104、106 メモリ
105、402 転送部
401 セレクタ
【発明の属する技術分野】
本発明は、無線通信の誤り訂正処理におけるインタリ−ブ装置及びインタリーブ方法に関する。
【0002】
【従来の技術】
マルチパス環境下において発生するバ−スト誤りをランダム誤りに変換する誤り訂正技術として、インタリ−ブが知られている。
【0003】
インタリ−ブとは、デ−タの順序を入れ替える処理であり、通常、送信側と受信側で対になって用いられる。具体的には、送信側において順序を入れ替えられたデ−タを、受信側において、送信側で並び替えた順序が元に戻るように、並び替える。これら一対のインタリ−ブ処理において、伝播路において発生したバ−スト誤りをランダム誤りに変換することができ、誤り訂正復号の効果を高めることができる。
【0004】
第3世代移動体通信方式においては、規格書「TS25.212 Ver.3.5.0. 4.2.5.」に、インタリ−ブの方法が開示されている。ここで開示されているインタリ−ブは、1つのトランスポ−トチャネルを対象としたインタリ−ブであり、1stインタリ−ブと呼ばれる。
【0005】
1stインタリ−ブ(以下、インタリ−ブと表記する)は、トランスポ−トチャネルごとに予め設定されたTTI(Transmitter Time Interval)によって、並べ替えパタ−ンが決まるインタリ−ブ処理である。
【0006】
また、前記規格書には、Compressed Mode時におけるインタリ−ブ方法も開示されている。Compressed Modeとは、他のシステム(異周波)にハンドオーバする際に、ハンドオーバ先の周波数帯の受信環境を測定するために発生するイベントである。前記イベントは、通常設定されている周波数帯を、一時的に、または、周期的に他のシステムの周波数帯に変更し、指定時間経過した後に、元の周波数帯に再変更することで達成される。このとき、他の周波数帯に移行している時間帯をGapという。
【0007】
Gap中においては、Gapの区間だけ、元の周波数帯に係るデ−タの送受信が行われない状態が続く。従って、Compressed Mode中においては、通常よりもデ−タの長さが短くなるので、処理が若干異なる。
【0008】
前記インタリ−ブは、Compressed Modeであって、By Punctureモ−ドが指定された場合、通常のインタリ−ブ処理と異なる。ByPunctureモードとは、インタリ−ブする前に行われるRateMatch処理において、デ−タを削除する、すなわちPunctureすることによって、デ−タの長さを調節することを指す。
【0009】
Compressed Mode By Puncture時におけるインタリ−ブ処理は、前記規格書に開示されている。Compressed ModeBy Puncture時においては、まず、後述するPビットをインタリ−ブ前のデ−タに挿入し、次いで、通常のインタリ−ブ処理を行い、さらに、前記Pビットを削除することによって、短いデ−タ長のインタリ−ブ処理を実現することができる。ここで、送信側のインタリ−ブ処理において、Pビットを削除する前のインタリ−ブ後の各フレ−ムに係るデ−タ群は、先頭からPビットが連続して存在している。言い換えると、インタリ−ブ処理後のデ−タにおいて、Pビットが先頭から連続して存在するように、インタリ−ブ前のデ−タに対しPビットを挿入しなければならない、といった複雑な処理が必要となる。また、受信側のインタリ−ブ処理においては、Pビットを挿入してインタリ−ブ処理を行い、その後、Pビットを検索して、インタリ−ブ後のデ−タから削除しなければならず、送信側と同様に、非常に複雑な処理を要する。以下、図面を用いて、送信側のインタリ−ブ処理の動作について説明する。
【0010】
図5は、Compressed Mode By Puncture時のインタリ−ブ装置を示すブロック図である。図5においては、まず、CPU11が、Pビット位置決定部12に対し、各フレ−ムのGapの長さから計算されるPビットの個数を通知する。ここで、Pビットの個数とは、そのフレ−ムのGapに係るビット数を指す。次いで、Pビット位置決定部12は、インタリ−ブされた後の各フレ−ムの先頭にPビットが連続して存在するには、インタリ−ブ前のデ−タのどの位置に挿入すべきかを、前記規格書に開示されている計算方法により決定し、Pビット挿入部14に通知する。さらに、Pビット位置決定部12は、インタリ−ブされた後の各フレ−ムのデ−タに含まれるPビットの個数を、Pビット削除部18に通知する。次いで、Pビット挿入部14は、インタリ−ブ前のデ−タが記憶されているメモリ13よりデ−タを読みこんで、メモリ15に順にデ−タを書きこむ。このとき、前記通知されたPビットの位置においては、Pビットを挿入する。次いで、インタリ−ブ部16は、Pビットが付加されたインタリ−ブ前のデ−タに対し、通常のインタリ−ブ処理を施して、メモリ17に書きこむ。次いで、Pビット削除部18は、前記インタリ−ブされたデ−タが格納されているメモリ17からデ−タを読み込んで、前記通知された削除すべきPビットに係るデ−タを除き、メモリ19に書きこむ。
【0011】
これらの方法により、Compressed Mode By Punctureの際にもインタリ−ブ処理を実現することができる。
【0012】
【発明が解決しようとする課題】
従来の技術においては、(1)計算によって求められた位置にPビットを挿入する、(2)挿入されたPビットを含むデ−タ列に対してインタリ−ブ処理する、(3)Pビットを削除する、という3段階の処理を行っていたため、メモリアクセス回数が頻繁に発生し、処理量が膨大になるといった問題があった。例えば、デ−タ数が10000ビットであった場合、インタリ−ブ処理に必要な総メモリアクセス回数は、60000(10000*6)回となってしまい、携帯端末装置の使用時間が大幅に削減されてしまう。
【0013】
本発明はかかる点に鑑みてなされたものであり、Pビットの挿入/削除処理を行わず、Pビット数から導出されるテ−ブルを用いてメモリのアドレス制御を行うことによって、メモリアクセス回数を低減したインタリーブ装置およびインタリーブ方法を提供することを目的とする。
【0014】
【課題を解決するための手段】
本発明のインタリーブ装置は、Gap区間長を表す少なくとも1つの情報に基づき少なくとも1つのテ−ブルを作成するテ−ブル作成手段と、前記テ−ブル作成手段で作成されたテ−ブルに基づいて少なくとも1つの入出力アドレスポインタテーブルを生成するアドレス生成手段と、インタリ−ブ前のデ−タを格納する第1の記憶手段と、インタリ−ブ後のデ−タを記憶する第2の記憶手段と、前記アドレス生成手段より通知されたアドレスポインタテーブルに基づいて前記第1の記憶手段に記憶されているデ−タを前記第2の記憶手段に転送する第1の転送手段と、を具備する構成を採る。
【0015】
この構成によれば、読み込む時と、書きこむときの2回のメモリアクセスのみで、Compressed Mode By Puncture時のインタリ−ブ処理を実現することが可能なため、低処理量なインタリ−ブ処理を実現することができる。
【0016】
本発明のインタリーブ装置は、作成された入力アドレスポインタテーブルと出力アドレスポインタテーブルを入れ替えた1つ以上の入出力アドレスポインタテーブルを用いて、第1の記憶装置に記憶されているデータを第2の記憶装置に転送する第2の転送手段を具備する構成を採る。
【0017】
この構成によれば、インタリーブ処理用に作成されたアドレスポインタテーブルを利用してデインタリーブ処理を行うことができるので、小型なインタリーブ装置を実現することができる。
【0018】
本発明のインタリーブ装置は、切り替え信号を発生する信号発生手段と、前記切り替え信号に応じてテ−ブル作成手段で作成された少なくとも1つのテ−ブルを第1の転送手段あるいは第2の転送手段に通知する通知手段と、を具備する構成を採る。
【0019】
この構成によれば、インタリーブ処理、デインタリーブ処理を、1つのアドレス生成部で実現することができるので、小型なインタリーブ装置を実現することができる。
【0020】
本発明の基地局装置は、上記いずれかのインタリーブ装置を具備する構成を採る。また、本発明の携帯端末装置は、上記いずれかのインタリーブ装置を具備する構成を採る。
【0021】
この構成によれば、低処理量なインタリ−ブ処理を実現することができるので、消費電力の低減を図ることができる。
【0022】
本発明のインタリーブ方法は、Gap区間長を表す少なくとも1つの情報に基づき少なくとも1つのテ−ブルを作成する工程と、作成されたテ−ブルに基づいて少なくとも1つの入出力アドレスポインタテーブルを生成する工程と、生成されたアドレスポインタテーブルに基づいてインタリ−ブ前のデ−タを格納するメモリからインタリ−ブ後のデ−タを記憶するメモリにデ−タを転送する工程と、を具備する方法を採る。
【0023】
この方法によれば、読み込む時と、書きこむときの2回のメモリアクセスのみで、Compressed Mode By Puncture時のインタリ−ブ処理を実現することが可能なため、低処理量なインタリ−ブ処理を実現することができる。
【0024】
【発明の実施の形態】
本発明の骨子は、Pビットの個数に基づいて作成されたテ−ブルを用いてメモリアクセス順序を制御することで、Compressed Mode By Puncture時であっても、低処理量なインタリ−ブ装置を提供することにある。
【0025】
以下、本発明の実施の形態について、添付図面を参照して詳細に説明する。なお、以下の説明において、アルファベットと括弧で表現する配列のアドレスは、特に示した場合を除き、0からカウントするものとする。
【0026】
(実施の形態1)
図1は、本発明の実施の形態1に係るインタリ−ブ装置の構成を示すブロック図である。
【0027】
図1に示すインタリ−ブ装置は、例えば、CDMA(Code Division Multiple Access)方式の携帯端末、基地局等の装置に搭載されるものである。
【0028】
図1において、CPU101は、TTI長と、1フレ−ムあたりのビット数と、各フレ−ムのPビット数をテ−ブル作成部102に通知する。次いで、テ−ブル作成部102は、通知された情報に基づき、後述するテ−ブル作成アルゴリズムを用いて4つのテ−ブルを作成し、アドレス生成部103に通知する。
【0029】
次いで、アドレス生成部103は、通知された4つのテ−ブルに基づき、後述のアドレス生成アルゴリズムを用いて、1Column分のインタリ−ブ処理に係る入出力アドレスポインタ、及び転送ビット数を生成し、転送部105に通知する。次いで、転送部105は、通知された入出力アドレスポインタに基づき、インタリ−ブ前のデ−タが記憶されているメモリ104から該当デ−タを読み、さらに、インタリ−ブ後のデ−タを記憶するメモリ106の該当アドレスに書きこむ。次いで、転送部105は、1Column分のインタリ−ブ処理が終了したことをアドレス生成部103に通知する。次いで、アドレス生成部103は、次の列に係る入出力アドレスポインタ、転送ビット数を更新し、次のColumnに係るアドレスを生成して、転送部105に通知する。
【0030】
前述の処理をCPU101より通知されたTTI長分だけ繰り返すことでインタリ−ブ処理が達成される。ここで、Columnとは、各フレ−ムにおけるデ−タ群を指す。
【0031】
ここで、テ−ブル作成アルゴリズム、アドレス生成アルゴリズムについて、図を用いて詳細に説明する。
【0032】
図2は、テ−ブル作成アルゴリズムのフロ−を示す図である。まず、ステップ(以下「ST」と省略する)201において、テ−ブル作成部102は、CPU101から通知された、TTI長、1フレ−ム当たりのビット数、各フレ−ムのPビットの個数を認識する。ここで、TTI長とは、フレ−ム数を指している。
【0033】
次いで、ST202において、前記フレ−ム数分、各フレ−ムのPビットの個数を除いたビット数を求めTableAに書き込む。さらに、TableAの各要素を大きい順に並べかえ、TableBに書き込む。
【0034】
次いで、ST203において、以下の式に従って、TableAからTable3を作成する。
【数1】
上記において、TableA[n]とはTableAにおけるn番目の数値であり、また、Table3[n]とは、Table3のn番目の数値である。以下、Tableを表現する場合、同様の表記を行う。また、nは、0〜TTI長−1の値を採る変数である。また、Table3[0]は0、TableA[−1]は0とする。
【0035】
次いで、ST204において、TTI長によって決まるFrameNo.とColumnNo.の関係から、TableBにおける各要素に対応するColumnNo.を、Table1として作成する。同様に、TableAにおける各要素に対応するFrameNo.をTable2として作成する。FrameNo.、及びColumnNo.は、0から前記TTI長−1までの値をとる。また、FrameNo.とColumnNo.の関係は、前記規格書に記載されている通り、前記TTI長で決まるパタ−ンである。
【0036】
次いで、ST205において、以下の式に従って、TableBからTable4を作成する。
【0037】
Table4[n]=TableB[n]−TableB[n+1]
ここで、TableB[TTI]は0とする。
【0038】
最後に、ST206において、作成したTable1からTable4を、アドレス生成部103に通知する。
【0039】
次に、アドレス作成アルゴリズム、及びインタリ−ブ処理の一連の処理について、図面を用いて説明する。
【0040】
図3は、アドレス作成アルゴリズムのフロ−を示す図である。図3において、ST301は、テ−ブル作成部102から通知された4つのテ−ブルを読み込む。次いで、ST302は、インタリ−ブ処理におけるReadポインタ(以下、rpと表記する)を0に初期化する。次いで、ColumnCt(1〜TTI長)に従って、ST303からST310までのル−プ処理を行う。
【0041】
まず、ST304において、Table1からColumnCt分読み出す。さらに、前記読み出した各値をポインタとしてTable2を読む。さらに、前記Table2から読み出した値が小さい順となるように、前記Table1から読み出した値を並べ替えて、TableCに書き込む。
【0042】
次いで、ST305において、TableCからColumnCt分読み出す。さらに、前記読み出した各値をポインタとしてTable3を読み、Writeポインタテーブル(以下、wpTと表記する)に書き込み、転送部105に通知する。
【0043】
次いで、ST306において、TableCの値をポインタとしてTable4を読み、各Column当たりの転送ビット数として、転送部105に通知する。
【0044】
次いで、ST307において、wpT、rp及びColumnCtを通知する。
【0045】
次いで、ST308においては、アドレス生成部103より通知されたwpT、rp、及び、各Column当たりの転送ビット数(以下、Xと表記する)を用いて、転送部105がインタリ−ブ処理を行う。具体的には、以下の式に従って、メモリ104からメモリ106へデ−タを転送する。
【0046】
Mem1[wpT[k%ColumnCt]
+Floor[k/ColumnCt]]=Mem0[rp+k]ここで、Mem0とはメモリ104を指し、Mem1とはメモリ106を指す。また、Mem0[P]とは、メモリ104におけるアドレスPに格納されているデ−タを指す。また、kは、0〜ColumnCt*X−1、の範囲の変数である。また、Floor[N]とは、Nを超えない最大の整数を指す。また、M%Nとは、MをNで割った余りを指す。ColumnCtは、1〜TTIの値を採るので、前記Nが0となることはない。
【0047】
次いで、ST309は、Table4の値を用いて、以下の式に従って、wpTとrpを更新する。
【0048】
wpT[TableC[h]]=wpT[TableC[h]]+X
rp=rp+X*ColumnCt
ここで、hは、0からColumnCt−1までの値を採る変数である。
【0049】
次いで、転送部105から転送終了フラグを受け取った後、アドレス生成部は、ColumnCtに1を加え、ST303〜ST310の処理を再び行う。
【0050】
以上のST303〜ST310の処理をTTI回繰り返し、処理を終了する。
【0051】
ここで、以下の例を用いて、本発明のインタリ−ブ装置の処理の流れについて説明する。
【0052】
例:TTI長=8(TTI=80ms)、1フレ−ムあたりのビット数=50
各フレ−ムのPビットの個数:
{10、27、4、25、33、41、16、0}
この例においては、TTI長=8なので、FrameNo.とColumnNo.の関係は、前記規格書に記載されている通り、以下のようになる。
【0053】
FrameNo. ={0、1、2、3、4、5、6、7}
ColumnNo.={0、4、2、6、1、3、5、7}
上記において、上段のFrameNo.の数値が、下段のColumnNo.の数値に対応する。例えば、FrameNo.4に対応するColumnNo.は1となる。
【0054】
まず、上記TTI長等の情報を、CPU101がテーブル作成部102に通知する。次いで、テーブル作成部102は、図2に示したテーブル作成フローに従って4つのテーブルを作成して、アドレス生成部103に通知する。
【0055】
ここで、前記例の場合に作成される4つのテーブル作成について以下に示す。まず、1フレームの当たりのビット数から、各フレームのPビット数を引いた値を求め、TableAを求め、さらに、TableAの各要素を大きい順に並び替えたTableBを求めると、以下のようになる。
【0056】
TableA={40、23、46、25、17、9、35、50}
TableB={50、46、40、35、25、23、17、9}
次いで、TableBの各要素に係るColumnNo.をTable1に、FrameNo.をTable2に書き込むと、以下のようになる。
【0057】
Table1={7、2、0、3、6、4、1、5}
Table2={7、2、0、6、3、1、4、5}
次いで、前述の式を用いて、TableAからTable3を作成すると、以下のようになる。
【0058】
Table3={0、40、63、109、134、151、160、195}
次いで、前述の式を用いて、TableBからTable4を作成すると、以下のようになる。
【0059】
Table4={4、6、5、10、2、6、8、9}
次に、アドレス生成部103は、テーブル作成部102から通知された前記4つのテーブルを用いて、アドレスを生成する。
【0060】
アドレスの生成は、図3のアドレス生成フローに基づいて行われる。まず、書込みポインタrpを0に初期化した後、以下に記載する処理(ST303〜ST308)がTTI回繰り返される。
【0061】
まず、ColumnCtが「1」の場合について説明する。Table1の配列からColumnCt分読み出す。ここでは、ColumnCtは1なので、Table1の配列のColumn−1を、即ち0番目のみを読み出し、「7」という数値を得、TableCに格納する。この時、取得した値全てについて、ColumnNo.の小さい順に並べ替えを行うが、取得する値が1つのみなので、今回は行わない。前記数値「7」はColumnNo.を意味する。ColumnNo.7はFrameNo.7に対応するので、Table3の配列の7番目を読み出し、「195」という数値を取得し、wpTの0番目に設定する。
【0062】
次いで、転送個数を取得するためにTable4の配列の0番を読み出し、「4」を取得する。
【0063】
次いで、rp=0、wpT=195,および前記転送個数=4を転送部105に通知する。次いで、転送部105は、通知されたテーブル等を用いて、1Column分のデ−タの転送処理を行う。
【0064】
転送が終了したら、次の転送に向けてTable3とrpの値を更新する。今転送を行ったのはFrameNo.7の4個なので、次の転送のときにはFrameNo.7の4個分は出力済みなので、4個先から転送開始する。よって、Table3の配列の7番目の値に「4」足した値「199」(=195+4)を再設定する。rpには、「4」を足した値「4」(=0+4*1)を再設定する。
【0065】
次いで、転送部105から、インタリーブ処理終了フラグが通知された後、ColumnCtに「1」を加えて同様の処理を行う。
【0066】
次いで、ColumnCt=2の場合について説明する。まず、Table1の配列の0番と1番を読み出し、「7」と「2」を得る。前記2つの数値に係るColumnNo.の小さい数値のほうを配列の0番目に、大きい数値のほうを配列の1番目として、そのColumnNo.の指すFrameNo.の数値を入れてTableCを作る。すなわち、ColumnNo.7、2に対応するのはそれぞれ、FrameNo.7、FrameNo.2であるので、TableCの0番目に「2」、1番目に「7」が入る。
【0067】
次いで、TableCの0番目を読み出すと「2」が得られる。よってTable3の2番目を読み出し、「63」という数値を取得し、wpTの0番目に設定する。次いで、転送ビット数を取得するために、Table4の配列の1番目を読み出し、「6」を取得する。
【0068】
次いで、TableCの配列の1番目を読み出すと「7」が得られる。よってTable3の配列の7番を読み出し、「199」という数値を取得し、wpTの1番目に設定する。従って、ColumnCt=2の時のwpTは、{63、199}となる。
【0069】
次いで、rp=4、wpT={63、199}、転送ビット数=6、ColumnCtを、転送部105に通知する。
【0070】
次いで、次の転送に向けてTable3とrpの値を更新する。今転送を行ったのはFrameNo.2とFrameNo.7の6個なので、次の転送のときにはFrameNo.2は6個分出力済みなので、6個先から転送を開始する。同様にFrameNo.7も6個先から転送開始する。よってTable3の配列の2番の値に「6」足した値「69」(=63+6)を再設定し、配列の7番「205」(=199+6)を再設定する。rpの更新は、今回転送したColumn数は2なので、「12」を足した値「16」(=4+6*2)とする。
【0071】
次いで、ColumnCt=3の場合について説明する。
【0072】
まず、Table1の配列の0番目と1番目と2番目を読み出すと、「7」と「2」と「0」が得られる。前記3つの数値に係るColumnNo.の小さい数値の順にソートして、前記数値に係るColumnNo.の指すFrameNo.の数値を入れて配列TableCを作る。すなわち、ColumnNo.7はFrameNo.7、ColumnNo.2はFrameNo.2、ColumnNo.0はFrameNo.0であるので、配列0番に0、配列1番に2、配列2番に7が入る。
【0073】
次いで、TableCの配列の0番目を読み出して、「0」が得られ、Table3の配列の0番目を読み出し、「0」という数値を取得し、wpTの0番地に設定する。
【0074】
次いで、転送ビット数を取得するために、Table4の配列の2番目を読み出し、「5」を取得する。
【0075】
次いで、TableCの配列の1番目を読み出すと2が得られ、Table3の配列の2番目を読み出し、「69」という数値を取得し、wpTの1番目に設定する。
【0076】
同様に、wpTの2番目に設定すべき値を求め、最終的なwpTは、{0、69、205}となる。
【0077】
次いで、次の転送に向けてTable3とrpの値を更新する。今転送を行ったのはFrameNo.0とFrameNo.2とFrameNo.7の5個なので、次の転送のときにはFrameNo.0は5個分出力済みなので、5個先から転送を開始する。同様にFrameNo.2もFrameNo.7も5個先から転送開始する。よってTable3の配列の0番の値に「5」足した値「5」(=0+5)を再設定し、配列の2番に「74」(=69+5)を再設定し、配列の7番に「210」(=205+5)を再設定する。rpの更新は、転送数5の3Column分なので、「15」を足した値「31」(=16+5*3)を再設定する。
【0078】
以下、ColumnCt=4から8までを、上記と同様に行うことで、インタリーブ処理が完了する。
【0079】
上記の方法で入出力アドレスポインタと転送数の管理を行いつつデ−タ転送を行うことで、少ない処理量のまま、Compressed Mode By Punctureのインタ−リ−ブ処理を行うことができる。
【0080】
(実施の形態2)
図4は、本発明の実施の形態2に係るインタリ−ブ装置の構成を示すブロック図である。なお、図4において図1と同じ部分については図1と同じ符号を付してその詳細な説明は省略する。
【0081】
図4に示すインタリ−ブ装置は、例えば、CDMA(Code Division Multiple Access)方式の携帯端末、基地局等の装置に搭載されるものである。
【0082】
図4において、CPU101は、TTI長と、1フレ−ムあたりのビット数と、各フレ−ムのPビット数をテ−ブル作成部102に通知する。次いで、テ−ブル作成部102は、通知された情報に基づき、後述するテ−ブル作成アルゴリズムを用いて4つのテ−ブルを作成し、アドレス生成部103に通知する。
【0083】
次いで、アドレス生成部103は、通知された4つのテ−ブルに基づき、前述したアドレス生成アルゴリズム(図2参照)を用いて、1Column分のインタリ−ブ処理に係る入出力アドレスポインタ、及び転送ビット数を生成する。
【0084】
次いで、CPU101から通知される、インタリーブ処理、もしくはデインタリーブ処理かを選択する信号により、セレクタ401は、前記入出力アドレスポインタ、及び転送ビット数を、転送部105もしくは転送部402のいずれかに通知する。
【0085】
ここで、デインタリーブ処理とは、インタリーブ処理の逆処理を指す。具体的には、インタリーブ処理で並び替えられたデータを、元の順序に並び直す処理である。
【0086】
次いで、転送部105もしくは転送部402は、通知された入出力アドレスポインタに基づき、インタリ−ブ前/デインタリーブ前のデ−タが記憶されているメモリ104から該当デ−タを読み、さらに、インタリ−ブ後/デインタリーブ後のデ−タを記憶するメモリ106の該当アドレスに書きこむ。次いで、転送部105/転送部402は、1Column分のインタリ−ブ処理が終了したことをアドレス生成部103に通知する。次いで、アドレス生成部103は、次の列に係る入出力アドレスポインタ、転送ビット数を更新し、次のColumnに係るアドレスを生成して、転送部105/転送部402に通知する。
【0087】
また、上記説明において、インタリーブ処理とデインタリーブ処理における使用メモリをメモリ104とメモリ106としたが、インタリーブ処理とデインタリーブ処理で別個のメモリを用いてもよい。
【0088】
実施の形態2に係るデインタリーブ処理は、アドレス生成部103において、インタリーブ処理用に作成されたポインタの入出力関係を逆に採ることで、デインタリーブ処理を実現することができる。以下、詳細に説明する。
【0089】
転送部402は、セレクタ401を介して、アドレス生成部103から入出力アドレスポインタ、及び処理ビット数を通知される。
【0090】
この時、前記入出力アドレスポインタとは、インタリーブ処理においての入出力であるので、入出力関係を逆に採る必要がある。
【0091】
すなわち、通知された情報である入力ポインタをrp、出力ポインタをwpT、処理ビット数をXとすると、デインタリーブ処理は、以下の式で実現される。
【0092】
ここで、Mem0とはメモリ104を指し、Mem1とはメモリ106を指す。また、Mem0[P]とは、メモリ104におけるアドレスPに格納されているデ−タを指す。また、kは、0〜ColumnCt*X−1、の範囲の変数である。また、Floor[N]とは、Nを超えない最大の整数を指す。また、M%Nとは、MをNで割った余りを指す。ColumnCtは、1〜TTIの値を採るので、前記Nが0となることはない。
【0093】
上記式は、メモリ0(Mem0)からメモリ(Mem1)へ転送する際の、アドレス制御を表したものである。
【0094】
また、インタリーブ処理の際のアドレス制御式と比べると、入出力メモリのアドレスを表す式が、Mem0とMem1が交換された形となっていることが分かる。
【0095】
以上に述べたように、CPU101によって、転送部105と転送部402を適宜選択することにより、同一のアドレス生成部103を用いてインタリーブ処理とデインタリーブ処理を実現することができる。
【0096】
【発明の効果】
以上説明したように、本発明のインタリ−ブ装置は、Compressed Mode By Puncture時においても、Pビットの挿入、削除に係る処理を行うことを必要としないため、メモリのアクセス回数を通常のインタリ−ブ処理と同等とすることができる。
【0097】
例えば、デ−タ数が10000ビットであった場合、インタリ−ブ処理に必要な総メモリアクセス回数は、前述したアクセス回数(60000回)の1/3の20000(10000*2)回であり、消費電力を著しく低減することができる。
【0098】
また、本発明のインタリ−ブ装置は、Pビットをデ−タとして取り扱うことがないため、送信側のインタリ−ブ処理と、受信側のデインタリーブ処理を同一化することが可能となるので、適宜使い分けることによって、装置の小型化が可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係るインタリ−ブ装置の構成を示すブロック図
【図2】本発明の実施の形態1のテ−ブル作成アルゴリズムのフロ−を示す図
【図3】本発明の実施の形態1のアドレス生成アルゴリズムのフロ−を示す図
【図4】本発明の実施の形態2係るインタリーブ装置の構成を示すブロック図
【図5】従来のインタリ−ブ装置を示すブロック図
【符号の説明】
101 CPU
102 テ−ブル作成部
103 アドレス生成部
104、106 メモリ
105、402 転送部
401 セレクタ
Claims (6)
- Gap区間長を表す少なくとも1つの情報に基づき少なくとも1つのテ−ブルを作成するテ−ブル作成手段と、前記テ−ブル作成手段で作成されたテ−ブルに基づいて少なくとも1つの入出力アドレスポインタテーブルを生成するアドレス生成手段と、インタリ−ブ前のデ−タを格納する第1の記憶手段と、インタリ−ブ後のデ−タを記憶する第2の記憶手段と、前記アドレス生成手段より通知されたアドレスポインタテーブルに基づいて前記第1の記憶手段に記憶されているデ−タを前記第2の記憶手段に転送する第1の転送手段と、を具備することを特徴とするインタリーブ装置。
- 作成された入力アドレスポインタテーブルと出力アドレスポインタテーブルを入れ替えた1つ以上の入出力アドレスポインタテーブルを用いて、第1の記憶装置に記憶されているデータを第2の記憶装置に転送する第2の転送手段を具備することを特徴とする請求項1記載のインタリーブ装置。
- 切り替え信号を発生する信号発生手段と、前記切り替え信号に応じてテ−ブル作成手段で作成された少なくとも1つのテ−ブルを第1の転送手段あるいは第2の転送手段に通知する通知手段と、を具備することを特徴とする請求項2記載のインタリーブ装置。
- 請求項1から請求項3のいずれかに記載のインタリーブ装置を具備することを特徴とする基地局装置。
- 請求項1から請求項3のいずれかに記載のインタリーブ装置を具備することを特徴とする携帯端末装置。
- Gap区間長を表す少なくとも1つの情報に基づき少なくとも1つのテ−ブルを作成する工程と、作成されたテ−ブルに基づいて少なくとも1つの入出力アドレスポインタテーブルを生成する工程と、生成されたアドレスポインタテーブルに基づいてインタリ−ブ前のデ−タを格納するメモリからインタリ−ブ後のデ−タを記憶するメモリにデ−タを転送する工程と、を具備することを特徴とするインタリーブ方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002079562A JP3854882B2 (ja) | 2002-03-20 | 2002-03-20 | インタリーブ装置及びインタリーブ方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002079562A JP3854882B2 (ja) | 2002-03-20 | 2002-03-20 | インタリーブ装置及びインタリーブ方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003283342A JP2003283342A (ja) | 2003-10-03 |
JP3854882B2 true JP3854882B2 (ja) | 2006-12-06 |
Family
ID=29228993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002079562A Expired - Fee Related JP3854882B2 (ja) | 2002-03-20 | 2002-03-20 | インタリーブ装置及びインタリーブ方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3854882B2 (ja) |
-
2002
- 2002-03-20 JP JP2002079562A patent/JP3854882B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003283342A (ja) | 2003-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5991857A (en) | Interleaving and de-interleaving of data in telecommunications | |
US7444580B2 (en) | System and method for interleaving data in a communication device | |
ES2474215T3 (es) | Procedimiento y aparato para codificar bits de datos en paralelo | |
US7840859B2 (en) | Block interleaving with memory table of reduced size | |
US8132076B1 (en) | Method and apparatus for interleaving portions of a data block in a communication system | |
US6839870B2 (en) | Error-correcting code interleaver | |
US7146545B2 (en) | Interleaving method and apparatus, de-interleaving method and apparatus, and interleaving/de-interleaving system and apparatus | |
KR100898089B1 (ko) | 코드 분할 다중 액세스를 사용하는 무선 통신 시스템용물리층 처리 | |
JP4227632B2 (ja) | インターリーブ方法、インターリーブ装置、及びデインターリーブ方法 | |
US6785862B1 (en) | Convolutional interleaver employing an efficient memory scheme | |
US20090274248A1 (en) | Method and apparatus for contention-free interleaving using a single memory | |
US7073012B2 (en) | System and method for interleaving data in a communications device | |
US8214697B2 (en) | Deinterleaver for a communication device | |
JP3854882B2 (ja) | インタリーブ装置及びインタリーブ方法 | |
JP2009246474A (ja) | ターボデコーダ | |
CN110022158B (zh) | 一种译码方法及装置 | |
JPH10313275A (ja) | 移動電話システムのデータ処理用メモリ | |
JP2004147240A (ja) | デインターリーブ処理装置及び方法 | |
CN102136879A (zh) | 一种数据解交织方法及装置 | |
JP3515701B2 (ja) | 符号化処理装置およびレピティション方法 | |
JP4318980B2 (ja) | 無線通信装置の符号化処理装置および復号化処理装置 | |
JP2002271209A (ja) | ターボ符号器およびターボ復号器 | |
JPH1188199A (ja) | インタリーブ回路およびデインタリーブ回路 | |
GB2294616A (en) | Data interleaving process for radio transmission | |
JP2004234209A (ja) | データ処理装置及びデータ処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041203 |
|
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: 20060905 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060911 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |