(57)【特許請求の範囲】
【請求項１】
ミッドアンブルフィールドにより分離された第１と第２のデータフィールドを有する時分割複信（ＴＤＤ）バーストであって、受信した該バーストの前記第２のデータフィールド上のミッドアンブル干渉の影響を除去するための、ＴＤＤバースト内のミッドアンブルの除去方法であって、
ａ）  前記バーストを受信し、該受信したバーストを格納するステップと、
ｂ）  前記受信したバーストのミッドアンブル部分からチャネル推定を割出しするステップと、
ｃ）  前記チャネル推定を使用して、チャネル応答とミッドアンブルシフト数を取得するステップと、
ｄ）  前記ミッドアンブルシフト数をミッドアンブルコードに変換するステップと、
ｅ）  前記受信したミッドアンブルフィールドのテールの所与の数のチップに対応する第１のミッドアンブル干渉を前記第２のデータフィールド内へ与えるように、前記チャネル応答とミッドアンブルコードの関連する対に基づいて第１のミッドアンブル干渉シーケンスを構築し、かつ前記データバーストの前記第２のデータフィールドから前記第１のミッドアンブル干渉を減算することで、前記第２のデータフィールド上のミッドアンブル干渉の影響を除去するステップと、
を含むＴＤＤバースト内のミッドアンブルの除去方法であって、
さらに
g)  第１のシフトレジスタと第２のシフトレジスタとからなる、入力段と出力段を含む１つの多段シフトレジスタに前記ミッドアンブルフィールドからのミッドアンブルを格納するステップと、
h)  前記第２のシフトレジスタの前記出力段の前記ミッドアンブルの実数部と虚数部を各々第１と第２のマルチプレクサへ加え、それにより各マルチプレクサが、該各マルチプレクサに加えられた前記チャネル応答と前記実数部と虚数部とを個々に掛け合わせるステップと、
i）  前記第１と第２のマルチプレクサの出力を各々第１と第２のアキュムレータ（累算器）へ転送して前記データフィールドの干渉値ごとに塁算するステップと、
j）  前記第１のシフトレジスタのコンテンツを前記第２のシフトレジスタへ進めるステップと、
k）  前記第１と第２のマルチプレクサの出力に対して前記第１と第２のアキュムレータのコンテンツを前記ミッドアンプルのビット値に応じてそれぞれ加算または減算するステップと、
ｌ）  前記（ｈ）、（i）、（j）および（k）のステップを繰り返すステップと
を含むことを特徴とする方法。
【請求項２】
ｆ）  前記ミッドアンブルフィールド上へはみ出している前記第１のデータのコンボリューションテールに干渉するミッドファイルフィールドの所与の部分に対応する第２のミッドアンブル干渉を与えるように、前記チャネル応答とミッドアンブルコードの関連する対に基づいて第２のミッドアンブル干渉シーケンスを構築し、かつ前記ミッドアンブルフィールドの前記所与の部分から前記第２のミッドアンブル干渉を減算することで、前記ミッドアンブル上の前記第１のデータフィールドの前記コンボリューションテールの影響を除去するステップ
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記ステップ（ｆ）と（e）で取得される前記第２のミッドアンブル干渉と前記第１のミッドアンブル干渉は、前記ステップ（ａ）の実行の間に一時的に格納される受信されたデータバーストから、連続的に、差し引かれることを特徴とする請求項２に記載の方法。
【請求項４】
前記第１のシフトレジスタに最初にあった前記ミッドアンブルが前記第２のシフトレジスタ内の所与の位置に到達するまで、前記（h）から（ｌ）までのステップが繰り返されることを特徴とする請求項１に記載の方法。
【請求項５】
前記第２のデータフィールド上のミッドアンブル干渉の所与の数のチップから前記アキュムレータ内の前記実数部分および虚数部分を差し引くことを特徴とする請求項１に記載の方法。
【請求項６】
前記アキュムレータの前記実数部分および虚数部分が、データバーストのデータフィールドの所与の数のチップから差し引かれることを特徴とする請求項１に記載の方法。
【請求項７】
ミッドアンブルを含んでいるミッドアンブルフィールドにより分離された第１と第２のデータフィールドを有する時分割複信（ＴＤＤ）バーストにおける、前記TDDバースト上のミッドアンブル干渉の影響を除去するためのミッドアンブル除去装置であって、
前記受信された前記ＴＤＤバーストを記憶する記憶装置と、
前記ＴＤＤバーストに含まれる前記ミッドアンブルを多段シフトレジスタに転送するユニットと、
前記多段シフトレジスタの各段での前記ミッドアンブルの実数と虚数のコンテンツを関連のマルチプレクサ対に加えるユニットであって、該各マルチプレクサ対は第１と第２のマルチプレクサを含み、それにより各マルチプレクサ対の前記第１と第２のマルチプレクサは、該第１と第２のマルチプレクサに加えられたチャネル応答の実数と虚数と前記各段での前記実数と虚数のコンテンツとを個々に掛け合わせる、ユニットと、
干渉値ごとに前記第１と第２マルチプレクサの出力を別々に累算する第１と第２のアキュムレータと、
前記第１と第２のアキュムレータで累算された合計を別々に全て合算する第１と第２の加算ユニットと、
前記第１と第２の加算ユニットで得られた各合算値を前記ミッドアンプルフィールドの最初の所与の数のチップと前記第２のデータフールドの最初の所与の数のチップから別々に差し引くことにより、前記ミッドアンブル干渉の影響を除去したデータバーストを出力するユニットとを具備し、さらに
前記多段シフトレジスタの各段の前記コンテンツを所与の方向にシフトして、各上流の段のコンテンツを次の下流の段に関連するマルチプレクサに進めるシフト回路を具備することを特徴とする装置。
【請求項８】
ミッドアンブルを含んでいるミッドアンブルフィールドにより分離された第１と第２のデータフィールドを有する時分割複信（ＴＤＤ）バーストにおける、前記TDDバースト上のミッドアンブル干渉の影響を除去するためのミッドアンブル除去装置であって、
前記受信された前記ＴＤＤバーストを記憶する記憶装置と、
前記ＴＤＤバーストに含まれる前記ミッドアンブルを多段シフトレジスタに転送するユニットと、
前記多段シフトレジスタの各段での前記ミッドアンブルの実数と虚数のコンテンツを関連のマルチプレクサ対に加えるユニットであって、該各マルチプレクサ対は第１と第２のマルチプレクサを含み、それにより各マルチプレクサ対の前記第１と第２のマルチプレクサは、該第１と第２のマルチプレクサに加えられたチャンネル応答の実数と虚数と前記各段での前記実数と虚数のコンテンツとを個々に掛け合わせる、ユニットと、
干渉値ごとに前記第１と第２マルチプレクサの出力を別々に累算する第１と第２のアキュムレータと、
前記第１と第２のアキュムレータで累算された合計を別々に全て合算する第１と第２の加算ユニットと、
前記第１と第２の加算ユニットで得られた各合算値を前記ミッドアンプルフィールドの最初の所与の数のチップと前記第２のデータフールドの最初の所与の数のチップから別々に差し引くことにより、前記ミッドアンブル干渉の影響を除去したデータバーストを出力するユニットとを具備し、さらに
前記第１と第２のアキュムレータの全てで累算された合計を合算する第１と第２の加算ユニットは、
各々が前記マルチプレクサ対に関連付けられた第１と第２の加算／減算器であって、それぞれ該第１と第２の加算／減算器の各々に関連付けられたミッドアンブルの値が第１のバイナリ状態にあるときには、前記マルチプレクサ対の出力を前記関連する第１と第２のアキュムレータの出力のコンテンツにそれぞれ加算し、前記ミッドアンブルの値が第２のバイナリ状態にあるときには、前記マルチプレクサの各対の出力を前記関連する第１と第２のアキュムレータの出力のコンテンツから減算する、第１と第２の加算／減算器と、
前記第１と第２のアキュムレータのそれぞれの２つの出力のうちの一つを選択して前記第１と第２の加算／減算器へ戻すための第１と第２の結合マルチプレクサと
を具備することを特徴とする装置。
【請求項９】
除去操作の開始に応答して前記第１と第２のアキュムレータを初期化するデバイスをさらに含むことを特徴とする請求項８に記載の装置。
【請求項１０】
第１および第２のデータフィールドと複数ビットのミッドアンブルとから成る受信したデータバーストからミッドアンブル干渉を除去するための装置であって、該装置は、
複数の処理エレメント（ＰＥ）であって、各ＰＥは、各チャネル応答と各ミッドアンブルビットとを結合する結合器と、各該結合器の出力を累算するアキュムレータとを有し、
該チャネル応答は実数成分と虚数成分からなるものと、
前記データバーストからチャネル応答とミッドアンブルとを求める回路と、
前記チャネル応答を各ＰＥに連結する回路と、
前記ミッドアンブルの各ビットを各ＰＥに続けざまに連結する回路と、
前記アキュムレータ内の各値を前記ミッドアンブルと第２のデータフィールドからそれぞれ取り除く回路とを具備し、
各前記ＰＥは、さらに、
前記結合器に含まれる第１と第２の加算／減算器であって、その各々は、前記ＰＥに連結されたミッドアンブルビットのバイナリ状態に応じて該加算／減算器に提供される所与の値に関連するチャネル応答をそれぞれ加算、あるいは該所与の値から関連するチャネル応答をそれぞれ減算してその出力を前記アキュムレータへ出力する第１と第２の加算／減算器と、
そのそれぞれが、関連する前記アキュムレータのコンテンツを選択的に送り出すことで、該コンテンツを前記所与の値として関連する前記加算／減算器に提供する複数のマルチプレクサと、
前記アキュムレータを初期化して除去操作に先立って初期の所与の値を与える回路と
を具備することを特徴とする装置。
【請求項１１】
各第１および第２の加算／減算器は、それぞれ実数成分および虚数成分を累算することを特徴とする請求項１０に記載の装置。
【請求項１２】
各加算／減算器は、前記第１および第２のデータフィールドからそれぞれに相殺されるべき干渉値を抜粋して処理することを特徴とする請求項１０に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はミッドアンブル（midamble）の除去に関する。より詳細には、本発明は、受信したＴＤＤ（時間分割デュプレックス）バーストのデータフィールド１およびデータフィールド２のミッドアンブルの除去を可能にするアルゴリズムを使用してミッドアンブルの除去を行う方法および装置に関する。
【背景技術】
【０００２】
図１に示すように、バーストは、（Ｗ−１）＊Ｔｃの時間遅延スプレッドを有するマルチパスチャネルを介して受信される。この場合Ｗはチップ数を表し、Ｔｃはチップの持続時間を表す。時間（遅延）−スプレッドチャネルによって、チップ間干渉が引き起こされ、それによって受信したバースト内の各フィールドの重畳テール（convolution tail）が隣接するフィールド上に突出する。例えば、データフィールド２の最初のＷ−１個のチップに対するミッドアンブルのチップ間干渉は、干渉の救済策が考慮されていない限り、最初のＷ−１個のチップに対応する記号のデータ推定手順の性能を低下させる可能性がある。このことは、送信電力制御（ＴＰＣ）コマンド（アップリンク（ＵＬ）においてのみ）およびトランスポート・フォーマット・コンビネーション・インディケーション（transport format combination indicator：ＴＦＣＩ）のビットがミッドアンブルの直後に配置されており、任意のチャネル符号化方式で保護されていないため、特に当てはまり、データ推定アルゴリズム候補のいずれかの性能を高めるために使用することができるスタンドアロン（独立型）手順であるミッドアンブル除去手順を使用してＴＤＤバーストの両方のデータ部分のデータ推定を向上させることによってミッドアンブルの干渉をなくすことが望ましい。
【０００３】
ミッドアンブル除去（以下ＭＤＣとも呼ぶ）は、これもまた図１に示すように、ミッドアンブルフィールドの最初の（Ｗ−１）個のチップへのデータフィールド１の重畳テールからミッドアンブルの干渉を取り除くために適用することもできる。またこのテール（尾部）は、マルチパスチャネルの遅延スプレッドに起因し、それがデータフィールド１のデータ推定（data estimate）に含まれることによって、測定値（observed data）がより多くなり、マルチユーザ検出（ＭＵＤ）におけるＡＨＡ行列の正確なブロックのテプリッツ(Toeplitz)構造が得られる。
【０００４】
ミッドアンブル除去は、以下からミッドアンブルの影響を取り除くために使用される。
【０００５】
１つは、ミッドアンブルフィールドの最初のＷ−１個のチップであって、これによってミッドアンブルフィールドに突出する第１のデータフィールドの重畳テールのよりよいモデリング（数理的モデル化）、さらに正確なブロックのテプリッツとなるＡＨＡ行列のモデリングが許容される。もう１つはデータフィールド２の最初のＷ−１個のチップである。必要なハードウェアおよび処理時間を大きく低減する、ミッドアンブル干渉の計算のための技術が提供される。
【０００６】
本発明は添付の図面から理解できる。図中、同様の要素を同様の番号によって示している。
【発明を実施するための最良の形態】
【０００７】
図２は、基地局（ＢＳ）で使用されるＴＤＤバーストの復調のためのデータ復調回路１０を示すブロック図である。回路１０は、バーストのミッドアンブル部分を受信するＳｔｅｉｎｅｒチャネル推定器１２を含む。ミッドアンブル除去回路１４は、データ部分、ミッドアンブル、およびガードインターバルを含むＴＤＤバーストを受信する。チャネル推定器１２の出力は、ミッドアンブル除去回路に加えられる１６ａのチャネル応答、および同様にミッドアンブル除去回路１４に加えられる１６ｂのミッドアンブルシフト番号を生成する後処理およびミッドアンブル検出回路１６に加えられる。
【０００８】
１６ｂのミッドアンブルシフト番号はチャネル化コード（channelization code）を割出しする決定回路１８にも適用される。チャネル化コードは、１８ａで提供され、次いでマルチユーザ検出器（ＭＵＤ）２０に適用される。ミッドアンブル除去回路１４は、本明細書で上述した入力を使用して、マルチユーザ検出器回路２０に提供される１４ａのミッドアンブル除去済みバースを生成する。
【０００９】
明らかにわかるように、ミッドアンブル除去は、ＭＵＤ処理の前に実施される。ミッドアンブル除去手順は最初に、ミッドアンブルフィールドで受信されたミッドアンブルの最初のＷ−１個のチップ、およびデータフィールド２に広がるミッドアンブルの最初のＷ−１個のチップの推定をそれぞれ構築する。受信されたミッドアンブルの推定は、チャネルの推定を取得するために既知のアルゴリズムを使用するチャネル推定器１２によって提供されるチャネル応答、および既知のアルゴリズムを使用してコード決定回路１８によってチャネル化コードを導出するために使用されるミッドアンブルシフト番号を導出するために同様に既知のアルゴリズムを使用するミッドアンブル検出ブロック１６から取得されたミッドアンブルシフト番号に基づいて導出される。
【００１０】
受信されたバーストは、図４のアルゴリズム３０と協働するバッファ３２に格納され、例えば図２のミッドアンブル除去回路１４によって実行される。受信されたバースト内の対応する部分からのミッドアンブル干渉が取り除かれる。その結果得られたバーストは、図２に示すＭＵＤ２０に送り込まれる。ミッドアンブル除去に使用される概念は、検出回路１６から導出された、取得されたミッドアンブルシフト番号、およびチャネル応答によるミッドアンブルの干渉の推定であって、推定された干渉を使用して、受信されたバーストから有効なミッドアンブル干渉が除去される。
【００１１】
ミッドアンブル除去は、受信されたオーバーサンプリングされたシーケンス（over-sampled sequence）の偶数および奇数のサンプルに別々に適用される。
【００１２】
図３は、ユーザ装置（ＵＥ）によって使用されるデータ復調回路１１を示す。図中、ミッドアンブル除去ブロックを含めて、図２と図３との間の同様の要素は同様の数字で示しており、図３は、除去回路１４の出力１４ａがマルチユーザ検出回路２０およびブラインドコード検出回路１８に結合され、チャネル化コードに加えて、検出されたミッドアンブルシフト１８ｂがＭＵＤ２０に提供されるという点で図２と異なる。
【００１３】
本発明の除去回路において使用されるデータは、以下を含む。
【００１４】
データ入力は、両方のデータ部分、ミッドアンブルおよびガード期間を含む
【００１５】
【数１】
0004515252.tif 000002
【００１６】
で示される受信したデータバーストを含む。
【００１７】
タイプ：複素数値（complex value）のベクトル
長さ：２５６０チップ
範囲：無制限
Ｋｍセットの複素数チャネル係数（complex channel coefficient）。
【００１８】
【数２】
0004515252.tif 000003
【００１９】
タイプ：複素数値のベクトル
長さ：Ｋｍ×Ｗ
範囲：無制限
Ｋｍは、後処理およびミッドアンブル検出ブロック１６（図２参照）のミッドアンブル検出アルゴリズムによって検出された異なるミッドアンブルの数である。Ｗは、各チャネル応答の長さである。
【００２０】
Ｋｍ個のミッドアンブルシフト番号：各番号を使用して対応するミッドアンブルコードが生成される。
【００２１】
タイプ：整数のベクトル
長さ：１×Ｋｍ
範囲：１からＫｍ
除去回路１４の部分を形成するマイクロプロセッサ（図示せず）は、チャネルインパルス応答とミッドアンブルシフト（ミッドアンブルコードと等しい）との間の関連付けを提供し、これは、どのチャネル応答がどのミッドアンブルシフト（コード）に属するかを示す。
【００２２】
データ出力は、ミッドアンブル除去済みデータバーストを含む。
【００２３】
タイプ：複素数値のベクトル
長さ：２５６０チップ
範囲：無制限
アルゴリズムのパラメータは、次のとおりである。
【００２４】
最大ミッドアンブルシフトＫ
各ミッドアンブルコードの長さＬ
使用中のバーストタイプ
チャネル応答の長さＷ。ここでは、バーストタイプおよび最大ミッドアンブルシフトＫに応じてＷ＝２８、３２、５７、６４または１１４となる。
【００２５】
表１は、上記のパラメータの値を示している。
【００２６】
【表１】
0004515252.tif 000004
【００２７】
図４は、ミッドアンブル除去アルゴリズムを示す。ミッドアンブルの干渉のデータフィールド１およびデータフィールド２のデータ推定への影響を取り除くことができるように、受信したデータバーストは、バッファメモリ３２に格納される。同じ時間スロット内の長さＬのアクティブなミッドアンブルコードは、３４で適用された入力された検出済みミッドアンブルシフト番号によって導出される。ミッドアンブルコードは、従来のアルゴリズムを使用して導出される。次いで２つの受信されたミッドアンブル干渉シーケンスが、チャネル応答およびアクティブなミッドアンブルコードのＫｍ個の関連の対に基づいて３６、３８で構築される。第１のミッドアンブル干渉は、ミッドアンブルフィールドで受信された最初のＷ−１個のチップのミッドアンブルに対応し、図１で上述したように、ミッドアンブルフィールドに突出しているデータフィールド１の重畳テールに干渉する。３６ａに示した長さＷ−１個の受信された（Ｗ−１チップ）ミッドアンブルシーケンス
【００２８】
【数３】
0004515252.tif 000005
【００２９】
は、例えば次のように、各チャネル応答を対応するミッドアンブルコードで畳み込むことによってモデル化することができる。
【００３０】
【数４】
0004515252.tif 000006
【００３１】
最初のＷ−１個のサンプルを取ると、次のようになる。
【００３２】
【数５】
0004515252.tif 000007
【００３３】
式中、
【００３４】
【数６】
0004515252.tif 000008
【００３５】
は、ミッドアンブルシフトｋに関連するミッドアンブル
【００３６】
【数７】
0004515252.tif 000009
【００３７】
のｉ番目の要素を表す。
【００３８】
【数８】
0004515252.tif 000010
【００３９】
であることに留意されたい。
【００４０】
【数９】
0004515252.tif 000011
【００４１】
は、重畳演算子（convolution operator）を示す。言い換えれば、受信したミッドアンブルシーケンスは、アクティブなミッドアンブルシーケンスとチャネル応答との間のＫｍ個の重畳の重なりである。式（１）は、次のように行列形式で書き換えることができる。
【００４２】
【数１０】
0004515252.tif 000012
【００４３】
式中、
【００４４】
【数１１】
0004515252.tif 000013
【００４５】
は、行チャネル応答ベクトルの転置
【００４６】
【数１２】
0004515252.tif 000014
【００４７】
を表し、
【００４８】
【数１３】
0004515252.tif 000015
【００４９】
である。上記の式のＬＨＳにおけるＫｍ個のすべてのミッドアンブルのいくつかのミッドアンブル要素から成る行列は、サイズ（Ｗ−１）Ｗ・Ｋｍのものである。例えばｉ番目の行のＬＨＳは、受信したミッドアンブルのｉ番目のチップの時刻に評価されたＫｍ個の重畳の合計を表す。ミッドアンブル行列の各行のｋ番目の区分は、ミッドアンブルの干渉の一因となる
【００５０】
【数１４】
0004515252.tif 000016
【００５１】
の部分からなる。さらに、
【００５２】
【数１５】
0004515252.tif 000017
【００５３】
はサイズＫｍＷ×１のものであり、結合チャネル推定（joint channel estimate）を表す。
【００５４】
第２の受信したミッドアンブル干渉は、データフィールド２内の受信したミッドアンブルテールの最初のＷ−１個のチップに対応し、テールはチャネルの遅延スプレッドに起因し、受信したデータフィールド２の最初のＷ−１個のチップを破損させる（図１参照）。
【００５５】
ミッドアンブル干渉を構築する手順は、上記のデータフィールド１のものに似ている。しかしこの場合、ミッドアンブルフィールドの重畳テールは、データフィールド２に広がる。データフィールド２の最初のＷ−１個のチップへのミッドアンブル干渉
【００５６】
【数１６】
0004515252.tif 000018
【００５７】
は、次いで次のように、行列形式でモデル化することができる。
【００５８】
【数１７】
0004515252.tif 000019
【００５９】
式（２）および式（３）でそれぞれ２つのミッドアンブル干渉シーケンスをモデリングした後、式（２）は、４０において、受信した格納済みデータバースト
【００６０】
【数１８】
0004515252.tif 000020
【００６１】
内のミッドアンブルフィールドの最初のＷ−１個のチップから除去される。この場合、ノイズがない状態で、最初のＷ−１個のチップのそれぞれは、図１に示すように、対応するミッドアンブルチップおよびデータフィールド１の重畳テールから成る。次にミッドアンブル干渉のデータフィールド２への影響は、４２で
【００６２】
【数１９】
0004515252.tif 000021
【００６３】
内のデータフィールド２の最初のＷ−１個のチップから式（３）を差し引くことによって取り除かれる。その結果得られたデータバーストは、次いでデータ推定がミッドアンブル干渉によって影響を受けないバーストであるとみなされる。
【００６４】
４２ａの出力は、図２を参照すると、１８ａの出力とともにＭＵＤ２０に加えられて、出力２０ａで示した推定された記号シーケンスが導出される。
【００６５】
本発明の技術の実行は、チャネル推定およびミッドアンブル検出アルゴリズムの精度に依存している。完全に知られているチャネル応答では、この実施によって、結果として生じる信号対雑音比の低下は０．１ｄｂ未満となるはずである。
【００６６】
ミッドアンブル除去処理（図３の回路１４）は、データの復調（ＭＵＤ回路２０での）の前に完了するため、ミッドアンブル除去の処理時間は、ＭＵＤ関連の待ち時間に直接影響を与える。送信電力制御（ＴＰＣ）待ち時間（latency）、および特に生のＴＰＣビットの抽出時の待ち時間を考慮に入れると、ミッドアンブル除去処理の待ち時間は、８０≒０．０３タイムスロット未満とすべきである。
【００６７】
処理要素（ＰＥ）加算器は、図５の「乗算器」１０８によって示すように、ミッドアンブルおよびチャネル応答の「乗算」を行う。各ＰＥは、除去ベクトルごとに記憶レジスタ（すなわち累算器）１０４、１０６を備えている。マルチプレクサ１１０は、本明細書でこれからより十分説明するように適切なミッドアンブル出力の除去を選択する。
【００６８】
以下は、システム設計の高レベルの説明である。図７は、ミッドアンブル除去ブロック７２がシステム７０の他の構成要素とどのようにインターフェイスをとるかを示している。処理中、ミッドアンブル除去ブロック７２は、他のプロセスからの競合なしにチャネル推定ＲＡＭ７４、７６に完全にアクセスすることができる。チャネルの推定は、２つのＲＡＭ７４および７６に分けられる実数成分および虚数成分を含む１６ビットの複素数値から成る。
【００６９】
ミッドアンブルサーバ７８は、ミッドアンブル番号およびミッドアンブルシフトに基づいて１６ビットのミッドアンブルシーケンスを提供する。各シーケンスは、１６の１ビット値に対応する。
【００７０】
チャネル推定（ＣＨＥＳＴ）８０は、ミッドアンブル除去機能を制御する構成パラメータを提供する。また、ＣＨＥＳＴは、ミッドアンブル除去処理を開始する制御信号を提供する。
【００７１】
計算された干渉シーケンスは、ＲＡＭ８２−８４および８６−８８の２対に格納される。各対は、実数成分８２、８６および虚数成分８４、８８から成る。１対はデータフィールド１の干渉結果のためのものであり、第２の対はデータフィールド２の干渉結果のためのものである。
【００７２】
上述した式２および式３から、処理が大きい行列乗算から成ることがわかる。左側の行列のサイズは、（Ｗ−１）×Ｗ＊Ｋｍである。右側ベクトルのサイズは、Ｗ＊Ｋｍ×１である。乗算の合計回数は（Ｗ−１）＊Ｗ＊Ｋｍである。各ミッドアンブルの例のサイズは１ビットであるため、乗算器の実施は、マルチプレクサによって簡略化し、実施することができる。
【００７３】
表１に基づいて、最悪の場合の乗算回数はＷ＝５７およびＫｍ＝８のときに起こり、結果として合計２５，５３６回の乗算が行われる。こうした乗算を連続的に行うことは受け入れがたい。というのは、合計クロックサイクル数が乗算の回数に等しいからである。代わりに、処理要素（ＰＥ）を各行に割り当てることによって複数行の乗算を並行して行う必要がある。各行のＰＥは、乗算機能および累算機能を使用して便利に実施することができる。したがって合計処理時間は、（Ｗ−１）＊Ｗ＊Ｋｍ／ＮＰＥとなる。この場合ＮＰＥはＰＥの数である。
【００７４】
ＮＰＥ＝行数＝（Ｗ−１）であるときに処理時間が最も節約される。最悪の場合の処理時間は、この場合、Ｗ＊Ｋｍである。これは、Ｗ＝２９およびＫｍ＝１６のときに起こり、４６４サイクルとなる。処理時間要件がそれを許容する場合、ＰＥの数は、行の総数未満とすることができる。ＰＥは、処理時間の一部の１組の行に割り振り、次いで処理全体の次の部分の異なる組の行に再度割り振ることができる。
【００７５】
上述した手法は、式（２）および（３）のそれぞれが別々に処理され、ハードウェアを式ごとに複写する必要があることを前提としている。式２および式３から、第１の被乗数行列は上三角行列であり、第２の行列は下三角行列であることがわかる。２つの行列の間に重なりがないため、それらを単一の行列に一体化することができる。このことは、２つの式の処理を１つのハードウェアプロセスに一体化することを許可する。図８は、一体化された処理の図式表現である。
【００７６】
追加のハードウェアは、各ＰＥ内の１つではなく２つの累算器と、付属の制御ロジックとから成る。各ＰＥは、所与の行にわたって連続的に乗算および累算を行うことに留意されたい。したがって所与のクロックサイクル中、２つの累算器のうちの一方のみがアクティブであり、上三角行列乗算または下三角行列乗算のいずれかの結果を累算する。行の終わりまでに、累算器は両方の行列乗算の結果を有する。
【００７７】
この機能を実施するのに必要なハードウェアの量は、処理に使用可能な時間量、および計算に使用されるビット幅に直接関連している。処理時間およびビット幅の要件は固定のものである必要はないので、本明細書の設計は、パラメータ化されるように選択された。
【００７８】
パラメータ化は、異なる２つの側面で行われる。まず、ビット幅がパラメータ化され、このことは、設計の容易なスケーリングを許可する。第２に、並列式に使用されるハードウェアの量もパラメータである。設計は、ＰＥと呼ばれる基本的な処理要素に基づいている。必要なＰＥの数は、その設計がどの程度並列である必要があるかによって決まる。したがって設計でのＰＥの数はパラメータ化される。
【００７９】
式２および式３から、行列の列ｉ＋１は列ｉを１行だけシフトダウンしたものに等しいことに留意されたい。このことは、シフトレジスタ９４（図９参照）を使用してミッドアンブルデータのＰＥへのフローを制御する簡単なアーキテクチャを許可する。図９は、ミッドアンブル除去設計のブロック図である。
【００８０】
図９では、上部シフトレジスタ９２および下部シフトレジスタ９４の２つのシフトレジスタがある。下部シフトレジスタ９４は、ミッドアンブルデータを処理要素ＰＥのそれぞれに提供する。上部シフトレジスタは、下部レジスタ９４に入れるデータを提供する。タイミングおよび制御は、制御回路１０２によって行われる。
【００８１】
処理の開始時に、下部レジスタ９４は、データフィールド１の計算（下三角行列−図８参照）に必要なすべてのデータを含む。上部レジスタは、データフィールド２の計算（上三角行列）のためのデータを徐々に提供する。処理の終了時に、下部シフトレジスタ９４は、データフィールド２に必要なデータのすべてを含む。
【００８２】
上部シフトレジスタ９２のサイズは、１６ビットで固定される。下部シフトレジスタ９４のサイズは、ＰＥの数に等しく、したがってパラメータ化される。パラメータは、１６ビットの倍数をとることができる。シフトレジスタの各段は、それぞれ減算および加算の演算を制御する１バイナリビット（０または１）を含む。
【００８３】
各シフトレジスタは、処理がパイプライン化されるのを許可する１組のキューレジスタＲを有する。キューレジスタＲには、ＲＡＭ９６によって次のアクティブなミッドアンブルシフトからデータがロードされ、ＰＥは、現在のミッドアンブルシフトから作業中のシフトレジスタ９４に格納されたデータを処理する。
【００８４】
ミッドアンブルＲＡＭ９６から取り出されたデータは、シフトレジスタ９２、９４に格納される前に、１６ビット長のワードに詰め込まれることに留意されたい。
【００８５】
上述したように、図５は、ミッドアンブル除去設計内のＰＥの高レベルの概略図である。２つの累算器１０４、１０６があるが、一部のハードウェアは、２つの処理の間で共有されることに留意されたい。ＰＥは１０８でチャネル応答ベクトルにミッドアンブル行を「掛ける」。出力セレクタは、累算器１０４、１０６の一方の内容を選択するようにマルチプレクサ１１０を制御する。
【００８６】
チャネル推定およびミッドアンブルビットは複素数値のサンプル（complex-valued sample）であるため、ＰＥは、複素演算を行う必要がある。しかし、完全乗数は必要ない。というのは、ミッドアンブル値は、単一のビットから成るからである。
【００８７】
３ＧＰＰ  ＴＳ  ２５．２２１によれば、すべてのｉ＝１，．．．，Ｐについてｍｊ＝（ｊ）ｉ＊ｍｉである。
【００８８】
したがって、ミッドアンブルサンプルは、次の４つの考え得る値のうちの１つを表す。
【００８９】
１＋０ｊ
０＋１ｊ
−１＋０ｊ
０−１ｊ
チャネル推定は、マルチビット複素数値Ａ＋Ｂｊから成る。
【００９０】
したがって、チャネル応答にミッドアンブルサンプルを掛けることによって次の４つの考え得る値のうちの１つが得られる。
【００９１】
（Ａ＋Ｂｊ）（１＋０ｊ）＝Ａ＋Ｂｊ
（Ａ＋Ｂｊ）（０＋１ｊ）＝−Ｂ＋Ａｊ
（Ａ＋Ｂｊ）（−１＋０ｊ）＝Ａ−Ｂｊ
（Ａ＋Ｂｊ）（０−１ｊ）＝Ｂ−Ａｊ
【００９２】
このことから、乗算は、図６に示すように、１対のマルチプレクサ１２０、１２２、および１対の加算器／減算器１２４、１２６で実施できることがわかる。１２８のミッドアンブルビット値ｍｉは、入力の記号（すなわちサンプルを追加するか減算するか）を制御する。１３０の２ビット位相は、入力がＰＥにどのように多重化されるかを制御する。ＰＥは、１３２で初期化され、マルチプレクサ１３１を介してゼロを累算器１３４、１３６にロードし、図４の３６および３８で示すように、干渉値ごとに１３４ａおよび１３４ｂの実数部ＲＥＡＬ１およびＲＥＡＬ２、および１３６ａおよび１３６ｂの虚数部Ｉｍａｇ．１およびＩｍａｇ．２がそれぞれ累算される。マルチプレクサ１３８および１４０は、それぞれ値Ｒｅａｌ１、Ｒｅａｌ２、およびＩｍａｇｅ．１、Ｉｍａｇｅ．２のうちの１つを選択する。マルチプレクサ１３８、１４０の出力の各値は、次の加算／減算演算のために加算器／減算器１２４、１２６に戻される。
【００９３】
図１０は、行列乗算プロセスを図示しており、ミッドアンブル除去設計での処理要素の役割を示している。各ＰＥは、所与の行に割り当てられる。各行は、上記の式の下三角部分および上三角部分からのデータを含むことに留意されたい。したがって各ＰＥの累算器はそれぞれ、行ごとの処理サイクルの終わりにデータフィールド１およびデータフィールド２の干渉値を含む。
【００９４】
図８の考察から、上行列Ｕの第１の行のＰＥは、一番左の列に関連するミッドアンブルのＰＥでは出力を提供せず、下行列Ｌの第１の行の一番左の列のＰＥでは出力があることがわかる。第１の行に割り当てられたＰＥは、下行列Ｌの残りのすべての列について出力を提供し、上行列Ｕでは出力を提供しない。
【００９５】
行ごとに、１つ多い列位置は行列Ｕの出力をもたらし、１つ少ない列位置は行列Ｌの出力をもたらすというパターンは、最後の行で行列Ｌの出力がなくなり、最後の行のすべての列が行列Ｕの出力をもたらすまで、その後の行ごとに繰り返される。
【００９６】
ＭＤＣの所与の実施では、ＰＥの数は、必要な計算数より少ない可能性がある。この場合、行の総数は、そのサイズがＰＥの数であるセクションにさらに分割される。これを図１３に示している。各処理ステップの終わりに、次のプロセスステップが開始する前に出力データを書き出す必要がある。処理ステップは、すべてのデータが処理されるまで繰り返される。最後の処理ステップでは、総数未満のＰＥを使用することもあることに留意されたい。
【００９７】
表２は、所与のミッドアンブルシフトでの式２および式３の一体化から導出された一体化されたミッドアンブル行列を示している。
【００９８】
【表２】
0004515252.tif 000022
【００９９】
所与のミッドアンブルシフトに必要なミッドアンブル要素の総数は、０からＷ−２およびＬ−（Ｗ−１）からＬ−１から成ることに留意されたい。また、ミッドアンブルは反復するため、Ｌ−１および０は連続していることにも留意されたい。したがって、必要な全要素は、Ｌ−（Ｗ−１）からＷ−２までの連続したリストから成る。ＰＥが有限であるためにすべての行のサブセットが処理されるとき、開始点および終了点のみが変更されるため、必要な要素のリストは連続したままである。したがって、ミッドアンブルサンプルの取り出しは、開始点を設定し、必要なすべてのデータが取り出されるまで、データを連続的に取り出すことによって簡略化することができる。これは、ミッドアンブルパッカー制御ロジック（midamble packer control logic）を簡略化する。  
【０１００】
実際には、ミッドアンブル除去は、終了点を設定し、サンプルを逆順で取り出す。これは、下三角行列が最初に処理されるからである。
【０１０１】
特定のミッドアンブルシフトにおいて、上記に列挙したインデックスはすべて、基本のミッドアンブルオフセットと関連があることに留意されたい。絶対的なミッドアンブルインデックスについて以下で説明する。
【０１０２】
図１２は、ミッドアンブル除去がバーストタイプ２についてのミッドアンブルサンプルをどのように計算するかの例を示している。上述したように、ＭＤＣは、処理の開始時に、ミッドアンブルサーバに（長さＰの）基本の全ミッドアンブルシーケンスを要求し、それをローカルＲＡＭに格納する。特定のユーザのミッドアンブルは、周期的にシフトされたバーションの基本のミッドアンブルのＬ個のサンプルから成る。
【０１０３】
ＭＤＣは、周期的にミッドアンブルＲＡＭにアドレス指定することによってシフトされたミッドアンブルシーケンスを作成する。開始点は、ミッドアンブルシフト番号に基づいている。
【０１０４】
表３は、基本のミッドアンブルに基づいて最初のミッドアンブルオフセットを生成する方法を定義する２つの異なるバージョンの第３世代（３Ｇ）仕様からの式を列挙している。両バージョンは参照として示しており、どのバージョンが設計のＳｐｉｎ１に使用されるかに応じて決まる。表４および表５は、それぞれ長いミッドアンブルおよび短いミッドアンブルの対応する式から計算された最初のオフセット値を列挙している。
【０１０５】
【表３】
0004515252.tif 000023
【０１０６】
【表４】
0004515252.tif 000024
【０１０７】
【表５】
0004515252.tif 000025
【０１０８】
図１３は、ブロック図に対応する処理タイムラインを示している。
【０１０９】
ステップ１：Ｓｔｅｉｎｅｒ処理の開始時に、ＣＨＥＳＴはミッドアンブル除去プレロードプロセスを開始する。このプロセス中、ミッドアンブル除去は、ミッドアンブルサーバに基本の全ミッドアンブルシーケンスを要求し、それをローカルＲＡＭに格納する。
【０１１０】
ステップ２：後処理が完了した後、ＣＨＥＳＴは、ミッドアンブル除去メイン処理を開始する。このプロセス中、ミッドアンブル除去は、アクティブミッドアンブルシフトごとにミッドアンブルサンプルおよびチャネル応答を取り出す。
【０１１１】
ステップ３：処理の終了時に、各ＰＥは、データで満たされた２つの累算器を含む。各ＰＥからの第１の累算器（データフィールド１の結果に対応）は、連続的に多重化され、ＲＡＭに格納される（図７のＲＡＭ８２および８４を参照）。次に、各処理要素からの第２の累算器（データフィールド２の結果）が連続的に多重化され、格納される（ＲＡＭ８６および８８）。
【０１１２】
ステップ４、５：処理要素の数がＷ−１未満の場合、要求された処理のすべてが完了するまでステップ２および３が繰り返される。
【０１１３】
以下は、処理フロー、およびミッドアンブル除去機能内の様々なプロセスを制御する限定された状態マシンの説明である。
【０１１４】
図１４は、ミッドアンブル除去機能のために行われる処理を示している。これは、図１３に示した処理タイムラインと似ているが、必要な制御プロセスの内訳を示している。
【０１１５】
ＭＤＣ処理を開始する２つの制御信号がある。第１の信号は、ＭＤＣプレロードプロセス（Ｓ１）を開始する。第２の制御信号は、ＭＤＣメイン処理（Ｓ２）を開始する。
【０１１６】
使用可能な処理要素（ＰＥ）はそれぞれ、行列乗算の１つの行を処理するように割り当てられる（Ｓ３）。ＰＥの総数が行（Ｗ−１）の総数未満である場合、ＰＥは、第１の組の行に割り当てられる。この組の行について処理が完了すると、ＰＥは、次の組の行に再度割り当てられる。これは、行のすべてが処理されるまで繰り返される。
【０１１７】
次のステップは、各ミッドアンブルシフトをループしてアクティブなミッドアンブルを探すことである（Ｓ４）。アクティブなシフトが見つかると、行列乗算が続行する（Ｓ５）。
【０１１８】
乗算は、現在のシフトの全ミッドアンブルシーケンスについて続行する。これは、すべてのミッドアンブルシフトが処理されるまで続く。アクティブなミッドアンブルシフトのすべてが処理されると（Ｓ６）、データはデータフィールド１およびデータフィールド２の両方に使用可能となる（Ｓ７）。データは連続的に出力され、出力ＲＡＭに書き込まれる。
【０１１９】
プロセス全体は、Ｗ−１個すべての行が処理される（Ｓ８）まで繰り返される。
【０１２０】
図１５から図２０に示した状態マシンは、図１４のフロー図に示したプロセスを制御する。
【０１２１】
プレロード（事前搭載）状態マシンは、図１５で、ミッドアンブルサーバに現在のミッドアンブル数を要求し、データをローカルＲＡＭに格納する。プロセスは、シーケンス全体が格納されると完了する。
【０１２２】
プリプロセッサは、図１６で、処理する必要があるアクティブなミッドアンブルの総数を合計するために、アクティブなミッドアンブルパラメータを順番に処理する。
【０１２３】
処理要素状態マシンは、図１７で、処理された行の数、およびどのＰＥが各行に割り当てられるかを追跡する。この状態マシンは、ミッドアンブル除去行列のすべての行が処理されるまで処理を続行する。
【０１２４】
ミッドアンブルシフト状態マシンは、図１８で、アクティブな各シフトを処理するために各ミッドアンブルシフトを順番に処理する。シフト番号が増分されるにつれて、この状態マシンは、現在のシフトがアクティブであるかどうかをチェックする。ミッドアンブルシフトがアクティブである場合、ミッドアンブルデータを取り出すためにデータパッカー状態マシンが開始する。ミッドアンブルシフトのすべてが処理されると、この状態マシンは、データ出力状態マシンを開始する。
【０１２５】
ミッドアンブルデータパッカー状態マシンは、図１９で、ローカルＲＡＭからミッドアンブルデータを取り出し、それを１６ビット長のワードに詰め込むよう働く。データがＲＡＭから取り出される順序は、現在のミッドアンブルシフトに基づいている。
【０１２６】
データ出力状態マシンは、図２０で、ミッドアンブル除去出力データを連続的にＲＡＭに書き込むよう働く。まずデータフィールド１の結果がすべて書き込まれる。次にデータフィールド２の結果が書き込まれる。
【０１２７】
次の最大パラメータを収容するように内部ビット幅が選択された。
【０１２８】
−ＰＥの最大数＝６４
−最大Ｗ＝１１４
【０１２９】
【表６】
0004515252.tif 000026
【０１３０】
表６は、所与のパラメータについてミッドアンブルの除去を行うのに必要なクロックサイクル数を列挙している。測定値は、ミッドアンブルサーバからのミッドアンブルのプレロードを除く、処理の開始から取得した。
【図面の簡単な説明】
【０１３１】
【図１】ミッドアンブル除去の必要性の説明に有用な送信されたバースト、チャネル、および受信されたバースト（ＴＤＤ  ＤＰＣＨ）を示す図である。
【図２】ミッドアンブル除去ブロックを含む基地局（ＢＳ）のデータ復調回路を示すブロック図である。
【図３】図２に示すＢＳ回路に類似のユーザ装置（ＵＥ）のデータ復調回路を示すブロック図である。
【図４】本発明の除去アルゴリズムを使用したミッドアンブル除去のための回路を示すブロック図である。
【図５】ミッドアンブル除去エンジンの概略ブロック図である。
【図６】図５の処理要素の１つをより詳しく示すブロック図である。
【図７】ミッドアンブル除去ブロックがシステムの他の回路とどのようにインターフェイスをとるかを示すブロック図である。
【図８】データフィールドのミッドアンブルシーケンスの処理を一体化する方法を示す図式表現である。
【図９】本発明の原理を使用するミッドアンブル除去装置を示すブロック図である。
【図１０】処理要素の計算の説明に有用な図である。
【図１１】処理の内訳をどのように管理することができるかの説明に有用な図である。
【図１２】バーストタイプ２のミッドアンブルシフトが行われる方法の説明に有用な図である。
【図１３】ミッドアンブル除去の処理タイムラインを示す概略図である。
【図１４】ミッドアンブル除去プロセスを示す概略フロー図である。
【図１５】プレロードの状態遷移図である。
【図１６】プリプロセッサの状態遷移図である。
【図１７】処理要素の状態遷移図である。
【図１８】ミッドアンブルシフトの状態遷移図である。
【図１９】ミッドアンブルデータパッカーの状態遷移図である。
【図２０】データ出力の状態遷移図である。
【図１】
0004515252.tif 000027
【図２】
0004515252.tif 000028
【図３】
0004515252.tif 000029
【図４】
0004515252.tif 000030
【図５】
0004515252.tif 000031
【図６】
0004515252.tif 000032
【図７】
0004515252.tif 000033
【図８】
0004515252.tif 000034
【図９】
0004515252.tif 000035
【図１０】
0004515252.tif 000036
【図１１】
0004515252.tif 000037
【図１２】
0004515252.tif 000038
【図１３】
0004515252.tif 000039
【図１４】
0004515252.tif 000040
【図１５】
0004515252.tif 000041
【図１６】
0004515252.tif 000042
【図１７】
0004515252.tif 000043
【図１８】
0004515252.tif 000044
【図１９】
0004515252.tif 000045
【図２０】
0004515252.tif 000046