(57)【要約】  本開示のいくつかの態様は、概して、低密度パリティチェック(LDPC)コードを復号するための方法および装置に関し、より詳細には、高復号スループットのためのディープパイプライン階層化LDPCデコーダアーキテクチャに関する。
2019536316.tif 000002
【特許請求の範囲】
【請求項１】
低密度パリティチェック(LDPC)復号を実行するための方法であって、
LDPC符号化を使用して符号化されたビットに対応する対数尤度比(LLR)を受信するステップと、
パリティチェック行列(PCM)の列に対応する前記符号化されたビットの各々に関する前記LLRを更新するステップであって、ビットLLRが、前記符号化されたビットの各々の値の確率を示す、更新するステップと、
前記符号化されたビットの各々に関して、前記PCMの行内の各LLRを処理することによって、前記行に関する事後LLRを決定するステップであって、前記符号化されたビットの第1のセットに関して、前記事後LLRを決定するステップが、第1の数の旧式のLLRを使用するステップを含み、前記符号化されたビットの第2のセットに関して、前記事後LLRを決定するステップが、第2の数の更新されたLLRを使用するステップを含み、前記符号化されたビットの前記第1のセットおよび前記符号化されたビットの前記第2のセットが、前記符号化されたビットのすべてを含む、決定するステップと、
前記符号化されたビットを復号するために前記LLRを利用するステップと
を含む、方法。
【請求項２】
前記LLRを更新するステップが、対応する事後LLRに基づく、請求項1に記載の方法。
【請求項３】
前記対応する事後LLRに基づいて前記LLRを更新するステップが、対応する旧式の事後LLRと対応する更新された事後LLRとの間の差異に基づいて前記LLRを更新するステップを含む、請求項2に記載の方法。
【請求項４】
前記符号化されたビットの第3のセットに対応する更新されたLLRの第1のセットを第1のメモリバンク内に記憶するステップと、前記符号化されたビットの第4のセットに対応する更新されたLLRの第2のセットを第2のメモリバンク内に記憶するステップとをさらに含み、前記符号化されたビットの前記第3のセットおよび前記符号化されたビットの前記第4のセットが、前記符号化されたビットのすべてを含む、請求項1に記載の方法。
【請求項５】
前記第1のメモリバンクから読み取るのと同時に前記第2のメモリバンクから読み取るステップをさらに含む、請求項4に記載の方法。
【請求項６】
前記PCMの行同士の間の依存性に基づいて、前記符号化されたビットの前記第3のセットまたは前記符号化されたビットの前記第4のセットに関するビットを選択するステップをさらに含む、請求項4に記載の方法。
【請求項７】
前記PCM内の行同士の間の依存性に基づいて、前記ビットLLRを更新するための順序を決定するステップをさらに含む、請求項6に記載の方法。
【請求項８】
前記符号化されたビットを復号するために前記LLRを利用するステップが、前記LLRを利用して前記符号化されたビットに関して階層化復号を実行するステップを含む、請求項1に記載の方法。
【請求項９】
低密度パリティチェック(LDPC)復号を実行するための装置であって、
LDPC符号化を使用して符号化されたビットに対応する対数尤度比(LLR)を受信することと、
パリティチェック行列(PCM)の列に対応する前記符号化されたビットの各々に関する前記LLRを更新することであって、ビットLLRが、前記符号化されたビットの各々の値の確率を示す、更新することと、
前記符号化されたビットの各々に関して、前記PCMの行内の各LLRを処理することによって、前記行に関する事後LLRを決定することであって、前記符号化されたビットの第1のセットに関して、前記事後LLRを決定することが、第1の数の旧式のLLRを使用することを含み、前記符号化されたビットの第2のセットに関して、前記事後LLRを決定することが、第2の数の更新されたLLRを使用することを含み、前記符号化されたビットの前記第1のセットおよび前記符号化されたビットの前記第2のセットが、前記符号化されたビットのすべてを含む、決定することと、
前記符号化されたビットを復号するために前記LLRを利用することと
を行うように構成された、少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと結合されたメモリと
を含む、装置。
【請求項１０】
前記LLRを更新することが、対応する事後LLRに基づく、請求項9に記載の装置。
【請求項１１】
前記対応する事後LLRに基づいて前記LLRを更新することが、対応する旧式の事後LLRと対応する更新された事後LLRとの間の差異に基づいて前記LLRを更新することを含む、請求項10に記載の装置。
【請求項１２】
前記少なくとも1つのプロセッサが、前記符号化されたビットの第3のセットに対応する更新されたLLRの第1セットを第1のメモリバンク内に記憶し、前記符号化されたビットの第4のセットに対応する更新されたLLRの第2のセットを第2のメモリバンク内に記憶するようにさらに構成され、前記符号化されたビットの前記第3のセットおよび前記符号化されたビットの前記第4のセットが、前記符号化されたビットのすべてを含み、前記メモリが、前記第1のメモリバンクと前記第2のメモリバンクとを含む、請求項9に記載の装置。
【請求項１３】
前記少なくとも1つのプロセッサが、前記第1のメモリバンクから読み取るのと同時に前記第2のメモリバンクから読み取るようにさらに構成される、請求項12に記載の装置。
【請求項１４】
前記少なくとも1つのプロセッサが、前記PCMの行同士の間の依存性に基づいて、前記符号化されたビットの前記第3のセットまたは前記符号化されたビットの前記第4のセットに関するビットを選択するようにさらに構成される、請求項12に記載の装置。
【請求項１５】
前記少なくとも1つのプロセッサが、前記PCM内の行同士の間の依存性に基づいて、前記ビットLLRを更新するための順序を決定するようにさらに構成される、請求項14に記載の装置。
【請求項１６】
前記少なくとも1つのプロセッサが、前記LLRを利用して前記符号化されたビットに関して階層化復号を実行することによって、前記符号化されたビットを復号するために前記LLRを利用するように構成される、請求項9に記載の装置。
【請求項１７】
低密度パリティチェック(LDPC)復号を実行するための装置であって、
LDPC符号化を使用して符号化されたビットに対応する対数尤度比(LLR)を受信するように構成された、受信するための手段と、
パリティチェック行列(PCM)の列に対応する前記符号化されたビットの各々に関する前記LLRを更新することであって、ビットLLRが、前記符号化されたビットの各々の値の確率を示す、更新することを行うように構成された、更新するための手段と、
前記符号化されたビットの各々に関して、前記PCMの行内の各LLRを処理することによって、前記行に関する事後LLRを決定することであって、前記符号化されたビットの第1のセットに関して、前記事後LLRを決定することが、第1の数の旧式のLLRを使用することを含み、前記符号化されたビットの第2のセットに関して、前記事後LLRを決定することが、第2の数の更新されたLLRを使用することを含み、前記符号化されたビットの前記第1のセットおよび前記符号化されたビットの前記第2のセットが、前記符号化されたビットのすべてを含む、決定することを行うように構成された、決定するための手段と、
前記符号化されたビットを復号するために前記LLRを利用するように構成された、利用するための手段と
を含む、装置。
【請求項１８】
更新するための前記手段が、対応する事後LLRに基づいて前記LLRを更新するように構成される、請求項17に記載の装置。
【請求項１９】
前記対応する事後LLRに基づいて前記LLRを更新することが、対応する旧式の事後LLRと対応する更新された事後LLRとの間の差異に基づいて前記LLRを更新することを含む、請求項18に記載の装置。
【請求項２０】
前記符号化されたビットの第3のセットに対応する更新されたLLRの第1のセットを第1のメモリバンク内に記憶するための手段と、前記符号化されたビットの第4のセットに対応する更新されたLLRの第2のセットを第2のメモリバンク内に記憶するための手段とをさらに含み、前記符号化されたビットの前記第3のセットおよび前記符号化されたビットの前記第4のセットが、前記符号化されたビットのすべてを含む、請求項17に記載の装置。
【請求項２１】
前記第1のメモリバンクから読み取るのと同時に前記第2のメモリバンクから読み取るための手段をさらに含む、請求項20に記載の装置。
【請求項２２】
前記PCM内の行同士の間の依存性に基づいて、前記符号化されたビットの前記第3のセットまたは前記符号化されたビットの前記第4のセットに関するビットを選択するための手段をさらに含む、請求項20に記載の装置。
【請求項２３】
前記PCM内の行同士の間の依存性に基づいて、前記ビットLLRを更新するための順序を決定するための手段をさらに含む、請求項22に記載の装置。
【請求項２４】
利用するための前記手段が、前記LLRを利用して前記符号化されたビットに関して階層化復号を実行することによって、前記符号化されたビットを復号するために前記LLRを利用するように構成される、請求項17に記載の装置。
【請求項２５】
命令を含む、低密度パリティチェック(LDPC)復号を実行するための非一時的コンピュータ可読記憶媒体であって、前記命令が、少なくとも1つのプロセッサによって実行されると、
LDPC符号化を使用して符号化されたビットに対応する対数尤度比(LLR)を受信することと、
パリティチェック行列(PCM)の列に対応する前記符号化されたビットの各々に関する前記LLRを更新することであって、ビットLLRが、前記符号化されたビットの各々の値の確率を示す、更新することと、
前記符号化されたビットの各々に関して、前記PCMの行内の各LLRを処理することによって、前記行に関する事後LLRを決定することであって、前記符号化されたビットの第1のセットに関して、前記事後LLRを決定することが、第1の数の旧式のLLRを使用することを含み、前記符号化されたビットの第2のセットに関して、前記事後LLRを決定することが、第2の数の更新されたLLRを使用することを含み、前記符号化されたビットの前記第1のセットおよび前記符号化されたビットの前記第2のセットが、前記符号化されたビットのすべてを含む、決定することと、
前記符号化されたビットを復号するために前記LLRを利用することと
を行うように前記少なくとも1つのプロセッサを構成する、非一時的コンピュータ可読記憶媒体。
【請求項２６】
前記LLRを更新することが、前記対応する事後LLRに基づき、前記対応する事後LLRに基づいて前記LLRを更新することが、対応する旧式の事後LLRと対応する更新された事後LLRとの間の差異に基づいて前記LLRを更新することを含む、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【請求項２７】
前記符号化されたビットの第3のセットに対応する更新されたLLRの第1のセットを第1のメモリバンク内に記憶し、前記符号化されたビットの第4のセットに対応する更新されたLLRの第2のセットを第2のメモリバンク内に記憶するように前記少なくとも1つのプロセッサを構成する命令をさらに含み、前記符号化されたビットの前記第3のセットおよび前記符号化されたビットの前記第4のセットが、前記符号化されたビットのすべてを含む、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【請求項２８】
前記第1のメモリバンクから読み取るのと同時に前記第2のメモリバンクから読み取ることをさらに含む、請求項27に記載の非一時的コンピュータ可読記憶媒体。
【請求項２９】
前記PCMの行同士の間の依存性に基づいて、前記符号化されたビットの前記第3のセットまたは前記符号化されたビットの前記第4のセットに関するビットを選択すること、または
前記PCM内の行同士の間の依存性に基づいて、前記ビットLLRを更新するための順序を決定すること
のうちの少なくとも1つをさらに含む、請求項27に記載の非一時的コンピュータ可読記憶媒体。
【請求項３０】
前記符号化されたビットを復号するために前記LLRを利用するための前記命令が、前記少なくとも1つのプロセッサに、前記LLRを利用して前記符号化されたビットに関して階層化復号を実行させる命令を含む、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2016年11月2日に出願した米国仮特許出願第62/416,584号および2017年9月22日に出願した米国特許出願第15/712,845号の利益を主張するものであり、両出願の全体が参照により本明細書に組み込まれている。
【０００２】
本開示のいくつかの態様は、一般に、ワイヤレス通信のための方法および装置に関し、より詳細には、ディープパイプライン(deeply-pipelined)高スループット低密度パリティチェック(LDPC)デコーダアーキテクチャに関する。
【背景技術】
【０００３】
ワイヤレス通信システムは、音声、データなどの様々なタイプの通信コンテンツを提供するために広く展開されている。これらのシステムは、利用可能なシステムリソース(たとえば、帯域幅および送信電力)を共有することによって複数のユーザとの通信をサポートすることが可能な多元接続システムであり得る。そのような多元接続システムの例には、ロングタームエボリューション(LTE)システム、符号分割多元接続(CDMA)システム、時分割多元接続(TDMA)システム、周波数分割多元接続(FDMA)システム、第3世代パートナーシッププロジェクト(3GPP)ロングタームエボリューション(LTE)システム、ロングタームエボリューションアドバンスト(LTE-A)システム、および直交周波数分割多元接続(OFDMA)システムがある。
【０００４】
一般に、ワイヤレス多元接続通信システムは、複数のワイヤレスノードのための通信を同時にサポートすることができる。各ノードは、順方向リンクおよび逆方向リンク上の送信を介して1つまたは複数の基地局と通信する。順方向リンク(または、ダウンリンク)は、基地局からノードへの通信リンクを指し、逆方向リンク(または、アップリンク)は、ノードから基地局への通信リンクを指す。通信リンクは、単入力単出力、多入力単出力または多入力多出力(MIMO)システムを介して確立され得る。
【０００５】
現代の情報化時代では、2進値(たとえば、1および0)は、ビデオ情報、オーディオ情報、統計情報など、様々なタイプの情報を表し、それらを通信するために使用される。残念ながら、2進データを記憶、送信、および/または処理する間、非意図的に誤りが生じる場合があり、たとえば、1が0に変更される場合、またはその逆が生じる場合がある。
【０００６】
概して、データ送信の場合、受信機は、雑音またはひずみが存在する場合に受信された各ビットを観測し、そのビットの値の指示のみが取得される。これらの状況下で、観測された値は「ソフト」ビットのソースと解釈される。ソフトビットは、そのビットの値(たとえば、1または0)の好適な推定値を、その推定値の信頼度の何らかの指示とともに示す。誤りの数は比較的少ない可能性があるが、少数の誤りまたはひずみレベルですら、データを未使用にする場合があり、送信誤りの場合、データの再送信を必要にし得る。
【０００７】
誤りを検査し、場合によっては、誤りを訂正するための機構を提供するために、2進データをコーディングして、慎重に設計された冗長性を取り入れることができる。データの単位のコーディングは、通常、コードワードと呼ばれるものを生成する。その冗長性により、コードワードは、しばしば、そこからコードワードが生成されたデータの入力単位よりも多くのビットを含むことになる。
【０００８】
冗長ビットは、エンコーダによって送信ビットストリームに追加されて、コードワードを作り出す。送信コードワードから生じる信号が受信または処理されるとき、その信号内で観測されるそのコードワード内に含まれる冗長情報を使用して、元のデータユニットを復元するために、受信信号内の誤りを識別および/もしくは訂正すること、またはそこからのひずみを除去することができる。そのような誤りの検査および/または訂正は、復号プロセスの一環として実装され得る。誤りがない場合、または訂正可能な誤りまたはひずみの場合、復号を使用して、処理されているソースデータから、符号化された元のデータユニットを復元することができる。復号不可能な誤りの場合、復号プロセスは、元のデータが完全に復元され得ないという何らかの指示を生成することができる。復号失敗のそのような指示を使用して、データの再送信を開始することができる。
【０００９】
データ通信のための光ファイバーラインの使用を増大し、データがデータ記憶デバイス(たとえば、ディスクドライブ、テープなど)から読み取られ、それらに記憶され得るレートを増大して、データ記憶および送信容量の効率的な使用だけでなく、高速度でデータを符号化および復号する増加する必要性が存在する。
【００１０】
符号化効率および高データレートは重要であるが、符号化および/または復号システムが幅広いデバイス(たとえば、消費者デバイス)における使用のために実際的になるには、エンコーダおよび/またはデコーダが合理的なコストで実装され得ることが重要である。
【００１１】
通信システムは、しばしば、いくつかの異なるレートで動作する必要がある。実装を可能な限り簡単に維持し、異なるレートでコーディングおよび復号を実現する1つの方法は、調整可能な低密度パリティチェック(LDPC)コードを使用することである。具体的には、低レートコードをパンクチャリングすることによって高レートLDPCコードを生成することができる。
【００１２】
これらの多元接続技術は、様々なワイヤレスデバイスが都市、国家、地域、さらには地球レベルで通信することを可能にする共通プロトコルを提供するために、様々な電気通信規格において採用されている。新生の電気通信規格の一例は、ニューラジオ(NR)である。NRは、第3世代パートナーシッププロジェクト(3GPP)によって公表されたLTEモバイル規格(たとえば、5G無線アクセス)の拡張のセットである。NRは、スペクトル効率を改善することによってモバイルブロードバンドインターネットアクセスをよりうまくサポートし、コストを削減し、サービスを改善し、新しいスペクトルを使用し、またダウンリンク(DL)およびアップリンク(UL)上でOFDMAをサイクリックプレフィックス(CP)とともに使用する他のオープン規格とよりうまく統合し、ならびにビームフォーミング、多入力多出力(MIMO)アンテナ技術、およびキャリアアグリゲーションをサポートするように設計されている。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
モバイルブロードバンドアクセスに対する需要が増大し続けるにつれて、NR技術におけるさらなる改善が必要である。好ましくは、これらの改善は、他の多元接続技術、およびこれらの技術を採用する電気通信規格に適用可能であるべきである。改善のための1つの領域は、NRに適用可能な、符号化/復号の領域である。たとえば、NRのための高性能LDPCコードに関する技法が望ましい。
【課題を解決するための手段】
【００１４】
本開示のシステム、方法、およびデバイスは、いくつかの態様をそれぞれ有し、それらのうちの単一の態様だけが、その望ましい属性を担うわけではない。以下の特許請求の範囲によって表される本開示の範囲を限定することなく、いくつかの特徴についてここで簡単に説明する。この議論を考慮した後、また特に「発明を実施するための形態」と題するセクションを読んだ後、本開示の特徴が、ワイヤレスネットワーク内のアクセスポイントと局との間の改善された通信を含む利点をどのようにもたらすかが理解されよう。
【００１５】
本開示のいくつかの態様は、低密度パリティチェック(LDPC)復号を実行するための方法を提示する。1つの例示的な方法は、概して、LDPC符号化を使用して符号化されたビットに対応する対数尤度比(LLR)を受信するステップと、パリティチェック行列(PCM)の列に対応する符号化されたビットの各々に関するLLRを更新するステップであって、LLRが、符号化されたビットの各々の値の確率を示す、更新するステップと、符号化されたビットの各々に関して、PCMの行内の各LLRを処理することによって、その行に関する事後LLRを決定するステップであって、符号化されたビットの第1のセットに関して、事後LLRを決定するステップが、第1の数の旧式のLLRを使用するステップを含み、符号化されたビットの第2のセットに関して、事後LLRを決定するステップが、第2の数の更新されたLLRを使用するステップを含み、符号化されたビットの第1のセットおよび符号化されたビットの第2のセットが、符号化されたビットのすべてを含む、決定するステップと、符号化されたビットを復号するためにLLRを利用するステップとを含む。
【００１６】
本開示のいくつかの態様は、低密度パリティチェック(LDPC)復号を実行するための装置を提示する。この装置は、概して、LDPC符号化を使用して符号化されたビットに対応する対数尤度比(LLR)を受信することと、パリティチェック行列(PCM)の列に対応する符号化されたビットの各々に関するLLRを更新することであって、ビットLLRが、符号化されたビットの各々の値の確率を示す、更新することと、符号化されたビットの各々に関して、PCM行内の各LLRを処理することによって、その行に関する事後LLRを決定することであって、符号化されたビットの第1のセットに関して、事後LLRを決定することが、第1の数の旧式のLLRを使用することを含み、符号化されたビットの第2のセットに関して、事後LLRを決定することが、第2の数の更新されたLLRを使用することを含み、符号化されたビットの第1のセットおよび符号化されたビットの第2のセットが、符号化されたビットのすべてを含む、決定することと、符号化されたビットを復号するためにLLRを利用することとを行うように構成された、少なくとも1つのプロセッサを含む。装置はまた、概して、少なくとも1つのプロセッサと結合されたメモリを含む。
【００１７】
本開示のいくつかの態様は、低密度パリティチェック(LDPC)復号を実行するための装置を提示する。この装置は、概して、LDPC符号化を使用して符号化されたビットに対応する対数尤度比(LLR)を受信するための手段と、パリティチェック行列(PCM)の列に対応する符号化されたビットの各々に関するLLRを更新するための手段であって、LLRが、符号化されたビットの各々の値の確率を示す、更新するための手段と、符号化されたビットの各々に関して、PCMの行内の各LLRを処理することによって、その行に関する事後LLRを決定ための手段であって、符号化されたビットの第1のセットに関して、事後LLRを決定することが、第1の数の旧式のLLRを使用することを含み、符号化されたビットの第2のセットに関して、事後LLRを決定することが、第2の数の更新されたLLRを使用することを含み、符号化されたビットの第1のセットおよび符号化されたビットの第2のセットが、符号化されたビットのすべてを含む、決定するための手段と、符号化されたビットを復号するためにLLRを利用するための手段とを含む。
【００１８】
本開示のいくつかの態様は、低密度パリティチェック(LDPC)復号を実行するための非一次的コンピュータ可読媒体を提示する。この非一時的コンピュータ可読媒体は、概して、命令を含み、これらの命令は、少なくとも1つのプロセッサによって実行されると、LDPC符号化を使用して符号化されたビットに対応する対数尤度比(LLR)を受信することと、パリティチェック行列(PCM)の列に対応する符号化されたビットの各々に関するLLRを更新することであって、ビットLLRが、符号化されたビットの各々の値の確率を示す、更新することと、符号化されたビットの各々に関して、PCMの行内の各LLRを処理することによって、その行に関する事後LLRを決定することであって、符号化されたビットの第1のセットに関して、事後LLRを決定することが、第1の数の旧式のLLRを使用することを含み、符号化されたビットの第2のセットに関して、事後LLRを決定することが、第2の数の更新されたLLRを使用することを含み、符号化されたビットの第1のセットおよび符号化されたビットの第2のセットが、符号化されたビットのすべてを含む、決定することと、符号化されたビットを復号するためにLLRを利用することとを行うように少なくとも1つのプロセッサを構成する。
【００１９】
当業者には、本発明の特定の例示的実施形態の以下の説明を添付の図とともに検討したときに、本発明の他の態様、特徴、および実施形態が明らかとなるであろう。本発明の特徴について、以下のいくつかの実施形態および図に関して説明する場合があるが、本発明のすべての実施形態は、本明細書で説明する有利な特徴のうちの1つまたは複数を含むことができる。言い換えれば、1つまたは複数の実施形態についていくつかの有利な特徴を有するものとして説明する場合があるが、そのような特徴のうちの1つまたは複数はまた、本明細書で説明する本発明の様々な実施形態に従って使用されてもよい。同様に、以下では例示的実施形態についてデバイス実施形態、システム実施形態、または方法実施形態として説明する場合があるが、そのような例示的実施形態を様々なデバイス、システム、および方法として実装できることを理解されたい。
【００２０】
上述した本開示の特徴が詳細に理解され得るように、そのいくつかが添付図面に示される態様を参照することによって、上記で簡単に要約したより詳細な説明が得られ得る。添付の図面は、本開示のいくつかの典型的な態様のみを示すが、この説明は他の同様に有効な態様にも当てはまる場合があるので、したがって、本開示の範囲を限定するものと見なされるべきではない。
【図面の簡単な説明】
【００２１】
【図１】本開示の特定の態様による例示的な多元接続ワイヤレス通信システムを示す図である。
【図２】本開示の特定の態様による基地局およびワイヤレスノードのブロック図である。
【図３】本開示の特定の態様による、ワイヤレスデバイス内で利用され得る様々な構成要素を示す図である。
【図４】本開示のいくつかの実施形態による、例示的な低密度パリティチェック(LDPC)コードのグラフィカル表現である。
【図４Ａ】本開示のいくつかの実施形態による、例示的な低密度パリティチェック(LDPC)コードの行列表現である。
【図５】本開示のいくつかの態様による、図4AのLDPCコードのリフティングをグラフィカルに示す図である。
【図６】疑似巡回(quasi-cyclic)802.11 LDPCコードに関する行列の整数表現である。
【図７】本開示のいくつかの態様による、パンクチャリングエンコーダを示す簡素化ブロック図である。
【図８】本開示のいくつかの態様による、デコーダを示す簡素化ブロック図である。
【図９】本開示のいくつかの態様による、一般的な階層化LDPCデコーダのハイレベルブロック図である。
【図１０】本開示のいくつかの態様による、パリティチェック行列内でビットLLRおよび事後LLRを計算/更新するためのこのプロセスの一例を示す図である。
【図１１Ａ】本開示の態様による、1つの例示的な階層化デコーダパイプライン処理タイムラインを示す図である。
【図１１Ｂ】本開示の態様による、1つの例示的な階層化デコーダパイプライン処理タイムラインを示す図である。
【図１２】本開示のいくつかの態様による、低密度パリティチェック(LDPC)コードを復号するための例示的な動作を示すフロー図である。
【図１３】本開示の態様による、ビットLLRの更新と事後LLRの計算との間の依存性が緩和されている、1つの例示的なLLR処理パイプラインを示す図である。
【図１４Ａ】本開示の態様による、メモリ整合性および競合問題を示すための1つの例示的なPCMを示す図である。
【図１４Ｂ】本開示の態様による、LLRメモリに書き込むための単一のサイクルレイテンシおよび3サイクルパイプライン深度を仮定する階層化LDPCデコーダパイプラインの図である。
【図１５】本開示の態様による、1つの例示的なパリティチェック行列(PCM)に対応するビットLLR処理ステップを示す図である。
【図１６】本開示の態様による、階層化デコーダ処理パイプラインにおけるビットLLRのスワッピングを示す図である。
【図１７】本開示の態様による、LLRの処理および更新に対応するためにメモリ帯域幅を増大させるための1つの例示的な解決策を示す図である。
【発明を実施するための形態】
【００２２】
理解を促すために、可能な場合、図面に共通する同一要素を指すために、同一の参照番号が使用されている。特定の具陳なしに、一実施形態で開示する要素が他の実施形態に関して有利に利用される場合があると考えられる。
【００２３】
本開示の態様は、ニューラジオ(NR)(ニューラジオアクセス技術)に関する符号化のための装置、方法、処理システム、およびコンピュータプログラム製品を提供する。ニューラジオ(NR)は、新しいエアインターフェースまたは固定トランスポートレイヤに従って動作するように構成された無線を指す場合がある。NRは、拡張モバイルブロードバンド(eMBB:Enhanced Mobile Broadband)ターゲットの広い帯域幅(たとえば、80MHzを越える)、ミリ波(mmW:millimeter wave)ターゲットの高いキャリア周波数(たとえば、60GHz)、マッシブMTC(mMTC:massive MTC)ターゲットの後方互換性のないMTC技法、およびミッションクリティカルターゲットの超高信頼低レイテンシ通信(URLLC:ultra reliable low latency communication)を含み得る。これらの一般的なトピックについては、コーディング、低密度パリティチェック(LDPC)、およびポーラ(polar)などの、異なる技法が検討される。NRセルは、新しいエアインターフェースまたは固定トランスポートレイヤに従って動作するセルを指す場合がある。NRノードB(たとえば、5GノードB)は、1つまたは複数の送受信ポイント(TRP)に対応する場合がある。
【００２４】
本開示のいくつかの態様は、概して、低密度パリティチェック(LDPC)コードを復号するための方法および装置に関し、より詳細には、高復号スループットのためのディープパイプライン階層化LDPCデコーダに関する。たとえば、本開示の態様は、処理遅延を低減させ得るビット対数尤度比(LLR)および事後LLR依存性の緩和を可能にする技法を提示する。加えて、本開示の態様は、ビットLLRと事後LLRとの間のこの依存性を緩和するときに生じる可能性があるメモリ競合および整合性誤りを解決するための技法を提示する。
【００２５】
本開示の様々な態様について、添付の図面を参照しながら、以下でより十分に説明する。しかしながら、本開示は、多くの異なる形態で具現化されてもよく、本開示全体にわたって提示される任意の特定の構造または機能に限定されるものと解釈されるべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるように与えられる。本明細書の教示に基づいて、本開示の範囲が、本開示の任意の他の態様とは無関係に実装されるにせよ、本開示の任意の他の態様と組み合わせて実装されるにせよ、本明細書で開示する本開示の任意の態様を包含するように意図されることを当業者は諒解されたい。たとえば、本明細書に記載された任意の数の態様を使用して、装置が実装されてよく、または方法が実践されてよい。加えて、本開示の範囲は、本明細書に記載する本開示の様々な態様に加えて、またはそうした態様以外に、他の構造、機能、または構造および機能を使用して実践されるそのような装置または方法を包含するように意図される。本明細書で開示する本開示のいかなる態様も、請求項の1つまたは複数の要素によって具現化され得ることを理解されたい。「例示的」という語は、本明細書では「一例、事例、または例示としての働きをすること」を意味するために使用される。本明細書で「例示的」と記載されている任意の態様は、必ずしも他の態様よりも好ましいまたは有利であると解釈されるべきではない。
【００２６】
特定の態様について本明細書で説明するが、これらの態様の多くの変形および置換が、本開示の範囲内に入る。好ましい態様のいくつかの利益および利点について言及するが、本開示の範囲は特定の利益、使用、または目的に限定されることが意図されない。むしろ、本開示の態様は、様々なワイヤレス技術、システム構成、ネットワーク、および送信プロトコルに広く適用可能であるであるものとし、そのうちのいくつかが例として図面および好ましい態様の以下の説明で示される。発明を実施するための形態および図面は、限定的でなく、本開示の例示にすぎず、本開示の範囲は、添付の特許請求の範囲およびその同等物によって定義される。
【００２７】
本明細書で説明する技法は、ロングタームエボリューション(LTE)、符号分割多元接続(CDMA)ネットワーク、時分割多元接続(TDMA)ネットワーク、周波数分割多元接続(FDMA)ネットワーク、直交FDMA(OFDMA)ネットワーク、シングルキャリアFDMA(SC-FDMA)ネットワークなどの様々なワイヤレス通信ネットワークのために使用することができる。「ネットワーク」および「システム」という用語は、しばしば互換的に使用される。CDMAネットワークは、ユニバーサル地上無線アクセス(UTRA)、CDMA2000などの無線技術を実装することができる。UTRAは、広帯域CDMA(W-CDMA)および低チップレート(LCR)を含む。CDMA2000は、IS-2000規格、IS-95規格およびIS-856規格を対象とする。TDMAネットワークは、モバイル通信用グローバルシステム(GSM(登録商標))などの無線技術を実装し得る。OFDMAネットワークは、NR(たとえば、5G RA)、発展型(E-UTRA)、IEEE802.11、IEEE802.16、IEEE802.20、Flash-OFDMなどの無線技術を実装してもよい。UTRA、E-UTRA、およびGSM(登録商標)は、ユニバーサルモバイルテレコミュニケーションシステム(UMTS)の一部である。ロングタームエボリューション(LTE)は、E-UTRAを使用するUMTSのリリースである。UTRA、E-UTRA、GSM(登録商標)、UMTS、およびLTEは、「第3世代パートナーシッププロジェクト」(3GPP)と名付けられた組織からの文書に記載されている。CDMA2000は、「第3世代パートナーシッププロジェクト2」(3GPP2)と名付けられた組織からの文書に記載されている。NRは、5G技術フォーラム(5GTF)とともに開発中の新生のワイヤレス通信技術である。これらの通信ネットワークは、本開示で説明される技法が適用され得るネットワークの例として列挙されているにすぎず、本開示は、上記で説明した通信ネットワークに限定されない。
【００２８】
シングルキャリア周波数分割多元接続(SC-FDMA)は、送信機側においてシングルキャリア変調を利用し、受信機側において周波数領域等化を利用する送信技法である。SC-FDMAは、OFDMAシステムのものと類似の性能、および本質的に同じ全体的な複雑さを有する。しかしながら、SC-FDMA信号は、その固有のシングルキャリア構造により、より低いピーク対平均電力比(PAPR)を有する。SC-FDMAは、特に、より低いPAPRが送信電力効率の観点からワイヤレスノードに大きな利益をもたらすアップリンク(UL)通信において大きな注目を集めている。
【００２９】
アクセスポイント(「AP」)は、ノードB、無線ネットワークコントローラ(「RNC」)、eNodeB(eNB)、ノードB(たとえば、5GノードB)、送受信ポイント(TRP)、基地局コントローラ(「BSC」)、基地トランシーバ局(「BTS」)、基地局(「BS」)、トランシーバ機能(「TF」)、無線ルータ、無線トランシーバ、基本サービスセット(「BSS」)、拡張サービスセット(「ESS」)、無線基地局(「RBS」)、または何らかの他の専門用語を含み、それらとして実装され、またはそれらとして知られることがある。
【００３０】
アクセス端末(「AT」)は、アクセス端末、加入者局、加入者ユニット、移動局、遠隔局、遠隔端末、ユーザ端末、ユーザエージェント、ユーザデバイス、ユーザ機器(UE)、ユーザ局、ワイヤレスノード、またはなにか他の専門用語を備えることができ、これらとして実装されてもよく、これらとして知られる場合がある。いくつかの実装形態では、アクセス端末は、セルラー電話、スマートフォン、コードレス電話、セッション開始プロトコル(「SIP」)電話、ワイヤレスローカルループ(「WLL」)局、携帯情報端末(「PDA」)、タブレット、ネットブック、スマートブック、ウルトラブック、ワイヤレス接続機能を有するハンドヘルドデバイス、局(「STA」)、または、ワイヤレスモデムに接続されたなにか他の適切な処理デバイスを備えることができる。したがって、本明細書で教示する1つまたは複数の態様は、電話(たとえば、セルラーフォン、スマートフォン)、コンピュータ(たとえば、デスクトップ)、ポータブル通信デバイス、ポータブルコンピューティングデバイス(たとえば、ラップトップ、携帯情報端末、タブレット、ネットブック、スマートブック、ウルトラブック)、医療デバイスもしくは医療機器、生体センサー/デバイス、娯楽デバイス(たとえば、音楽もしくはビデオデバイス、もしくは衛星ラジオ)、車両構成要素もしくはセンサー、スマートメータ/センサー、産業用製造機器、全地球測位システムデバイス、または、ワイヤレス媒体またはワイヤード媒体を介して通信するように構成された任意の他の適切なデバイスに組み込まれ得る。いくつかの態様では、ノードはワイヤレスノードである。ワイヤレスノードは、たとえば、ワイヤード通信リンクまたはワイヤレス通信リンクを介して、ネットワーク(たとえば、インターネットまたはセルラーネットワークなどのワイドエリアネットワーク)のための、またはネットワークへの接続性を提供し得る。
【００３１】
態様は本明細書で3Gおよび/または4Gワイヤレス技術に一般に関連する用語を使用して説明される場合があるが、本開示の態様は、NR技術を含め、5G以降など、他の世代ベースの通信システムに適用され得る。
【００３２】
例示的なワイヤレス通信システム
図1は、本開示の態様が実行される場合がある通信ネットワークまたは通信システム100の一例を示す。示すように、ノードB102(たとえば、TRPまたは5GノードB)は、複数のアンテナグループ、すなわち、アンテナ104および106を含む1つのグループ、アンテナ108および110を含む別のグループ、およびアンテナ112および114を含むさらなるグループを含み得る。図1では、アンテナグループごとに2つのアンテナしか示されていないが、アンテナグループごとにより多いまたはより少ないアンテナが利用される場合もある。ワイヤレスノード116は、アンテナ112および114と通信している場合があり、アンテナ112および114は、順方向リンク120を介してワイヤレスノード116に情報を送信し、逆方向リンク118を介してワイヤレスノード116から情報を受信する。ワイヤレスノード122は、アンテナ106および108と通信している場合があり、アンテナ106および108は、順方向リンク126を介してワイヤレスノード122に情報を送信し、逆方向リンク124を介してワイヤレスノード122から情報を受信する。ノードB102は、たとえば、すべてのインターネット(IoE)デバイスであり得る他のワイヤレスノードとも通信している場合がある。IoEデバイス136は、ノードB102の1つまたは複数の他のアンテナと通信している場合があり、アンテナは、順方向リンク140を介してIoEデバイス136に情報を送信し、逆方向リンク138を介してIoEデバイス136から情報を受信する。IoEデバイス142は、ノードB102の1つまたは複数の他のアンテナと通信している場合があり、アンテナは、順方向リンク146を介してIoEデバイス142に情報を送信し、逆方向リンク144を介してIoEデバイス142から情報を受信する。周波数分割複信(FDD)システムでは、通信リンク118、120、124、126、138、140、144、および146は、通信のために異なる周波数を使用することができる。たとえば、順方向リンク120は、逆方向リンク118によって使用される周波数とは異なる周波数を使用することができ、順方向リンク140は、逆方向リンク138によって使用される周波数とは異なる周波数を使用することができる。
【００３３】
アンテナの各グループ、および/またはそれらが通信するように設計されたエリアは、しばしばノードBのセクタと呼ばれる。本開示の一態様では、各アンテナグループは、ノードB102によってカバーされるエリアのセクタ内のワイヤレスノードと通信するように設計され得る。
【００３４】
ワイヤレスノード130は、ノードB102と通信している場合があり、ノードB102からのアンテナは、順方向リンク132を介してワイヤレスノード130に情報を送信し、逆方向リンク134を介してワイヤレスノード130から情報を受信する。
【００３５】
順方向リンク120および126を介する通信において、ノードB102の送信アンテナは、異なるワイヤレスノード116、122、136、および142のための順方向リンクの信号対雑音比を改善するために、ビームフォーミングを利用することができる。また、そのカバレッジを通じてランダムに点在するワイヤレスノードに送信するためにビームフォーミングを使用するノードBは、単一のアンテナを介してすべてのそのワイヤレスノードに送信するノードBよりも、隣接セル内のワイヤレスノードに対してより少ない干渉を引き起こす。
【００３６】
本明細書で説明する例の態様はLTE技術に関連し得るが、本開示の態様は、NRなど、他のワイヤレス通信システムに適用可能であり得る。NRは、アップリンクおよびダウンリンク上でCPを用いて直交周波数分割多重(OFDM)を利用することができ、時分割複信(TDD)を使用して半二重動作に対するサポートを含み得る。100MHzの単一のコンポーネントキャリア帯域幅がサポートされ得る。NRリソースブロックは、0.1msの持続時間にわたって、サブキャリア帯域幅が75kHzの12個のサブキャリアにまたがり得る。各無線フレームは、10msの長さを有する50個のサブフレームで構成され得る。結果として、各サブフレームは0.2msの長さを有することができる。各サブフレームは、データ送信のためのリンク方向(すなわち、ダウンリンク(DL)またはアップリンク(UL))を示し得、各サブフレームに関するリンク方向を動的に切り替えることができる。各サブフレームは、DL/ULデータならびにDL/UL制御データを含み得る。ビームフォーミングがサポートされ得、ビーム方向が動的に構成され得る。プリコーディングを用いたMIMO送信もサポートされ得る。DLにおけるMIMO構成は、最高で8個のストリームを用いたマルチレイヤDL送信で最高で8個の送信アンテナをサポートし得る。UEごとに最大2個のストリームを用いたマルチレイヤ送信がサポートされ得る。複数のセルのアグリゲーションが、最大8個のサービングセルによってサポートされ得る。代替として、NRは、OFDMベースのエアインターフェースとは異なるエアインターフェースをサポートし得る。NRネットワークは、集約ユニットまたは分散ユニットなどのエンティティを含み得る。
【００３７】
図2は、本開示の態様が実践され得る多入力多出力(MIMO)システム200内の送信機システム210(たとえば、基地局としても知られる)および受信機システム250(たとえば、ワイヤレスノードとしても知られる)の一態様のブロック図を示す。システム210およびシステム250の各々は、送信と受信の両方の能力を有する。システム210またはシステム250が送信するのか、受信するのか、または同時に送信および受信するのかは、アプリケーションに依存する。送信機システム210において、いくつかのデータストリームに関するトラフィックデータは、データソース212から送信(TX)データプロセッサ214に提供される。
【００３８】
本開示の一態様では、各データストリームは、それぞれの送信アンテナを介して送信することができる。TXデータプロセッサ214は、そのデータストリーム用に選択された特定のコーディング方式(たとえば、低密度パリティチェック(LDPC))に基づいて、データストリームごとのトラフィックデータをフォーマットし、コーディングし、インターリーブして、コーディングされたデータを供給する。
【００３９】
データストリームごとのコード化データは、OFDM技法を使用してパイロットデータと多重化される場合がある。パイロットデータは、一般には既知の方法において処理され、チャネル応答を推定するために受信機システムにおいて使用され得る既知のデータパターンである。各データストリームに関する多重化されたパイロットデータおよびコーディングされたデータは、次いで、変調シンボルを提供するために、そのデータストリームのために選択された特定の変調方式(たとえば、BPSK、QSPK、M-PSK、またはM-QAM)に基づいて変調される(たとえば、シンボルマッピングされる)。各データストリームに関するデータレート、コーディング、および変調は、プロセッサ230によって実行される命令によって決定され得る。メモリ232は、データと、送信機システム210のためのソフトウェア/ファームウェアとを記憶することができる。
【００４０】
次いで、すべてのデータストリームに関する変調シンボルは、TX MIMOプロセッサ220に提供され、TX MIMOプロセッサ220は、(たとえば、OFDMのために)その変調シンボルをさらに処理することができる。次いで、TX MIMOプロセッサ220は、NT個(たとえば、この場合、NTは正の整数である)の変調シンボルストリームをNT個の送信機(TMTR)222a〜222tに提供する。本開示のいくつかの態様では、TX MIMOプロセッサ220は、データストリームのシンボルと、シンボルの送信元のアンテナとにビームフォーミング重みを適用する。
【００４１】
各送信機222は、それぞれのシンボルストリームを受信し、1つまたは複数のアナログ信号を提供するために処理し、さらに、MIMOチャネルを介する送信に適した変調信号を提供するためにアナログ信号を調整(たとえば、増幅、フィルタリング、およびアップコンバート)する。次いで、送信機222a〜222tからのNT個の変調信号はそれぞれ、NT個のアンテナ224a〜224tから送信される。
【００４２】
受信機システム250において、送信された被変調信号は、NR個(たとえば、この場合、NRは正の整数である)のアンテナ252a〜252rによって受信され得、各アンテナ252からの受信信号は、それぞれの受信機(RCVR)254a〜254rに提供され得る。各受信機254は、それぞれの受信信号を調整(たとえば、フィルタリング、増幅、およびダウンコンバート)し、調整された信号をデジタル化して、サンプルを提供し、さらにそれらのサンプルを処理して、対応する「受信」シンボルストリームを提供することができる。
【００４３】
次いで、受信(RX)データプロセッサ260が、NR個の受信機254からNR個の受信シンボルストリームを受信し、特定の受信機処理技法に基づいて処理して、NT個の「被検出」シンボルストリームを提供する。次いで、RXデータプロセッサ260は、各被検出シンボルストリームを復調し、デインターリーブし、復号して、データストリームのトラフィックデータを再生する。RXデータプロセッサ260による処理は、送信機システム210におけるTX MIMOプロセッサ220およびTXデータプロセッサ214によって実行される処理を補足するものであり得る。
【００４４】
プロセッサ270は、どのプリコーディング行列を使用すべきかを周期的に決定する。プロセッサ270は、行列インデックス部とランク値部とを備える逆方向リンクメッセージを作成する。メモリ272は、データと、受信機システム250のためのソフトウェア/ファームウェアとを記憶することができる。逆方向リンクメッセージは、通信リンクおよび/または受信データストリームに関する様々なタイプの情報を備えることができる。逆方向リンクメッセージは、次いで、データソース236からいくつかのデータストリームに関するトラフィックデータも受信するTXデータプロセッサ238によって処理され、変調器280によって変調され、送信機254a〜254rによって調整され、送信機システム210に送信し戻される。
【００４５】
送信機システム210において、受信機システム250からの被変調信号は、アンテナ224によって受信され、受信機222によって調整され、復調器240によって復調され、RXデータプロセッサ242によって処理されて、受信機システム250によって送信された逆方向リンクメッセージを抽出する。次いで、プロセッサ230が、ビームフォーミング重みを決定するためにどのプリコーディング行列を使用すべきかを決定し、次いで、抽出されたメッセージを処理する。
【００４６】
受信機システム250のプロセッサ270、RXデータプロセッサ260、TXデータプロセッサ238、もしくは他のプロセッサ/要素のうちのいずれか1つ、またはそれらの組合せ、および/あるいは、送信機システム210のプロセッサ230、TX MIMOプロセッサ220、TXデータプロセッサ214、RXデータプロセッサ242、もしくは他のプロセッサ/要素、またはそれらの組合せは、以下で論じる本開示のいくつかの態様によるコネクションレスアクセスのための手順を実行するように構成され得る。一態様では、プロセッサ270、RXデータプロセッサ260、およびTXデータプロセッサ238のうちの少なくとも1つは、本明細書で説明するコネクションレスアクセスのためのランダムアクセスチャネル(RACH)手順を実行するためのメモリ272内に記憶されたアルゴリズムを実行するように構成され得る。別の態様では、プロセッサ230、TX MIMOプロセッサ220、TXデータプロセッサ214、およびRXデータプロセッサ242のうちの少なくとも1つは、本明細書で説明するコネクションレスアクセスのためのランダムアクセスチャネル(RACH)手順を実行するためのメモリ232内に記憶されたアルゴリズムを実行するように構成され得る。
【００４７】
図3は、図1に示した通信ネットワーク100内で用いられることができるワイヤレスデバイス302内で利用され得る様々な構成要素を示す。ワイヤレスデバイス302は、本明細書で説明する様々な方法を実装するように構成されてもよいデバイスの一例である。ワイヤレスデバイス302は、ノードB102(たとえば、TRP)、またはワイヤレスノード(たとえば、ワイヤレスノード116、122、130、またはIoTデバイス136または142)のいずれかであり得る。たとえば、ワイヤレスデバイス302は、図12で説明する動作1200、ならびに本明細書で説明する他の動作を実行するように構成され得る。
【００４８】
ワイヤレスデバイス302は、ワイヤレスデバイス302の動作を制御するプロセッサ304を含み得る。プロセッサ304は、中央処理装置(CPU)と呼ばれることもある。メモリ306は、読取り専用メモリ(ROM)とランダムアクセスメモリ(RAM)の両方を含んでよく、命令およびデータをプロセッサ304に提供する。メモリ306の一部は、不揮発性ランダムアクセスメモリ(NVRAM)を含んでもよい。プロセッサ304は、一般には、メモリ306内に記憶されたプログラム命令に基づいて論理演算と算術演算とを実行する。メモリ306内の命令は、たとえば、コネクションレスアクセスの間にUEがデータを効率的に送信することを可能にするために、本明細書で説明する方法を実装するために実行可能であり得る。プロセッサ304のいくつかの非限定的な例は、Snapdragonプロセッサ、特定用途向け集積回路(ASIC)、プログラマブル論理などを含み得る。
【００４９】
ワイヤレスデバイス302は、ワイヤレスデバイス302と遠隔地との間でデータの送信および受信を可能にするために、送信機310および受信機312を含み得るハウジング308を含む場合もある。送信機310と受信機312を組み合わせてトランシーバ314にしてもよい。単一または複数の送信アンテナ316が、ハウジング308に取り付けられてよく、トランシーバ314に電気的に結合されてよい。ワイヤレスデバイス302はまた、複数の送信機、複数の受信機、および複数のトランシーバを含み得る(図示せず)。ワイヤレスデバイス302は、ワイヤレスバッテリー充電機器も含み得る。
【００５０】
ワイヤレスデバイス302はまた、トランシーバ314によって受信された信号のレベルを検出および定量化するための取組みにおいて使用され得る信号検出器318を含み得る。信号検出器318は、総エネルギー、シンボルごとのサブキャリア当りのエネルギー、電力スペクトル密度、および他の信号などの信号を検出することができる。ワイヤレスデバイス302はまた、信号を処理する際に使用するためのデジタル信号プロセッサ(DSP)320を含み得る。
【００５１】
加えて、ワイヤレスデバイスはまた、送信のために信号を符号化するのに使用するためのエンコーダ322と、受信された信号を復号するのに使用するためのデコーダ324とを含み得る。いくつかの態様によれば、デコーダ324は、本明細書で提示するいくつかの態様に従って(たとえば、図12に示す動作1200を実装することによって)復号を実行し得る。
【００５２】
ワイヤレスデバイス302の様々な構成要素は、バスシステム326によって一緒に結合され得、バスシステム326は、データバスに加えて、電力バスと、制御信号バスと、ステータス信号バスとを含み得る。プロセッサ304は、以下で論じる本開示の態様に従って、コネクションレスアクセスを実行するために、メモリ306内に記憶された命令にアクセスするように構成され得る。
【００５３】
例示的な誤り訂正コーディング
多くの通信システムは誤り訂正コードを使用する。具体的には、誤り訂正コードは、データストリーム内に冗長性を取り入れることによってこれらのシステム内の情報転送の固有の不信頼性を補償する。低密度パリティチェック(LDPC)コードは、反復コーディングシステムを使用する特定のタイプの誤り訂正コードである。具体的には、Gallagerコードは、正規LDPCコードの初期の例である。LDPCコードは、そのパリティチェック行列の要素Hの大部分が「0」に設定される線形ブロックコードである。
【００５４】
LDPCコードは、2部グラフ(「Tannerグラフ」と呼ばれることが多い)によって表すことができ、変数ノードのセットは、コードワードのビット(たとえば、情報ビットまたはシステマティックビット(systematic bit)に対応し、チェックノードのセットは、そのコードを定義するパリティチェック制約のセットに対応する。グラフ内のエッジは、変数ノードをチェックノードに接続する。したがって、グラフのノードは、2つの特徴的なセット、すなわち、変数ノードおよびチェックノードに分離され、エッジは2つの異なるタイプのノードを接続する。
【００５５】
プロトグラフとしても知られる、2部ベースグラフ(G)を数回、Z回コピーすることによって、リフトされたグラフが作り出される。グラフ内で変数ノードおよびチェックノードが「エッジ」(すなわち、変数ノードとチェックノードを接続するライン)によって接続される場合、変数ノードおよびチェックノードは「隣接」と見なされ得る。加えて、2部ベースグラフ(G)の各エッジ(e)に対して、GのZ個のコピーを相互接続するためにエッジ(e)のZ個のコピーに置換が適用される。各チェックノードに関して、すべての隣接変数ノードに関連するビットの合計が0モジュロ2である(すなわち、それらが偶数の1を含む)場合のみ、変数ノードシーケンスとの1対1の関連性を有するビットシーケンスは、有効なコードワードである。使用される置換が巡回である場合、結果として生じるLDPCコードは疑似巡回(QC:quasi-cyclic)であり得る。
【００５６】
図4〜図4Aは、本開示のいくつかの実施形態による、例示的なLDPCコードのグラフィカル表現および行列表現を示す。たとえば、図4は、例示的なLDPCコードを表す2部グラフ400を示す。2部グラフ400は、4個のチェックノード420(正方形によって表される)に接続された5個の変数ノード410(円によって表される)のセットを含む。グラフ400内のエッジは、変数ノード410をチェックノード420に接続する(変数ノード410をチェックノード420に接続するラインによって表される)。このグラフは、|E|=12個のエッジによって接続された、|V|=5変数ノードおよび|C|=4チェックノードからなる。
【００５７】
2部グラフは、パリティチェック行列としても知られている場合がある、簡素化された隣接行列によって表され得る。図4Aは、2部グラフ400の行列表現400Aを示す。行列表現400Aは、パリティチェック行列Hとコードワードベクトルxとを含み、この場合、x1-x5はコードワードxのビットを表す。受信信号が普通に復号されたかどうかを決定するために、パリティ行列Hが使用される。パリティチェックHはj個のチェックノードに対応するC個の行と、i個の変数ノードに対応するV個の列とを有し(すなわち、復調シンボル)、この場合、行は式を表し、列はコードワードのビットを表す。図4Aでは、行列Hは、それぞれ4個のチェックノードおよび5個の変数ノードに対応する、4個の行と5個の列を有する。第j番目のチェックノードがエッジによって第i番目の変数ノードに接続されている場合、すなわち、2個のノードが隣接している場合、パリティチェック行列Hの第i番目の列内および第j番目の行内に1が存在する。すなわち、第i番目の列と第j番目の行の交差部は、エッジが対応する頂点を接合する「1」と、エッジがない「0」とを含む。コードワードベクトルxは、Hx=0である場合(たとえば、各制約ノードに関して、(変数ノードとのそれらの関連性により)その制約に隣接するビットの合計が0モジュロ2である、すなわち、それらが偶数の1を含む)場合のみ)、コードワードベクトルxは有効なコードを表す。したがって、コードワードが正確に受信された場合、Hx=0(mod 2)である。コーディングされた受信信号とパリティチェック行列Hの積が「0」になるとき、これは何の誤りも生じなかったことを示す。パリティチェック行列はC行×V列のバイナリ進行列である。行は等式を表し、列はコードワード内の桁を表す。
【００５８】
復調シンボルまたは変数ノードの数はLDPCコード長である。行(列)内の非ゼロ要素の数は行(列)重みdc(dv)として定義される。
【００５９】
ノードの次数は、そのノードに接続されたエッジの数を指す。この特徴は、変数ノード410に伴うエッジの数が対応する列内の「1」の数に等しく、変数ノード次数d(v)と呼ばれる図4Aに示したH行列内に示されている。同様に、チェックノード420に接続されたエッジの数は、対応する行内の数に等しく、チェックノード次数d(c)と呼ばれる。
【００６０】
正規のグラフまたはコードは、すべての変数ノードが同じ次数jを有し、すべての制約ノードが同じ次数kを有するものである。この場合、そのコードは(j,k)正規コードであるという。他方で、非正規コードは、異なる次数の制約ノードおよび/または変数ノードを有する。たとえば、いくつかの変数ノードは、次数4のもの、他の変数ノードは次数3のもの、さらに他の変数ノードは次数2のものであってよい。
【００６１】
「リフティング」は、LDPCコードが、一般には、大きいLDPCコードに関連する複雑性をやはり低減させながら、並列符号化および/または復号実装形態を使用して実装されることを可能にする。リフティングは、比較的コンパクトな記述を依然として有しながら、LDPCデコーダの効率的な並列化を可能にするのに役立つ。より具体的には、リフティングは、より小さいベースコードの複数のコピーから比較的大きいLDPCコードを生成するための技法である。たとえば、ベースグラフ(たとえば、プロトグラフ)のZ個の数の並列コピーを生成し、次いで、ベースグラフの各コピーのエッジバンドルの置換により並列コピーを相互接続することによって、リフトされたLDPCコードを生成することができる。ベースグラフは、コードの(マクロ)構造を定義し、ある数(K)の情報ビット列およびある数(N)のコードビット列からなる。ベースグラフを数(Z)回リフトすることは、結果として、KZの最終ブロック長をもたらす。
【００６２】
したがって、より大きなグラフは、ベースグラフの複数のコピーが作られて接続されて、単一のリフトされたグラフを形成する「コピーおよび置換」動作によって取得され得る。複数のコピーの場合、単一の基本エッジのコピーのセットである同様のエッジが置換されて接続されて、ベースグラフよりもZ倍大きな接続されたグラフZを形成する。
【００６３】
図5は、図4のグラフの3つのコピーを作成する効果をグラフィカルに示す。3つのコピーはコピー同士の間の同様のエッジを置換することによって相互接続され得る。置換が巡回置換に制限される場合、結果として生じるグラフはリフティングZ=3である疑似巡回LDPCに対応する。3つのコピーが作成された元のグラフは、本明細書ではベースグラフと呼ばれる。異なるサイズの導出グラフを取得するために、「コピーおよび置換」動作をベースグラフに適用することができる。
【００６４】
ベースパリティチェック行列内の各エントリをZxZ行列と置換することによって、リフトされたグラフの対応するパリティチェック行列をベースグラフのパリティチェック行列から構築することができる。「0」エントリ(基本エッジを有さないエントリ)は0行列と置換され、1エントリ(基本エッジを示す)はZxZ置換行列と置換される。巡回リフティングの場合、置換は巡回置換である。
【００６５】
巡回リフトされたLDPCコードは、バイナリ多項式モジュロxZ+1のリング上のコードと解釈することもできる。この解釈では、バイナリ多項式(x)=b0+b1x+b2x2+…+bZ-1xZ-1は、ベースグラフ内の各変数ノードに関連付けられ得る。バイナリベクトル(b0,b1,b2,…,bZ-1)は、リフトされたグラフ内のZ個の対応する変数ノード、すなわち、単一のベース変数ノードのZ個のコピーに関連するビットに対応する。バイナリベクトルのkによる巡回置換は、対応するバイナリ多項式をxkで乗算することによって達成され、この場合、乗算はモジュロxZ+1をとる。ベースグラフ内の次数dのパリティチェックは、隣接のバイナリ多項式B1(x),…,Bd(x)に対する線形制約と解釈することができ、
【００６６】
【数１】
2019536316.tif 000003
【００６７】
と書かれ、式中、値k1,…,kdは、対応するエッジに関連する巡回リフティング値である。
【００６８】
結果的に生じるこの式は、ベースグラフ内の単一の関連するパリティチェックに対応する巡回リフトされたTannerグラフ内のZ個のパリティチェックに等しい。したがって、リフトされたグラフに関するパリティチェック行列は、1のエントリがxkの形の単項式と置換され、0のエントリが0としてリフトされる、ベースグラフに関する行列を使用して表現可能であるが、ここで、0は、0バイナリ多項式モジュロxZ+1と解釈される。そのような行列は、xkの代わりに値kを与えることによって書き込まれる。この場合、0の多項式は「-1」と表現されることがあり、それをx0と区別するために、別の記号として表現されることもある。
【００６９】
一般に、パリティチェック行列の正方部分行列はコードのパリティビットを表す。相補列は、符号化の時点で、符号化されるべき情報ビットに等しく設定された情報ビットに対応する。符号化は、パリティチェック式を満たすために、前述の正方部分行列内の変数を求めることによって達成され得る。パリティチェック行列Hは、2つの部分MおよびNに区分することができ、この場合、Mは正方部分である。したがって、符号化はMc=s=Ndを求めることに帰着し、この場合、cおよびdはxを含む。疑似巡回コードまたは巡回リフトされたコードの場合、上記の代数はバイナリ多項式モジュロxZ+1のリングに関すると解釈され得る。疑似巡回である802.11LDPCコードの場合、符号化部分行列Mは、図6に示すように整数表現を有する。
【００７０】
受信LDPCコードワードを復号して、元のコードワードの再構築バージョンを生成することができる。誤りがない場合、または訂正可能な誤りの場合、復号を使用して、符号化された元のデータユニットを復元することができる。デコーダは、冗長ビットを使用して、ビット誤りを検出および訂正することができる。LDPCデコーダは、概して、局所計算を反復的に実行して、エッジとともに、2部グラフ400内のメッセージを交換して、着信メッセージに基づいてノードにおいて置換を実行することでこれらのメッセージを更新することによって、それらの結果を通すことによって動作する。これらのステップは、一般に、数回繰り返されてよく、メッセージパッシングステップと呼ばれることがある。たとえば、グラフ400内の各変数ノード410に、通信チャネルからの観測によって決定された関連ビットの値の推定を示す「ソフトビット」(たとえば、コードワードの受信ビットを表す)を最初に提供することができる。これらのソフトビットを使用して、LDPCデコーダは、それら、またはそれらのいくつかの部分をメモリから反復的に読み取り、更新メッセージ、またはそれらのいくつかの部分をメモリに再度書き込むことによって、メッセージを更新することができる。更新動作は、一般に、対応するLDPCコードのパリティチェック制約に基づく。リフトされたLDPCコードに対する実装形態では、同様のエッジ上のメッセージは並列で処理されることが多い。
【００７１】
高速アプリケーション用に設計されたLDPCコードは、符号化動作および復号動作において高い並列性をサポートするために、大きいリフティング係数と比較的小さいベースグラフとを用いた疑似巡回構成を使用することが多い。より高いコードレート(たとえば、コードワード長に対するメッセージ長の比率)を有するLDPCコードは、比較的少ないパリティチェックを有する傾向がある。ベースパリティチェックの数が変数ノードの次数(たとえば、変数ノードに接続されたエッジの数)よりも小さい場合、ベースグラフ内で、変数ノードは、2個以上のエッジによってベースパリティチェックのうちの少なくとも1つに接続される(たとえば、変数ノードは「ダブルエッジ」を有し得る)。または、ベースパリティチェックの数が変数ノードの次数(たとえば、変数ノードに接続されたエッジの数)よりも小さい場合、ベースグラフ内で、変数ノードは、2個以上のエッジによってベースパリティチェックのうちの少なくとも1つに接続される。2個以上のエッジによって接続されたベース変数ノードおよびベースチェックノードを有することは、概して、並列ハードウェア実装のためには望ましくない。たとえば、そのようなダブルエッジは、同じメモリロケーションに対して複数の同時読取り動作および書込み動作を生じさせる可能性があり、これは、データコヒーレンシ問題を生み出す可能性がある。ベースLDPCコード内のダブルエッジは、単一の並列パリティチェック更新の間に、メモリロケーション内の同じソフトビットの並列読取りを2度トリガし得る。したがって、両方の更新を適切に組み込むことができるように、メモリに再度書き込まれるソフトビット値を組み合わせるために、一般には、追加の回路が必要とされる。しかしながら、LDPCコード内のダブルエッジの除去することは、この過剰な複雑性の回避に役立つ。
【００７２】
巡回リフティングに基づくLDPCコード設計は、多項式モジュロ(polynomials modulo)のリング上のコードがバイナリ多項式モジュロxZ+1であり得ると解釈することができ、式中、Zはリフティングサイズ(lifting size)(たとえば、疑似巡回コード内のサイクルのサイズ)である。したがって、そのようなコードの符号化は、しばしば、このリング内の代数的演算であり得る。
【００７３】
標準的な非正規LDPCコードアンサンブル(次数分布)の定義では、Tannarグラフ表現内のすべてのエッジは統計的に相互交換可能であり得る。言い換えれば、単一の統計的同値類エッジ(equivalence class of edge)が存在する。リフトされたLDPCコードのより詳細な議論は、たとえば、Tom RichardsonおよびRuediger Urbankeによる、2008年3月17日に出版された「Modern Coding Theory」という表題の書籍に見出すことができる。マルチエッジLDPCコードの場合、複数の同値類エッジが可能であり得る。標準的な非正規LDPCアンサンブル定義では、グラフ内のノード(可変と制約の両方)は、エッジ次数がベクトルであるマルチエッジタイプ設定では、それらの次数、すなわち、それらのノードが接続されるエッジの数によって指定されるが、その次数は、各エッジ同値類(タイプ)からのノードに独立して接続されたエッジの数を指定する。マルチエッジタイプアンサンブルは、有限数のエッジタイプからなる。制約ノードの次数タイプは、(非負)整数のベクトルであり、このベクトルの第i番目のエントリは、そのようなノードに接続された第i番目のタイプのソケットの数を記録する。このベクトルは、エッジ次数と呼ばれることがある。変数ノードの次数タイプは、(非負)整数のベクトルと見なされ得るが、この次数タイプは2つの部分を有する。第1の部分は、受信分布に関し、受信次数と呼ばれることになり、第2の部分はエッジ次数を指定する。エッジ指数は、制約ノードに関するのと同じ役割を果たす。エッジは、それらが同じタイプのソケットをペアリングするとして分類される。ソケットは同様のタイプのソケットとペアリングすべきであるというこの制約は、マルチエッジタイプ概念を特徴づける。マルチエッジタイプ記述では、異なるノードタイプは異なる受信分布を有し得る(たとえば、関連するビットは異なるチャネルを通過し得る)。
【００７４】
図7は、ワイヤレス送信のための符号化メッセージを提供するように構成され得る無線周波数(RF)モデム704の一部分を示す。一例では、基地局(たとえば、ノードB102および/または送信機システム210)(または、逆方向経路上のワイヤレスノード)内のエンコーダ706は、送信のためのメッセージ702を受信する。メッセージ702は、受信デバイス向けのデータおよび/もしくは符号化音声または他のコンテンツを含み得る。エンコーダ706は、一般に、基地局または別のネットワークエンティティによって定義された構成に基づいて選択された適切な変調およびコーディング方式(MCS)を使用してメッセージを符号化する。場合によっては、エンコーダ706は、たとえば、上記で説明した技法を使用して(たとえば、LDPCコードを使用することによって)メッセージを符号化することができる。エンコーダ706によって生成された符号化されたビットストリーム708は、次いで、Txシンボル712のシーケンスを生成するマッパ710に供給され、Txシンボル712はTxチェーン714によって変調され、増幅され、さもなければ処理されて、アンテナ718を通して送信するためのRF信号716が生成され得る。
【００７５】
図8は、符号化メッセージ(たとえば、上記で説明したLDPCコードを使用して符号化されたメッセージ)を含むワイヤレスに送信される信号を受信および復号するように構成され得るRFモデム814の一部を示す。様々な例では、信号を受信するモデム814は、ワイヤレスノード(たとえば、ワイヤレスノード116、受信機システム250)に、基地局(たとえば、ノードB102、送信機システム210)に、または説明する機能を実行するための任意の他の適切な装置もしくは手段(たとえば、ワイヤレスデバイス302)に存在し得る。アンテナ802は、ワイヤレスノード(たとえば、ワイヤレスノード116および/または受信機システム250)に関するRF信号716(すなわち、図7で生成されるRF信号716)を受信する。RFチェーン804は、RF信号716を処理および復調し、復調されたシンボル806のシーケンスをデマッパ808に提供することができ、デマッパ808は符号化メッセージを表すビットストリーム810を生成する。
【００７６】
次いで、デコーダ812を使用して、コーディング方式(たとえば、LDPCコード)を使用して符号化されているビットストリームからm個のビット情報ストリングを復号することができる。デコーダ812は、全並列、行並列、またはブロック並列のアーキテクチャを備えた階層化LDPCデコーダを含み得る。LDPCデコーダは、概して、局所計算を反復的に実行して、エッジとともに、2部グラフ400内のメッセージを交換して、着信メッセージに基づいてノードにおいて計算を実行することでこれらのメッセージを更新することによって、それらの結果を通すことによって動作する。これらのステップは、一般に、数回繰り返されてよく、メッセージパッシングステップと呼ばれることがある。たとえば、グラフ400内の各変数ノード410に、通信チャネルからの観測によって決定された関連ビットの値の推定を示す「ソフトビット」(たとえば、コードワードの受信ビットを表す)を最初に提供することができる。「ソフトビット」は、いくつかの態様では、対数((ビットが0である確率)/(ビットが1である確率))として定義され得る対数尤度比(LLR)によって表され得る。これらのLLRを使用して、LDPCデコーダは、それら、またはそれらのいくつかの部分をメモリから反復的に読み取り、更新メッセージ、またはそれらのいくつかの部分をメモリに再度書き込むことによって、メッセージを更新することができる。更新動作は、一般に、対応するLDPCコードのパリティチェック制約に基づく。リフトされたLDPCコードに対する実装形態では、同様のエッジ上のメッセージは並列で処理されることが多い。態様によれば、これらの復号技法に従って、デコーダ812は、基地局(たとえば、ノードB102および/または送信機システム210)から送信されたデータおよび/または符号化された音声もしくは他のコンテンツを含むメッセージ702を決定するために、LLRに基づいてビットストリーム810を復号し得る。デコーダは、以下で提示する本開示の態様に従って(たとえば、図12に示す動作1200を実装することによって)ビットストリーム810を復号し得る。
【００７７】
例示的なディープパイプライン高スループットLDPCデコーダアーキテクチャ
低密度パリティチェック(LDPC)は、ワイヤレス通信、記憶、およびEthernetなど、いくつかのアプリケーションにおいて使用される強力な誤り訂正コーディング技術である。LDPCは、たとえば、上記で説明し、図4で示したように、2部グラフ上の設計コードに基づく。LDPC復号は、一般に、上記で説明した、信念伝搬技法を使用して実装され、この場合、メッセージは、グラフのエッジに通され、グラフ内のノードは、そこからソースシンボルに関する判定が行われ得るそれらの周辺分布を計算する。疑似巡回(QC)コードは、ベースLDPCパリティチェック行列(PCM)が「リフト」される、構造化LDPCコードの普及しているクラスである。たとえば、「リフティング」は、各ベースPCMエントリをZxZ部分行列と置換することを必要とする。ZxZ部分行列は、「0」ベースPCMエントリに対するすべてのゼロの行列または「1」ベースPCMエントリに対して巡回的に回転された識別であり得る。QC LDPCコードは、図8に示したデコーダなどのデコーダが、メッセージを交換するためにネットワークを切り替えて処理をZ回繰り返すことを可能にすることによって、ハードウェア内の並列処理を可能にする。
【００７８】
LDPCデコーダは、反復信念伝搬(BP:Belief Propagation)アルゴリズムを実装するためのメッセージパッシングアーキテクチャを実装する。対数BPアルゴリズムは、以下のように書き込まれてよい。
【００７９】
【数２】
2019536316.tif 000004
【００８０】
式中、L(c)は、
【００８１】
【数３】
2019536316.tif 000005
【００８２】
として定義される対数尤度比であり、mは、パリティチェックノードまたはPCM行インデックスであり、jは、ビットノードまたはPCM列インデックスであり、N(m)は、パリティチェックノードmに接続されたビットに関するすべてのビットインデックスのセットであり、M(j)は、ビットjに接続されたすべてのパリティチェックノードに関するすべてのパリティチェックノードインデックスのセットである。L(qmj)は、
【００８３】
【数４】
2019536316.tif 000006
【００８４】
を使用してなど、通信チャネルからの観測によって決定される、ビットLLRとも呼ばれる、コードワードの各ビットに関するLLRを使用して初期化され得、式中、rjは減衰利得であり、σ2はチャネル変数である。
【００８５】
態様によれば、式1は、変換Ψを通して、(ビットjに関するLLRではなく)パリティチェックノードmに接続されたすべてのビットに関する着信ビットLLR L(qmn)を加算するビットjに関するパリティチェックメトリックAmjを計算する。この動作は、式3とともに、パリティチェックmに属する他のビットの観測に基づいて、ビットjに関する事後LLR、Rmjを計算する。式2は、着信ビットLLR L(qmn)のサインに基づいて、事後LLR、Rmjのサイン、smjを計算する。式4は、ビットjに関するデコーダからの事後LLR、Rmj(すなわち、外部LLR)のすべてをチャネルからの事前LLR
【００８６】
【数５】
2019536316.tif 000007
【００８７】
(すなわち、内部LLR)と組み合わせることによって、更新されたビットLLR、L(qj)を計算する。式5は、次の反復において更新された事後/外部LLR Rmjの計算のために、ビットLLR和L(qmj)がパリティチェックノードmに返される前に、ビットLLR和L(qj)からパリティチェックノードmに関する外部LLR Rmjを減算する。LDPCデコーダ反復の「フラッディング」のために、すべてのパリティチェックノードに関して、ステップ1〜3(すなわち、計算式1〜3)が実行され、その後で、すべてのビット(変数)ノードはステップ4(すなわち、計算式4)を実行して、ビットLLR L(qj)を更新する。
【００８８】
たとえば、本明細書で提示されるような階層化LDPCデコーダは、上記の式1〜5と同様のステップを実行するが、いくつかの若干の修正が伴う。たとえば、階層化対数BPアルゴリズムは以下のように書き込まれてよい。
【００８９】
【数６】
2019536316.tif 000008
【００９０】
上記の階層化復号ステップ(すなわち、式6〜10)では、ビットLLR L(qj)はチャネルビット
【００９１】
【数７】
2019536316.tif 000009
【００９２】
で初期化される。いくつかの態様によれば、階層化復号(式6〜10)とフラッディング復号(式1〜5)の間の主な差異は、階層化復号反復では、事後LLR、Rmjが式9において特定のパリティチェックノード(PCM行)に関して計算されるとき、式6〜9において次の行の事後LLR Rmjを計算する前に、ビットLLR L(qj)が式10において新しい事後LLR、Rmjで直ちに更新されることである。これは、式4でビットLLR L(qj)のすべてが事後LLR、Rmjで更新される前に、PCM行に対応する事後LLR、Rmjのすべてが計算される(式1〜3がすべてのmおよびjにわたってループする)フラッディングデコーダとは対称的である。結果として、階層化復号は、情報が更新された事後LLR、Rmjの形で、フラッディングデコーダよりも高速で通る信念伝搬メッセージを通して伝搬することを可能にし、これは結果的に、より高速なデコーダ収束をもたらす。
【００９３】
図9は、図8に示したデコーダの一例であり得る、一般的な階層化LDPCデコーダ900のハイレベルブロック図を示す。示すように、階層化LDPCデコーダは、ビットLLR(たとえば、L(qj))(すなわち、コードワードのビット当たり1つのビットLLR)を記憶するためのLLR記憶メモリ902を含み、ビットLLRは、チャネルビットLLR(たとえば、
【００９４】
【数８】
2019536316.tif 000010
【００９５】
)によって初期化され、このチャネルビットLLRは、事後LLR(たとえば、Rmj)によって更新される。階層化LDPCデコーダ900はまた、事後LLRを計算し、LLR記憶メモリ902内に記憶されたビットLLRを更新するために並列に動作するデータパスプロセッサ904を含む。階層化LDPCデコーダ900は、加えて、メモリ902、906とデータパスプロセッサ904との間でLLR(たとえば、ビットLLRおよび事後LLR)をルーティングするために、データパスプロセッサ904および置換ネットワーク908によって計算された事後LLRを記憶するためのメトリック記憶メモリ(metric storage memory)906を含む。
【００９６】
上記で論じたように、階層化復号は、その行に関する事後LLRを計算するために、PCM内の行に沿ってPCM列(ビットLLR)をトラバースする。その行に関する事後LLRが計算された後で、ビットLLRが次の行に関する事後LLRの計算のために供給されるにつれて、ビットLLRは、各々、それらの対応する事後LLRで速やかに更新される。更新されたビットLLRの列インデックスが次の行に接続されている場合、更新されたビットLLRはその次の行に関する事後LLR計算に通される。接続がない場合、更新されたビットLLRはLLR記憶メモリ902内に記憶され得る。
【００９７】
図10は、上記で説明したような、パリティチェック行列(PCM)内でビットLLRおよび事後LLRを計算/更新するためのこのプロセスの一例を示す。具体的には、PCMの各セルは、計算された事後LLRを示す。たとえば、図10に示すPCMの場合、行3に関する事後LLRが計算されると、列5に関するビットLLRが(たとえば、式10を使用して)更新され、(たとえば、式6〜9を使用して)行4に関する事後LLR計算において使用され得るが、これは、列5が行3と行4の両方に接続されている(たとえば、PCMエントリ(3,5)および(4,5)は非ゼロである)ためである。しかしながら、列6に関するビットLLRが行3から計算された事後LLRで更新されるとき、(4,6)が空であると仮定すれば、行4にする事後LLR計算は列6を含まないため、更新されたビットLLRはメモリ(たとえば、LLR記憶メモリ902)内に記憶される。行5に関する事後LLRが計算されているとき、行6に関するビットLLRは、前の更新計算から通されるのではなく、メモリ(たとえば、LLR記憶メモリ902)から読み取られる。式6および10はLLR記憶メモリ902からの読取りとLLR記憶メモリ902への書込みの両方が可能であるため、書込みおよび読取りの競合が考えられることにも留意されたい。LLR記憶メモリ902が単一の読取りポートおよび単一の書込みポートのみを有する場合、そのような競合は処理パイプライン内に「バブル」(たとえば遅延)を作り出す可能性がある。
【００９８】
ビットLLRを再度更新するために、計算された事後LLRが使用される次のレイヤに対して、行(レイヤ)に関するビットLLR更新が、事後LLR処理に通される再帰処理によりもたらされるバブルも存在し得る。たとえば、非ゼロ処理パイプライン深度を仮定すると、事後LLR計算が完了し得るように、ビットLLR更新段階同士の間にギャップが存在し得る。
【００９９】
たとえば、図11Aは、事後LLRを計算し、事後LLRに基づいてビットLLRを更新するための行単位の処理を示す。図11Aに示すように、事後計算(たとえば、式6〜9)とビットLLR更新ステップ(たとえば、式10)との間の相互依存による再帰処理により、パイプライン「バブル」(たとえば、処理内のギャップ)が存在する。パイプラインバブルは、たとえば、図11Bに示すように、パイプライン深度の増大、ならびにメモリ競合とともに増大し、この場合、メモリ競合とともにパイプライン深度が3サイクルに増大することは、パイプラインバブルにより浪費されるサイクルの数を増大することが理解できる。したがって、本開示の態様は、特定の行に関して、最新の更新が生じるのを待つのではなく、事後処理が最新の利用可能なビットLLRを使用することができるように、たとえば、ビットLLRの更新と事後LLRの計算との間の依存性を緩和することによって、パイプラインバブルを緩和するための技法を提示する。
【０１００】
図12は、たとえば、LDPC符号化されたビットを復号するときに処理遅延およびメモリ競合を低減するための、ワイヤレス通信のための例示的な動作1200を示す。いくつかの態様では、動作1200は、基地局(たとえば、ノードB110および/または送信機システム210)、ユーザ機器(たとえば、ワイヤレスノード116および/または受信機システム250)、および/またはワイヤレスデバイス302など、ワイヤレス通信デバイス内のデコーダ(たとえば、デコーダ800)によって実行され得る。
【０１０１】
動作1200は、1202において、LDPC符号化を使用して符号化されたビットに対応する対数尤度比(LLR)を受信することによって開始する。1204において、ワイヤレス通信デバイスは、パリティチェック行列(PCM)の列に対応する符号化されたビットの各々に関するLLRを更新し、LLRは、符号化されたビットの各々の値の確率を示す。1206において、ワイヤレス通信デバイスは、符号化されたビットの各々に関して、PCMの行内の各LLRを処理することによって、その行に関する事後LLRを決定することであって、符号化されたビットの第1のセットに関して、事後LLRを決定することが、第1の数の旧式のLLRを使用することを含み、符号化されたビットの第2のセットに関して、事後LLRを決定することが、第2の数の更新されたLLRを使用することを含み、符号化されたビットの第1のセットおよび符号化されたビットの第2のセットが、符号化されたビットのすべてを含む、決定することを行う。1208において、ワイヤレス通信デバイスは、符号化されたビットを復号するためにLLRを利用する。
【０１０２】
上述のように、パイプラインバブルを緩和するために、特定の行に関して、最新の更新(たとえば、更新されたビットLLR)が生じるのを待つのではなく、事後処理が最新の利用可能なビットLLR(たとえば、旧式ビットLLR)を使用することができるように、ビットLLRの更新と事後LLRの計算の間の依存性を緩和することができる。
【０１０３】
図13は、ビットLLRの更新と事後LLRの計算との間の依存性が緩和されている、1つの例示的なLLR処理パイプラインを示す。たとえば、示すように、事後LLRの計算の間に、(たとえば、3サイクルパイプライン遅延の後で)ビットLLRが前の反復において更新され、現在の事後LLR計算に通されるのを待つ代わりに、事後LLR計算は、第1の数のビットに対応する第1の数の旧式ビットLLRを使用し、かつ第2の数のビットに対応する第2の数の更新されたビットLLRを使用して、更新されたビットLLRなしで進むことが可能である。たとえば、図13に示すように、PCM行0の場合、事後LLR計算は、最新の、更新されたビットLLRが利用可能になる(たとえば、3つのサイクルパイプライン遅延の後で事後LLR計算段階に通される)まで、最初の3つのサイクルに対してより古い(たとえば、旧式の/更新されていない)ビットLLRを使用することで開始し得る。
【０１０４】
態様によれば、そのような緩和はパイプラインバブルを低減するが、これは、メッセージパッシングでもたらされる遅延により、デコーダ性能劣化が犠牲になる。しかしながら、(パイプライン深度に比例する)メッセージパッシング遅延の量により、そのような遅延からの性能劣化は、軽微になる傾向があり、パイプラインバブルオーバヘッドの除去による反復ごとのサイクルの低減によってバランスがとれる傾向にもある。態様によれば、メッセージパッシング遅延によりもたらされる性能劣化は軽微になる傾向があるが、これは反復ごとのサイクルの低減が、結果として、(たとえば、このメッセージパッシング緩和のない階層化デコーダと比較して)より多くのPCM行を一定の時間期間内で処理させ、結果として、メッセージパッシング遅延による性能劣化を埋め合わせることができる性能改善をもたらすためである。加えて、メッセージパッシング遅延を可能にすることは、より深いパイプラインを実現し、これは、復号動作に対してより高い達成可能クロック周波数につながる。
【０１０５】
態様によれば、階層化復号の場合、新しい事後メッセージを計算するために事後メッセージを事後計算に供給する前に、ビットLLR、L(qj)から最後の事後メッセージを減算するために、式6を実行すること(たとえば、計算すること)ができ、新しい事後メッセージは、次いで、L(qmj)を更新するために使用される。式10における更新のために、L(qmj)がLLRメモリ(たとえば、LLR記憶メモリ902)内に記憶される場合、かつ、メッセージパッシングに遅延が存在する場合、更新が生じる前に発生し得るビットLLRの複数の読取りが潜在的に存在する可能性があり、これは、事後更新を逃すことにより、信念伝搬メッセージパッシングを損なう可能性がある。加えて、上記で論じたように、式6および10が同時にLLRメモリにアクセスすることによるメモリ競合が存在し得、その一例が図14Aおよび図14Bに示されている。
【０１０６】
図14Aは、上記で論じたように、階層化LDPCデコーダ内のメッセージパッシングの遅延によって引き起こされる可能性があるメモリ整合性および競合問題を示すための1つの例示的なPCMを示す。図14Aに示す例示的なPCMでは、行4は、ビット0、2、および3に接続され(たとえば、ビット(4,0)、(4,2)、および(4,3)は非ゼロである)、行5は、ビット0、1、および5に接続される(たとえば、ビット(5,0)、(5,1)、および(5,5)は非ゼロである)。
【０１０７】
図14Bは、図14Aに示した例示的なPCMを参照しながら、上記で論じたメモリ競合を示す、LLRメモリに書き込むための単一のサイクルレイテンシおよび3サイクルパイプライン深度を仮定する階層化LDPCデコーダパイプラインを示す。示すように、サイクル0の間に、デコーダは、図14Aに示したPCMの列0、L(q0)に対してビットLLRをとり、列0に関するビットLLRから旧式の事後LLR、Rmjを減算することによって、行4、ビット0に対する式6を計算する。これは結果として、行4、列0に関するビットLLR(すなわち、L(q40))をもたらす。デコーダが、たとえば、図14Bの(サイクル1、LLRメモリ列0)において示すように、ビットLLR L(q40)に対する値でビットLLR L(q0)を上書きするように、結果として生じるビットLLR、L(q40)は、PCMの列0(すなわち、ビット0)に対して更新されたビットLLRを計算するために後で使用されることになるどこか(たとえば、LLR記憶メモリ902)に記憶される必要がある。しかしながら、パイプライン処理遅延により、L(q0)をL(q40)で上書きすることは、行5の処理の間に後で問題を提示する。
【０１０８】
たとえば、図14Bのサイクル3において示すように、更新されたビットLLRを提供するためのパイプライン処理遅延により、式6に関する処理は、更新されたL(q0)の代わりにメモリからL(q40)を読み取る。すなわち、更新されたL(q0)(L(q40)から導出される)は、パイプライン処理遅延により、メモリ内にまだ記憶されていないため、行5の処理の間に、式6の計算は、行4に関するビットLLR情報(すなわち、L(q40))を使用し、これはデコーダ性能を劣化される可能性がある。加えて、サイクル4の場合、式6および10の処理の両方が同じサイクル内でメモリに書き込むことを望むため、メモリ競合が存在する。場合によっては、デコーダは、競合を解決するために、式6の書込み動作または式10の書込み動作のいずれかを遅延させることを選ぶことができ、これは、図14Bに示す括弧内のステップに示されている。しかしながら、どちらにしても、望まれない挙動が存在し得る。たとえば、式6の書込み動作が最初に生じる場合、行5に対する更新が生じるとき、L(q50)メッセージは上書きされていることになる。加えて、式10の書込み動作が最初に生じる場合、行4に対する更新は上書きされることになる。
【０１０９】
いくつかの態様によれば、下記に示すように、階層化式(たとえば、式6〜10)に対するわずかな修正が、メモリ整合性および競合問題を解決する。
【０１１０】
【数９】
2019536316.tif 000011
【０１１１】
式6〜9の場合のように、式11によって生成されるL(qmj)sは、式12〜14において事後処理に供給される。しかしながら、式6〜9と異なり、図14Bの例に示すように、L(qmj)sはLLRメモリ内に記憶されない。代わりに、式15に示すように、L(qj)は、古い事後LLRと新しい事後LLRとの間の差異(すなわち、(Rmj(new)-Rmj(old)))で更新される。いくつかの態様によれば、特定の行に対する計算が図14Bの例に示したように、前の行に適合させた情報をもはや使用しないように、この動作は、古い事後情報をビットLLRから効果的に減算し、それを最新情報と置換する。
【０１１２】
図15は、図14Aに示した例示的なPCMに対応する式11〜15に関する処理ステップを示す。図15に見られるように、L(qmj)sはメモリに書き込まれていないため、整合性競合は存在しない。したがって、メモリは、最新の利用可能なL(qj)値(すなわち、旧式のまたは更新されたビットLLR)を常に維持する。
【０１１３】
加えて、図15においてサイクル3に示されるように、式11の処理において使用されるL(q0)値は、メモリから生じ、その差異の更新が式15の処理に関してサイクル3ではやはり生じる、行4に関する事後LLRによって更新されていないより古い値である。いくつかの態様によれば、図16に示すように、L(q50)の式11の処理をL(q55)とスワップすることは、L(q50)処理において、L(q0)の最新の更新が使用されることを可能にする。
【０１１４】
いくつかの態様によれば、メッセージパッシングにおける遅延により、L(qmj)の代わりに、L(qj)がメモリから読み取られることになる。L(qj)を読み取るために式11および15の両方がメモリにアクセスするため、式11および15の両方に対するサイクル単位の処理にL(qj)メッセージを供給するために高いメモリ帯域幅が必要とされ得る。
【０１１５】
図17は、LLRの処理および更新に対応するためにメモリ帯域幅を増大させるための1つの例示的な解決策を示す。たとえば、いくつかの態様によれば、高価なさらなるポートをメモリに追加せずに、より高い読取り/書込み帯域幅を可能にするために、LLRメモリ(たとえば、LLR記憶メモリ902)をデュアルバンク(dual bank)に分割することができ、式11の処理および式15の処理が、たとえば、図17に示すように、同じサイクルで同じバンクの読取りを試みる競合を回避するために、L(qj)メッセージをメモリバンク内で(たとえば、PCM内の行同士の間の依存性に基づいて)特定の順序にソートすることができる。言い換えれば、LLRメモリをデュアルバンクに論理的に分割することは、デコーダ(たとえば、デコーダ800)が、メモリの両方のバンクから同時に読み取ること、およびメモリの両方のバンクに同時に書き込むことも可能にし、それにより、読取り/書込み帯域幅を増大する。
【０１１６】
加えて、メモリ内で、ビット(すなわち、列)インデックスが処理される順序でソートすることは、図16に示した最新の更新されたL(qj)メッセージのパッシングが最大化されるように実行されてもよい。たとえば、図17では、メモリはデュアルバンク(たとえば、「LLRメモリバンク0」および「LLRメモリバンク1」)に分割され得る。両方のバンクにわたって記憶されるビットの総数は、図16の単一のメモリと同じ数にとどまる。しかしながら、態様によれば、L(q2)およびL(q4)の列がスワップされる場合、式11および式15に対する処理は、L(qj)を読み取るためにいずれかの所与のサイクルで同じメモリバンクにアクセスせず、それにより、読取り帯域幅を増大し、復号の効率および時間を改善する。加えて、図16の場合のように、(たとえば、図17でデュアルバンクメモリを使用する)式11に対する処理は、ビットインデックス5を使用することができ、次いで、1を、次いで、0を使用することができ、その結果、行5に関する事後LLR処理において最新のL(q0)が使用され得る。言い換えれば、いくつかの態様によれば、事後LLRおよびビットLLRの更新計算(すなわち、式11および15)を実行するとき、デコーダは、PCM行計算順序を有利に選び、メモリ内で事後LLRおよびビットLLRの更新をソートし、かつ/または、メモリ競合/整合性誤りを緩和し、パイプライン処理遅延を低減するために、たとえば、PCM内の行同士の間の依存性に基づいて、事後LLRおよびビットLLRの更新を記憶するためのメモリバンクを選ぶことができ、それにより、復号の効率および精度を改善する。
【０１１７】
本明細書で開示する方法は、説明した方法を実現するための1つまたは複数のステップまたはアクションを備える。方法ステップおよび/またはアクションは、特許請求の範囲から逸脱することなく互いに入れ替えられてよい。言い換えれば、ステップまたはアクションの特定の順序が指定されない限り、特定のステップおよび/またはアクションの順序および/または使用は、特許請求の範囲から逸脱することなく修正されてよい。
【０１１８】
本明細書において使用される「決定すること」という用語は、幅広い様々な活動を包含する。たとえば、「決定すること」は、計算すること、算出すること、処理すること、導出すること、調査すること、ルックアップすること(たとえば、テーブル、データベースまたは別のデータ構造においてルックアップすること)、確認することなどを含み得る。また、「決定する」は、受信する(たとえば、情報を受信する)、アクセスする(たとえば、メモリ内のデータにアクセスする)などを含み得る。また、「決定する」は、解決する、選択する、選出する、確立するなどを含み得る。
【０１１９】
いくつかの場合には、デバイスは、フレームを実際に送信するのではなく、フレームを送信するように出力するインターフェースを有してもよい。たとえば、プロセッサは、バスインターフェースを介して、フレームを送信用のRFフロントエンドに出力してもよい。同様に、デバイスは、フレームを実際に受信するのではなく、別のデバイスから受信したフレームを取得するためのインターフェースを有してもよい。たとえば、プロセッサは、バスインターフェースを介して、フレームを送信用のRFフロントエンドから取得(または受信)してもよい。
【０１２０】
上述の方法の様々な動作は、対応する機能を実行することができる任意の適切な手段によって実行されてもよい。この手段は、限定はしないが、回路、特定用途向け集積回路(ASIC)、またはプロセッサを含む、様々なハードウェアおよび/またはソフトウェア構成要素および/またはモジュールを含んでもよい。概して、図に示した動作がある場合、それらの動作は、同様の番号を付された対応する同等のミーンズプラスファンクション構成要素を有してもよい。
【０１２１】
たとえば、計算するための手段、決定するための手段、(たとえば、LLRを)利用するための手段、更新するための手段、読み取るための手段、および/または選択するための手段は、送信機システム210のプロセッサ230および/もしくはRXデータプロセッサ242ならびに/または受信機システム250のプロセッサ270および/もしくはRXデータプロセッサ260など、1つまたは複数のプロセッサを含む処理システムを含み得る。加えて、記憶するための手段は、送信機システム210のメモリ232および/または受信機システム250のメモリ272など、メモリを含み得る。さらに、受信するための手段は、送信機システム210の受信機222および/もしくはアンテナ224ならびに/または受信機システム250の受信機254および/もしくはアンテナ252など、受信機および/もしくはアンテナを含み得る。
【０１２２】
本開示に関して説明した様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス(PLD)、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行されてよい。汎用プロセッサは、マイクロプロセッサであってよいが、代替として、プロセッサは、任意の市販のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であってもよい。プロセッサはまた、コンピューティングデバイスの組合せ(たとえば、DSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携した1つまたは複数のマイクロプロセッサ、または任意の他のそのような構成)として実施されてもよい。
【０１２３】
ハードウェアとして実装される場合、例示的なハードウェア構成は、ワイヤレスノード内の処理システムを備えてもよい。処理システムは、バスアーキテクチャを用いて実装されてもよい。バスは、処理システムの特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスおよびブリッジを含んでもよい。バスは、プロセッサ、機械可読媒体、およびバスインターフェースを含む、様々な回路を互いにリンクさせ得る。バスインターフェースは、バスを介して、とりわけ、処理システムにネットワークアダプタを接続するために使用されてもよい。ネットワークアダプタは、PHY層の信号処理機能を実装するために使用されてもよい。ワイヤレスノード(図1参照)の場合、ユーザインターフェース(たとえば、キーパッド、ディスプレイ、マウス、ジョイスティックなど)もバスに接続され得る。バスは、タイミングソース、周辺装置、電圧調整器、電力管理回路などの様々な他の回路をリンクさせることもできるが、これらの回路は当技術分野でよく知られており、したがって、これ以上は説明しない。プロセッサは、1つまたは複数の汎用および/または専用プロセッサを用いて実装されてもよい。例としては、マイクロプロセッサ、マイクロコントローラ、DSPプロセッサ、およびソフトウェアを実行することができる他の回路がある。当業者は、特定の用途とシステム全体に課せられた全体的な設計制約とに応じて処理システムに関する上述の機能を最も適切に実装するにはどうすべきかを認識するであろう。
【０１２４】
ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信されてもよい。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはその他の名称で呼ばれるかどうかにかかわらず、命令、データ、またはそれらの任意の組合せを意味するように広く解釈されるものである。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体との両方を含む。プロセッサは、機械可読記憶媒体に記憶されたソフトウェアモジュールの実行を含む、バスおよび一般的な処理を管理することを担い得る。コンピュータ可読記憶媒体は、プロセッサがその記憶媒体から情報を読み取ることができ、かつその記憶媒体に情報を書き込むことができるようにプロセッサに結合され得る。代替として、記憶媒体は、プロセッサは、プロセッサと一体であってもよい。例として、機械可読媒体は、すべてバスインターフェースを介してプロセッサによってアクセスされる場合がある送信線路、データによって変調された搬送波、および/またはワイヤレスノードとは別個の命令が記憶されたコンピュータ可読記憶媒体を含んでもよい。代替または追加として、機械可読媒体またはその任意の部分は、キャッシュおよび/または汎用レジスタファイルと同様にプロセッサに統合されてよい。機械可読記憶媒体の例としては、RAM(ランダムアクセスメモリ)、フラッシュメモリ、ROM(読取り専用メモリ)、PROM(プログラマブル読取り専用メモリ)、EPROM(消去可能プログラマブル読取り専用メモリ)、EEPROM(電気的消去可能プログラマブル読取り専用メモリ)、レジスタ、磁気ディスク、光ディスク、ハードドライブ、もしくは他の任意の適切な記憶媒体、またはそれらの任意の組合せを含めてもよい。機械可読媒体はコンピュータプログラム製品内で具現化されてもよい。
【０１２５】
ソフトウェアモジュールは、単一の命令または多くの命令を備えてよく、いくつかの異なるコードセグメントにわたって、異なるプログラム間で、また複数の記憶媒体にわたって、分散されてもよい。コンピュータ可読媒体は、いくつかのソフトウェアモジュールを含んでもよい。ソフトウェアモジュールは、プロセッサなどの装置によって実行されたときに、処理システムに様々な機能を実行させる命令を含む。ソフトウェアモジュールは、送信モジュールと受信モジュールとを含んでもよい。各ソフトウェアモジュールは、単一の記憶デバイス内に存在しても、または複数の記憶デバイスにわたって分散されてもよい。例として、トリガイベントが発生したときに、ソフトウェアモジュールは、ハードドライブからRAMにロードされてもよい。ソフトウェアモジュールの実行中、プロセッサは、アクセス速度を高めるために、命令のうちのいくつかをキャッシュにロードしてもよい。1つまたは複数のキャッシュラインが、次いで、プロセッサが実行するために汎用レジスタファイルの中にロードされてよい。以下でソフトウェアモジュールの機能に言及する場合、そのような機能は、そのソフトウェアモジュールからの命令を実行するときにプロセッサによって実装されることが理解されよう。
【０１２６】
また、あらゆる接続が、コンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線(IR)、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は媒体の定義に含まれる。本明細書において使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびBlu-ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常はデータを磁気的に再生し、ディスク(disc)は、レーザを用いてデータを光学的に再生する。したがって、いくつかの態様では、コンピュータ可読媒体は、非一時的コンピュータ可読媒体(たとえば、有形媒体)を備え得る。加えて、他の態様の場合、コンピュータ可読媒体は、一時的コンピュータ可読媒体(たとえば、信号)を備え得る。上記の組合せもコンピュータ可読媒体の範囲に含まれるべきである。
【０１２７】
したがって、いくつかの態様は、本明細書で提示された動作を実行するためのコンピュータプログラム製品を含み得る。たとえば、そのようなコンピュータプログラム製品は、本明細書で説明した動作を実行するように1つまたは複数のプロセッサによって実行可能である命令が記憶された(および/または符号化された)コンピュータ可読媒体を含み得る。
【０１２８】
さらに、本明細書で説明した方法および技法を実行するためのモジュールおよび/または他の適切な手段は、適用可能な場合にワイヤレスノードおよび/または基地局によってダウンロードおよび/または他の方法で取得され得ることを理解されたい。たとえば、そのようなデバイスは、本明細書で説明した方法を実行するための手段の転送を容易にするためにサーバに結合することができる。あるいは、本明細書で説明した様々な方法は、ワイヤレスノードおよび/または基地局が、記憶手段をデバイスに結合または提供する際に様々な方法を取得できるように、記憶手段(たとえば、RAM、ROM、コンパクトディスク(CD)またはフロッピー(登録商標)ディスクなどの物理記憶媒体)を介して提供され得る。さらに、本明細書で説明した方法および技法をデバイスに提供するための任意の他の適切な技法が利用され得る。
【０１２９】
特許請求の範囲が上記で示した厳密な構成および構成要素に限定されないことを理解されたい。特許請求の範囲から逸脱することなく、上記で説明した方法および装置の構成、動作、および詳細において、様々な修正、変更、および変形が加えられてよい。
【符号の説明】
【０１３０】
100  通信ネットワークまたは通信システム、通信ネットワーク
102  ノードB
104  アンテナ
106  アンテナ
108  アンテナ
110  アンテナ
112  アンテナ
114  アンテナ
116  ワイヤレスノード
118  逆方向リンク、通信リンク
120  順方向リンク、通信リンク
122  ワイヤレスノード
124  逆方向リンク、通信リンク
126  順方向リンク、通信リンク
130  ワイヤレスノード
132  順方向リンク
134  逆方向リンク
136  IoEデバイス、ワイヤレスノード、IoTデバイス
138  逆方向リンク
140  順方向リンク、通信リンク
142  IoEデバイス、ワイヤレスノード、IoTデバイス
144  逆方向リンク、通信リンク
146  順方向リンク、通信リンク
200  多入力多出力(MIMO)システム
210  送信機システム、システム
212  データソース
214  送信(TX)データプロセッサ
220  TX MIMOプロセッサ
222  送信機、受信機
222a〜222t  送信機(TMTR)、受信機
224  アンテナ
224a〜224t  アンテナ
230  プロセッサ、TX MIMOプロセッサ
232  メモリ
236  データソース
238  TXデータプロセッサ
240  復調器
242  RXデータプロセッサ
250  受信機システム、システム
252  アンテナ
252a〜252r  アンテナ
254  受信機
254a〜254r  受信機(RCVR)、送信機
260  RXデータプロセッサ
270  プロセッサ
272  メモリ
280  変調器
302  ワイヤレスデバイス
304  プロセッサ
306  メモリ
308  ハウジング
310  送信機
312  受信機
314  トランシーバ
316  送信アンテナ
318  信号検出器
320  デジタル信号プロセッサ(DSP)
322  エンコーダ
324  デコーダ
326  バスシステム
400  2部グラフ、グラフ
410  変数ノード
420  チェックノード
400A  行列表現
702  メッセージ
704  無線周波数(RF)モデム
706  エンコーダ
708  符号化ビットストリーム
710  マッパ
712  Txシンボル
714  Txチェーン
716  RF信号
718  アンテナ
800  デコーダ
802  アンテナ
804  RFチェーン
806  復調されたシンボル
808  デマッパ
810  ビットストリーム
812  デコーダ
814  RFモデム
900  階層化LDPCデコーダ
902  LLR記憶メモリ、メモリ
904  データパスプロセッサ
906  メモリ、メトリック記憶メモリ
908  置換ネットワーク
1200  動作
【図１】
2019536316.tif 000012
【図２】
2019536316.tif 000013
【図３】
2019536316.tif 000014
【図４】
2019536316.tif 000015
【図４Ａ】
2019536316.tif 000016
【図５】
2019536316.tif 000017
【図６】
2019536316.tif 000018
【図７】
2019536316.tif 000019
【図８】
2019536316.tif 000020
【図９】
2019536316.tif 000021
【図１０】
2019536316.tif 000022
【図１１Ａ】
2019536316.tif 000023
【図１１Ｂ】
2019536316.tif 000024
【図１２】
2019536316.tif 000025
【図１３】
2019536316.tif 000026
【図１４Ａ】
2019536316.tif 000027
【図１４Ｂ】
2019536316.tif 000028
【図１５】
2019536316.tif 000029
【図１６】
2019536316.tif 000030
【図１７】
2019536316.tif 000031
【国際調査報告】
2019536316.tif 000032
2019536316.tif 000033
2019536316.tif 000034