(57)【要約】【課題】  ハードウェア構成の複雑さを低減させるビット誤り率特性のよいターボインタリーブ方法を提供する。【解決手段】  ２次元インタリーブ方法において、入力情報ビット数dに対して、d≦M×NかつM＞Nを満たす互いに素な最小の整数の組（M，N）を決定し、メモリを確保するステップと、でアドレステーブルを確保するステップと、で前記で作成されたメモリに、従来方式と同様に入力情報ビットを書き込み、M×N＞dのとき、入力情報ビットが埋まらないM×N-d個の空いたメモリを擬似情報ビットとして特定の値で埋めるステップと、0≦i≦M-1なるi、1≦j≦Nなるjについて、メモリの(i×N+j)ワード目のアドレスを生成し、i=i-1 mod M、j=j+1とし、j=N+1ならj=1とし、(i×N+j)ワード目のアドレスを生成するというステップと、アドレステーブルに前記で生成したアドレスを書き込むステップと、メモリの読み出しを行うステップと、最終的に擬似情報ビットを削除するステップと、からなることを特徴とする。【選択図】  図１
2009077371.tif 000002
【特許請求の範囲】
【請求項１】
情報系列長dについて、（Ｍ−１）×Ｎ＜ｄ≦Ｍ×ＮかつM＞Nである互いに素な２数（Ｍ，Ｎ）について、Ｍ×Ｎワードの入力情報ビットを書き込めるメモリを確保するステップと、
前記メモリに入力情報ビットを書き込むステップと、
ｄ＜Ｍ×Ｎのとき、書き込まれていない最後Ｍ×Ｎ−ｄワードを特定の値で埋めるステップと、
０≦ｉ≦Ｍ−１なるｉ、１≦ｊ≦Ｎなるjについて、最初に（ｉ×Ｎ＋ｊ）ワード目を読み出したら、i=i-1 mod M、j=j+1とし、j=N+1ならj=1とし、（ｉ×Ｎ＋ｊ）ワード目を読み出すという処理を、合計Ｍ×Ｎワード読み出すまで繰り返すステップと、
前記で埋めた特定の値を削除して出力系列を得るステップとを備えることを特徴とするインタリーブ方法。
【請求項２】
情報系列長dについて、dワードの入力情報ビットを書き込めるメモリを確保するステップと、
前記メモリに入力情報ビットを書き込むステップと、
（Ｍ−１）×Ｎ＜ｄ≦Ｍ×ＮかつM＞Nである互いに素な２数（Ｍ，Ｎ）について、０≦ｉ≦Ｍ−１なるｉ、１≦ｊ≦Ｎなるｊについて、最初に（ｉ×Ｎ＋ｊ）ワード目を、（ｉ×Ｎ＋ｊ）＞ｄなら読み出さず、（ｉ×Ｎ＋ｊ）≦ｄなら（ｉ×Ｎ＋ｊ）ワード目を読み出したらi=i-1 mod M、j=j+1とし、j=N+1ならj=1とし、（ｉ×Ｎ＋ｊ）＞ｄなら読み出さず、（ｉ×Ｎ＋ｊ）≦ｄなら（ｉ×Ｎ＋ｊ）ワード目を読み出すという処理を、合計ｄワード読み出すまで繰り返し、出力系列を得るステップとを備えることを特徴とするインタリーブ方法。
【請求項３】
更に、前記メモリのアドレスを書き込める大きさＭ×Ｎ以上のテーブルを確保するステップを備えることを特徴とする請求項１記載のインタリーブ方法。
【請求項４】
更に、前記メモリのアドレスを書き込める大きさd以上のテーブルを確保するステップを備えることを特徴とする請求項２記載のインタリーブ方法。
【請求項５】
情報系列長dについて、（Ｍ−１）×Ｎ＜ｄ≦Ｍ×ＮかつM＞Nである互いに素な２数(M, N)について、Ｍ×Ｎワードの入力情報ビットを書き込めるメモリを確保するステップと、
前記メモリに入力情報ビットを書き込むステップと、
d＜Ｍ×Ｎのとき、書き込まれていない最後Ｍ×Ｎ−ｄワードを特定の値で埋めるステップと、
０≦ｉ≦Ｍ−１なるi、１≦ｊ≦Ｎなるjについて、最初に前記メモリの（ｉ×Ｎ＋ｊ）ワード目のアドレスを、前記テーブルの先頭に書き込み、i=i-1 mod M、j=j+1とし、j=N+1ならj=1とし、前記メモリの（ｉ×Ｎ＋ｊ）ワード目のアドレスを、前記テーブルに順次書き込む、という処理を、合計Ｍ×Ｎアドレス書き込むまで繰り返すステップと、
前記テーブルに書き込まれたアドレスの示す前記メモリのワードを順に読み出すステップと、
前記で埋めた特定の値を削除して出力系列を得るステップとを備えることを特徴とする請求項３記載のインタリーブ方法。
【請求項６】
情報系列長dについて、dワードの入力情報ビットを書き込めるメモリを確保するステップと、
前記メモリに１ワード目から順に、入力情報ビットを書き込むステップと、
（Ｍ−１）×Ｎ＜ｄ≦Ｍ×ＮかつM＞Nである互いに素な２数(M, N)について、０≦ｉ≦Ｍ−１なるｉ、１≦ｊ≦Ｎなるｊについて、最初に前記メモリの（ｉ×Ｎ＋ｊ）ワード目のアドレスを、前記テーブルに（ｉ×Ｎ＋ｊ）＞ｄなら書き込まず、（ｉ×Ｎ＋ｊ）≦ｄなら（ｉ×Ｎ＋ｊ）ワード目のアドレスを前記テーブルの先頭に書き込み、i=i-1 mod M、j=j+1とし、j=N+1ならj=1とし、前記メモリの（ｉ×Ｎ＋ｊ）ワード目のアドレスを、（ｉ×Ｎ＋ｊ）＞dなら前記テーブルに書き込まず、（ｉ×Ｎ＋ｊ）≦ｄなら（ｉ×Ｎ＋ｊ）ワード目を前記テーブルに順次書き込む、という処理を、合計dワード読み出すまで繰り返すステップと、
前記テーブルに書き込まれたアドレスの示す前記メモリのワードを順に読み出し、出力系列を得るステップとを備えることを特徴とする請求項４記載のインタリーブ方法。
【請求項７】
情報系列長dについて、（Ｍ−１）×Ｎ＜ｄ≦Ｍ×ＮかつＭ＞Ｎである互いに素な２数(M, N)について、Ｍ×Ｎワードの入力情報ビットを書き込めるメモリを確保する手段と、
前記メモリに入力情報ビットを書き込む手段と、
ｄ＜Ｍ×Ｎのとき、書き込まれていない最後Ｍ×Ｎ−ｄワードを特定の値で埋め、０≦ｉ≦Ｍ−１なるｉ、１≦ｊ≦Ｎなるjについて、最初に（ｉ×Ｎ＋ｊ）ワード目を読み出したら、i=i-1 mod M、j=j+1とし、j=N+1ならj=1とし、（ｉ×Ｎ＋ｊ）ワード目を読み出すという処理を、合計Ｍ×Ｎワード読み出すまで繰り返し、前記で埋めた特定の値を削除して出力系列を得ることを特徴とする送信機。
【請求項８】
情報系列長dについて、dワードの入力情報ビットを書き込めるメモリを確保する手段と、
前記メモリに入力情報ビットを書き込む手段と、
（Ｍ−１）×Ｎ＜ｄ≦Ｍ×ＮかつM＞Nである互いに素な２数(M,N)について、０≦ｉ≦Ｍ−１なるi、１≦ｊ≦Ｎなるjについて、最初に（ｉ×Ｎ＋ｊ）ワード目を、（ｉ×Ｎ＋ｊ）＞ｄなら読み出さず、（ｉ×Ｎ＋ｊ）≦ｄなら（ｉ×Ｎ＋ｊ）ワード目を読み出したらi=i-1 mod M、j=j+1とし、j=N+1ならj=1とし、（ｉ×Ｎ＋ｊ）＞ｄなら読み出さず、（ｉ×Ｎ＋ｊ）≦ｄなら（ｉ×Ｎ＋ｊ）ワード目を読み出すという処理を、合計ｄワード読み出すまで繰り返し、出力系列を得ることを特徴とする送信機。
【請求項９】
更に、前記メモリのアドレスを書き込める大きさＭ×Ｎ以上のテーブルを確保することを特徴とする請求項７記載の送信機。
【請求項１０】
更に、前記メモリのアドレスを書き込める大きさd以上のテーブルを確保することを特徴とする請求項８記載の送信機。
【請求項１１】
情報系列長dについて、（Ｍ−１）×Ｎ＜ｄ≦Ｍ×ＮかつＭ＞Ｎである互いに素な２数(M, N)について、Ｍ×Ｎワードの入力情報ビットを書き込めるメモリを確保する手段と、
前記メモリに入力情報ビットを書き込む手段と、
d＜Ｍ×Ｎのとき、書き込まれていない最後Ｍ×Ｎ−ｄワードを特定の値で埋め、０≦ｉ≦Ｍ−１なるｉ、１≦ｊ≦Ｎなるjについて、最初に前記メモリの（ｉ×Ｎ＋ｊ）ワード目のアドレスを、前記テーブルの先頭に書き込み、i=i-1 mod M、j=j+1とし、j=N+1ならj=1とし、前記メモリの（ｉ×Ｎ＋ｊ）ワード目のアドレスを、前記テーブルに順次書き込む、という処理を、合計Ｍ×Ｎアドレス書き込むまで繰り返し、前記テーブルに書き込まれたアドレスの示す前記メモリのワードを順に読み出し、前記で埋めた特定の値を削除して出力系列を得ることを特徴とする請求項９記載の送信機。
【請求項１２】
情報系列長dについて、dワードの入力情報ビットを書き込めるメモリを確保する手段と、
前記メモリに入力情報ビットを書き込む手段と、
（Ｍ−１）×Ｎ＜ｄ≦Ｍ×ＮかつM＞Nである互いに素な２数(M,N)について、０≦ｉ≦Ｍ−１なるi、１≦ｊ≦Ｎなるjについて、最初に前記メモリの（ｉ×Ｎ＋ｊ）ワード目のアドレスを、前記テーブルに（ｉ×Ｎ＋ｊ）＞dなら書き込まず、（ｉ×Ｎ＋ｊ）≦ｄなら（ｉ×Ｎ＋ｊ）ワード目のアドレスを前記テーブルの先頭に書き込み、i=i-1 mod M、j=j+1とし、j=N+1ならj=1とし、前記メモリの（ｉ×Ｎ＋ｊ）ワード目のアドレスを、（ｉ×Ｎ＋ｊ）＞dなら前記テーブルに書き込まず、（ｉ×Ｎ＋ｊ）≦ｄなら（ｉ×Ｎ＋ｊ）ワード目を前記テーブルに順次書き込む、という処理を、合計ｄワード読み出すまで繰り返し、前記テーブルに書き込まれたアドレスの示す前記メモリのワードを順に読み出し、出力系列を得ることを特徴とする請求項１０記載の送信機。
【請求項１３】
無線通信により信号を送受信する無線機であって、
送信する信号データを符号化する符号化部と、前記符号化された信号データを変調する変調部と、前記変調された信号データをＲＦ処理するＲＦ部とを有する送信部と、
受信した信号データをＲＦ処理するＲＦ部と、ＲＦ処理された受信データを復調する復調部と、復調された信号データを復号する復号部とを有する受信部とを備え、
前記符号化部及びは復号部は、
受信した信号データ又は送信する信号データの情報ビット系列長に基づく行列の、行数Ｍと列数ｎとを生成するＭ，Ｎ生成部と、
前記Ｍ，Ｎ生成部から出力されるＭ，Ｎに基づき、情報ビット系列をインタリーブするインタリーブ部とを備え、
前記インタリーブ部は、
前記Ｍ，Ｎと、前記情報ビット系列長とに基づき読み出しアドレスを生成する読み出しアドレス生成部と、
所定の情報ビット系列を書き込み可能なメモリと、
前記メモリに情報ビット系列を書き込み、前記読み出しアドレスに従って情報ビット系列を読み出す第一のコントローラとを備え、
前記第一のコントローラは、
０≦ｉ≦Ｍ−１なるｉ、１≦ｊ≦Ｎなるjについて、（ｉ×Ｎ＋ｊ）ワード目を読み出し、
i=i-1 mod M、j=j+1とし、
j=N+1の場合にはj=1として（ｉ×Ｎ＋ｊ）ワード目を読み出すことを特徴とする無線機。
【請求項１４】
前記Ｍ、Ｎ生成部は、情報ビット系列長を格納する行列の行数Ｍと列数ｎとを生成することを特徴とする請求項１３に記載の無線機。
【請求項１５】
前記無線機は、更に第二のコントローラを有し、
前記第二のコントローラは、前記信号データの情報ビット系列長を前記Ｍ，Ｎ生成部に出力することを特徴とする請求項１３記載の無線機。
【請求項１６】
前記メモリは、前記情報ビット系列長dについて、（Ｍ−１）×Ｎ＜ｄ≦Ｍ×ＮかつＭ＞Ｎである互いに素な２数(M, N)について、Ｍ×Ｎワードの情報ビット系列を書き込み可能なメモリであることを特徴とする請求項１３記載の無線機。
【請求項１７】
前記メモリの空き領域は、Ｍ×Ｎ−ｄワードであり、
前記第一のコントローラは、読み出し処理をＭ×Ｎワード読み出すまで繰り返すことを特徴とする請求項１６記載の無線機。
【請求項１８】
前記インタリーブ部は、更に擬似情報ビット判定部を備え、
前記第一のコントローラは、
前記情報ビット系列の書き込み後に空き領域がある場合、前記メモリの空き領域に擬似情報ビットを書き込み、
０≦ｉ≦Ｍ−１なるｉ、１≦ｊ≦Ｎなるjについて、（ｉ×Ｎ＋ｊ）ワード目を読み出し、
i=i-1 mod M、j=j+1とし、
j=N+1の場合にはj=1として（ｉ×Ｎ＋ｊ）ワード目を読み出し、
前記擬似情報ビット判定部は、
前記メモリから出力された信号から前記擬似情報ビットを削除した出力系列を出力することを特徴とする請求項１６記載の無線機。
【請求項１９】
前記メモリは、前記情報ビット系列長dについて、dワードの入力情報ビットを書き込めるメモリであり、
前記第一のコントローラは、
（Ｍ−１）×Ｎ＜ｄ≦Ｍ×ＮかつM＞Nである互いに素な２数(M,N)について、０≦ｉ≦Ｍ−１なるi、１≦ｊ≦Ｎなるjについて、（ｉ×Ｎ＋ｊ）ワード目を、（ｉ×Ｎ＋ｊ）＞ｄなら読み出さず、
（ｉ×Ｎ＋ｊ）≦ｄなら（ｉ×Ｎ＋ｊ）ワード目を読み出したらi=i-1 mod M、j=j+1とし、j=N+1ならj=1とし、（ｉ×Ｎ＋ｊ）＞ｄなら読み出さず、（ｉ×Ｎ＋ｊ）≦ｄなら（ｉ×Ｎ＋ｊ）ワード目を読み出すという処理を、合計ｄワード読み出すまで繰り返し、出力系列を出力することを特徴とする請求項１３記載の無線機。
【請求項２０】
無線通信により信号を送受信する受信機と送信機とを備える無線通信システムであって、
前記受信機及び送信機は、
送信する信号データを符号化する符号化部と、前記符号化された信号データを変調する変調部と、前記変調された信号データをＲＦ処理するＲＦ部とを有する送信部と、
受信した信号データをＲＦ処理するＲＦ部と、ＲＦ処理された受信データを復調する復調部と、復調された信号データを復号する復号部とを有する受信部とを備え、
前記符号化部及びは復号部は、
受信した信号データ又は送信する信号データの情報ビット系列長に基づく行列の、行数Ｍと列数ｎとを生成するＭ，Ｎ生成部と、
前記Ｍ，Ｎ生成部から出力されるＭ，Ｎに基づき、情報ビット系列をインタリーブするインタリーブ部とを備え、
前記インタリーブ部は、
前記Ｍ，Ｎと、前記情報ビット系列長とに基づき読み出しアドレスを生成する読み出しアドレス生成部と、
所定の情報ビット系列を書き込み可能なメモリと、
前記メモリに情報ビット系列を書き込み、前記読み出しアドレスに従って情報ビット系列を読み出す第一のコントローラとを備え、
前記第一のコントローラは、
０≦ｉ≦Ｍ−１なるｉ、１≦ｊ≦Ｎなるjについて、（ｉ×Ｎ＋ｊ）ワード目を読み出し、
i=i-1 mod M、j=j+1とし、
j=N+1の場合にはj=1として（ｉ×Ｎ＋ｊ）ワード目を読み出すことを特徴とする無線通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル伝送方式におけるターボ符号器内部の、ターボインタリーバのインタリーブ方法、及びそれを実現する無線通信装置に関する。
【背景技術】
【０００２】
近年、移動体通信等の伝搬環境が不安定な通信環境において重要な技術である、通信路誤り訂正技術において、高い誤り訂正能力を持つ誤り訂正符号としてターボ符号が注目を集めている。ターボ符号の詳細は、例えば非特許文献１に示されており、伝送速度の理論上の限界であるシャノン限界に漸近する符号として様々な研究がなされている。
【０００３】
一般に、ターボ符号器は図1１のように構成され、畳み込み符号などの内部符号器１０１、１０２と、ターボインタリーバ１０３によって成り立つ。
【０００４】
前記ターボインタリーバ１０３は、入力情報ビットの順序を入れ替えて内部符号器１０２に伝送する役割を持つ。
【０００５】
内部符号器１０１と１０２にターボインタリーバを介することで、インタリーブ前のビット系列とインタリーブ後のビット系列の距離を離し、復号特性を改善することが可能である。
【０００６】
情報ビット系列は、内部符号器１０１に入力され、情報ビット系列と内部符号器１０１によって符号化された系列が出力される。
【０００７】
さらに、情報ビット系列はターボインタリーバ１０３に入力され、出力系列を内部符号器１０２に入力し、符号化された系列が出力される。
【０００８】
前記ターボインタリーバ１０３は、そのインタリーブ方法によりターボ符号の復号特性が大きく左右されるので、その構成には注意が必要である。
【０００９】
【特許文献１】特表２００３−５００８８５
【非特許文献１】「Near Shannon limit error-correcting coding and decoding: Turbo-codes」、C Berrou、A Glavieux、P Thitimajshima、Proc. 1993 IEEE Int. Conf. communications, Geneva, Switzerland, 1993, pp1064-1070
【発明の開示】
【発明が解決しようとする課題】
【００１０】
このようなターボインタリーバとしては、ＰＮ（Pseudo Noise）インタリーバ、ランダムインタリーバ、Ｓ−ランダムインタリーバなど多様な方式のインタリーバが提案されている。
【００１１】
しかし、これらのインタリーバは学問的な研究分野としての位置づけであり、大きなアドレステーブルが必要で一意にインタリーブ方法が定まらないなど、ハードウェアでの実装が困難である。ここでアドレステーブルとは、入力情報ビットのアドレスを格納するテーブルのことである。
【００１２】
ハードウェア実装を考慮したインタリーブ方法として、２次元インタリーブが知られている。２次元インタリーブとは、メモリに書き込まれた情報ビット系列を、図２に示すように、あらかじめ決められた、M、Nについて、M行N列に１行１列目から行方向に書き込まれたと考える。その後、例えば特表２００３−５００８８５では、行内置換、行置換を行うなど各方式特有の処理を行った後に、１行１列目から図３に示すように列方向に読み出す方法が知られている。
【００１３】
メモリへの書き込み後の処理により、ターボ符号の復号特性は大きく影響されるので、その構成には検討が必要である。
【００１４】
Ｗ−ＣＤＭＡにおけるターボ符号では、ハードウェア設計に適したターボインタリーブ方式が提案されており、例えば特許文献１に、その詳細が記述されている。
【００１５】
上記特許文献１では２次元インタリーブの方法が提案されており、メモリへの書き込みが図２のように行われたと考え、特定の規則に従い、行内置換を行い、その後行置換を行った後に、情報ビットの読み出しを行うことにより、優れた復号特性が得られる。
【００１６】
しかし、メモリへの書き込み後の上記のような処理はハードウェア構成が複雑であり、高速な処理をするためには工夫が必要である。
【００１７】
本発明は、上記課題について、ターボ復号特性のよい、ハードウェア構成が簡易なターボインタリーブ方法を提供することを目的とする。
【課題を解決するための手段】
【００１８】
一般に、２次元インタリーブは図１０に示すように、入力情報ビット系列に対して、情報ビット系列を書き込むメモリを確保するステップ１００１、メモリのアドレスを書き込むアドレステーブルを作成するステップ１００３、メモリに順に入力情報ビットを書き込むステップ１００４、特許文献１などのようにメモリが２次元に書き込まれたと考えて、置換処理などを行い、読み出すアドレスを生成するステップ１００５、１００５で生成されたアドレスをアドレステーブルに書き込むステップ１００７、メモリからの読み出しを行うステップ１００８、擬似情報ビットを削除するステップ１０１１、出力部１０１２とから構成される。
【００１９】
ここで、１００３と１００７を行うかはシステムにより異なる。
【００２０】
本発明では、図１３に示すブロック図で表され、１３０１で入力情報ビット数dに対して、d≦M×NかつM＞Nを満たす互いに素な最小の整数の組（M，N）を決定するステップと、図１０に相当する１３０２において、図１０の１００１でメモリを確保するステップと、１００３でアドレステーブルを確保するステップと、１００４で前記で作成されたメモリに、入力情報ビットを書き込み、M×N＞dのとき、入力情報ビットが埋まらないM×N-d個の空いたメモリを擬似情報ビットとして特定の値で埋めるステップと、１００５で、0≦i≦M-1なるi、1≦j≦Nなるjについて、メモリの(i×N+j)ワード目のアドレスを生成し、i=i-1 mod M、j=j+1とし、ｊ＝Ｎ＋１ならｊ＝１とし、（ｉ×N+j)ワード目のアドレスを生成するというステップと、１００７でアドレステーブルに前記で生成したアドレスを書き込むステップと、１００８でメモリの読み出しを行うステップと、１０１１で、最終的に擬似情報ビットを削除するステップと、からなることを特徴とする。
【００２１】
すなわち、本発明に係る無線通信システムの無線機は、送信する信号データを符号化する符号化部と、前記符号化された信号データを変調する変調部と、前記変調された信号データをＲＦ処理するＲＦ部とを有する送信部と、受信した信号データをＲＦ処理するＲＦ部と、ＲＦ処理された受信データを復調する復調部と、復調された信号データを復号する復号部とを有する受信部とを備え、前記符号化部及びは復号部は、受信した信号データ又は送信する信号データの情報ビット系列長に基づく行列の、行数Ｍと列数Ｎとを生成するＭ，Ｎ生成部と、前記Ｍ，Ｎ生成部から出力されるＭ，Ｎに基づき、情報ビット系列をインタリーブするインタリーブ部とを備え、前記インタリーブ部は、前記Ｍ，Ｎと、前記情報ビット系列長とに基づき読み出しアドレスを生成する読み出しアドレス生成部と、所定の情報ビット系列を書き込み可能なメモリと、前記メモリに情報ビット系列を書き込み、前記読み出しアドレスに従って情報ビット系列を読み出す第一のコントローラとを備え、前記第一のコントローラは、０≦ｉ≦Ｍ−１なるｉ、１≦ｊ≦Ｎなるjについて、（ｉ×Ｎ＋ｊ）ワード目を読み出し、i=i-1 mod M、j=j+1とし、j=N+1の場合にはj=1として（ｉ×Ｎ＋ｊ）ワード目を読み出すことを特徴とする。
【発明の効果】
【００２２】
本発明に係るターボインタリーブ方法は、任意の入力情報ビット長に対しメモリを確保し、規則的にメモリに情報ビットアドレスを書き込み、その後、１００５で特表２００３−５００８８５などのような複雑な処理を行うことなく、簡易な方法で情報ビットを読み出すことにより、ハードウェア構成が容易で復号特性のよいターボ符号を構成することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２３】
以下、本発明を適用した無線通信装置おける、２次元ターボインタリーバを備えた無線通信装置について、図面を参照して詳細に説明する。
【００２４】
本発明の実施形態に係る無線通信装置は、図１４に示すような、情報ビット系列生成部１４０１、ベースバンド処理部１４０２、ＲＦ部１４０３、アンテナ１４０４から構成される。ベースバンド処理部１４０２には、図１１に示すようなターボ符号器が含まれる。
【００２５】
本発明に係るターボインタリーブ方法は、図１１のターボインタリーバ１０３に係るものであり、図１３に示すブロック図で構成される。
【００２６】
１３０１は、入力情報ビット系列長を入力とし、M、Nを計算するM、N生成部である。
【００２７】
１３０２は、入力情報ビット系列、入力情報ビット系列長、M、Nを入力とし、入力情報ビット系列のインタリーブを行うインタリーブ部である。
【００２８】
＜実施例１＞
実施例１として図１３を用いて説明する。
【００２９】
１３０１では、入力情報ビットを書き込むメモリを確保するため、入力情報ビット系列長dに対するメモリの大きさM×Nを決定する。M、Nの決定方法を図５のフローチャートに示す。ここで、sqrt(x)はxの平方根を表し、floor(x)はxを超えない最大の整数を表し、gcd(x , y)はxとyの最大公約数を表す。
【００３０】
情報ビット長dについて、処理部５０１において、N=floor(sqrt(d-1)) なるNを計算し、L=N×(N+1)を計算する。条件分岐５０２において、L≧dならば、処理部５０３でM=N+1とし、M×Nワードのメモリを確保する出力部５０９に移行する。
【００３１】
５０２においてL≧dのとき、M=N+1なのでMとNは互いに素になるので、互いに素になるかの確認処理部５０７は行わない。
【００３２】
５０２においてL＜dのとき、処理部５０４でM=N+2とし、条件分岐５０５でM×N≧dとなるまで処理部５０６でMを１ずつ増加させる。M×N≧dを満たす最小のMについて、５０７でユークリッドの互除法などを用いてMとNが互いに素であるかを検査し、互いに素であれば出力部５０９に移行する。MとNが互いに素でなければ、処理部５０８に移行し、Nを１減らしてM×N≧dとなるまでMを再び１ずつ増加させ、M×N≧dを満たす最小のMについて、５０７において互いに素であるかを検査するという手続きを繰り返す。
【００３３】
以上の処理は、M、Nの組み合わせについて毎回互いに素であるかを検査することにより条件分岐を少なくしているという特徴を有する。
【００３４】
１３０２では、１３０１で求めたM、Nを用いて、図１２で示すように、入力情報ビット系列のインタリーブを行う。
【００３５】
１２０１では、１３０１で求めたM、Nについて、M×Nワード以上のメモリの確保を行う。
【００３６】
次に、１２０４の処理に移り、作成したM×Nのメモリに順に入力情報ビットを書き込む。M×N＞dのとき、空いたメモリ後部M×N-dワードに擬似情報ビットとして特定の値を埋める。
【００３７】
次に、１２０５、１２０８の処理に移り、メモリに書き込まれた情報ビットの読み出しを行う。0≦i≦M-1なるi、1≦j≦Nなるjについて、最初にメモリの(i×N+j)ワード目を読み出したらi=i-1 mod M、j=j+1とし、j=N+1ならj=1とし、(i×N+j)ワード目を読み出すという処理を繰り返し、１２０９において、合計M×Nワード読み出したら処理を終了する。
【００３８】
１２０５、１２０８のメモリの読み込み方法は、図２に示すように、２次元に書き込んだと考える。まず、図６ように、例えばM行j列目を最初に読み出すとすれば、i=M、j=1とし、i行j列目のメモリアドレスのワードを読み出したら、i=i-1、j=j+1とし、i行j列目のメモリアドレスのワードを読み出す処理をj=N+1になるまで繰り返す。その後、図７に示すように、j=N+1になればj=1とし、i行j列目のメモリアドレスのワードを読み出し、再び同様にi=i-1、j=j+1とし、i行j列目のメモリアドレスのワードを読み出す処理を繰り返す。次に、図８に示すように、i=0になれば、i=Mとし、i行j列目のメモリアドレスのワードを読み出し、再び同様にi=i-1、j=j+1とし、i行j列目のメモリアドレスのワードを読み出す処理を繰り返す。これらをまとめると、図１のようにメモリを読むこととなる。
【００３９】
１２０８では擬似情報ビットも読み出す。
【００４０】
次に、１２１１に移行し、擬似情報ビットの削除を行い、１２１２で出力ビット系列を得る。
【００４１】
＜実施例２＞
実施例２として図１３を用いて説明する。
【００４２】
１３０１は実施例１と同様である。
【００４３】
１３０２では、１３０１で求めたM、Nを用いて、図４で示すように、入力情報ビット系列のインタリーブを行う。
【００４４】
４０１では、１３０１で求めたM、Nについて、dワード以上のメモリの確保を行う。
【００４５】
４０４において、情報系列のメモリへの書き込み方法は実施例１の１２０４と同様であるが、M×N＞dのとき、空いたメモリM×N-d個に、実施例１のような擬似情報ビットを挿入するかどうかは任意である。
【００４６】
４０５、４０８では、実施例１と同様の規則に基づいて情報ビットの読み出しを行うが、４１３において、M×N＞dのとき、(d+1)ワード目からM×Nワード目については、情報ビット系列が書き込まれていないので、(i×N+j)＞dならば読み出しを行わない。
【００４７】
４０９で合計dビット読み出したら処理を終了する。
【００４８】
４１２では、前処理で擬似情報ビットの読み出しを行わなかったので、出力系列が得られる。
【００４９】
＜実施例３＞
実施例３として図１３を用いて説明する。本実施例では、１３０１を実施例１から変更し、他の処理は実施例１と同様な構成になっている。
【００５０】
１３０１では、入力情報ビットを書き込むメモリを確保するため、入力情報ビット系列長dに対するメモリの大きさM×Nを決定する。M、Nの決定方法を図９のフローチャートに示す。
【００５１】
情報ビット長dについて、処理部９０１において、N=floor(sqrt(d-1))なる整数Nを計算し、L=N×(N+1)を計算し、flag=0とする。
【００５２】
条件分岐９０２において、L≧dならば、処理部９０３でM=N+1とし、M×Nワードのメモリを確保する出力部９１８に移行する。
【００５３】
９０２においてL≧dのとき、M=N+1なのでMとNは互いに素になるので、互いに素になるかの確認処理部９１４は行わない。
【００５４】
９０２においてL＜dのとき、条件分岐９０４に移行する。
【００５５】
９０４で(N+1)2=dならば、処理部９０５でM=N+3とし、条件分岐９０６へ移行する。
【００５６】
９０６でN%3=0でないならば、MとNは互いに素であるので、出力部９１８へ移行する。
【００５７】
９０４で(N+1)2=dでないならば、処理部９０８でM=N+2とする。
【００５８】
条件分岐９０９において、Nが奇数なら、MとNは互いに素になるので９１８に移行する。
【００５９】
９０９においてNが偶数なら、MとNは互いに素にならないので、処理部９１０で列数を１減らし、処理部９１１で行数を１増やす。
【００６０】
条件分岐９１２において、M×N≧dを満たすまで９１１を実行する。
【００６１】
条件分岐９１３においてflag=０ならば、条件分岐９１５に移行する。
【００６２】
９１５でM-N=４のとき、Nが奇数なのでMとNは互いに素となるので９１８へ移行する。そうでない、または９０６でN%3=0ならば９１６に移行し、flag=１とし、９１０で列数を１減らし、９１２でM×N≧dを満たすまで９１１で行数を１ずつ増加させる。
【００６３】
９１３においてflag=１のとき、MとNが互いに素であるかどうかをユークリッドの互除法などを用いて検査し、互いに素であれば出力部９１７へ移行する。
【００６４】
互いに素でなければ９１０で列数を１減らし、９１２でM×N≧dを満たすまで９１１で行数を１ずつ増加させる。
【００６５】
以上の処理は、実施例１より条件分岐が増加するが、互いに素であるかを検査する回数が減少するという特徴を有する。
【００６６】
＜実施例４＞
実施例４として図１３を用いて説明する。本実施例では、１３０１が実施例３と同様で、他の処理が実施例２と同様な構成となっている。
【００６７】
なお、本発明は実施例１、２、３、４に限定するものではなく、１３０２に相当する図１０において、アドレステーブルを利用する構成も可能である。
【００６８】
このように、本発明の実施形態によれば、メモリを一意に確保し、書き込みを行った後、簡易な処理で読み出しを行うので、特表２００３−５００８８５などに比べ、ハードウェア構成の複雑度を低減させることが可能である。
＜実施例５＞
以下、本発明を適用した無線通信装置おける、２次元ターボインタリーバを備えた無線通信装置について、図面を参照して詳細に説明する。
【００６９】
本発明に係る無線通信装置は、図１５に示すような無線通信システムにおいて、基地局１５０１と端末１５０２で使用される。
【００７０】
基地局の構成図を図１８に示す。まず、送信処理について説明する。通信回線１８０１から受け取ったデータは、上位レイヤ制御部１８０２にて、物理層より上位のデータ処理を行い、物理層の処理部へ伝送する。まず、１８０２から伝送された情報ビット系列を、１８０３にてターボ符号化し、１８０４にて変調する。次に、１８０６にてRF処理を行い、送受信切替スイッチ１８０７を送信側に切り替える。最後にアンテナ１８０８から信号が送信される。
【００７１】
受信処理では、アンテナ１８０８から受信した信号について、１８０７を受信側に切り替えて受信処理を行う。まず、１８０９にてRF処理を行い、１８１１にて復調を行う。次に、１８１２にてターボ復号を行い、情報ビット系列を得、１８０２にて上位レイヤ処理を行った後、通信回線１８０１に伝送する。ここで、１８０３、１８０４、１８０６、１８０７、１８０９、１８１１、１８１２の各処理は、第二のコントローラ１８１３により制御されている。
【００７２】
ここで、アンテナが複数ある場合などでは、新たに送信信号処理、受信信号処理が加わることも考えられる。図１９に、その例を示す。図１９では、図１８に、送信信号処理として、１９０５にてＳＴＣ（Space Time Coding）を行う。同様に受信では、１９１０にて、ＳＴＤ（Space Time Decoding）を行う。これらの処理は一例であり、様々な処理が考えられる。また、１９０５、１９１０も第二のコントローラ１９１３で制御される。
【００７３】
端末の構成図を図２０、２１に示す。送信処理では、２００１又は２１０１のユーザインタフェースから伝送されたデータを上位レイヤ制御部に伝送する。ここで、ユーザインタフェースは、これに限定するものではなく、他の機器とのインタフェースも考えられる。以降の処理は基地局と同様である。
【００７４】
受信処理では、基地局と同様に、アンテナで受信した信号を処理した上で、上位レイヤ制御部から伝送されるデータをユーザインタフェースへと伝送する。ここで、ユーザインタフェースは、これに限定するものではなく、他の機器とのインタフェースも考えられる。
【００７５】
さて、ターボ符号は、ターボ符号化部１８０３、１９０３、２００３において行われる。このたターボ符号化部は、入力情報ビット系列が入力される内部符号器１０１と、入力情報ビット系列が入力されるターボインターリーバ１０３と、ターボインターリーバ１０３からの出力が入力される内部符号化器１０２とを備える。
【００７６】
図１３に、ターボインタリーバ１０３のブロック構成を示す。ターボインターリーバ１０３は、Ｍ，Ｎ生成部１３０１と、インタリーブ部１３０２とを有する。
【００７７】
Ｍ，Ｎ生成部１３０１は、入力情報ビット系列長を入力とし、Ｍ，Ｎを計算する。Ｍ、Ｎの計算については、上記実施例１〜４に記載される通りである。
【００７８】
インタリーブ部１３０２は、入力情報ビット系列と、第二のコントローラ１８１３（または１９１３、２０１３、２１１３）から出力される情報ビット系列長と、Ｍ，Ｎ生成部１３０１から出力されるＭ，Ｎとを入力とし、入力情報ビット系列のインタリーブを行う。インタリーブの方法については、上記実施例１〜４に記載される通りである。
【００７９】
図２２に、インタリーブ部１３０２のブロック構成を示す。インタリーブ部１３０２は、読み出しアドレス生成部２２０１、読み出しアドレス生成部２２０１の出力を保持するメモリ２２０３、読み出しアドレス２２０１及びメモリ２２０３を制御する第一のコントローラ２２０２、メモリ２２０３の出力が入力されてインタリーブ系列を出力する擬似情報ビット判定部２２０４とを備える。
【００８０】
読み出しアドレス生成部２２０１は、入力された初期値に基づき、第一のコントローラ２２０２のクロックに従って読み出しアドレスを生成する。ここで、読み出しアドレス生成部２２０１に入力される初期値とは、M、N、情報ビット系列長d及び読み出し初期アドレスである。
【００８１】
メモリ２２０３は、入力情報ビット系列が書き込まれている。メモリ２２０３は、第一のコントローラ２２０２からの信号が読み出し可能であれば、読み出しアドレス生成部２２０１で生成されたアドレスに従って、メモリ２２０３からの読み出しを順次行う。
【００８２】
擬似情報ビット判定部２２０４は、メモリ２２０３から出力された信号について擬似情報ビットであるかを判定し、擬似情報ビットであれば廃棄する処理を行い、インタリーブ系列を得る。
【００８３】
本発明を適用したターボインタリーブ方法は、ターボ復号部１８１２、１９１２、２０１２、２１１２においても使用される。このターボ復号部は、図２３に示されるように、第一の内部復号器２３０１と、第一の内部復号器２３０１の出力信号が入力されるターボインターリーバ２３０２と、ターボインターリーバ２３０２の出力信号が入力される第二の内部復号器２３０３と、第二の内部復号器２３０３の出力信号が入力されるターボデインターリーバ２３０５と、ターボデインターリーバ２３０５の出力信号が入力される硬判定部２３０６と、第二の内部復号器２３０３の出力信号が入力されるターボデインタリーバ２３０４とを備える。
【００８４】
まず、ターボ符号化において生成された、入力情報ビット系列に対応する組織ビット系列xの対数尤度比と、パリティビット系列yの対数尤度比とを、第一の内部復号器２３０１に入力し、外部情報を出力する。
【００８５】
次に、ターボインタリーバ２３０２でインタリーブされた２３０１の外部情報を事前情報とし、組織ビット系列xをターボインタリーブした系列と、ターボ符号化において生成されたパリティビット系列y’を２３０３の内部復号器２に入力する。
【００８６】
このとき、２３０１の事前情報として入力するための、２３０３の外部情報は、ターボデインタリーバ２３０４でデインタリーブされ、２３０１の入力となり、xの対数尤度比及びyの対数尤度比から、先程と同様に外部情報を出力する。ここで、ターボデインタリーバは、ターボインタリーバの逆処理である。これらの処理を規定回数繰り返す。
【００８７】
復号系列を得るときは、２３０３から出力される組織ビット系列の対数尤度比を２３０５のターボデインタリーバに伝送する。デインタリーブされた系列を硬判定することにより、復号系列が得られる。
【００８８】
＜実施例６＞
実施例６として図１３、図２２を用いて説明する。
【００８９】
Ｍ、Ｎ生成部１３０１では、入力情報ビットを書き込むメモリ２２０３を確保するため、入力情報ビット系列長dに対するメモリの大きさM×Nを決定する。M、Nの決定方法を図５のフローチャートに示す。ここで、sqrt(x)はxの平方根を表し、floor(x)はxを超えない最大の整数を表し、gcd(x , y)はxとyの最大公約数を表す。
【００９０】
ステップ５０１では、入力される入力情報ビット系列長dについて、N=floor(sqrt(d-1)) なるNを計算し、L=N×(N+1)を計算する。
【００９１】
ステップ５０２において、L≧dならば、ステップ５０３でM=N+1とし、ステップ５０９に移行する。ステップ５０２においてL≧dのとき、M=N+1なのでMとNは互いに素になる。したがって、互いに素になるかを確認する確認処理部５０７は不要である。
【００９２】
ステップ５０２においてL＜dのとき、ステップ５０４でM=N+2とし、ステップ５０５でM×N≧dであるかを判定する。
【００９３】
ステップ５０５でM×N≧dを満たさないと判定した場合、M×N≧dを満たすまでステップ５０６でMを１ずつ増加させる。ステップ５０５でM×N≧dを満たすと判定した場合、ステップ５０７に移行する。
【００９４】
ステップ５０７では、M×N≧dを満たす最小のMについて、MとNが互いに素であるかを判定する。MとNが互いに素であるかの判定は、例えばユークリッドの互除法等が適用可能である。
【００９５】
ステップ５０７で、MとNが互いに素でないと判定した場合、ステップ５０８に移行してNを１減らし、ステップ５０６及び５０５てM×N≧dとなるまでMを再び１ずつ増加させる。そして、M×N≧dを満たす最小のMについて、ステップ５０７において互いに素であるかを判定するというフローを繰り返す。
【００９６】
ステップ５０７で、MとNが互いに素でないと判定した場合、ステップ５０９に移行して、Ｍ，Ｎの組み合わせを出力する。
【００９７】
なお、以上のフローは、M、Nの組み合わせについて、ＭとＮとが互いに素であるかを判定するステップ５０７を逐次行うので、後に示す実施例８に比べ条件分岐が少なくなるという特徴を有する。
【００９８】
インタリーブ部１３０２では、Ｍ、Ｎ生成部１３０１で求めたM、Nに基づき、入力情報ビット系列のインタリーブを行う。インタリーブ部１３０２は、例えば図２２に示されるブロック部を備える。インタリーブ部１３０２で実行される処理について、図１２に示されるフローチャートを用いて説明する。
【００９９】
ステップ１２０１では、Ｍ、Ｎ生成部１３０１で求めたM、Nについて、第一のコントローラ２２０２の信号に従い、M×Nワード以上のメモリ２２０３の確保を行う。
【０１００】
次に、ステップ１２０４では、作成したM×Nワード以上のメモリ２２０３に、入力情報ビットを書き込む。ステップ１２０４の処理は、図２２において、メモリ２２０３の先頭アドレスから順に、第一のコントローラ２２０２の信号に従い、入力情報ビット系列の書き込みを行うことである。M×N＞dのとき、メモリ２２０３の空いたメモリ後部M×N-dワードに、擬似情報ビットとして特定の値を埋める。以下、メモリ２２０３への書き込みフローチャート（情報ビット系列の書き込み処理）を、図１６に示す。
【０１０１】
ステップ１６０１では、情報ビットを入力する。ステップ１６０２では、ステップ１６０１で入力した情報ビットをメモリ２２０３に書き込む。ステップ１６０３では、メモリ２２０３への書き込み後、参照するアドレスを１増加させる。
【０１０２】
ステップ１６０４では、情報ビット書き込みが終了であるかを判定する。情報ビット系列の書き込みが終了と判定した場合、ステップ１６０５に移行する。情報ビット系列の書き込みが終了していないと判定した場合、ステップ１６０１に戻る。
【０１０３】
ステップ１６０５では、次アドレスがメモリの最終アドレスであるかを判定する。次アドレスがメモリの最終アドレスであると判定した場合、情報ビット系列の書き込み処理を終了する。次アドレスがメモリの最終アドレスではないと判定した場合、メモリに空きがあれば、ステップ１６０６に移行する。なお、ステップ１２０１においてM×Nワード以上のメモリを確保しているので、次アドレスがメモリの最終アドレスではないと判定した場合に、メモリに空きが無いことはない。
【０１０４】
ステップ１６０６では、メモリの空きに対して、擬似情報ビットを使用するかを判定する。擬似情報ビットを使用すると判定した場合、ステップ１６０７に移行して、メモリを全て埋めるまで擬似情報ビットの書き込みを行う。擬似情報ビットを使用しないと判定した場合、情報ビット系列の書き込み処理を終了する。なお、擬似情報ビットは、最後に情報ビットと識別して削除されるため、“FF(16進数)”のような、識別可能な値とされることが望ましい。
【０１０５】
次に、ステップ１２０５では、読み出すメモリ２２０３の読み出しアドレスを生成する。読み出しアドレスは、初期値として入力されるＭ、Ｎ生成部で求められたM及びNと、情報ビット系列長ｄと、読み出し初期アドレスとに基づき、読み出しアドレス生成部２２０１にて生成される。以下、読み出しアドレス生成部２２０１で実行される読み出しアドレスの生成フローチャートを図１７に示す。
【０１０６】
ステップ１７０１では、初期読み出しかどうかを判定する。初期読み出しであれば、ステップ１７０２に移行する。２回目以降の読み出しであれば、ステップ１７０３に移行する。
【０１０７】
ステップ１７０２では、初期読み出しアドレスを決定する変数i,jの初期化を行う。ここでi、jは0≦i≦M-1、1≦j≦Nを満たす任意の値とする。
【０１０８】
ステップ１７０３では、i=i-1 mod M、j=j+1とし、i、jの更新を行う。
【０１０９】
ステップ１７０４では、更新したjについて、j=N+1ならばステップ１７０５に移行してj=1とする。一方、更新したjについて、j≠N+1ならば１７０６へ移行し、読み出しアドレスaddを、add=i×N+jと計算する。
【０１１０】
ステップ１７０７では、ステップ１７０２、１７０４、又は１７０５の出力を受けて、読み出しアドレスaddを出力する。
【０１１１】
次に、ステップ１２０８では、ステップ１２０５にて生成された読み出しアドレスに基づいて、第一のコントローラ２２０２からの信号に従い、メモリ２２０３に書き込まれた情報ビット系列を読み出す。以下、この読み出し方法を以下に示す。
【０１１２】
本実施例では、0≦i≦M-1なるi、1≦j≦Nなるjについて、最初にメモリの(i×N+j)ワード目を読み出したらi=i-1 mod M、j=j+1とし、j=N+1ならj=1とし、(i×N+j)ワード目を読み出すという処理を繰り返す。この処理は、以下のような行列を用いて考えることができる。ステップ１２０４の書き込みでは、図２に示すように、メモリ２２０３を行方向に並んだ２次元の行列であると考える。
【０１１３】
ステップ１２０５、ステップ１２０８のメモリの読み出しでは、この考えに基づき、以下のように読み出すと考える。まず、図６ように、例えばM行1列目を最初に読み出すとすれば、m=M、n=1とし、m行n列目のメモリアドレスのワードを読み出したら、m=m-1、n=n+1とし、m行n列目のメモリアドレスのワードを読み出す処理をn=N+1になるまで繰り返す。
【０１１４】
その後、図７に示すように、n=N+1になればn=1とし、m行n列目のメモリアドレスのワードを読み出し、再び同様にm=m-1、n=n+1とし、m行n列目のメモリアドレスのワードを読み出す処理を繰り返す。
【０１１５】
次に、図８に示すように、m=0になれば、m=Mとし、m行n列目のメモリアドレスのワードを読み出し、再び同様にm=m-1、n=n+1とし、m行n列目のメモリアドレスのワードを読み出す処理を繰り返す。これらをまとめると、図１のようにメモリを読み出すこととなる。なお、ステップ１２０８におけるメモリ２２０３からの読み出しでは、擬似情報ビットも読み出す。
【０１１６】
次に、ステップ１２０９において、規定回数の読み出しが終了したかを判定する。ステップ１２０９の判定は、第一のコントローラ２２０２で実行される。規定回数の読み出しが終了したと判定した場合、つまり合計M×Nワード読み出したら、ステップ１２１１に移行する。規定回数の読み出しが終了していないと判定した場合、ステップ１２０５に戻る。
【０１１７】
次に、ステップ１２１１に移行し、擬似情報ビットの削除を行う。擬似情報ビットの削除は、擬似情報ビット判定部２２０４において行われる。
【０１１８】
次に、ステップ１２１１において、擬似情報ビットを削除したあとの信号系列を出力し、所望の出力ビット系列を得る。
【０１１９】
なお、ターボ復号におけるターボデインタリーバ２３０４、２３０５は、以上のターボインタリーバの逆処理を行う。
【０１２０】
＜実施例７＞
実施例７として図１３、図２２を用いて説明する。実施例７において、Ｍ、Ｎ生成部１３０１は実施例１と同様である。インタリーブ部１３０２では、Ｍ、Ｎ生成部１３０１で求めたM、Nに基づき、入力情報ビット系列のインタリーブを行う。インタリーブ部１３０２は、例えば図２２に示されるブロック部を備える。
【０１２１】
インタリーブ部１３０２で実行される処理について、図４に示されるフローチャートを用いて説明する。
【０１２２】
ステップ４０１では、Ｍ、Ｎ生成部１３０１で求めたM、Nについて、dワード以上のメモリ２２０３の確保を行う。
【０１２３】
ステップ４０４では、作成したdワード以上のメモリ２２０３に、入力情報ビットを書き込む。メモリへの書き込み方法は実施例６のステップ１２０４と同様である。ただし、M×N＞dのとき、空いたメモリM×N-d個に、実施例６のような擬似情報ビットを挿入するかどうかは任意である。つまり、書き込みフローチャート図１６におけるステップ１６０６の条件分岐は任意である。
【０１２４】
ステップ４０５では、読み出すメモリ２２０３の読み出しアドレスを生成する。読み出しアドレスは、初期値として入力されるＭ、Ｎ生成部で求められたM及びNと、情報ビット系列長ｄと、読み出し初期アドレスとに基づき、読み出しアドレス生成部２２０１にて生成される。読み出しアドレスの生成方法は実施例６のステップ１２０５と同様である。
【０１２５】
ステップ４１３では、生成された読み出しアドレスが情報ビットアドレスを指すかどうかを、コントローラ２２０２で判定する。M×N＞dのとき、(d+1)ワード目からM×Nワード目については、情報ビット系列が書き込まれていないので、(i×N+j)＞dならば読み出しを行わない。このとき、２２０１で生成されたアドレスは廃棄されることとなる。
【０１２６】
ステップ４０８では、メモリ２２０３からの読み出しを実施例６と同様に行う。
【０１２７】
ステップ４０９では、規定回数の読み出しが終了したかを判定する。第一のコントローラ２２０２が規定回数の読み出しが終了したと判定した場合、つまり合計dワード読み出したら、ステップ４１２に移行する。規定回数の読み出しが終了していないと判定した場合、ステップ４０５に戻る。なお、擬似情報ビット系列の読み出しは行わないので、擬似情報ビット判定部２２０４は動作しない。
【０１２８】
ステップ４１２では、前処理で擬似情報ビットの読み出しを行わなかったので、出力系列が得られる。
【０１２９】
なお、ターボ復号におけるターボデインタリーバ２３０４、２３０５は、以上のターボインタリーバの逆処理を行う。
【０１３０】
＜実施例８＞
実施例８として図１３、図２２を用いて説明する。本実施例では、Ｍ、Ｎ生成部１３０１を実施例６から変更し、他の処理は実施例６と同様な構成になっている。
【０１３１】
Ｍ、Ｎ生成部１３０１では、入力情報ビットを書き込むメモリ２２０３を確保するため、入力情報ビット系列長dに対するメモリの大きさM×Nを決定する。M、Nの決定方法を図９のフローチャートに示す。
【０１３２】
ステップ９０１では、入力される入力情報ビット系列長dについて、N=floor(sqrt(d-1)) なるNを計算し、L=N×(N+1)を計算し、flag=0とする。
【０１３３】
ステップ９０２では、L≧dならば、ステップ９０３に移行し、L<dならばステップ９０４に移行する。
【０１３４】
ステップ９０３では、M=N+1とし、ステップ９１８に移行する。
【０１３５】
ステップ９１８では、M×Nワードのメモリを確保する。
【０１３６】
ステップ９０４では、(N+1)2=dを満たせば、ステップ９０５に移行し、満たさなければ９０８に移行する。
【０１３７】
ステップ９０５では、でM=N+3とし、ステップ９０６に移行する。
【０１３８】
ステップ９０６では、N%3=0を満たすかどうかの判定を行う。N%3=0を満たさなければ、MとNは互いに素であるので、ステップ９１８へ移行する。N%3=0ならばMとNは互いに素でないので、ステップ９１６に移行する。
【０１３９】
ステップ９０８では、M=N+2を計算し、ステップ９０９に移行する。
【０１４０】
ステップ９０９では、Nが奇数かどうかの判定を行う。Nが奇数なら、MとNは互いに素になるのでステップ９１８に移行する。
【０１４１】
ステップ９０９においてNが偶数なら、MとNは互いに素にならないので、ステップ９１０に移行する。
【０１４２】
ステップ９１０では、Nを１減算し、ステップ９１１に移行する。
【０１４３】
ステップ９１１では、Mを１加算し、ステップ９１２に移行する。
【０１４４】
ステップ９１２では、M×N≧dを満たすかどうかを判定する。M×N≧dであればステップ９１３に移行し、M×N<dであればステップ９１１に戻る。
【０１４５】
次にステップ９１３においてflagの判定を行う。flag=０ならば、ステップ９１５に移行し、flag=1ならばステップ９１４に移行する。
【０１４６】
ステップ９１５では、M-N=４を満たすかどうかの判定を行う。M-N=4ならば、Nが奇数なのでMとNは互いに素となるのでステップ９１８へ移行する。そうでない、またはステップ９０６でN%3=0ならばステップ９１６に移行する。
【０１４７】
ステップ９１６では、flag=１としステップ９１０に移行する。
【０１４８】
ステップ９１５では、MとNが互いに素であるかどうかを検査する。ここでは、例えばユークリッドの互除法などを用いる。互いに素であればステップ９１７へ移行する。
【０１４９】
互いに素でなければステップ９１０に戻る。
【０１５０】
ステップ９０２においてL≧dのとき、M=N+1なのでMとNは互いに素になるので、互いに素になるかの確認ステップ９１４は行わない。
【０１５１】
ターボ復号におけるターボデインタリーバ２３０４、２３０５は、以上のターボインタリーバの逆処理を行う。
【０１５２】
以上の処理は、実施例１より条件分岐が増加するが、互いに素であるかを検査する回数が減少するという特徴を有する。
【０１５３】
＜実施例９＞
実施例９として図１３、図２２を用いて説明する。本実施例では、Ｍ、Ｎ生成部１３０１が実施例８と同様で、他の処理が実施例２と同様な構成となっている。
【０１５４】
ターボ復号におけるターボデインタリーバ２３０４、２３０５は、以上のターボインタリーバの逆処理を行う。
【０１５５】
なお、本発明は実施例６、７、８、９に限定するものではなく、インタリーブ部１３０２に相当する図１０において、アドレステーブルを利用する構成も可能である。この構成を図２４に示す。
【０１５６】
読み出しアドレス生成部２４０１、第一のコントローラ２４０２、メモリ２４０３、擬似情報ビット判定部２４０４は図２２の該当部と同一である。
【０１５７】
アドレステーブル２４０５では、読み出しアドレス生成部２４０１で計算した読み出しアドレスを順に格納する。その後、第一のコントローラ２４０２の信号に従い、アドレステーブル２４０５に格納されたアドレスを参照することで、メモリ２４０３からの読み出しを行う。
【０１５８】
本構成では、アドレステーブル２４０５を用いるためメモリが大きくなるが、情報ビット系列長が同じであれば、初回のみ読み出しアドレスを計算すればよく、演算量を削減できるという特徴を有する。
【０１５９】
ターボデインタリーバは、ターボインタリーバの逆処理であれば任意の構成でよい。図２５、２６にその例を示す。
【０１６０】
Ｍ、Ｎ生成部２５０１では、入力ビット系列長を入力とし、ステップ１３０１と同様にM、Nを計算する。
【０１６１】
デインタリーブ部２５０２では、入力ビット系列、入力ビット系列長、M、Nを入力とし、入力情報ビット系列のデインタリーブを行う。
【０１６２】
デインタリーブ部２５０２は、図２６のように構成される。
【０１６３】
書き込みアドレス生成部２６０１では、初期値として、M、N、入力ビット系列長、書き込み初期アドレスを入力し、書き込みアドレスを生成する。
【０１６４】
ここで、第一のコントローラ２６０２からの信号が書き込み可能であれば、書き込みアドレス生成部２６０１で第一のコントローラ２６０２のクロックに従って順次生成された、メモリ２６０３のアドレスに入力ビット系列を順次書き込む。ただし、入力系列長dについて、(d+1)ワード目以降のアドレスを生成したときは破棄する。第一のコントローラ２６０２からの信号が読み出し可能であれば、コントローラ２６０２からのクロックに従って、メモリの先頭アドレスから順次読み出しを行う。以上の処理により、デインタリーブ系列を得る。
【０１６５】
ここで、書き込みアドレス生成部２６０１は、ターボインタリーバにおける、読み出しアドレス生成部と同一である。
【０１６６】
以上のデインタリーブ方法は、メモリを２次元の行列と考えたとき、図１のようにメモリに書き込み、図２のようにメモリから読み出すこととなる。
【０１６７】
また、ターボインタリーブ時にアドレステーブルを使用した場合は、テーブル参照により、直接ターボデインタリーブが可能である。
【０１６８】
このように、本発明の実施例１〜９によれば、メモリを確保し、書き込みを行った後、簡易な処理で読み出しを行うので、従来技術に比べてハードウェア構成の複雑度を低減させることが可能である。また、従来技術では入力ビット系列を格納するメモリ以外にも大きな固有のメモリが必要であったが、本発明ではそのメモリサイズを1/7程度に低減できる。演算回数に着目すると、メモリへの書き込み、読み出しに要する演算回数は同じであるが、従来技術ではメモリへの書き込み後におよそメモリのワード数回の乗算を必要であったのに対し、本発明ではこの演算が不要となる。
【産業上の利用可能性】
【０１６９】
本発明は、ターボ符号を構成する上で、ターボインタリーバのハードウェア構成の複雑度を低減させることを可能とする。
【図面の簡単な説明】
【０１７０】
【図１】本発明に係る２次元インタリーバの読み出し方法を示した図である。
【図２】２次元ターボインタリーバの一般的な書き込み方法である。
【図３】２次元ターボインタリーバの一般的な読み出し方法である。
【図４】本実施例２、４に係る２次元ターボインタリーバのインタリーバ部のフローチャートである。
【図５】本実施例１、２に係る２次元ターボインタリーバのM、N生成部の計算フローチャートである。
【図６】本実施例に係る２次元ターボインタリーバの出力ビット系列の読み出し方法である。
【図７】本実施例に係る２次元ターボインタリーバの出力ビット系列の読み出し方法である。
【図８】本実施例に係る２次元ターボインタリーバの出力ビット系列の読み出し方法である。
【図９】本実施例３、４に係る２次元ターボインタリーバM、N生成部の計算フローチャートである。
【図１０】一般的な２次元ターボインタリーバの処理のフローチャートである。
【図１１】一般的なターボ符号の構成を示すブロック図である。
【図１２】本実施例１、３に係る２次元ターボインタリーバのインタリーバ部のフローチャートである。
【図１３】本実施例に係るターボインタリーバのブロック図である。
【図１４】本実施例に係る無線通信装置のブロック図である。
【図１５】本発明の実施形態に係る無線通信システムの概念図である。
【図１６】本実施例に係るメモリへの書き込みフローチャートである。
【図１７】本実施例に係る読み出しアドレスの生成フローチャートである。
【図１８】本発明の実施形態に係る基地局の構成図である。
【図１９】本発明の実施形態に係る、送受信信号処理を行う場合の基地局の構成図である。
【図２０】本発明の実施形態に係る端末の構成図である。
【図２１】本発明の実施形態に係る、送受信信号処理を行う場合の端末の構成図である。
【図２２】インタリーブ部１３０２の構成図である。
【図２３】ターボ復号のブロック図である。
【図２４】インタリーブ部１３０２において、アドレステーブルを用いる場合の構成図である。
【図２５】本実施例に係るターボデインタリーバのブロック図である。
【図２６】デインタリーブ部２５０２の構成図である。
【符号の説明】
【０１７１】
１０１、１０２  内部符号器
１０３  ターボインタリーバ
１３０１、２５０１  M、N生成部
１３０２  インタリーブ部
１４０１  情報系列生成部
１４０２  ベースバンド処理部
１４０３  ＲＦ部
１４０４  アンテナ
１５０１  基地局
１５０２  端末
１８０１、１９０１  通信回線
１８０２、１９０２、２００２、２１０２  上位レイヤ制御部
１８１３、１９１３、２０１３、２１１３  第二のコントローラ
１８０７、１９０７、２００７、２１０７  送受信切替スイッチ
１８０８、１９０８、２００８、２１０８  アンテナ
２００１、２１０１  ユーザインタフェース
２２０１、２４０１  読み出しアドレス生成部
２２０２、２４０２  第一のコントローラ
２２０３、２４０３  メモリ
２２０４、２４０４  擬似情報ビット判定部
２４０５  アドレステーブル
２３０１  内部復号器１
２３０２  ターボインタリーバ
２３０３  内部復号器２
２３０４、２３０５  ターボデインタリーバ
２５０２  デインタリーブ部
２６０１  書き込みアドレス生成部
２６０２  第一のコントローラ
２６０３  メモリ
【図１】
2009077371.tif 000003
【図２】
2009077371.tif 000004
【図３】
2009077371.tif 000005
【図４】
2009077371.tif 000006
【図５】
2009077371.tif 000007
【図６】
2009077371.tif 000008
【図７】
2009077371.tif 000009
【図８】
2009077371.tif 000010
【図９】
2009077371.tif 000011
【図１０】
2009077371.tif 000012
【図１１】
2009077371.tif 000013
【図１２】
2009077371.tif 000014
【図１３】
2009077371.tif 000015
【図１４】
2009077371.tif 000016
【図１５】
2009077371.tif 000017
【図１６】
2009077371.tif 000018
【図１７】
2009077371.tif 000019
【図１８】
2009077371.tif 000020
【図１９】
2009077371.tif 000021
【図２０】
2009077371.tif 000022
【図２１】
2009077371.tif 000023
【図２２】
2009077371.tif 000024
【図２３】
2009077371.tif 000025
【図２４】
2009077371.tif 000026
【図２５】
2009077371.tif 000027
【図２６】
2009077371.tif 000028