IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ポララン ハベレスメ テクノリジレリ アノニム シルケティの特許一覧

特許7429071生成行列の三角因数分解を使用した誤り訂正符号化におけるデータのシステマティック符号化のための方法および装置
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-30
(45)【発行日】2024-02-07
(54)【発明の名称】生成行列の三角因数分解を使用した誤り訂正符号化におけるデータのシステマティック符号化のための方法および装置
(51)【国際特許分類】
   H03M 13/29 20060101AFI20240131BHJP
   H03M 13/00 20060101ALI20240131BHJP
【FI】
H03M13/29
H03M13/00
【請求項の数】 12
(21)【出願番号】P 2022533227
(86)(22)【出願日】2020-11-14
(65)【公表番号】
(43)【公表日】2023-02-06
(86)【国際出願番号】 IB2020060726
(87)【国際公開番号】W WO2021111218
(87)【国際公開日】2021-06-10
【審査請求日】2022-07-26
(31)【優先権主張番号】16/700,972
(32)【優先日】2019-12-02
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520190713
【氏名又は名称】ポララン ハベレスメ テクノリジレリ アノニム シルケティ
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】アリカン、エルダル
【審査官】原田 聖子
(56)【参考文献】
【文献】米国特許出願公開第2019/0165887(US,A1)
【文献】Erdal Arikan,From Sequential Decoding to Channel Polarization and Back Again,arxiv,2019年09月09日,https://arxiv.org/pdf/1908.09594.pdf
(58)【調査した分野】(Int.Cl.,DB名)
H03M 13/29
H03M 13/00
(57)【特許請求の範囲】
【請求項1】
ソースデータブロック(SDB)の信頼できる転送のため通信システムで使用するシステマティックエンコーダ装置であって、
前記システマティックエンコーダ装置は、可逆上三角(IUT)行列である外側変換行列および可逆下三角(ILT)行列である内側変換行列に基づく三角因数分解(TF)符号のために構成され、
内側エンコーダと、
外側エンコーダを含み、
前記内側エンコーダは、前記SDBを受信し、前記内側変換行列の部分行列の逆行列による前記SDBの像として出力制約ブロック(OCB)を生成するように構成され、
前記外側エンコーダは、固定データブロック(FDB)と前記OCBとを受信し、変換出力ブロック(TOB)が前記外側変換行列による変換入力ブロック(TIB)の像であるという第1のシステマティック符号化制約、前記TOBが、前記TOBのサブブロック内に前記OCBを透過的に含むという第2のシステマティック符号化制約、及び前記TIBが、前記TIBのサブブロック内に前記FDBを透過的に含むという第3のシステマティック符号化制約に従って、前記TOBを生成するように構成され、
前記内側エンコーダは、前記TOBを受信し、送信符号ブロック(TCB)が前記内側変換行列による前記TOBの像であるという第4のシステマティック符号化制約、及び前記TCBが、前記TCBのサブブロック内に前記SDBを透過的に含むという第5のシステマティック符号化制約に従って、前記TCBを生成するようにさらに構成される、
システマティックエンコーダ装置。
【請求項2】
記TOBの前記サブブロックは、インデックスがインデックス集合に属する前記TOBの要素を含み、
前記TIBの前記サブブロックは、インデックスが前記インデックス集合の補集合に属する前記TIBの要素を含む
請求項1に記載のシステマティックエンコーダ装置。
【請求項3】
記内側変換行列の前記部分行列は、列インデックスが前記インデックス集合に属し、
行インデックスが前記インデックス集合に属する前記内側変換行列の要素を含み、
前記TCBのサブブロックは、インデックスが前記インデックス集合に属する前記TCBの要素を含み、
請求項2に記載のシステマティックエンコーダ装置。
【請求項4】
前記外側エンコーダは、フィードフォワード計算回路を含み、
前記フィードフォワード計算回路は、TIB要素のシーケンスを受信し、受信された各TIB要素について、フィードフォワード値を生成するように構成される
請求項2に記載のシステマティックエンコーダ装置。
【請求項5】
前記外側変換行列は、IUT Toeplitz行列であり、
前記フィードフォワード計算回路は、畳み込み回路を備え、前記畳み込み回路は、複数のレジスタ、乗算器、及び加算器を備え、前記畳み込み回路は、インパルス応答に従って構成され、前記インパルス応答は、前記IUT Toeplitz行列の第1行から導出される請求項4に記載のシステマティックエンコーダ装置。
【請求項6】
前記外側エンコーダは、前記フィードフォワード値を、前記FDBの現在の要素または前記OCBの現在の要素と共に使用して、前記TIBの次の要素および前記TOBの次の要素を生成するようにさらに構成される請求項5に記載のシステマティックエンコーダ装置。
【請求項7】
ソースデータブロック(SDB)の信頼できる転送のための通信システムで使用する方法であって、
前記方法は、可逆上三角(IUT)行列である外側変換行列および可逆下三角(ILT)行列である内側変換行列に基づく三角因数分解(TF)符号のために構成されたシステマティックエンコーダ装置を使用し、
前記SDBを受信し、前記内側変換行列の部分行列の逆行列による前記SDBの像として出力制約ブロック(OCB)を生成するように内側エンコーダを構成し、
固定データブロック(FDB)と前記OCBを受信し、変換出力ブロック(TOB)が前記外側変換行列による変換入力ブロック(TIB)の像であるという第1のシステマティック符号化制約、前記TOBが、前記TOBのサブブロック内に前記OCBを透過的に含むという第2のシステマティック符号化制約、及び前記TIBが、前記TIBのサブブロック内に前記FDBを透過的に含むという第3のシステマティック符号化制約に従って、前記TOBを生成するように外側エンコーダを構成し、
前記内側エンコーダは、前記TOBを受信し、送信符号ブロック(TCB)が前記内側変換行列による前記TOBの像であるという第4のシステマティック符号化制約、及び前記TCBが、前記TCBのサブブロック内に前記SDBを透過的に含むという第5のシステマティック符号化制約に従って、前記TCBを生成するようにさらに構成される
方法。
【請求項8】
記TOBの前記サブブロックは、インデックスがインデックス集合に属する前記TOBの要素を含み、
前記TIBの前記サブブロックは、インデックスが前記インデックス集合の補集合に属する前記TIBの要素を含む
請求項7に記載の方法。
【請求項9】
記内側変換行列の前記部分行列は、行インデックスが前記インデックス集合に属し、列インデックスが前記インデックス集合に属する前記内側変換行列の要素を含み、
前記TCBの前記サブブロックは、インデックスが前記インデックス集合に属する前記
TCBの要素を含み、
請求項8に記載の方法。
【請求項10】
前記外側エンコーダがフィードフォワード計算回路を備え、前記フィードフォワード計算回路は、TIB要素のシーケンスを受信し、受信された各TIB要素についてフィードフォワード値を生成するように構成される
請求項9に記載の方法。
【請求項11】
前記外側変換行列がIUT Toeplitz行列であり、
前記フィードフォワード計算回路は、複数のレジスタ、乗算器、及び加算器を含む畳み込み回路を備え、前記畳み込み回路は、インパルス応答に従って構成され、前記インパルス応答は、前記IUT Toeplitz行列の第1の行から得られる
請求項10に記載の方法。
【請求項12】
前記外側エンコーダは、前記フィードフォワード値を、前記FDBの現在の要素または前記OCBの現在の要素と共に使用して、前記TIBの次の要素および前記TOBの次の要素を生成するようにさらに構成される
請求項11に記載の方法。
【発明の詳細な説明】
【背景技術】
【0001】
本発明は、一般に、通信システムにおけるデータのシステマティック符号化のための方法および装置、より詳細には、生成行列の三角因数分解を使用するデータのシステマティック符号化に関する。
【技術分野】
【0002】
現代のデジタルデータ伝送(無線電話、無線データ伝送、プレーヤへの光ディスク伝送、音楽データを受信する音楽プレーヤなど)では、チャネルエンコーダは、ソースデータ・ブロック(SDB)を受信し、(SDBを変換に通すことによって)それに冗長性を追加して、それを導出するSDBよりも伝送チャネル内のノイズから保護された伝送符号ブロックを生成する。送信チャネルの他端の受信機は、チャネルノイズ及び/又は歪みによって破壊されたTCBのバージョンである受信符号ブロック(RCB)を受信し、チャネルデコーダを使用してRCBから復号ソースデータブロック(DSDB)を生成する。そして、DSDBは、復号されたデータを音声として再生する音楽プレーヤや、復号されたデータをファイルとして記憶する記憶装置などの宛先に転送される。
【0003】
DSDBがSDBの同一のコピーでない場合、フレームエラーが発生したと言われる。チャネル符号化のための一般に受け入れられている設計目標は、フレーム誤り率(FER)を許容可能なレベルに低減することである。チャネル符号化の性能の第2の尺度は、シンボル誤り率(SER:symbol error rate)であり、これは、DSDBがSDBと異なるシンボル(座標)の平均数である。データシンボルがバイナリである場合、SERの代わりにビット誤り率(BER:bit error rate)という用語が使用される。多すぎる計算量を犠牲にしてFER/SERを縮小するチャネル符号は、ほとんど実用的ではない。従来技術では、FER/SERと実装の計算量の間の許容可能なトレードオフを達成することができる、線形ブロックエンコーダなどの多くのクラスのチャネルエンコーダが存在する。
【0004】
線形ブロック符号のためのエンコーダの1つのタイプは、SDBに生成行列を乗算することによってSDBをTCBに符号化する非システマティックエンコーダである。非システマティック符号化では、SDBは、TCBの一部として透過的に見えることが保証されない。符号化の代替方法は、SDBがTCBの一部として透過的に見えることが保証されるシステマティック符号化である。
【0005】
システマティック符号化は、非システマティック符号化よりもいくつかの利点を提供する。第1に、SDBをTCBの一部として透過的に見せることは、オプションではなくシステム要件となり得る。第2に、システマティック符号化は、通常、FER性能の劣化を引き起こすことなく、SER/BER性能を改善する。第3に、システマティック符号化は、RCB上の「ハード決定」が有効なTCBをもたらす場合(ここで、有効性は、特定のパリティチェックが満たされるかどうかをチェックすることによって検証され得る)、復号機能をバイパスすることを可能にする。デコーダをバイパスすることにより、電池式装置で重要なエネルギが節約される。第4に、システマティック符号化は、ターボ符号化[BER1996]などのいくつかの符号化スキームで必要であり、この場合、それらの動作のためにシステマティック符号化に依存する反復復号方法が採用される。
【0006】
本発明は、[ARI2019b]に開示されたより新しいタイプの線形ブロック符号である、三角因数分解(TF)符号のためのシステマティック符号化方法を提供する。TF符号は、符号生成行列の外側変換行列と内側変換行列への三角因数分解に基づいている。TF符号の一実施形態では、外側変換行列は、可逆上三角(IUT)行列であり、内側変換行列は、可逆下三角(ILT)行列である。TF符号のより具体的な実施形態は、極性調整畳み込み(PAC)符号であり、これも[ARI2019b]で導入され、[ARI2019c]でさらに論じられる。
【0007】
TF符号またはPAC符号のシステマティック符号化のために特に設計された方法は、従来技術には存在しない。本発明は、TF符号のためのシステマティック符号化方法と、PAC符号などのそれらの様々な実施形態とを提供する。本明細書で提供されるシステマティック符号化方法は、システマティック符号化の計算量を低減するために、TF符号の特殊な特性とそれらの様々な実施形態を利用する。
【0008】
PAC符号では、外側変換行列はIUT Toeplitz行列である。PAC符号のIUT Toeplitz外側変換行列は、不規則畳み込み符号を生じさせる。畳み込み符号は、Elias[ELI1954]によって導入された誤り訂正符号の周知のクラスである。不規則畳み込み符号は、極化現象[ARI2009b]に応じて、エンコーダに受け入れられるソースビット数が時間的に変化する畳み込み符号の一般化である。不規則畳み込み符号のためのシステマティックエンコーダは、先行技術における対応物を伴わない本発明の新規性である。
【0009】
PAC符号では、内側変換行列は、ポーラ符号に関連して[ARI2009]で導入された変換の一種であるポーラ変換とされている。ポーラ符号は、低計算量の符号化及び復号化アルゴリズム[ARI2009]によってチャネル容量を達成することができる符号のクラスである。ポーラ符号のシステマティック符号化は、最初に[ARI2011]で論じられた。ポーラ符号のシステマティック符号化を低計算量で実行するための再帰的方法が、[ARI2013]に開示されている。[CHE2016]、[SAR2014]、[SAR2016]、[WAN2014]には、[ARI2013]の再帰原理をシステマティックポーラ符号化に利用した具体的な手法が掲載されている。
【0010】
ポーラ符号のシステマティック符号化に関する先行技術の方法は、PAC符号のシステマティック符号化の一部として直接使用することができない。ポーラ符号とは異なり、PAC符号化におけるポーラ変換への入力は、凍結シンボルを有することを保証されない。実際、PAC符号化の主な動機は、[ARI2009c]で説明されているように、ポーラ変換入力の座標を固定しないようにし、チャネル容量の損失を避けることである。
【0011】
本発明の原理は、ポーラ変換のクラスよりも広いクラスの内側変換であるILT行列として表すことができる任意の内側変換のためのシステマティック符号化のための方法を提供する。これは、極符号のシステマティック符号化に関する従来技術とは異なる本発明の原理の別の態様である。
【0012】
システマティック符号化に加えて、本発明の原理は、TF符号およびPAC符号の短縮化のために使用することができる。短縮化は、ある符号のブロック長を調整する方法である。[HUA2016]、[WAN2014]、[ARI2019a]などのポーラ符号に関する従来技術は、どのように短縮化およびシステマティック符号化を実施できるかを示している。同様の方法を適用して、本発明の原理によるTF符号のシステマティック符号化への短縮を統合することができる。
【先行技術文献】
【非特許文献】
【0013】
【文献】[ARI2009] E. Arikan, “Channel Polarization:A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels,” IEEE Transactions on Information Theory, vol. 55, no. 7, pp. 3051-3073, Jul.2009.
【文献】[ARI2011] E. Arikan, “Systematic Polar Coding,” IEEE Communications Letters, vol. 15, no. 8, pp. 860-862, Aug. 2011.
【文献】[ARI2013] E. Arikan, “Method and system for error correction in transmitting data using low complexity systematic encoder,” U.S. Patent No. 8,347,186 B1, 01-Jan-2013.
【文献】[ARI2019a] E. Arikan, “Method and system for error correction in transmitting data using low complexity systematic encoder,” U.S. Patent Publication No. 20190165887, 30-05-2019.
【文献】[ARI2019b] E. Arikan, “Methods and apparatus for error correction coding with triangular factorization of generator matrix,” U.S. Patent Application No. 16453887, 84 pages 26-Jun-2019.
【文献】[ARI2019c] E. Arikan, “From sequential decoding to channel polarization and back again,” arXiv:1908.09594 [cs, IT], 26 Aug. 2019.
【文献】[BER1996] C. Berrou and A. Glavieux, “Near optimum error correcting coding and decoding: turbo-codes,” IEEE Transactions on Communications, vol. 44, no. 10, pp. 1261-1271, Oct. 1996.
【文献】[CHE2016] G. T.Chen, Z. Zhang, C. Zhong, and L. Zhang, “A Low Complexity Encoding Algorithm for Systematic Polar Codes,” IEEE Communications Letters, vol. 20, no. 7, pp. 1277-1280, Jul.2016.
【文献】[ELI1954] P. Elias, “Error-free Coding,” Transactions of the IRE Professional Group on Information Theory, vol. 4, no. 4, pp. 29-37, Sep.1954.
【文献】[HUA2016] R1-167209, Polar code design and rate matching, Huawei, HiSilicon, 3GPP(登録商標) TSG RAN WG1 Meeting #86, Gothenburg, Sweden, August 22nd - 26th, 2016.
【文献】[SAR2014] G. Sarkis, P. Giard, A. Vardy, C. Thibeault, and W. J.Gross, “Fast Polar Decoders:Algorithm and Implementation,” IEEE Journal on Selected Areas in Communications, vol. 32, no. 5, pp. 946-957, May 2014.
【文献】[SAR2016] G. Sarkis, I. Tal, P. Giard, A. Vardy, C. Thibeault, and W. J.Gross, “Flexible and Low-Complexity Encoding and Decoding of Systematic Polar Codes,” IEEE Transactions on Communications, vol. 64, no. 7, pp. 2732-2745, Jul.2016.
【文献】[WAN2014] R.Wang and R.Liu、「A Novel Puncturing Scheme for Polar Codes」、IEEE Communications Letters、vol. 18, no. 12, pp. 2081-2084, Dec. 2014.
【文献】[WAN2016] H. Vangala, Y. Hong, and E. Viterbo, “Efficient Algorithms for Systematic Polar Encoding,” IEEE Communications Letters, vol. 20, no. 1, pp. 17-20, Jan. 2016.
【0014】
上記の刊行物は、本明細書中に参考として援用される。
【発明の概要】
【発明が解決しようとする課題】
【0015】
SDB(Source Data Block)の信頼性の高い転送のために通信システムで使用されるシステマティックエンコーダ装置は、外側変換行列と内側変換行列のために構成される。
【課題を解決するための手段】
【0016】
システマティックエンコーダ装置内で、内側エンコーダは、SDBを受信し、内側変換行列の部分行列の逆行列によるSDBの像として出力制約ブロック(OCB)を生成するように構成され、外側エンコーダは、固定データブロック(FDB)とOCBを受信し、外側変換行列による変換入力ブロック(TIB)の像として変換出力ブロック(TOB)を生成するように構成され、TIBは、FDBをTIBのサブブロックに透過的に含み、TOBは、OCBをTOBのサブブロックに透過的に含む。内側エンコーダは、TOBを受信し、送信された符号ブロック(TCB)を生成するようにさらに構成され、TCBは、TCBのサブブロックにSDBを透過的に含む。外側変換行列は、オプションとして、可逆上三角(IUT)行列である。TOBのサブブロックは、インデックスがインデックス集合に属するTOBの要素をオプションとして含み、TIBのサブブロックは、インデックスがインデックス集合の補集合に属するTIBの要素をオプションとして含む。内側変換行列は、オプションとして、可逆下三角(ILT)行列であり、内側変換行列の部分行列は、行インデックスがインデックス集合に属し、列インデックスがインデックス集合に属する内側変換行列の要素を含み、TCBのサブブロックは、インデックス集合に属するTCBの要素を含み、TCBは、内側変換行列によるTOBの像である。外側エンコーダは、オプションとして、フィードフォワード計算回路を備え、フィードフォワード計算回路は、TIB要素のシーケンスを受信し、受信された各TIB要素について、フィードフォワード値を生成するように構成される。外側変換行列がIUT Toeplitz行列である実施形態では、フィードフォワード計算回路は、オプションとして畳み込み回路を含み、畳み込み回路は、複数のレジスタ、乗算器、および加算器を含み、IUT Toeplitz行列の第1の行から導出されるインパルス応答に従って構成される。いくつかの実施形態では、外側エンコーダは、オプションとして、FDBの現在の要素またはOCBの現在の要素と共にフィードフォワード値を使用して、TIBの次の要素とTOBの次の要素を生成するようにさらに構成される。
【0017】
SDB(Source Data Block)の信頼できる転送のために通信システムで使用する方法は、外側変換行列と内側変換行列のために構成されたシステマティックエンコーダ装置を使用する。この方法では、内側エンコーダは、SDBを受信し、内側変換行列の部分行列の逆行列によるSDBの像として出力制約ブロック(OCB)を生成するように構成され、外側エンコーダは、固定データブロック(FDB)とOCBを受信し、外側変換行列による変換入力ブロック(TIB)の像として変換出力ブロック(TOB)を生成し、TIBは、TIBのサブブロックにFDBを透過的に含み、TOBは、TOBのサブブロックにOCBを透過的に含む。内側エンコーダは、TOBを受信し、送信された符号ブロック(TCB)を生成するようにさらに構成され、TCBは、TCBのサブブロックにSDBを透過的に含む。外側変換行列は、オプションとして、可逆上三角(IUT)行列であり、TOBのサブブロックは、オプションとして、インデックスがインデックス集合に属するTOBの要素を含み、TIBのサブブロックは、インデックスがインデックス集合の補集合に属するTIBの要素をオプションとして含む。内側変換行列が可逆下三角(ILT)行列である実施形態では、内側変換行列の部分行列は、オプションとして、列インデックスがインデックス集合に属し、行インデックスがインデックス集合に属する内側変換行列の要素を含み、TCBのサブブロックは、オプションとして、インデックスがインデックス集合に属するTCBの要素を含み、TCBは、内側変換行列によるTOBの像である。外側エンコーダは、オプションとしてフィードフォワード計算回路を備え、フィードフォワード計算回路は、TIB要素のシーケンスを受信し、受信された各TIB要素についてフィードフォワード値を生成するように構成される。外側変換行列がIUT Toeplitz行列である実施形態では、フィードフォワード計算回路は、オプションとして、複数のレジスタ、乗算器、および加算器を含む畳み込み回路を含み、畳み込み回路は、インパルス応答に従って構成され、インパルス応答は、IUT Toeplitz行列の第1の行から得られる。また、外側エンコーダは、フィードフォワード値をFDBの現在の要素又はOCBの現在の要素と共に用いて、TIBの次の要素とTOBの次の要素を生成するように構成されていてもよい。
【図面の簡単な説明】
【0018】
図1】本発明の実施形態を使用することができる通信システム100を示すブロック図である。
図2】非システマティックエンコーダ200を示すブロック図である。
図3】本原理に係るシステマティックエンコーダ300を示す図である。
図4A】本発明の原理に係るIUT符号化方法400のフローチャートである。
図4B】IUT符号化方法400に係る計算450の一例を示す図である。
図5A】本発明の原理によるIUT Toeplitz符号化方法500を示すフローチャートである。
図5B】IUT Toeplitz符号化方法500による例示的な計算550を示す図である。
図6】畳み込み回路600の概略図である。
図7】本発明の原理に係るIUT Toeplitzエンコーダ回路700の概略図である。
図8】転置畳み込み回路800の概略図である。
図9A】は、本発明の原理によるIUT Toeplitz転置形式エンコーダ方法900のフローチャートである。
図9B】IUT Toeplitz転置形式符号化方法900による例示的な計算950を示す図である。
図10】本発明の原理に係る転置型IUT Toeplitzエンコーダ回路1000の概略図である。
図11】生成行列の三角因数分解を使用する誤り訂正符号化におけるデータのシステマティック符号化が、本開示に従って実装され得る、例示的な無線ネットワークを図示する; 。
図12A】生成行列の三角因数分解を使用する誤り訂正符号化におけるデータのシステマティック符号化が、本開示に従って実装され得る、例示的なユーザ機器ネットワークを図示する。
図12B】生成行列の三角因数分解を使用する誤り訂正符号化におけるデータのシステマティック符号化が、本開示に従って実装され得る、例示的な拡張NodeB(eNB)ネットワークを図示する。
【発明を実施するための形態】
【0019】
以下で論じられる図1~12B、およびこの特許文献における本発明の原理を説明するために使用される様々な実施形態は、単に例示のためのものであって、本発明の範囲を限定するように解釈されるべきではない。当業者は、本発明の原理が任意の適切に構成された通信システムにおいて実施され得ることを理解するであろう。
【0020】
まず、いくつかの表記、用語、定義を紹介する。また、以下の本発明の原理の説明で必要とされる行列に関するいくつかの周知の事実を述べる。
【0021】
ここでは、集合を表すために、script letters(スクリプト文字など)を使用する。また、表記|A|は、A(の濃度)における要素の数を示している。
【0022】
記号Fは、要素{0,1,…,q-1}を有する有限体を示す。
【0023】
表記a∈F は、a∈F、i=1,2,…,nである行ベクトルa=(a,a,…,a)であることを示す。また、a∈F 、S⊂{1,2,…,n}であるとき、aはSにインデックスを持つaの要素からなるサブベクトルa=(a:i∈S)を示し、同様に、集合Sにインデックスを持つaの要素からなるサブベクトルaSc=(a:i∈S)を示し、ここでSはSの{1,2,…,n}における補集合を示す。たとえば、m=8、S={1,2,3,5,8}であれば、a=(a,a,a,a,a)、aSc=(a,a,a)である。慣例により、aはaの座標が増加する順序で現れるように書く。したがって、SをS={1,2,3,5,8}としてもS={2,3,1,5,8}としても、サブベクトルaは、a=(a,a,a,a,a)によって与えられる。
【0024】
m×nは、Fの要素を持つm×n行列の集合を示す。表記A∈F m×nは、m行とn列を含む行列Aであることを示す。しばしば、行列A∈F m×nを2次元配列[ai,j:1≦i≦m,1≦j≦n]として明示的に書き込むことによって定義する。ここで、ai,jは、行列Aの第i行目と第j列目の要素(エントリ)を示す。行列Aの要素ai,jの場合、インデックスiを行インデックス、インデックスjを列インデックスと呼ぶ。この要素ai,jは、行列Aの第i行第j列にあると言われる。
【0025】
表記0は、すべての要素が0である行列を示す(0の寸法は文脈から明らかである)。
【0026】
また、全てのi≠jについてai,j=0となる行列Aを対角行列と呼ぶ。対角線上に1を有する対角行列は、単位行列と呼ばれ、Iで示される。
【0027】
AB=BA=Iとなるような行列B∈F n×n(Aの逆行列と呼ばれる)が存在する場合、行列A∈F n×nは可逆であると呼ばれる。Aの逆行列が存在する場合、それをA-1と表す。
【0028】
正方行列A∈F n×nが、
【数1】

の形式を有し、AA,Bは、正方行列であって、AA,Bc=0又はAAc,B=0である場合、det(A)=det(AA,B)det(AAc,Bc)であるから、AはAA,B及びAAc,Bcの両方が可逆の場合に限って可逆である。
【0029】
以下、行列A∈F n×nをついてai,j=0、1≦i<j≦nの場合、Aを下三角行列と言う。ai,j=0、1≦j<i≦nの場合、行列A∈F n×nを上三角行列と言う。
【0030】
A∈F n×nが、ai,j=aj-i、j≧iを満たす上三角行列となるようなベクトルa=(a,a,…,an-1)∈F が存在する場合、行列Aは上三角Toeplitzと呼ばれる。すなわち、これはAが以下の形式を有する場合である。
【数2】

このようなToeplitz行列は、a=0の場合に限って可逆である。以下で考察するToeplitz行列は、可逆である。ここで、上三角形Toeplitz行列Aの第1行目a=(a,a,…,an-1)について、m∈{0,1,…,n-1}がa≠0となる最大のインデックスである場合、aの初期セグメント(a,a,…,a)をインパルス応答と言い、上三角形Toeplitz行列Aはインパルス応答に(a,a,…,a)より定義されると言う。
【0031】
2つの行列のA∈F m×n及びB∈F k×lのKronecker積は、以下の行列として定義される。
【数3】

行列Aのn次Kronecker乗
【数4】

は、
帰納的に、以下によって定義される。
【数5】
【0032】
以下、用語「変換」は、1つのベクトル空間から別のベクトル空間への線形マッピングの意味で使用される。行列は、特定の基底ベクトルに関する特定の形式の変換を表すために使用される。用語「変換行列A」は、特定の行列の形態Aの変換の特定の実現を指す。2つのベクトルa、bが変換関係b=aAによって関連付けられる場合、bは変換行列Aによるaの像と呼ばれる。
【0033】
以下の説明では、行ベクトルを用いて信号(例えば、ソースデータブロック及び符号データブロック)を表し、ベクトルa及び行列Aを含む乗算は、常に形式aA(左乗算)を有する。本発明の原理は、行ベクトルの代わりに列ベクトルを使用し、左乗算の代わりに右乗算を使用しても容易に実施できることが明らかである。ベクトル空間の異なる表現、またはそのようなベクトル空間に作用する変換の行列表現に基づく、以下に提示される方法のすべてのそのような変形形態は、本原理の範囲内に入る。
【0034】
行列P∈F N×Nは、Pの全てのエントリが0又は1の何れかであり、Pの各行にちょうど一つの1を有し、各列に一つの1を有する場合、置換行列と呼ばれる。ここでは、置換行列P∈F n×n、Q∈F n×nが存在し、A=PBQ場合、2つの行列A∈F n×n、B∈F n×nが置換等価であると言う。置換等価行列は、行と列の置換のみが互いに異なり、これは、通信システムでは、異なる(置換された)順序でソースデータを受信すること、または符号化データを送信することに対応する。以下では、本発明の原理を、本質的なアイデアを説明するために最も便利な行列表現を使用して説明するが、当業者であれば、代替の行列表現を使用することがより望ましい場合がある状況に本発明の原理を適用することは難しくないであろう。
【0035】
本発明の主な動機は、TF符号、より詳細には、TF符号のサブクラスであるPAC符号に関連して有用であり得るシステマティック符号化方法を提供することである。TF符号は、符号化および復号化の目的のために、生成行列が三角行列(または三角行列と置換等価である行列)に因数分解される線形ブロック符号のクラスである。本発明の原理の詳細を論じる前に、より一般的な用語でのシステマティック符号化の動機付けを再検討し、これは本発明の原理の利点と有用性をより良く理解するのに役立つであろう。
【0036】
チャネルエンコーダは、ソースデータが符号ワードの一部として透過的に見えるようにソースデータを符号ワードに符号化する場合、システマティックと呼ばれる。所与の線形ブロック符号の場合、ソースデータをシステマティック形式または非システマティック形式のいずれかで符号化することが可能である。システマティック符号化は、非システマティック符号化よりもいくつかの利点を提供する。第1に、システマティック符号化は、非システマティック符号化よりも良好なビット/シンボル誤り率(BER/SER)性能を提供する。しばしば、これだけがシステマティック符号化を好む十分な理由である。第2に、多くのアプリケーションシナリオでは、ソースデータを符号ワードの一部として透過的に見えるようにすることは、オプションではなくシステム要件である。第3に、システマティック符号化は、受信された符号ワード上の「ハード決定」が有効な符号ワードをもたらすと、すぐに復号を完了することを可能にする。第4に、システマティック符号化は、2つ以上のデコーダが(ターボ符号化におけるように)システマティックに符号化されたデータビットにわたって情報を交換する様々な連結符号化スキームにおいて必要とされ得る。
【0037】
システマティック符号化の利点にもかかわらず、従来技術では、TF符号を特にターゲットとするシステマティック符号化方法がない。本発明は、TF符号の特殊構造を利用するTF符号のシステマティック符号化方法を提供することによって、従来技術のこのギャップを埋める。以下、図1~12Bを用いて本発明の原理及びその具体的な実施形態の詳細を説明する。
【0038】
図1は、本発明の実施形態を使用することができる通信システム100を示すブロック図である。通信システム100は、送信側に配置されたエンコーダ110と、送信機と受信機とを接続するチャネル120と、受信機側のデコーダ130を備えている。
【0039】
通信システム100は、ソースからソースデータブロック(SDB:Source Data Block)dを受信し、デコードソースデータブロック(DSDB:Decoded Source Data Block)dとして宛先に配信する(ソース及び宛先は、与えられたものとみなされ、本発明の原理の範囲外であるため、図には示されていない)。DSDBdがSDBdと正確に一致しない場合、すなわちd≠dである場合、フレームエラーが発生したと言われる。通信システム100の主な性能基準は、確率Pr(d≠d)として定義されるフレーム誤り率(FER:frame error rate)である。一般に、通信システム100は、FERが可能な限り小さいことが好ましい。エンコーダ110及びデコーダ130は、チャネル帯域幅、装置コスト、及び待ち時間の増加を犠牲にしてFERを低減するためにチャネル符号化方式を実施する。チャネル符号化動作の詳細は以下の通りである。
【0040】
エンコーダ110は、SDBdを受信し、TCB(Transmitted Code Block)xに符号化する。チャネル120は、チャネル入力及びチャネル出力を有する。エンコーダ110は、チャネル入力にTCBxを適用する。チャネルは、チャネル出力で受信符号ブロック(RCB)yを生成することによって、チャネル入力に適用されたTCBxに応答する。デコーダ130は、チャネル出力からRCByを受信し、RCBうを処理してDSDBdを生成する。
【0041】
当業者には、典型的な通信システムが、チャネル120を介して信号を送受信するために不可欠な多くの機能ブロック(変調器および復調器、デジタル・アナログおよびアナログ・デジタル変換器、増幅器、送信および受信アンテナ、信号捕捉および同期回路など)を含むことが明らかであろう。本発明の観点からは、このような機能ブロックは、チャネル120の一部とみなされ、本発明の範囲外となる。
【0042】
本発明は、主に、エンコーダ110の特定の実装形態に関する。符号化操作に関する表記規則と用語の一部は、以下のとおりである。以下、SDB、TCBを行ベクトルd=(d,d,…,d)、x=(x,x,…,x)とし、ここでKをソースブロック長、Nを符号ブロック長とする。SDBdからTCBxへのマッピングのことを符号と称する。全体を通じて、我々は、d、xの両方が共通の有限体F上のベクトルであるような符号を考慮する。比率R=K/Nを符号化率と呼び、符号化率Rを0≦R≦1を満足する数とする。
【0043】
SDBdがTCBxの一部として透過的に見える場合、エンコーダ110はシステマティック(systematic)と呼ばれる。本発明の原理は、TF符号のシステマティック符号化に関する。TF符号は、可逆変換行列(生成行列)G∈F N×NをIUT(Invertible Upper Triangular)行列U∈F N×NとILT(Invertible Lower Triangular)行列L∈F N×Nの積に三角分解した線形ブロック符号の一種である。我々は、Uを外側変換行列及びLを内側変換行列と称する。TF符号の好ましい実施形態は、外側変換行列がIUT Toeplitz行列であり、内側変換行列がポーラ変換行列(カーネル行列のKronecker乗)であるPAC符号である。TF符号の符号化に関する従来技術は、非システマティック符号化に基づいている。
【0044】
図2は、TF符号の非システマティックエンコーダ200を示すブロック図であり、TF符号は、[ARI2019b]に記載されているとおりである。図1のエンコーダ110の場合と同様であるが、非システマティックエンコーダ200の全体的な機能は、ソースからSDBd∈F を受信し、それをTCBx∈F に符号化することであり、ここで、TCBxは、TF符号からの符号ワードである。
【0045】
非システマティックエンコーダ200は、データ挿入部211、外側変換部212、内側変換部213を備えている。非システマティックエンコーダ200の符号化動作は、外側変換行列U∈F N×N、内側変換行列L∈F N×N、(サイズKの)インデックス集合A⊂{1,2,…,N}、固定データブロック(FDB:Fixed Data Block) a∈F N-Kの4つのパラメータ(U,L,A,a)に従って構成される。ここで、外側変換及び内側変換の行列表現は、IUT行列Uであり、ILT行列Lであるものとする。
【0046】
データ挿入部211は、SDBd∈F を受け、インデックス集合Aの補集合をA(全集合{1,2,…,N}に対する補集合)として、v=dかつvAc=aを満たす変換入力ブロック(TIB)v∈F を生成する。外側変換212は、TIBvを受け取り、w=vUを満たすよう変換出力ブロックTOBw∈F を生成する。内側変換部213は、TOBwを受け取り、x=wLとなるよう、TCBx∈F を生成する。言い換えると、TOBは外側変換行列によるTIBの像であり、TCBは内側変換行列によるTOBの像である。
【0047】
本発明の原理は、TF符号のシステマティック符号化問題に対する解決策を提供する。具体的な方法の説明を始める前に、TF符号のシステマティック符号化問題の数学的エッセンスを論じ、解が存在するかどうか、またどのような条件の下で存在するかを理解することが有用であろう。
【0048】
一般に、TF符号のシステマティック符号化は、外側変換行列U∈F N×N、内側変換行列L∈F N×N、(サイズKの)第1のインデックス集合A⊂{1,2,…,N}、(サイズN-Kの)第2のインデックス集合B⊂{1,2,…,N}、およびFDBであるa∈F N-Kの5つのパラメータ(U,L,A,B,a)によって指定することができる。ここでは、外側変換および内側変換の行列表現が、IUT行列Uであり、ILT行列Lであるものと仮定する。
【0049】
パラメータ(U,L,A,B,a)を有するシステマティックエンコーダは、SDBd∈F を受信し、x=vUL、x=d、v=aを満たす一対のベクトルv∈F 、x∈F を生成する。このような一対のベクトルv、xが存在するか否かを解析するために、TF符号の生成行列をG=ULとし、式x=vULをx=vB,A+vBcBc,A、xAc=vB,Ac+vBcBc,Acと書き換える。システマティック符号化制約条件に従ってx=d、v=aを代入し、それに従ってxAcを解くことによって、E=(GBc,A-1、e=a「GB,Ac-GB,A(GBc,A-1Bc,Ac]と定義したところとして形式的解xAc=dE+eを得る。この解は、生成行列Gの部分行列GBc,Aが可逆である場合にのみ有効である。GBc,Aが可逆であるための十分な条件は、以下のように与えられる。
【0050】
(命題1)LAc,A=0ならば、Bを{1,2,…,N}におけるAの補集合として選択することによってGBc,Aを可逆にすることができる。
【0051】
(証明)LAc,A=0と仮定し、B=Aと設定する。すると、GBc,AはGA,Aに等しく、これは従ってUA,AA,A+UA,AcAc,Aに等しい。仮定LAc,A=0を用いて、GA,A=UA,AA,Aを得る。UA,A及びLA,Aは三角行列の部分行列であるので、それらは可逆である。2つの可逆行列の積は可逆であるため、GA,Aは可逆である。
【0052】
A、Bが命題1のように選択されると、システマティック符号化方程式は、x=d、xAc=dE+e、ここで、E=(GA,A-1A,Ac、e=a[GAc,Ac-GAc,A(GA,A-1A,Ac]となる。そのようなシステマティックエンコーダを実装する際に、行列E∈F (N-K)×(N-K)およびベクトルe∈F N-Kを事前計算し、それに応じてシステマティックエンコーダを構成することができる。
【0053】
命題1の条件下では、システマティック符号化問題が実現可能であることを示した。しかし、xAc=dE+eの計算によるシステマティック符号化問題の直接的な解決策は、実用的ではない。積dEを直接計算することは、O((N-K))の算術演算(体F内の加算及び乗算)を伴い、これは、多くの実用的なアプリケーションにとって典型的には法外に複雑である。
【0054】
本発明の目的は、TF符号のシステマティック符号化の計算量を低減することである。この目的のために、本発明の原理は、生成行列Gの三角因数分解U、Lを利用して、システマティック符号化問題を解決する。まず、本発明の原理を適用するための一般的なフレームワークを説明する。なお、一般的な枠組みを説明するに当たっては、Bが{1,2,…,N}におけるAの補集合の場合に着目し、(U,L,A,B,a)の代わりに4つのパラメータ(U,L,A,a)を用いればよい。
【0055】
図3は、本発明の原理によるTF符号のためのシステマティックエンコーダ300を示すブロック図である。システマティックエンコーダ300のTF符号は、非システマティックエンコーダ200の場合と同様に、外側変換行列U∈F N×N、内側変換行列L∈F N×N、A⊂{1,2,…,N}をサイズKのインデックス集合、a∈F N-Kとする固定データブロック(FDB:Fixed Data Block)の4つのパラメータ集合(U,L,A,a)により特徴付けられる。ここで、外側変換及び内側変換の行列表現は、IUT行列Uであり、ILT行列Lであるものとする。また、パラメータは、LAc,A=0を満たすように選択されたものとする。
【0056】
システマティックエンコーダ300は、内側エンコーダ301と外側エンコーダ302とを備え、システマティック符号制約320に従って動作する。以下、システマティックエンコーダ300の動作を3つのステップに分けて説明する。
【0057】
まず、内側エンコーダ301は、SDB d∈F 311を受信し、γ=d(LA,A-1を満たす外側制約ブロック(OCB:Outer Constraint Block) γ∈F 312を生成する。言い換えると、OCB312γは、内側変換行列の部分行列LA,Aの逆行列によるSDB d 311の像として生成される。すでに上記で指摘したように、LAc,A=0という仮定のためにLA,Aは可逆である。
【0058】
第2のステップでは、外側エンコーダ302は、FDB a 313とOCB γ 312を受け、外側変換制約 w=vU 321、OCB制約 w=γ 322、FDB制約 vAc=a 323を満たすようにTIB v 314とTOB w 315を生成する。第3のステップでは、内側エンコーダ301は、TOB w 315を受け、内側変換制約 x=wL 324を満たすようにTCB x 316を生成する。ここで、第3のステップの終わりに、TCB x 316がシステマティック符号化制約 x=d 325を満たすという意味でシステマティック符号化を得ることの証明を提供する。
【0059】
我々は、第3のステップにおける内側変換演算x=wLが方程式x=wA,A+wAcAc,Aの部分集合を含むことを観察する。LAc,A=0(仮定による)、w=γ(第2のステップ)であるので、第3のステップの動作は、x=γLA,Aと同等である。第1のステップからγ=d(LA,A-1を代入すると、第3のステップx=dが得られることが分かる。この議論により、システマティックエンコーダ300が実際にシステマティックであることが示された。
【0060】
上記の議論はまた、本発明の原理に関する条件LAc、A=0の重要な役割を明らかにする。符号パラメータの選択に関する条件としてLAc、A=0の導入と、TF符号のシステマティック符号化の3つのより小さな部分問題へのその結果としての分解は、本発明の原理の重要な新規の態様である。ここで、各ステップをどのように実施し、それらの計算量を評価することができるかを論じる。
【0061】
システマティックエンコーダ300の第1のステップは、OCBγ=d(LA,A-1を計算することを含む。LA,AはILT行列(Lから継承する特性)であり、ILT行列の逆数がILTであるため、行列(LA,A-1はILTとなる。LがILT以外の構造を持たない場合、γ=d(LA,A-1の直接計算が唯一のオプションとなり得る。その場合、行列(LA,A-1は事前に計算することができ、内側エンコーダ301は、(LA,A-1の知識を用いて事前に構成することができる。また、(LA,A-1の格納計算量はO(K)であり、γ=d(LA,A-1の算術計算量もO(K)である。複雑量O(K)は、すでに述べたように、多くのアプリケーションにとってしばしば法外なものとなる。幸いなことに、PAC符号化などのTF符号化の特殊な場合を考慮すると、本発明の原理の計算量は実用レベルまで低減される。
【0062】
TF符号の重要な特殊なケースは、PAC符号であり、この場合、内側変換行列Lは、例えば、Kronecker乗の形式を有する。すなわち、
【数6】

である。
このような内側変換Lの逆行列は、それ自体、すなわちL-1=Lであり、このことは、条件LAc,A=0と共に、(LA,A-1=LA,Aを暗示する。この場合、γ=d(LA,A-1演算の好ましい方法は、(x’)=d、(x’)Ac=0と設定してベクトルx’を用意し、次にw’=x’Lを演算し、最後にγ=(w’)を設定してw’からγを抽出することである。変換ステップw’=x’Lは、Lの再帰的構造を利用することによって実施することができ、その計算量はO(NlogN)であり、γ=d(LA,A-1を直接計算する計算量O(K)よりも著しく良好であり得る(直接計算の問題は、部分行列LA,Aを考慮する際に、再帰構造が失われる可能性があることである)。
【0063】
当業者は、ポーラ変換の再帰的構造を利用することによるOCBγを計算する上記の方法が、システマティックポーラ符号化に関する先行技術を活用することを認識するであろう。なお、ここで、
【数7】

であるとき、システマティックエンコーダ300に与える条件LAc,A=0は、通常、PAC符号の集合Aの好適な選択によって満たされるものとする。言い換えると、この条件LAc,A=0は、PAC符号の構成における最適性の損失を必ずしも意味しない。
【0064】
システマティックエンコーダ300の第1のステップの計算量に関するコメントは、第3のステップの計算量にとって大いに有効である。一般的なILT行列Lの場合、x=wLの計算の計算量はO(N)である。一方、
【数7】

を満たすPAC符号の場合、第3のステップの計算量はO(NlogN)であり、ポーラ符号の符号化の計算量まで低減される。したがって、内側エンコーダ301によって実行されるシステマティックエンコーダ250の第1および第3のステップは、本発明の原理にとって主要な関心のある符号であるPAC符号の場合、組み合わされた計算量O(NlogN)を有する。
【0065】
次に、システマティックエンコーダ300の第2のステップを実行する外側エンコーダ302の計算量に注目する。
【0066】
(命題2)パラメータ(U,A,a,γ)の何れかの例について、O(N)の算術演算(体Fにおける加算及び乗算)を用いて、外側符号化問題 (制約条件321、322、及び323を満たす一意のTIB v 314とTOB w 315の対を見つけること) を解決する外側エンコーダ302の実現が存在する。(IUTであることに加えて)Uがインパルス応答g=(g,g,…,g)∈F m+1を有するToeplitz行列である場合、O(mN)の算術演算を使用して外側符号化問題を解決する外側エンコーダ302の実現形態が存在する。
【0067】
(証明)解を計算するアルゴリズムを与えることによって命題を証明する。ここで、ui,jをUの(i,j)番目の要素を示すとする。Uは、仮定により上三角形であるからであるからi>jについてui,j=0である。したがって、方程式の系w=vUは、w=v1,1、w=v1,2+v2,2と書くことができ、より一般的には、i=1,2,…,Nについて、w=v1,i+…+vi-1i-1,i+vi,iと書くことができる。これらの式は逐次解くことができる。第1の方程式w=v1,1は、1∈A又は1∈Aという2つのケースを有する。第1のケースでは、(v,w)=(a,a1,1)となる。第2のケースでは(v,w)=(γ(u1,1-1,γ)、ここで、(u1,1-1は、u1,1の乗法的逆数である。なお、仮定によりUは可逆であるため、各iについて、ui,i≠0であって乗算の逆数(u1,1-1は全て存在する。帰納仮説として、各h=1,2,…,i-1について、(v,w)それぞれについて決定したものとし、次のペア(v,w)を考える。ここで、フィードフォワード変数をs=v1,i+…+vi-1i-1,iとして定義する。なお、フィードフォワード変数sの値は、上記のアルゴリズムのステップi-1の最後に利用可能となり、ステップiにおけるペア(v,w)の計算に利用可能となる。2つの未知数(v,w)のうちの1つはまた、i∈Aの場合に、FDB aの何らかの要素としてv=aとなるか、または、i∈Aの場合に、OCB γの何らかの要素γによりv=γとなるため、ステップiで知られている。いずれの場合も、関係w=s+vi,iからペアの残りの要素を得ることができる。具体的には、i∈Aであれば(v,w)=(a,s+ai,i)であり、代わりに、i∈Aであれば、(v,w)=((γ-s)(ui,i-1,γ)である。これで、解(v,w)が存在し、一意であることの証明が完了した。
【0068】
上記手順の計算量は、フィードフォワード変数sの計算によって支配される。N回のフィードフォワード変数計算があり、その各々は多くてもN回の乗算及びN-1回の加算演算を必要とする。したがって、全体の計算量はO(N)になる。もしUがIUT Toeplitzで、インパルス応答g=(g,g,…,g)∈F m+1を持つ場合、j≧iの場合vi-j=0として、i=1,2,…,Nについてw=v+vi-1+…+vi-mとなる。フィードフォワード変数は、s=vi-1+…+vi-mで与えられるから、多くてもm回の乗算及びm-1回の加算を必要とする。したがって、フィードフォワード変数の計算の計算量がO(N)からO(m)に減り、全体の計算量がO(mN)となる。以上で、命題2の証明が完了した。
【0069】
命題2の証明に示された手順は、本発明の原理による外側エンコーダ302の基礎を形成する。ここで、この手順のより正確なアルゴリズム的説明を与える。
【0070】
図4Aは、本発明の原理に従って外側エンコーダ302を実装するためのIUT符号化方法400のフローチャートである。IUT符号化方法400(以下、方法400)は、外側エンコーダ302に関連して上記で定義された4つのパラメータ(U,A,a,γ)を用いて動作するように構成される。方法400は、制約条件321、322、および323を満たすTIB v 314とTOB w 315のペアを計算することによって、外側符号化問題を解決する。方法400は、開始ステップ401で動作を開始し、新しいOCB γ∈F 312が符号化のために利用可能になると、OCB入力ステップ402に移る。OCB入力ステップ402では、メソッド400は、外部、例えば、内側エンコーダ301からOCB γ 312を取得する。
【0071】
OCB入力ステップ402に続いて、方法400は変数初期化ステップ403に進み、ループカウンタi、FDB制約カウンタj、およびOCB制約カウンタkを初期化する。ループカウンタiは、方法400が主ループを実行した回数をカウントし、主ループはループカウンタ増分ステップ404の実行で開始する。ステップ403では、ループカウンタiの初期値を0に設定する。FDB制約カウンタjは、方法400の動作中の任意の瞬間にj←min{1,N-K}により初期化され、カウンタjは、N-K個のFDB制約323のうちのどの制約が方法400によって次に処理されることになるかを示す。FDB制約323の数が0である場合、すなわち、N-K=0である場合、FDB制約カウンタjは、ステップ403で0に設定され、方法400の動作の残りの間、0のままである。OCB制約カウンタkは、k←min{1,K}により初期化され、方法400の動作中の任意の瞬間に、k個のOCB制約322のうちのどの制約が方法400によって次に処理されることになるかを示す。OCB制約の数が0である場合、すなわち、K=0である場合、OCB制約カウンタkは、ステップ403で0に設定され、方法400の動作の残りの間、0のままである。
【0072】
変数初期化ステップ403の後、方法400は、ループカウンタiを1だけインクリメントすることによってループカウンタ・インクリメントステップ404を実行する。ステップ404は、方法400の主ループの開始を示す。メインループは、N回実行される。メインループの第i回目の実行中、方法400は、フィードフォワード値sをFDB a 313の現在の要素a又はOCB γ 312の現在の要素γと共に処理して、TIB v 314の次の要素vとTOB w 315の次の要素wを生成する。メインループの詳細は以下の通りである。
【0073】
方法400は、ステップ404に続いてループカウンタチェックステップ405に入り、ループカウンタiが依然としてその最終値N以下であるかどうかをチェックする。チェックの結果がNOである場合、方法400は終了ステップ406に進む(次のOCBが符号化のために利用可能である場合、終了ステップ406をバイパスすることができ、方法400は、OCB入力ステップ402に再び入ることによって次のOCBの処理に進むことができる)。ステップ405のチェックの結果がYESである場合、方法400は、フィードフォワード計算ステップ407に進み、フィードフォワード値s=Σh=1 i-1h,iを計算する。i=1の場合、フィードフォワード値をゼロに設定する、すなわち、s=0を計算する。ステップ407からの次のステップは、制約タイプチェックステップ408である。
【0074】
制約タイプチェックステップ408では、次に処理すべき制約がFDB制約323(b=0で示される)であるか、OCB制約322(b=1で示される)であるかをチェックする。ここで、b=(b,b,…,b)は、i∈Aならばb=1、i∈Aならばb=0となるようインデックス集合Aから導出される制約タイプインジケータ(CTI)である。言い換えると、CTI bは、インデックス集合Aのインジケータベクトルである。CTI bのi番目座標を調べることで、集合Aを検索してiが含まれているかどうかを調べるよりも効率的である。このような目的のためにブールベクトルを使用することは、以下で説明するハードウェア実装で特に有用である。
【0075】
制約タイプチェックステップ408の結果がNOである場合、方法400は、w=ai,i+s、v=aを設定して、FDB制約処理ステップ409を実行する。ステップ409の後には常にステップ411が続き、FDB制約カウンタjがj←min{j+1,N-K}により更新される。ステップ411の終了時、FDB制約カウンタjは、残りがある場合は処理すべき次のFDB制約323を指し、全てのFDB制約323を処理した場合はjの値はN-Kのままである。
【0076】
制約タイプチェックステップ408の結果がYESである場合、方法400は、w=γ、v=(γ-s)(ui,i-1を設定して、OCB制約処理ステップ410を実行する。ステップ410の後には常にステップ412が続き、OCB制約カウンタkがk←min{k+1,K}により更新される。ステップ412の終わりに、OCB制約322カウンタkは、残りがある場合に処理すべき次のOCB制約を指示し、すべてのOCB制約322が処理された場合には、kの値はKのままである。
【0077】
ステップ411及び412の後には、出力ステップ413が続き、ここで、方法400は、TOB w 315の第iの要素wを出力する。オプションとして、方法400は、出力ステップ413の一部としてTIB v 314の第iの要素vを出力することができる。
【0078】
出力ステップ413に続いて、方法400はステップ404にループバックし、上述のように動作を続ける。
【0079】
すべての「min」演算を排除し、ステップ403において、j←min{1,N-K}、k←min{1,K}の代わりに、j←1、k←1、およびステップ411および412において、j←min{j+1,N-K}、k←min{k+1,K}の代わりに、j←j+1、k←1とすることによって、方法400をいくらか単純化することが可能である。この単純化は、範囲外の値を可能にし、または取り出すことを可能にするが、方法400の検査は、TIB v 314およびTOB w 315が依然として正確に計算されることを明らかにする。このタイプの単純化は、図5図9に関連して以下で説明するように、方法400のより具体的な実施形態でも有効である。
【0080】
IUT行列Uの対角要素がすべて1(Fにおける乗算的単位元)である場合、方法400の実施態様で別の単純化が行われる、すなわち、ステップ409の演算w=ai,i+sがw=a+sに単純化され、ステップ410の演算v=(γ-s)(ui,i-1がv=γ-sに単純化される。特に、変換演算が二進体F={0,1}上にある場合、方法400におけるすべての乗算および除算演算を、より単純な演算と置き換えることができ、それによって、ハードウェアおよびソフトウェアの両方で外側エンコーダ302を実装する計算量を低減する。
【0081】
図4Bは、方法400による例示的な計算450を示す図である。例示的な計算450は、例示的なIUT行列 U 452、例示的なCTI b 453、例示的なFDB a 454、および例示的なOCB γ 455を使用する。例示的な計算450は、二進体F={0,1}上にあると仮定される。例示的なパラメータ453および454を検査することによって、この例示的な計算における長さパラメータは、N=8であること、およびK=3であることを理解する。計算例450の詳細は、表451に示されている。表451の第i行目は、FDB制約処理ステップ409又はOCB制約処理ステップ410の終了直後にサンプリングされたメソッド400の変数の値を列挙したものである。例示的な計算の最後に、例示的なTIB v 456および例示的なTOB w 457が取得される。変数例452~457は、A={4,6,8}、A={1,2,3,5,7}とした場合の、変換制約 w=vU 321、FDB制約 vAc=a 323、OCB制約 w=γ 322を満たすことを容易に検証することができる。
【0082】
方法400は、外側符号化問題の解決策を提供するが、一般的なLUT行列U∈F N×Nの場合、計算量がO(N)であり、これは、実際にはしばしば法外なものとなる。また、Uが特殊な構造を有する場合には、計算量を軽減することができる。特に重要なのは、PAC符号の場合のように、UがIUTであることに加えてToeplitzである場合である。ここで、この重要な特殊ケースに焦点を当てる。
【0083】
図5Aは、本発明の原理に従って外側エンコーダ302を実施するためのIUT Toeplitz符号化方法500を示すフローチャートである。IUT Toeplitz符号化方法500(以下、方法500)は、外側変換行列UがIUT Toeplitz行列である場合に対応した方法400の特殊な例である。IUT Toeplitzの仮定によれば、方法500は、インパルス応答g=(g,g,…,g)∈F m+1、g≠0、g≠0であり、かつgが外側変換行列U∈F N×Nの第1の行から導出される場合ために構成される。
【0084】
方法500は、開始ステップ501で動作を開始し、OCB γ∈F 312が符号化のために利用可能になると、OCB入力ステップ502に移る。OCB入力ステップ502では、メソッド500は、外部、例えば、内側エンコーダ301からOCB γ 312を取得する。
【0085】
OCB入力ステップ502に続いて、方法500は変数初期化ステップ503に進み、ループカウンタi、FDB制約カウンタj、OCB制約カウンタkを初期化し、i=1,…,mについてr←0を設定することによってレジスタアレイr=(r,…,r)を初期化する。カウンタi、j、kは、方法400の場合と同じカウント機能を実行する。レジスタアレイrの役割は、以下の説明で明らかになるであろう。
【0086】
方法400の場合と同様に、カウンタj、kの初期化および更新は、方法400について説明したのと同じ方法で「min」演算を除去することによって簡単にすることができる。そのような単純化は、方法500によって計算されるTIB v 314およびTOB w 315の最終値に影響を及ぼさない。
【0087】
変数初期化ステップ503の後、方法500は、ループカウンタiを1だけインクリメントすることによってループカウンタ・インクリメントステップ504を実行する。ステップ504は、方法500の主ループの開始を示す。メインループは、メソッド500が呼び出されるたびにN回実行される。メインループの第i回目の実行中、方法500は、フィードフォワード値sをFDB a 313の現在の要素a又はOCB γ 312の現在の要素γと共に処理して、TIB v 314の次の要素vとTOB w 315の次の要素wを生成する。メインループの詳細は以下の通りである。
【0088】
方法500は、ステップ504に続いてループカウンタチェックステップ505に入り、ループカウンタiが依然としてその最終値N以下であるかどうかをチェックする。チェックの結果がNOである場合、方法500は終了ステップ506に進む(次のOCB 312が符号化のために利用可能である場合、終了ステップ506をバイパスすることができ、方法500は、OCB入力ステップ502に再び入ることによって次のOCBの符号化に進むことができる)。ステップ505のチェックの結果がYESである場合、方法500は、フィードフォワード計算ステップ507に進み、フィードフォワード値s=Σh=1 を計算し、制約タイプのチェックステップ508に進む。
【0089】
制約タイプチェックステップ508では、次に処理すべき制約がFDB制約323(b=0で示される)であるか、OCB制約322(b=1で示される)であるかを調べる。
【0090】
制約タイプチェックステップ508の結果がNOである場合、方法500は、w=a+s、v=aと設定してFDB制約処理ステップ509を実行する。ステップ509の後にステップ511が続き、FDB制約カウンタjがj←min{j+1,N-K}により更新される。ステップ511の終了時、FDB制約カウンタjは、残りがある場合は処理すべき次のFDB制約323を指し、全てのFDB制約323を処理し終えた場合はjの値はN-Kのままである。
【0091】
制約タイプチェックステップ508の結果がYESである場合、方法500は、w=γ、v=(γ-s)(g-1と設定してOCB制約処理ステップ510を実行する。ステップ510の後にステップ512が続き、OCB制約カウンタkがk←min{k+1,K}により更新される。ステップ512の終わりに、OCB制約カウンタkは、残りがある場合に処理すべき次のOCB制約322を指示し、すべてのOCB制約322が処理された場合には、kの値はKのままである。
【0092】
ステップ511、512の後には、レジスタ更新ステップ513が続き、h=m,m-1,…,2に従って順番にr←rh-1と設定し、最後にr←vと設定することでレジスタアレイrの内容を1桁右にシフトさせる。
【0093】
ステップ513の後には、出力ステップ514が続き、ここで、方法500は、TOB w 315の第iの要素wを出力する。オプションとして、方法500は、出力ステップ514の一部としてTIB v 314の第i要素vを出力することができる。
【0094】
出力ステップ514に続いて、方法500はステップ504にループバックし、上述のように動作を続ける。
【0095】
方法500の計算量は、典型的にはO(mN)であり、方法400の計算量O(N)よりもかなり小さい。例えば、PAC符号の場合、パラメータmは、通常、固定の小さな整数であるが、Nはいくらでも大きくなる可能性がある。
【0096】
本発明の主な利点は、この時点で見ることができるようになる。TF符号のシステマティック符号化問題を3ステップに分解した結果、外側変換行列のToeplitz形式を最大限に活用し、外側符号化問題を計算量O(mN)で解決できる外側符号器が得られた。この計算量は、TF符号のための一般的なシステマティックエンコーダの計算量O(N)に対しても非常に有利に比較される。特に、TF符号のシステマティック符号化の直接法は、上述のように、TCB xをx=d、xAc=dE+eにより設定して計算する。直接法は、外側変換行列のToeplitz構造を利用せず、計算量O(N)を被るが、本発明の原理は計算量をO(mN)に低減する。
【0097】
方法400の場合と同様に、すべての「min」演算を排除することによって、方法500を単純化することが可能である。方法400の場合のように、IUT変換Uの対角要素がすべて1(Fにおける乗算単位元)である場合、または変換演算が2進体F={0,1}上にある場合、方法500の実施態様で別の単純化が行われる。
【0098】
図5Bは、方法500による例示的な計算550を表形式で示す図である。例示的な計算550は、例示的なIUT Toeplitz行列 U 552、例示的なCTI b 553、例示的なFDB a 554、および例示的なOCB γ 555を使用する。例示的な計算550は、二進体F上にあると仮定される。例示的なパラメータ553および554を検査することによって、例示的な計算550における長さパラメータは、N=8であること、およびK=3であることを理解する。計算例550の詳細は、表551に示されている。表551の第i行目は、FDB制約処理ステップ509又はOCB制約処理ステップ510の終了直後にサンプリングされたメソッド500の変数の値を列挙したものである。例示的な計算550の最後に、例示的なTIB v 556および例示的なTOB w 557が取得される。変数例552~557は、A={4,6,8}、A={1,2,3,5,7}として、変換制約 w=vU 321、FDB制約 vAc=a 323、OCB制約 w=γ 322を満たしていることを容易に検証することができる。
【0099】
次に、方法500の効率的なハードウェア実装を提供することに注目する。方法500の最も計算集約的なステップは、フィードフォワード計算ステップ507である。このステップは、周知の畳み込み回路を用いて行うことができる。このような回路を論じるために、Toeplitz行列演算の多項式表現を使用することが好都合であろう。
【0100】
(命題3)1行目g=(g,g,…,gN-1)∈F を有する上三角形のToeplitz行列U∈F N×Nをとり、任意のベクトルv=(v,v,…,v)∈F をとり、w=(w,w,…,w)∈F が積w=vUで定義されるものとする。多項式g(D)=g+gD+…+gN-1N-1、v(D)=v+vD+…+vN-1、およびw(D)=w+wD+…+wN-1と定義する。そして、関係w=vUは、w(D)=v(D)g(D)mоdDにより多項式で表すことができる。
【0101】
(証明)w=vUと仮定する。次に、行列乗算の定義によって、1≦i≦Nについて、w=Σh=1 h,iを得る。Uは上三角形およびToeplitz であるため、1≦h≦i≦Nであればuh,i=gi-hであり、その他の場合はuh,i=0である。よって、1≦i≦Nについてw=Σh=1 i-hである。1≦i≦Nについて、wは積v(D)g(D)におけるDi-1の係数である。言い換えると、w(D)はv(D)g(D)mоdDに等しい。
【0102】
デジタル信号処理の当業者は、w(D)=v(D)g(D)mоdDという関係、または等価的には式w=Σh=1 i-hがTIB v 314とTOB w 315の間の畳み込み関係を定義することを認識するであろう。具体的には、TOB w 315は、TIB v 314を入力とした場合に、インパルス応答g=(g,g,…,gN-1)を有する線形時不変フィルタによって生成される最初のN項とみなすことができる。このようなフィルタをハードウェアで実現するための多くの回路が存在し、これらを本文脈で使用して方法500を実施することができる。ハードウェアの計算量を最小限にするために、以下では、インパルス応答g=(g,g,…,gN-1)の末尾ゼロを省略し、g=(g,g,…,g)と書く。ここで、mは、範囲0≦i≦N-1においてg≠0を満たす最大整数である。以下に示す回路実装では、パラメータmは、必要とされるレジスタステージの数となる。本発明の原理の典型的な用途では、パラメータmは、符号ブロック長Nよりもかなり小さい数として固定される。
【0103】
図6は畳み込み回路600の概略図である。畳み込み回路600は、g(D)=g+gD+…+gN-1N-1を固定多項式とし、v(D)=v+vD+…+vN-1、およびw(D)=w+wD+…+wN-1v(D)をそれぞれ入力多項式及び出力多項式とした時に、命題3の積w(D)=v(D)g(D)mоdDを算出するように構成されている。
【0104】
畳み込み回路600は、入力ポート601、出力ポート602、レジスタ611~613、乗算器621~625、加算器631~634を備えている。畳み込み回路600は、入力ポート601における入力多項式v(D)の係数vを自然順序v(第1)、v,…,vの順で受け取り、出力ポート602における出力多項式w(D)の係数wをw(第1)、w,…,wの順で算出し、送出する。第1の入力vを受ける前に、レジスタr,r,…,r611~613の内容は0に初期化される。この回路は、i=1,2,…,Nについて、関係w=Σj=0 i-jを強制し、ここで、i-j<1についてvi-jは0として解釈される。したがって、第1の出力係数wはw=gにより与えられ、第2の出力係数はw=g+gにより与えられ、最終の出力係数はw=g+gN-1+…+gN-mで与えられる。畳み込み回路600が動作を完了するまでにN時間単位を要する。畳み込み回路600は、任意の体において積w(D)=g(D)v(D)mоdDを計算することができる。また、固定多項式g(D)の係数gをゼロとすることで、対応する乗算器回路及び加算器回路を省略できることが分かり、回路の簡略化を図ることができる。例えば、g=0であれば、乗算器621、加算器631を省略することができる。g=1(乗算単元)の場合、さらなる単純化が行われ、この場合、対応する乗数を除去することができる。特に、演算の体が二進体の場合、乗算器を必要とせず、論理排他的論理和(XOR)ゲートを用いて加算演算を実現することができる。畳み込み回路600及びデジタル論理におけるその様々な実装は、従来技術において周知である。
【0105】
図7は、本発明の原理に従って外側エンコーダ302を実施するためのIUT Toeplitzエンコーダ回路700の概略図である。IUT Toeplitzエンコーダ回路700は、加算器、乗算器、ランダムアクセスメモリ、シフトレジスタ、およびマルチプレクサなどの一般に入手可能なデジタル論理素子を使用するハードウェアにおける方法500の実装である。回路700は、FDB a 313の要素aを受信するためのFDB入力ポート701と、OCB γ 312の要素γを受信するためのOCB入力ポート702と、CTI bの要素bを受信するためのCTI入力ポート703と、TOB w 315の要素wを送出するためのTOB出力ポート704と、TIB v 314の要素vを送出するためのTIB出力ポート705を含む。
【0106】
回路700は、フィードフォワード計算回路710、第1のマルチプレクサMUX1 720、および第2のマルチプレクサMUX2 730をさらに備える。回路700は、方法500のステップに従う。方法500の実装における特定のステップは、回路700を不必要な詳細で煩雑化しないようにするために、回路700に明示的に示されていない。特に、FDB a 313、OCB γ 312、及びCTI bを保持するためのクロック回路、制御ロジック、及び記憶素子は、回路700には示されていない。また、回路700には、各要素a、γ、bを各記憶場所から取得するためのメモリアドレスとして用いられるカウンタj、k、iの初期化及びインクリメントのための論理回路も示されていない。デジタル回路設計の当業者は、方法500の完全な実装を得るために、回路700のための制御論理のそのようなルーチンの詳細を完了することを困難にしないであろう。
【0107】
フィードフォワード計算回路710は、畳み込み回路600によって着想される。フィードフォワード計算回路710の機能は、方法500のステップ507を実行することである。フィードフォワード演算回路710は、TIB v 314の各要素vを入力とし、フィードフォワード値s=Σh=1 を出力として生成する。動作開始時には、方法500のステップ503と同様に、フィードフォワード演算回路710内のレジスタの内容が0に初期化される。
【0108】
マルチプレクサMUX1 720、MUX2 730は、デジタル回路で共通に採用されている通常の2対1マルチプレクサである。具体的には、ここで用いられる2対1マルチプレクサは、2つの入力ポートIN1、IN0、制御ポートSEL、出力ポートOUTを有している。2対1マルチプレクサは、制御ポートSELの信号が論理1(又は論理0)の場合、入力ポートIN1(又は入力ポートIN0)の論理信号を出力ポートOUTへ転送する。
【0109】
制約タイプチェックステップ508は、CTI入力ポート703をマルチプレクサMUX1 720、MUX2 730のSEL入力723、733に接続することで実現される。
【0110】
=0である場合、第1のマルチプレクサMUX1 720は、入力ポートIN0 722からの信号a+sを出力ポートOUT 724にルーティングし、第2のマルチプレクサMUX2 730は、入力ポートIN0 732からの信号aを出力ポートOUT 734にルーティングする。したがって、b=0の場合、TOB出力ポート704の信号がw=a+sとして得られると、TIB出力ポート705の信号は、方法500のステップ509によって必要とされるように、v=aとして得られる。b=0の場合、制御ロジックは、方法500のステップ511に従ってFDB制約カウンタjを更新する。
【0111】
=1の場合、第1のマルチプレクサMUX1 720は、入力ポートIN1 721からの信号γを出力ポートOUT 724にルーティングし、第2のマルチプレクサMUX2 730は、入力ポートIN1 731からの信号(γ-s)(g-1を出力ポートOUT 734にルーティングする。したがって、b=1の場合、TOB出力ポート704の信号がw=γとして得られると、方法500のステップ510によって必要とされるように、出力ポート705の信号がv=(γ-s)(g-1として得られる。b=1の場合、制御ロジックは、方法500のステップ512に従ってOCB制約カウンタkを更新する。
【0112】
計算の第iラウンドの終わりに、信号vは、フィードフォワード計算回路710への入力で次の信号となり、一方、レジスタr,r,…,rm-1の内容は、1つの場所だけ右にシフトされる。
【0113】
上記の説明に従って、当業者は、方法500で説明したように回路700が実行されるように回路700を実装することを困難にしないであろう。当業者はまた、処理待ち時間を短縮し、スループットを改善するためにパイプライン化および並列化を含む方法500の様々な代替実現形態が存在することを認識するであろう。
【0114】
また、外側変換行列がIUT Toeplitzの場合、畳み込み回路600の転置形を用いて外側エンコーダ302を実現することができる。ここで、そのような転置形の回路について説明し、それらを直接形の回路600と比較し、転置形の畳み込みに基づいた外側エンコーダ302の代替的な実装を与える。
【0115】
図8は、転置形畳み込み回路800の概略図である。転置形畳み込み回路800は、畳み込み回路600と同じ機能を実行するが、特定の実装上の利点を有するために好ましい場合がある。転置形畳み込み回路800は、命題3のように積w(D)=v(D)g(D)mоdDを演算するように構成され、g(D)=g+gD+…+gは固定多項式であり、v(D)=v+vD+…+vN-1、およびw(D)=w+wD+…+wN-1は、それぞれ入力多項式、出力多項式である。
【0116】
転置形畳み込み回路800は、畳み込み回路600からメイソンの法則(例えば、書籍「”A.V. Oppenheim and R. W.Schafer, Digital Signal Processing, Prentice-Hall, Englewood Cliffs, New Jersey, 1975” の156ページ参照)によって得られる。転置形畳み込み回路800は、入力ポート801、出力ポート802、レジスタ811~813、乗算器821~825、加算器831~834を備えている。
【0117】
転置形畳み込み回路800は、入力ポート801における入力多項式v(D)の係数vを自然な順序v(第1),v,…,vで受け取り、出力ポート802における出力多項式w(D)の係数を順序w(第1),w,…,wで算出し、送出する。第1の入力vを受け取る前に、レジスタr1,r1,…,rm 811~813の内容は0に初期化される。また、転置形畳み込み回路800は、演算を完了するまでにN時間単位を要する。転置形畳み込み回路800は、任意の体において積w(D)=g(D)v(D)mоdDを計算することができる。また、固定多項式g(D)の係数gがゼロであれば、対応する乗算器回路及び加算器回路を省略できることが分かり、回路の簡略化を図ることができる。g=1(乗算単位元)の場合、さらなる単純化が行われ、この場合、対応する乗数を除去することができる。特に、演算の体が2進体の場合、乗算器を必要とせず、論理排他的論理和(XOR)ゲートを用いて加算演算を実現することができる。転置形畳み込み回路800の動作の詳細、およびデジタル論理におけるその様々な実装は、従来技術で周知である。
【0118】
デジタル回路設計の当業者には、直接形畳み込み回路600(略、直接形回路600)の場合)と転置形畳み込み回路800(短絡、転置形回路800の場合)が、実装の観点から、互いに対してある利点と欠点を有することが明らかであろう。直接形回路600の欠点は、転置形回路800と比べて遅延(レイテンシ又はクリティカルパスとも呼ばれる)が大きいことである。ここで、直接型回路600の遅延は、加算器の遅延Taddと乗算器の遅延Tmultとを用いてmTadd+Tmult時間単位の出力602の演算によって決定される。これに対して、転置形回路800の遅延は、Tadd+Tmultとなる。したがって、転置形回路800は、直接形回路600と比べてより高いクロック周波数で動作することができ、これは、高スループットの用途にとって重要である。一方、当業者であれば、直接形回路600にパイプラインを導入し、既存の各レジスタとタンデムに余分なパイプラインレジスタを追加することで、その遅延をTadd+Tmultに短縮することが可能であることを理解するであろう。2つの回路を信号のファンアウトで比較すると、転置形回路800の入力801はファンアウトmとなり、直接形回路600はファンアウトが2よりも大きい信号を使用しない。mが大きければ、ファンアウトを考慮する必要がある要因となる。
【0119】
図9Aは、本原理の一実施形態に係るIUT Toeplitz転置形式エンコーダ方法900のフローチャートである。IUT Toeplitz転置形符号化方法900(以下、方法900)は、g≠0、g≠0を満たすインパルス応答g=(g,g,…,g)∈F m+1を有するIUT Toeplitz行列U∈F N×Nのために構成される。方法900は、開始ステップ901で動作を開始し、新しいOCB γ∈F 312が符号化のために利用可能になると、OCB入力ステップ902に移る。OCB入力ステップ902では、メソッド900は、外部、例えば、内側エンコーダ301からOCB γ 312を取り出す。
【0120】
OCB入力ステップ902に続いて、方法900は変数初期化ステップ903に進み、ループカウンタi、FDB制約カウンタj、OCB制約カウンタk、及びレジスタアレイr=(r,…,r)を、i=1,…,mについてr←0と設定することよって初期化する。カウンタi、j、及びkは、方法400の場合と同じカウント機能を実行する。以下、レジスタアレイrの役割について説明する。
【0121】
方法400の場合と同様に、カウンタj及びkの初期化および更新は、方法400について説明したのと同じ方法で「min」演算を除去することによって単純化することができる。そのような単純化は、方法900によって計算されるTIB v 314およびTOB v 315の最終値に影響を及ぼさない。
【0122】
変数初期化ステップ903の後、方法900は、ループカウンタiを1だけインクリメントすることによってループカウンタ・インクリメントステップ904を実行する。ステップ904は、方法900の主ループの開始を示す。主ループは、メソッド900が呼び出されるたびにN回実行される。主ループの第i回目の実行中、方法900は、フィードフォワード値sをFDB a 313の現在の要素a又はOCB γ 312の現在の要素γと共に処理して、TIB v 314の次の要素vとTOB w 315の次の要素wを生成する。主ループの詳細は以下の通りである。
【0123】
方法900は、ステップ904に続いてループカウンタチェックステップ905に入り、ループカウンタiが依然としてその最終値N以下であるかどうかをチェックする。チェックの結果がNOである場合、方法900は終了ステップ906に進む(次のOCB 312が符号化に利用可能である場合、終了ステップ906をバイパスすることができ、方法900は、パラメータ初期化ステップ902に再び入ることによって次のOCBの符号化に進むことができる)。
【0124】
ステップ905のチェックの結果がYESである場合、方法900は、制約タイプチェックステップ907に進み、処理される次の制約がFDB制約323(b=0によって示される)またはOCB制約322(b=1によって示される)であるかどうかをチェックする。
【0125】
制約タイプチェックステップ907の結果がNOの場合、方法900は、FDB処理ステップ908をw=a+r、v=aを設定することにより実行する。ステップ908の後にステップ910が続き、FDB制約カウンタjがj←min{j+1,N-K}により更新される。ステップ910の終わりに、FDB制約カウンタjは、残りがある場合には処理すべき次のFDB制約323を指示し、すべてのFDB制約323が処理された場合には、jの値はN-Kのままである。
【0126】
制約タイプチェックステップ907の結果がYESである場合、方法900は、OCB処理ステップ909をw=γ、v=(γ-r)(g-1と設定することで実行する。ステップ909の後にステップ911が続き、OCB制約カウンタkがk←min{k+1,K}により更新される。ステップ911の終わりに、OCB制約カウンタkは、残りがある場合に処理すべき次のOCB制約322を指示し、すべてのOCB制約322が処理された場合には、kの値はKのままである。
【0127】
ステップ910、911の後には、いずれもレジスタ更新ステップ912が続き、レジスタアレイrの内容をh=1,2,…,m-1の順にr←rh+1+vにより更新した後に、r←vと続く。ここで、rはフィードフォワード変数sの役割を果たす。
【0128】
ステップ912からの次のステップは、出力ステップ913であり、方法900は、TOB w 315の第iの要素wを出力する。オプションとして、方法500は、出力ステップ913の一部としてTIB v 314のi番目の要素vを出力することができる。
【0129】
出力ステップ913に続いて、方法900はステップ904にループバックし、上述のように動作を続ける。
【0130】
方法900の計算量はO(mN)であり、方法500の計算量と同じであるが、方法400の計算量O(N)と比べるとmがNに比べて小さい場合にはかなり小さい場合がある。
【0131】
方法400の場合と同様に、すべての「min」演算を排除することによって、方法900を単純化することが可能である。方法400の場合のように、IUT変換Uの対角要素がすべて1(Fの乗算単位元)である場合、または変換演算が二進体F={0,1}上にある場合、方法900の実施態様で別の単純化が行われる。
【0132】
図9Bは、方法900による例示的な計算950を表形式で示す図である。例示的な計算950は、例示的な変換行列 U 952、例示的なCTI b 953、例示的なFDB a 954、および例示的なOCB γ 955を使用する。例示的な計算950は、二進体F上にあると仮定される。例示的なパラメータ b 953及び a 954を検査することによって、例示的な計算950における長さパラメータはN=8、K=3であることが理解される。例示的な計算950の詳細は、表951に示されている。表951の第i行目は、FDB制約処理ステップ908又はOCB制約処理ステップ909の終了直後にサンプリングされたメソッド900の変数の値を列挙したものである。例示的な計算950の最後に、例示的なTIB v 956および例示的なTOB w 957が取得される。また、変数952~957の一例が、A={4,6,8}、A={1,2,3,5,7}として、変換制約 w=vU 321、FDB制約 vAc=a 322、OCB制約 w=γ 3233を満たすことを容易に検証することができる。
【0133】
なお、算出例550と算出例950の入力パラメータは同一である。予想されるように、550と950の両方が、出力として同じTIB v 314と同じTOB w 315を生成する。
【0134】
次に、転置形畳み込み回路800に基づく方法900のハードウェア実装を示す。
【0135】
図10は、本発明の一実施形態に係る転置形IUT Toeplitzエンコーダ回路1000の概略図である。転置形IUT Toeplitzエンコーダ回路1000(以下、回路1000)は、加算器、乗算器、ランダムアクセスメモリ、シフトレジスタ、およびマルチプレクサなどの一般に入手可能なデジタル論理要素を使用するハードウェアにおける方法900の実装である。回路1000は、FDB a 313の各要素aを受信するFDB入力ポート1001、OCB γ 312の各要素γを受信するOCB入力ポート1002、CTI bの各要素bを受信するCTI入力ポート1003、TOB w 315の各要素wを送出するTOB出力ポート1004、TIB v 314の各要素vを送出するTIB出力ポート1005を備えている。
【0136】
回路1000は、転置形フィードフォワード計算回路1010、第1のマルチプレクサMUX1 1020、および第2のマルチプレクサMUX2 1030をさらに備える。回路1000は、方法900のステップに従う。方法900の実装における特定のステップは、回路1000を不必要な詳細で煩雑化しないようにするために、回路1000に明示的に示されていない。特に、FDB a 313、OCB γ 312、及びCTI bを保持するためのクロック回路、制御ロジック、及び記憶素子は、回路1000には示されていない。また、回路1000には、各記憶場所から各要素β、γ、bを取得するためのメモリアドレスとして用いられるカウンタj、k、iの初期化及びインクリメントを行うための論理回路が示されていない。デジタル回路設計の当業者は、方法900の完全な実装を得るために、回路1000のそのようなルーチンの詳細を完了することを困難にしないであろう。
【0137】
転置形フィードフォワード計算回路1010は、転置形畳み込み回路800によって着想される。転置形フィードフォワード計算回路1010の機能は、方法900のステップ912を実行することである。転置形フィードフォワード計算回路1010は、TIB v 314の要素vを入力として受け、出力においてrをフィードフォワード変数sとして生成する。また、転置形フィードフォワード計算回路1010内のレジスタの内容は、方法900のステップ903と同様に、動作の開始時に0に初期化される。
【0138】
マルチプレクサMUX1 1020、MUX2 1030は、デジタル回路で共通に用いられる通常の2対1マルチプレクサである。具体的には、ここで用いられる2対1マルチプレクサは、2つの入力ポートIN1、IN0、制御ポートSEL、出力ポートOUTを有している。2対1マルチプレクサは、制御ポートSELの信号が論理1(論理0)の場合、入力ポートIN1(入力ポートIN0)の論理信号を出力ポートOUTへ転送する。
【0139】
制約タイプチェックステップ907は、CTI入力ポート1003をマルチプレクサMUX1 1020、MUX2 1030のSELポート1023、1033に接続することで実現される。
【0140】
=0の場合、第1のマルチプレクサMUX1 1020は、入力ポートIN0 1021からの信号aを出力ポートOUT 1024へルーティングし、第2のマルチプレクサMUX2 1030は、入力ポートIN0 1031からの信号a+rを出力ポートOUT 1034へルーティングする。したがって、b=0の場合、TOB出力ポート1004の信号がw=a+rとして得られると、TIB出力ポート1005の信号は、方法900のステップ908によって必要に応じてv=aとして得られる。b=0の場合、制御ロジックは、方法900のステップ910に従ってFDB制約カウンタjを更新する。
【0141】
=1の場合、第1のマルチプレクサMUX1 1020は、入力ポートIN1 1022からの信号(γ-r)(g-1を出力ポートOUT 1024へルーティングし、第2のマルチプレクサMUX2 1030は、入力ポートIN1 1032からの信号γを出力ポートOUT 1034へルーティングする。したがって、b=1の場合、方法900のステップ909の必要に応じて、TOB出力ポート1004の信号がw=γとして得られ、TIB出力ポート1005の信号がvi=(γ-r)(g-1として得られる。b=1の場合、制御ロジックは、方法900のステップ911に従ってOCB制約カウンタkを更新する。
【0142】
計算の第iラウンドの終わりに、信号vは転置形フィードフォワード計算回路1010への次の入力となる一方、レジスタr,r,…,rm-1の内容は方法900のステップ912に従って更新される。上記の説明に従って、当業者は、方法900で説明したように回路1000が実行されるように、回路1000を実装することを困難にしないであろう。当業者はまた、処理待ち時間を短縮し、スループットを改善するためにパイプライン化および並列化を含む方法900の様々な代替の実現形態を認識するであろう。
【0143】
上記の本発明の原理の実施形態は、代替の実施形態を得るために、いくつかの方法で修正または拡張することができる。私たちはそのような代替案を羅列する。
【0144】
外側エンコーダ302のいくつかの実装形態では、デュアル方法を使用することが好ましい場合がある。デュアルメソッドのアイデアは、外側エンコーダ302のパラメータのプライマル集合(U,A,a,γ,v,w)をパラメータのデュアル集合(U-1,A,γ,a,w,v)で置き換えることである。デュアル法では、上述した方法をデュアルケースに適用する。我々は、デュアル方法の基礎を形成する2つの基本的な結果を述べる。
【0145】
(命題4)N≧1について、すべてのN×NIUT行列のクラスは行列乗算の下で群を形成する場合、言い換えると、2つのIUT行列の積がIUT行列であり、IUT行列の逆行列がIUT行列である。
【0146】
なお、命題4は周知の結果であるため、その証明を省略する。
【0147】
(命題5)全てのN×NIUT Toeplitz行列のクラスは、行列乗算の下で群を形成する。1行目がg=(g,g,…,gN-1)∈F で与えられるIUT Toeplitz行列をU∈F N×Nとする。すると、U-1は、再帰的公式:h=(1/g)、k=1,2,…,N-1についてh=(1/g)Σi=1 k-iによって与えられる第1の行h=(h,h,…,hN-1)∈F を有するIUT Toeplitz行列である。等価的には、多項式g(D)=g0
D+…+gN-1N-1、h(D)=h+hD+…hN-1N-1は、h(D)=[1/g(D)]mоdDによって関係付けられる。
【0148】
命題5の証明は既知の結果であるため省略する(例えば、D. Commenges and M. Monsion, ”Fast inversion of triangular Toeplitz matrices”, IEEE Transactions on Automatic Control, vol. 29, no. 3, pp. 250-251, Marc. 1984を参照のこと)。
【0149】
以下の例は、デュアルToeplitz変換が、場合によっては実装するのに複雑でない可能性があることを示している。
【0150】
(例)U∈F 16×16を1行目がg=(1,1,1,1,0,0,0,0,1,1,0,1,1,0,1,0)であるIUT Toeplitz行列とする。命題5により、その逆行列U-1∈F 16×16は1行目h=(1,1,0,0,1,1,0,0,0,0,1,0,0,0,0,0)のIUT Toeplitz行列となる。我々は、g(D)の次数が14であり、h(D)の次数が10であることを観察する。したがって、デュアル多項式h(D)を使用して回路700および1000を実装するには、g(D)を使用する場合の14と比べて10個のシフトレジスタが必要である。
【0151】
当業者であれば、上記の説明からこのような方法を実施するのが難しいことはないので、外側エンコーダ302を実施するためのデュアル方法の詳細を省略する。次に、本発明の原理を拡張することができる別の方向に移る。
【0152】
例えば図3に示されている上記の本発明の実施形態では、外側変換行列をIUT行列、内側変換をILT行列と仮定した。当業者であれば、生成行列Gが外側変換Aと内側変換Bの積G=ABに分割され、任意のIUT行列U、ILT行列L、および置換行列P,Q,R、SについてA=PUQ,B=RLSを満たす場合、本発明の原理を適用して、当業者は、システマティックエンコーダ300(及び図4A, 5A、7、9A、10に示されるより具体的な実施形態)を修正することで、修正された三角因数分解G=ABに基づくシステマティックエンコーダを実装することができるであろう。
【0153】
本発明の原理の別の拡張は、以下の通りである。上記のTF符号のシステマティック符号化の処理では、考慮中の様々な変換が正方行列によって表されると仮定した。本発明の原理は、生成行列が非正方行列として指定される生成行列を有する符号に対してシステマティック符号化が所望される場合に拡張することができる。そのような場合、非正方形生成行列は、それを正方形行列に変えるために余分の行または列によって増補されてもよく、結果として得られる正方形行列の三角因数分解を、本発明の原理に関連して使用して、符号のシステマティックエンコーダを得ることができる。本発明の原理を明示的または暗示的に使用するこのような実施形態はすべて、本発明の原理の範囲内に入る。
【0154】
最後に、本発明の原理は、符号短縮のために容易に使用できることに留意されたい。短縮は、符号の長さに対して柔軟性を持たせる方法である。いくつかの符号ファミリーは、符号が構築される方法によって指示される何らかの自然な符号長を有する。所与の符号の自然な符号長は、特定の用途の特別な要件に適合しない場合があり、その場合、符号長を調整する方法を有することが望ましい。短縮する場合、TCBの一部を固定短縮ブロック(FSB:Fixed Shortening Block)とし、FSBをシンボルの固定パターン(通常、全てゼロのパターン)とする。TCBは、送信チャネルを通じてFSBを送信しないことによって短縮される。短縮を適用する場合、復号タスクを開始する前にTCBの欠落部分を復元できるように、システム内のデコーダがFSBを知っていることを保証することが一般的な慣行である。
【0155】
TF符号の統合短縮およびシステマティック符号化のために、本原理は、FSBをSDBに埋め込むことによって適用することができる。TF符号の非システマティック符号化で短縮が望まれる場合、SDBをFDBに埋め込み、本原理によるシステマティック符号化を、(SDBであるかのように)TCBに埋め込まれたFSBで実行することができる。
【0156】
以上、本発明の様々な実施形態について説明した。次に、本発明の原理を使用することができる通信システムのいくつかの例に移る。
【0157】
図11は、三角変換を使用する誤り訂正符号化におけるデータ符号化が、本開示に従って実装され得る、例示的な無線ネットワークを図示する。図11に示される無線ネットワーク1100の実施形態は単に説明のためのものである。本開示の範囲から逸脱することなく、無線ネットワーク1100の他の実施形態を使用することができる。無線ネットワーク1100は、eNodeB(eNB)1101、eNB 1102、eNB 1103を有する。eNB 1101は、eNB 1102及びeNB 1103と通信する。eNB 1101はまた、インターネット、専用IPネットワーク、または他のデータネットワークなどの少なくとも1つのインターネットプロトコル(IP)ネットワーク1130と通信する。
【0158】
また、ネットワークの種類によっては、「基地局」や「アクセスポイント」など、「eNodeB」や「eNB」の代わりに他の周知の用語を用いてもよい。便宜上、「eNodeB」および「eNB」という用語は、本特許文書では、リモート端末に無線アクセスを提供するネットワークインフラストラクチャコンポーネントを指すために使用される。また、ネットワークの種類によっては、「移動局」(または「MS」)、「加入者局」(または「SS」)、「遠隔端末」、「無線端末」、または「ユーザ装置」など、「ユーザ機器」または「UE」の代わりに他の周知の用語を使用することもできる。 便宜上、「ユーザ機器」および「UE」という用語は、本特許文書では、UEがモバイルデバイス(携帯電話またはスマートフォンなど)であろうと、通常は固定デバイス(デスクトップコンピュータまたは自動販売機など)と考えられるかどうかにかかわらず、eNBに無線でアクセスするリモート無線機器を指すものとして使用される。
【0159】
eNB 1102は、eNB 1102のカバレージエリア1120内の第1の複数のユーザ機器(UE)のための無線ブロードバンドアクセスをネットワーク1130に提供する。第1の複数のUEは、スモールビジネス(SB)に位置し得るUE 1111と、エンタープライズ(E)に位置し得るUE 1112と、WiFiホットスポット(HS)に位置し得るUE 1113と、第1の住居(R1)に位置し得るUE 1114と、第2の住居(R2)に位置し得るUE 1115と、携帯電話、無線ラップトップ、無線パーソナルデジタルアシスタント(PDA)、タブレットなどのようなモバイルデバイスeNB 1103は、eNB 1103のカバレージエリア1125内の第2の複数のUEのために、ネットワーク1130への無線ブロードバンドアクセスを提供する。第2の複数のUEは、UE 1115とUE 1116とを含む。いくつかの実施形態では、eNB1101~1103のうちの1つまたは複数は、3G、4G、または5G、ロングタームエボリューション(LTE)、LTE-A、WiMAX、または他の高度な無線通信技法を使用して、互いに、およびUE1111~1116と通信し得る。
【0160】
点線は、カバレージエリア1120および1125のおおよその範囲を示し、これらは、図示および説明の目的のためだけにおおよそ円形として示されている。カバレージエリア1120および1125など、eNBに関連するカバレージエリアは、eNBの構成と、自然障害物および人工障害物に関連する無線環境の変動とに応じて、不規則形状を含む他の形状を有し得ることを明確に理解されたい。
【0161】
以下でより詳細に説明するように、eNB 1101、eNB 1102、およびeNB 1103のうちの1つまたは複数は、本開示の実施形態で説明する2Dアンテナアレイを含む。いくつかの実施形態では、eNB 1101、eNB 1102、およびeNB 1103のうちの1つまたは複数は、2Dアンテナアレイを有するシステムのための符号ブック設計および構造をサポートする。
【0162】
図11は、無線ネットワーク1100の一例を示し、様々な変更を図に加えることができる。例えば、無線ネットワーク1100は、任意の数のeNBと、任意の適切な構成の任意の数のUEとを含み得る。また、eNB 1101は、任意の数のUEと直接通信し、それらのUEにネットワーク1130への無線ブロードバンドアクセスを提供することができる。同様に、各eNB1102~1103は、ネットワーク1130と直接通信し、UEにネットワーク1130への直接無線ブロードバンドアクセスを提供することができる。さらに、eNB 1101、1102、および/または1103は、外部電話ネットワークまたは他のタイプのデータネットワークなど、他のまたは追加の外部ネットワークへのアクセスを提供することができる。
【0163】
図に示され、上記で説明された例示的なチャネル復号システムは、以下でさらに詳細に説明されるように、eNB(eNB 1102など)および/またはUE(UE 1116など)で実装され得る。
【0164】
図12Aは、三角変換を使用する誤り訂正符号化におけるデータ符号化が、本開示に従って実装され得る、例示的なユーザ機器ネットワークを図示する。UE 1116の実施形態を図12Aに単に例示のために示し、図11のUE1111~1115は、同一又は類似の構成を有することができる。しかし、UEは、多種多様な構成を取ることができ、図12Aは、本開示の範囲をUEの任意の特定の実装形態に限定しない。
【0165】
UE 1116は、アンテナ1205、無線周波数(RF)トランシーバ1210、送信(TX)処理回路1215(図1中のエンコーダ110を含み得る)、マイクロフォン1220、及び受信(RX)処理回路1225(図1のデコーダ130を含むことができる)を含む。UE 1116はまた、スピーカ1230、メインプロセッサ1240、入出力(I/O)インターフェース(IF)1245、キーパッド1250、ディスプレイ1255、およびメモリ1260を含む。メモリ1260は、基本OS(Operating System)プログラム1261と、1つ又は複数のアプリケーション1262と、を含む。OSプログラム1261、アプリケーション1262のうちの1つ、またはそれらの何らかの組み合わせのいずれかは、図1~10の様々な実施形態で説明したように、誤り訂正符号化を採用するためのプログラミングを実施することができる。
【0166】
RFトランシーバ1210は、ネットワーク1100のeNBによって送信された着信RF信号をアンテナ1205から受信する。RFトランシーバ1210は、着信RF信号をダウンコンバートして、受信機(Rx)処理回路1225に送られる中間周波数(IF)またはベースバンド信号を生成することができる。Rx処理回路1225は、処理された信号をスピーカ1230(例えば、音声データ用)に、またはさらなる処理(例えば、ウェブブラウジングデータ用)のためにメインプロセッサ1240に送信する。
【0167】
送信(Tx)処理回路1215は、ソースデータブロックのための少なくともいくつかの入力データとして、マイクロフォン1220からのアナログまたはデジタル音声データ、またはメインプロセッサ1240からの他の発信ベースバンドデータ(ウェブデータ、電子メール、または対話型ビデオゲームデータなど)を受信する。Tx処理回路1215は、符号化を実施する。RFトランシーバ1210は、Tx処理回路1215から出力処理済みベースバンドまたはIF信号を受信し、ベースバンドまたはIF信号を、アンテナ1205を介して送信されるRF信号にアップコンバートする。
【0168】
メインプロセッサ1240は、1つ以上のプロセッサまたは他の処理装置を含み、UE1116の全体的な動作を制御するために、メモリ1260に格納された基本OSプログラム1261を実行することができる。例えば、メインプロセッサ1240は、周知の原理に従って、RFトランシーバ1210、Rx処理回路1225、およびTx処理回路1215による順方向チャネル信号の受信と逆方向チャネル信号の送信とを制御することができる。いくつかの実施形態では、メインプロセッサ1240は、少なくとも1つのプログラマブルマイクロプロセッサまたはマイクロコントローラを含み、他の実施形態では、メインプロセッサは、(例えば、システマティックおよび/または非システマティック符号化または復号化プロセス、短縮プロセス、データマッピングなどのための)専用回路、ならびに(オプションで)プログラマブルロジックまたは処理回路を含む。
【0169】
主プロセッサ1240はまた、2Dアンテナアレイを有するシステムのチャネル品質測定および報告のための動作など、メモリ1260に常駐する他のプロセスおよびプログラムを実行することができる。メインプロセッサ1240は、実行中のプロセスによって必要とされるように、メモリ1260へのデータ及び/又は命令の移動又はメモリ1260からのデータ及び/又は命令の移動を可能にする。いくつかの実施形態では、メインプロセッサ1240は、OSプログラム1261に基づいて、またはeNBもしくはオペレータから受信した信号に応答して、アプリケーション1262を実行するように構成される。メインプロセッサ1240はまた、I/Oインターフェース1245に結合され、I/Oインターフェース1245は、ラップトップコンピュータおよびハンドヘルドコンピュータなどの他のデバイスに接続する能力をUE 1116に提供する。I/Oインターフェース1245は、これらのアクセサリと主制御装置1240との間の通信経路である。
【0170】
主プロセッサ1240はまた、キーパッド1250(単に単一のボタンであってもよいし、アレイ又は他の組のボタンであってもよい)と表示ユニット1255に結合される。UE 1116のオペレータは、キーパッド1250を使用して、UE 1116にデータを入力することができる。ディスプレイ1255は、ウェブサイトなどからテキストおよび/または少なくとも制限されたグラフィックスをレンダリングし、既知の慣行に従ってユーザによってタッチ入力を受信することができるタッチスクリーンディスプレイまたは他のディスプレイとすることができる。
【0171】
メモリ1260は、主プロセッサ1240に結合され、メモリ1260の少なくとも一部は、ランダムアクセスメモリ(RAM)を含むことができ、メモリ1260の別の一部は、フラッシュメモリまたは他の読み取り専用メモリ(ROM)を含むことができる。
【0172】
図12Aは、UE 1116の一例を図示し、様々な変更を図に加えることができる。例えば、図中の様々な構成要素は、組み合わせるか、さらに細分するか、または省略することができ、特定の必要性に応じて追加の構成要素を追加することができる。特定の例として、メインプロセッサ1240は、1つまたは複数の中央処理装置(CPU)、1つまたは複数の特定用途向け集積回路(ASIC)、1つまたは複数のフィールドプログラマブルゲートアレイ(FPGA)、および1つまたは複数のグラフィックス処理ユニット(GPU)などの複数のプロセッサに分割することができる。また、図12Aは、モバイル電話またはスマートフォンとして構成されたUE 1116を図示し、UEは、他のタイプのモバイルデバイスまたは固定デバイスとして動作するように構成され得る。
【0173】
図12Bは、三角形変換を使用する誤り訂正符号化におけるデータ符号化が、本開示に従って実装され得る、例示的な拡張NodeB(eNB)ネットワークを図示する。図12Bに示すeNB 1102の実施形態は、単に説明のためのものであり、図11の他のeNBは、同一又は類似の構成を有することができる。しかし、eNBは、多種多様な構成であってよく、図12Bは、本開示の範囲をeNBの任意の特定の実装に限定しない。eNB 1101およびeNB 1103は、eNB 1102と同じまたは類似の構造を含むことができることに留意されたい。
【0174】
図に示されるように。12B, eNB 1102は、複数のアンテナ1270a~1270n、複数のRFトランシーバ1272a~1272n、送信(Tx)処理回路1274、および受信(Rx)処理回路1276を含む。特定の実施形態では、複数のアンテナ1270a~1270nのうちの1つまたは複数は、2Dアンテナアレイを含む。eNB 1102はまた、コントローラ/プロセッサ1278、メモリ1280、バックホールまたはネットワークインターフェース1282を含む。
【0175】
RFトランシーバ1272a~1272nは、UEまたは他のeNBによって送信された信号などの着信RF信号を、アンテナ1270a~1270nから受信する。RFトランシーバ1272a~1272nは、入ってくるRF信号をダウンコンバートして、IF信号またはベースバンド信号を生成する。IF信号またはベースバンド信号は、Rx処理回路1276に送られ、Rx処理回路1276は、ベースバンド信号またはIF信号をフィルタリング、復号、および/またはデジタル化することによって、処理された信号を生成する。Rx処理回路1276は、さらなる処理のために、処理された信号をコントローラ/プロセッサ1278に送信する。
【0176】
Tx処理回路1274は、ソースデータブロックのための少なくともいくつかの入力データとして、アナログまたはデジタルデータ(音声データ、ウェブデータ、電子メール、または対話型ビデオゲームデータなど)をコントローラ/プロセッサ1278から受信する。Tx処理回路1274は、出力ベースバンドデータを符号化、多重化、および/またはデジタル化して処理済み信号を生成する回路を実装する。RFトランシーバ1272a~1272nは、Tx処理回路1274から出力処理信号を受信し、ベースバンド信号またはIF信号を、アンテナ1270a~1270nを介して送信されるRF信号にアップコンバートする。
【0177】
コントローラ/プロセッサ1278は、eNB 1102の全体的な動作を制御する1つまたは複数のプロセッサまたは他の処理デバイスを含むことができる。例えば、コントローラ/プロセッサ1278は、周知の原理に従って、RFトランシーバ1272a~1272n、Rx処理回路1276、およびTx処理回路1274による順方向チャネル信号の受信と逆方向チャネル信号の送信とを制御することができる。コントローラ/プロセッサ1278は、より高度な無線通信機能などの追加の機能もサポートすることができる。多種多様な他の機能のいずれかを、コントローラ/プロセッサ1278によってeNB 1102でサポートすることができる。いくつかの実施形態では、コントローラ/プロセッサ1278は、少なくとも1つのマイクロプロセッサまたはマイクロコントローラを含み、他の実施形態では、メインプロセッサは、(例えば、システマティックおよび/または非システマティック符号化プロセス、短縮プロセス、データマッピングなどのための)専用回路、ならびに(オプションで)プログラマブルロジックまたは処理回路を含む。
【0178】
また、コントローラ/プロセッサ1278は、基本OSなどのメモリ1280に常駐するプログラム及び他のプロセスを実行することができる。コントローラ/プロセッサ1278はまた、2Dアンテナアレイを有するシステムのためのチャネル品質測定および報告をサポートすることができる。いくつかの実施形態では、コントローラ/プロセッサ1278は、エンティティ間の通信をサポートする。コントローラ/プロセッサ1278は、実行中のプロセスによって必要に応じて、データおよび/または命令をメモリ1280へ、またはメモリ1280から移動させることができる。
【0179】
コントローラ/プロセッサ1278はまた、バックホールまたはネットワークインターフェース1282に結合される。バックホール又はネットワークインターフェース1282は、eNB 1102がバックホール接続を通じて又はネットワークを通じて他のデバイス又はシステムと通信することを可能にする。インターフェース1282は、任意の適切な有線または無線接続を介した通信をサポートすることができる。例えば、eNB 1102が(3G、4G、5G、LTE、またはLTE-Aをサポートするものなど)セルラ通信システムの一部として実装される場合、インターフェース1282は、eNB 1102が有線または無線のバックホール接続を介して他のeNBと通信することを可能にし得る。eNB 1102がアクセスポイントとして実装される場合、インターフェース1282は、eNB 1102が、有線もしくは無線のローカルエリアネットワークを介して、またはより大きなネットワーク(インターネットなど)への有線もしくは無線の接続を介して通信することを可能にし得る。インターフェース1282は、イーサネット(登録商標)又はRFトランシーバなどの有線又は無線接続を介した通信をサポートする任意の適切な構造を含む。
【0180】
メモリ1280は、コントローラ/プロセッサ1278に結合される。メモリ1280の一部はRAMを含むことができ、メモリ1280の別の一部はフラッシュメモリまたは他のROMを含むことができる。特定の実施形態では、複数の命令がメモリに記憶される。命令は、コントローラ/プロセッサ1278に、システマティックおよび/または非システマティック符号化または復号化プロセス、短縮プロセス、データマッピングなどを実行させるように構成される。
【0181】
図12Bは、eNB 1102の一例を示し、様々な変更を図に加えることができる。例えば、eNB 1102は、示された各構成要素の任意の数を含みうる。特定の例として、アクセスポイントは、いくつかのインターフェース1282を含むことができ、コントローラ/プロセッサ1278は、異なるネットワークアドレス間でデータをルーティングするルーティング機能をサポートすることができる。別の特定の例として、Tx処理回路1274の単一のインスタンスとRx処理回路1276の単一のインスタンスとを含むものとして示されているが、eNB 1102は、それぞれの複数のインスタンス(RFトランシーバ当たり1つなど)を含むことができる。
【0182】
「生成行列の三角因数分解を使用した誤り訂正符号化におけるデータのシステマティック符号化のための方法および装置」について本明細書で詳細に説明し、図面に示したが、本発明によって包含される主題は特許請求の範囲によってのみ限定されることを理解されたい。以上、本発明を例示的な実施形態を用いて説明したが、様々な変更及び修正を当業者に提案することができる。本発明は、添付の特許請求の範囲の範囲内にあるそのような変更及び修正を包含することが意図される。本出願における説明は、任意の特定の要素、ステップ、または機能が、特許請求の範囲に含まれなければならない必須または重要な要素であることを暗示するものとして読まれるべきではなく、特許主題の範囲は、許可された特許請求の範囲によってのみ定義される。さらに、これらの請求項のいずれも、特定の請求項で正確な語「means for」または「step for」が明示的に使用され、その後に機能を識別するフレーズが続かない限り、添付の請求項または請求項の要素のいずれかに関して35 USC112(f)条を呼び出すようには意図されていない。請求項内の「機構」、「モジュール」、「装置」、「ユニット」、「構成」、「要素」、「部材」、「機器」、「装置」、「システム」、「プロセッサ」又は「コントローラ」は、関連技術における当業者によって知られる構造と、その請求項に記載される特徴により拡張されたものを示すものとし、35 USC112(f)条を呼び出すようには意図されていない。
図1
図2
図3
図4A
図4B
図5A
図5B
図6
図7
図8
図9A
図9B
図10
図11
図12A
図12B