本出願は、2016年9月15日に出願された「Method and device for assigning dynamic frozen bits and constructing a Parity Function on them in a Polar code」と題する米国仮特許出願第62/395,312号と、2016年9月19日に出願された「Method and device for assigning dynamic frozen bits and constructing a Parity Function on them in a Polar code」と題する米国仮特許出願第62/396,618号と、2016年9月30日に出願された「Method and Device For Parallel Polar Code Encoding/Decoding」と題する米国仮特許出願第62/402,862号と、2016年12月9日に出願された「Method for Constructing a Parity Check (Pc) Based Polar Code Using a Look−Up−Table」と題する米国仮特許出願第62/432,448号と、2016年12月9日に出願された「Method and system to parallelize parity check (PC)−Polar−Construction」と題する米国仮特許出願第62/434,416号と、2016年12月13日に出願された「Method for Constructing a parity check (PC) based Polar Code using a Look−up−Table」と題する米国仮特許出願第62/433,127号と、2017年9月8日に出願された「Method and Apparatus for Encoding Data Using a Polar Code」と題する米国特許出願第15/699,967号とに基づく優先権を主張し、これらの特許出願は全てその全体を再現するかのように参照により本明細書に組み込まれる。
本発明は、概してデータ送信の方法及び装置に関し、詳細には符号化するための方法及び装置に関する。
Polar符号は、チャネル分極を利用して総送信容量を向上させる線形ブロック誤り訂正符号である。具体的には、Polar符号は、より信頼性が高いサブチャネル(例えば、雑音がより少ないサブチャネル)で情報ビットを送信すると共に、より信頼性が低いサブチャネル(例えば、雑音がより多いサブチャネル)で固定(又は凍結)ビットを送信するように設計されている。Polar符号化が、「Channel Polarization and Polar codes」と題する学術論文でより詳細に説明されており、この論文はその全体を再現するかのように参照により本明細書に組み込まれる。
複数の技術的利点が、概して、分極符号化の方法及び装置を説明する本開示の実施形態によって実現される。
一実施形態によれば、データをPolar符号で符号化する方法が提供される。この実施形態において、本方法は、Polar符号化情報ビットと、少なくとも1つのパリティビットとを含み、デバイスの符号化器で符号化データを取得する。少なくとも1つのパリティビットは、重みパラメータに基づいて少なくとも1つのパリティビット用に選択された少なくとも1つのサブチャネルに配置される。本方法はさらに、符号化データを別のデバイスに送信する段階を含む。1つの例において、重みパラメータは最小重みを含む。そのような一例において、少なくとも1つのパリティビットは、最小重みを有する第1の数のサブチャネル又は2倍の最小重みを有する第2の数のサブチャネルのうちの少なくとも一方に配置されてよい。この同じ例又は別の例において、本方法はさらに、順序付きサブチャネルのセグメントから、最小重みを有する少なくとも1つのサブチャネルを選択する段階を含んでよい。最小重みを有する少なくとも1つのサブチャネルは、順序付きサブチャネルのうちK個のサブチャネルのセグメントから選択されてよく、K個のサブチャネルのそれぞれは、順序付きサブチャネルのうち[N0−K]セグメントのサブチャネルより高い信頼性指標を有し、Kは情報ブロック長であり、N0はマザー符号長である。この同じ例又は別の例において、順序付きサブチャネルのセグメント、最小重みを有する少なくとも1つのサブチャネルは、K個のサブチャネルのセグメントにおいて最小重みを有するサブチャネルの数nが所定値Fより大きい場合に、信頼性指標の降順において最小重みを有するF個のサブチャネルをK個のサブチャネルのセグメントから選択することを含む。この例又は別の例において、符号化器はパリティ検査機能を適用して、少なくとも1つのパリティビットのそれぞれの値を決定し得る。そのような一例において、パリティ検査機能は素数パリティ検査機能であってよい。前述の例のいずれか又は別の例において、本方法はさらに、順序付きサブチャネルが信頼性指標に基づいて順番に並べられていることを含む。前述の例のいずれか又は別の例において、重みパラメータは最小行重みを含み得る。本方法はさらに、サブチャネルの順序付き系列のうちK個の最も信頼性が高いサブチャネルの部分集合において、最小行重みを有する少なくとも1つのサブチャネルを選択する段階を備えてよく、サブチャネルの行重みとは、クロネッカー行列の行に含まれる1の数であり、行はサブチャネルに対応する。そのような一例において、K個の最も信頼性が高いサブチャネルの部分集合において最小行重みを有する少なくとも1つのサブチャネルを選択する段階は、K個の最も信頼性が高いサブチャネルの中で最小行重みを有するサブチャネルの数が所定数Fpより大きい場合に、K個の最も信頼性が高いサブチャネルの部分集合において最小行重みを有するFp個のサブチャネルを選択する段階を含んでもよい。この同じ例又は別の例において、最小行重みを有する少なくとも1つのサブチャネルは、降順の信頼性順位に従って、K個の最も信頼性が高いサブチャネルの部分集合から選択されてもよい。この同じ例又は別の例において、本方法はさらに、サブチャネルの順序付き系列における情報ビット用のサブチャネルを、情報ビット用に選択されるサブチャネルの数がKに達するまで、少なくとも1つのパリティビット用に選択された少なくとも1つのサブチャネルを飛ばしながら選択する段階を含んでよい。本方法を実行する装置も提供される。
さらに別の実施形態によれば、データをPolar符号で符号化するように構成されたデバイスが提供される。この実施形態において、本デバイスは、情報ビット及び少なくとも1つのパリティビットをPolar符号化して符号化データを取得するように構成された符号化器を含む。少なくとも1つのパリティビットは、符号化データを別のデバイスに送信するように構成されたインタフェース及び重みパラメータに基づいて、少なくとも1つのパリティビット用に選択された少なくとも1つのサブチャネルに配置される。上述された符号化の実施形態のいずれかに関する1つの例において、重みパラメータは最小重みを含む。そのような一例において、少なくとも1つのパリティビットは、最小重みを有する第1の数のサブチャネル又は2倍の最小重みを有する第2の数のサブチャネルのうちの少なくとも一方に配置されてよい。この同じ例又は別の例において、符号化器はさらに、順序付きサブチャネルのセグメントから、最小重みを有する少なくとも1つのサブチャネルを選択するように構成されてもよい。この同じ例又は別の例において、最小重みを有する少なくとも1つのサブチャネルは、順序付きサブチャネルのうちK個のサブチャネルのセグメントから選択されてもよく、K個のサブチャネルのそれぞれは、順序付きサブチャネルのうちN0−Kセグメントのサブチャネルより高い信頼性指標を有し、Kは情報ブロック長であり、N0はマザー符号長である。この同じ例又は別の例において、本デバイス/符号化器は、順序付きサブチャネルのセグメントから最小重みを有する少なくとも1つのサブチャネルを選択し、K個のサブチャネルのセグメントにおいて最小重みを有するサブチャネルの数が所定値Fより大きい場合、信頼性指標の降順において最小重みを有するF個のサブチャネルをK個のサブチャネルのセグメントから選択してもよい。この例又は別の例において、符号化器はさらに、パリティ検査機能を適用して、少なくとも1つのパリティビットのそれぞれの値を決定するように構成されてもよい。そのような一例において、パリティ検査機能は素数パリティ検査機能であってよい。前述の例のいずれか又は別の例において、本デバイスの順序付きサブチャネルは、信頼性指標に基づいて順番に並べられ得る。前述の例のいずれか又は別の例において、重みパラメータは最小行重みを含んでよく、符号化器はさらに、サブチャネルの順序付き系列のうちK個の最も信頼性が高いサブチャネルの部分集合において、最小行重みを有する少なくとも1つのサブチャネルを選択するように構成されてよい。サブチャネルの行重みとは、クロネッカー行列の行に含まれる1の数である。行はサブチャネルに対応し得る。そのような一例において、本デバイスは、K個の最も信頼性が高いサブチャネルの部分集合において、最小行重みを有する少なくとも1つのサブチャネルを選択してよい。符号化器はさらに、K個の最も信頼性が高いサブチャネルの中で最小行重みを有するサブチャネルの数nが所定数Fpより大きい場合、K個の最も信頼性が高いサブチャネルの部分集合において最小行重みを有するFp個のサブチャネルを選択するように構成されてもよい。この同じ例又は別の例において、最小行重みを有する少なくとも1つのサブチャネルが、降順の信頼性順位に従って、K個の最も信頼性が高いサブチャネルの部分集合から選択されてもよい。この同じ例又は別の例において、符号化器はさらに、サブチャネルの順序付き系列における情報ビット用のサブチャネルを、情報ビット用に選択されるサブチャネルの数がKに達するまで、少なくとも1つのパリティビット用に選択された少なくとも1つのサブチャネルを飛ばしながら選択するように構成されてもよい。
さらに別の実施形態によれば、データを符号化する別の方法が提供される。この実施形態において、本方法は、複数のサブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて、1つ又は複数のサブチャネルを1つ又は複数のパリティビットに配分する段階と、1つ又は複数のパリティビットに配分された1つ又は複数のサブチャネルに情報ビットをマッピングすることなく、サブチャネルの集合の残りのサブチャネルに、これら残りのサブチャネルの信頼性に基づいて情報ビットをマッピングする段階とを含む。本方法はさらに、Polar符号を用いて情報ビット及び1つ又は複数のパリティビットを符号化して符号化ビットストリームを取得する段階と、符号化ビットストリームを送信する段階とを含んでもよい。上記符号化の実施形態のいずれかに関する1つの例において、サブチャネルの行重みは、クロネッカー行列の行に含まれる1の数を表しており、行はサブチャネルに対応する。この例又は別の例において、行重みは少なくとも最小行重みを含んでよい。そのような一例において、本方法は、サブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて、1つ又は複数のサブチャネルを1つ又は複数のパリティビットに配分する段階と、サブチャネルの部分集合における最小行重みに等しい行重みを有する複数のサブチャネルを1つ又は複数のパリティビットに配分する段階とを含んでよい。この同じ例又は別の例において、配分されたサブチャネルの数は1つであってもよく、集合内のサブチャネルはその信頼性に基づいて順番に並べられ、サブチャネルの順序付き系列を形成してよい。サブチャネルの部分集合は、順序付き系列において最も信頼性が高いサブチャネルの部分集合を含む。この同じ例又は別の例において、最も信頼性が高いサブチャネルの部分集合は、情報ビットを搬送するK個のサブチャネルを含んでよい。この同じ例又は別の例において、最も信頼性が高いサブチャネルの部分集合は、K+Fp個のサブチャネルを含んでよく、Kは情報ビットと関連付けられた情報ブロック長であり、Fpは1つ又は複数のパリティビットの数を示す。この同じ例又は別の例において、サブチャネルの部分集合において最小行重みに等しい行重みを有する最も信頼性が高いサブチャネルが、1つ又は複数のパリティビットに配分されてよい。前述の例のいずれか又は別の例において、1つ又は複数のパリティビットは、1つ又は複数のパリティ検査(PC)ビットを含んでよい。そのような一例において、Polar符号を用いて情報ビット及び1つ又は複数のPCビットを符号化して符号化ビットストリームを取得する段階は、情報ビットの値に応じて1つ又は複数のPCビットの1つ又は複数の値を決定し、これらのPCビットに配分された少なくとも1つ又は複数のサブチャネルに1つ又は複数のPCビットをマッピングする段階を含んでよい。
さらに別の実施形態によれば、Polar符号でデータを符号化するデバイスが提供される。この実施形態において、本デバイスは、複数のサブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて、1つ又は複数のサブチャネルを1つ又は複数のパリティビットに配分し、1つ又は複数のパリティビットに配分された1つ又は複数のサブチャネルに情報ビットをマッピングすることなく、サブチャネルの集合の残りのサブチャネルに、これら残りのサブチャネルの信頼性に基づいて情報ビットをマッピングするように構成される。本デバイスはさらに、Polar符号を用いて情報ビット及び1つ又は複数のパリティビットを符号化して符号化ビットストリームを取得し、符号化ビットストリームを送信するように構成される。上記符号化の実施形態のいずれかに関する1つの例において、サブチャネルの行重みは、クロネッカー行列の行に含まれる1の数を表しており、行はサブチャネルに対応する。この例又は別の例において、行重みは少なくとも最小行重みを含む。そのような一例又は別の例において、本デバイスは、サブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて、1つ又は複数のサブチャネルを1つ又は複数のパリティビットに配分してよい。本デバイスはさらに、サブチャネルの部分集合における最小行重みに等しい行重みを有する複数のサブチャネルを1つ又は複数のパリティビットに配分するように構成されてもよい。前述の例のいずれか又は別の例において、配分されたサブチャネルの数は1つであってもよく、集合内のサブチャネルはその信頼性に基づいて順番に並べられ、サブチャネルの順序付き系列を形成してよい。サブチャネルの部分集合は、順序付き系列において最も信頼性が高いサブチャネルの部分集合を含む。前述の例のいずれか又は別の例において、最も信頼性が高いサブチャネルの部分集合は、情報ビットを搬送するK個のサブチャネルを含んでよく、最も信頼性が高いサブチャネルの部分集合は、K+Fp個のサブチャネルを含み、Kは情報ビットと関連付けられた情報ブロック長であり、Fpは1つ又は複数のパリティビットの数を示す。同じ例又は別の例において、サブチャネルの部分集合において最小行重みに等しい行重みを有する最も信頼性が高いサブチャネルが、1つ又は複数のパリティビットに配分される。この同じ例又は別の例において、1つ又は複数のパリティビットは1つ又は複数のパリティ検査(PC)ビットを含む。
さらに別の実施形態によれば、デバイス用の復号方法が提供される。この実施形態において、本方法は、符号化データに基づいて信号を別のデバイスから受信する段階を含み、符号化データは、情報ビット及び少なくとも1つのパリティビットをPolar符号で符号化することにより生成される。この実施形態において、少なくとも1つのパリティビットは、重みパラメータに基づいて選択された少なくとも1つのサブチャネルに配置される。本方法は、デバイスの復号器を使い、Polar符号及び少なくとも1つのパリティビットを用いて信号を復号して情報ビットを取得する段階も含む。
1つの例において、重みパラメータは最小重みを含む。そのような一例において、少なくとも1つのパリティビットは、最小重みを有する第1の数のサブチャネル又は2倍の最小重みを有する第2の数のサブチャネルのうちの少なくとも一方に配置されてよい。この同じ例又は別の例において、選択された少なくとも1つのサブチャネルは最小重みを有し、少なくとも1つのサブチャネルは、順序付きサブチャネルのセグメントから選択される。最小重みを有する少なくとも1つのサブチャネルは、順序付きサブチャネルのうちK個のサブチャネルのセグメントから選択されてよく、K個のサブチャネルのそれぞれは、順序付きサブチャネルのうち[N0−K]セグメントのサブチャネルより高い信頼性指標を有し、Kは情報ブロック長であり、N0はマザー符号長である。この例又は別の例において、少なくとも1つのパリティビットのそれぞれの値は、パリティ検査機能に基づいている。そのような一例において、パリティ検査機能は素数パリティ検査機能であってよい。前述の例のいずれか又は別の例において、順序付きサブチャネルは信頼性指標に基づいて順番に並べられている。前述の例のいずれか又は別の例において、重みパラメータは最小行重みを含んでよく、選択された少なくとも1つのサブチャネルは、サブチャネルの順序付き系列のうちK個の最も信頼性が高いサブチャネルの部分集合において最小行重みを有し、サブチャネルの行重みとは、クロネッカー行列の行に含まれる1の数であり、行はサブチャネルに対応する。そのような一例。この同じ例又は別の例において、最小行重みを有する少なくとも1つのサブチャネルは、降順の信頼性順位に従って、K個の最も信頼性が高いサブチャネルの部分集合から選択される。この同じ例又は別の例において、情報ビット用のサブチャネルが、情報ビット用に選択されるサブチャネルの数がKに達するまで、少なくとも1つのパリティビット用に選択された少なくとも1つのサブチャネルを飛ばすことにより、サブチャネルの順序付き系列において選択される。この方法を実行する装置も提供される。
さらに別の実施形態によれば、デバイス用の復号方法が提供される。この実施形態において、本方法は、符号化ビットストリームに基づいて信号を別のデバイスから受信する段階を含み、符号化ビットストリームは、情報ビット及び1つ又は複数のパリティビットをPolar符号で符号化することにより生成される。1つ又は複数のパリティビットは、サブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて配分された1つ又は複数のサブチャネルにマッピングされ、情報ビットは、サブチャネルの集合の残りのサブチャネルに、これら残りのサブチャネルの信頼性に基づいてマッピングされる。本方法は、Polar符号及び1つ又は複数のパリティビットを用いて信号を復号して、情報ビットを取得する段階も含む。
上記復号の実施形態のいずれかに関する1つの例において、サブチャネルの行重みは、クロネッカー行列の行に含まれる1の数を表しており、行はサブチャネルに対応する。この例又は別の例において、行重みは少なくとも最小行重みを含んでよい。そのような一例において、1つ又は複数のサブチャネルは、サブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて、1つ又は複数のパリティビットに配分される。別の例において、サブチャネルの部分集合において最小行重みに等しい行重みを有する複数のサブチャネルが、1つ又は複数のパリティビットに配分される。この同じ例又は別の例において、配分されたサブチャネルの数は1つであってもよく、集合内のサブチャネルはその信頼性に基づいて順番に並べられ、サブチャネルの順序付き系列を形成してよい。サブチャネルの部分集合は、順序付き系列において最も信頼性が高いサブチャネルの部分集合を含む。この同じ例又は別の例において、最も信頼性が高いサブチャネルの部分集合は、情報ビットを搬送するK個のサブチャネルを含んでよい。この同じ例又は別の例において、最も信頼性が高いサブチャネルの部分集合は、K+Fp個のサブチャネルを含んでよく、Kは情報ビットと関連付けられた情報ブロック長であり、Fpは1つ又は複数のパリティビットの数を示す。この同じ例又は別の例において、サブチャネルの部分集合において最小行重みに等しい行重みを有する最も信頼性が高いサブチャネルが、1つ又は複数のパリティビットに配分されてよい。前述の例のいずれか又は別の例において、1つ又は複数のパリティビットは、1つ又は複数のパリティ検査(PC)ビットを含んでよい。そのような一例又は別の例において、1つ又は複数のPCビットの1つ又は複数の値は、情報ビットの値の関数である。
本開示及びその利点のより十分な理解のために、ここで、添付図面と併用される以下の説明を参照する。その添付図面は以下の通りである。
Polar符号化生成行列がカーネルからどのように生成され得るかについての1つの例を示す図である。
符号語を生成するPolar符号化生成行列の使用例を示す図であり、また例示的なPolar符号化器の概略図である。
幅が最大の所定リストサイズで制限され、SCL(逐次除去リスト)方式のPolar復号器に用いられる、例示的なデシジョンリストツリーの一部を示す図である。
2×2カーネルに基づくPolar符号化器の一例を示すブロック図である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのように行重みが計算されて用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのように行重みが計算されて用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのように行重みが計算されて用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのように行重みが計算されて用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのように行重みが計算されて用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのように行重みが計算されて用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのように行重みが計算されて用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのようにハミング重みが用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのようにハミング重みが用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのようにハミング重みが用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのようにハミング重みが用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのようにハミング重みが用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのようにハミング重みが用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのようにハミング重みが用いられるかを説明する表である。
情報ビットの系列を符号化する一実施形態に係る方法のフローチャートである。
情報ビットの系列を符号化する一実施形態に係る方法のフローチャートである。
情報ビットの系列を符号化する一実施形態に係る方法のフローチャートである。
通信システムのブロック図である。
Polar符号化の間に凍結ビットを選択する一実施形態に係る方法のフローチャートである。
Polar符号化器/復号器において実現されるレジスタのブロック図である。
異なるPolar符号で実現されたブロック誤り率(BLER)のグラフである。
異なるPolar符号で実現されたブロック誤り率(BLER)のグラフである。
異なるPolar符号で実現されたブロック誤り率(BLER)のグラフである。
異なるPolar符号で実現されたブロック誤り率(BLER)のグラフである。
異なるPolar符号を用いてデータストリームを符号化した場合に実現される推定雑音レベルのグラフである。
異なるPolar符号を用いてデータストリームを符号化した場合に実現される推定雑音レベルのグラフである。
一実施形態に係る無線デバイスのブロック図である。
並列比較演算を用いて、PCビット用に予約されるサブチャネルを識別する一実施形態に係る技法の図である。
情報ビットの系列を符号化する一実施形態に係る方法のフローチャートである。
情報ビットの系列を符号化する別の実施形態に係る方法のフローチャートである。
情報ビットの系列を符号化する別の実施形態に係る方法のフローチャートである。
別の実施形態に係る符号化器の図である。
サブチャネルの順序付き系列の図である。
パリティ検査復号器により用いられる一実施形態に係る循環シフトレジスタ操作の図である。
パリティ検査機能の図である。
情報ビットの系列を符号化する一実施形態に係る方法のフローチャートである。
一実施形態に係る処理システムのブロック図である。
一実施形態に係る送受信機のブロック図である。
実施形態の作成及び使用は以下で詳細に論じられる。しかしながら、本開示は多種多様な特定の文脈で具現化され得る多くの適用可能な発明概念を提供することが理解されるはずである。論じられる具体的な実施形態は、本発明を実現し利用する具体的な方法を単に例示しているだけであり、本発明の範囲を限定するものではない。
パリティビットが、Polar符号化の間に情報ビットのストリングに加えられて、復号を補助し且つ受信機での誤り検出又は訂正を容易にし得る。「パリティ検査(PC)ビット」、「パリティビット」、及び動的凍結ビットという用語が、本開示を通して同じ意味で用いられる。本開示の大部分はパリティビットという文脈の中で発明の実施形態を論じるが、パリティビットは特定のタイプの補助ビットであること、また本明細書で開示される原理は、巡回冗長検査(CRC)ビット、チェックサムビット、ハッシュ関数ビット、暗号符号、反復符号、又は誤り検出ビット若しくは符号のような他の誤り訂正ビット又は符号などの、他のタイプの補助ビットを用いても適用され得ることを理解されたい。一部の実施形態において、パリティビットは、パリティ検査(PC)凍結ビット(又は略して「PFビット」)と呼ばれる。
Polar符号化の間に(P個の)パリティビットを挿入する場合に発生する1つの問題点は、パリティビットを送信するサブチャネルを(N個のサブチャネルの中で)どのように選択するかである。パリティビットをPolar符号化の間に処理する1つの選択肢は、符号化される(K個の)情報ビット(情報ビットには他の補助ビットも含まれてよい)を最も信頼性が高いサブチャネルにマッピングしてから、情報ビットを最も信頼性が高いサブチャネルにマッピングした後に利用可能な2番目に最も信頼性が高いサブチャネルにパリティビットをマッピングすることである。別の選択肢は、パリティビットを最も信頼性が高いサブチャネルにマッピングしてから、パリティビットを最も信頼性が高いサブチャネルにマッピングした後に利用可能な2番目に最も信頼性が高いサブチャネルに情報ビットをマッピングすることである。
シミュレーションによって、これらの2つの選択肢は概して、パリティビットをサブチャネルにその行重みに基づいてマッピングする実施形態に係る技法より低レベルの性能をもたらすことが示されている。サブチャネルの行重みは、クロネッカー行列の対応する行に含まれる「1」の数とみなされても、又は指数部(すなわちハミング重み)が(以下でさらに説明される)サブチャネルインデックスの2進表現に含まれる「1」の数となる2の累乗とみなされてもよい。1つの実施形態において、ある行重み値(例えば、最小行重みであるwmin、又は最小行重みの2倍である2×wmin)を有する候補サブチャネルがパリティビット用に確保されて用いられる。パリティビット用に予約される候補サブチャネルは、必ずしも最も信頼性が高いサブチャネルではなく、このことは、以下に提供される行重みの計算についての説明に基づいて理解することができる。候補サブチャネルが識別された後に、K個の情報ビットはK個の最も信頼性が高い残りのサブチャネルにマッピングされ、複数の凍結ビット(例えば、N−K)が最も信頼性が低い残りのサブチャネルにマッピングされる。パリティビットが候補サブチャネルにマッピングされ、パリティビット値が情報ビットの機能に基づいて決定される。
サブチャネルの行重みを決定する方法は多数ある。1つの実施形態において、行重みは、サブチャネルと関連付けられたチャネルインデックスのハミング重みの関数として計算され得る。ハミング重みは、チャネルインデックスを表す2進系列におけるゼロでない要素の数である。1つの例において、順序付き系列(Q)がサブチャネルをその信頼性に基づいて昇順に載せる(Q0、Q1、…QN)(QNが、最も信頼性が高いサブチャネルである)ように、サブチャネル(N)は、そのチャネル信頼性に基づいて、順序付き系列(Q)に並べ替えられる。最小行重み値は、本開示を通じて同じ意味でwmin又はdminと表記されるものであり、最も信頼性が高いチャネルの部分集合、例えば、K個の情報ビットに用いられる最も信頼性が高いK部分集合(例えば、Q(N−K+1)…QN)又はK個の情報ビット及びP個のパリティビットに用いられる最も信頼性が高い(K+P)部分集合(例えば、Q(N−K−P)…QN)などの行重みに基づいて識別され得る。この最も信頼性が高い部分集合の最小行重み値は、パリティビット用にサブチャネルを予約するのに用いられ得る。
一部の実施形態において、wminパラメータを動的に計算するプロセスによって符号化演算に遅延が加えられる場合、ルックアップテーブル(LUT)がwminパラメータを識別するのに利用され得る。
具体的には、LUTベースの技法は、Polar符号化の間に用いられ得る情報ブロック長(K)及びマザー符号長(M)の可能性がある組み合わせに応じて、考えられるw
minパラメータを計算することにより、ルックアップテーブルをオフラインで生成する。ルックアップテーブルは、オンラインのPolar符号化の間にw
minパラメータを決定するのに用いられる。表1は、符号パラメータを決定するのに用いることができるルックアップテーブルの一例を提供する。ここには、w
minパラメータと、パリティビット用に予約されることになる候補サブチャネルの数を決定するのに用いられるインデックス(f
1、f
2)とが含まれる(詳細は下記)。
オンラインのPolar符号化の間にwminパラメータを識別するのに必要な時間は、ルックアップテーブルのサイズに強く影響を受け、表が大きくなると、必要な検索時間は通常長くなる。その結果、符号化器の遅延要件は、ルックアップテーブルで利用可能な符号化の組み合わせの粒度に制約を加え得るので、符号化性能に影響を与えることになる。
本開示の他の実施形態が、最小ハミング重み(umin)パラメータに基づいてパリティビット用にサブチャネルを予約又は配分する低遅延技法を提供する。これにより、行重みの計算が回避される。上述したように、行重みはハミング重みの関数として計算され得る。1つの例では、rw=2hwという数式に基づく。ここで、rwは所与のサブチャネルの行重みであり、hwは所与のサブチャネルのチャネルインデックスの2進表現に関するハミング重みである。本明細書では、ハミング重みを表すのに「hw」及び「u」というシンボルが同じ意味で用いられる。このことから、最小ハミング重みと関連付けられたサブチャネルが最小行重みも有することが明らかである。したがって、最も信頼性が高いチャネルの部分集合のサブチャネル(例えば、Q(N−(K+Fp))、…QN)と関連付けられたハミング重みに基づいて、最小ハミング重み(umin)を識別し、次に最小ハミング重みを用いてパリティビット用にサブチャネルを予約することが可能である。
後述するように、最小行重み値の2倍(2×wmin)が、wminと併用して、パリティビット用にサブチャネルを予約するのに用いられることがある。例えば、wminに等しい行重みを有する第1の数(例えば、f1)の最も信頼性が高いサブチャネルがパリティビット用に予約されてよく、2×wminに等しい行重みを有する第2の数(例えば、f2)の最も信頼性が高いサブチャネルがパリティビット用に予約されてよい。rw=2hwという数式から、2×wminのパラメータが1足す最小ハミング重みに対応することが明らかである。したがって、本開示の実施形態は、最小ハミング重みに等しいハミング重みを有する第1の数の最も信頼性が高いサブチャネルをパリティビット用に、また1足す最小ハミング重みに等しいハミング重みを有する第2の数の最も信頼性が高いサブチャネルをパリティビット用に予約し得る。
Polar符号化の簡潔な説明が以下に提供され、この後に以下でより詳細に説明される本開示のこれら及び他の発明の態様の理解を補助する。図1は、Polar符号化生成行列がカーネルG2100からどのように生成され得るかを、説明例として示す図である。図1は一例であることに留意されたい。他の形式のカーネルもあり得る。生成行列がカーネル(又はカーネルの組み合わせ)から形成される「入れ子(nested)」方式で、分極が生じる。
図1に示す2乗したクロネッカー積行列102
及び3乗したクロネッカー積行列104
はPolar符号化生成行列の例である。図1に示す生成行列手法は、m乗したクロネッカー積行列
を生成するように拡大可能である。
Polar符号が、行列G2100に基づいてクロネッカー積行列から形成され得る。長さN=2mの符号語を有するPolar符号の場合、生成行列は
である。図2は、符号語を生成するPolar符号化生成行列の使用例を示す図であり、また例示的なPolar符号化器の概略図である。図2において、生成行列104
は、長さ23=8の符号語を生成するのに用いられる。符号語xが、200で示すように、入力ベクトルu=[0 0 0 u3 0 u5 u6 u7]と生成行列104
との積により形成される。入力ベクトルuは、情報ビット及び固定又は凍結ビットから構成される。図2に示す具体的な例ではN=8であるため、入力ベクトルuは8ビットのベクトルであり、符号語xは8ビットのベクトルである。入力ベクトルは、0、1、2、及び4の位置に凍結ビットを有し、3、5、6、及び7の位置に情報ビットを有する。符号語を生成する符号化器の実施例の一例が212で示されている。凍結ビットは全て0に設定され、丸で囲んだ「+」のシンボルはモジュロ2加算を表す。図2の例では、N=8ビットの入力ベクトルが、K=4個の情報ビットと、N−K=4個の凍結ビットとから形成される。この形式の符号はPolar符号と呼ばれ、符号化器はPolar符号化器と呼ばれる。Polar符号を復号する復号器はPolar復号器と呼ばれる。図2に示す例では、凍結ビットが0に設定されている。しかしながら、凍結ビットは、符号化器及び復号器が両方とも認識している他の固定ビット値に設定されることがある。説明しやすいように、全て0の凍結ビットが、本明細書において検討され、それが概して好ましいであろう。
図3は、幅が最大の所定リストサイズで制限され、SCL方式のPolar復号器に用いられる、例示的なデシジョンリストツリーの一部を示す図である。図3において、リストサイズLは4である。デシジョンツリーの5つのレベル302、304、306、308、310が示されている。5つのレベルが示されているが、Nビットを復号するデシジョンツリーはN+1個のレベルを有することが理解されるはずである。根のレベル302の後の各レベルで、最大4個の残存復号パスのそれぞれが1つのビットで拡張される。根ノード320の葉ノード又は子ノードは1番目のビットの可能な選択肢を表し、次の葉ノードは次のビットの可能な選択肢を表す。根ノード320から葉ノード330aまでの復号パスは、例えば、0、1、0、0という推定符号語ビット系列を表す。レベル308では、可能なパスの数はLより大きいので、最も高い可能性(最適なパス指標又はPM)を有するL個のパスが識別されて、残りのパスは棄却される。レベル306でのパス分類及び剪定の後に残存する復号パスが、図3に太字で示されている。同様に、レベル310では、ここでも可能なパスの数はLより大きいので、最も高い可能性(最適なPM)を有するL個のパスが識別されて、残りのパスはここでも棄却される。示されている例において、葉ノード330a、330b、330c、及び330dで終了するパスは最も高い可能性のパスを表す。葉ノード340a、340b、340c、及び340dで終了するパスは可能性がより低いパスであり、これらのパスは棄却される。
SCL復号はさらに、CRCを利用したリスト復号及び純粋リスト復号に分割され得る。後者では、最も高い可能性を有する残存パスが選択される。SC復号は純粋リスト復号の特殊ケースであり、リストサイズL=1である。CRC検査が最終パス選択においてより優れた誤り訂正性能を提供し得るが、SCL復号では任意選択である。入力ベクトルに含まれるパリティビット又は「PC」ビットに基づくパリティ検査などの他のオペレーションが、復号の間の最終パス選択においてCRCの代わりに及び/又はCRCと一緒に用いられることがある。
SCL復号は、限られた符号サイズのPolar符号の性能を向上させ得る。しかしながら、同様の符号長及び符号化率の低密度パリティ検査(LDPC)符号及びターボ符号と比較すると、SCL復号のブロック誤り率(BLER)は、よく設計されたLDPC符号及びターボ符号より悪いかもしれない。CRCを利用したSCL(CA−SCL)復号は、限られた符号長を有するPolar符号のBLER性能を向上させ得る。例えば、リストサイズL=32のCA−SCL復号器が、同様の計算複雑性を有するLDPC符号及びターボ符号よりはるかに優れた性能を提供することがある。
SCタイプの復号器では、Polar符号は実際には1つのチャネルをN個のサブチャネルに分割する。Nはマザー符号長と呼ばれ、ArikanのPolar符号では常に2の累乗であり、これは2×2の行列であるPolarカーネルに基づいている。Polar符号の符号構築のポイントは、本明細書ではサブチャネルとも呼ばれるビットチャネルのどれが情報ビットに選択又は配分されるか、且つどのサブチャネルが凍結ビットに配分されるかを決定することである。一部の実施形態において、1つ又は複数のサブチャネルが、PC、CRC、及び/又は復号の補助に用いられる他のタイプのビット(本明細書では補助ビットと呼ばれる)にも配分される。分極理論では、凍結ビットに配分されるサブチャネルは凍結サブチャネルと呼ばれ、情報ビットに配分されるサブチャネルは情報サブチャネルと呼ばれ、追加の補助サブチャネルが、復号の補助に用いられる補助ビットに配分され得る。一部の実施形態において、補助ビットは情報ビットの形態であるとみなされており、補助ビットにはより信頼性が高いサブチャネルが選択又は配分される。
2×2のArikanカーネルG2のクロネッカー積に基づくPolar符号化器が上述されている。図4は、2×2のカーネルに基づくPolar符号化器の一例を示すブロック図である。サブチャネル及び符号化ビットが図4に表示されており、上述したように、チャネルがPolar符号によってN個のサブチャネルに分割されている。情報ブロック及び凍結ビットがN個のサブチャネルに配分され、結果として得られたNサイズのベクトルがPolar符号化器によってN×Nのクロネッカー行列と乗算され、N個の符号化ビットを含む符号語を生成する。情報ブロックは、少なくとも情報ビットを含み、CRCビット又はパリティビットなどの補助ビットも含むことがある。サブチャネルセレクタがPolar符号化器に結合されて、少なくとも情報ビット及びあらゆる補助ビット用のサブチャネルを選択することがあり、残りのサブチャネルはどれも凍結サブチャネルである。
2×2のカーネル及びN×Nのクロネッカー行列に基づくPolar符号の場合、Nは2の累乗である。このタイプのカーネル及びこのようなカーネルに基づくPolar符号が、説明例として本明細書で論じられる。素数カーネル(例えば、3×3又は5×5)、又はより高次のカーネルを生成する(素数又は非素数)カーネルの組み合わせなどの、他の形式の分極カーネルが符号サブチャネルの間に分極をもたらすことがある。パンクチャリング、ショートニング、ゼロパディング、及び/又はレピティションなどの符号化ビット処理が、2×2のカーネル又は他のタイプのカーネルに基づくPolar符号と併用して、例えば、レートマッチング又は他の目的に用いられることがあることにも留意されたい。
SC、SCL、又はCA−SCL復号の結果として、分極現象がサブチャネルに現れる。サブチャネルには、高容量のサブチャネルもあれば、低容量のサブチャネルもある。言い換えれば、サブチャネルには、同様に、信号対雑音比(SNR)が高いサブチャネルもあれば、SNRが低いサブチャネルもある。これらの指標は、サブチャネル「信頼性」を定量化する又は分類するのに用いられることがある特性の例である。サブチャネル信頼性を示す他の指標も用いられることがある。
符号構築には、符号化率(情報ビットの数K、又は情報ビットを搬送するサブチャネルがいくつあるか)を決定すること、及び情報ビットを搬送するN個の利用可能なサブチャネルの中で特定のK個のサブチャネルを選択することが必要になる。本明細書では参照しやすいように、情報ビットは、符号化される入力ビット、場合によってはCRCビット、パリティビット、及び/又は復号の補助に用いられる他の補助ビットを含むことがある。サブチャネル選択は、サブチャネルの信頼性に基づいており、通常、最も信頼性が高いサブチャネルは、情報ビットを搬送する情報サブチャネルとして選択される。
サブチャネル信頼性は、例えば、1つ又は複数の順序付き系列に指定されることがある。入れ子になった、SNRに依存しない、サブチャネルの単一の順序付き系列が、符号長Nmaxのために計算され、より短い符号長Nの順序付き系列がより長いNmax系列から選択されることがある。代わりに、異なるマザー符号長Niに関して複数の順序付き系列が計算されることがあり、複数のマザー符号長系列のうちの1つが、好ましい符号長に基づいて特定の符号用に選択されることがある。別の可能な選択肢は、SNR値に関して複数の順序付き系列を計算し、例えば、測定されたSNRに基づいて順序付き系列を選択することを含む。
サブチャネル信頼性を計算する方法もいくつかある。例えば、R.Pedarsaniによる「Polar Codes:Construction and Performance Analysis」(2011年6月、EPFLマスタープロジェクト)で提案されたジーニー支援(genie−aided)方法によれば、符号化器が、復号器が認識しているトレーニング系列を異なるサブチャネルにおいて符号化する。復号器は、符号化器がサブチャネルごとに信頼性統計を計算できるように、復号結果を符号化器にフィードバックし、サブチャネルによく適合した信頼性ベクトルが取得される。
「Evaluation and Optimization of Gaussian Approximation for Polar Codes」(2016年5月)と題する非特許文献公開で提案されたガウス近似(GA)法は、全ての符号化ビットが同一の誤り確率の影響を受けることを想定している。その誤り確率から、サブチャネルの信頼性が密度発展(DE)アルゴリズムを用いて取得される。符号化ビットに関するこの誤り確率は受信SNRに関連しているので、この方法はSNRに関連しており、計算が複雑である。
順序付き系列をカーネル及びその生成行列から生成する方法はいくつかある。必ずしも全ての方法が入れ子系列をもたらすわけではないかもしれず、また、この入れ子系列は必ずしも一意ではないかもしれない。入れ子になった順序付き系列が、例えば、2016年7月29日出願の中国特許出願第CN201610619696.5号に開示されているように、分極重みに基づいて、又は2016年12月23日出願の米国特許出願第62/438565号に開示されているように、ハミング重みに基づいて生成されることがある。これら両方の出願は参照により本明細書に完全に組み込まれる。他の技法も又は他の技法が代わりに用いられることがある。
補助サブチャネルを選択するのにハミング重みを第2の指標としてどのように用いることができるかという一例が、2016年12月12日出願の米国仮特許出願第62/433127号により詳細に論じられており、当該出願は参照により本明細書に組み込まれる。ハミング重みは、第2の指標として用いられることがある指標の一例に過ぎないことに留意されたい。他の例には、ハミング重みの関数が含まれる(例えば、2016年12月9日に出願され且つ参照により本明細書に組み込まれる米国仮特許出願第62/432448号に開示されている行重み)。概して、任意の他の指標も、第2の指標として用いることができる(分極)信頼性を示す。さらなる代替例において、第2の指標は第1の指標と異なるが、第2の指標も分極信頼性に関するか又は分極信頼性を示す。しかしながら、さらに別の代替例において、自然順序のサブチャネルを第2の指標として用いることができるので、例えば、(例えば、自然数の昇順で)情報サブチャネルの最後にあるサブチャネルが補助サブチャネルとして選択される。
一部の実施形態において、2つより多くの指標が補助サブチャネルを選択するのに用いられることがある。さらに、上述の指標を使用する様々な補助サブチャネル選択アルゴリズムのいずれかが用いられることがある。他の可能性が補助サブチャネルを選択するために存在する。
上述したように、受信機での誤り訂正又は検出を容易にして復号を補助するために、CRC又はパリティビットなどの補助ビットが入力ビットストリームに含まれてよい。Polar符号化の間に補助ビットを挿入する場合に発生する1つの問題点は、補助ビットを送信するサブチャネルをどのように選択するかである。具体的には、Polar符号化器は概して、最も信頼性が高いサブチャネルに情報ビットをマッピングするか、又は別の方法で最も信頼性が高いサブチャネルを介して情報ビットを送信すると共に、より信頼性が低いサブチャネルに凍結ビットをマッピングするか、又は別の方法でより信頼性が低いサブチャネルを介して凍結ビットを送信する。補助ビットが符号化ビットストリームにも導入された場合、問題となるのは、最も信頼性が高いチャネルをパリティビットに用いるべきか又は情報ビットに用いるべきかである。
パリティビットをPolar符号化の間に処理する1つの選択肢は、情報ビットを最も信頼性が高いサブチャネルに(例えば、順序付き系列に基づいて)マッピングしてから、情報ビットを最も信頼性が高いサブチャネルにマッピングした後に利用可能な2番目に最も信頼性が高いサブチャネルにパリティビットをマッピングすることである。このように、情報ビットは、パリティビットより信頼性が高いチャネルで送信される。別の選択肢は、パリティビットを最も信頼性が高いサブチャネルにマッピングしてから、パリティビットを最も信頼性が高いサブチャネルにマッピングした後に利用可能な2番目に最も信頼性が高いサブチャネルに情報ビットをマッピングすることである。このように、パリティビットは、情報ビットより信頼性が高いチャネルで送信される。
最も信頼性が高いチャネルにパリティビット及び情報ビットが入り混じる混成手法によって、より高いレベルの符号化性能が実際に実現され得ることが、シミュレーションで示されている。情報ビット用のサブチャネルの選択は(例えば、順序付き系列によって示されるように)サブチャネル分極信頼性に基づくことがあるが、パリティビット用のサブチャネルの選択は、分極信頼性指標を超えた、例えば、これらのパリティサブチャネルの位置が情報サブチャネルの間によりランダムに又はより効率的に分配されることを可能にする指標に基づくことがある。
一部の実施形態において、2つの異なる指標がパリティ又はPCサブチャネル選択に用いられる。例えば、第1の指標が分極信頼性指標(例えば、順序付き系列)になり得、第2の指標がサブチャネルのハミング重み(又は行重みなどのハミング重みの関数)などの重みになり得る。1つの実施形態において、所望の数のパリティビットを搬送するのに必要な全てのサブチャネルが、1つより多くの指標、例えば、分極信頼性指標及びハミング重み/行重みに基づいて選択される。また他の実施形態において、パリティビット用のサブチャネルの部分集合が、1つより多くの指標、例えば、分極信頼性指標及びハミング重み/行重みに基づいて選択され、残りの部分集合が単一の指標、例えば、分極信頼性指標に基づいて選択される。
ハミング重みは、1つにはリード・マラー符号(RM)で用いられるという理由で、また1つにはその扱いやすさの理由で好ましいことがある。RM符号は、分極信頼性ではなくハミング重みに基づいているという点で、Polar符号の特殊例とみなされ得る。またRM符号は、最尤(ML)復号アルゴリズムを用いる(ハミング重みベースのRM符号は、符号長が短い場合、ML性能限界に近づく)が、SC又はSCL復号を用いて復号され得る。
サブチャネルのハミング重みは、生成行列の行のハミング重みであると本明細書では定義されている。Polar符号では、サブチャネルのハミング重みは、その生成行列におけるこのサブチャネルの行重みに関連している(行重み=2^(ハミング重み))。一部の実施形態において、行重みは、サブチャネルの情報が分配されている符号化ビットの数を示す。一般に、サブチャネルに入力される情報ビットが符号化ビットに分配されればされるほど、サブチャネルはロバストになり、したがって、信頼性が高くなる。
ハミング重み、又は行重みなどのハミング重みの関数が第2の指標としてパリティビット用にサブチャネルを選択するのにどのように用いられ得るかに関する一例が、2016年12月12日に出願された「Method for constructing a Parity Check (PC) Based Polar Code Using a Look−up−Table」と題する米国仮特許出願第62/433,127号に説明され、より詳細に論じられており、当該出願はその全体を再現するかのように参照により本明細書に組み込まれる。これらは、第2の指標として用いられることがある指標の例に過ぎないことに留意されたい。概して、任意の他の指標も、第2の指標として用いることができる(分極)信頼性を示す。さらなる代替例において、第2の指標は第1の指標と異なるが、第2の指標も分極信頼性に関するか又は分極信頼性を示す。しかしながら、さらに別の代替例において、自然順序のサブチャネルを第2の指標として用いることができるので、例えば、情報サブチャネルの最後にあるサブチャネルが補助サブチャネルとして選択される。一部の実施形態において、2つより多くの指標が補助サブチャネルを選択するのに用いられることがある。さらに、上述の指標を使用する様々な補助サブチャネル選択アルゴリズムのいずれかが用いられることがある。他の可能性が補助サブチャネルを選択するために存在する。
米国仮特許出願第62/433,127号で説明される実施形態に係る技法によって、情報ビットをサブチャネルにマッピングする前に、パリティビット用に候補サブチャネルが予約及び/又は選択される。候補サブチャネルが予約された後に、最も信頼性が高い残りのサブチャネルに情報ビットがマッピングされ、最も信頼性が低い残りのサブチャネルに複数の凍結ビットがマッピングされる。その後、予約されたサブチャネルのパリティビット値が情報ビットの関数に基づいて決定される。特に、パリティビット用に予約される候補サブチャネルは、必ずしも最も信頼性が高いサブチャネルではないが、概して、情報ビットが送信されるサブチャネルのうちの少なくとも1つと同じ程度に信頼性が高いか、又はそれより信頼性が高い少なくともいくつかのサブチャネルを含む。このように、情報ビット及びパリティビットが、復号確率を向上させる形で最も信頼性が高いチャネルに入り混じっている。
上述したように、いくつかのサブチャネルは、Polar符号化の間にPCビット用に予約されても又は確保されてもよい。図5A〜図5Gは、4つの情報ビットの系列が16のマザー符号長に符号化される場合に、符号化処理がどのように行われ得るかに関する一例を示す。図5Aは、16のマザー符号長に対応するサブチャネルu0、u1、u2、u3、u4、u5、u6、u7、u8、u9、u10、u11、u12、u13、u14、u15を載せた表を示している。この表の2行目は、サブチャネルごとのチャネル分極信頼性を載せている。サブチャネルは、チャネル信頼性に基づいて並べ替えてもよい。図5Bは、サブチャネルu0、u1、u2、u4、u8、u3、u5、u6、u9、u10、u12、u7、u11、u13、u14、u15という順序付き系列(Q)を載せた表を示している。チャネルごとの行重みがチャネルインデックスの関数として計算され得る。1つの例において、行重みは次の数式、すなわちrw=2hwに基づいて計算される。rwは所与のサブチャネルの行重みであり、hwはチャネルインデックスの2進表現に関するハミング重みである。図5Cは、サブチャネルの順序付き系列における各サブチャネルの2進表現、ハミング重み、及び行重みを載せた表を示している。
次に、サブチャネルの部分集合が、パラメータwmin、2×wmin、f1、及びf2の集合を決定するために識別され、これらのパラメータはPCビット用にサブチャネルを予約するのに用いられることになる。情報ビット及びパリティビットを搬送するサブチャネルの部分集合はK+Fpに等しく、Kは情報ブロック長(例えば、符号化する情報ビットの数)であり、Fpはチャネルを介して送信するパリティビットの数に対応するパラメータである。一実施形態において、Fpは次の関数に従って計算される。
ここで、Nはマザー符号長であり、Mは(例えば、パンクチャリングの後に)送信される符号語内の(符号化)ビットの数であり、K/Mは実現される符号化率であり、αは情報ビットに対するパリティビットの比を変えるのに用いられる重み係数である。しかしながら、異なるFpの関数、例えば、比較的少数のパリティビットに適しているように思われるFp=log2((M−K)/32)が用いられてもよい。あるいは、例えば(パリティビット以外の)異なるタイプの補助ビット及び/又は(PC機能以外の)異なるタイプの検査機能が用いられる場合、この関数は異なるかもしれない。一般に、PCビットの数Fpは概して、K、N,(及び、M<Nであり且つショートニング又はパンクチャリングが用いられる場合にはM)の任意の関数であってよい。さらに別の実施形態において、Fpは、K、N、(及び/又はM)と無関係の固定値、例えば3であるかもしれない。さらに別の実施形態において、Fpは、(最小行重みwminを有する)候補サブチャネルにマッピングされるパリティビット総数(例えば、3個)の所望の集合又は部分集合(例えば、1個)を表すかもしれない。残りのパリティビット(例えば、2個)は、異なる指標に従って他のサブチャネル(例えば、K(又はK+Fp)個の最も信頼性が高いサブチャネル内の最も信頼性が低いサブチャネル)にマッピングされる。他の可能性もFpために存在する。
PCビット及び上記Fpの関数を用いる実施形態において、パラメータαは1と2の間の値に設定される。他の実施形態において、パラメータαは1と1.5の間の値に設定される。αの値が大きくなると、概して大きい最小符号距離がもたらされる。この例において、Fpは2に等しい。したがって、情報ビット及びパリティビットを搬送するサブチャネルの部分集合は、6個の最も信頼性が高いサブチャネル(すなわち、K+Fp=4+2=6)を含み、これらは、サブチャネルu12、u7、u11、u13、u14、及びu15である。次に、1つ又は複数の行重み値が決定される。このように、K+Fp部分集合における最小行重みwminは4である。この例において、行重み値は、サブチャネルu12、u7、u11、u13、u14、及びu15の部分集合に最小行重み(wmin)と最小行重みの2倍(2×wmin)とを含み、これらはそれぞれ4と8である。第1のインデックス(f1)と第2のインデックス(f2)も決定される。第1のインデックス(f1)は、wminに等しい行重みを有するサブチャネルがPCビット用にいくつ予約されるかを決定し、第2のインデックス(f2)は、2×wminに等しい行重みを有するサブチャネルがPCビット用にいくつ予約されるかを決定する。この例において、f1及びf2はそれぞれ、1と1に等しい。
その後、これらのサブチャネルは、パラメータwmin、2×wmin、f1、及びf2に基づいて、PCビット用に予約される。この例において、行重みwmin(すなわち4に等しい)を有する最も信頼性が高いサブチャネルと、2×wminに等しい(すなわち8に等しい)行重みを有する最も信頼性が高いサブチャネルとが選択され、その選択にはサブチャネルu12及びu14が含まれる。図5Dは、PCビット用に予約されたサブチャネルを示す表を示している。その後、情報ビットは、残りの最も信頼性が高いチャネルにマッピングされる。図5Eは、サブチャネルu15、u13、u11、及びu7が4つの情報ビットにどのようにマッピングされるかを示す表を示している。この例では、K=4及びN=16である。他の例では、異なる数の情報ビットがサブチャネルにマッピングされてよい。その後、残りのサブチャネルは凍結ビットにマッピングされる。図5Fは、サブチャネルu10、u9、u6、u5、u3、u8、u4、u2、u1、及びu0がどのように凍結ビットにマッピングされるかを示す表を示している。
一部の実施形態において、符号化器は、凍結ビット集合がマッピングされた後に、PCビットを搬送するために凍結ビット集合内の一部のサブチャネルを選択する。図5Gは、凍結サブチャネルがPCビットを搬送するためにどのように選択され得るかを示す表を示している。図示するように、wmin又は2×wminに等しい行重みを有する凍結集合のサブチャネルが、PCビットを搬送するために選択される。この例では、サブチャネルu10、u9、u6、u5、及びu3が、追加のPCビットとしてマッピングされる。一部の他の実施形態において、全ての凍結サブチャネルが追加のPCビットとして選択されることがある。
wmin、2×wmin、f1、及びf2に基づいて、Fp個のPCビット用にFp個のサブチャネルを予約又は選択する代わりに、符号化器は、これらのパラメータの異なる集合又は部分集合を用いて、サブチャネルを予約してもよい。1つの実施形態において、Fp個のサブチャネルが、wmin(だけ)に基づいて、N個のサブチャネル又は(パンクチャリング又はショートニングが用いられる場合には)N個のサブチャネルより少ないM個のサブチャネルの最も信頼性が高い(K+Fp)部分集合に予約される。例えば、wminの値(詳細は下記)に等しい行重みを有するFp個のサブチャネルが予約される。一部の実施例において、wminに等しい行重みを有する(K+Fp)部分集合により多くのサブチャネルがある場合、最も信頼性が高いFp個のサブチャネルが予約される。一部の実施例において、最も信頼性が高いK+Fp個のサブチャネル内に2×wminに等しい行重みを有するサブチャネルがf2より多く存在するという場合にも、同じ選択が適用される。他の実施例において、wmin(又は2×wmin)に等しい行重みを有する(K+Fp)部分集合における最も信頼性が低いFp個のサブチャネルが予約される。さらに他の実施例において、PCビットの数は、wminに等しい行重みを有するサブチャネルの全てがPCビット用に予約されるように増加してもよい。さらに他の実施例において、Fpは、wmin及び/又は2×wminに基づいて予約されるPCビット用のサブチャネル総数(例えば、3個)の集合又は部分集合(例えば、1個)を表し、PCビット用のサブチャネル総数の残りの部分集合(例えば、2個)が別の指標、例えば、K(又はK+Fp)個の最も信頼性が高いサブチャネルの中の最も信頼性が低いサブチャネルに基づいて予約される。他の実施例もあり得る。
一部の実施形態において、(K+Fp)部分集合にFp個のサブチャネルを予約することに加えて、符号化器は、追加のPCビットを搬送するために、凍結ビット集合(N−K−Fp)においていくつかのサブチャネルを選択してよい。他の実施形態において、wminに等しい行重みを有する(K+Fp)部分集合のFp個のサブチャネルに加えて、凍結ビット集合の全てのサブチャネルがPCビットを搬送するために選択される。
一部の実施形態において、サブチャネルと関連付けられた行重みに基づいてPCビットがマッピングされた場合、行重みの計算によって符号化処理に遅延が付加されることがある。本開示の他の実施形態では、サブチャネルをそのハミング重みに基づいて予約することにより、このような遅延を軽減し、これにより、行重みを計算する追加段階を回避する。図6A〜図6Gは、Polar符号化処理の間にPCビット用にサブチャネルを予約するのにハミング重みがどのように用いられ得るかに関する一例を示す。この例では、4つの情報ビットの系列が16のマザー符号長に符号化される。図6Aは、16のマザー符号長に対応するサブチャネルu0、u1、u2、u3、u4、u5、u6、u7、u8、u9、u10、u11、u12、u13、u14、u15を載せた表を示している。この表の2行目は、サブチャネルごとのチャネル分極信頼性を載せている。サブチャネルは、チャネル信頼性に基づいて並べ替えてもよい。図6Bは、サブチャネルu0、u1、u2、u4、u8、u3、u5、u6、u9、u10、u12、u7、u11、u13、u14、u15の順序付き系列(Q)を載せた表を示している。各チャネルインデックスのハミング重みがサブチャネルごとに決定され得る。図6Cは、サブチャネルの順序付き系列における各サブチャネルのハミング重みを載せた表を示している。
次に、サブチャネルの部分集合が、最小ハミング重み(umin)並びにf1及びf2というパラメータを決定するために識別され、これらのパラメータはPCビット用にサブチャネルを予約するのに用いられることになる。情報ビット及びパリティビットを搬送するサブチャネルの部分集合はK+Fpに等しく、Kは情報ブロック長であり、Fpは次の関数に従って計算されるパラメータである。
ここで、Nはマザー符号長であり、Mは(例えば、パンクチャリングの後に)送信される符号語内の符号化ビットの数であり、K/Mは実現される符号化率であり、αは情報ビットに対するパリティビットの比を変えるのに用いられる重み係数である。しかしながら、実施例に応じて、異なるFpの関数、例えば、比較的少数のPCビットに適しているように思われるFp=log2((M−K)/32)が用いられてもよい。あるいは、例えば(PCビット以外の)異なるタイプの補助ビット及び/又は(PC機能以外の)異なるタイプの検査機能が用いられる場合、異なる関数が用いられてもよい。一般に、PCビットの数Fpは概して、K、Nの任意の関数であってよいが、(M<Nであり且つショートニング又はパンクチャリングが用いられる場合には)Mの任意の関数であってもよい。別の実施形態において、Fpは、K、N、(及び/又はM)と無関係の固定値、例えば3であるかもしれない、又は、Fpは、最小行重みwminを有する候補サブチャネルにマッピングされるパリティビット総数(例えば、3個)の所望の集合又は部分集合(例えば、1個)を表すかもしれない。残りのパリティビット(例えば、2個)は、異なる指標に従って他のサブチャネル(例えば、K(又はK+Fp)個のサブチャネル内の最も信頼性が低いサブチャネル)にマッピングされる。図6A〜図6Gの例では、Fpは2に等しく、最も信頼性が高いサブチャネルの部分集合は6個の最も信頼性が高いサブチャネル(すなわち、K+Fp=4+2=6)を含み、これらは、サブチャネルu12、u7、u11、u13、u14、及びu15である。次に、これらのサブチャネルの部分集合の最小ハミング重みが決定される。この例では、最小ハミング重みは、サブチャネルu12のハミング重みに基づく2である。第1のインデックス(f1)及び第2のインデックス(f2)も決定される。第1のインデックス(f1)は、uminに等しいハミング重みを有するサブチャネルがPCビット用にいくつ予約されるかを決定し、第2のインデックス(f2)は、1+uminに等しいハミング重みを有するサブチャネルがPCビット用にいくつ予約されるかを決定する。この例において、f1及びf2はそれぞれ、1と1に等しい。
その後、これらのサブチャネルは、パラメータumin、1+umin、f1、及びf2に基づいて、PCビット用に予約される。この例において、uminに等しい(すなわち2に等しい)ハミング重みを有する最も信頼性が高いサブチャネルと、1+uminに等しい(すなわち3に等しい)ハミング重みを有する最も信頼性が高いサブチャネルとが選択され、その選択にはサブチャネルu12及びu14が含まれる。図6Dは、PCビット用に予約されたサブチャネルを示す表を示している。その後、情報ビットは、残りの最も信頼性が高いサブチャネルにマッピングされる。図6Eは、サブチャネルu15、u13、u11、及びu7が4つの情報ビットにどのようにマッピングされるかを示す表を示している。その後、残りのサブチャネルは凍結ビットにマッピングされる。図6Fは、サブチャネルu10、u9、u6、u5、u3、u8、u4、u2、u1、及びu0がどのように凍結ビットにマッピングされるかを示す表を示している。
一部の実施形態において、符号化器は、PCビットを搬送するために、凍結ビット集合から追加サブチャネルを選択する。図6Gは、umin又は1+uminに等しいハミング重みを有する凍結集合のサブチャネルがPCビットを搬送するためにどのように選択されるかを示す表を示している。この例では、サブチャネルu10、u9、u6、u5、及びu3が、追加のPCビットを搬送するために予約される。一部の他の実施形態において、全ての凍結サブチャネルが追加のPCビットとして選択されることがある。
umin、f1、及びf2に基づいて、Fp個のPCビット用のFp個のサブチャネルを予約又は選択する代わりに、符号化器は、これらのパラメータの異なる集合又は部分集合を用いて、サブチャネルを予約してもよい。1つの実施形態において、Fp個のサブチャネルが、umin(だけ)に基づいて、N個(又は、パンクチャリング若しくはショートニングが用いられる場合、N個より少ないM個)のサブチャネルの最も信頼性が高い(K+Fp)部分集合に予約される。例えば、uminの値(詳細は下記)に等しいハミングを有するFp個のサブチャネルが予約される。一部の実施例において、uminに等しいハミング重みを有する(K+Fp)部分集合により多くのサブチャネルがある場合、最も信頼性が高いFp個のサブチャネルが予約される。一部の実施例において、最も信頼性が高いK+Fp個のサブチャネル内に2×wminに等しい行重みを有するサブチャネルがf2より多く存在するという場合にも、同じ選択が適用される。他の実施例において、(K+Fp)部分集合における最も信頼性が低いFp個のサブチャネルが予約される。さらに他の実施例において、PCビットの数は、uminに等しいハミング重みを有するサブチャネルの全てがPCビット用に予約されるように増加してもよい。さらに他の実施例において、Fpは、wmin及び/又は2×wminに基づいて予約されるPCビット用のサブチャネル総数(例えば、3個)の部分集合(例えば、1個)を表し、残りの部分集合(例えば、2個)が別の指標、例えば、K(又はK+Fp)個の最も信頼性が高いサブチャネルの中の最も信頼性が低いサブチャネルに基づいて予約される。他の実施例もあり得る。
一部の実施形態において、(K+Fp)部分集合にFp個のサブチャネルを予約することに加えて、符号化器は、追加のPCビットを搬送するために、凍結ビット集合(N−K−Fp)においていくつかのサブチャネルを選択してよい。他の実施形態において、wminに等しい行重みを有する(K+Fp)部分集合のFp個のサブチャネルに加えて、凍結ビット集合の全てのサブチャネルがPCビットを搬送するために選択される。
本開示の実施形態が、重みパラメータに基づいて、パリティビット用に1つ又は複数のサブチャネルを選択、予約、又は配分する技法を提供する。図7は、Polar符号を用いてデータを符号化する方法700のフローチャートであり、これは無線デバイスにより実行され得る。段階710で、無線デバイスは、信頼性指標に基づいて順番に並べられ得るサブチャネルのセグメントから、少なくとも1つのパリティビットを搬送する少なくとも1つのサブチャネル(例えば、候補サブチャネル)を重みパラメータに基づいて(事前に)選択する。重みパラメータは、最小行重み(例えば、wmin、dmin)パラメータであってよい。1つの例において、順序付きサブチャネルは、K個のサブチャネルのセグメントとN0−K個のサブチャネルのセグメントとを含み、無線デバイスは、K個のサブチャネルのセグメントから、最小重み(dmin)を有する少なくとも1つの候補サブチャネルを選択する。そのような一例において、K個のサブチャネルのそれぞれは、N0−K個のサブチャネルの全てより高い信頼性指標を有する。この例において、Kは符号化する情報ビットの数又は情報ブロック長を指し、これは他の補助ビット(例えば、CRCビット)を含んでも含まなくてもよく、またN0はマザー符号長を指す。別の例において、セグメントKにおける最小重みを有するサブチャネルの数nが所定値Fより大きい場合、無線デバイスは、信頼性指標の降順(例えば、高信頼性から低信頼性に)で最小重みを有するK個のサブチャネルのセグメントからF個のサブチャネルを選択する。別の例において、無線デバイスは、最小重み(dmin)に基づいて第1の数のサブチャネルを選択する、及び/又は最小重みの2倍(2×dmin)に基づいて第2の数のサブチャネルを選択する。さらに別の例において、無線デバイスは、少なくとも1つのサブチャネルを、例えば、Polar符号と関連付けられた符号長の関数と符号化されるデータの情報ブロック長とに基づいて選択する。さらに別の例において、無線デバイスは、少なくとも1つのパリティビットを搬送するサブチャネルとして、凍結ビットに正常に配分された全てのサブチャネルを選択する。
さらに別の例において、無線デバイスは、(N個の)サブチャネルの順序付き系列のうちK個の最も信頼性が高いサブチャネルの部分集合において、最小行重みを有する少なくとも1つのサブチャネルを選択する。この例において、サブチャネルの行重みとは、当該サブチャネルに対応する(Nサイズの)クロネッカー行列の行に含まれる1の数である。さらに別の例において、K個の最も信頼性が高いサブチャネルの中で最小行重みを有するサブチャネルの数nが所定数Fpより大きい場合、無線デバイスは、K個の最も信頼性が高いサブチャネルの部分集合における(例えば、最小行重みを有する)n個のサブチャネルの中からFp個のサブチャネルを選択してよい。さらに別の例において、最小行重みを有する少なくとも1つのサブチャネルは、降順の信頼性順位に従って、K個の最も信頼性が高いサブチャネルの部分集合から選択されてもよい。言い換えれば、選択された少なくとも1つのサブチャネルは、最小行重みを有するK部分集合における最も信頼性が高いサブチャネルである。
段階720で、無線デバイスは、パリティ検査機能を適用して、少なくとも1つのパリティビットのそれぞれの値を決定する。パリティ検査機能は、少なくとも1つのパリティビット用に選択された複数のサブチャネルにわたって実行されてよい。パリティ検査機能は、素数パリティ検査機能かもしれない。段階730で、無線デバイスは、選択されたサブチャネルに配置された情報ビット及び少なくとも1つのパリティビットをPolar符号化して、符号化データを取得する。1つの例において、少なくとも1つのパリティビットは、最小重みを有する第1の数のサブチャネル及び/又は最小重みの2倍を有する第2の数のサブチャネルに配置される。示していないが、無線デバイスは、サブチャネルの順序付き系列における情報ビット用のサブチャネルを、情報ビット用に選択されるサブチャネルの数がK(すなわち、符号化する情報ビット総数)に達するまで、少なくとも1つのパリティビット用に選択された少なくとも1つのサブチャネルを飛ばしながら選択してもよい。段階740で、無線デバイスは、符号化データを別の無線デバイスに送信する。
図8は、Polar符号を用いてデータを符号化する一実施形態に係る方法800のフローチャートであり、これは無線デバイスにより実行され得る。段階810で、無線デバイスは、例えば、信頼性指標に基づいて順番に並べられ得る(N個の)サブチャネルの集合又は系列の部分集合におけるサブチャネルの行重みに基づいて、1つ又は複数のパリティビット用の1つ又は複数の(候補)サブチャネルを予約するか又は別の方法で配分する。行重みは、最小行重み値(wmin)及び/又は最小行重みパラメータの整数倍(例えば、2×wmin)を含んでよい。サブチャネルの行重みは、Nサイズのクロネッカー行列のサブチャネルに対応する行に含まれる1の数を表してよい。順序付きサブチャネルからパリティビット用の候補サブチャネルを予約する(すなわち、配分する)様々な技法がある。例えば、サブチャネルの集合がその信頼性に基づいて並べ替えられた後に、無線デバイスは、最も信頼性が高いサブチャネルから始まる行重みに基づいて、当該集合の最も信頼性が高いサブチャネルの部分集合から、候補サブチャネルを予約してよい。1つの例において、最小行重み値に等しい行重みを有する最初の(すなわち最も信頼性が高い)f1個のサブチャネル(f1は0より大きい整数)がパリティビット用に予約される。そのような一例において、最小行重みは、サブチャネルの順序付き系列において最も信頼性が高いK個又はK+Fp個のサブチャネルと関連付けられた最小行重みであってよく、Kは情報ビットの系列と関連付けられた情報ブロック長であり、Fpは符号化ビットストリームにより搬送されるパリティビットの数に対応するパラメータ又は関数である。そのような一実施形態において、Fpは次の関数に従って計算され得る。
ここで、Mは送信されるブロック長であり、Nはマザー符号長であり、αは情報ビットに対するパリティビットの比を変えるのに用いられる重み係数である。Fpの他の値もあり得る。別の例において、最小行重み値の2倍に等しい行重みを有する第1のf2個のサブチャネルは、パリティビット用にも予約されてよい(f2も整数であり、0より大きい又はそれに等しい)。f1パラメータは次の関数に従って計算され得る。
f1=(Fp+min(Fp,n))/2
ここで、nは、サブチャネルの順序付き系列のうち最も信頼性が高いK+Fp個のサブチャネルにおいて、最小行重みに等しい行重みを有するサブチャネルの数である。f2パラメータは次の関数に従って計算され得る。
f2=(Fp−min(Fp,n))/2
他の値がf1パラメータ及びf2パラメータに対して可能であってもよい。
別の実施形態において、Fpは、情報ブロックサイズ及び符号長と無関係な固定値(例えば、3)かもしれない。あるいは、Fpは用いられるパリティビット総数(例えば、3個)の所望の部分集合(例えば、1個)かもしれず、これは、最も信頼性が高いサブチャネルの部分集合(例えば、K又はK+Fp)において最小行重みwminを有する候補サブチャネルにマッピングされる。また、残りのパリティビット(例えば、2個)は、異なる指標に従って他のサブチャネル(例えば、K個(又はK+Fp個)の最も信頼性が高いサブチャネル内の最も信頼性が低いサブチャネル)にマッピングされる。
段階820で、無線デバイスは、例えば、1つ又は複数のパリティビット用に予約された1つ又は複数の候補サブチャネルに情報ビットをマッピングすることなく、サブチャネルの集合の残りのサブチャネルの部分集合に情報ビットを残りのサブチャネルの信頼性に基づいてマッピングする。段階830で、無線デバイスは、少なくとも1つ又は複数のパリティビットの値を情報ビットの値に応じて決定し(例えば、計算し)、予約された候補サブチャネルに1つ又は複数のパリティビットをマッピングする(不図示)。段階840で、無線デバイスは、Polar符号を用いて、マッピングされた情報ビット及び1つ又は複数のパリティビットを符号化して、符号化ビット又は符号化ビットストリームを取得する。段階850で、無線デバイスは(物理)チャネルを介して符号化ビットを送信する。
本開示の実施形態が、無線デバイスなどのデバイス用の、符号化の前にパリティ検査機能を実施する方法を提供する。第1の段階で、無線デバイスは、信頼性の順序付き系列(Q)を取得又は確認し、パンクチャリングされたビット集合(P)を符号化率(R)及びマザー符号長(N)に基づいて決定する。
第2の段階で、デバイスは、順序付き系列から凍結ビット集合、PC凍結ビット集合、及び情報ビット集合を決定する。第2の段階は、いくつかの副段階2.1〜2.4(d)を含んでよい。副段階2.1において、無線デバイスは、(昇順の信頼性で左から右に順番に並べられた)系列Qを3つの部分集合、すなわち、(N−M)部分集合、(M−K)部分集合、及び(K)部分集合に分割し得る。この一例が表2に示されている。このように、K部分集合は系列Qにおいて最も信頼性が高いビット位置(サブチャネル)を表す。副段階2.2で、無線デバイスは、(K)部分集合における最小値又は最小行重みを決定し、それをdminと表記し得る。サブチャネルの行重みは、当該サブチャネルに対応するクロネッカー行列の行に含まれる「1」の数を表す。上述したように、行重みは2の累乗でもあり、指数部はサブチャネルインデックスの2進表現に含まれる「1」の数である。無線デバイスは次に、(K)部分集合における、dminに等しい行重みを有するビット位置の数(n)を決定し得る。副段階2.3で、無線デバイスは、K部分集合において、PC凍結ビット用のサブチャネルの集合をdminに従って選択又はフラグ付けする。具体的には、無線デバイスは、Polar符号のマザー符号長と情報ビットの系列内の情報ビットの数との関数に基づいて、パリティ検査(PC)凍結(PC凍結)ビットの数(Fp)を決定し得る。1つの例において、Fpは次の関数に従って計算される。
Fp=ceil(log2(N×K)/2)無線デバイスは次に、PC凍結ビット用のサブチャネルの数を選択及び/又はフラグ付けし得る。n<Fpの場合、無線デバイスは、降順の信頼性順位に従って、行重みdminを有する(Fp+n)/2個のサブチャネルをPC凍結ビットとして選択及び/又はフラグ付けしてもよく、また降順の信頼性順位に従って、行重み2×dminを有する(Fp−n)/2個のサブチャネルを選択及び/又はフラグ付けしてもよい。n≧Fpの場合、無線デバイスは、降順の信頼性順位に従って、行重みdminを有するFp個のサブチャネルをPC凍結ビットとして選択及び/又はフラグ付けしてもよい。別の実施形態において、Fpは情報ブロックサイズ及び符号長と無関係の固定値、例えば、3かもしれない。あるいは、Fpは、最小行重み(dmin)又は最小行重みの2倍(2×dmin)を有するサブチャネルにマッピングされるパリティビット総数(例えば、2個)の所望の集合又は部分集合(例えば、1個)を表すかもしれない。残りのパリティビット(例えば、2個)は、異なる指標に従って他のサブチャネル(例えば、K部分集合又はK+Fp部分集合内の最も信頼性が低いサブチャネル)にマッピングされる。副段階2.4(a)〜2.4(d)において、無線デバイスは、情報ビット、PC凍結ビット、及び凍結ビットの位置を決定し得る。詳細には、副段階2.4(a)において、無線デバイスは、情報ビット位置の数がKに達するまで、フラグ付けされたビット位置を飛ばしながら(信頼性の降順で)右端から左端へ情報ビット位置を1つずつ選択し得る。副段階2.4(b)において、無線デバイスは、凍結ビットになる残りビット位置をフラグ付けしてよい。副段階2.4(c)において、無線デバイスは、一部の凍結ビット位置、例えば、事前選択されたPC凍結ビットに等しい行重みを有する凍結ビット位置を追加のPC凍結ビットとして選択しても、又は全ての凍結ビット位置を追加のPC凍結ビットとして選択してもよい。副段階2.4(d)において、無線デバイスは、Polar符号化用のビット系列を、例えば、Arikanカーネルと共に用意してよい。無線デバイスは、K個の情報ビットを挿入し、PC凍結ビット及び凍結ビットを示してよい。
段階3で、無線デバイスはパリティ検査機能に基づいてPC凍結ビットの値を設定してよい。1つの例において、これは素数値の長さのレジスタに巡回シフトを適用することで実現される。
図9は、Polar符号を用いてデータを符号化する一実施形態に係る方法900のフローチャートであり、これは無線デバイスにより実行され得る。段階910で、無線デバイスは、サブチャネルの順序付き系列において、最も信頼性が高いK個のサブチャネルの中から最小行重み(dmin)を決定する。段階920で、無線デバイスは、最も信頼性が高いK個のサブチャネルにおいて、パリティ検査(PC)凍結(PC凍結)ビット用のサブチャネルの集合を最小行重みに従って選択又はフラグ付けする。サブチャネルの集合は、選択又はフラグ付けされ、1つ又は複数のサブチャネルを含んでよいことを理解されたい。任意選択的に、最小行重み(dmin)を有するサブチャネルが所定数のPC凍結ビット(例えばFp個)より少ない場合(例えばn個)、無線デバイスは、順序付き系列において行重みdminを有する(Fp+n)/2個のサブチャネルを降順の信頼性順位に従ってPC凍結ビットとして選択又はフラグ付けし、また順序付き系列において行重み2×dminを有する(Fp−n)/2個のサブチャネルを降順の信頼性順位に従ってフラグ付けする。任意選択的に、最小行重み(dmin)を有するサブチャネルの数nがFpより大きい場合、無線デバイスは、順序付き系列において行重みdminを有するFp個のサブチャネルを降順の信頼性順位に従ってPC凍結ビットとして選択又はフラグ付けする。段階930で、無線デバイスは、サブチャネルの順序付き系列における最も信頼性が高い残りのサブチャネルに情報ビットの系列Kを、PC凍結ビット用にフラグ付けされたサブチャネルの集合を飛ばしながらマッピングする。無線デバイスは、段階940で、少なくともPC凍結ビット用にフラグ付けされたサブチャネルの集合にPCビットの値を設定し、段階950で、PC凍結ビットを有するK個の情報ビットをPolar符号化する。これにより、符号化ビット又は符号化ビットストリームが取得される。段階960で、無線デバイスは符号化ビット/符号化ビットストリームの少なくとも一部を送信する。
図10は通信システム1000を示す。情報源1010が情報データ(ベアラデータ、情報ブロック、ビット)を提供し、(チャネル)符号化器1020が情報データを符号化し、符号化された情報データはチャネル1030を介して送信された後に(チャネル)復号器1040で復号されるので、情報データは最終的に受信側1050で受信される。情報源1010及び/又はチャネル符号化器1020は、ネットワークコンポーネント又はユーザ機器などの送信ポイント又は無線デバイスに組み込まれても又はそこに含まれてもよい。ネットワークコンポーネントは、進化型NodeB(eNodeB)、WiFiアクセスポイント、スモールセル(ピコセル、フェムトセル)アクセスポイント、又はネットワークへのアクセスを提供する任意の他のアクセスポイントなどのアクセスポイントであってよい。チャネル符号化器1020は、多くの異なる方法により実現されてよい。例えば、チャネル符号化器1020は、ハードウェアのみにより(データを符号化する及び/又は符号化器若しくは本デバイスの他のコンポーネントのオペレーションを制御する、並びに/又は、本明細書で開示されるような機能及び/若しくは実施形態の実行を別の方法で制御するように構成される、プロセッサなどの回路により)実現されてよい。プロセッサによる符号化器の実施例において、本明細書で説明される符号化演算を実行するプロセッサ実行可能命令が、送信ポイント又はデバイスの内部又は外部にある非一時的メモリ又は記憶媒体に格納される。非一時的媒体は、例えばメモリ内に、1つ又は複数の半導体メモリデバイス及び/又は移動可能で場合によっては着脱可能な記憶媒体を有するメモリデバイスを含むことがある。符号化器1020は、別個の(無線周波数、つまりRF)送信モジュールとインタフェースで接続するように構成されることがある。例えば、符号化器1020は、ハードウェア又は回路(例えば、1つ又は複数のチップセット、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、専用論理回路、又はこれらの組み合わせ)により実現され、別個の(RF)ユニットによる送信のために、本明細書で説明されたようにデータを符号化してよい。
(チャネル)復号器1040及び受信側1050は、ネットワークコンポーネント又はユーザ機器(UE)などの受信ポイント又は別の無線デバイスに含まれてよく、多くの異なる方法でネットワークコンポーネント又はデバイスにより、例えば、復号演算を行う命令を実行するように構成されたチップセット又はプロセッサなどのハードウェア又は回路などにより実現されてもよい。プロセッサによる復号器1040の実施例において、復号演算を実行するプロセッサ実行可能命令が、受信ポイント又はデバイスの内部又は外部にある非一時的メモリ又は記憶媒体に格納される。非一時的媒体は、例えばメモリ内に、1つ又は複数の半導体メモリデバイス及び/又は移動可能且つ場合によっては着脱可能な記憶媒体を有するメモリデバイスを含むことがある。復号器1040は、別個の(RF)受信モジュールとインタフェースで接続するように構成されることがある。例えば、復号器1040は、ハードウェア又は回路(例えば、1つ又は複数チップセット、マイクロプロセッサ、ASIC、FPGA、専用論理回路、又はこれらの組み合わせ)により実現されてよく、(例えば、受信モジュール又はユニットを介して)受信された信号を本明細書で説明したように復号して情報ビットを取得する。UEは、無線電話、スマートフォン、タブレット、携帯端末、又は任意の他のモバイルデバイスであってよい。様々な実施形態において、情報源1010及びチャネル符号化器1020はUEにおいて実現され得、チャネル復号器1040及び受信側1050はアクセスポイントにおいて実現されてよく、又は逆の場合にも同様に実現される。チャネル1030は、無線又はケーブル若しくはバスなどの固定回線を介したチャネルであってよい。チャネル1030は、無線インタフェースの物理層であってよい。チャネル130は、任意の他の伝送媒体であってよい。通信システム1000は、無線データの送信だけでなく、有線データ又は任意の他のデータの送信にも用いられてよい。
一部の実施形態において、復号器1040は、チャネル1030を介して受信される符号化データに基づいて信号を復号するように構成されてよい。1つの実施形態において、復号器1040は、別のデバイス、例えば符号化器1020から、符号化器1020で生成された、情報ビット及び1つ又は複数のパリティビットがPolar符号で符号化されている符号化データに基づいて、信号を受信するように構成される。上述したように、復号器1040は、(例えば、内部受信ユニットを用いて)直接信号を受信するか、又は別個の受信ユニットを用いて適切なインタフェースを介して間接的に信号を受信するように構成されてよい。この実施形態において、パリティビットは、重みパラメータに基づいて選択されたサブチャネルに配置され、復号器1040は、Polar符号及びパリティビットを用いて信号を復号して情報ビットを取得する。
1つの例において、重みパラメータは最小重みを含む。そのような一例において、パリティビットは、最小重み(例えば、dmin)又は最小重みの2倍(2×dmin)を有する複数のサブチャネルに配置されてよい。選択されたサブチャネルがそれぞれ最小重みを有する一例において、これらのサブチャネルは、信頼性指標に基づいて順番に並べられたN0個のサブチャネルのK個の最も信頼性が高いサブチャネルのセグメントから選択される。この例において、K個のサブチャネルのそれぞれは、順序付きサブチャネルのN0−Kセグメントのサブチャネルの信頼性指標より高い信頼性指標を有し、Kは情報ブロック長であり、N0はマザー符号長である。素数関数であってよいパリティ検査機能は、複数のパリティビットのそれぞれの値を決定するのに用いられてよい。重みパラメータは、dminなどの最小行重みを含んでよく、選択されたサブチャネルはK部分集合において最小行重みを有してよく、サブチャネルの行重みはクロネッカー行列の行に含まれる1の数であり、行はサブチャネルに対応する。最小行重みを有するサブチャネルは、降順の信頼性順位に従ってK部分集合から選択されてよい。情報ビット用のサブチャネルが、情報ビット用に選択されるサブチャネルの数がKに達するまで、パリティビット用に選択されたサブチャネルを飛ばすことにより、サブチャネルの順序付き系列において選択されてよい。
別の実施形態において、復号器1040は、別のデバイス(例えば、符号化器1020)で生成された、情報ビット及び1つ又は複数のパリティビットがPolar符号で符号化されているビット又はビットストリームに基づいて、信号を受信するように構成される。この実施形態において、パリティビットは、サブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて配分されたサブチャネルにマッピングされ、情報ビットは、サブチャネルの集合の残りのサブチャネルに、これら残りのサブチャネルの信頼性に基づいてマッピングされる。復号器1040は、Polar符号及びパリティビットを用いて信号を復号して、情報ビットを取得するようにも構成される。
1つの例において、サブチャネルの行重みは、当該サブチャネルに対応するクロネッカー行列の行に含まれる1の数を表す。行重みは、最小行重みを含んでもよい。サブチャネルの部分集合において、最小行重み又は最小行重みの2倍に等しい行重みを有する複数のサブチャネルが、パリティビットに配分される。配分されたサブチャネルの数は1つであってもよく、集合内のサブチャネルはその信頼性に基づいて順番に並べられ、サブチャネルの順序付き系列を形成してよい。サブチャネルの部分集合は、順序付き系列において最も信頼性が高い部分集合を含む。例えば、最も信頼性が高い部分集合は、情報ビットを搬送するK個のサブチャネル又はK+Fp個のサブチャネルを含んでよく、Kは情報ビットと関連付けられた情報ブロック長であり、Fpはパリティビットの数を示す。この例において、(例えば、K個又はK+Fp個の)サブチャネルの部分集合において最小行重みに等しい行重みを有する最も信頼性が高いサブチャネルは、パリティビットに配分されてよい。パリティビットはパリティ検査(PC)ビットを含んでよく、PCビットの値は情報ビットの値の関数であってよい。
Polar符号は、比較的信頼性が高いサブチャネルを情報ビットに用い、比較的信頼性に欠けるサブチャネルを0又は任意の他の既知数になり得る凍結ビットに用いる線形ブロック誤り訂正符号である。信頼性がそれほど欠けていない凍結ビットの一部でパリティ検査が機能できれば、最小符号化距離は増加し得る。パリティビットに用いられる凍結ビットは、データ情報が送信されるとビット値が動的に変わるので、動的凍結ビットと呼ばれる。
従来の用途では、復号器は、逐次除去(SC)方法を用いて、情報ブロック(情報ビット)を送信する最適なサブチャネルを識別する。性能を向上させるために、CRCを利用したSCリスト復号アルゴリズムが複数のSC復号パスを可能にするのに用いられ、CRCが最後の段階で正しいパスを選択するのに用いられる。この方法はCRCビットの検出能力を消費するので、その後、CRCビットをブラインド検出などの他の目的に用いることはできない。CRCを利用しないリスト復号器が、CRCビット以外の情報源に基づいてパリティ検査を行う何らかの方法を有することが好ましい。一部のPolar符号では、パリティビットが一部の凍結ビット(動的凍結集合)に置かれて、パリティ検査能力を提供する。しかしながら、Polar符号演算の性能は、動的凍結集合の選択及びそれに対するパリティ検査方法によって決まり、適切な凍結集合(ビット又はシンボル)を決定性方法で選択するのは、選択肢が多過ぎるので非常に難しい。
複数の実施形態において、動的凍結ビット集合を選択することは、最小符号化距離の関数又は分極重みなどの最低限信頼できる重みの関数である。他の信頼性指標も用いることができる。適切に選択された、好適且つ信頼性が高いブロック誤り率(BLER)性能を示す動的凍結ビットに基づいて、複数の実施形態がPolar符号を提供する。このPolar符号は、巡回冗長検査(CRC)なしのPolar符号であってもよい。様々な実施形態において、全ての凍結ビットが動的凍結ビットとして選択され、その全てに素数由来の検査機能が適用される。
図11は、Polar符号用の凍結ビット集合を選択する一実施形態に係る方法1100のフローチャートである。本符号化方法は、符号化器及び復号器の両方により実現され得る。本符号化方法は、段階1110で、複数の候補凍結集合(又は多数の候補凍結ビット集合)を事前選択する段階と、次に段階1150で、選択された凍結ビット集合を複数の候補ビット集合から選択する段階とを含む。
段階1110は、凍結ビットの事前選択されたサブチャネルを、これらの凍結ビットのサブチャネルに適用される信頼性指標に従って並べ替える段階を含む。一部の実施形態において、段階1110は、全てのサブチャネルを信頼性指標関数に従って並べ替える段階を含む。様々な実施形態において、分極重みアルゴリズムなどの決定性関数が用いられてよい。あるいは、決定性関数は分極距離関数であってもよい。凍結ビットのサブチャネルは、昇順方式で、すなわち低分極重みから高分極重みに並べ替えられてよい(又は逆の場合にも同様に並べ替えられる)。並べ替えられたチャネルは、2つのセグメントなどの複数のセグメントに分割される。次の段階において、上位のセグメント(又は言い換えれば、最も信頼性が高いサブチャネルを有するセグメント)の最小重みdminが選択されるか又は決定される(以下の例を参照)。1つの例において、サブチャネルの重みは、行重み、すなわちサブチャネルに対応するPolar符号生成行列若しくはクロネッカー行列の行に含まれる「1」の数、言い換えれば、指数部がサブチャネルインデックスの2進表現に含まれる「1」の数となる2の累乗であってよい。この例において、最小重みdminは最小行重みであってよい。最小重みdminの場合、最小重みdminを有するチャネルの数はnであってよい。所定値Fを定義する。一実施形態において、Fは、F=ceil(log2(N×K)/2)となり得る。他の実施形態において、Fは異なる値を持つことがある。さらに他の実施形態において、Fは、動的凍結ビット用のサブチャネル総数(例えば、3個)の集合又は部分集合(例えば、1個)を表し、dmin及び/又は2×dminに基づいて事前選択される。また、動的凍結ビット用のサブチャネルの総数の残りの部分集合(例えば、2個)が、別の指標、例えば、K個の最も信頼性が高いサブチャネルの中の最も信頼性が低いサブチャネルに基づいて事前選択される。n<Fの場合、重みdminを有する(F−n)/2個のチャネルを事前選択し、重み2×dminを有する(F+n)/2個のチャネルを事前選択する。n≧Fの場合、重みdminを有するF個のチャネルを事前選択する。事前選択したチャネルを逆順で順番に並べる。例えば、チャネルは降順方式で、すなわち、分極重み値の高い方から低い方に、又は信頼性の降順で順番に並べられる。言い換えれば、K個の最も信頼性が高いセグメントにおいて、重みdmin及び/又は2×dminを有する最も信頼性が高いサブチャネルが事前選択される。したがって、段階1110は、順序付きの事前選択された多数のサブチャネル(候補ビット集合)を提供し、これらのサブチャネルは、一部の実施形態において動的凍結ビットに用いられ得る。しかしながら一般に、動的凍結ビット用に事前選択されるサブチャネルの数は小さくても又は大きくてもよいことが理解される。
ある実施例において、N
0はマザー符号長であり、Nはレートマッチング後の符号長であり、Kは情報ブロック長である。一実施形態において、N
0は、N
0=2^ceil(log
2(N))と定義され得る。凍結ビットサブチャネルは、並べ替えられて2つのセグメントにセグメント化され得る。又は、言い換えれば、凍結ビットサブチャネルを含むビットサブチャネルの全てが、表3に示すように並べ替えられて2つのセグメントにセグメント化され得る。図を見て分かるように、サブチャネルは昇順方式で並べ替えられる。すなわち、K個のサブチャネルが最も信頼性が高く、(N
0−K)個のサブチャネルが最も信頼性が低い。
次の段階では、段階1150で、凍結ビットの集合(又は言い換えれば、凍結ビットのサブチャネル)が、事前選択された多数の候補ビット集合から、又はこれらの集合に基づいて選択される。凍結ビットの選択集合は、昇順の分極重み順に従ってビット単位で選択されてよい。凍結ビット又は凍結ビット用のサブチャネルの選択集合は、ビットの数がN0−Kになると完成し得る。一部の実施形態において、凍結ビット用に選択されたサブチャネルの集合は、事前選択されたサブチャネルの一部又は全てを含み、選択されたサブチャネルの一部又は全ては動的凍結ビットに用いられてよい。他の実施形態において、凍結ビット用に選択されたサブチャネルの集合は、事前選択されたサブチャネルから独立しており(すなわち、事前選択されたサブチャネルを含まない)、サブチャネルの選択集合はサブチャネルの数がN0−K−Fになると完成し得る。残りの(K個の)サブチャネルの全て(すなわち、凍結及び/又は動的凍結ビットに用いられていないサブチャネル)は、(K個の)情報ビット用のサブチャネルである。一部の実施形態において、選択された凍結サブチャネルの一部(例えば、事前選択された候補凍結ビット集合又は全ての凍結サブチャネル)は、動的凍結ビットに用いられてよい。
凍結ビットの選択集合を選択することは、素数pを決定することを含む。様々な実施形態において、一意の素数は、5、7、又は11であってよい。凍結ビット集合を最終的に選択するために、符号化器及び復号器は、符号化器及び復号器により実現されるp長巡回シフトレジスタを作動させてよい。各ビットを符号化/復号すると、巡回シフトレジスタは左シフトし得る。図12は、符号化器及び復号器のうちの少なくとも一方における、長さ5(p長)のそのような巡回シフトレジスタを示す。あるビットがレジスタ内の情報ビットである場合、このビットは破棄され(XOR)、このビットが凍結ビットであれば、このビットのビット値が用いられ選択される。様々な実施形態において、ビットは、レジスタで初期化されると0に設定される。一部の実施形態において、凍結ビット集合は、符号語によって変わり得る。
別の実施形態において、第3の段階がパリティ検査機能を構築し、動的凍結ビット並びに情報ビット及び(静的)凍結ビットのビット値を決定する。素数pが決定される。様々な実施形態において、一意の素数が5、7、又は11であってよい。パリティ検査機能を構築し、動的凍結ビット値を決定するために、p長巡回シフトレジスタが符号化器(及び復号器)により実現され得る。巡回シフトレジスタは、符号化の間に入力ビットベクトルのビット値を決定するか又はビット値を復号すると、左シフトし得る。図12は、符号化器及び復号器のうちの少なくとも一方における、長さ5(p長)のそのような巡回シフトレジスタを示す。上記2つの段階によって決定されるように、あるビットが情報ビットである場合、レジスタの1番目のビットは、現在の情報ビット値とのXORをとり、その後、巡回シフトされる。ビットが(静的)凍結ビットである場合、ビット値は、符号化器及び復号器の両方が認識している固定値(例えば、0)に設定され、その後、巡回シフトされる。ビットが動的凍結ビットである場合、レジスタの1番目のビットの値は現在の動的凍結ビットの値に割り当てられる。様々な実施形態において、ビットは、レジスタで初期化されると0に設定される。一部の実施形態において、凍結ビット集合は、符号語によって変わり得る。
方法1100は、複数の利点を提供し得る。例えば、符号化器はパリティ機能のオンライン計算を行わなくてもよい。符号化器は、パリティ機能を格納しなくてもよい。復号器は、パリティ機能を検索しなくてもよいので、容易に作動することができる。
図13A〜図13Dは、実施形態に従って選択された凍結ビットの選択集合に関するPolar符号の性能を示す。図13Aは、K=40個の情報ビットのQPSK変調に関する性能を示し、図13Bは、K=60個の情報ビットのQPSK変調に関する性能を示し、図13Cは、K=80個の情報ビットのQPSK変調に関する性能を示し、図13Dは、K=120個の情報ビットのQPSK変調に関する性能を示す。グラフを見て分かるように、本発明のPolar符号は、他の符号を表す他のグラフと比較して、より優れた性能と容易さを提供する。
図14A及び図14Bは、所与のブロック誤り率(BLER)における平均受信Es/N0ポイントを示す。図示したグラフに示すように、(実施形態に従って選択された)凍結ビットの選択集合を有するPolar符号は、他のPolar符号より優れた性能をもたらす。
図15は、無線デバイス、送信ポイント又は受信ポイント、例えば、ネットワークコンポーネント又はユーザ機器などのデバイス1500のブロック図である。デバイス1500は、CPU1502、大容量記憶装置1504、ネットワークインタフェース1506、符号化器/復号器1508、メモリ1510、ビデオアダプタ1512、及びI/Oインタフェース1514を含む。
デバイス1500は、図示したコンポーネントの全て、又はこれらのコンポーネントの一部だけを利用してよく、組み込みの程度は実施例に応じて変わり得る。さらに、デバイス1500は、あるコンポーネントの例を複数、例えば、複数のCPU1502などを含んでもよい。デバイス1500は、ネットワークインタフェース1506を用いてネットワーク1520に接続してもよく、ビデオアダプタ1512を用いてディスプレイ1516に接続してもよく、I/Oインタフェース1514を用いてスピーカ、マイク、マウス、タッチスクリーン、キーパッド、キーボード、及びプリンタなどの1つ又は複数の入力/出力デバイス1518に接続してもよい。
一部の実施形態において、CPU1502は、汎用コンピュータのハードウェアプラットフォームのコンポーネントになり得る任意のプロセッサであってもよい。他の実施形態において、CPU1502(プロセッサ)は、専用ハードウェアプラットフォームのコンポーネントであってもよい。例えば、CPU1502は組み込プロセッサであってよく、命令はファームウェアとして提供されてよい。一部の実施形態は、ハードウェアだけを用いて実現され得る。一部の実施形態において、プロセッサが実行する命令は、ソフトウェア製品の形態で具現化され得る。ソフトウェア製品は、不揮発性の又は非一時的なメモリ又は記憶媒体に格納されてよく、そのようなメモリ又は記憶媒体は、例えば、コンパクトディスクリードオンリメモリ(CD−ROM)、ユニバーサルシリアルバス(USB)フラッシュディスク、又は着脱可能なハードディスクであってよい。
符号化器/復号器1508は、符号化コンポーネント、復号コンポーネント、又はその両方を含んでよい。一部の実施形態において、符号化器/復号器1508は、本明細書で開示されたように、データを符号化するか又は選択演算、マッピング演算、及び/又は符号化演算を行うように構成される、プロセッサなどの回路により実現される。プロセッサによる符号化器/復号器1508の実施例において、符号化演算を行うプロセッサ実行可能命令が非一時的プロセッサ可読媒体に格納される。非一時的媒体は、例えばメモリ1510内に、1つ又は複数の半導体メモリデバイス及び/又は移動可能で場合によっては着脱可能な記憶媒体を有するメモリデバイスを含むことがある。
バスは、メモリバス若しくはメモリコントローラ、ペリフェラルバス、又はビデオバスなどを含む任意のタイプのいくつかのバスアーキテクチャのうちの1つ又は複数であってよい。CPU1502は、任意のタイプの電子データプロセッサを含んでよい。メモリ1510は、任意のタイプのシステムメモリ、例えば、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、同期式DRAM(SDRAM)、リードオンリメモリ(ROM)、又はこれらの組み合わせなどを含んでよい。一部の実施形態において、メモリ1510は、符号化器/復号器1508若しくはデバイスの他のコンポーネントのオペレーションを実施及び/若しくは制御する、並びに/又は本明細書で説明される機能及び/若しくは実施形態の実行を別の方法で制御するプロセッサが実行する命令を含む非一時的コンピュータ可読媒体である。一実施形態において、メモリ1510は、起動時に用いるROMと、プログラムの実行中に用いるプログラム及びデータを格納するDRAMとを含んでよい。
大容量記憶装置1504は、データ、プログラム、及び他の情報を格納し、そのデータ、プログラム、及び他の情報をバス経由でアクセス可能にするように構成された、任意のタイプの記憶装置を含んでよい。大容量記憶装置1504は、例えば、ソリッドステートドライブ、ハードディスクドライブ、磁気ディスクドライブ、又は光ディスクドライブなどのうちの1つ又は複数を含んでよい。
ビデオアダプタ1512及びI/Oインタフェース1514は、外部の入出力デバイスを処理ユニットに結合するインタフェースを提供する。図示するように、入出力デバイスの例には、ビデオアダプタ1512に結合されたディスプレイ1516と、I/Oインタフェース1514に結合されたマウス/キーボード/プリンタとが含まれる。他のデバイスが処理ユニットに結合されてもよく、追加又はより少ないインタフェースカードが利用されてもよい。例えば、ユニバーサルシリアルバス(USB)(不図示)などのシリアルインタフェースが、プリンタ用のインタフェースを提供するのに用いられてよい。
ネットワークインタフェース1506は、ノード又は異なるネットワークにアクセスするための、Ethernet(登録商標)ケーブルなどの有線リンク及び/又は無線リンクを含んでよい。ネットワークインタフェース1506は、デバイス及び/又は処理ユニットがネットワーク1520を介してリモートユニットと通信できるように構成されてよく、その通信には、例えば、符号化データ又は符号化ビットの送信及び/又は受信が含まれる。例えば、ネットワークインタフェース1506は、1つ又は複数の送信機/送信アンテナと1つ又は複数の受信機/受信アンテナとを介して、無線通信を提供し得る。一実施形態において、処理ユニットは、データを処理するために、ローカルエリアネットワーク又はワイドエリアネットワークに結合され、他の処理ユニット、インターネット、又はリモート記憶設備などのリモートデバイスと通信する。
図示していないが、ネットワークインタフェース1506は、送信チェーンの変調器、増幅器、アンテナ、及び/又は他のモジュール又はコンポーネントと、追加的に又は代替的に受信チェーンの復調器、増幅器、アンテナ、及び/又は他のモジュール又はコンポーネントとを含むことがある。代替例において、ネットワークインタフェース1506は、別個の(RF)送信モジュール及び/又は受信モジュールとインタフェースで接続するように構成されることがある。例えば、符号化器/復号器1508は、ハードウェア又は回路(例えば、1つ又は複数のチップセット、マイクロプロセッサ、ASIC、FPGA、専用論理回路、又はこれらの組み合わせ)により実現されてよく、その結果、別個の(RF)送信ユニットがネットワークインタフェース1506を介して送信するデータを符号化(及び/又は復号)するか、又は別個の(RF)受信ユニットがネットワークインタフェース1506を介して受信する信号を復号して、ここで説明される情報ビットを取得する。
上述したように、サブチャネルと関連付けられた行重みに基づいてパリティビットがマッピングされる場合、行重み値(例えば、wmin、2×wmin)をサブチャネルの行重みと比較して、どのサブチャネルをパリティビット用に予約するべきかを識別することが必要になり得る。本開示の実施形態は、行重み値(例えば、wmin、2×wmin)を複数のサブチャネルの行重みと同時に比較する。これにより、比較演算と関連した遅延が減少するので、符号化処理をより迅速に且つ効率的に行うことが可能になり得る。図16は、並列比較演算を用いて、PCビット用に予約されるサブチャネルを識別する技法についての図である。この例では、情報ビット1620、PCビット1630、及び凍結ビット1640が、サブチャネル1611〜1619にマッピングされ、これらのサブチャンネルはサブチャネル信頼性の昇順で並べ替えられている。情報ビット1620をサブチャネル1611〜1619のいずれかにマッピングする前に、少なくとも2つのサブチャネル1618及び1619の行重みが1つ又は複数の行重み値(例えば、wmin、2×wmin)と同時に比較され、この1つ又は複数の行重み値と一致する行重みを有する最も信頼性が高いサブチャネルがPCビット1630用に予約される。一部の実施形態において、第1の行重み値(例えば、wmin)と一致する行重みを有する特定の数(f1)のサブチャネルがPCビット用に予約され、第2の行重み値(例えば、2×wmin)と一致する行重みを有する特定の数(f2)のサブチャネルがPCビット用に予約される。複数の行重み値のうちの1つ又は複数、及びそれぞれの行重み値ごとに予約される特定の数のサブチャネルを規定するインデックスが、符号化率及び/又はブロック長パラメータに基づいて決定されてよい。
図17は、情報ビットの系列を符号化する一実施形態に係る方法1700を示す。段階1710で、符号化器は、PCビット用にサブチャネルを予約するために、少なくとも行重み値を決定する。少なくとも1つの行重み値は、チャネルの符号化率と、符号化される情報ビットの系列と関連付けられたブロック長とに基づいて決定されてよい。段階1720で、符号化器は、少なくとも1つの行重み値を2つ又はそれより多くのサブチャネルの行重みと同時に比較し、これらのサブチャネルのうちの1つ又は複数をPCビット用に予約すると決定する。一実施形態において、信頼性が低いサブチャネルより先に信頼性が高いサブチャネルが評価されるように、符号化器は、サブチャネルの順序付き系列に従って、信頼性の降順でサブチャネルを評価してよい。代替的に、情報ビット又はPCビットにマッピングされるサブチャネル(例えば、K+Fp個のサブチャネル)の部分集合に含まれる全てのサブチャネルが同時に評価される。
段階1730で、符号化器は、十分なサブチャネルがPCビット用に予約されているかどうかを判定する。例として、符号化器は、wminに等しい行重みを有する少なくともf1個のサブチャネルが予約されているかどうか、及び/又は2×wminに等しい行重みを有する少なくともf2個のサブチャネルが予約されているかどうかを判定し得る。予約されていない場合、方法1700は段階1720に戻り、符号化器は次の2つ又はそれより多くのサブチャネルを評価する。十分なサブチャネルがPCビット用に予約されていると符号化器が判定した場合、本方法は段階1740に進み、符号化器は情報ビットを最も信頼性が高い残りのサブチャネルにマッピングする。段階1750で、符号化器は凍結ビットを最も信頼性が低い残りのサブチャネルにマッピングする。一部の実施形態において、追加のPCビットが凍結ビット集合から選択されることがある。1つの実装例では、PCビット用のサブチャネルを予約するのに用いられる少なくとも1つの行重みに等しい行重みを有する全ての凍結サブチャネルが選択されてよく、別の実施例では、全ての凍結サブチャネルが選択されてもよい。段階1760で、符号化器は、予約されたサブチャネルのPCビット値を情報ビットのPC機能に基づいて設定する。段階1740、1750、及び1760は、任意の順序で実行されてもよい。また、PCビット用のサブチャネルの数は、多くの異なる方法で上述したように決定されてもよく、PCビット用に予約されたサブチャネルの数は固定されても、例えば、3個であってもよく、及び/又は予約されたサブチャネルの一部又は全てはdminに基づいてもよい。
図18は、ルックアップテーブルを用いてPolar符号化を行う方法1800のフローチャートを示す。この方法は符号化器により行われ得る。段階1810で、符号化器は、符号化率及び情報ブロック長に基づいてルックアップテーブルを検索し、符号パラメータを決定する。段階1820で、符号化器は、サブチャネルを情報ビット、パリティビット、及び凍結ビットにマッピングする。段階1830で、符号化器は、情報ビットのパリティ検査機能に基づいてパリティビット値を設定する。
図19は、最小ハミング重み値を決定する方法1900のフローチャートを示す。この方法は符号化器により行われ得る。段階1910で、符号化器はサブチャネルをそのチャネル信頼性に基づいて並べ替え、サブチャネルをその信頼性に基づいて昇順(Q0、Q1、…QN)に並べた順序付き系列(Q)を取得する。段階1920で、符号化器は、最も信頼性が高いサブチャネルの部分集合を識別する。Polar符号化の段階の後にパンクチャリングの段階が行われる例において、最も信頼性が高いサブチャネルの部分集合は、パンクチャリングされたサブチャネルを除外してよい。
最も信頼性が高いサブチャネルの集合におけるサブチャネルの数は、次の数式に従って決定されてよい。
min(length(UM),K+Fp))
ここで、UMは、パンクチャリング後に残るサブチャネルの集合であり、Kは情報ブロックの長さであり、
である。ここで、Mはマザー符号長であり、αは1より大きい値、例えば、α=1.5に設定される。一部の他の実施形態において、Fpは固定値、例えば3かもしれない。段階1930で、符号化器は、最も信頼性が高いサブチャネルの部分集合に含まれるサブチャネルの最小ハミング重み(umin)を決定する。
段階1940で、最も信頼性が高いサブチャネルの部分集合の中で、符号化器は、最小ハミング重み(umin)に等しいハミング重みを有する第1の数のサブチャネルをPCビット用に予約し、1足す最小ハミング重み(1+umin)に等しいハミング重みを有する第2の数のサブチャネルをPCビット用に予約する。符号化器は、例えば、サブチャネルの順序付き系列を逐次方式でスキャンすることを含め、複数の異なる方法でサブチャネルを予約し得る。他の実施例において、Fp個のサブチャネルのある部分集合だけがumin及び/又は1+uminに基づいて予約され、Fp個のサブチャネルの残りの部分集合が別の指標、例えば、K+Fp個の最も信頼性が高いサブチャネルの中の最も信頼性が低いサブチャネルに基づいて予約される。サブチャネルがPCビット用に予約されるか又は別の方法で配分されると、残りのサブチャネルが情報ビット及び凍結ビットに配分される。段階1950で、符号化器は、最も信頼性が高い残りのサブチャネルに情報ビットをマッピングし、最も信頼性が低い残りのサブチャネルに凍結ビットをマッピングする。一部の実施形態において、追加のPCビットが凍結ビット集合から選択されることがある。1つの実装例において、PCビット用に予約されたサブチャネルのハミング重みに等しいハミング重みを有する一部又は全ての凍結サブチャネルが選択され得る。他の実施形態において、全ての凍結サブチャネルがPCビットとして選択され得る。段階1960で、符号化器は、情報ビットのパリティ検査機能に基づいてパリティビット値を設定する。実施例に応じて、サブチャネルが配分される順序は変わり得る。同様に、配分されたサブチャネルにPCビット、情報ビット、又は凍結ビットがマッピングされる順序も変わり得ることが理解される。
一部の実施形態において、Polar符号化を実現するのにArikan符号化器が用いられてよい。図20は、一実施形態に係る符号化器2000の図である。符号化器は、符号コンストラクタ2010と、Arikan符号化器2020と、パンクチャラー2030とを含む。符号コンストラクタ2010は、サブチャネルタイプの集合を決定し得る。各サブチャネルは、情報ビット、PCビット、又は凍結ビットにマッピングされる(又は逆の場合にも同様にマッピングされる)。分極理論によれば、各サブチャネルの信頼性(又は相互チャネル容量)は互いに異なる。信頼性が高いサブチャネルは、情報ビットを送信するために選択される。これらのサブチャネルの位置の集合は、情報集合(I)と呼ばれる。レートマッチングによって生じた信頼性に欠けるサブチャネルを含む信頼性が低いサブチャネルは0に設定され、これらのサブチャネルの位置の集合は、凍結集合(F)と表記される。一部のサブチャネルはPCビットを送信するために選択され、これらのサブチャネルの位置の集合は、PC凍結集合(PF)と表記される。1つのPolarブロックのサブチャネル総数(N)は2の累乗の値になり得、マザー符号ブロック長(N=I+F+PF)と呼ばれることがある。符号コンストラクタ2010はまた、情報ビット値及びサブチャネルタイプに基づいて、サブチャネル値の集合を決定し得る。具体的には、情報ビットにマッピングされたサブチャネルは情報ビットの値に基づいて設定されてよく、PCビットにマッピングされたサブチャネルはパリティ検査機能に基づいて設定されてよく、凍結ビット用のサブチャネルは0に設定される。Arikan符号化器2020は、Nサイズのサブチャネルブロックにクロネッカー行列を乗算し、Nビットの符号語を取得し得る。Arikan符号化器2020は、この乗算を次の式に従って実行し得る。
右端の行列は、ArikanのPolar符号用のN×Nの生成行列である。パンクチャラー2030は、パンクチャリングビット集合(P)によってNビットの符号語をMサイズの符号長にパンクチャリング/ショートニングし得る。符号化率(R)と符号長(M)の組み合わせが与えられると、符号化器及び復号器は両方とも、同じ決定性プロトコルを用いて、この凍結集合(F)、PC凍結集合(PF)、及びショートニング/パンクチャリングビット集合(P)を計算し得る。
マザー符号長NのPolar符号が、長さN/2の2つのPolar符号の入れ子結合としてモデリングされ得る。したがって、長さN/2のPolar符号の順序付き系列が長さNのPolar符号の順序付き系列の部分集合になるように、ビット位置の順序付き系列(インデックス系列)を構築することが可能である。最大符号長Nmax(Nmaxは2の累乗)のPolar符号のそのような系列
は、入れ子方式のNmaxより小さい(2の累乗の)符号長と符号化率とのあらゆる組み合わせに適用される。次にレートマッチングが、低複雑度且つ比較的細かい粒度で行われ得る。代替的に、異なる長さの順序付き系列の生成は(例えば、符号化演算の前に)オフラインで生成されてよく、各順序付き系列に対応するパラメータがルックアップテーブルに格納され得る。
信号対雑音比(SNR)に依存しない信頼性推定が、各サブチャネルの信頼性を計算し且つ最大符号長NmaxのPolar符号の順序付きインデックス系列
を格納することによって行われ得る。サブチャネルの信頼性順位は、重み系列
によって推定されてよく、これは以下の通りに計算され得る。すなわち、iをBn−1Bn−2…B0と定義し、Bj∈{0,1}、j=[0,1,…,n−1]と仮定すると、
になり、ここでn=log2(N)である。
1つの例において、マザー符号長がNmax=16、n=log2(16)=4、及びi=3(iを0011と定義する)とすると、W3は次のように計算することができる。
W3=1×2(0×(1/4))+1×2(1×(1/4))+0×2(2×(1/4))+0*2(3×(1/4))=2.1892
全重みベクトル
は、[0 1 1.1892 2.1892 1.4142 2.4142 2.6034 3.6034 1.6818 2.6818 2.8710 3.8710 3.0960 4.0960 4.2852 5.2852]となり、値が大きくなるほど信頼性が高いことを示す。
が取得されると、サブチャネルは
となるように、分極重みで並べ替えることができる。その結果得られる、格納されるべき系列は
である。
は、符号化及び復号のレートマッチング演算ごとに計算する必要がないように、オンザフライで計算されるか又はメモリから直接ロードされるかのいずれかであってよいことに留意されたい。
パンクチャリングパターンが、降順の2進インデックス[N−1,N−2,…,1,0]をビット反転し、最も高いビット反転値を有するN−M個のインデックスをパンクチャリングされた位置として示すことにより、決定性方法で計算され得る。一例として、Nmax=16のマザー符号長を考えてみる。符号化器及び復号器の両方が系列
を格納する。符号長Mを取得するためにパンクチャリングされるべきビットが4個(4=N−M)あり、[12(1100),13(1101),14(1110),15(1111)](=[M,…N−3,N−2,N−1])の系列を、P=[3(0011),11(1011),7(0111),15(1111)](=[BitRev(M),…,BitRev(N−3),BitRev(N−2),BitRev(N−1)])としてビット反転することにより、長さ4のパンクチャリングパターンPを計算する。
PC凍結集合(PF)は、サブチャネルインデックス及びショートニング/パンクチャリングパターン(P)に関する分極信頼性、クロネッカーカーネルの行重み、及びハミング重みに応じて決定されてよい。最も信頼性が高いサブチャネルの部分集合の中の最小行重み(wmin)と各PC凍結集合のサイズ(f1、f2)とは、符号化率と情報ブロック長とに基づいて決定されてよい。
以下は、情報ビットの系列を符号化する一実施形態に係る5段階技法の一例である。
第1の段階において、符号化器は、
に従って候補PC凍結サブチャネルの数を計算し得る。事前にフラグ付けされたPC凍結ビットの総数は、N−Kより小さい又はそれに等しくてよい(N−Kに等しい場合、全ての凍結ビットはPC凍結ビットとして扱われる)。実際には、Fpは、(N−K)/2によって上限を設けられてよく、αは1より大きい値に設定され、例えば、α=1.5である。一部の他の実施形態において、FpはN、M、及びKの異なる関数を有してもよく、又は固定されてもよい。
第2の段階において、符号化器はパンクチャリング/ショートニングされたサブチャネルを左端に移動させ、次に、残りのサブチャネルを信頼性の昇順で2つの部分集合に分割し得る。これに関する一例が図21に示されている。
第3の段階において、符号化器は、サブチャネルの(K+Fp)部分集合の中で最小行重みを求めてwminと表記し、f1=(Fp+min(Fp,n))/2及びf2=(Fp−min(Fp,n))/2を計算し得る。(K+Fp)部分集合の中で重みwminを有するサブチャネルの数がf1より少ない場合、f1=nに設定し、f1の残数の半分をf2に加える、すなわち、f2=f2+(f1−n)/2である。
第4の段階において、符号化器は、K+Fp部分集合において候補PC凍結サブチャネルを選択し得る。そうする際に、符号化器は、候補PC凍結サブチャネルとして、wminの行重みを有するf1個のサブチャネルを右から左に選択し得、また2×wminの行重みを有するf2個のサブチャネルを右から左に選択し得る。一部の他の実施形態において、Fp個のサブチャネルの部分集合が行重みwminに基づいて決定され得、(K+Fp)部分集合の中の最も信頼性が低いサブチャネルなどの、Fp個のサブチャネルの残りの部分集合が少なくとも1つの他の指標に基づいて決定され得る。
第5の段階において、符号化器は、情報集合、PC凍結集合、及び凍結集合を決定し得る。そうする際に、符号化器は、K個のサブチャネルが選択されるまで、情報サブチャネルを右端から左端に選択し、候補PC凍結サブチャネルを飛ばしてよい。次に符号化器は、残りのサブチャネルを凍結サブチャネルとして選択し、候補PC凍結サブチャネルの行重み(すなわち、wmin及び2×wmin)に等しい行重みを有する凍結サブチャネル位置から追加のPC凍結サブチャネルとして選択し得る。一部の他の実施形態において、全ての凍結サブチャネルが、追加のPC凍結サブチャネルとして選択されることがある。あるPC凍結ビットが1番目の情報ビットの前にある場合、そのPC凍結ビットは凍結ビットに相当し得る。
符号化器は、レジスタでの巡回シフトに基づいて、パリティ検査機能を実行し得る。レジスタの長さは素数であってよい。符号化器は、p長巡回シフトレジスタ、y[0],…,y[p−1]をi=0〜N−1について0に初期化し得る。1番目のビットから自然数順に開始して、符号化器はi番目のビットaiを読み出し、レジスタをビット単位で巡回左シフトし得る。aiが情報ビットである場合、ビット値は変わらないままであり、符号化器はy[0]=(ai XOR y[0])に更新する。aiがPCビットである場合、符号化器はai=y[0]に設定する。aiが凍結ビットである場合、符号化器はai=0に設定する。
図22は、PC(パリティ検査)−SCL復号器により用いられる一実施形態に係る循環シフトレジスタ操作を示す。PC機能がPC行列Wで定義され得る。次の例は、符号ブロック長がM=16であり、情報ビット長がK=8であると想定する。このことから、次のようなサブチャネルの順序付き系列Qを取得することが可能である。
[u
0,u
1,u
2,u
4,u
8,u
3,u
5,u
6,u
9,u
10,u
12,u
7,u
11,u
13,u
14,u
15]上記に提供した数式(例えば
など)に基づいて、F
pは6、w
min及びnはそれぞれ2及び3と計算される。n<F
pなので、行重みw
min=2を有するf
1=3個のサブチャネルと、行重み2×d
min=4を有するf
2=3個のサブチャネルとがPC凍結ビットである。降順の信頼性順位により、これらのPC凍結ビットは[u
2,u
4,u
8,u
9,u
10,u
12]である。情報ビット及び追加の凍結ビットは、Qに従ってチャネル信頼性に基づきマッピングされる。情報ビット集合は、[u
3,u
5,u
6,u
7,u
11,u
13,u
14,u
15]であり、凍結ビット集合は[u
0,u
1,u
2,u
4,u
8,u
9,u
10,u
12]である。行重み2及び4の凍結ビットを選択することにより、PC凍結ビット集合は[u
1,u
2,u
4,u
8,u
9,u
10,u
12]である。最終的に、p=5の素数長巡回レジスタが、[u
1,u
2,u
4,u
8,u
9,u
10,u
12]のPC凍結ビットごとにパリティ機能を構築するのに用いられる。巡回レジスタは、一定間隔5でビットを接続する。特に、u
1、u
2、u
4、及びu
9が静的凍結ビットに相当する。追加的に、u
8、u
10、及びu
12が、(それぞれ)[u
3,u
8]、[u
5,u
10]、及び[u
7,u
12]のパリティ機能に基づいてPCビットにマッピングされ、u
3、u
5、及びu
7は情報ビットである。図23は、この例のパリティ検査行列を示す。図示するように、u
0、u
1、u
2、及びu
4を静的凍結ビットとして設定し、u
8=u
3、u
10=u
5、及びu
12=u
7のようなセルフパリティ検査機能に基づいてu
8、u
10、及びu
12をPCビットとして設定することにより、Wが取得される。表1は、本開示を通じて用いられる表記を載せている。
図24は、情報ビットの系列を符号化する一実施形態に係る方法2400を示し、これは符号化器により実行され得る。段階2410で、符号化器は、
(iは、サブチャネルのインデックス、Bjは、重要性が最も低い桁から数えたサブチャネルiの2進表現の(j+1)番目の桁のビット値{0又は1}である)に従って重み系列を計算し、Wiを昇順で並べ替え、順序付きインデックス系列Qiを保存する。段階2420で、符号化器はパンクチャリング/ショートニングパターンを、例えば、P=[BitRev(M),BitRev(M+1),…BitRev(N−1)]に従って計算する。他のパンクチャリング/ショートニングパターンもあり得るかもしれない。段階2430で、符号化器は、
でFpを計算し、サブチャネルを(重み又は信頼性の昇順で)3つの部分集合、N−M、M−K−Fp、K+Fpに分割する。K+Fp部分集合は、(パンクチャリング/ショートニングを考慮すると)最も信頼性が高いサブチャネルを含む。符号化器はまた、(K+Fp)部分集合内の最小行重みとしてwminを求め、同じwminを有する(K+Fp)部分集合内のサブチャネルの数としてnを求め、f1=(Fp+min(Fp,n))/2を計算し、f2=(Fp−min(Fp,n))/2を計算する。段階2440で、符号化器は、重みwminを有するf1個のサブチャネル及び重み2×wminを有するf2個のサブチャネルを選択することにより、K+Fp部分集合においてPCビット用の候補サブチャネルを予約又は別の方法で配分する。一部の実施形態において、Fpは固定値、例えば3であってよい。他の実施形態において、PCビット用のFp個のサブチャネルの部分集合だけが、行重みwmin及び/又は2×wminに基づいて選択され、PCビット用のFp個のサブチャネルの残りの部分集合が、少なくとも他の指標に基づいて、例えば、最も信頼性が高いK+Fp個のサブチャネルの中の最も信頼性が低いサブチャネルに基づいて選択される。候補PCサブチャネルが配分されると、符号化器はまた、K個の(最も信頼性が高い残りの)サブチャネルをK+Fp部分集合に配分し(すなわち、予約された候補PCサブチャネルを飛ばし)、情報ビットをそこにマッピングして情報集合Iを取得する。符号化器はまた、凍結ビットを残りのサブチャネル(例えば、N−M部分集合及び/又はM−K−Fp部分集合)にマッピングして、凍結集合(F)を取得する。他の実施形態において、符号化器は、PCビット用の追加のサブチャネルを凍結集合Fから予約又は配分する。凍結集合Fから選択された追加のサブチャネルは、wmin及び/又は2×wminに等しい行重みを有してよく、又は全ての凍結集合Fは、PCビット用の追加のサブチャネルとして扱われることがある。予約されたサブチャネルは、PCビットにマッピングされて、PC凍結集合PFを取得し得る。段階2450で、符号化器は、レジスタの巡回シフトを用いるパリティ検査機能に基づいてPCビットの値を設定する。レジスタは、素数に等しい長さを有してよい。実施例に応じて、サブチャネルが配分される順序は変わり得る。同様に、配分されたサブチャネルにPCビット、情報ビット、又は凍結ビットがマッピングされる順序も変わり得る。
図25は、本明細書で説明された符号化方法を実行する一実施形態に係る処理システム2500のブロック図を示し、この処理システムはホストデバイスに組み込まれ得る。図示するように、処理システム2500は、プロセッサ2504と、メモリ2506と、インタフェース2510〜2514とを含み、本処理システムは、図25に示すように構成されてよい(又はそうでなくてもよい)。プロセッサ2504は、計算及び/又は他の処理関連タスク(本明細書で説明された選択演算、マッピング演算、及び/又は他の符号化演算又は復号演算など)を行うように構成された任意のコンポーネント又はコンポーネントの集合であってよく、メモリ2506は、プロセッサ2504が実行するプログラミング及び/又は命令を格納するように構成された任意のコンポーネント又はコンポーネントの集合であってよい。一実施形態において、メモリ2506は非一時的コンピュータ可読媒体を含む。インタフェース2510、2512、2514は、処理システム2500が他のデバイス/コンポーネント及び/又はユーザと通信することを可能にするように、例えば、符号化データの送信又は符号化データに基づく信号の受信を可能にするように構成された任意のコンポーネント又はコンポーネントの集合であってよい。例えば、インタフェース2510、2512、2514のうちの1つ又は複数は、プロセッサ2504からのデータ、制御メッセージ又は管理メッセージを、ホストデバイス及び/又はリモートデバイスにインストールされたアプリケーションに伝達するように構成されてよい。別の例として、インタフェース2510、2512、2514のうちの1つ又は複数は、ユーザ又はユーザデバイス(例えば、パーソナルコンピュータ(PC)など)が処理システム2500とやり取りする/通信することを可能にするように構成されてよい。処理システム2500は、長期記憶装置(例えば、不揮発性メモリなど)などの、図25に示していない追加のコンポーネントを含んでよい。
一部の実施形態において、処理システム2500は、通信ネットワークにアクセスしているか、又はそうでなければ通信ネットワークの一部であるネットワークデバイスに含まれる。1つの例として、処理システム2500は、無線又は有線通信ネットワークのネットワーク側デバイス、例えば、基地局、中継局、スケジューラ、コントローラ、ゲートウェイ、ルータ、アプリケーションサーバ、又は通信ネットワーク内の任意の他のデバイスなどに含まれる。他の実施形態において、処理システム2500は、無線又は有線通信ネットワークにアクセスするユーザ側デバイス、例えば、移動局、ユーザ機器(UE)、無線デバイス、パーソナルコンピュータ(PC)、タブレット、ウェアラブル通信デバイス(例えば、スマートウォッチなど)、又は通信ネットワークにアクセスするように構成された任意の他のデバイスなどに含まれる。
一部の実施形態において、インタフェース2510、2512、2514のうちの1つ又は複数は、通信ネットワークを介してシグナリングを送受信するように構成された送受信機に処理システム2500を接続する。図26は、通信ネットワークを介してシグナリング又は符号化データを送受信するように構成された送受信機2600のブロック図を示す。送受信機2600は、ホストデバイスに組み込まれ得る。図示するように、送受信機2600は、ネットワーク側インタフェース2602と、カプラ2604と、送信機2606と、受信機2608と、信号プロセッサ2610と、デバイス側インタフェース2612とを含む。ネットワーク側インタフェース2602は、無線又は有線通信ネットワークを介してシグナリングを送信又は受信するように構成された任意のコンポーネント又はコンポーネントの集合を含んでよい。カプラ2604は、ネットワーク側インタフェース2602を介して双方向通信を容易にするように構成された任意のコンポーネント又はコンポーネントの集合を含んでよい。送信機2606は、ネットワーク側インタフェース2602を介して送信するのに好適な変調搬送波信号にベースバンド信号を変換するように構成された任意のコンポーネント又はコンポーネントの集合(例えば、アップコンバータ、電力増幅器など)を含んでよい。受信機2608は、ネットワーク側インタフェース2602を介して受信される搬送波信号をベースバンド信号に変換するように構成された任意のコンポーネント又はコンポーネントの集合(例えば、ダウンコンバータ、低雑音増幅器など)を含んでよい。信号プロセッサ2610は、デバイス側インタフェース2612を介して通信するのに好適なデータ信号にベースバンド信号を変換し、又は逆の場合にも同様に変換するように構成された任意のコンポーネント又はコンポーネントの集合を含んでよい。デバイス側インタフェース2612は、信号プロセッサ2610とホストデバイス内のコンポーネント(例えば、処理システム2500、ローカルエリアネットワーク(LAN)ポートなど)との間でデータ信号を伝達するように構成された任意のコンポーネント又はコンポーネントの集合を含んでよい。送受信機2600は、任意のタイプの通信媒体を介してシグナリングを送受信してよい。一部の実施形態において、送受信機2600は、無線媒体を介してシグナリングを送受信する。例えば、送受信機2600は、セルラープロトコル(例えば、ロングタームエボリューション(LTE)など)、無線ローカルエリアネットワーク(WLAN)プロトコル(例えば、Wi−Fiなど)、又は任意の他のタイプの無線プロトコル(例えば、Bluetooth(登録商標)、近距離無線通信(NFC)など)などの無線通信プロトコルに従って通信するように構成された無線送受信機であってよい。そのような実施形態において、ネットワーク側インタフェース2602は、1つ又は複数のアンテナ/放射素子を含む。例えば、ネットワーク側インタフェース2602は、単一のアンテナ、複数の別個のアンテナ、又はマルチレイヤ通信用に構成されたマルチアンテナアレイ(例えば、単一入力多出力(SIMO)、多入力単一出力(MISO)、多入力多出力(MIMO)など)を含んでよい。他の実施形態において、送受信機2600は、例えば、ツイストペアケーブル、同軸ケーブル、光ファイバなどの有線媒体を介してシグナリングを送受信する。特定の処理システム及び/又は送受信機が、図示されたコンポーネントの全てを利用してもよく、又はそれらのコンポーネントの一部だけを利用してもよく、組み込みの程度はデバイスによって変わり得る。
本出願は、2016年9月15日に出願された「Method and device for assigning dynamic frozen bits and constructing a Parity Function on them in a Polar code」と題する米国仮特許出願第62/395,312号と、2016年9月19日に出願された「Method and device for assigning dynamic frozen bits and constructing a Parity Function on them in a Polar code」と題する米国仮特許出願第62/396,618号と、2016年9月30日に出願された「Method and Device For Parallel Polar Code Encoding/Decoding」と題する米国仮特許出願第62/402,862号と、2016年12月9日に出願された「Method for Constructing a Parity Check (Pc) Based Polar Code Using a Look−Up−Table」と題する米国仮特許出願第62/432,448号と、2016年12月9日に出願された「Method and system to parallelize parity check (PC)−Polar−Construction」と題する米国仮特許出願第62/434,416号と、2016年12月13日に出願された「Method for Constructing a parity check (PC) based Polar Code using a Look−up−Table」と題する米国仮特許出願第62/433,127号と、2017年9月8日に出願された「Method and Apparatus for Encoding Data Using a Polar Code」と題する米国特許出願第15/699,967号とに基づく優先権を主張し、これらの特許出願は全てその全体を再現するかのように参照により本明細書に組み込まれる。
本発明は、概してデータ送信の方法及び装置に関し、詳細には符号化するための方法及び装置に関する。
Polar符号は、チャネル分極を利用して総送信容量を向上させる線形ブロック誤り訂正符号である。具体的には、Polar符号は、より信頼性が高いサブチャネル(例えば、雑音がより少ないサブチャネル)で情報ビットを送信すると共に、より信頼性が低いサブチャネル(例えば、雑音がより多いサブチャネル)で固定(又は凍結)ビットを送信するように設計されている。Polar符号化が、「Channel Polarization and Polar codes」と題する学術論文でより詳細に説明されており、この論文はその全体を再現するかのように参照により本明細書に組み込まれる。
複数の技術的利点が、概して、分極符号化の方法及び装置を説明する本開示の実施形態によって実現される。
一実施形態によれば、データをPolar符号で符号化する方法が提供される。この実施形態において、本方法は、Polar符号化情報ビットと、少なくとも1つのパリティビットとを含み、デバイスの符号化器で符号化データを取得する。少なくとも1つのパリティビットは、重みパラメータに基づいて少なくとも1つのパリティビット用に選択された少なくとも1つのサブチャネルに配置される。本方法はさらに、符号化データを別のデバイスに送信する段階を含む。1つの例において、重みパラメータは最小重みを含む。そのような一例において、少なくとも1つのパリティビットは、最小重みを有する第1の数のサブチャネル又は2倍の最小重みを有する第2の数のサブチャネルのうちの少なくとも一方に配置されてよい。この同じ例又は別の例において、本方法はさらに、順序付きサブチャネルのセグメントから、最小重みを有する少なくとも1つのサブチャネルを選択する段階を含んでよい。最小重みを有する少なくとも1つのサブチャネルは、順序付きサブチャネルのうちK個のサブチャネルのセグメントから選択されてよく、K個のサブチャネルのそれぞれは、順序付きサブチャネルのうち[N0−K]セグメントのサブチャネルより高い信頼性指標を有し、Kは情報ブロック長であり、N0はマザー符号長である。この同じ例又は別の例において、順序付きサブチャネルのセグメントから、最小重みを有する少なくとも1つのサブチャネルを選択する段階は、K個のサブチャネルのセグメントにおいて最小重みを有するサブチャネルの数nが所定値Fより大きい場合に、信頼性指標の降順において最小重みを有するF個のサブチャネルをK個のサブチャネルのセグメントから選択する段階を含む。この例又は別の例において、符号化器はパリティ検査機能を適用して、少なくとも1つのパリティビットのそれぞれの値を決定し得る。そのような一例において、パリティ検査機能は素数パリティ検査機能であってよい。前述の例のいずれか又は別の例において、本方法はさらに、順序付きサブチャネルが信頼性指標に基づいて順番に並べられていることを含む。前述の例のいずれか又は別の例において、重みパラメータは最小行重みを含み得る。本方法はさらに、サブチャネルの順序付き系列のうちK個の最も信頼性が高いサブチャネルの部分集合において、最小行重みを有する少なくとも1つのサブチャネルを選択する段階を備えてよく、サブチャネルの行重みとは、クロネッカー行列の行に含まれる1の数であり、行はサブチャネルに対応する。そのような一例において、K個の最も信頼性が高いサブチャネルの部分集合において最小行重みを有する少なくとも1つのサブチャネルを選択する段階は、K個の最も信頼性が高いサブチャネルの中で最小行重みを有するサブチャネルの数が所定数Fpより大きい場合に、K個の最も信頼性が高いサブチャネルの部分集合において最小行重みを有するFp個のサブチャネルを選択する段階を含んでもよい。この同じ例又は別の例において、最小行重みを有する少なくとも1つのサブチャネルは、降順の信頼性順位に従って、K個の最も信頼性が高いサブチャネルの部分集合から選択されてもよい。この同じ例又は別の例において、本方法はさらに、サブチャネルの順序付き系列における情報ビット用のサブチャネルを、情報ビット用に選択されるサブチャネルの数がKに達するまで、少なくとも1つのパリティビット用に選択された少なくとも1つのサブチャネルを飛ばしながら選択する段階を含んでよい。本方法を実行する装置も提供される。
さらに別の実施形態によれば、データをPolar符号で符号化するように構成されたデバイスが提供される。この実施形態において、本デバイスは、情報ビット及び少なくとも1つのパリティビットをPolar符号化して符号化データを取得するように構成された符号化器を含む。少なくとも1つのパリティビットは、符号化データを別のデバイスに送信するように構成されたインタフェース及び重みパラメータに基づいて、少なくとも1つのパリティビット用に選択された少なくとも1つのサブチャネルに配置される。上述された符号化の実施形態のいずれかに関する1つの例において、重みパラメータは最小重みを含む。そのような一例において、少なくとも1つのパリティビットは、最小重みを有する第1の数のサブチャネル又は2倍の最小重みを有する第2の数のサブチャネルのうちの少なくとも一方に配置されてよい。この同じ例又は別の例において、符号化器はさらに、順序付きサブチャネルのセグメントから、最小重みを有する少なくとも1つのサブチャネルを選択するように構成されてもよい。この同じ例又は別の例において、最小重みを有する少なくとも1つのサブチャネルは、順序付きサブチャネルのうちK個のサブチャネルのセグメントから選択されてもよく、K個のサブチャネルのそれぞれは、順序付きサブチャネルのうちN0−Kセグメントのサブチャネルより高い信頼性指標を有し、Kは情報ブロック長であり、N0はマザー符号長である。この同じ例又は別の例において、本デバイス/符号化器は、順序付きサブチャネルのセグメントから最小重みを有する少なくとも1つのサブチャネルを選択し、K個のサブチャネルのセグメントにおいて最小重みを有するサブチャネルの数が所定値Fより大きい場合、信頼性指標の降順において最小重みを有するF個のサブチャネルをK個のサブチャネルのセグメントから選択してもよい。この例又は別の例において、符号化器はさらに、パリティ検査機能を適用して、少なくとも1つのパリティビットのそれぞれの値を決定するように構成されてもよい。そのような一例において、パリティ検査機能は素数パリティ検査機能であってよい。前述の例のいずれか又は別の例において、本デバイスの順序付きサブチャネルは、信頼性指標に基づいて順番に並べられ得る。前述の例のいずれか又は別の例において、重みパラメータは最小行重みを含んでよく、符号化器はさらに、サブチャネルの順序付き系列のうちK個の最も信頼性が高いサブチャネルの部分集合において、最小行重みを有する少なくとも1つのサブチャネルを選択するように構成されてよい。サブチャネルの行重みとは、クロネッカー行列の行に含まれる1の数である。行はサブチャネルに対応し得る。そのような一例において、本デバイスは、K個の最も信頼性が高いサブチャネルの部分集合において、最小行重みを有する少なくとも1つのサブチャネルを選択してよい。符号化器はさらに、K個の最も信頼性が高いサブチャネルの中で最小行重みを有するサブチャネルの数nが所定数Fpより大きい場合、K個の最も信頼性が高いサブチャネルの部分集合において最小行重みを有するFp個のサブチャネルを選択するように構成されてもよい。この同じ例又は別の例において、最小行重みを有する少なくとも1つのサブチャネルが、降順の信頼性順位に従って、K個の最も信頼性が高いサブチャネルの部分集合から選択されてもよい。この同じ例又は別の例において、符号化器はさらに、サブチャネルの順序付き系列における情報ビット用のサブチャネルを、情報ビット用に選択されるサブチャネルの数がKに達するまで、少なくとも1つのパリティビット用に選択された少なくとも1つのサブチャネルを飛ばしながら選択するように構成されてもよい。
さらに別の実施形態によれば、データを符号化する別の方法が提供される。この実施形態において、本方法は、複数のサブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて、1つ又は複数のサブチャネルを1つ又は複数のパリティビットに配分する段階と、1つ又は複数のパリティビットに配分された1つ又は複数のサブチャネルに情報ビットをマッピングすることなく、サブチャネルの集合の残りのサブチャネルに、これら残りのサブチャネルの信頼性に基づいて情報ビットをマッピングする段階とを含む。本方法はさらに、Polar符号を用いて情報ビット及び1つ又は複数のパリティビットを符号化して符号化ビットストリームを取得する段階と、符号化ビットストリームを送信する段階とを含んでもよい。上記符号化の実施形態のいずれかに関する1つの例において、サブチャネルの行重みは、クロネッカー行列の行に含まれる1の数を表しており、行はサブチャネルに対応する。この例又は別の例において、行重みは少なくとも最小行重みを含んでよい。そのような一例において、本方法は、サブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて、1つ又は複数のサブチャネルを1つ又は複数のパリティビットに配分する段階と、サブチャネルの部分集合における最小行重みに等しい行重みを有する複数のサブチャネルを1つ又は複数のパリティビットに配分する段階とを含んでよい。この同じ例又は別の例において、配分されたサブチャネルの数は1つであってもよく、集合内のサブチャネルはその信頼性に基づいて順番に並べられ、サブチャネルの順序付き系列を形成してよい。サブチャネルの部分集合は、順序付き系列において最も信頼性が高いサブチャネルの部分集合を含む。この同じ例又は別の例において、最も信頼性が高いサブチャネルの部分集合は、情報ビットを搬送するK個のサブチャネルを含んでよい。この同じ例又は別の例において、最も信頼性が高いサブチャネルの部分集合は、K+Fp個のサブチャネルを含んでよく、Kは情報ビットと関連付けられた情報ブロック長であり、Fpは1つ又は複数のパリティビットの数を示す。この同じ例又は別の例において、サブチャネルの部分集合において最小行重みに等しい行重みを有する最も信頼性が高いサブチャネルが、1つ又は複数のパリティビットに配分されてよい。前述の例のいずれか又は別の例において、1つ又は複数のパリティビットは、1つ又は複数のパリティ検査(PC)ビットを含んでよい。そのような一例において、Polar符号を用いて情報ビット及び1つ又は複数のPCビットを符号化して符号化ビットストリームを取得する段階は、情報ビットの値に応じて1つ又は複数のPCビットの1つ又は複数の値を決定し、これらのPCビットに配分された少なくとも1つ又は複数のサブチャネルに1つ又は複数のPCビットをマッピングする段階を含んでよい。
さらに別の実施形態によれば、Polar符号でデータを符号化するデバイスが提供される。この実施形態において、本デバイスは、複数のサブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて、1つ又は複数のサブチャネルを1つ又は複数のパリティビットに配分し、1つ又は複数のパリティビットに配分された1つ又は複数のサブチャネルに情報ビットをマッピングすることなく、サブチャネルの集合の残りのサブチャネルに、これら残りのサブチャネルの信頼性に基づいて情報ビットをマッピングするように構成される。本デバイスはさらに、Polar符号を用いて情報ビット及び1つ又は複数のパリティビットを符号化して符号化ビットストリームを取得し、符号化ビットストリームを送信するように構成される。上記符号化の実施形態のいずれかに関する1つの例において、サブチャネルの行重みは、クロネッカー行列の行に含まれる1の数を表しており、行はサブチャネルに対応する。この例又は別の例において、行重みは少なくとも最小行重みを含む。そのような一例又は別の例において、本デバイスは、サブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて、1つ又は複数のサブチャネルを1つ又は複数のパリティビットに配分してよい。本デバイスはさらに、サブチャネルの部分集合における最小行重みに等しい行重みを有する複数のサブチャネルを1つ又は複数のパリティビットに配分するように構成されてもよい。前述の例のいずれか又は別の例において、配分されたサブチャネルの数は1つであってもよく、集合内のサブチャネルはその信頼性に基づいて順番に並べられ、サブチャネルの順序付き系列を形成してよい。サブチャネルの部分集合は、順序付き系列において最も信頼性が高いサブチャネルの部分集合を含む。前述の例のいずれか又は別の例において、最も信頼性が高いサブチャネルの部分集合は、情報ビットを搬送するK個のサブチャネルを含んでよく、最も信頼性が高いサブチャネルの部分集合は、K+Fp個のサブチャネルを含み、Kは情報ビットと関連付けられた情報ブロック長であり、Fpは1つ又は複数のパリティビットの数を示す。同じ例又は別の例において、サブチャネルの部分集合において最小行重みに等しい行重みを有する最も信頼性が高いサブチャネルが、1つ又は複数のパリティビットに配分される。この同じ例又は別の例において、1つ又は複数のパリティビットは1つ又は複数のパリティ検査(PC)ビットを含む。
さらに別の実施形態によれば、デバイス用の復号方法が提供される。この実施形態において、本方法は、符号化データに基づいて信号を別のデバイスから受信する段階を含み、符号化データは、情報ビット及び少なくとも1つのパリティビットをPolar符号で符号化することにより生成される。この実施形態において、少なくとも1つのパリティビットは、重みパラメータに基づいて選択された少なくとも1つのサブチャネルに配置される。本方法は、デバイスの復号器を使い、Polar符号及び少なくとも1つのパリティビットを用いて信号を復号して情報ビットを取得する段階も含む。
1つの例において、重みパラメータは最小重みを含む。そのような一例において、少なくとも1つのパリティビットは、最小重みを有する第1の数のサブチャネル又は2倍の最小重みを有する第2の数のサブチャネルのうちの少なくとも一方に配置されてよい。この同じ例又は別の例において、選択された少なくとも1つのサブチャネルは最小重みを有し、少なくとも1つのサブチャネルは、順序付きサブチャネルのセグメントから選択される。最小重みを有する少なくとも1つのサブチャネルは、順序付きサブチャネルのうちK個のサブチャネルのセグメントから選択されてよく、K個のサブチャネルのそれぞれは、順序付きサブチャネルのうち[N0−K]セグメントのサブチャネルより高い信頼性指標を有し、Kは情報ブロック長であり、N0はマザー符号長である。この例又は別の例において、少なくとも1つのパリティビットのそれぞれの値は、パリティ検査機能に基づいている。そのような一例において、パリティ検査機能は素数パリティ検査機能であってよい。前述の例のいずれか又は別の例において、順序付きサブチャネルは信頼性指標に基づいて順番に並べられている。前述の例のいずれか又は別の例において、重みパラメータは最小行重みを含んでよく、選択された少なくとも1つのサブチャネルは、サブチャネルの順序付き系列のうちK個の最も信頼性が高いサブチャネルの部分集合において最小行重みを有し、サブチャネルの行重みとは、クロネッカー行列の行に含まれる1の数であり、行はサブチャネルに対応する。この同じ例又は別の例において、最小行重みを有する少なくとも1つのサブチャネルは、降順の信頼性順位に従って、K個の最も信頼性が高いサブチャネルの部分集合から選択される。この同じ例又は別の例において、情報ビット用のサブチャネルが、情報ビット用に選択されるサブチャネルの数がKに達するまで、少なくとも1つのパリティビット用に選択された少なくとも1つのサブチャネルを飛ばすことにより、サブチャネルの順序付き系列において選択される。この方法を実行する装置も提供される。
さらに別の実施形態によれば、デバイス用の復号方法が提供される。この実施形態において、本方法は、符号化ビットストリームに基づいて信号を別のデバイスから受信する段階を含み、符号化ビットストリームは、情報ビット及び1つ又は複数のパリティビットをPolar符号で符号化することにより生成される。1つ又は複数のパリティビットは、サブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて配分された1つ又は複数のサブチャネルにマッピングされ、情報ビットは、サブチャネルの集合の残りのサブチャネルに、これら残りのサブチャネルの信頼性に基づいてマッピングされる。本方法は、Polar符号及び1つ又は複数のパリティビットを用いて信号を復号して、情報ビットを取得する段階も含む。
上記復号の実施形態のいずれかに関する1つの例において、サブチャネルの行重みは、クロネッカー行列の行に含まれる1の数を表しており、行はサブチャネルに対応する。この例又は別の例において、行重みは少なくとも最小行重みを含んでよい。そのような一例において、1つ又は複数のサブチャネルは、サブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて、1つ又は複数のパリティビットに配分される。別の例において、サブチャネルの部分集合において最小行重みに等しい行重みを有する複数のサブチャネルが、1つ又は複数のパリティビットに配分される。この同じ例又は別の例において、配分されたサブチャネルの数は1つであってもよく、集合内のサブチャネルはその信頼性に基づいて順番に並べられ、サブチャネルの順序付き系列を形成してよい。サブチャネルの部分集合は、順序付き系列において最も信頼性が高いサブチャネルの部分集合を含む。この同じ例又は別の例において、最も信頼性が高いサブチャネルの部分集合は、情報ビットを搬送するK個のサブチャネルを含んでよい。この同じ例又は別の例において、最も信頼性が高いサブチャネルの部分集合は、K+Fp個のサブチャネルを含んでよく、Kは情報ビットと関連付けられた情報ブロック長であり、Fpは1つ又は複数のパリティビットの数を示す。この同じ例又は別の例において、サブチャネルの部分集合において最小行重みに等しい行重みを有する最も信頼性が高いサブチャネルが、1つ又は複数のパリティビットに配分されてよい。前述の例のいずれか又は別の例において、1つ又は複数のパリティビットは、1つ又は複数のパリティ検査(PC)ビットを含んでよい。そのような一例又は別の例において、1つ又は複数のPCビットの1つ又は複数の値は、情報ビットの値の関数である。
本開示及びその利点のより十分な理解のために、ここで、添付図面と併用される以下の説明を参照する。その添付図面は以下の通りである。
Polar符号化生成行列がカーネルからどのように生成され得るかについての1つの例を示す図である。
符号語を生成するPolar符号化生成行列の使用例を示す図であり、また例示的なPolar符号化器の概略図である。
幅が最大の所定リストサイズで制限され、SCL(逐次除去リスト)方式のPolar復号器に用いられる、例示的なデシジョンリストツリーの一部を示す図である。
2×2カーネルに基づくPolar符号化器の一例を示すブロック図である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのように行重みが計算されて用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのように行重みが計算されて用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのように行重みが計算されて用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのように行重みが計算されて用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのように行重みが計算されて用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのように行重みが計算されて用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのように行重みが計算されて用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのようにハミング重みが用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのようにハミング重みが用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのようにハミング重みが用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのようにハミング重みが用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのようにハミング重みが用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのようにハミング重みが用いられるかを説明する表である。
パリティ検査(PC)ビット用に予約する候補サブチャネルを選択するために、どのようにハミング重みが用いられるかを説明する表である。
情報ビットの系列を符号化する一実施形態に係る方法のフローチャートである。
情報ビットの系列を符号化する一実施形態に係る方法のフローチャートである。
情報ビットの系列を符号化する一実施形態に係る方法のフローチャートである。
通信システムのブロック図である。
Polar符号化の間に凍結ビットを選択する一実施形態に係る方法のフローチャートである。
Polar符号化器/復号器において実現されるレジスタのブロック図である。
異なるPolar符号で実現されたブロック誤り率(BLER)のグラフである。
異なるPolar符号で実現されたブロック誤り率(BLER)のグラフである。
異なるPolar符号で実現されたブロック誤り率(BLER)のグラフである。
異なるPolar符号で実現されたブロック誤り率(BLER)のグラフである。
異なるPolar符号を用いてデータストリームを符号化した場合に実現される推定雑音レベルのグラフである。
異なるPolar符号を用いてデータストリームを符号化した場合に実現される推定雑音レベルのグラフである。
一実施形態に係る無線デバイスのブロック図である。
並列比較演算を用いて、PCビット用に予約されるサブチャネルを識別する一実施形態に係る技法の図である。
情報ビットの系列を符号化する一実施形態に係る方法のフローチャートである。
情報ビットの系列を符号化する別の実施形態に係る方法のフローチャートである。
情報ビットの系列を符号化する別の実施形態に係る方法のフローチャートである。
別の実施形態に係る符号化器の図である。
サブチャネルの順序付き系列の図である。
パリティ検査復号器により用いられる一実施形態に係る循環シフトレジスタ操作の図である。
パリティ検査機能の図である。
情報ビットの系列を符号化する一実施形態に係る方法のフローチャートである。
一実施形態に係る処理システムのブロック図である。
一実施形態に係る送受信機のブロック図である。
実施形態の作成及び使用は以下で詳細に論じられる。しかしながら、本開示は多種多様な特定の文脈で具現化され得る多くの適用可能な発明概念を提供することが理解されるはずである。論じられる具体的な実施形態は、本発明を実現し利用する具体的な方法を単に例示しているだけであり、本発明の範囲を限定するものではない。
パリティビットが、Polar符号化の間に情報ビットのストリングに加えられて、復号を補助し且つ受信機での誤り検出又は訂正を容易にし得る。「パリティ検査(PC)ビット」、「パリティビット」、及び動的凍結ビットという用語が、本開示を通して同じ意味で用いられる。本開示の大部分はパリティビットという文脈の中で発明の実施形態を論じるが、パリティビットは特定のタイプの補助ビットであること、また本明細書で開示される原理は、巡回冗長検査(CRC)ビット、チェックサムビット、ハッシュ関数ビット、暗号符号、反復符号、又は誤り検出ビット若しくは符号のような他の誤り訂正ビット又は符号などの、他のタイプの補助ビットを用いても適用され得ることを理解されたい。一部の実施形態において、パリティビットは、パリティ検査(PC)凍結ビット(又は略して「PFビット」)と呼ばれる。
Polar符号化の間に(P個の)パリティビットを挿入する場合に発生する1つの問題点は、パリティビットを送信するサブチャネルを(N個のサブチャネルの中で)どのように選択するかである。パリティビットをPolar符号化の間に処理する1つの選択肢は、符号化される(K個の)情報ビット(情報ビットには他の補助ビットも含まれてよい)を最も信頼性が高いサブチャネルにマッピングしてから、情報ビットを最も信頼性が高いサブチャネルにマッピングした後に利用可能な2番目に最も信頼性が高いサブチャネルにパリティビットをマッピングすることである。別の選択肢は、パリティビットを最も信頼性が高いサブチャネルにマッピングしてから、パリティビットを最も信頼性が高いサブチャネルにマッピングした後に利用可能な2番目に最も信頼性が高いサブチャネルに情報ビットをマッピングすることである。
シミュレーションによって、これらの2つの選択肢は概して、パリティビットをサブチャネルにその行重みに基づいてマッピングする実施形態に係る技法より低レベルの性能をもたらすことが示されている。サブチャネルの行重みは、クロネッカー行列の対応する行に含まれる「1」の数とみなされても、又は指数部(すなわちハミング重み)が(以下でさらに説明される)サブチャネルインデックスの2進表現に含まれる「1」の数となる2の累乗とみなされてもよい。1つの実施形態において、ある行重み値(例えば、最小行重みであるwmin、又は最小行重みの2倍である2×wmin)を有する候補サブチャネルがパリティビット用に確保されて用いられる。パリティビット用に予約される候補サブチャネルは、必ずしも最も信頼性が高いサブチャネルではなく、このことは、以下に提供される行重みの計算についての説明に基づいて理解することができる。候補サブチャネルが識別された後に、K個の情報ビットはK個の最も信頼性が高い残りのサブチャネルにマッピングされ、複数の凍結ビット(例えば、N−K)が最も信頼性が低い残りのサブチャネルにマッピングされる。パリティビットが候補サブチャネルにマッピングされ、パリティビット値が情報ビットの機能に基づいて決定される。
サブチャネルの行重みを決定する方法は多数ある。1つの実施形態において、行重みは、サブチャネルと関連付けられたチャネルインデックスのハミング重みの関数として計算され得る。ハミング重みは、チャネルインデックスを表す2進系列におけるゼロでない要素の数である。1つの例において、順序付き系列(Q)がサブチャネルをその信頼性に基づいて昇順に載せる(Q0、Q1、…QN)(QNが、最も信頼性が高いサブチャネルである)ように、サブチャネル(N)は、そのチャネル信頼性に基づいて、順序付き系列(Q)に並べ替えられる。最小行重み値は、本開示を通じて同じ意味でwmin又はdminと表記されるものであり、最も信頼性が高いチャネルの部分集合、例えば、K個の情報ビットに用いられる最も信頼性が高いK部分集合(例えば、Q(N−K+1)…QN)又はK個の情報ビット及びP個のパリティビットに用いられる最も信頼性が高い(K+P)部分集合(例えば、Q(N−K−P)…QN)などの行重みに基づいて識別され得る。この最も信頼性が高い部分集合の最小行重み値は、パリティビット用にサブチャネルを予約するのに用いられ得る。
一部の実施形態において、wminパラメータを動的に計算するプロセスによって符号化演算に遅延が加えられる場合、ルックアップテーブル(LUT)がwminパラメータを識別するのに利用され得る。
具体的には、LUTベースの技法は、Polar符号化の間に用いられ得る情報ブロック長(K)及びマザー符号長(M)の可能性がある組み合わせに応じて、考えられるw
minパラメータを計算することにより、ルックアップテーブルをオフラインで生成する。ルックアップテーブルは、オンラインのPolar符号化の間にw
minパラメータを決定するのに用いられる。表1は、符号パラメータを決定するのに用いることができるルックアップテーブルの一例を提供する。ここには、w
minパラメータと、パリティビット用に予約されることになる候補サブチャネルの数を決定するのに用いられるインデックス(f
1、f
2)とが含まれる(詳細は下記)。
オンラインのPolar符号化の間にwminパラメータを識別するのに必要な時間は、ルックアップテーブルのサイズに強く影響を受け、表が大きくなると、必要な検索時間は通常長くなる。その結果、符号化器の遅延要件は、ルックアップテーブルで利用可能な符号化の組み合わせの粒度に制約を加え得るので、符号化性能に影響を与えることになる。
本開示の他の実施形態が、最小ハミング重み(umin)パラメータに基づいてパリティビット用にサブチャネルを予約又は配分する低遅延技法を提供する。これにより、行重みの計算が回避される。上述したように、行重みはハミング重みの関数として計算され得る。1つの例では、rw=2hwという数式に基づく。ここで、rwは所与のサブチャネルの行重みであり、hwは所与のサブチャネルのチャネルインデックスの2進表現に関するハミング重みである。本明細書では、ハミング重みを表すのに「hw」及び「u」というシンボルが同じ意味で用いられる。このことから、最小ハミング重みと関連付けられたサブチャネルが最小行重みも有することが明らかである。したがって、最も信頼性が高いチャネルの部分集合のサブチャネル(例えば、Q(N−(K+Fp))、…QN)と関連付けられたハミング重みに基づいて、最小ハミング重み(umin)を識別し、次に最小ハミング重みを用いてパリティビット用にサブチャネルを予約することが可能である。
後述するように、最小行重み値の2倍(2×wmin)が、wminと併用して、パリティビット用にサブチャネルを予約するのに用いられることがある。例えば、wminに等しい行重みを有する第1の数(例えば、f1)の最も信頼性が高いサブチャネルがパリティビット用に予約されてよく、2×wminに等しい行重みを有する第2の数(例えば、f2)の最も信頼性が高いサブチャネルがパリティビット用に予約されてよい。rw=2hwという数式から、2×wminのパラメータが1足す最小ハミング重みに対応することが明らかである。したがって、本開示の実施形態は、最小ハミング重みに等しいハミング重みを有する第1の数の最も信頼性が高いサブチャネルをパリティビット用に、また1足す最小ハミング重みに等しいハミング重みを有する第2の数の最も信頼性が高いサブチャネルをパリティビット用に予約し得る。
Polar符号化の簡潔な説明が以下に提供され、この後に以下でより詳細に説明される本開示のこれら及び他の発明の態様の理解を補助する。図1は、Polar符号化生成行列がカーネルG2100からどのように生成され得るかを、説明例として示す図である。図1は一例であることに留意されたい。他の形式のカーネルもあり得る。生成行列がカーネル(又はカーネルの組み合わせ)から形成される「入れ子(nested)」方式で、分極が生じる。
図1に示す2乗したクロネッカー積行列102
及び3乗したクロネッカー積行列104
はPolar符号化生成行列の例である。図1に示す生成行列手法は、m乗したクロネッカー積行列
を生成するように拡大可能である。
Polar符号が、行列G2100に基づいてクロネッカー積行列から形成され得る。長さN=2mの符号語を有するPolar符号の場合、生成行列は
である。図2は、符号語を生成するPolar符号化生成行列の使用例を示す図であり、また例示的なPolar符号化器の概略図である。図2において、生成行列104
は、長さ23=8の符号語を生成するのに用いられる。符号語xが、200で示すように、入力ベクトルu=[0 0 0 u3 0 u5 u6 u7]と生成行列104
との積により形成される。入力ベクトルuは、情報ビット及び固定又は凍結ビットから構成される。図2に示す具体的な例ではN=8であるため、入力ベクトルuは8ビットのベクトルであり、符号語xは8ビットのベクトルである。入力ベクトルは、0、1、2、及び4の位置に凍結ビットを有し、3、5、6、及び7の位置に情報ビットを有する。符号語を生成する符号化器の実施例の一例が212で示されている。凍結ビットは全て0に設定され、丸で囲んだ「+」のシンボルはモジュロ2加算を表す。図2の例では、N=8ビットの入力ベクトルが、K=4個の情報ビットと、N−K=4個の凍結ビットとから形成される。この形式の符号はPolar符号と呼ばれ、符号化器はPolar符号化器と呼ばれる。Polar符号を復号する復号器はPolar復号器と呼ばれる。図2に示す例では、凍結ビットが0に設定されている。しかしながら、凍結ビットは、符号化器及び復号器が両方とも認識している他の固定ビット値に設定されることがある。説明しやすいように、全て0の凍結ビットが、本明細書において検討され、それが概して好ましいであろう。
図3は、幅が最大の所定リストサイズで制限され、SCL方式のPolar復号器に用いられる、例示的なデシジョンリストツリーの一部を示す図である。図3において、リストサイズLは4である。デシジョンツリーの5つのレベル302、304、306、308、310が示されている。5つのレベルが示されているが、Nビットを復号するデシジョンツリーはN+1個のレベルを有することが理解されるはずである。根のレベル302の後の各レベルで、最大4個の残存復号パスのそれぞれが1つのビットで拡張される。根ノード320の葉ノード又は子ノードは1番目のビットの可能な選択肢を表し、次の葉ノードは次のビットの可能な選択肢を表す。根ノード320から葉ノード330aまでの復号パスは、例えば、0、1、0、0という推定符号語ビット系列を表す。レベル308では、可能なパスの数はLより大きいので、最も高い可能性(最適なパス指標又はPM)を有するL個のパスが識別されて、残りのパスは棄却される。レベル306でのパス分類及び剪定の後に残存する復号パスが、図3に太字で示されている。同様に、レベル310では、ここでも可能なパスの数はLより大きいので、最も高い可能性(最適なPM)を有するL個のパスが識別されて、残りのパスはここでも棄却される。示されている例において、葉ノード330a、330b、330c、及び330dで終了するパスは最も高い可能性のパスを表す。葉ノード340a、340b、340c、及び340dで終了するパスは可能性がより低いパスであり、これらのパスは棄却される。
SCL復号はさらに、CRCを利用したリスト復号及び純粋リスト復号に分割され得る。後者では、最も高い可能性を有する残存パスが選択される。SC復号は純粋リスト復号の特殊ケースであり、リストサイズL=1である。CRC検査が最終パス選択においてより優れた誤り訂正性能を提供し得るが、SCL復号では任意選択である。入力ベクトルに含まれるパリティビット又は「PC」ビットに基づくパリティ検査などの他のオペレーションが、復号の間の最終パス選択においてCRCの代わりに及び/又はCRCと一緒に用いられることがある。
SCL復号は、限られた符号サイズのPolar符号の性能を向上させ得る。しかしながら、同様の符号長及び符号化率の低密度パリティ検査(LDPC)符号及びターボ符号と比較すると、SCL復号のブロック誤り率(BLER)は、よく設計されたLDPC符号及びターボ符号より悪いかもしれない。CRCを利用したSCL(CA−SCL)復号は、限られた符号長を有するPolar符号のBLER性能を向上させ得る。例えば、リストサイズL=32のCA−SCL復号器が、同様の計算複雑性を有するLDPC符号及びターボ符号よりはるかに優れた性能を提供することがある。
SCタイプの復号器では、Polar符号は実際には1つのチャネルをN個のサブチャネルに分割する。Nはマザー符号長と呼ばれ、ArikanのPolar符号では常に2の累乗であり、これは2×2の行列であるPolarカーネルに基づいている。Polar符号の符号構築のポイントは、本明細書ではサブチャネルとも呼ばれるビットチャネルのどれが情報ビットに選択又は配分されるか、且つどのサブチャネルが凍結ビットに配分されるかを決定することである。一部の実施形態において、1つ又は複数のサブチャネルが、PC、CRC、及び/又は復号の補助に用いられる他のタイプのビット(本明細書では補助ビットと呼ばれる)にも配分される。分極理論では、凍結ビットに配分されるサブチャネルは凍結サブチャネルと呼ばれ、情報ビットに配分されるサブチャネルは情報サブチャネルと呼ばれ、追加の補助サブチャネルが、復号の補助に用いられる補助ビットに配分され得る。一部の実施形態において、補助ビットは情報ビットの形態であるとみなされており、補助ビットにはより信頼性が高いサブチャネルが選択又は配分される。
2×2のArikanカーネルG2のクロネッカー積に基づくPolar符号化器が上述されている。図4は、2×2のカーネルに基づくPolar符号化器の一例を示すブロック図である。サブチャネル及び符号化ビットが図4に表示されており、上述したように、チャネルがPolar符号によってN個のサブチャネルに分割されている。情報ブロック及び凍結ビットがN個のサブチャネルに配分され、結果として得られたNサイズのベクトルがPolar符号化器によってN×Nのクロネッカー行列と乗算され、N個の符号化ビットを含む符号語を生成する。情報ブロックは、少なくとも情報ビットを含み、CRCビット又はパリティビットなどの補助ビットも含むことがある。サブチャネルセレクタがPolar符号化器に結合されて、少なくとも情報ビット及びあらゆる補助ビット用のサブチャネルを選択することがあり、残りのサブチャネルはどれも凍結サブチャネルである。
2×2のカーネル及びN×Nのクロネッカー行列に基づくPolar符号の場合、Nは2の累乗である。このタイプのカーネル及びこのようなカーネルに基づくPolar符号が、説明例として本明細書で論じられる。素数カーネル(例えば、3×3又は5×5)、又はより高次のカーネルを生成する(素数又は非素数)カーネルの組み合わせなどの、他の形式の分極カーネルが符号サブチャネルの間に分極をもたらすことがある。パンクチャリング、ショートニング、ゼロパディング、及び/又はレピティションなどの符号化ビット処理が、2×2のカーネル又は他のタイプのカーネルに基づくPolar符号と併用して、例えば、レートマッチング又は他の目的に用いられることがあることにも留意されたい。
SC、SCL、又はCA−SCL復号の結果として、分極現象がサブチャネルに現れる。サブチャネルには、高容量のサブチャネルもあれば、低容量のサブチャネルもある。言い換えれば、サブチャネルには、同様に、信号対雑音比(SNR)が高いサブチャネルもあれば、SNRが低いサブチャネルもある。これらの指標は、サブチャネル「信頼性」を定量化する又は分類するのに用いられることがある特性の例である。サブチャネル信頼性を示す他の指標も用いられることがある。
符号構築には、符号化率(情報ビットの数K、又は情報ビットを搬送するサブチャネルがいくつあるか)を決定すること、及び情報ビットを搬送するN個の利用可能なサブチャネルの中で特定のK個のサブチャネルを選択することが必要になる。本明細書では参照しやすいように、情報ビットは、符号化される入力ビット、場合によってはCRCビット、パリティビット、及び/又は復号の補助に用いられる他の補助ビットを含むことがある。サブチャネル選択は、サブチャネルの信頼性に基づいており、通常、最も信頼性が高いサブチャネルは、情報ビットを搬送する情報サブチャネルとして選択される。
サブチャネル信頼性は、例えば、1つ又は複数の順序付き系列に指定されることがある。入れ子になった、SNRに依存しない、サブチャネルの単一の順序付き系列が、符号長Nmaxのために計算され、より短い符号長Nの順序付き系列がより長いNmax系列から選択されることがある。代わりに、異なるマザー符号長Niに関して複数の順序付き系列が計算されることがあり、複数のマザー符号長系列のうちの1つが、好ましい符号長に基づいて特定の符号用に選択されることがある。別の可能な選択肢は、SNR値に関して複数の順序付き系列を計算し、例えば、測定されたSNRに基づいて順序付き系列を選択することを含む。
サブチャネル信頼性を計算する方法もいくつかある。例えば、R.Pedarsaniによる「Polar Codes:Construction and Performance Analysis」(2011年6月、EPFLマスタープロジェクト)で提案されたジーニー支援(genie−aided)方法によれば、符号化器が、復号器が認識しているトレーニング系列を異なるサブチャネルにおいて符号化する。復号器は、符号化器がサブチャネルごとに信頼性統計を計算できるように、復号結果を符号化器にフィードバックし、サブチャネルによく適合した信頼性ベクトルが取得される。
「Evaluation and Optimization of Gaussian Approximation for Polar Codes」(2016年5月)と題する非特許文献公開で提案されたガウス近似(GA)法は、全ての符号化ビットが同一の誤り確率の影響を受けることを想定している。その誤り確率から、サブチャネルの信頼性が密度発展(DE)アルゴリズムを用いて取得される。符号化ビットに関するこの誤り確率は受信SNRに関連しているので、この方法はSNRに関連しており、計算が複雑である。
順序付き系列をカーネル及びその生成行列から生成する方法はいくつかある。必ずしも全ての方法が入れ子系列をもたらすわけではないかもしれず、また、この入れ子系列は必ずしも一意ではないかもしれない。入れ子になった順序付き系列が、例えば、2016年7月29日出願の中国特許出願第CN201610619696.5号に開示されているように、分極重みに基づいて、又は2016年12月23日出願の米国特許出願第62/438565号に開示されているように、ハミング重みに基づいて生成されることがある。これら両方の出願は参照により本明細書に完全に組み込まれる。他の技法も又は他の技法が代わりに用いられることがある。
補助サブチャネルを選択するのにハミング重みを第2の指標としてどのように用いることができるかという一例が、2016年12月12日出願の米国仮特許出願第62/433127号により詳細に論じられており、当該出願は参照により本明細書に組み込まれる。ハミング重みは、第2の指標として用いられることがある指標の一例に過ぎないことに留意されたい。他の例には、ハミング重みの関数が含まれる(例えば、2016年12月9日に出願され且つ参照により本明細書に組み込まれる米国仮特許出願第62/432448号に開示されている行重み)。概して、任意の他の指標も、第2の指標として用いることができる(分極)信頼性を示す。さらなる代替例において、第2の指標は第1の指標と異なるが、第2の指標も分極信頼性に関するか又は分極信頼性を示す。しかしながら、さらに別の代替例において、自然順序のサブチャネルを第2の指標として用いることができるので、例えば、(例えば、自然数の昇順で)情報サブチャネルの最後にあるサブチャネルが補助サブチャネルとして選択される。
一部の実施形態において、2つより多くの指標が補助サブチャネルを選択するのに用いられることがある。さらに、上述の指標を使用する様々な補助サブチャネル選択アルゴリズムのいずれかが用いられることがある。他の可能性が補助サブチャネルを選択するために存在する。
上述したように、受信機での誤り訂正又は検出を容易にして復号を補助するために、CRC又はパリティビットなどの補助ビットが入力ビットストリームに含まれてよい。Polar符号化の間に補助ビットを挿入する場合に発生する1つの問題点は、補助ビットを送信するサブチャネルをどのように選択するかである。具体的には、Polar符号化器は概して、最も信頼性が高いサブチャネルに情報ビットをマッピングするか、又は別の方法で最も信頼性が高いサブチャネルを介して情報ビットを送信すると共に、より信頼性が低いサブチャネルに凍結ビットをマッピングするか、又は別の方法でより信頼性が低いサブチャネルを介して凍結ビットを送信する。補助ビットが符号化ビットストリームにも導入された場合、問題となるのは、最も信頼性が高いチャネルをパリティビットに用いるべきか又は情報ビットに用いるべきかである。
パリティビットをPolar符号化の間に処理する1つの選択肢は、情報ビットを最も信頼性が高いサブチャネルに(例えば、順序付き系列に基づいて)マッピングしてから、情報ビットを最も信頼性が高いサブチャネルにマッピングした後に利用可能な2番目に最も信頼性が高いサブチャネルにパリティビットをマッピングすることである。このように、情報ビットは、パリティビットより信頼性が高いチャネルで送信される。別の選択肢は、パリティビットを最も信頼性が高いサブチャネルにマッピングしてから、パリティビットを最も信頼性が高いサブチャネルにマッピングした後に利用可能な2番目に最も信頼性が高いサブチャネルに情報ビットをマッピングすることである。このように、パリティビットは、情報ビットより信頼性が高いチャネルで送信される。
最も信頼性が高いチャネルにパリティビット及び情報ビットが入り混じる混成手法によって、より高いレベルの符号化性能が実際に実現され得ることが、シミュレーションで示されている。情報ビット用のサブチャネルの選択は(例えば、順序付き系列によって示されるように)サブチャネル分極信頼性に基づくことがあるが、パリティビット用のサブチャネルの選択は、分極信頼性指標を超えた、例えば、これらのパリティサブチャネルの位置が情報サブチャネルの間によりランダムに又はより効率的に分配されることを可能にする指標に基づくことがある。
一部の実施形態において、2つの異なる指標がパリティ又はPCサブチャネル選択に用いられる。例えば、第1の指標が分極信頼性指標(例えば、順序付き系列)になり得、第2の指標がサブチャネルのハミング重み(又は行重みなどのハミング重みの関数)などの重みになり得る。1つの実施形態において、所望の数のパリティビットを搬送するのに必要な全てのサブチャネルが、1つより多くの指標、例えば、分極信頼性指標及びハミング重み/行重みに基づいて選択される。また他の実施形態において、パリティビット用のサブチャネルの部分集合が、1つより多くの指標、例えば、分極信頼性指標及びハミング重み/行重みに基づいて選択され、残りの部分集合が単一の指標、例えば、分極信頼性指標に基づいて選択される。
ハミング重みは、1つにはリード・マラー符号(RM)で用いられるという理由で、また1つにはその扱いやすさの理由で好ましいことがある。RM符号は、分極信頼性ではなくハミング重みに基づいているという点で、Polar符号の特殊例とみなされ得る。またRM符号は、最尤(ML)復号アルゴリズムを用いる(ハミング重みベースのRM符号は、符号長が短い場合、ML性能限界に近づく)が、SC又はSCL復号を用いて復号され得る。
サブチャネルのハミング重みは、生成行列の行のハミング重みであると本明細書では定義されている。Polar符号では、サブチャネルのハミング重みは、その生成行列におけるこのサブチャネルの行重みに関連している(行重み=2^(ハミング重み))。一部の実施形態において、行重みは、サブチャネルの情報が分配されている符号化ビットの数を示す。一般に、サブチャネルに入力される情報ビットが符号化ビットに分配されればされるほど、サブチャネルはロバストになり、したがって、信頼性が高くなる。
ハミング重み、又は行重みなどのハミング重みの関数が第2の指標としてパリティビット用にサブチャネルを選択するのにどのように用いられ得るかに関する一例が、2016年12月12日に出願された「Method for constructing a Parity Check (PC) Based Polar Code Using a Look−up−Table」と題する米国仮特許出願第62/433,127号に説明され、より詳細に論じられており、当該出願はその全体を再現するかのように参照により本明細書に組み込まれる。これらは、第2の指標として用いられることがある指標の例に過ぎないことに留意されたい。概して、任意の他の指標も、第2の指標として用いることができる(分極)信頼性を示す。さらなる代替例において、第2の指標は第1の指標と異なるが、第2の指標も分極信頼性に関するか又は分極信頼性を示す。しかしながら、さらに別の代替例において、自然順序のサブチャネルを第2の指標として用いることができるので、例えば、情報サブチャネルの最後にあるサブチャネルが補助サブチャネルとして選択される。 一部の実施形態において、2つより多くの指標が補助サブチャネルを選択するのに用いられることがある。さらに、上述の指標を使用する様々な補助サブチャネル選択アルゴリズムのいずれかが用いられることがある。他の可能性が補助サブチャネルを選択するために存在する。
米国仮特許出願第62/433,127号で説明される実施形態に係る技法によって、情報ビットをサブチャネルにマッピングする前に、パリティビット用に候補サブチャネルが予約及び/又は選択される。候補サブチャネルが予約された後に、最も信頼性が高い残りのサブチャネルに情報ビットがマッピングされ、最も信頼性が低い残りのサブチャネルに複数の凍結ビットがマッピングされる。その後、予約されたサブチャネルのパリティビット値が情報ビットの関数に基づいて決定される。特に、パリティビット用に予約される候補サブチャネルは、必ずしも最も信頼性が高いサブチャネルではないが、概して、情報ビットが送信されるサブチャネルのうちの少なくとも1つと同じ程度に信頼性が高いか、又はそれより信頼性が高い少なくともいくつかのサブチャネルを含む。このように、情報ビット及びパリティビットが、復号確率を向上させる形で最も信頼性が高いチャネルに入り混じっている。
上述したように、いくつかのサブチャネルは、Polar符号化の間にPCビット用に予約されても又は確保されてもよい。図5A〜図5Gは、4つの情報ビットの系列が16のマザー符号長に符号化される場合に、符号化処理がどのように行われ得るかに関する一例を示す。図5Aは、16のマザー符号長に対応するサブチャネルu0、u1、u2、u3、u4、u5、u6、u7、u8、u9、u10、u11、u12、u13、u14、u15を載せた表を示している。この表の2行目は、サブチャネルごとのチャネル分極信頼性を載せている。サブチャネルは、チャネル信頼性に基づいて並べ替えてもよい。図5Bは、サブチャネルu0、u1、u2、u4、u8、u3、u5、u6、u9、u10、u12、u7、u11、u13、u14、u15という順序付き系列(Q)を載せた表を示している。チャネルごとの行重みがチャネルインデックスの関数として計算され得る。1つの例において、行重みは次の数式、すなわちrw=2hwに基づいて計算される。rwは所与のサブチャネルの行重みであり、hwはチャネルインデックスの2進表現に関するハミング重みである。図5Cは、サブチャネルの順序付き系列における各サブチャネルの2進表現、ハミング重み、及び行重みを載せた表を示している。
次に、サブチャネルの部分集合が、パラメータwmin、2×wmin、f1、及びf2の集合を決定するために識別され、これらのパラメータはPCビット用にサブチャネルを予約するのに用いられることになる。情報ビット及びパリティビットを搬送するサブチャネルの部分集合はK+Fpに等しく、Kは情報ブロック長(例えば、符号化する情報ビットの数)であり、Fpはチャネルを介して送信するパリティビットの数に対応するパラメータである。一実施形態において、Fpは次の関数に従って計算される。
ここで、Nはマザー符号長であり、Mは(例えば、パンクチャリングの後に)送信される符号語内の(符号化)ビットの数であり、K/Mは実現される符号化率であり、αは情報ビットに対するパリティビットの比を変えるのに用いられる重み係数である。しかしながら、異なるFpの関数、例えば、比較的少数のパリティビットに適しているように思われるFp=log2((M−K)/32)が用いられてもよい。あるいは、例えば(パリティビット以外の)異なるタイプの補助ビット及び/又は(PC機能以外の)異なるタイプの検査機能が用いられる場合、この関数は異なるかもしれない。一般に、PCビットの数Fpは概して、K、N,(及び、M<Nであり且つショートニング又はパンクチャリングが用いられる場合にはM)の任意の関数であってよい。さらに別の実施形態において、Fpは、K、N、(及び/又はM)と無関係の固定値、例えば3であるかもしれない。さらに別の実施形態において、Fpは、(最小行重みwminを有する)候補サブチャネルにマッピングされるパリティビット総数(例えば、3個)の所望の集合又は部分集合(例えば、1個)を表すかもしれない。残りのパリティビット(例えば、2個)は、異なる指標に従って他のサブチャネル(例えば、K(又はK+Fp)個の最も信頼性が高いサブチャネル内の最も信頼性が低いサブチャネル)にマッピングされる。他の可能性もFpために存在する。
PCビット及び上記Fpの関数を用いる実施形態において、パラメータαは1と2の間の値に設定される。他の実施形態において、パラメータαは1と1.5の間の値に設定される。αの値が大きくなると、概して大きい最小符号距離がもたらされる。この例において、Fpは2に等しい。したがって、情報ビット及びパリティビットを搬送するサブチャネルの部分集合は、6個の最も信頼性が高いサブチャネル(すなわち、K+Fp=4+2=6)を含み、これらは、サブチャネルu12、u7、u11、u13、u14、及びu15である。次に、1つ又は複数の行重み値が決定される。このように、K+Fp部分集合における最小行重みwminは4である。この例において、行重み値は、サブチャネルu12、u7、u11、u13、u14、及びu15の部分集合に最小行重み(wmin)と最小行重みの2倍(2×wmin)とを含み、これらはそれぞれ4と8である。第1のインデックス(f1)と第2のインデックス(f2)も決定される。第1のインデックス(f1)は、wminに等しい行重みを有するサブチャネルがPCビット用にいくつ予約されるかを決定し、第2のインデックス(f2)は、2×wminに等しい行重みを有するサブチャネルがPCビット用にいくつ予約されるかを決定する。この例において、f1及びf2はそれぞれ、1と1に等しい。
その後、これらのサブチャネルは、パラメータwmin、2×wmin、f1、及びf2に基づいて、PCビット用に予約される。この例において、行重みwmin(すなわち4に等しい)を有する最も信頼性が高いサブチャネルと、2×wminに等しい(すなわち8に等しい)行重みを有する最も信頼性が高いサブチャネルとが選択され、その選択にはサブチャネルu12及びu14が含まれる。図5Dは、PCビット用に予約されたサブチャネルを示す表を示している。その後、情報ビットは、残りの最も信頼性が高いチャネルにマッピングされる。図5Eは、サブチャネルu15、u13、u11、及びu7が4つの情報ビットにどのようにマッピングされるかを示す表を示している。この例では、K=4及びN=16である。他の例では、異なる数の情報ビットがサブチャネルにマッピングされてよい。その後、残りのサブチャネルは凍結ビットにマッピングされる。図5Fは、サブチャネルu10、u9、u6、u5、u3、u8、u4、u2、u1、及びu0がどのように凍結ビットにマッピングされるかを示す表を示している。
一部の実施形態において、符号化器は、凍結ビット集合がマッピングされた後に、PCビットを搬送するために凍結ビット集合内の一部のサブチャネルを選択する。図5Gは、凍結サブチャネルがPCビットを搬送するためにどのように選択され得るかを示す表を示している。図示するように、wmin又は2×wminに等しい行重みを有する凍結集合のサブチャネルが、PCビットを搬送するために選択される。この例では、サブチャネルu10、u9、u6、u5、及びu3が、追加のPCビットとしてマッピングされる。一部の他の実施形態において、全ての凍結サブチャネルが追加のPCビットとして選択されることがある。
wmin、2×wmin、f1、及びf2に基づいて、Fp個のPCビット用にFp個のサブチャネルを予約又は選択する代わりに、符号化器は、これらのパラメータの異なる集合又は部分集合を用いて、サブチャネルを予約してもよい。1つの実施形態において、Fp個のサブチャネルが、wmin(だけ)に基づいて、N個のサブチャネル又は(パンクチャリング又はショートニングが用いられる場合には)N個のサブチャネルより少ないM個のサブチャネルの最も信頼性が高い(K+Fp)部分集合に予約される。例えば、wminの値(詳細は下記)に等しい行重みを有するFp個のサブチャネルが予約される。一部の実施例において、wminに等しい行重みを有する(K+Fp)部分集合により多くのサブチャネルがある場合、最も信頼性が高いFp個のサブチャネルが予約される。一部の実施例において、最も信頼性が高いK+Fp個のサブチャネル内に2×wminに等しい行重みを有するサブチャネルがf2より多く存在するという場合にも、同じ選択が適用される。他の実施例において、wmin(又は2×wmin)に等しい行重みを有する(K+Fp)部分集合における最も信頼性が低いFp個のサブチャネルが予約される。さらに他の実施例において、PCビットの数は、wminに等しい行重みを有するサブチャネルの全てがPCビット用に予約されるように増加してもよい。さらに他の実施例において、Fpは、wmin及び/又は2×wminに基づいて予約されるPCビット用のサブチャネル総数(例えば、3個)の集合又は部分集合(例えば、1個)を表し、PCビット用のサブチャネル総数の残りの部分集合(例えば、2個)が別の指標、例えば、K(又はK+Fp)個の最も信頼性が高いサブチャネルの中の最も信頼性が低いサブチャネルに基づいて予約される。他の実施例もあり得る。
一部の実施形態において、(K+Fp)部分集合にFp個のサブチャネルを予約することに加えて、符号化器は、追加のPCビットを搬送するために、凍結ビット集合(N−K−Fp)においていくつかのサブチャネルを選択してよい。他の実施形態において、wminに等しい行重みを有する(K+Fp)部分集合のFp個のサブチャネルに加えて、凍結ビット集合の全てのサブチャネルがPCビットを搬送するために選択される。
一部の実施形態において、サブチャネルと関連付けられた行重みに基づいてPCビットがマッピングされた場合、行重みの計算によって符号化処理に遅延が付加されることがある。本開示の他の実施形態では、サブチャネルをそのハミング重みに基づいて予約することにより、このような遅延を軽減し、これにより、行重みを計算する追加段階を回避する。図6A〜図6Gは、Polar符号化処理の間にPCビット用にサブチャネルを予約するのにハミング重みがどのように用いられ得るかに関する一例を示す。この例では、4つの情報ビットの系列が16のマザー符号長に符号化される。図6Aは、16のマザー符号長に対応するサブチャネルu0、u1、u2、u3、u4、u5、u6、u7、u8、u9、u10、u11、u12、u13、u14、u15を載せた表を示している。この表の2行目は、サブチャネルごとのチャネル分極信頼性を載せている。サブチャネルは、チャネル信頼性に基づいて並べ替えてもよい。図6Bは、サブチャネルu0、u1、u2、u4、u8、u3、u5、u6、u9、u10、u12、u7、u11、u13、u14、u15の順序付き系列(Q)を載せた表を示している。各チャネルインデックスのハミング重みがサブチャネルごとに決定され得る。図6Cは、サブチャネルの順序付き系列における各サブチャネルのハミング重みを載せた表を示している。
次に、サブチャネルの部分集合が、最小ハミング重み(umin)並びにf1及びf2というパラメータを決定するために識別され、これらのパラメータはPCビット用にサブチャネルを予約するのに用いられることになる。情報ビット及びパリティビットを搬送するサブチャネルの部分集合はK+Fpに等しく、Kは情報ブロック長であり、Fpは次の関数に従って計算されるパラメータである。
ここで、Nはマザー符号長であり、Mは(例えば、パンクチャリングの後に)送信される符号語内の符号化ビットの数であり、K/Mは実現される符号化率であり、αは情報ビットに対するパリティビットの比を変えるのに用いられる重み係数である。しかしながら、実施例に応じて、異なるFpの関数、例えば、比較的少数のPCビットに適しているように思われるFp=log2((M−K)/32)が用いられてもよい。あるいは、例えば(PCビット以外の)異なるタイプの補助ビット及び/又は(PC機能以外の)異なるタイプの検査機能が用いられる場合、異なる関数が用いられてもよい。一般に、PCビットの数Fpは概して、K、Nの任意の関数であってよいが、(M<Nであり且つショートニング又はパンクチャリングが用いられる場合には)Mの任意の関数であってもよい。別の実施形態において、Fpは、K、N、(及び/又はM)と無関係の固定値、例えば3であるかもしれない、又は、Fpは、最小行重みwminを有する候補サブチャネルにマッピングされるパリティビット総数(例えば、3個)の所望の集合又は部分集合(例えば、1個)を表すかもしれない。残りのパリティビット(例えば、2個)は、異なる指標に従って他のサブチャネル(例えば、K(又はK+Fp)個のサブチャネル内の最も信頼性が低いサブチャネル)にマッピングされる。図6A〜図6Gの例では、Fpは2に等しく、最も信頼性が高いサブチャネルの部分集合は6個の最も信頼性が高いサブチャネル(すなわち、K+Fp=4+2=6)を含み、これらは、サブチャネルu12、u7、u11、u13、u14、及びu15である。次に、これらのサブチャネルの部分集合の最小ハミング重みが決定される。この例では、最小ハミング重みは、サブチャネルu12のハミング重みに基づく2である。第1のインデックス(f1)及び第2のインデックス(f2)も決定される。第1のインデックス(f1)は、uminに等しいハミング重みを有するサブチャネルがPCビット用にいくつ予約されるかを決定し、第2のインデックス(f2)は、1+uminに等しいハミング重みを有するサブチャネルがPCビット用にいくつ予約されるかを決定する。この例において、f1及びf2はそれぞれ、1と1に等しい。
その後、これらのサブチャネルは、パラメータumin、1+umin、f1、及びf2に基づいて、PCビット用に予約される。この例において、uminに等しい(すなわち2に等しい)ハミング重みを有する最も信頼性が高いサブチャネルと、1+uminに等しい(すなわち3に等しい)ハミング重みを有する最も信頼性が高いサブチャネルとが選択され、その選択にはサブチャネルu12及びu14が含まれる。図6Dは、PCビット用に予約されたサブチャネルを示す表を示している。その後、情報ビットは、残りの最も信頼性が高いサブチャネルにマッピングされる。図6Eは、サブチャネルu15、u13、u11、及びu7が4つの情報ビットにどのようにマッピングされるかを示す表を示している。その後、残りのサブチャネルは凍結ビットにマッピングされる。図6Fは、サブチャネルu10、u9、u6、u5、u3、u8、u4、u2、u1、及びu0がどのように凍結ビットにマッピングされるかを示す表を示している。
一部の実施形態において、符号化器は、PCビットを搬送するために、凍結ビット集合から追加サブチャネルを選択する。図6Gは、umin又は1+uminに等しいハミング重みを有する凍結集合のサブチャネルがPCビットを搬送するためにどのように選択されるかを示す表を示している。この例では、サブチャネルu10、u9、u6、u5、及びu3が、追加のPCビットを搬送するために予約される。一部の他の実施形態において、全ての凍結サブチャネルが追加のPCビットとして選択されることがある。
umin、f1、及びf2に基づいて、Fp個のPCビット用のFp個のサブチャネルを予約又は選択する代わりに、符号化器は、これらのパラメータの異なる集合又は部分集合を用いて、サブチャネルを予約してもよい。1つの実施形態において、Fp個のサブチャネルが、umin(だけ)に基づいて、N個(又は、パンクチャリング若しくはショートニングが用いられる場合、N個より少ないM個)のサブチャネルの最も信頼性が高い(K+Fp)部分集合に予約される。例えば、uminの値(詳細は下記)に等しいハミングを有するFp個のサブチャネルが予約される。一部の実施例において、uminに等しいハミング重みを有する(K+Fp)部分集合により多くのサブチャネルがある場合、最も信頼性が高いFp個のサブチャネルが予約される。一部の実施例において、最も信頼性が高いK+Fp個のサブチャネル内に2×wminに等しい行重みを有するサブチャネルがf2より多く存在するという場合にも、同じ選択が適用される。他の実施例において、(K+Fp)部分集合における最も信頼性が低いFp個のサブチャネルが予約される。さらに他の実施例において、PCビットの数は、uminに等しいハミング重みを有するサブチャネルの全てがPCビット用に予約されるように増加してもよい。さらに他の実施例において、Fpは、wmin及び/又は2×wminに基づいて予約されるPCビット用のサブチャネル総数(例えば、3個)の部分集合(例えば、1個)を表し、残りの部分集合(例えば、2個)が別の指標、例えば、K(又はK+Fp)個の最も信頼性が高いサブチャネルの中の最も信頼性が低いサブチャネルに基づいて予約される。他の実施例もあり得る。
一部の実施形態において、(K+Fp)部分集合にFp個のサブチャネルを予約することに加えて、符号化器は、追加のPCビットを搬送するために、凍結ビット集合(N−K−Fp)においていくつかのサブチャネルを選択してよい。他の実施形態において、wminに等しい行重みを有する(K+Fp)部分集合のFp個のサブチャネルに加えて、凍結ビット集合の全てのサブチャネルがPCビットを搬送するために選択される。
本開示の実施形態が、重みパラメータに基づいて、パリティビット用に1つ又は複数のサブチャネルを選択、予約、又は配分する技法を提供する。図7は、Polar符号を用いてデータを符号化する方法700のフローチャートであり、これは無線デバイスにより実行され得る。段階710で、無線デバイスは、信頼性指標に基づいて順番に並べられ得るサブチャネルのセグメントから、少なくとも1つのパリティビットを搬送する少なくとも1つのサブチャネル(例えば、候補サブチャネル)を重みパラメータに基づいて(事前に)選択する。重みパラメータは、最小行重み(例えば、wmin、dmin)パラメータであってよい。1つの例において、順序付きサブチャネルは、K個のサブチャネルのセグメントとN0−K個のサブチャネルのセグメントとを含み、無線デバイスは、K個のサブチャネルのセグメントから、最小重み(dmin)を有する少なくとも1つの候補サブチャネルを選択する。そのような一例において、K個のサブチャネルのそれぞれは、N0−K個のサブチャネルの全てより高い信頼性指標を有する。この例において、Kは符号化する情報ビットの数又は情報ブロック長を指し、これは他の補助ビット(例えば、CRCビット)を含んでも含まなくてもよく、またN0はマザー符号長を指す。別の例において、セグメントKにおける最小重みを有するサブチャネルの数nが所定値Fより大きい場合、無線デバイスは、信頼性指標の降順(例えば、高信頼性から低信頼性に)で最小重みを有するK個のサブチャネルのセグメントからF個のサブチャネルを選択する。別の例において、無線デバイスは、最小重み(dmin)に基づいて第1の数のサブチャネルを選択する、及び/又は最小重みの2倍(2×dmin)に基づいて第2の数のサブチャネルを選択する。さらに別の例において、無線デバイスは、少なくとも1つのサブチャネルを、例えば、Polar符号と関連付けられた符号長の関数と符号化されるデータの情報ブロック長とに基づいて選択する。さらに別の例において、無線デバイスは、少なくとも1つのパリティビットを搬送するサブチャネルとして、凍結ビットに正常に配分された全てのサブチャネルを選択する。
さらに別の例において、無線デバイスは、(N個の)サブチャネルの順序付き系列のうちK個の最も信頼性が高いサブチャネルの部分集合において、最小行重みを有する少なくとも1つのサブチャネルを選択する。この例において、サブチャネルの行重みとは、当該サブチャネルに対応する(Nサイズの)クロネッカー行列の行に含まれる1の数である。さらに別の例において、K個の最も信頼性が高いサブチャネルの中で最小行重みを有するサブチャネルの数nが所定数Fpより大きい場合、無線デバイスは、K個の最も信頼性が高いサブチャネルの部分集合における(例えば、最小行重みを有する)n個のサブチャネルの中からFp個のサブチャネルを選択してよい。さらに別の例において、最小行重みを有する少なくとも1つのサブチャネルは、降順の信頼性順位に従って、K個の最も信頼性が高いサブチャネルの部分集合から選択されてもよい。言い換えれば、選択された少なくとも1つのサブチャネルは、最小行重みを有するK部分集合における最も信頼性が高いサブチャネルである。
段階720で、無線デバイスは、パリティ検査機能を適用して、少なくとも1つのパリティビットのそれぞれの値を決定する。パリティ検査機能は、少なくとも1つのパリティビット用に選択された複数のサブチャネルにわたって実行されてよい。パリティ検査機能は、素数パリティ検査機能かもしれない。段階730で、無線デバイスは、選択されたサブチャネルに配置された情報ビット及び少なくとも1つのパリティビットをPolar符号化して、符号化データを取得する。1つの例において、少なくとも1つのパリティビットは、最小重みを有する第1の数のサブチャネル及び/又は最小重みの2倍を有する第2の数のサブチャネルに配置される。示していないが、無線デバイスは、サブチャネルの順序付き系列における情報ビット用のサブチャネルを、情報ビット用に選択されるサブチャネルの数がK(すなわち、符号化する情報ビット総数)に達するまで、少なくとも1つのパリティビット用に選択された少なくとも1つのサブチャネルを飛ばしながら選択してもよい。段階740で、無線デバイスは、符号化データを別の無線デバイスに送信する。
図8は、Polar符号を用いてデータを符号化する一実施形態に係る方法800のフローチャートであり、これは無線デバイスにより実行され得る。段階810で、無線デバイスは、例えば、信頼性指標に基づいて順番に並べられ得る(N個の)サブチャネルの集合又は系列の部分集合におけるサブチャネルの行重みに基づいて、1つ又は複数のパリティビット用の1つ又は複数の(候補)サブチャネルを予約するか又は別の方法で配分する。行重みは、最小行重み値(wmin)及び/又は最小行重みパラメータの整数倍(例えば、2×wmin)を含んでよい。サブチャネルの行重みは、Nサイズのクロネッカー行列のサブチャネルに対応する行に含まれる1の数を表してよい。順序付きサブチャネルからパリティビット用の候補サブチャネルを予約する(すなわち、配分する)様々な技法がある。例えば、サブチャネルの集合がその信頼性に基づいて並べ替えられた後に、無線デバイスは、最も信頼性が高いサブチャネルから始まる行重みに基づいて、当該集合の最も信頼性が高いサブチャネルの部分集合から、候補サブチャネルを予約してよい。1つの例において、最小行重み値に等しい行重みを有する最初の(すなわち最も信頼性が高い)f1個のサブチャネル(f1は0より大きい整数)がパリティビット用に予約される。そのような一例において、最小行重みは、サブチャネルの順序付き系列において最も信頼性が高いK個又はK+Fp個のサブチャネルと関連付けられた最小行重みであってよく、Kは情報ビットの系列と関連付けられた情報ブロック長であり、Fpは符号化ビットストリームにより搬送されるパリティビットの数に対応するパラメータ又は関数である。そのような一実施形態において、Fpは次の関数に従って計算され得る。
ここで、Mは送信されるブロック長であり、Nはマザー符号長であり、αは情報ビットに対するパリティビットの比を変えるのに用いられる重み係数である。Fpの他の値もあり得る。別の例において、最小行重み値の2倍に等しい行重みを有する第1のf2個のサブチャネルは、パリティビット用にも予約されてよい(f2も整数であり、0より大きい又はそれに等しい)。f1パラメータは次の関数に従って計算され得る。
f1=(Fp+min(Fp,n))/2
ここで、nは、サブチャネルの順序付き系列のうち最も信頼性が高いK+Fp個のサブチャネルにおいて、最小行重みに等しい行重みを有するサブチャネルの数である。f2パラメータは次の関数に従って計算され得る。
f2=(Fp−min(Fp,n))/2
他の値がf1パラメータ及びf2パラメータに対して可能であってもよい。
別の実施形態において、Fpは、情報ブロックサイズ及び符号長と無関係な固定値(例えば、3)かもしれない。あるいは、Fpは用いられるパリティビット総数(例えば、3個)の所望の部分集合(例えば、1個)かもしれず、これは、最も信頼性が高いサブチャネルの部分集合(例えば、K又はK+Fp)において最小行重みwminを有する候補サブチャネルにマッピングされる。また、残りのパリティビット(例えば、2個)は、異なる指標に従って他のサブチャネル(例えば、K個(又はK+Fp個)の最も信頼性が高いサブチャネル内の最も信頼性が低いサブチャネル)にマッピングされる。
段階820で、無線デバイスは、例えば、1つ又は複数のパリティビット用に予約された1つ又は複数の候補サブチャネルに情報ビットをマッピングすることなく、サブチャネルの集合の残りのサブチャネルの部分集合に情報ビットを残りのサブチャネルの信頼性に基づいてマッピングする。段階830で、無線デバイスは、少なくとも1つ又は複数のパリティビットの値を情報ビットの値に応じて決定し(例えば、計算し)、予約された候補サブチャネルに1つ又は複数のパリティビットをマッピングする(不図示)。段階840で、無線デバイスは、Polar符号を用いて、マッピングされた情報ビット及び1つ又は複数のパリティビットを符号化して、符号化ビット又は符号化ビットストリームを取得する。段階850で、無線デバイスは(物理)チャネルを介して符号化ビットを送信する。
本開示の実施形態が、無線デバイスなどのデバイス用の、符号化の前にパリティ検査機能を実施する方法を提供する。第1の段階で、無線デバイスは、信頼性の順序付き系列(Q)を取得又は確認し、パンクチャリングされたビット集合(P)を符号化率(R)及びマザー符号長(N)に基づいて決定する。
第2の段階で、デバイスは、順序付き系列から凍結ビット集合、PC凍結ビット集合、及び情報ビット集合を決定する。第2の段階は、いくつかの副段階2.1〜2.4(d)を含んでよい。副段階2.1において、無線デバイスは、(昇順の信頼性で左から右に順番に並べられた)系列Qを3つの部分集合、すなわち、(N−M)部分集合、(M−K)部分集合、及び(K)部分集合に分割し得る。この一例が表2に示されている。このように、K部分集合は系列Qにおいて最も信頼性が高いビット位置(サブチャネル)を表す。副段階2.2で、無線デバイスは、(K)部分集合における最小値又は最小行重みを決定し、それをdminと表記し得る。サブチャネルの行重みは、当該サブチャネルに対応するクロネッカー行列の行に含まれる「1」の数を表す。上述したように、行重みは2の累乗でもあり、指数部はサブチャネルインデックスの2進表現に含まれる「1」の数である。無線デバイスは次に、(K)部分集合における、dminに等しい行重みを有するビット位置の数(n)を決定し得る。副段階2.3で、無線デバイスは、K部分集合において、PC凍結ビット用のサブチャネルの集合をdminに従って選択又はフラグ付けする。具体的には、無線デバイスは、Polar符号のマザー符号長と情報ビットの系列内の情報ビットの数との関数に基づいて、パリティ検査(PC)凍結(PC凍結)ビットの数(Fp)を決定し得る。1つの例において、Fpは次の関数に従って計算される。
Fp=ceil(log2(N×K)/2)無線デバイスは次に、PC凍結ビット用のサブチャネルの数を選択及び/又はフラグ付けし得る。n<Fpの場合、無線デバイスは、降順の信頼性順位に従って、行重みdminを有する(Fp+n)/2個のサブチャネルをPC凍結ビットとして選択及び/又はフラグ付けしてもよく、また降順の信頼性順位に従って、行重み2×dminを有する(Fp−n)/2個のサブチャネルを選択及び/又はフラグ付けしてもよい。n≧Fpの場合、無線デバイスは、降順の信頼性順位に従って、行重みdminを有するFp個のサブチャネルをPC凍結ビットとして選択及び/又はフラグ付けしてもよい。別の実施形態において、Fpは情報ブロックサイズ及び符号長と無関係の固定値、例えば、3かもしれない。あるいは、Fpは、最小行重み(dmin)又は最小行重みの2倍(2×dmin)を有するサブチャネルにマッピングされるパリティビット総数(例えば、2個)の所望の集合又は部分集合(例えば、1個)を表すかもしれない。残りのパリティビット(例えば、2個)は、異なる指標に従って他のサブチャネル(例えば、K部分集合又はK+Fp部分集合内の最も信頼性が低いサブチャネル)にマッピングされる。副段階2.4(a)〜2.4(d)において、無線デバイスは、情報ビット、PC凍結ビット、及び凍結ビットの位置を決定し得る。詳細には、副段階2.4(a)において、無線デバイスは、情報ビット位置の数がKに達するまで、フラグ付けされたビット位置を飛ばしながら(信頼性の降順で)右端から左端へ情報ビット位置を1つずつ選択し得る。副段階2.4(b)において、無線デバイスは、凍結ビットになる残りビット位置をフラグ付けしてよい。副段階2.4(c)において、無線デバイスは、一部の凍結ビット位置、例えば、事前選択されたPC凍結ビットに等しい行重みを有する凍結ビット位置を追加のPC凍結ビットとして選択しても、又は全ての凍結ビット位置を追加のPC凍結ビットとして選択してもよい。副段階2.4(d)において、無線デバイスは、Polar符号化用のビット系列を、例えば、Arikanカーネルと共に用意してよい。無線デバイスは、K個の情報ビットを挿入し、PC凍結ビット及び凍結ビットを示してよい。
段階3で、無線デバイスはパリティ検査機能に基づいてPC凍結ビットの値を設定してよい。1つの例において、これは素数値の長さのレジスタに巡回シフトを適用することで実現される。
図9は、Polar符号を用いてデータを符号化する一実施形態に係る方法900のフローチャートであり、これは無線デバイスにより実行され得る。段階910で、無線デバイスは、サブチャネルの順序付き系列において、最も信頼性が高いK個のサブチャネルの中から最小行重み(dmin)を決定する。段階920で、無線デバイスは、最も信頼性が高いK個のサブチャネルにおいて、パリティ検査(PC)凍結(PC凍結)ビット用のサブチャネルの集合を最小行重みに従って選択又はフラグ付けする。サブチャネルの集合は、選択又はフラグ付けされ、1つ又は複数のサブチャネルを含んでよいことを理解されたい。任意選択的に、最小行重み(dmin)を有するサブチャネルが所定数のPC凍結ビット(例えばFp個)より少ない場合(例えばn個)、無線デバイスは、順序付き系列において行重みdminを有する(Fp+n)/2個のサブチャネルを降順の信頼性順位に従ってPC凍結ビットとして選択又はフラグ付けし、また順序付き系列において行重み2×dminを有する(Fp−n)/2個のサブチャネルを降順の信頼性順位に従ってフラグ付けする。任意選択的に、最小行重み(dmin)を有するサブチャネルの数nがFpより大きい場合、無線デバイスは、順序付き系列において行重みdminを有するFp個のサブチャネルを降順の信頼性順位に従ってPC凍結ビットとして選択又はフラグ付けする。段階930で、無線デバイスは、サブチャネルの順序付き系列における最も信頼性が高い残りのサブチャネルに情報ビットの系列Kを、PC凍結ビット用にフラグ付けされたサブチャネルの集合を飛ばしながらマッピングする。無線デバイスは、段階940で、少なくともPC凍結ビット用にフラグ付けされたサブチャネルの集合にPCビットの値を設定し、段階950で、PC凍結ビットを有するK個の情報ビットをPolar符号化する。これにより、符号化ビット又は符号化ビットストリームが取得される。段階960で、無線デバイスは符号化ビット/符号化ビットストリームの少なくとも一部を送信する。
図10は通信システム1000を示す。情報源1010が情報データ(ベアラデータ、情報ブロック、ビット)を提供し、(チャネル)符号化器1020が情報データを符号化し、符号化された情報データはチャネル1030を介して送信された後に(チャネル)復号器1040で復号されるので、情報データは最終的に受信側1050で受信される。情報源1010及び/又はチャネル符号化器1020は、ネットワークコンポーネント又はユーザ機器などの送信ポイント又は無線デバイスに組み込まれても又はそこに含まれてもよい。ネットワークコンポーネントは、進化型NodeB(eNodeB)、WiFiアクセスポイント、スモールセル(ピコセル、フェムトセル)アクセスポイント、又はネットワークへのアクセスを提供する任意の他のアクセスポイントなどのアクセスポイントであってよい。チャネル符号化器1020は、多くの異なる方法により実現されてよい。例えば、チャネル符号化器1020は、ハードウェアのみにより(データを符号化する及び/又は符号化器若しくは本デバイスの他のコンポーネントのオペレーションを制御する、並びに/又は、本明細書で開示されるような機能及び/若しくは実施形態の実行を別の方法で制御するように構成される、プロセッサなどの回路により)実現されてよい。プロセッサによる符号化器の実施例において、本明細書で説明される符号化演算を実行するプロセッサ実行可能命令が、送信ポイント又はデバイスの内部又は外部にある非一時的メモリ又は記憶媒体に格納される。非一時的媒体は、例えばメモリ内に、1つ又は複数の半導体メモリデバイス及び/又は移動可能で場合によっては着脱可能な記憶媒体を有するメモリデバイスを含むことがある。符号化器1020は、別個の(無線周波数、つまりRF)送信モジュールとインタフェースで接続するように構成されることがある。例えば、符号化器1020は、ハードウェア又は回路(例えば、1つ又は複数のチップセット、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、専用論理回路、又はこれらの組み合わせ)により実現され、別個の(RF)ユニットによる送信のために、本明細書で説明されたようにデータを符号化してよい。
(チャネル)復号器1040及び受信側1050は、ネットワークコンポーネント又はユーザ機器(UE)などの受信ポイント又は別の無線デバイスに含まれてよく、多くの異なる方法でネットワークコンポーネント又はデバイスにより、例えば、復号演算を行う命令を実行するように構成されたチップセット又はプロセッサなどのハードウェア又は回路などにより実現されてもよい。プロセッサによる復号器1040の実施例において、復号演算を実行するプロセッサ実行可能命令が、受信ポイント又はデバイスの内部又は外部にある非一時的メモリ又は記憶媒体に格納される。非一時的媒体は、例えばメモリ内に、1つ又は複数の半導体メモリデバイス及び/又は移動可能且つ場合によっては着脱可能な記憶媒体を有するメモリデバイスを含むことがある。復号器1040は、別個の(RF)受信モジュールとインタフェースで接続するように構成されることがある。例えば、復号器1040は、ハードウェア又は回路(例えば、1つ又は複数チップセット、マイクロプロセッサ、ASIC、FPGA、専用論理回路、又はこれらの組み合わせ)により実現されてよく、(例えば、受信モジュール又はユニットを介して)受信された信号を本明細書で説明したように復号して情報ビットを取得する。UEは、無線電話、スマートフォン、タブレット、携帯端末、又は任意の他のモバイルデバイスであってよい。様々な実施形態において、情報源1010及びチャネル符号化器1020はUEにおいて実現され得、チャネル復号器1040及び受信側1050はアクセスポイントにおいて実現されてよく、又は逆の場合にも同様に実現される。チャネル1030は、無線又はケーブル若しくはバスなどの固定回線を介したチャネルであってよい。チャネル1030は、無線インタフェースの物理層であってよい。チャネル1030は、任意の他の伝送媒体であってよい。通信システム1000は、無線データの送信だけでなく、有線データ又は任意の他のデータの送信にも用いられてよい。
一部の実施形態において、復号器1040は、チャネル1030を介して受信される符号化データに基づいて信号を復号するように構成されてよい。1つの実施形態において、復号器1040は、別のデバイス、例えば符号化器1020から、符号化器1020で生成された、情報ビット及び1つ又は複数のパリティビットがPolar符号で符号化されている符号化データに基づいて、信号を受信するように構成される。上述したように、復号器1040は、(例えば、内部受信ユニットを用いて)直接信号を受信するか、又は別個の受信ユニットを用いて適切なインタフェースを介して間接的に信号を受信するように構成されてよい。この実施形態において、パリティビットは、重みパラメータに基づいて選択されたサブチャネルに配置され、復号器1040は、Polar符号及びパリティビットを用いて信号を復号して情報ビットを取得する。
1つの例において、重みパラメータは最小重みを含む。そのような一例において、パリティビットは、最小重み(例えば、dmin)又は最小重みの2倍(2×dmin)を有する複数のサブチャネルに配置されてよい。選択されたサブチャネルがそれぞれ最小重みを有する一例において、これらのサブチャネルは、信頼性指標に基づいて順番に並べられたN0個のサブチャネルのK個の最も信頼性が高いサブチャネルのセグメントから選択される。この例において、K個のサブチャネルのそれぞれは、順序付きサブチャネルのN0−Kセグメントのサブチャネルの信頼性指標より高い信頼性指標を有し、Kは情報ブロック長であり、N0はマザー符号長である。素数関数であってよいパリティ検査機能は、複数のパリティビットのそれぞれの値を決定するのに用いられてよい。重みパラメータは、dminなどの最小行重みを含んでよく、選択されたサブチャネルはK部分集合において最小行重みを有してよく、サブチャネルの行重みはクロネッカー行列の行に含まれる1の数であり、行はサブチャネルに対応する。最小行重みを有するサブチャネルは、降順の信頼性順位に従ってK部分集合から選択されてよい。情報ビット用のサブチャネルが、情報ビット用に選択されるサブチャネルの数がKに達するまで、パリティビット用に選択されたサブチャネルを飛ばすことにより、サブチャネルの順序付き系列において選択されてよい。
別の実施形態において、復号器1040は、別のデバイス(例えば、符号化器1020)で生成された、情報ビット及び1つ又は複数のパリティビットがPolar符号で符号化されているビット又はビットストリームに基づいて、信号を受信するように構成される。この実施形態において、パリティビットは、サブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて配分されたサブチャネルにマッピングされ、情報ビットは、サブチャネルの集合の残りのサブチャネルに、これら残りのサブチャネルの信頼性に基づいてマッピングされる。復号器1040は、Polar符号及びパリティビットを用いて信号を復号して、情報ビットを取得するようにも構成される。
1つの例において、サブチャネルの行重みは、当該サブチャネルに対応するクロネッカー行列の行に含まれる1の数を表す。行重みは、最小行重みを含んでもよい。サブチャネルの部分集合において、最小行重み又は最小行重みの2倍に等しい行重みを有する複数のサブチャネルが、パリティビットに配分される。配分されたサブチャネルの数は1つであってもよく、集合内のサブチャネルはその信頼性に基づいて順番に並べられ、サブチャネルの順序付き系列を形成してよい。サブチャネルの部分集合は、順序付き系列において最も信頼性が高い部分集合を含む。例えば、最も信頼性が高い部分集合は、情報ビットを搬送するK個のサブチャネル又はK+Fp個のサブチャネルを含んでよく、Kは情報ビットと関連付けられた情報ブロック長であり、Fpはパリティビットの数を示す。この例において、(例えば、K個又はK+Fp個の)サブチャネルの部分集合において最小行重みに等しい行重みを有する最も信頼性が高いサブチャネルは、パリティビットに配分されてよい。パリティビットはパリティ検査(PC)ビットを含んでよく、PCビットの値は情報ビットの値の関数であってよい。
Polar符号は、比較的信頼性が高いサブチャネルを情報ビットに用い、比較的信頼性に欠けるサブチャネルを0又は任意の他の既知数になり得る凍結ビットに用いる線形ブロック誤り訂正符号である。信頼性がそれほど欠けていない凍結ビットの一部でパリティ検査が機能できれば、最小符号化距離は増加し得る。パリティビットに用いられる凍結ビットは、データ情報が送信されるとビット値が動的に変わるので、動的凍結ビットと呼ばれる。
従来の用途では、復号器は、逐次除去(SC)方法を用いて、情報ブロック(情報ビット)を送信する最適なサブチャネルを識別する。性能を向上させるために、CRCを利用したSCリスト復号アルゴリズムが複数のSC復号パスを可能にするのに用いられ、CRCが最後の段階で正しいパスを選択するのに用いられる。この方法はCRCビットの検出能力を消費するので、その後、CRCビットをブラインド検出などの他の目的に用いることはできない。CRCを利用しないリスト復号器が、CRCビット以外の情報源に基づいてパリティ検査を行う何らかの方法を有することが好ましい。一部のPolar符号では、パリティビットが一部の凍結ビット(動的凍結集合)に置かれて、パリティ検査能力を提供する。しかしながら、Polar符号演算の性能は、動的凍結集合の選択及びそれに対するパリティ検査方法によって決まり、適切な凍結集合(ビット又はシンボル)を決定性方法で選択するのは、選択肢が多過ぎるので非常に難しい。
複数の実施形態において、動的凍結ビット集合を選択することは、最小符号化距離の関数又は分極重みなどの最低限信頼できる重みの関数である。他の信頼性指標も用いることができる。適切に選択された、好適且つ信頼性が高いブロック誤り率(BLER)性能を示す動的凍結ビットに基づいて、複数の実施形態がPolar符号を提供する。このPolar符号は、巡回冗長検査(CRC)なしのPolar符号であってもよい。様々な実施形態において、全ての凍結ビットが動的凍結ビットとして選択され、その全てに素数由来の検査機能が適用される。
図11は、Polar符号用の凍結ビット集合を選択する一実施形態に係る方法1100のフローチャートである。本符号化方法は、符号化器及び復号器の両方により実現され得る。本符号化方法は、段階1110で、複数の候補凍結集合(又は多数の候補凍結ビット集合)を事前選択する段階と、次に段階1150で、選択された凍結ビット集合を複数の候補ビット集合から選択する段階とを含む。
段階1110は、凍結ビットの事前選択されたサブチャネルを、これらの凍結ビットのサブチャネルに適用される信頼性指標に従って並べ替える段階を含む。一部の実施形態において、段階1110は、全てのサブチャネルを信頼性指標関数に従って並べ替える段階を含む。様々な実施形態において、分極重みアルゴリズムなどの決定性関数が用いられてよい。あるいは、決定性関数は分極距離関数であってもよい。凍結ビットのサブチャネルは、昇順方式で、すなわち低分極重みから高分極重みに並べ替えられてよい(又は逆の場合にも同様に並べ替えられる)。並べ替えられたチャネルは、2つのセグメントなどの複数のセグメントに分割される。次の段階において、上位のセグメント(又は言い換えれば、最も信頼性が高いサブチャネルを有するセグメント)の最小重みdminが選択されるか又は決定される(以下の例を参照)。1つの例において、サブチャネルの重みは、行重み、すなわちサブチャネルに対応するPolar符号生成行列若しくはクロネッカー行列の行に含まれる「1」の数、言い換えれば、指数部がサブチャネルインデックスの2進表現に含まれる「1」の数となる2の累乗であってよい。この例において、最小重みdminは最小行重みであってよい。最小重みdminの場合、最小重みdminを有するチャネルの数はnであってよい。所定値Fを定義する。一実施形態において、Fは、F=ceil(log2(N×K)/2)となり得る。他の実施形態において、Fは異なる値を持つことがある。さらに他の実施形態において、Fは、動的凍結ビット用のサブチャネル総数(例えば、3個)の集合又は部分集合(例えば、1個)を表し、dmin及び/又は2×dminに基づいて事前選択される。また、動的凍結ビット用のサブチャネルの総数の残りの部分集合(例えば、2個)が、別の指標、例えば、K個の最も信頼性が高いサブチャネルの中の最も信頼性が低いサブチャネルに基づいて事前選択される。n<Fの場合、重みdminを有する(F−n)/2個のチャネルを事前選択し、重み2×dminを有する(F+n)/2個のチャネルを事前選択する。n≧Fの場合、重みdminを有するF個のチャネルを事前選択する。事前選択したチャネルを逆順で順番に並べる。例えば、チャネルは降順方式で、すなわち、分極重み値の高い方から低い方に、又は信頼性の降順で順番に並べられる。言い換えれば、K個の最も信頼性が高いセグメントにおいて、重みdmin及び/又は2×dminを有する最も信頼性が高いサブチャネルが事前選択される。したがって、段階1110は、順序付きの事前選択された多数のサブチャネル(候補ビット集合)を提供し、これらのサブチャネルは、一部の実施形態において動的凍結ビットに用いられ得る。しかしながら一般に、動的凍結ビット用に事前選択されるサブチャネルの数は小さくても又は大きくてもよいことが理解される。
ある実施例において、N
0はマザー符号長であり、Nはレートマッチング後の符号長であり、Kは情報ブロック長である。一実施形態において、N
0は、N
0=2^ceil(log
2(N))と定義され得る。凍結ビットサブチャネルは、並べ替えられて2つのセグメントにセグメント化され得る。又は、言い換えれば、凍結ビットサブチャネルを含むビットサブチャネルの全てが、表3に示すように並べ替えられて2つのセグメントにセグメント化され得る。図を見て分かるように、サブチャネルは昇順方式で並べ替えられる。すなわち、K個のサブチャネルが最も信頼性が高く、(N
0−K)個のサブチャネルが最も信頼性が低い。
次の段階では、段階1150で、凍結ビットの集合(又は言い換えれば、凍結ビットのサブチャネル)が、事前選択された多数の候補ビット集合から、又はこれらの集合に基づいて選択される。凍結ビットの選択集合は、昇順の分極重み順に従ってビット単位で選択されてよい。凍結ビット又は凍結ビット用のサブチャネルの選択集合は、ビットの数がN0−Kになると完成し得る。一部の実施形態において、凍結ビット用に選択されたサブチャネルの集合は、事前選択されたサブチャネルの一部又は全てを含み、選択されたサブチャネルの一部又は全ては動的凍結ビットに用いられてよい。他の実施形態において、凍結ビット用に選択されたサブチャネルの集合は、事前選択されたサブチャネルから独立しており(すなわち、事前選択されたサブチャネルを含まない)、サブチャネルの選択集合はサブチャネルの数がN0−K−Fになると完成し得る。残りの(K個の)サブチャネルの全て(すなわち、凍結及び/又は動的凍結ビットに用いられていないサブチャネル)は、(K個の)情報ビット用のサブチャネルである。一部の実施形態において、選択された凍結サブチャネルの一部(例えば、事前選択された候補凍結ビット集合又は全ての凍結サブチャネル)は、動的凍結ビットに用いられてよい。
凍結ビットの選択集合を選択することは、素数pを決定することを含む。様々な実施形態において、一意の素数は、5、7、又は11であってよい。凍結ビット集合を最終的に選択するために、符号化器及び復号器は、符号化器及び復号器により実現されるp長巡回シフトレジスタを作動させてよい。各ビットを符号化/復号すると、巡回シフトレジスタは左シフトし得る。図12は、符号化器及び復号器のうちの少なくとも一方における、長さ5(p長)のそのような巡回シフトレジスタを示す。あるビットがレジスタ内の情報ビットである場合、このビットは破棄され(XOR)、このビットが凍結ビットであれば、このビットのビット値が用いられ選択される。様々な実施形態において、ビットは、レジスタで初期化されると0に設定される。一部の実施形態において、凍結ビット集合は、符号語によって変わり得る。
別の実施形態において、第3の段階がパリティ検査機能を構築し、動的凍結ビット並びに情報ビット及び(静的)凍結ビットのビット値を決定する。素数pが決定される。様々な実施形態において、一意の素数が5、7、又は11であってよい。パリティ検査機能を構築し、動的凍結ビット値を決定するために、p長巡回シフトレジスタが符号化器(及び復号器)により実現され得る。巡回シフトレジスタは、符号化の間に入力ビットベクトルのビット値を決定するか又はビット値を復号すると、左シフトし得る。図12は、符号化器及び復号器のうちの少なくとも一方における、長さ5(p長)のそのような巡回シフトレジスタを示す。上記2つの段階によって決定されるように、あるビットが情報ビットである場合、レジスタの1番目のビットは、現在の情報ビット値とのXORをとり、その後、巡回シフトされる。ビットが(静的)凍結ビットである場合、ビット値は、符号化器及び復号器の両方が認識している固定値(例えば、0)に設定され、その後、巡回シフトされる。ビットが動的凍結ビットである場合、レジスタの1番目のビットの値は現在の動的凍結ビットの値に割り当てられる。様々な実施形態において、ビットは、レジスタで初期化されると0に設定される。一部の実施形態において、凍結ビット集合は、符号語によって変わり得る。
方法1100は、複数の利点を提供し得る。例えば、符号化器はパリティ機能のオンライン計算を行わなくてもよい。符号化器は、パリティ機能を格納しなくてもよい。復号器は、パリティ機能を検索しなくてもよいので、容易に作動することができる。
図13A〜図13Dは、実施形態に従って選択された凍結ビットの選択集合に関するPolar符号の性能を示す。図13Aは、K=40個の情報ビットのQPSK変調に関する性能を示し、図13Bは、K=60個の情報ビットのQPSK変調に関する性能を示し、図13Cは、K=80個の情報ビットのQPSK変調に関する性能を示し、図13Dは、K=120個の情報ビットのQPSK変調に関する性能を示す。グラフを見て分かるように、本発明のPolar符号は、他の符号を表す他のグラフと比較して、より優れた性能と容易さを提供する。
図14A及び図14Bは、所与のブロック誤り率(BLER)における平均受信Es/N0ポイントを示す。図示したグラフに示すように、(実施形態に従って選択された)凍結ビットの選択集合を有するPolar符号は、他のPolar符号より優れた性能をもたらす。
図15は、無線デバイス、送信ポイント又は受信ポイント、例えば、ネットワークコンポーネント又はユーザ機器などのデバイス1500のブロック図である。デバイス1500は、CPU1502、大容量記憶装置1504、ネットワークインタフェース1506、符号化器/復号器1508、メモリ1510、ビデオアダプタ1512、及びI/Oインタフェース1514を含む。
デバイス1500は、図示したコンポーネントの全て、又はこれらのコンポーネントの一部だけを利用してよく、組み込みの程度は実施例に応じて変わり得る。さらに、デバイス1500は、あるコンポーネントの例を複数、例えば、複数のCPU1502などを含んでもよい。デバイス1500は、ネットワークインタフェース1506を用いてネットワーク1520に接続してもよく、ビデオアダプタ1512を用いてディスプレイ1516に接続してもよく、I/Oインタフェース1514を用いてスピーカ、マイク、マウス、タッチスクリーン、キーパッド、キーボード、及びプリンタなどの1つ又は複数の入力/出力デバイス1518に接続してもよい。
一部の実施形態において、CPU1502は、汎用コンピュータのハードウェアプラットフォームのコンポーネントになり得る任意のプロセッサであってもよい。他の実施形態において、CPU1502(プロセッサ)は、専用ハードウェアプラットフォームのコンポーネントであってもよい。例えば、CPU1502は組み込プロセッサであってよく、命令はファームウェアとして提供されてよい。一部の実施形態は、ハードウェアだけを用いて実現され得る。一部の実施形態において、プロセッサが実行する命令は、ソフトウェア製品の形態で具現化され得る。ソフトウェア製品は、不揮発性の又は非一時的なメモリ又は記憶媒体に格納されてよく、そのようなメモリ又は記憶媒体は、例えば、コンパクトディスクリードオンリメモリ(CD−ROM)、ユニバーサルシリアルバス(USB)フラッシュディスク、又は着脱可能なハードディスクであってよい。
符号化器/復号器1508は、符号化コンポーネント、復号コンポーネント、又はその両方を含んでよい。一部の実施形態において、符号化器/復号器1508は、本明細書で開示されたように、データを符号化するか又は選択演算、マッピング演算、及び/又は符号化演算を行うように構成される、プロセッサなどの回路により実現される。プロセッサによる符号化器/復号器1508の実施例において、符号化演算を行うプロセッサ実行可能命令が非一時的プロセッサ可読媒体に格納される。非一時的媒体は、例えばメモリ1510内に、1つ又は複数の半導体メモリデバイス及び/又は移動可能で場合によっては着脱可能な記憶媒体を有するメモリデバイスを含むことがある。
バスは、メモリバス若しくはメモリコントローラ、ペリフェラルバス、又はビデオバスなどを含む任意のタイプのいくつかのバスアーキテクチャのうちの1つ又は複数であってよい。CPU1502は、任意のタイプの電子データプロセッサを含んでよい。メモリ1510は、任意のタイプのシステムメモリ、例えば、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、同期式DRAM(SDRAM)、リードオンリメモリ(ROM)、又はこれらの組み合わせなどを含んでよい。一部の実施形態において、メモリ1510は、符号化器/復号器1508若しくはデバイスの他のコンポーネントのオペレーションを実施及び/若しくは制御する、並びに/又は本明細書で説明される機能及び/若しくは実施形態の実行を別の方法で制御するプロセッサが実行する命令を含む非一時的コンピュータ可読媒体である。一実施形態において、メモリ1510は、起動時に用いるROMと、プログラムの実行中に用いるプログラム及びデータを格納するDRAMとを含んでよい。
大容量記憶装置1504は、データ、プログラム、及び他の情報を格納し、そのデータ、プログラム、及び他の情報をバス経由でアクセス可能にするように構成された、任意のタイプの記憶装置を含んでよい。大容量記憶装置1504は、例えば、ソリッドステートドライブ、ハードディスクドライブ、磁気ディスクドライブ、又は光ディスクドライブなどのうちの1つ又は複数を含んでよい。
ビデオアダプタ1512及びI/Oインタフェース1514は、外部の入出力デバイスを処理ユニットに結合するインタフェースを提供する。図示するように、入出力デバイスの例には、ビデオアダプタ1512に結合されたディスプレイ1516と、I/Oインタフェース1514に結合されたマウス/キーボード/プリンタとが含まれる。他のデバイスが処理ユニットに結合されてもよく、追加又はより少ないインタフェースカードが利用されてもよい。例えば、ユニバーサルシリアルバス(USB)(不図示)などのシリアルインタフェースが、プリンタ用のインタフェースを提供するのに用いられてよい。
ネットワークインタフェース1506は、ノード又は異なるネットワークにアクセスするための、Ethernet(登録商標)ケーブルなどの有線リンク及び/又は無線リンクを含んでよい。ネットワークインタフェース1506は、デバイス及び/又は処理ユニットがネットワーク1520を介してリモートユニットと通信できるように構成されてよく、その通信には、例えば、符号化データ又は符号化ビットの送信及び/又は受信が含まれる。例えば、ネットワークインタフェース1506は、1つ又は複数の送信機/送信アンテナと1つ又は複数の受信機/受信アンテナとを介して、無線通信を提供し得る。一実施形態において、処理ユニットは、データを処理するために、ローカルエリアネットワーク又はワイドエリアネットワークに結合され、他の処理ユニット、インターネット、又はリモート記憶設備などのリモートデバイスと通信する。
図示していないが、ネットワークインタフェース1506は、送信チェーンの変調器、増幅器、アンテナ、及び/又は他のモジュール又はコンポーネントと、追加的に又は代替的に受信チェーンの復調器、増幅器、アンテナ、及び/又は他のモジュール又はコンポーネントとを含むことがある。代替例において、ネットワークインタフェース1506は、別個の(RF)送信モジュール及び/又は受信モジュールとインタフェースで接続するように構成されることがある。例えば、符号化器/復号器1508は、ハードウェア又は回路(例えば、1つ又は複数のチップセット、マイクロプロセッサ、ASIC、FPGA、専用論理回路、又はこれらの組み合わせ)により実現されてよく、その結果、別個の(RF)送信ユニットがネットワークインタフェース1506を介して送信するデータを符号化(及び/又は復号)するか、又は別個の(RF)受信ユニットがネットワークインタフェース1506を介して受信する信号を復号して、ここで説明される情報ビットを取得する。
上述したように、サブチャネルと関連付けられた行重みに基づいてパリティビットがマッピングされる場合、行重み値(例えば、wmin、2×wmin)をサブチャネルの行重みと比較して、どのサブチャネルをパリティビット用に予約するべきかを識別することが必要になり得る。本開示の実施形態は、行重み値(例えば、wmin、2×wmin)を複数のサブチャネルの行重みと同時に比較する。これにより、比較演算と関連した遅延が減少するので、符号化処理をより迅速に且つ効率的に行うことが可能になり得る。図16は、並列比較演算を用いて、PCビット用に予約されるサブチャネルを識別する技法についての図である。この例では、情報ビット1620、PCビット1630、及び凍結ビット1640が、サブチャネル1611〜1619にマッピングされ、これらのサブチャンネルはサブチャネル信頼性の昇順で並べ替えられている。情報ビット1620をサブチャネル1611〜1619のいずれかにマッピングする前に、少なくとも2つのサブチャネル1618及び1619の行重みが1つ又は複数の行重み値(例えば、wmin、2×wmin)と同時に比較され、この1つ又は複数の行重み値と一致する行重みを有する最も信頼性が高いサブチャネルがPCビット1630用に予約される。一部の実施形態において、第1の行重み値(例えば、wmin)と一致する行重みを有する特定の数(f1)のサブチャネルがPCビット用に予約され、第2の行重み値(例えば、2×wmin)と一致する行重みを有する特定の数(f2)のサブチャネルがPCビット用に予約される。複数の行重み値のうちの1つ又は複数、及びそれぞれの行重み値ごとに予約される特定の数のサブチャネルを規定するインデックスが、符号化率及び/又はブロック長パラメータに基づいて決定されてよい。
図17は、情報ビットの系列を符号化する一実施形態に係る方法1700を示す。段階1710で、符号化器は、PCビット用にサブチャネルを予約するために、少なくとも行重み値を決定する。少なくとも1つの行重み値は、チャネルの符号化率と、符号化される情報ビットの系列と関連付けられたブロック長とに基づいて決定されてよい。段階1720で、符号化器は、少なくとも1つの行重み値を2つ又はそれより多くのサブチャネルの行重みと同時に比較し、これらのサブチャネルのうちの1つ又は複数をPCビット用に予約すると決定する。一実施形態において、信頼性が低いサブチャネルより先に信頼性が高いサブチャネルが評価されるように、符号化器は、サブチャネルの順序付き系列に従って、信頼性の降順でサブチャネルを評価してよい。代替的に、情報ビット又はPCビットにマッピングされるサブチャネル(例えば、K+Fp個のサブチャネル)の部分集合に含まれる全てのサブチャネルが同時に評価される。
段階1730で、符号化器は、十分なサブチャネルがPCビット用に予約されているかどうかを判定する。例として、符号化器は、wminに等しい行重みを有する少なくともf1個のサブチャネルが予約されているかどうか、及び/又は2×wminに等しい行重みを有する少なくともf2個のサブチャネルが予約されているかどうかを判定し得る。予約されていない場合、方法1700は段階1720に戻り、符号化器は次の2つ又はそれより多くのサブチャネルを評価する。十分なサブチャネルがPCビット用に予約されていると符号化器が判定した場合、本方法は段階1740に進み、符号化器は情報ビットを最も信頼性が高い残りのサブチャネルにマッピングする。段階1750で、符号化器は凍結ビットを最も信頼性が低い残りのサブチャネルにマッピングする。一部の実施形態において、追加のPCビットが凍結ビット集合から選択されることがある。1つの実装例では、PCビット用のサブチャネルを予約するのに用いられる少なくとも1つの行重みに等しい行重みを有する全ての凍結サブチャネルが選択されてよく、別の実施例では、全ての凍結サブチャネルが選択されてもよい。段階1760で、符号化器は、予約されたサブチャネルのPCビット値を情報ビットのPC機能に基づいて設定する。段階1740、1750、及び1760は、任意の順序で実行されてもよい。また、PCビット用のサブチャネルの数は、多くの異なる方法で上述したように決定されてもよく、PCビット用に予約されたサブチャネルの数は固定されても、例えば、3個であってもよく、及び/又は予約されたサブチャネルの一部又は全てはdminに基づいてもよい。
図18は、ルックアップテーブルを用いてPolar符号化を行う方法1800のフローチャートを示す。この方法は符号化器により行われ得る。段階1810で、符号化器は、符号化率及び情報ブロック長に基づいてルックアップテーブルを検索し、符号パラメータを決定する。段階1820で、符号化器は、サブチャネルを情報ビット、パリティビット、及び凍結ビットにマッピングする。段階1830で、符号化器は、情報ビットのパリティ検査機能に基づいてパリティビット値を設定する。
図19は、最小ハミング重み値を決定する方法1900のフローチャートを示す。この方法は符号化器により行われ得る。段階1910で、符号化器はサブチャネルをそのチャネル信頼性に基づいて並べ替え、サブチャネルをその信頼性に基づいて昇順(Q0、Q1、…QN)に並べた順序付き系列(Q)を取得する。段階1920で、符号化器は、最も信頼性が高いサブチャネルの部分集合を識別する。Polar符号化の段階の後にパンクチャリングの段階が行われる例において、最も信頼性が高いサブチャネルの部分集合は、パンクチャリングされたサブチャネルを除外してよい。
最も信頼性が高いサブチャネルの集合におけるサブチャネルの数は、次の数式に従って決定されてよい。
min(length(UM),K+Fp))
ここで、UMは、パンクチャリング後に残るサブチャネルの集合であり、Kは情報ブロックの長さであり、
である。ここで、Mはマザー符号長であり、αは1より大きい値、例えば、α=1.5に設定される。一部の他の実施形態において、Fpは固定値、例えば3かもしれない。段階1930で、符号化器は、最も信頼性が高いサブチャネルの部分集合に含まれるサブチャネルの最小ハミング重み(umin)を決定する。
段階1940で、最も信頼性が高いサブチャネルの部分集合の中で、符号化器は、最小ハミング重み(umin)に等しいハミング重みを有する第1の数のサブチャネルをPCビット用に予約し、1足す最小ハミング重み(1+umin)に等しいハミング重みを有する第2の数のサブチャネルをPCビット用に予約する。符号化器は、例えば、サブチャネルの順序付き系列を逐次方式でスキャンすることを含め、複数の異なる方法でサブチャネルを予約し得る。他の実施例において、Fp個のサブチャネルのある部分集合だけがumin及び/又は1+uminに基づいて予約され、Fp個のサブチャネルの残りの部分集合が別の指標、例えば、K+Fp個の最も信頼性が高いサブチャネルの中の最も信頼性が低いサブチャネルに基づいて予約される。サブチャネルがPCビット用に予約されるか又は別の方法で配分されると、残りのサブチャネルが情報ビット及び凍結ビットに配分される。段階1950で、符号化器は、最も信頼性が高い残りのサブチャネルに情報ビットをマッピングし、最も信頼性が低い残りのサブチャネルに凍結ビットをマッピングする。一部の実施形態において、追加のPCビットが凍結ビット集合から選択されることがある。1つの実装例において、PCビット用に予約されたサブチャネルのハミング重みに等しいハミング重みを有する一部又は全ての凍結サブチャネルが選択され得る。他の実施形態において、全ての凍結サブチャネルがPCビットとして選択され得る。段階1960で、符号化器は、情報ビットのパリティ検査機能に基づいてパリティビット値を設定する。実施例に応じて、サブチャネルが配分される順序は変わり得る。同様に、配分されたサブチャネルにPCビット、情報ビット、又は凍結ビットがマッピングされる順序も変わり得ることが理解される。
一部の実施形態において、Polar符号化を実現するのにArikan符号化器が用いられてよい。図20は、一実施形態に係る符号化器2000の図である。符号化器は、符号コンストラクタ2010と、Arikan符号化器2020と、パンクチャラー2030とを含む。符号コンストラクタ2010は、サブチャネルタイプの集合を決定し得る。各サブチャネルは、情報ビット、PCビット、又は凍結ビットにマッピングされる(又は逆の場合にも同様にマッピングされる)。分極理論によれば、各サブチャネルの信頼性(又は相互チャネル容量)は互いに異なる。信頼性が高いサブチャネルは、情報ビットを送信するために選択される。これらのサブチャネルの位置の集合は、情報集合(I)と呼ばれる。レートマッチングによって生じた信頼性に欠けるサブチャネルを含む信頼性が低いサブチャネルは0に設定され、これらのサブチャネルの位置の集合は、凍結集合(F)と表記される。一部のサブチャネルはPCビットを送信するために選択され、これらのサブチャネルの位置の集合は、PC凍結集合(PF)と表記される。1つのPolarブロックのサブチャネル総数(N)は2の累乗の値になり得、マザー符号ブロック長(N=I+F+PF)と呼ばれることがある。符号コンストラクタ2010はまた、情報ビット値及びサブチャネルタイプに基づいて、サブチャネル値の集合を決定し得る。具体的には、情報ビットにマッピングされたサブチャネルは情報ビットの値に基づいて設定されてよく、PCビットにマッピングされたサブチャネルはパリティ検査機能に基づいて設定されてよく、凍結ビット用のサブチャネルは0に設定される。Arikan符号化器2020は、Nサイズのサブチャネルブロックにクロネッカー行列を乗算し、Nビットの符号語を取得し得る。Arikan符号化器2020は、この乗算を次の式に従って実行し得る。
右端の行列は、ArikanのPolar符号用のN×Nの生成行列である。パンクチャラー2030は、パンクチャリングビット集合(P)によってNビットの符号語をMサイズの符号長にパンクチャリング/ショートニングし得る。符号化率(R)と符号長(M)の組み合わせが与えられると、符号化器及び復号器は両方とも、同じ決定性プロトコルを用いて、この凍結集合(F)、PC凍結集合(PF)、及びショートニング/パンクチャリングビット集合(P)を計算し得る。
マザー符号長NのPolar符号が、長さN/2の2つのPolar符号の入れ子結合としてモデリングされ得る。したがって、長さN/2のPolar符号の順序付き系列が長さNのPolar符号の順序付き系列の部分集合になるように、ビット位置の順序付き系列(インデックス系列)を構築することが可能である。最大符号長Nmax(Nmaxは2の累乗)のPolar符号のそのような系列
は、入れ子方式のNmaxより小さい(2の累乗の)符号長と符号化率とのあらゆる組み合わせに適用される。次にレートマッチングが、低複雑度且つ比較的細かい粒度で行われ得る。代替的に、異なる長さの順序付き系列の生成は(例えば、符号化演算の前に)オフラインで生成されてよく、各順序付き系列に対応するパラメータがルックアップテーブルに格納され得る。
信号対雑音比(SNR)に依存しない信頼性推定が、各サブチャネルの信頼性を計算し且つ最大符号長NmaxのPolar符号の順序付きインデックス系列
を格納することによって行われ得る。サブチャネルの信頼性順位は、重み系列
によって推定されてよく、これは以下の通りに計算され得る。すなわち、iをBn−1Bn−2…B0と定義し、Bj∈{0,1}、j=[0,1,…,n−1]と仮定すると、
になり、ここでn=log2(N)である。
1つの例において、マザー符号長がNmax=16、n=log2(16)=4、及びi=3(iを0011と定義する)とすると、W3は次のように計算することができる。
W3=1×2(0×(1/4))+1×2(1×(1/4))+0×2(2×(1/4))+0*2(3×(1/4))=2.1892
全重みベクトル
は、[0 1 1.1892 2.1892 1.4142 2.4142 2.6034 3.6034 1.6818 2.6818 2.8710 3.8710 3.0960 4.0960 4.2852 5.2852]となり、値が大きくなるほど信頼性が高いことを示す。
が取得されると、サブチャネルは
となるように、分極重みで並べ替えることができる。その結果得られる、格納されるべき系列は
である。
は、符号化及び復号のレートマッチング演算ごとに計算する必要がないように、オンザフライで計算されるか又はメモリから直接ロードされるかのいずれかであってよいことに留意されたい。
パンクチャリングパターンが、降順の2進インデックス[N−1,N−2,…,1,0]をビット反転し、最も高いビット反転値を有するN−M個のインデックスをパンクチャリングされた位置として示すことにより、決定性方法で計算され得る。一例として、Nmax=16のマザー符号長を考えてみる。符号化器及び復号器の両方が系列
を格納する。符号長Mを取得するためにパンクチャリングされるべきビットが4個(4=N−M)あり、[12(1100),13(1101),14(1110),15(1111)](=[M,…N−3,N−2,N−1])の系列を、P=[3(0011),11(1011),7(0111),15(1111)](=[BitRev(M),…,BitRev(N−3),BitRev(N−2),BitRev(N−1)])としてビット反転することにより、長さ4のパンクチャリングパターンPを計算する。
PC凍結集合(PF)は、サブチャネルインデックス及びショートニング/パンクチャリングパターン(P)に関する分極信頼性、クロネッカーカーネルの行重み、及びハミング重みに応じて決定されてよい。最も信頼性が高いサブチャネルの部分集合の中の最小行重み(wmin)と各PC凍結集合のサイズ(f1、f2)とは、符号化率と情報ブロック長とに基づいて決定されてよい。
以下は、情報ビットの系列を符号化する一実施形態に係る5段階技法の一例である。
第1の段階において、符号化器は、
に従って候補PC凍結サブチャネルの数を計算し得る。事前にフラグ付けされたPC凍結ビットの総数は、N−Kより小さい又はそれに等しくてよい(N−Kに等しい場合、全ての凍結ビットはPC凍結ビットとして扱われる)。実際には、Fpは、(N−K)/2によって上限を設けられてよく、αは1より大きい値に設定され、例えば、α=1.5である。一部の他の実施形態において、FpはN、M、及びKの異なる関数を有してもよく、又は固定されてもよい。
第2の段階において、符号化器はパンクチャリング/ショートニングされたサブチャネルを左端に移動させ、次に、残りのサブチャネルを信頼性の昇順で2つの部分集合に分割し得る。これに関する一例が図21に示されている。
第3の段階において、符号化器は、サブチャネルの(K+Fp)部分集合の中で最小行重みを求めてwminと表記し、f1=(Fp+min(Fp,n))/2及びf2=(Fp−min(Fp,n))/2を計算し得る。(K+Fp)部分集合の中で重みwminを有するサブチャネルの数がf1より少ない場合、f1=nに設定し、f1の残数の半分をf2に加える、すなわち、f2=f2+(f1−n)/2である。
第4の段階において、符号化器は、K+Fp部分集合において候補PC凍結サブチャネルを選択し得る。そうする際に、符号化器は、候補PC凍結サブチャネルとして、wminの行重みを有するf1個のサブチャネルを右から左に選択し得、また2×wminの行重みを有するf2個のサブチャネルを右から左に選択し得る。一部の他の実施形態において、Fp個のサブチャネルの部分集合が行重みwminに基づいて決定され得、(K+Fp)部分集合の中の最も信頼性が低いサブチャネルなどの、Fp個のサブチャネルの残りの部分集合が少なくとも1つの他の指標に基づいて決定され得る。
第5の段階において、符号化器は、情報集合、PC凍結集合、及び凍結集合を決定し得る。そうする際に、符号化器は、K個のサブチャネルが選択されるまで、情報サブチャネルを右端から左端に選択し、候補PC凍結サブチャネルを飛ばしてよい。次に符号化器は、残りのサブチャネルを凍結サブチャネルとして選択し、候補PC凍結サブチャネルの行重み(すなわち、wmin及び2×wmin)に等しい行重みを有する凍結サブチャネル位置から追加のPC凍結サブチャネルとして選択し得る。一部の他の実施形態において、全ての凍結サブチャネルが、追加のPC凍結サブチャネルとして選択されることがある。あるPC凍結ビットが1番目の情報ビットの前にある場合、そのPC凍結ビットは凍結ビットに相当し得る。
符号化器は、レジスタでの巡回シフトに基づいて、パリティ検査機能を実行し得る。レジスタの長さは素数であってよい。符号化器は、p長巡回シフトレジスタ、y[0],…,y[p−1]をi=0〜N−1について0に初期化し得る。1番目のビットから自然数順に開始して、符号化器はi番目のビットaiを読み出し、レジスタをビット単位で巡回左シフトし得る。aiが情報ビットである場合、ビット値は変わらないままであり、符号化器はy[0]=(ai XOR y[0])に更新する。aiがPCビットである場合、符号化器はai=y[0]に設定する。aiが凍結ビットである場合、符号化器はai=0に設定する。
図22は、PC(パリティ検査)−SCL復号器により用いられる一実施形態に係る循環シフトレジスタ操作を示す。PC機能がPC行列Wで定義され得る。次の例は、符号ブロック長がM=16であり、情報ビット長がK=8であると想定する。このことから、次のようなサブチャネルの順序付き系列Qを取得することが可能である。
[u
0,u
1,u
2,u
4,u
8,u
3,u
5,u
6,u
9,u
10,u
12,u
7,u
11,u
13,u
14,u
15]上記に提供した数式(例えば
など)に基づいて、F
pは6、w
min及びnはそれぞれ2及び3と計算される。n<F
pなので、行重みw
min=2を有するf
1=3個のサブチャネルと、行重み2×
w min =4を有するf
2=3個のサブチャネルと
は、PC凍結ビット
として予約される候補の数のサブチャネルである。降順の信頼性順位により、これらのPC凍結ビットは[u
2,u
4,u
8,u
9,u
10,u
12]である。情報ビット及び追加の凍結ビットは、Qに従ってチャネル信頼性に基づきマッピングされる。情報ビット集合は、[u
3,u
5,u
6,u
7,u
11,u
13,u
14,u
15]であり、凍結ビット集合は[u
0,u
1,u
2,u
4,u
8,u
9,u
10,u
12]である。行重み2及び4の凍結ビットを選択することにより、PC凍結ビット集合は[u
1,u
2,u
4,u
8,u
9,u
10,u
12]である。最終的に、p=5の素数長巡回レジスタが、[u
1,u
2,u
4,u
8,u
9,u
10,u
12]のPC凍結ビットごとにパリティ機能を構築するのに用いられる。巡回レジスタは、一定間隔5でビットを接続する。特に、u
1、u
2、u
4、及びu
9が静的凍結ビットに相当する。追加的に、u
8、u
10、及びu
12が、(それぞれ)[u
3,u
8]、[u
5,u
10]、及び[u
7,u
12]のパリティ機能に基づいてPCビットにマッピングされ、u
3、u
5、及びu
7は情報ビットである。図23は、この例のパリティ検査行列を示す。図示するように、u
0、u
1、u
2、及びu
4を静的凍結ビットとして設定し、u
8=u
3、u
10=u
5、及びu
12=u
7のようなセルフパリティ検査機能に基づいてu
8、u
10、及びu
12をPCビットとして設定することにより、Wが取得される。表
4は、本開示を通じて用いられる表記を載せている。
図24は、情報ビットの系列を符号化する一実施形態に係る方法2400を示し、これは符号化器により実行され得る。段階2410で、符号化器は、
(iは、サブチャネルのインデックス、Bjは、重要性が最も低い桁から数えたサブチャネルiの2進表現の(j+1)番目の桁のビット値{0又は1}である)に従って重み系列を計算し、Wiを昇順で並べ替え、順序付きインデックス系列Qiを保存する。段階2420で、符号化器はパンクチャリング/ショートニングパターンを、例えば、P=[BitRev(M),BitRev(M+1),…BitRev(N−1)]に従って計算する。他のパンクチャリング/ショートニングパターンもあり得るかもしれない。段階2430で、符号化器は、
でFpを計算し、サブチャネルを(重み又は信頼性の昇順で)3つの部分集合、N−M、M−K−Fp、K+Fpに分割する。K+Fp部分集合は、(パンクチャリング/ショートニングを考慮すると)最も信頼性が高いサブチャネルを含む。符号化器はまた、(K+Fp)部分集合内の最小行重みとしてwminを求め、同じwminを有する(K+Fp)部分集合内のサブチャネルの数としてnを求め、f1=(Fp+min(Fp,n))/2を計算し、f2=(Fp−min(Fp,n))/2を計算する。段階2440で、符号化器は、重みwminを有するf1個のサブチャネル及び重み2×wminを有するf2個のサブチャネルを選択することにより、K+Fp部分集合においてPCビット用の候補サブチャネルを予約又は別の方法で配分する。一部の実施形態において、Fpは固定値、例えば3であってよい。他の実施形態において、PCビット用のFp個のサブチャネルの部分集合だけが、行重みwmin及び/又は2×wminに基づいて選択され、PCビット用のFp個のサブチャネルの残りの部分集合が、少なくとも他の指標に基づいて、例えば、最も信頼性が高いK+Fp個のサブチャネルの中の最も信頼性が低いサブチャネルに基づいて選択される。候補PCサブチャネルが配分されると、符号化器はまた、K個の(最も信頼性が高い残りの)サブチャネルをK+Fp部分集合に配分し(すなわち、予約された候補PCサブチャネルを飛ばし)、情報ビットをそこにマッピングして情報集合Iを取得する。符号化器はまた、凍結ビットを残りのサブチャネル(例えば、N−M部分集合及び/又はM−K−Fp部分集合)にマッピングして、凍結集合(F)を取得する。他の実施形態において、符号化器は、PCビット用の追加のサブチャネルを凍結集合Fから予約又は配分する。凍結集合Fから選択された追加のサブチャネルは、wmin及び/又は2×wminに等しい行重みを有してよく、又は全ての凍結集合Fは、PCビット用の追加のサブチャネルとして扱われることがある。予約されたサブチャネルは、PCビットにマッピングされて、PC凍結集合PFを取得し得る。段階2450で、符号化器は、レジスタの巡回シフトを用いるパリティ検査機能に基づいてPCビットの値を設定する。レジスタは、素数に等しい長さを有してよい。実施例に応じて、サブチャネルが配分される順序は変わり得る。同様に、配分されたサブチャネルにPCビット、情報ビット、又は凍結ビットがマッピングされる順序も変わり得る。
図25は、本明細書で説明された符号化方法を実行する一実施形態に係る処理システム2500のブロック図を示し、この処理システムはホストデバイスに組み込まれ得る。図示するように、処理システム2500は、プロセッサ2504と、メモリ2506と、インタフェース2510〜2514とを含み、本処理システムは、図25に示すように構成されてよい(又はそうでなくてもよい)。プロセッサ2504は、計算及び/又は他の処理関連タスク(本明細書で説明された選択演算、マッピング演算、及び/又は他の符号化演算又は復号演算など)を行うように構成された任意のコンポーネント又はコンポーネントの集合であってよく、メモリ2506は、プロセッサ2504が実行するプログラミング及び/又は命令を格納するように構成された任意のコンポーネント又はコンポーネントの集合であってよい。一実施形態において、メモリ2506は非一時的コンピュータ可読媒体を含む。インタフェース2510、2512、2514は、処理システム2500が他のデバイス/コンポーネント及び/又はユーザと通信することを可能にするように、例えば、符号化データの送信又は符号化データに基づく信号の受信を可能にするように構成された任意のコンポーネント又はコンポーネントの集合であってよい。例えば、インタフェース2510、2512、2514のうちの1つ又は複数は、プロセッサ2504からのデータ、制御メッセージ又は管理メッセージを、ホストデバイス及び/又はリモートデバイスにインストールされたアプリケーションに伝達するように構成されてよい。別の例として、インタフェース2510、2512、2514のうちの1つ又は複数は、ユーザ又はユーザデバイス(例えば、パーソナルコンピュータ(PC)など)が処理システム2500とやり取りする/通信することを可能にするように構成されてよい。処理システム2500は、長期記憶装置(例えば、不揮発性メモリなど)などの、図25に示していない追加のコンポーネントを含んでよい。
一部の実施形態において、処理システム2500は、通信ネットワークにアクセスしているか、又はそうでなければ通信ネットワークの一部であるネットワークデバイスに含まれる。1つの例として、処理システム2500は、無線又は有線通信ネットワークのネットワーク側デバイス、例えば、基地局、中継局、スケジューラ、コントローラ、ゲートウェイ、ルータ、アプリケーションサーバ、又は通信ネットワーク内の任意の他のデバイスなどに含まれる。他の実施形態において、処理システム2500は、無線又は有線通信ネットワークにアクセスするユーザ側デバイス、例えば、移動局、ユーザ機器(UE)、無線デバイス、パーソナルコンピュータ(PC)、タブレット、ウェアラブル通信デバイス(例えば、スマートウォッチなど)、又は通信ネットワークにアクセスするように構成された任意の他のデバイスなどに含まれる。
一部の実施形態において、インタフェース2510、2512、2514のうちの1つ又は複数は、通信ネットワークを介してシグナリングを送受信するように構成された送受信機に処理システム2500を接続する。図26は、通信ネットワークを介してシグナリング又は符号化データを送受信するように構成された送受信機2600のブロック図を示す。送受信機2600は、ホストデバイスに組み込まれ得る。図示するように、送受信機2600は、ネットワーク側インタフェース2602と、カプラ2604と、送信機2606と、受信機2608と、信号プロセッサ2610と、デバイス側インタフェース2612とを含む。ネットワーク側インタフェース2602は、無線又は有線通信ネットワークを介してシグナリングを送信又は受信するように構成された任意のコンポーネント又はコンポーネントの集合を含んでよい。カプラ2604は、ネットワーク側インタフェース2602を介して双方向通信を容易にするように構成された任意のコンポーネント又はコンポーネントの集合を含んでよい。送信機2606は、ネットワーク側インタフェース2602を介して送信するのに好適な変調搬送波信号にベースバンド信号を変換するように構成された任意のコンポーネント又はコンポーネントの集合(例えば、アップコンバータ、電力増幅器など)を含んでよい。受信機2608は、ネットワーク側インタフェース2602を介して受信される搬送波信号をベースバンド信号に変換するように構成された任意のコンポーネント又はコンポーネントの集合(例えば、ダウンコンバータ、低雑音増幅器など)を含んでよい。信号プロセッサ2610は、デバイス側インタフェース2612を介して通信するのに好適なデータ信号にベースバンド信号を変換し、又は逆の場合にも同様に変換するように構成された任意のコンポーネント又はコンポーネントの集合を含んでよい。デバイス側インタフェース2612は、信号プロセッサ2610とホストデバイス内のコンポーネント(例えば、処理システム2500、ローカルエリアネットワーク(LAN)ポートなど)との間でデータ信号を伝達するように構成された任意のコンポーネント又はコンポーネントの集合を含んでよい。送受信機2600は、任意のタイプの通信媒体を介してシグナリングを送受信してよい。一部の実施形態において、送受信機2600は、無線媒体を介してシグナリングを送受信する。例えば、送受信機2600は、セルラープロトコル(例えば、ロングタームエボリューション(LTE)など)、無線ローカルエリアネットワーク(WLAN)プロトコル(例えば、Wi−Fiなど)、又は任意の他のタイプの無線プロトコル(例えば、Bluetooth(登録商標)、近距離無線通信(NFC)など)などの無線通信プロトコルに従って通信するように構成された無線送受信機であってよい。そのような実施形態において、ネットワーク側インタフェース2602は、1つ又は複数のアンテナ/放射素子を含む。例えば、ネットワーク側インタフェース2602は、単一のアンテナ、複数の別個のアンテナ、又はマルチレイヤ通信用に構成されたマルチアンテナアレイ(例えば、単一入力多出力(SIMO)、多入力単一出力(MISO)、多入力多出力(MIMO)など)を含んでよい。他の実施形態において、送受信機2600は、例えば、ツイストペアケーブル、同軸ケーブル、光ファイバなどの有線媒体を介してシグナリングを送受信する。特定の処理システム及び/又は送受信機が、図示されたコンポーネントの全てを利用してもよく、又はそれらのコンポーネントの一部だけを利用してもよく、組み込みの程度はデバイスによって変わり得る。
本発明の様々な例に従って、Polar符号を用いてデータを符号化する方法及び装置が開示される。第1の例では、Polar符号でデータを符号化するデバイスが提供される。本デバイスは、サブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて、1つ又は複数のサブチャネルを1つ又は複数のパリティビットに配分するように構成される。本デバイスはさらに、1つ又は複数のパリティビットに配分された1つ又は複数のサブチャネルに情報ビットをマッピングすることなく、サブチャネルの集合における残りのサブチャネルに情報ビットを残りのサブチャネルの信頼性に基づいてマッピングするように構成される。本デバイスはさらに、Polar符号を用いて情報ビット及び1つ又は複数のパリティビットを符号化して、符号化ビットストリームを取得するように構成される。最終的に、本デバイスは符号化ビットストリームを送信するように構成される。
第2の例では、第1の例のデバイスが提供され、サブチャネルの行重みは、クロネッカー行列の行に含まれる1の数を表し、行はサブチャネルに対応する。
第3の例では、第1又は第2の例のいずれかのデバイスが提供され、行重みは少なくとも最小行重みを含む。
第4の例では、第1から第3の例のいずれかのデバイスがさらに、サブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて1つ又は複数のサブチャネルを1つ又は複数のパリティビットに配分するために、サブチャネルの部分集合において最小行重みに等しい行重みを有する複数のサブチャネルを1つ又は複数のパリティビットに配分するように構成される。
第5の例では、第4の例のデバイスが提供され、配分されるサブチャネルの数は1つである。第6の例では、第4の例のデバイスが提供され、集合内のサブチャネルはその信頼性に基づいて順番に並べられ、サブチャネルの順序付き系列を形成し、サブチャネルの部分集合は、順序付き系列において最も信頼性が高いサブチャネルの部分集合を含む。第7の例では、第4の例のデバイスが提供され、最も信頼性が高いサブチャネルの部分集合は、情報ビットを搬送するK個のサブチャネルを含む。第8の例では、第4の例のデバイスが提供され、最も信頼性が高いサブチャネルの部分集合はK+F
p
個のサブチャネルを含み、Kは情報ビットと関連付けられた情報ブロック長であり、F
p
は1つ又は複数のパリティビットの数を示す。第9の例では、第4の例のデバイスが提供され、サブチャネルの部分集合において最小行重みに等しい行重みを有する最も信頼性が高いサブチャネルが1つ又は複数のパリティビットに配分される。
第10の例では、第1から第9の例のいずれかのデバイスが提供され、1つ又は複数のパリティビットは1つ又は複数のパリティ検査(PC)ビットを含む。第11の例では、第10の例のデバイスがさらに、Polar符号を用いて情報ビット及び1つ又は複数のPCビットを符号化して符号化ビットストリームを取得するために、1つ又は複数のPCビットの1つ又は複数の値を情報ビットの値に応じて決定し、PCビットに配分された少なくとも1つ又は複数のサブチャネルに1つ又は複数のPCビットをマッピングするように構成される。
(項目1)
デバイス用の、データを符号化する方法であって、上記方法は、
サブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて、1つ又は複数のサブチャネルを1つ又は複数のパリティビットに配分する段階と、
上記1つ又は複数のパリティビットに配分された上記1つ又は複数のサブチャネルに情報ビットをマッピングすることなく、上記サブチャネルの集合の残りのサブチャネルに上記情報ビットを上記残りのサブチャネルの信頼性に基づいてマッピングする段階と、
Polar符号を用いて上記情報ビット及び上記1つ又は複数のパリティビットを符号化して、符号化ビットストリームを取得する段階と、
上記符号化ビットストリームを送信する段階と
を備える、方法。
(項目2)
サブチャネルの上記行重みは、クロネッカー行列の行に含まれる1の数を表し、上記行は上記サブチャネルに対応する、項目1に記載の方法。
(項目3)
上記行重みは少なくとも最小行重みを含む、項目1又は2に記載の方法。
(項目4)
サブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて、1つ又は複数のサブチャネルを1つ又は複数のパリティビットに配分する段階は、
サブチャネルの上記部分集合における上記最小行重みに等しい行重みを有する複数のサブチャネルを上記1つ又は複数のパリティビットに配分する段階を含む、項目1から3のいずれか一項に記載の方法。
(項目5)
配分される上記サブチャネルの数は1つである、項目4に記載の方法。
(項目6)
上記集合内の上記サブチャネルは、その信頼性に基づいて順番に並べられ、サブチャネルの順序付き系列を形成し、サブチャネルの上記部分集合は、上記順序付き系列において最も信頼性が高いサブチャネルの部分集合を含む、項目4に記載の方法。
(項目7)
上記最も信頼性が高いサブチャネルの部分集合は、上記情報ビットを搬送するK個のサブチャネルを含む、項目4に記載の方法。
(項目8)
上記最も信頼性が高いサブチャネルの部分集合は、K+F
p
個のサブチャネルを含み、Kは上記情報ビットと関連付けられた情報ブロック長であり、F
p
は上記1つ又は複数のパリティビットの数を示す、項目4に記載の方法。
(項目9)
サブチャネルの上記部分集合において上記最小行重みに等しい行重みを有する最も信頼性が高いサブチャネルが、上記1つ又は複数のパリティビットに配分される、項目4に記載の方法。
(項目10)
上記1つ又は複数のパリティビットは、1つ又は複数のパリティ検査(PC)ビットを含む、項目1から9のいずれか一項に記載の方法。
(項目11)
Polar符号を用いて上記情報ビット及び上記1つ又は複数のPCビットを符号化して、上記符号化ビットストリームを取得する段階は、
上記情報ビットの値に応じて上記1つ又は複数のPCビットの1つ又は複数の値を決定する段階と、
上記PCビットに配分された少なくとも上記1つ又は複数のサブチャネルに上記1つ又は複数のPCビットをマッピングする段階と
を含む、項目10に記載の方法。
(項目12)
データをPolar符号で符号化するデバイスであって、上記デバイスは、
サブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて、1つ又は複数のサブチャネルを1つ又は複数のパリティビットに配分し、
上記1つ又は複数のパリティビットに配分された上記1つ又は複数のサブチャネルに情報ビットをマッピングすることなく、上記サブチャネルの集合の残りのサブチャネルに上記情報ビットを上記残りのサブチャネルの信頼性に基づいてマッピングし、
Polar符号を用いて上記情報ビット及び上記1つ又は複数のパリティビットを符号化して、符号化ビットストリームを取得し、
上記符号化ビットストリームを送信する
ように構成される、デバイス。
(項目13)
サブチャネルの上記行重みは、クロネッカー行列の行に含まれる1の数を表し、上記行は上記サブチャネルに対応する、項目12に記載のデバイス。
(項目14)
上記行重みは少なくとも最小行重みを含む、項目12又は13に記載のデバイス。
(項目15)
サブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて、1つ又は複数のサブチャネルを1つ又は複数のパリティビットに配分するために、上記デバイスはさらに、
サブチャネルの上記部分集合における上記最小行重みに等しい行重みを有する複数のサブチャネルを上記1つ又は複数のパリティビットに配分するように構成される、項目12から14のいずれか一項に記載のデバイス。
(項目16)
配分される上記サブチャネルの数は1つである、項目15に記載のデバイス。
(項目17)
上記集合内の上記サブチャネルは、その信頼性に基づいて順番に並べられ、サブチャネルの順序付き系列を形成し、サブチャネルの上記部分集合は、上記順序付き系列において最も信頼性が高いサブチャネルの部分集合を含む、項目15に記載のデバイス。
(項目18)
上記最も信頼性が高いサブチャネルの部分集合は、上記情報ビットを搬送するK個のサブチャネルを含む、項目15に記載のデバイス。
(項目19)
上記最も信頼性が高いサブチャネルの部分集合は、K+F
p
個のサブチャネルを含み、Kは上記情報ビットと関連付けられた情報ブロック長であり、F
p
は上記1つ又は複数のパリティビットの数を示す、項目15に記載のデバイス。
(項目20)
サブチャネルの上記部分集合において上記最小行重みに等しい行重みを有する最も信頼性が高いサブチャネルが、上記1つ又は複数のパリティビットに配分される、項目15に記載のデバイス。
(項目21)
上記1つ又は複数のパリティビットは、1つ又は複数のパリティ検査(PC)ビットを含む、項目12から20のいずれか一項に記載のデバイス。
(項目22)
Polar符号を用いて上記情報ビット及び上記1つ又は複数のPCビットを符号化して、上記符号化ビットストリームを取得するために、上記デバイスはさらに
上記情報ビットの値に応じて上記1つ又は複数のPCビットの1つ又は複数の値を決定し、
上記PCビットに配分された少なくとも上記1つ又は複数のサブチャネルに上記1つ又は複数のPCビットをマッピングする
ように構成される、項目21に記載のデバイス。
(項目23)
デバイス用の復号方法であって、
符号化ビットストリームに基づいて信号を別のデバイスから受信する段階であって、上記符号化ビットストリームは情報ビット及び1つ又は複数のパリティビットをPolar符号で符号化することにより生成され、上記1つ又は複数のパリティビットは、サブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて配分された1つ又は複数のサブチャネルにマッピングされ、上記情報ビットは上記サブチャネルの集合の残りのサブチャネルに、上記残りのサブチャネルの信頼性に基づいてマッピングされる、段階と、
上記Polar符号及び上記1つ又は複数のパリティビットを用いて上記信号を復号して、上記情報ビットを取得する段階と
を備える、方法。
(項目24)
Polar符号で復号するように構成されたデバイスであって、上記デバイスは、
符号化ビットストリームに基づいて信号を別のデバイスから受信するように構成されたインタフェースであって、上記符号化ビットストリームは情報ビット及び1つ又は複数のパリティビットをPolar符号で符号化することにより生成され、上記1つ又は複数のパリティビットは、サブチャネルの集合の部分集合におけるサブチャネルの行重みに基づいて配分された1つ又は複数のサブチャネルにマッピングされ、上記情報ビットは上記サブチャネルの集合の残りのサブチャネルに、上記残りのサブチャネルの信頼性に基づいてマッピングされる、インタフェースと、
上記Polar符号及び上記1つ又は複数のパリティビットを用いて上記信号を復号して、上記情報ビットを取得するように構成された復号器と
を備える、デバイス。