(57)【要約】【課題】  ターボ符号のインターリーバにおいて、行内の入れ替えを行うためのベースシーケンスを求める際に必要な演算量を減らし、処理時間を短縮する。【解決手段】  ベースシーケンスＳ（ｊ）を直接には求めず、数列Ｍ（ｎ）＝［ｖ＊ｎ］  ｍｏｄ  ｐを用いて間接的に求める。Ｍ（ｎ）は漸化式から剰余演算を行わずに値を求めることができ、求めた値はメモリに格納される。Ｍ（ｎ）はＳ（ｊ）＝Ｍ（Ｓ（ｊ−１））を満たすので、初期値Ｓ（ｊ）を定めてメモリに格納されたＭ（ｎ）の値を並べ替えることでベースシーケンスＳ（ｊ）が剰余演算を行わずに求められる。【選択図】  図５
2005072843.tif 000002
【特許請求の範囲】
【請求項１】
ターボ符号のインターリーバにおいて行内の入れ替えを行うためのベースシーケンスを求めるために、
自然数ｎ、及び２つの素数ｖとｐより、
Ｍ（ｎ）＝［ｖ＊ｎ］ ｍｏｄ ｐ
で定めるＭ（ｎ）を、Ｍ（ｎ−１）＋ｖ＜ｐの場合、
Ｍ（ｎ）＝Ｍ（ｎ−１）＋ｖ、
Ｍ（ｎ−１）＋ｖ≧ｐの場合、
Ｍ（ｎ）＝Ｍ（ｎ−１）＋ｖ−ｐ
により計算する演算手段と、
前記演算手段により得られた値をメモリに格納する第１の格納手段と、
前記格納手段によりメモリに格納された値を読み出す読み出し手段と、
前記読み出し手段により読み出された値を並べ替える並べ替え手段と、
前記並べ替え手段により並べ替えられた数列をメモリに格納する第２の格納手段とを有することを特徴とする携帯電話機。
【請求項２】
前記並べ替え手段は、
ａn+1 ＝Ｍ（ａn ）
で定まる数列に従い、メモリに格納された値を並べ替えることを特徴とする請求項１に記載の携帯電話機。
【請求項３】
ベースシーケンスＳ（ｎ）：
Ｓ（ｎ）＝［ｖ＊Ｓ（ｎ−１）］  ｍｏｄ  ｐ
と、前記並べ替え手段により得られた数列とを対応させることによりＳ（ｎ）の値を決定する手段を更に有することを特徴とする請求項２に記載の携帯電話機。
【請求項４】
上記ベースシーケンスＳ（ｎ）の初期値をＳ（０）−１と置くことにより、ベースシーケンスＳｍ（ｎ）：
Ｓｍ（ｎ）＝Ｓ（ｎ）−１
を求めることを特徴とする請求項３に記載の携帯電話機。
【請求項５】
インターリーバの列数に応じて、ベースシーケンスＳ（ｎ）及びＳｍ（ｎ）から適切なベースシーケンスを選択することを特徴とする請求項４に記載の携帯電話機。
【請求項６】
ターボ符号のインターリーバにおいて行内の入れ替えを行うためのベースシーケンスを求めるために、
自然数ｎ、及び２つの素数ｖとｐより、
Ｍ（ｎ）＝［ｖ＊ｎ］ ｍｏｄ ｐ
で定めるＭ（ｎ）を、Ｍ（ｎ−１）＋ｖ＜ｐの場合、
Ｍ（ｎ）＝Ｍ（ｎ−１）＋ｖ、
Ｍ（ｎ−１）＋ｖ≧ｐの場合、
Ｍ（ｎ）＝Ｍ（ｎ−１）＋ｖ−ｐ
により計算する演算手段と、
前記演算手段により得られた値をメモリに格納する第１の格納手段と、
前記格納手段によりメモリに格納された値を読み出す読み出し手段と、
前記読み出し手段により読み出された値を並べ替える並べ替え手段と、
前記並べ替え手段により並べ替えられた数列をメモリに格納する第２の格納手段とを有することを特徴とするインターリーブパラメータ演算装置。
【請求項７】
前記並べ替え手段は、
ａn+1 ＝Ｍ（ａn ）
で定まる数列に従い、メモリに格納された値を並べ替えることを特徴とする請求項６に記載のインターリーブパラメータ演算装置。
【請求項８】
ベースシーケンスＳ（ｎ）：
Ｓ（ｎ）＝［ｖ＊Ｓ（ｎ−１）］  ｍｏｄ  ｐ
と、前記並べ替え手段により得られた数列とを対応させることによりＳ（ｎ）の値を決定する手段を更に有することを特徴とする請求項７に記載のインターリーブパラメータ演算装置。
【請求項９】
上記ベースシーケンスＳ（ｎ）の初期値をＳ（０）−１と置くことにより、ベースシーケンスＳｍ（ｎ）：
Ｓｍ（ｎ）＝Ｓ（ｎ）−１
を求めることを特徴とする請求項８に記載のインターリーブパラメータ演算装置。
【請求項１０】
インターリーバの列数に応じて、ベースシーケンスＳ（ｎ）及びＳｍ（ｎ）から適切なベースシーケンスを選択することを特徴とする請求項９に記載のインターリーブパラメータ演算装置。
【請求項１１】
ターボ符号のインターリーバにおいて行内の入れ替えを行うためのベースシーケンスを求めるために、
自然数ｎ、及び２つの素数ｖとｐより、
Ｍ（ｎ）＝［ｖ＊ｎ］ ｍｏｄ ｐ
で定めるＭ（ｎ）を、Ｍ（ｎ−１）＋ｖ＜ｐの場合、
Ｍ（ｎ）＝Ｍ（ｎ−１）＋ｖ、
Ｍ（ｎ−１）＋ｖ≧ｐの場合、
Ｍ（ｎ）＝Ｍ（ｎ−１）＋ｖ−ｐ
により計算する演算工程と、
前記演算工程により得られた値をメモリに格納する第１の格納工程と、
前記格納工程によりメモリに格納された値を読み出す読み出し工程と、
前記読み出し工程により読み出された値を並べ替える並べ替え工程と、
前記並べ替え工程により並べ替えられた数列をメモリに格納する第２の格納工程とを有することを特徴とするインターリーブパラメータ演算方法。
【請求項１２】
前記並べ替え工程は、
ａn+1 ＝Ｍ（ａn ）
で定まる数列に従い、メモリに格納された値を並べ替えることを特徴とする請求項１１に記載のインターリーブパラメータ演算方法。
【請求項１３】
ベースシーケンスＳ（ｎ）：
Ｓ（ｎ）＝［ｖ＊Ｓ（ｎ−１）］  ｍｏｄ  ｐ
と、前記並べ替え工程により得られた数列とを対応させることによりＳ（ｎ）の値を決定する工程を更に有することを特徴とする請求項１２に記載のインターリーブパラメータ演算方法。
【請求項１４】
上記ベースシーケンスＳ（ｎ）の初期値をＳ（０）−１と置くことにより、ベースシーケンスＳｍ（ｎ）：
Ｓｍ（ｎ）＝Ｓ（ｎ）−１
を求めることを特徴とする請求項１３に記載のインターリーブパラメータ演算方法。
【請求項１５】
インターリーバの列数に応じて、ベースシーケンスＳ（ｎ）及びＳｍ（ｎ）から適切なベースシーケンスを選択することを特徴とする請求項１４に記載のインターリーブパラメータ演算方法。
【請求項１６】
ターボ符号のインターリーバにおいて行内の入れ替えを行うためのベースシーケンスを求めるために、
自然数ｎ、及び２つの素数ｖとｐより、
Ｍ（ｎ）＝［ｖ＊ｎ］ ｍｏｄ ｐ
で定めるＭ（ｎ）を、Ｍ（ｎ−１）＋ｖ＜ｐの場合、
Ｍ（ｎ）＝Ｍ（ｎ−１）＋ｖ、
Ｍ（ｎ−１）＋ｖ≧ｐの場合、
Ｍ（ｎ）＝Ｍ（ｎ−１）＋ｖ−ｐ
により計算する演算処理と、
前記演算処理により得られた値をメモリに格納する第１の格納処理と、
前記格納処理によりメモリに格納された値を読み出す読み出し処理と、
前記読み出し処理により読み出された値を並べ替える並べ替え処理と、
前記並べ替え処理により並べ替えられた数列をメモリに格納する第２の格納処理とをコンピュータに実行させる為のインターリーブパラメータ演算プログラム。
【請求項１７】
前記並べ替え処理は、
ａn+1 ＝Ｍ（ａn ）
で定まる数列に従い、メモリに格納された値を並べ替えることを特徴とする請求項１６に記載のインターリーブパラメータ演算プログラム。
【請求項１８】
ベースシーケンスＳ（ｎ）：
Ｓ（ｎ）＝［ｖ＊Ｓ（ｎ−１）］  ｍｏｄ  ｐ
と、前記並べ替え処理により得られた数列とを対応させることによりＳ（ｎ）の値を決定する処理を更に有することを特徴とする請求項１７に記載のインターリーブパラメータ演算プログラム。
【請求項１９】
上記ベースシーケンスＳ（ｎ）の初期値をＳ（０）−１と置くことにより、ベースシーケンスＳｍ（ｎ）：
Ｓｍ（ｎ）＝Ｓ（ｎ）−１
を求めることを特徴とする請求項１８に記載のインターリーブパラメータ演算プログラム。
【請求項２０】
インターリーバの列数に応じて、ベースシーケンスＳ（ｎ）及びＳｍ（ｎ）から適切なベースシーケンスを選択することを特徴とする請求項１９に記載のインターリーブパラメータ演算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ターボ符号のインターリーバにおいて、行内の入れ替えを行うためのベースシーケンスを求める際の演算量を減少させた携帯電話機、インターリーブパラメータ演算装置、方法及びプログラムに関する。
【背景技術】
【０００２】
ＩＭＴ２０００（Ｗ−ＣＤＭＡ）の標準規格３ＧＰＰ  ＴＳ２５．２１２で規定されるターボ符号のインターリーバにおいて、行内の入れ替えを行うためのベースシーケンスＳ（ｊ）は素数ｐ及びｖを用いて、次のように求められる。
Ｓ（ｊ）＝［ｖ＊Ｓ（ｊ−１）］  ｍｏｄ  ｐ，  ｊ＝１，２，・・・，ｐ−２，Ｓ（０）＝１
このＳ（ｊ）を求めるフローを図７に示す。
【０００３】
ターボ符号はBerrouらによって提唱された符号であり、その特徴として次の２点が挙げられる：
１．情報系列、及びインターリーバによって並べ替えられた情報系列を要素符号器で各々符号化し、それらをつないで符号語にする連接符号化。
２．他方の復号結果を利用しながら復号を繰り返し行う繰り返し復号。
【０００４】
インターリーブにおける並べ替えに焦点を当てた先行技術文献として特許文献１がある。これは移動体通信システムにおいて、多様なインターリーブ長に対応する為にインターリービングパターンが膨大になる問題を解決する方法を提示している。
【特許文献１】特開２００３−１５２５５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
携帯電話などに使用されるプロセッサでは回路規模削減の為剰余演算を１桁づつ行うものが多く、データ幅を１６bit とすると、
Ｓ（ｊ）＝Ｓ（ｊ）  ｍｏｄ  ｐ
の演算（ステップ１０４）に１６ステップかかり、条件分岐を２ステップ、その他の処理を１ステップとすると、図７のフローで１回のループ（ステップ１０２〜１０５）が２０ステップ掛かることになる。
３ＧＰＰの規定により、ｐの最大値は２５７の為、このループは最大２５５回繰り返すことになり、処理時間が長くなることが問題となる。
また、ここではＳ（ｊ）を求めているが、インターリーバの列数Ｃがｐ−１のとき、Ｓ（ｊ）ではなく、
Ｓｍ（ｊ）＝Ｓ（ｊ）−１
が必要になる。この場合、各Ｓ（ｊ）に対して−１するステップが追加になるため、１回のループが２１ステップとなる。
本発明は上記ベースシーケンスＳ（ｊ）及びＳｍ（ｊ）を求める際の１回のループあたりのステップ数を減らし、処理時間を削減する手段を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決する為に、請求項１に記載の発明である携帯電話機は、ターボ符号のインターリーバにおいて行内の入れ替えを行うためのベースシーケンスを求めるために、自然数ｎ、及び２つの素数ｖとｐより、Ｍ（ｎ）＝［ｖ＊ｎ］ ｍｏｄ ｐで定めるＭ（ｎ）を、Ｍ（ｎ−１）＋ｖ＜ｐの場合、Ｍ（ｎ）＝Ｍ（ｎ−１）＋ｖ、Ｍ（ｎ−１）＋ｖ≧ｐの場合、Ｍ（ｎ）＝Ｍ（ｎ−１）＋ｖ−ｐにより計算する演算手段と、上記演算手段により得られた値をメモリに格納する第１の格納手段と、上記格納手段によりメモリに格納された値を読み出す読み出し手段と、上記読み出し手段により読み出された値を並べ替える並べ替え手段と、上記並べ替え手段により並べ替えられた数列をメモリに格納する第２の格納手段とを有することを特徴とする。
【０００７】
請求項２に記載の発明は、請求項１に記載の携帯電話機であって、上記並べ替え手段は、ａn+1 ＝Ｍ（ａn ）で定まる数列に従い、メモリに格納された値を並べ替えることを特徴とする。
【０００８】
請求項３に記載の発明は、請求項２に記載の携帯電話機であって、ベースシーケンスＳ（ｎ）：Ｓ（ｎ）＝［ｖ＊Ｓ（ｎ−１）］  ｍｏｄ  ｐと、上記並べ替え手段により得られた数列とを対応させることによりＳ（ｎ）の値を決定する手段を更に有することを特徴とする。
【０００９】
請求項４に記載の発明は、請求項３に記載の携帯電話機であって、上記ベースシーケンスＳ（ｎ）の初期値をＳ（０）−１と置くことにより、ベースシーケンスＳｍ（ｎ）：Ｓｍ（ｎ）＝Ｓ（ｎ）−１を求めることを特徴とする。
【００１０】
請求項５に記載の発明は、請求項４に記載の携帯電話機であって、インターリーバの列数に応じて、ベースシーケンスＳ（ｎ）及びＳｍ（ｎ）から適切なベースシーケンスを選択することを特徴とする。
【００１１】
請求項６に記載の発明は、インターリーブパラメータ演算装置であって、ターボ符号のインターリーバにおいて行内の入れ替えを行うためのベースシーケンスを求めるために、自然数ｎ、及び２つの素数ｖとｐより、Ｍ（ｎ）＝［ｖ＊ｎ］ ｍｏｄ ｐで定めるＭ（ｎ）を、Ｍ（ｎ−１）＋ｖ＜ｐの場合、Ｍ（ｎ）＝Ｍ（ｎ−１）＋ｖ、Ｍ（ｎ−１）＋ｖ≧ｐの場合、Ｍ（ｎ）＝Ｍ（ｎ−１）＋ｖ−ｐにより計算する演算手段と、上記演算手段により得られた値をメモリに格納する第１の格納手段と、上記格納手段によりメモリに格納された値を読み出す読み出し手段と、上記読み出し手段により読み出された値を並べ替える並べ替え手段と、上記並べ替え手段により並べ替えられた数列をメモリに格納する第２の格納手段とを有することを特徴とする。
【００１２】
請求項７に記載の発明は、請求項６に記載のインターリーブパラメータ演算装置であって、上記並べ替え手段は、ａn+1 ＝Ｍ（ａn ）で定まる数列に従い、メモリに格納された値を並べ替えることを特徴とする。
【００１３】
請求項８に記載の発明は、請求項７に記載のインターリーブパラメータ演算装置であって、ベースシーケンスＳ（ｎ）：Ｓ（ｎ）＝［ｖ＊Ｓ（ｎ−１）］  ｍｏｄ  ｐと、上記並べ替え手段により得られた数列とを対応させることによりＳ（ｎ）の値を決定する手段を更に有することを特徴とする。
【００１４】
請求項９に記載の発明は、請求項８に記載のインターリーブパラメータ演算装置であって、上記ベースシーケンスＳ（ｎ）の初期値をＳ（０）−１と置くことにより、ベースシーケンスＳｍ（ｎ）：Ｓｍ（ｎ）＝Ｓ（ｎ）−１を求めることを特徴とする。
【００１５】
請求項１０に記載の発明は、請求項９に記載のインターリーブパラメータ演算装置であって、インターリーバの列数に応じて、ベースシーケンスＳ（ｎ）及びＳｍ（ｎ）から適切なベースシーケンスを選択することを特徴とする。
【００１６】
請求項１１に記載の発明であるインターリーブパラメータ演算方法は、ターボ符号のインターリーバにおいて行内の入れ替えを行うためのベースシーケンスを求めるために、自然数ｎ、及び２つの素数ｖとｐより、Ｍ（ｎ）＝［ｖ＊ｎ］ ｍｏｄ ｐで定めるＭ（ｎ）を、Ｍ（ｎ−１）＋ｖ＜ｐの場合、Ｍ（ｎ）＝Ｍ（ｎ−１）＋ｖ、Ｍ（ｎ−１）＋ｖ≧ｐの場合、Ｍ（ｎ）＝Ｍ（ｎ−１）＋ｖ−ｐにより計算する演算工程と、上記演算工程により得られた値をメモリに格納する第１の格納工程と、上記格納工程によりメモリに格納された値を読み出す読み出し工程と、上記読み出し工程により読み出された値を並べ替える並べ替え工程と、上記並べ替え工程により並べ替えられた数列をメモリに格納する第２の格納工程とを有することを特徴とする。
【００１７】
請求項１２に記載の発明は、請求項１１に記載のインターリーブパラメータ演算方法であって、上記並べ替え工程は、ａn+1 ＝Ｍ（ａn ）で定まる数列に従い、メモリに格納された値を並べ替えることを特徴とする。
【００１８】
請求項１３に記載の発明は、請求項１２に記載のインターリーブパラメータ演算方法であって、ベースシーケンスＳ（ｎ）：Ｓ（ｎ）＝［ｖ＊Ｓ（ｎ−１）］  ｍｏｄ  ｐと、上記並べ替え工程により得られた数列とを対応させることによりＳ（ｎ）の値を決定する工程を更に有することを特徴とする。
【００１９】
請求項１４に記載の発明は、請求項１３に記載のインターリーブパラメータ演算方法であって、上記ベースシーケンスＳ（ｎ）の初期値をＳ（０）−１と置くことにより、ベースシーケンスＳｍ（ｎ）：Ｓｍ（ｎ）＝Ｓ（ｎ）−１を求めることを特徴とする。
【００２０】
請求項１５に記載の発明は、請求項１４に記載のインターリーブパラメータ演算方法であって、インターリーバの列数に応じて、ベースシーケンスＳ（ｎ）及びＳｍ（ｎ）から適切なベースシーケンスを選択することを特徴とする。
【００２１】
請求項１６に記載の発明であるインターリーブパラメータ演算プログラムは、ターボ符号のインターリーバにおいて行内の入れ替えを行うためのベースシーケンスを求めるために、自然数ｎ、及び２つの素数ｖとｐより、Ｍ（ｎ）＝［ｖ＊ｎ］ ｍｏｄ ｐで定めるＭ（ｎ）を、Ｍ（ｎ−１）＋ｖ＜ｐの場合、Ｍ（ｎ）＝Ｍ（ｎ−１）＋ｖ、Ｍ（ｎ−１）＋ｖ≧ｐの場合、Ｍ（ｎ）＝Ｍ（ｎ−１）＋ｖ−ｐにより計算する演算処理と、上記演算処理により得られた値をメモリに格納する第１の格納処理と、上記格納処理によりメモリに格納された値を読み出す読み出し処理と、上記読み出し処理により読み出された値を並べ替える並べ替え処理と、上記並べ替え処理により並べ替えられた数列をメモリに格納する第２の格納処理とをコンピュータに実行させることを特徴とする。
【００２２】
請求項１７に記載の発明は、請求項１６に記載のインターリーブパラメータ演算プログラムであって、上記並べ替え処理は、ａn+1 ＝Ｍ（ａn ）で定まる数列に従い、メモリに格納された値を並べ替えることを特徴とする。
【００２３】
請求項１８に記載の発明は、請求項１７に記載のインターリーブパラメータ演算プログラムであって、ベースシーケンスＳ（ｎ）：Ｓ（ｎ）＝［ｖ＊Ｓ（ｎ−１）］  ｍｏｄ  ｐと、上記並べ替え処理により得られた数列とを対応させることによりＳ（ｎ）の値を決定する処理を更に有することを特徴とする。
【００２４】
請求項１９に記載の発明は、請求項１８に記載のインターリーブパラメータ演算プログラムであって、上記ベースシーケンスＳ（ｎ）の初期値をＳ（０）−１と置くことにより、ベースシーケンスＳｍ（ｎ）：Ｓｍ（ｎ）＝Ｓ（ｎ）−１を求めることを特徴とする。
【００２５】
請求項２０に記載の発明は、請求項１９に記載のインターリーブパラメータ演算プログラムであって、インターリーバの列数に応じて、ベースシーケンスＳ（ｎ）及びＳｍ（ｎ）から適切なベースシーケンスを選択することを特徴とする。
【発明の効果】
【００２６】
本発明によれば、剰余演算を行うことなくベースシーケンスを求めることができるので、演算量の削減、演算の高速化を実現でき、また剰余計算用の回路を用いる必要がなくなり、回路の縮小化、低コスト化を図ることができる。
【発明を実施するための最良の形態】
【００２７】
以下に本発明の特徴を述べる。
全てのｎ(0,1,…,p-1)に関して、
Ｍ（ｎ）＝［ｖ＊ｎ］  ｍｏｄ  ｐ
を求めることを考える。式変形を見やすくするために、
ａ（ｎ）＝ｆｌｏｏｒ（［ｖ＊ｎ］／ｐ）
とおき、Ｍ（ｎ）を書き換えると、
Ｍ（ｎ）＝［ｖ＊ｎ］  ｍｏｄ  ｐ
＝［ｖ＊［ｎ−１］−ａ（ｎ−１）＊ｐ＋ｖ］  ｍｏｄ  ｐ
＝［Ｍ（ｎ−１）＋ｖ］  ｍｏｄ  ｐ
となる。３ＧＰＰ規定より、ｖ＜ｐなので、
Ｍ（ｎ−１）＋ｖ＜Ｍ（ｎ−１）＋ｐ＜２＊ｐ
である。よって、Ｍ（ｎ）は数１で表され、これをｎ＝０から順に計算することで剰余演算を行わずに求めることができる。
【００２８】
【数１】
2005072843.tif 000003
【００２９】
Ｓ（ｊ）はＭ（ｎ）を使って
Ｓ（ｊ）＝［ｖ＊Ｓ（ｊ−１）］  ｍｏｄ  ｐ
＝Ｍ（Ｓ（ｊ−１））
と表されるため、剰余演算を行わずにＳ（ｊ）を求めることが可能となる。
またＳｍ（ｊ）は
Ｓｍ（０）＝Ｓ（０）−１
であるから、初期値の設定においてＳ（０）−１とすれば、Ｓ（ｊ）と同様に求めることができる。
【００３０】
上記原理に基づき、剰余計算を行うことなくベースシーケンスを求める方法を実現する為の手順及び装置の仕組みを以下に明らかにする。
【実施例１】
【００３１】
図１に構成を示す。
プロセッサ１１はＭ（ｎ）及びＳ（ｊ）の計算を行う。メモリ１２はプロセッサ１１で計算したＭ（ｎ）を格納する。メモリ１４はプロセッサ１１で計算したＳ（ｊ）を格納する。
【００３２】
まずプロセッサ１１においてＭ（ｎ）を計算する。図２を参照して計算の手順を説明する。初期化してＭ（ｎ）を計算し（ステップ２０１〜２０３）、数１に示すように場合分けを行い（ステップ２０４）、Ｍ≧ｐならばＭ−ｐをＭ（ｎ）の値とし（ステップ２０５）、ｎ＜ｐ−１の間は（ステップ２０６／ＹＥＳ）ステップ２０２〜２０５を繰り返す。ｎ＝ｐ−１になったら（ステップ２０６／ＮＯ）、ループを抜ける。Ｍ（ｎ）の計算結果はメモリ１２に格納する。
次にプロセッサ１１は図３に示すように、初期値設定（ステップ３０１）の後、Ｓ（ｊ）＝Ｍ（Ｓ（ｊ−１））に基づいてメモリ１２よりＭ（ｎ）を読み込み（ステップ３０２〜３０５）、メモリ１４に格納する。これによりメモリ１４にＳ（ｊ）が生成される。
【００３３】
ここで、従来の方法と同じく条件分岐を２ステップ、その他の処理を１ステップとすると、１２ステップとなり、ステップの処理量削減効果が得られる。ｐの最大値が２５７なので、最大２０４８ステップの処理量削減が可能となる。
また、Ｓｍ（ｊ）を求める場合も、初期値の設定を変更するだけでよい。すなわち、図２におけるＭ（０）を０とし、図３におけるｎの初期値を０とすることで、ステップ数の増加なく、Ｓｍ（ｊ）を求めることができる。
【００３４】
また、インターリーバの列数Ｃに応じて必要なベースシーケンスがＳ（ｊ）、Ｓ（ｊ）−１と異なるため、必要なベースシーケンス（Ｓｆ（ｊ）とする）は数２で表される。
【００３５】
【数２】
2005072843.tif 000004
【００３６】
このときＳ（ｊ）、Ｓｍ（ｊ）の最大値はｐ＝２５７の時でそれぞれ２５６、２５５であり、２進数で表現した場合、それぞれ９ｂｉｔ、８ｂｉｔ必要になるが、ｐ＝２５７の時は、Ｃ＝ｐ−１となるため、Ｓｆ（ｊ）としては最大８ｂｉｔで収まることとなる。よって、場合に応じてＭ（０）、ｎの初期値を変更してＳｆ（ｊ）を直接求めることで、Ｓ（ｊ）を求めてから場合に応じて−１するのに比べて、メモリ５２及び５４のビット幅を１ｂｉｔ削減することができる。
また、メモリ１２はターボ符号化・復号中は不要となるため、ターボ符号化・復号中はターボ符号器・復号器のメモリを流用し回路規模を削減することも可能である。
【００３７】
本実施例によれば、上記のように処理のステップ数が削減され、プロセッサの動作時間を短縮することができる。更に、プロセッサの動作時間短縮により消費電力を削減することができる。
【実施例２】
【００３８】
図４に構成の概要を示す。
ブロック４１はＭ（ｎ）の計算を行う。メモリ４２はブロック４１で計算したＭ（ｎ）を格納する。ブロック４３はＭ（ｎ）を並び替えてＳ（ｊ）を生成する。メモリ４４はブロック４３で生成したＳ（ｊ）を格納する。
【００３９】
図５にブロック４１又はメモリ４２の詳細なブロック図を示す。
Ｍ（ｎ）格納メモリ５２はＭ（ｎ）の値を格納する。
メモリアドレス生成カウンタ５４はＭ（ｎ）の値を格納するアドレスを生成する。
レジスタ５５はＭ（ｎ）の値を持つ。
定数ブロック５６はｖの値を持つ。
定数ブロック５７は−ｐの値を持つ。
セレクタ５８はＭ（ｎ）−ｐの値で出力値を選択する。
セレクタ５９はＭ（ｎ）の値の格納先を選択する。
【００４０】
図６にメモリ４２及び４４、ブロック４３の詳細なブロック図を示す。
Ｍ（ｎ）格納メモリ６２はＭ（ｎ）の値を格納する。
Ｓ（ｊ）格納メモリ６４はＳ（ｊ）の値を格納する。
セレクタ６５はＭ（ｎ）の読み込み元を選択する。
セレクタ６６はＳ（ｊ）の格納先を選択する。
レジスタ６８はメモリ読み込みアドレスの値を持つ。
カウンタ６９はメモリ格納アドレスの値を持つ。
【００４１】
ブロック４１の基本動作は図２に示したフローと同様である。図５を用いて詳細を説明する。まず、初期状態ではレジスタ５５、カウンタ５４の値Ｍ、ｎは初期値として‘１’、‘０’を保持する。レジスタ５５の値Ｍと定数５６の値ｖを加算し、定数５７の値ｐを減算し、それが負の場合（Ｍ＋ｖ−ｐ＜０）は減算する前の値（Ｍ＋ｖ）を、それ以外の場合（Ｍ＋ｖ−ｐ≧０）は減算した値（Ｍ＋ｖ−ｐ）を出力し、メモリ５２のアドレスｎに格納する。また、次の演算のため出力値をレジスタ５５に格納し、カウンタ５４の値ｎを＋１する。これをカウンタ５４の値ｎがｐ−２になるまで繰り返す。
【００４２】
上記のブロック４１の動作が完了した後、ブロック４３の動作を開始する。基本動作は図３に示したフローと同様である。図６を用いて詳細を説明する。レジスタ６８の値ｎ、カウンタ６９の値ｊは初期値‘１’、‘０’を保持するものとする。メモリ６２のアドレスｎよりＭ（ｎ）を読み出し、メモリ６４のアドレスｊに格納する。また、次のメモリ６８の読み込みアドレスの値としてレジスタ６９にＭ（ｎ）を格納し、カウンタ６９の値ｊを＋１する。これをカウンタ６９の値ｊがｐ−２になるまで繰り返す。
これにより、メモリ４４にＳ（ｊ）が生成される。
【００４３】
実施例１の場合と同様、Ｓｍ（ｊ）を求める場合は図５のレジスタ５５の初期値を‘０’、図６のレジスタ６８の初期値を‘１’とすることで求めることができる。また、実施例１の場合と同様、Ｓｆ（ｊ）を直接求めることでメモリ４２及び４４のサイズを削減可能である。更に、実施例１の場合と同様、メモリ４２はターボ符号器・復号器のメモリを流用することが可能である。
【００４４】
本実施例によれば、剰余演算器を使用しないことで回路規模の削減が可能となる。また、ｖ＊Ｓ（ｊ）の計算を行わず、最大値がｐ＊２未満となるため演算ビット幅の削減が可能である。
【００４５】
また本実施例に示した動作を行うインターリーブパラメータ演算装置を携帯電話等の携帯無線機に使用することにより、携帯無線機本体の縮小化を図ることができる。
【産業上の利用可能性】
【００４６】
本発明により、携帯電話機に用いられるプロセッサの回路が小規模化され、携帯電話機の本体の縮小に繋がる。
【図面の簡単な説明】
【００４７】
【図１】第１の実施例における本発明の構成を示すブロック図である。
【図２】Ｍ（ｎ）を求めるフローチャートである。
【図３】メモリからＭ（ｎ）を読み込む手順を示すフローチャートである。
【図４】第２の実施例における本発明の構成を示すブロック図である。
【図５】Ｍ（ｎ）Calculatorの詳細なブロック図である。
【図６】Permutation Unitの詳細なブロック図である。
【図７】従来の方法に基づいてベースシーケンスＳ（ｊ）を求めるフローチャートである。
【符号の説明】
【００４８】
１１    プロセッサ
１２    Ｍ（ｎ）メモリ
１３    Ｓ（ｊ）メモリ
【図１】
2005072843.tif 000005
【図２】
2005072843.tif 000006
【図３】
2005072843.tif 000007
【図４】
2005072843.tif 000008
【図５】
2005072843.tif 000009
【図６】
2005072843.tif 000010
【図７】
2005072843.tif 000011