JP6771181B2 - 符号化装置、符号化方法およびプログラム。 - Google Patents

符号化装置、符号化方法およびプログラム。 Download PDF

Info

Publication number
JP6771181B2
JP6771181B2 JP2016130872A JP2016130872A JP6771181B2 JP 6771181 B2 JP6771181 B2 JP 6771181B2 JP 2016130872 A JP2016130872 A JP 2016130872A JP 2016130872 A JP2016130872 A JP 2016130872A JP 6771181 B2 JP6771181 B2 JP 6771181B2
Authority
JP
Japan
Prior art keywords
coding
input
symbol
output
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2016130872A
Other languages
English (en)
Other versions
JP2018006987A (ja
Inventor
秀樹 落合
秀樹 落合
利樹 松峯
利樹 松峯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yokohama National University NUC
Original Assignee
Yokohama National University NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yokohama National University NUC filed Critical Yokohama National University NUC
Priority to JP2016130872A priority Critical patent/JP6771181B2/ja
Publication of JP2018006987A publication Critical patent/JP2018006987A/ja
Application granted granted Critical
Publication of JP6771181B2 publication Critical patent/JP6771181B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Description

本発明は、符号化装置、符号化方法およびプログラムに関する。
誤り訂正符号の1つに畳込み符号があり、この畳込み符号に関連して幾つかの技術が提案されている。
例えば、非特許文献1では、格子構造を有する符号アルファベットを対象とする再帰型畳込み格子符号(Recursive Convolutional Lattice Code(s);RCLC)を行う符号化装置を並列に配置して、ターボシグナル符号(Turbo Signal Code(s))と呼ばれる符号化を行う技術が提案されている。
非特許文献1に記載の技術を用いれば、比較的容易に直交振幅変調を用いて通信を行うことができる。かつ、非特許文献1に記載の技術を用いれば、復号側でターボ復号(Turbo Decode(s))と類似の反復復号を行うことができ、これによって比較的高精度に復号を行うことができる。このように、非特許文献1に記載の技術によれば、直交振幅変調を用いて通信を行い、かつ、比較的高い誤り訂正能力を得ることができ、これによって優れた特性(比較的高い伝送路容量)を得られる。
Patrick Mitran, and Hideki Ochiai、「Parallel Concatenated Convolutional Lattice Codes With Constrained States」、IEEE Transactions On Communications、2015年4月、第63巻、第4号、p.1081−1090
優れた特性を得られる符号化において、さらに、伝送レートが高いことが好ましい。
本発明は、比較的容易に直交振幅変調を用いて通信を行うことができ、比較的高精度な復号が可能であり、かつ、伝送レートが比較的高い符号化装置、符号化方法およびプログラムを提供する。
本発明の第1の態様によれば、符号化装置は、2元シンボルを入力として、2の自然数乗以外かつ3以上の自然数であるL元のシンボルを出力する畳込み演算を用いた符号化を行う第一符号化部と、前記第一符号化部によって得られた前記L元のシンボルの系列の要素に対して、時系列で値が変化するオフセットを加えるオフセット処理部と、前記オフセット処理部が前記オフセットを加えた前記系列をL次の正方行列の要素の系列に変換する変換部と、前記L次の正方行列の要素の系列をインタリーブするインタリーバと、前記インタリーバによってインタリーブされた前記要素を入力として前記L次の正方行列の要素を出力する畳込み演算を行い、当該畳込み演算の出力を当該畳込み演算の入力側へフィードバックする符号化を行う第二符号化部と、を備える。
本発明の第の態様によれば、符号化方法は、符号化装置が、2元シンボルを入力として、2の自然数乗以外かつ3以上の自然数であるL元のシンボルを出力する畳込み演算を用いた符号化を行う第一符号化ステップと、前記第一符号化ステップで得られた前記L元のシンボルの系列の要素に対して、時系列で値が変化するオフセットを加えるステップと、前記符号化装置が、前記オフセットを加えた前記系列をL次の正方行列の要素の系列に変換する変換ステップと、前記符号化装置が、前記L次の正方行列の要素の各々をインタリーブするインタリーブステップと、前記符号化装置が、前記インタリーブステップでインタリーブされた前記要素を入力として前記L次の正方行列の要素を出力する畳込み演算を行い、当該畳込み演算の出力を当該畳込み演算の入力側へフィードバックする符号化を行う第二符号化ステップと、を備える。
本発明の第の態様によれば、プログラムは、コンピュータに、2元シンボルを入力として、2の自然数乗以外かつ3以上の自然数であるL元のシンボルを出力する畳込み演算を用いた符号化を行う第一符号化ステップと、前記第一符号化ステップで得られた前記L元のシンボルの系列の要素に対して、時系列で値が変化するオフセットを加えるステップと、前記オフセットを加えた前記系列をL次の正方行列の要素の系列に変換する変換ステップと、前記L次の正方行列の要素の各々をインタリーブするインタリーブステップと、前記インタリーブステップでインタリーブされた前記要素を入力として前記L次の正方行列の要素を出力する畳込み演算を行い、当該畳込み演算の出力を当該畳込み演算の入力側へフィードバックする符号化を行う第二符号化ステップと、を実行させるためのプログラムである。
本発明によれば、比較的容易に直交振幅変調を用いて通信を行うことができ、比較的高精度な復号が可能であり、かつ、比較的高い伝送レートを得られる。
本発明の実施形態に係る通信システムの装置構成を示す概略構成図である。 同実施形態に係る符号化装置の機能構成を示す概略構成図である。 同実施形態に係るBILO畳込み符号化における入出力を示す説明図である。 同実施形態で、入力シンボル数、出力シンボル数がいずれも1の場合の第一符号化部の構成例を示す説明図である。 同実施形態で、入力シンボル数、出力シンボル数がいずれも1であり、Lが3である場合の、第一符号化部の構成例を示す説明図である。 同実施形態で、Lが3の場合に畳込み演算部が行う乗算の例を示す説明図である。 同実施形態で、Lが3の場合に畳込み演算部が行う加算の例を示す説明図である。 図5の構成による符号化のトレリス線図である。 同実施形態で、入力シンボル数、出力シンボル数がいずれも1であり、Lが5である場合の、第一符号化部の構成例を示す説明図である。 同実施形態で、Lが5の場合に畳込み演算部が行う乗算の例を示す説明図である。 同実施形態で、Lが5の場合に畳込み演算部が行う加算の例を示す説明図である。 図9の構成による符号化のトレリス線図である。 同実施形態で、入力シンボル数、出力シンボル数がいずれも1であり、Lが4である場合の、第一符号化部の構成例を示す説明図である。 同実施形態で、Lが4の場合に畳込み演算部が行う乗算の例を示す説明図である。 同実施形態で、Lが4の場合に畳込み演算部が行う加算の例を示す説明図である。 図13の構成による符号化のトレリス線図である。 同実施形態で、入力シンボル数がm、かつ、出力シンボル数が1の場合の第一符号化部の構成例を示す説明図である。 同実施形態で、入力シンボル数、出力シンボル数がいずれも2であり、シフトレジスタのメモリの段数Pが1である場合の、第一符号化部の構成例を示す説明図である。 同実施形態で、入力シンボル数、出力シンボル数がいずれも2であり、シフトレジスタ111のメモリの段数Pが2である場合の、第一符号化部の構成例を示す説明図である。 同実施形態で、入力シンボル数、出力シンボル数がいずれも2であり、Lが3である場合の、第一符号化部の構成例を示す説明図である。 同実施形態で、入力シンボル数が1、出力シンボル数が2であり、Lが2である場合の、第一符号化部の構成例を示す説明図である。 図21の構成による符号化のトレリス線図である。 同実施形態に係るオフセット処理部の機能構成を示す概略ブロック図である。 同実施形態に係るオフセット処理部が、第一符号化部からの出力シンボルに加えるオフセットの値の例を示す説明図である。 同実施形態に係る第二符号化部の構成例を示す説明図である。 同実施形態に係る復号装置の機能構成を示す概略ブロック図である。 2ステージずつ統合したトレリス線図の例を示す説明図である。 同実施形態に係るトレリスの状態遷移の例を示す説明図である。 同実施形態に係るシミュレーション結果を示すグラフである。 同実施形態にて、再帰的な符号化を行う第一符号化部の構成の例を示す説明図である。
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本発明の実施形態に係る通信システムの装置構成を示す概略構成図である。図1に示すように、通信システム1は、第一端末装置11と、第一通信装置12と、第二通信装置14と、第二端末装置16とを備える。第一通信装置12は、送信ユニット13と、符号化装置100とを備える。第二通信装置14は、受信ユニット15と、復号装置200とを備える。
かかる構成により通信システム1では、第一通信装置12および第二通信装置14が、第一端末装置11と第二端末装置16との通信を仲介する。
具体的には、第一端末装置11は、送信対象データをバイナリデータ(Binary Data)にて第一通信装置12へ出力する。第一通信装置12では、符号化装置100が、第一通信装置12からのバイナリデータをQAM(Quadrature Amplitude Modulation、直交振幅変調)のシンボル系列に変換する符号化を行い、得られたシンボル系列を送信ユニット13へ出力する。
ここでいうQAMのシンボルは、QAMのコンステレーション(Constellation)に1対1に対応付けられる符号アルファベットに含まれるシンボルである。ここでいう符号化アルファベットは、符号化によって得られる符号を構成するシンボルの集合である。QAMのシンボル系列は、QAMのシンボルの系列(要素の順番が定められている並び)である。
送信ユニット13は、符号化装置100からのシンボル系列に対してデジタル−アナログ変換等の処理を行い、送信対象データをQAMで無線送信する。
第二通信装置14では、受信ユニット15が送信ユニット13からの無線信号を受信してアナログ−デジタル変換等の処理を行い、受信データをQAMのシンボル系列にて復号装置200へ出力する。復号装置200は、受信ユニット15からのQAMのシンボル系列をバイナリデータに復号し、得られたバイナリの復号データを第二端末装置16へ出力する。
第一端末装置11及び第二端末装置16は、通信システム1に含まれていてもよいし、通信システム1の外部の装置として構成されていてもよい。
また、通信システム1への情報シンボルの出力元の第一端末装置11は、図1に示す1つに限らず複数であってもよい。また、通信システム1からの情報シンボルの出力先の第二端末装置16は、図1に示す1つに限らず複数であってもよい。例えば、第一端末装置11と第二端末装置16との間に複数の呼が発生する場合に、通信システム1が、時分割多重、周波数分割多重又は符号分割多重など何らかの多重方式でこれら複数の呼の通信経路を確立するようにしてもよい。
また、図1では、符号化装置100と送信ユニット13との組み合わせが1つの装置(第一通信装置12)に含まれ、第一端末装置11が別の装置として構成されている場合の例を示しているが、第一端末装置11、符号化装置100及び送信ユニット13の構成はこれに限らない。符号化装置100と送信ユニット13とが別個の装置として構成されていてもよい。また、第一端末装置11と符号化装置100との組み合わせが1つの装置に含まれて構成されていてもよい。例えば、第一端末装置11、符号化装置100、送信ユニット13がそれぞれ別個の装置として構成されていてもよいし、第一端末装置11、符号化装置100及び送信ユニット13の組み合わせが1つの装置に含まれて構成されていてもよい。
また、図1では、復号装置200と受信ユニット15との組み合わせが1つの装置(第二通信装置14)に含まれ、第二端末装置16が別の装置として構成されている場合の例を示しているが、第二端末装置16、復号装置200及び受信ユニット15の構成はこれに限らない。復号装置200と受信ユニット15とが別個の装置として構成されていてもよい。また、第二端末装置16と復号装置200との組み合わせが1つの装置に含まれて構成されていてもよい。例えば、第二端末装置16、復号装置200、受信ユニット15がそれぞれ別個の装置として構成されていてもよいし、第二端末装置16、復号装置200及び受信ユニット15の組み合わせが1つの装置に含まれて構成されていてもよい。
第一端末装置11、符号化装置100がそれぞれ別個の装置として構成されている場合、第一端末装置11と符号化装置100とが有線にて通信を行うようにしてもよいし無線通信を行うようにしてもよい。また、第二端末装置16、復号装置200がそれぞれ別個の装置として構成されている場合、第二端末装置16と復号装置200とが有線にて通信を行うようにしてもよいし無線通信を行うようにしてもよい。
また、第一端末装置11と第二端末装置16との通信は、一方向の通信であってもよいし、双方向の通信であってもよい。特に、第一通信装置12が第二通信装置14へ一方的にデータを送信するようにしてもよいし、第二通信装置14から第一通信装置12へもデータを送信するようにしてもよい。
第二通信装置14から第一通信装置12へデータを送信する場合、その通信方式は、第一通信装置12から第二通信装置14へのデータ送信の通信方式と同じであってもよいし異なっていてもよい。
図2は、符号化装置100の機能構成を示す概略構成図である。図2に示すように、符号化装置100は、第一符号化部110と、オフセット処理部120と、変換部130と、インタリーバ140と、第二符号化部150とを備える。
第一符号化部110は、2元シンボルを入力としてL元(Lは、L≧2の整数)のシンボルを出力する畳込み演算を用いた符号化を行う。第一符号化部110は、外符号に該当する。
以下では、2元シンボルを入力としてL元のシンボルを出力する符号化をBILO(Binary-Input L-ary-Output)と称する。また、2元シンボルを入力として2元以上であるL元のシンボルを出力する畳込み演算を用いた符号化をBILO畳込み符号化、または、BILOCC(Binary-Input L-ary-Output Convolution Code(s))と称する。一般的な畳込み符号化が2元シンボルの入出力にて行われるのに対し、BILO畳込み符号化は、畳込み符号化を2元シンボル入力かつL元シンボル出力に拡張した符号化である。
ここでは、第一符号化部110が、非再帰型BILO畳込み符号化を行う場合を例に説明する。非再帰型BILO畳込み符号化(非再帰型BILOCCとも称する)は、畳込み演算の出力を畳込み演算に入力するフィードバックが無いBILO畳込み符号化である。
一方、畳込み演算の出力を畳込み演算に入力するフィードバックが有るBILO畳込み符号化を、再帰型BILO畳込み符号化、または、再帰型BILOCCと称する。第一符号化部110が再帰型BILO畳込み符号化を行う場合については後述する。
図3は、BILO畳込み符号化における入出力を示す説明図である。従って、図3は、第一符号化部110への入出力を示す。図3は、非再帰型BILO畳込み符号化と、再帰型BILO畳込み符号化とに共通である。
図3で、u、u、・・・、um−1の各々は、2元シンボルを示す。mは、m≧1の整数である。このように、BILO畳込み符号化における入力シンボル数mは、1であってもよいし2以上であってもよい。2元シンボルの符号アルファベットを{0,1}と表記すると、BILO畳込み符号化における入力符号アルファベットは、{0,1}と表される。
また、c、c、・・・、cl−1の各々は、L元シンボルを示す。lは、l≧1の整数である。また、上述したように、Lは、L≧2の整数である。このように、BILO畳込み符号化における出力シンボル数lは、1であってもよいし2以上であってもよい。L元シンボルの符号アルファベットを{0,1,・・・,L−1}と表記すると、BILO畳込み符号化における出力符号アルファベットは、{0,1・・・,L−1}と表される。
m、L及びlの値は、L×l>mとなるように設定される(ここでは、「×」はスカラ積を示す)。これにより、BILO畳込み符号化に冗長性が生じ、復号の際の誤り訂正能力を得られる。
図4は、入力シンボル数、出力シンボル数がいずれも1の場合の第一符号化部110の構成例を示す説明図である。従って、図4は、入力シンボル数、出力シンボル数がいずれも1の場合の非再帰型BILO畳込み符号化装置の構成例を示している。
図4の例で、第一符号化部110は、シフトレジスタ111と、畳込み演算部112とを備える。また、図3を参照して説明したように、入力シンボルuは2元シンボルであり、出力シンボルcはL元シンボルである。
シフトレジスタ111は、P段(Pは、P≧1の整数)のメモリR1〜R1を備えている。これらメモリR1〜R1は、それぞれ1つの二元シンボルを記憶する。
入力シンボルuが第一符号化部110に入力される毎に、畳込み演算部112が出力シンボルcを算出する。そして、畳込み演算部112が出力シンボルcを算出する毎に、シフトレジスタ111は、メモリR1、R1、・・・、R1P−1に記憶しているシンボルをそれぞれメモリR1、R1、・・・、R1へシフトさせ、メモリR1には入力シンボルuを記憶する。
従って、新たな入力シンボルuが第一符号化部110に入力されたタイミングでは、メモリR1、R1、・・・、R1は、それぞれ1つ前の入力シンボルu、2つ前の入力シンボルu、・・・、P個前の入力シンボルuを記憶している。畳込み演算部112は、新たに入力された入力シンボルu、及び、シフトレジスタ111が記憶している1つ前の入力シンボルu〜P個前の入力シンボルuを用いて出力シンボルcを算出する。
以下では、第一符号化部110へのi番目の入力をxと表記する。ここでは、iは、i≧0の整数である。ここでいう入力は、1つの入力シンボル、または、後述するように入力シンボルのベクトルである。従って、ここでいう入力は、1つ以上の入力シンボルからなるベクトルで表される。
以下では、最新の入力シンボルuがt番目(tは、t≧0の整数)の入力xであるとする。シフトレジスタ111がメモリR1、R1、・・・、R1に記憶している1つ前の入力シンボルu、2つ前の入力シンボルu、・・・、P個前の入力シンボルuは、それぞれ入力xt−1、xt−2、・・・、xt−Pで表される。
なお、x−1、x−2、・・・、x−Pは、それぞれメモリR1、R1、・・・、R1の初期値を示す。
図4の例で、畳込み演算部112は、P+1個の乗算器M1〜M1と、1つの加算器A1とを備える。これら乗算器M1〜M1の各々が行う乗算、及び、加算器A1が行う加算は、いずれもL元の有限体(ガウス体)GF(L)で定義される。従って、畳込み演算部112が行う演算は、いずれもGF(L)で閉じており、加算器A1が算出する和である出力シンボルcは、L元シンボルである。
乗算器M1は、t−p番目の入力xt−pに係数fを乗算する。ここで、pは、0≦p≦Pの整数である。また、係数f、f、・・・fは、いずれもL元シンボルの定数である。
以下では、2元の入力符号アルファベットの0元「0」、単位元「1」が、それぞれL元の出力符号アルファベットの0元「0」、単位元「1」に対応付けられる場合を例に説明する。但し、入力符号アルファベットと出力符号アルファベットとの対応付けはこれに限らない。入力符号アルファベットの2つのシンボルが、出力符号アルファベットの異なる2つのシンボルに対応付けられて、第一符号化部110がいずれの出力符号アルファベットも出力可能であればよい。
加算器A1は、乗算器M1、M1、・・・、M1が算出した積の和を算出する。
畳込み演算部112が行う演算は、式(1)のように表される。
Figure 0006771181
式(1)に示されるように、畳込み演算部112は、最新の入力x及びシフトレジスタ111が記憶している直近の過去P回分の入力x〜xに対して畳込み演算を行う。上述したように、畳込み演算部112は、L元で閉じた畳込み演算を行って、L元シンボルを出力する。第一符号化部110が、畳込み演算を用いた符号化を行うことが、式(1)によって示されている。
図5は、入力シンボル数、出力シンボル数がいずれも1であり、Lが3である場合の、第一符号化部110の構成例を示す説明図である。図5の例では、出力符号アルファベットは、{0,1,2}と表される。また、図5の例では、シフトレジスタ111の段数P=2である。
図6は、Lが3の場合に畳込み演算部112が行う乗算の例を示す説明図である。図6に示す乗算は、出力符号アルファベット{0,1,2}で閉じている。
図7は、Lが3の場合に畳込み演算部112が行う加算の例を示す説明図である。図7に示す加算は、出力符号アルファベット{0,1,2}で閉じている。
図8は、図5の構成による符号化のトレリス線図である。図8に示されるように、この符号化における出力シンボルの出現確率は、出力シンボル「0」、「1」、「2」それぞれ4分の1、4分の1、2分の1である。
このように、Lが2の整数乗以外である場合(図8の例ではL=3)、出力シンボルの出現確率に偏りが生じる。そこで、後述するようにオフセット処理部120が第一符号化部110の出力シンボルにオフセットを加える。これにより、内符号における入出力間の相互情報量の低下を低減させ、変換部130が第一符号化部110の出力シンボルをQAMシンボルにマッピングする際のQAMシンボルの出現確率の偏りを低減させることができる。
図9は、入力シンボル数、出力シンボル数がいずれも1であり、Lが5である場合の、第一符号化部110の構成例を示す説明図である。図9の例では、出力符号アルファベットは、{0,1,2,3,4}と表される。また、図9の例では、シフトレジスタ111の段数P=2である。
図10は、Lが5の場合に畳込み演算部112が行う乗算の例を示す説明図である。図10に示す乗算は、出力符号アルファベット{0,1,2,3,4}で閉じている。
図11は、Lが5の場合に畳込み演算部112が行う加算の例を示す説明図である。図10に示す加算は、出力符号アルファベット{0,1,2,3,4}で閉じている。
図12は、図9の構成による符号化のトレリス線図である。図12に示されるように、この符号化における出力シンボルの出現確率は、出力シンボル「0」、「1」、「2」、「3」、「4」それぞれ4分の1、8分の1、4分の1、8分の1、4分の1である。図8の場合と同様、図12の場合も、出力シンボルの出現確率に偏りが生じている。
図13は、入力シンボル数、出力シンボル数がいずれも1であり、Lが4である場合の、第一符号化部110の構成例を示す説明図である。図13の例では、出力符号アルファベットは、{0,1,2,3}と表される。また、図13の例では、シフトレジスタ111の段数P=2である。
図14は、Lが4の場合に畳込み演算部112が行う乗算の例を示す説明図である。図10に示す乗算は、出力符号アルファベット{0,1,2,3}で閉じている。
図15は、Lが4の場合に畳込み演算部112が行う加算の例を示す説明図である。図10に示す加算は、出力符号アルファベット{0,1,2,3}で閉じている。
図16は、図13の構成による符号化のトレリス線図である。図16に示されるように、この符号化における出力シンボルの出現確率は、出力シンボル「0」、「1」、「2」、「3」いずれも4分の1である。
このように、Lが2の整数乗である場合(図8の例ではL=2=4)、出力シンボルの出現確率に偏りが生じないように畳込み演算部112を構成し得る。出力シンボルの出現確率に偏りが生じていない場合、オフセット処理部120が、後述するオフセットの加算を行わないようにしてもよい。
図3を参照して説明したように、BILO畳込み符号化における入力シンボル数は1に限らない。
図17は、入力シンボル数がm(上述したように、mは、m≧1の整数)、かつ、出力シンボル数が1の場合の第一符号化部110の構成例を示す説明図である。従って、図17は、入力シンボル数が1以上、かつ、出力シンボル数が1の場合の非再帰型BILO畳込み符号化装置の構成例を示している。
図17の例で、第一符号化部110は、シフトレジスタ111と、畳込み演算部112とを備える。また、図3を参照して説明したように、入力シンボルu〜um−1はいずれも2元シンボルであり、出力シンボルcはL元シンボルである。
シフトレジスタ111は、m個のP段(Pは、P≧1の整数)のメモリR20,1〜R2m−1,Pを備えている。これらメモリR21,1〜R2m−1,Pは、それぞれ1つの二元シンボルを記憶する。
入力シンボルuが第一符号化部110に入力される毎に、畳込み演算部112が出力シンボルcを算出する。そして、畳込み演算部112が出力シンボルcを算出する毎に、シフトレジスタ111は、メモリR2i,1、R2i,2、・・・、R2i,P−1に記憶しているシンボルをそれぞれメモリR2i,2、R2i,3、・・・、R2i,Pへシフトさせ、メモリR2i,1には入力シンボルuを記憶する。ここでは、iは、0≦i≦m−1の整数である。
従って、新たな入力シンボルu〜um−1が第一符号化部110に入力されたタイミングでは、メモリR2i,1、R2i,2、・・・、R2i,Pは、それぞれ1つ前の入力シンボルu、2つ前の入力シンボルu、・・・、P個前の入力シンボルuを記憶している。畳込み演算部112は、新たに入力された入力シンボルu〜um−1と、シフトレジスタ111が記憶している1つ前の入力シンボルu〜um−1、2つ前の入力シンボルu〜um−1、・・・P個前の入力シンボルu〜um−1とを用いて出力シンボルcを算出する。
以下では、第一符号化部110へのi番目の入力をxと表記する。ここでは、iは、i≧0の整数である。ここでは、入力は、入力シンボルのベクトル(u,u,・・・,um−1)である。
図4の場合と同様、以下では、最新の入力シンボルuがt番目(tは、t≧0の整数)の入力xであるとする。シフトレジスタ111がメモリR20,1、R21,1、・・・、R2m−1,1に記憶している1つ前の入力シンボルのベクトル(u,u,・・・,um−1)は、入力xt−1で表される。シフトレジスタ111がメモリR20,2、R21,2、・・・、R2m−1,2に記憶している2つ前の入力シンボルのベクトル(u,u,・・・,um−1)は、入力xt−2で表される。・・・シフトレジスタ111がメモリR20,P、R21,P、・・・、R2m−1,Pに記憶しているP個前の入力シンボルのベクトル(u,u,・・・,um−1)は、入力xt−Pで表される。
なお、x−1は、メモリR20,1、R21,1、・・・、R2m−1,1の初期値を示す。x−2は、メモリR20,2、R21,2、・・・、R2m−1,2の初期値を示す。・・・x−Pは、メモリR20,P、R21,P、・・・、R2m−1,Pの初期値を示す。
図17の例で、畳込み演算部112は、m×(P+1)個(「×」は、スカラ積)の乗算器M20,o〜M2m−1,pと、1つの加算器A2とを備える。これら乗算器M1〜M1の各々が行う乗算、及び、加算器A2が行う加算は、いずれもL元の有限体(ガウス体)GF(L)で定義される。従って、畳込み演算部112が行う演算は、いずれもGF(L)で閉じており、加算器A2が算出する和である出力シンボルcは、L元シンボルである。
乗算器M20,p〜M2m−1,pの組み合わせは、t−p番目の入力xt−pの要素u、u、・・・、um−1に、それぞれ係数f0,p、f1,p、・・・、fm−1,pを乗算する。上述したように、pは、0≦p≦Pの整数である。また、係数f0,0、f1,0、・・・fm−1,0、f0,1、f1,1、・・・fm−1,1、・・・、f0,P、f1,P、・・・fm−1,Pは、いずれもL元シンボルの定数である。
加算器A1は、乗算器M20,0、M21,0、・・・、M2m−1,0、M20,1、M21,1、・・・、M2m−1,1、・・・、M20,P、M21,P、・・・、M2m−1,Pが算出した積の和を算出する。
係数のベクトル(f0,p,f1,p,・・・,fm−1,p)をfと記載すると、演算部112が行う演算は、式(2)のように表される。
Figure 0006771181
ここで、「T」は転置行列を示し、xt−p は、ベクトルxt−pを転置した列ベクトルを示す。
式(2)に示されるように、畳込み演算部112は、最新の入力x及びシフトレジスタ111が記憶している直近の過去P回分の入力x〜xに対して畳込み演算を行う。上述したように、畳込み演算部112は、L元で閉じた畳込み演算を行って、L元シンボルを出力する。第一符号化部110が、畳込み演算を用いた符号化を行うことが、式(2)によって示されている。
また、図3を参照して説明したように、BILO畳込み符号化における出力シンボル数は1に限らない。畳込み演算部112が、図17の畳込み演算部112に示す構成をl個備え、それぞれの構成で畳込み演算を行うことで、l個の出力シンボルc〜cl−1を得られる。
図18は、入力シンボル数、出力シンボル数がいずれも2であり、シフトレジスタ111のメモリの段数Pが1である場合の、第一符号化部110の構成例を示す説明図である。
図18の例で、第一符号化部110は、シフトレジスタ111と、畳込み演算部112とを備える。また、図3を参照して説明したように、入力シンボルu、uはいずれも2元シンボルであり、出力シンボルc、cはいずれもL元シンボルである。
シフトレジスタ111は、2個かつ1段のメモリR20,1、R21,1を備えている。これらのメモリは、図17のメモリR20,1、R21,1と同様であり、同一の符号を付している。
また、図18の例で、畳込み演算部112は、8つの乗算器M (00)、M (00)、M (01)、M (01)、M (10)、M (10)、M (11)、及び、M (11)と、2つの加算器A及びAとを備えている。
図18の乗算器M (00)、M (00)、M (10)、M (10)は、それぞれ図17の乗算器M20,0、M20,1、M21,0、M21,1に対応する。図18の係数f (00)、f (00)、f (10)、f (10)は、それぞれ図17の係数f0,0、f0,1、f1,0、f1,1に対応する。図18の加算器Aは、図17の加算器A2に対応する。
図18の構成で、畳込み演算部112は、これら乗算器M (00)、M (00)、M (10)及びM (10)と、係数f (00)、f (00)、f (10)及びf (10)と、加算器加算器Aとの組み合わせにて畳込み演算を行って、出力シンボルcを算出する。
同様に、畳込み演算部112は、乗算器M (01)、M (01)、M (11)及びM (11)と、係数f (01)、f (01)、f (11)及びf (11)と、加算器加算器Aとの組み合わせにて畳込み演算を行って、出力シンボルcを算出する。
図19は、入力シンボル数、出力シンボル数がいずれも2であり、シフトレジスタ111のメモリの段数Pが2である場合の、第一符号化部110の構成例を示す説明図である。
図19の例で、第一符号化部110は、シフトレジスタ111と、畳込み演算部112とを備える。また、図3を参照して説明したように、入力シンボルu、uはいずれも2元シンボルであり、出力シンボルc、cはいずれもL元シンボルである。
シフトレジスタ111は、2個ずつ2段のメモリR20,1、R21,1、R20,2、R21,2を備えている。これらのメモリは、図17のメモリR21,1、R20,2、R21,2と同様であり、同一の符号を付している。
また、図19の例で、畳込み演算部112は、12つの乗算器M (00)、M (00)、M (00)、M (01)、M (01)、M (01)、M (10)、M (10)、M (10)、M (11)、M (11)、及び、M (11)と、2つの加算器A及びAとを備えている。
また、図19では、係数をベクトルで表している。具体的には、f(00)=(f (00),f (00),f (00))であり、係数f (00)、f (00)、f (00)は、それぞれ乗算器M (00)、M (00)、M (00)で用いられる。また、f(01)=(f (01),f (01),f (01))であり、係数f (01)、f (01)、f (01)は、それぞれ乗算器M (01)、M (01)、M (01)で用いられる。f(10)=(f (10),f (10),f (10))であり、係数f (10)、f (10)、f (10)は、それぞれ乗算器M (10)、M (10)、M (10)で用いられる。f(11)=(f (11),f (11),f (11))であり、係数f (11)、f (11)、f (11)は、それぞれ乗算器M (11)、M (11)、M (11)で用いられる。
図19の乗算器M (00)、M (00)、M (00)、M (10)、M (10)、M (10)は、それぞれ図17の乗算器M20,0、M20,1、M20,2、M21,0、M21,1、M21,2に対応する。
また、図19の係数f (00)、f (00)、f (00)、f (10)、f (10)、f (10)は、それぞれ図17の係数f0,0、f0,1、f0,21,0、f1,1、f1,2に対応する。図19の加算器Aは、図17の加算器A2に対応する。
図19の構成で、畳込み演算部112は、これら乗算器M (00)、M (00)、M (00)、M (10)、M (10)、及び、M (10)と、係数f (00)、f (00)、f (00)、f (10)、f (10)、及び、f (10)と、加算器加算器Aとの組み合わせにて畳込み演算を行って、出力シンボルcを算出する。
同様に、畳込み演算部112は、乗算器M (01)、M (01)、M (01)、M (11)、M (11)、及び、M (11)と、係数f (01)、f (01)、f (01)、f (11)、f (11)、及び、f (11)と、加算器加算器Aとの組み合わせにて畳込み演算を行って、出力シンボルcを算出する。
図20は、入力シンボル数、出力シンボル数がいずれも2であり、Lが3である場合の、第一符号化部110の構成例を示す説明図である。図20の例では、出力符号アルファベットは、{0,1,2}と表される。また、図20の例では、シフトレジスタ111の段数P=1である。
図20の畳込み演算部112の乗算器は、例えば、図6に示す演算を行う。図20の畳込み演算部112の加算器は、例えば、図7に示す演算を行う。
図21は、入力シンボル数が1、出力シンボル数が2であり、Lが2である場合の、第一符号化部110の構成例を示す説明図である。図21の例では、出力符号アルファベットは、{0,1}と表される。また、図21の例では、シフトレジスタ111の段数P=2である。
図21の畳込み演算部112の加算器は、ビットの排他的論理を算出する。
このように、L=2の場合、畳込み演算部112は、ビット演算による畳込み演算を行う。
図22は、図21の構成による符号化のトレリス線図である。図22に示されるように、この符号化における出力シンボルの出現確率は、出力シンボル「00」、「01」、「10」、「11」いずれも4分の1である。このように、Lが2の整数乗である場合(図22の例ではL=2=2)、出力シンボルの出現確率に偏りが生じないように畳込み演算部112を構成し得る。
オフセット処理部120は、第一符号化部110によって得られた出力シンボルの系列の要素に対して時系列で値が変化するオフセットを加える。
図23は、オフセット処理部120の機能構成を示す概略ブロック図である。図23に示すように、オフセット処理部120は、振分け部121と、加算器122及び123とを備える。
振分け部121は、第一符号化部110からの出力シンボルをQAMのコンステレーションを示すIQ平面における実部の値と虚部の値とに振り分ける。図23の経路W122は、実部の値を変換部130へ出力する経路である。経路W123は、虚部の値を変換部130へ出力する経路である。
第一符号化部110の出力シンボル数が1の場合、オフセット処理部120は、第一符号化部110からの出力シンボルを実部の値、虚部の値に交互に振り分ける。すなわち、オフセット処理部120は、第一符号化部110からの出力シンボルを実部の値に振り分けた場合、次に第一符号化部110から受け取るシンボルを虚部の値に振り分ける。また、オフセット処理部120は、第一符号化部110からの出力シンボルを虚部の値に振り分けた場合、次に第一符号化部110から受け取るシンボルを実部の値に振り分ける。
第一符号化部110の出力シンボル数が2の場合、オフセット処理部120は、第一符号化部110からの出力シンボルを実部の値、虚部の値に1つずつ振り分ける。具体的には、第一符号化部110からの2つの出力シンボルをc及びcとすると、オフセット処理部120は、出力シンボルcを実部の値に振分け、出力シンボルcを虚部の値に振分ける。
第一符号化部110の出力シンボル数が3以上の場合、オフセット処理部120は、第一符号化部110からの出力シンボルを、一旦、1次元の系列に並び替え、出力シンボル数が1の場合と同様に実部の値、虚部の値に交互に振り分ける。例えば、第一符号化部110の出力シンボル数が3であり、第一符号化部110から出力シンボルc (t)、c (t)及びc (t)を受け取った場合、オフセット処理部120は、c (t)を実部に振分け、c (t)を虚部に振分け、c (t)を一旦バッファに蓄えておく。次に、第一符号化部110から出力シンボルc (t+1)、c (t+1)及びc (t+1)を受け取ると、オフセット処理部120は、c (t)を実部に振分け、c (t+1)を虚部に振り分ける。その後更に、オフセット処理部120は、c (t+1)を実部に振分け、c (t+1)を虚部に振分ける。
加算器122は、第一符号化部110が実部の値に振り分けたシンボルにオフセットkを加える。加算器123は、第一符号化部110が虚部の値に振り分けたシンボルにオフセットkを加える。加算器122、123のいずれも、L元で閉じた加算(すなわち、第一符号化部110の出力アルファベットで閉じた加算)を行う。
オフセットk、kの値は、いずれもL元の符号アルファベットを巡回する。一方、オフセットkとオフセットkとでは、値が巡回する周期が異なる。
図24は、オフセット処理部120が、第一符号化部110からの出力シンボルに加えるオフセットの値の例を示す説明図である。図24の横軸は時刻を示す。
図24では、L=3の場合の例に説明しており、オフセットk、kのいずれの値も、符号アルファベット{0、1、2}を巡回している。
オフセットkの値が「0」、「1」、「2」と順に変化し「0」に戻る毎に、オフセットkの値が変化する。オフセットkの値も、「0」、「1」、「2」と順に変化して「0」に戻る。
このように、オフセット処理部120が、第一符号化部110の出力シンボルにオフセットを加えることで、図5〜図8を参照して説明したように第一符号化部110の出力シンボルの出現確率に偏りがある場合に、出現確率を均一に近付けることができる。
上述したL=3の場合に限らず、一般にLがL≧2の自然数の場合に、オフセットk及びkの各々の値について、L=3の場合と同様に符号アルファベット{0,1,・・・,L−1}を巡回するようにすればよい。この場合も、kの値が一巡する毎にkの値を変化させればよい。
例えば、L=5の場合、オフセットk、k共に{0,1,2,3,4}を巡回する。具体的には、オフセットkの値が「0」、「1」、「2」、「3」、「4」と順に変化し「0」に戻る毎に、オフセットkの値が変化する。オフセットkの値も、「0」、「1」、「2」、「3」、「4」と順に変化して「0」に戻る。
但し、Lが2の整数乗である場合、第一符号化部110の出力シンボルの出現確率に偏りが生じない構成とすることができる。この場合は、オフセット処理部120が第一符号化部110からの出力シンボルにオフセットを加える処理を行わないようにしてもよい。
変換部130は、第一符号化部110が出力したL元のシンボルの系列をL次の正方行列の要素の系列に変換する。特に、変換部130は、オフセット処理部120がオフセットを加えた系列をL次の正方行列の要素の系列に変換する。
具体的には、変換部130は、オフセット処理部120がIQ平面の実部の値、虚部の値に1つずつ振り分けた1組のシンボルを取得する毎に、取得したシンボルの組をL−QAMのシンボルにマッピングする。
変換部130がマッピングを行うQAMシンボルは複素数で表される。
インタリーバ140は、変換部130の変換によって得られたL次の正方行列の要素の系列をインタリーブする。インタリーバ140が行うインタリーブは、ターボ符号におけるインタリーブと同様、反復復号を可能にするためのものである。インタリーバ140が行うインタリーブの方法として、例えばS−ランダムインタリーブなど公知の方法を用いることができる。
第二符号化部150は、インタリーバ140によってインタリーブされたL次の正方行列の要素(L−QAMシンボル)を入力としてL次の正方行列の要素(L−QAMシンボル)を出力する畳込み演算を行い、当該畳込み演算の出力を当該畳込み演算の入力側へフィードバックする符号化を行う。第二符号化部150は、内符号に該当する。
以下では、第二符号化部150が行う符号化を再帰型畳込み格子符号と称する。第二符号化部150として、上記の非特許文献1に記載されている再帰型畳込み格子符号を用いることができる。
図25は、第二符号化部150の構成例を示す説明図である。図25の例で、第二符号化部150は、シフトレジスタ151と、再帰的畳込み演算部152aと、非再帰的畳込み演算部152bと、DC(Direct Current)シフト部153とを備える。再帰的畳込み演算部152aと、非再帰的畳込み演算部152bとの組み合わせを、畳込み演算部152と称する。
シフトレジスタ151は、P段(Pは、P≧1の整数)のメモリを備えている。第一符号化部110のシフトレジスタ111の段数Pと、第二符号化部150のシフトレジスタ111の段数Pとは、同じであってもよいし異なっていてもよい。
シフトレジスタ151が備えるP段のメモリの各々は、第二符号化部150への入力であるL−QAMシンボルの複素数表現に、再帰的畳込み演算部152aによる畳込み演算結果のフードバックを加えた値を1つずつ記憶する。図4のシフトレジスタ111の場合と同様、シフトレジスタ151は、第二符号化部150への入力がある毎に1段ずつシフトを行い、直近の過去P回分の値を記憶する。
再帰的畳込み演算部152aは、シフトレジスタ151が記憶している値を用いて畳込み演算を行い、演算結果をシフトレジスタ151への入力にフィードバックする。具体的には、第二符号化部150への入力と再帰的畳込み演算部152aによる畳込み演算の結果とが加算されてシフトレジスタ151に入力される。
非再帰的畳込み演算部152bは、上記のシフトレジスタ151への入力とシフトレジスタ151が記憶している値とを用いて畳込み演算を行う。
畳込み演算部152が行う加算及び乗算は、全てL−QAMシンボル内で閉じている。すなわち、畳込み演算部152が行う加算及び乗算のいずれでも、L−QAMシンボルが算出される。
ここで、畳込み演算部152が用いる係数の制約条件について説明する。
まず、実数部、虚数部がそれぞれ整数値の複素数であるガウス整数を、式(3)のZ[j]のように表記する。
Figure 0006771181
ここで、Zは整数の集合を示す。
また、実数部、虚数部がそれぞれ0以上かつL未満の整数値の複素数であるガウス整数を、式(4)のZ[j]のように定義する。
Figure 0006771181
ここで、Zは、0以上かつL未満の整数の集合を示す。
[j]は、L−QAMの信号点と等価であり、第二符号化部150への入力信号は、Z[j]から選ばれる。すなわち、第二符号化部150への入力信号aは、a∈Z[j]と表される。
ここで、式(5)で示される形式的べき級数(Formal Power Series)Z[ω]を考える。
Figure 0006771181
ここで、ωは式(6)のように示される。
Figure 0006771181
また、Nbvは、ユークリッド空間上の基底ベクトル数を表す。Nbv≧1である。
さらに、式(7)のように示される商環(Quotient Ring)C(L,Nbv)を考える。
Figure 0006771181
この商環C(L,Nbv)は、式(8)を満たす。
Figure 0006771181
また、一般に、Nbv>1に対して式(9)が成り立つ。
Figure 0006771181
ここで、図25の構成で畳込み演算部152が、非再帰的畳込み演算部152bを含まない場合を考える。具体的には、フィードフォワード係数fの値が1であり、フィードフォワード係数f〜fの値がいずれも0である場合を考える。この場合、畳込み演算部152からの出力信号uは、式(10)のように示される。
Figure 0006771181
ここで、フィードバック係数h∈C(L,Nbv)と仮定すると、シェイピング係数biは、出力uが、u∈C(L,Nbv)を満たすようにZ[ω]から一意に決定される。
また、DCシフト部153は、畳込み演算部152からの出力uに対して、信号電力が最小になるように電圧のオフセットを加える。すなわち、DCシフト部153は、信号電力が最小となるように出力uをDCシフトさせる。DCシフト後の信号をu’と表記し、信号u’の平均電力をE{u’}で表すと、信号電力が最小となる条件は式(11)のように表される。
Figure 0006771181
また、DCシフト後の信号U’は、式(12)のように示される。
Figure 0006771181
ここで、E{u}は信号uの平均電力を示す。
また、図25で、非再帰的畳込み演算部152bを含めた構成の第二符号化部150の出力uは、式(13)のように示される。
Figure 0006771181
式(13)のシェイピング係数bは、式(10)の場合と同様に、u∈C(L,Nbv)を満たすようにZ[ω]から一意に決定される。そのため、メモリへ入力される信号xi−pは必ずしもxi−p∈C(L,Nbv)を満たさない。ただし、xi−pをxi−p ∈C(L,Nbv)と、xi−p ∈LZ[ω]とに分解して考えると、xi−p の成分は出力uに影響を及ぼさない。そこで、xi−p の成分のみをメモリに記憶させることで、効率的に状態数を低減させることができる。
また、フィードフォワード係数f、f、・・・、fは、フィードバック係数h〜hの場合と同様にC(L,Nbv)から選ばれる。但し、出力uを拘束するために、フィードフォワード係数fのみ選択肢が2Nbvパタンに限定される。
図26は、復号装置200の機能構成を示す概略ブロック図である。図26に示すように、復号装置200は、第二復号部210と、デインタリーバ220と、第一復号部230と、インタリーバ240とを備える。
第二復号部210は、第二符号化部150が行った符号化に対する復号を行う。
デインタリーバ220は、インタリーバ140が行ったインタリーブと逆の変換を行う。
第一復号部230は、第一符号化部110が行った符号化に対する復号を行う。
インタリーバ240は、図2のインタリーバ140と同様である。
また、図26のλは、シンボルの形態を示している。「c」は符号シンボルを示し、「u」は情報シンボルを示す。ここでいう符号シンボルは、通信に用いられた形式のシンボルであり、ここではQAMシンボルである。情報シンボルは、通信対象データに用いられている形式のシンボルであり、ここではバイナリデータ(2元シンボル)である。
また、「i」は内符号を示し、「o」は外符号を示す。また「I」は復号部(復号器)への入力を示し、「O」は復号部からの出力を示す。
以下、λが示すシンボルをシンボルλと表記する。
図26に示す構成により、復号装置200は、ソフトインプット、ソフトアウトプット(Soft-Input Soft-Output;SISO)による反復復号を行う。シンボルλ(・;I)、λ(・;O)は、いずれもSISO復号器における対数尤度比(LLR)を示す。ここでの「・」はワイルドカードを示す。
対数尤度比LLRは、式(14)のλ(x,・)のように定義される。
Figure 0006771181
ここで、xはM元の符号アルファベットであり、xrefは、xから任意に選ばれたシンボルである。一般に、xが2元シンボル「0」、「1」である場合、xrefは「1」と仮定される。内符号がL=3の再帰型畳込み格子符号である場合、対応するSISO復号器は、サイズLのアルファベットに属する情報シンボルuと、式(15)に示されるサイズのアルファベットに属する符号語シンボルcに対して復号の操作を行う。
Figure 0006771181
一方、L=3の場合のBILO畳込み符号化に対応するSISO復号器では、再帰型畳込み格子符号に対応する復号器から出力される外部LLRをそのまま復号に用いる。つまり、図2の第一符号化部110が行う符号化と、変換部130が行うQAMシンボルへのマッピングとが同時に復号される。
このとき、サイズ2のアルファベットに属する2元情報系列uと、L−QAMに対応するサイズLのアルファベットに属する符号語シンボルcとに対して復号を行うため、2ステージずつ統合したトレリス線図を用いて復号が行われる。
図27は、2ステージずつ統合したトレリス線図の例を示す説明図である。
図27に示す図F11は、統合前のトレリス線図である。図F12は、図F11のトレリス線図の2ステージ分を統合したトレリス線図である。統合により、1つのノードから4本の枝がでており、1つの枝に2回分の入力が示されている。また、出力も、2回分の出力を纏めた出力となっている。
なお、図26でλ(u;I)として入力されるuniform distribution(一様分布)信号は、バイナリデータの対数尤度比を示す信号であって、値が一様に分布しているものである。「λ(u;I)」が情報シンボルによる外符号の入力の対数尤度比を示しているのに対し、復号装置200が行う反復復号では、この値の更新を行わない。そこで、復号装置200は、λ(u;I)の分布が常に一様であるとして復号を行う。
例えば、λ(u;I)の値として「0」の系列を入力して復号を行うようにしてもよい。対数尤度比λ(u;I)の値0は、通信対象のバイナリデータに関する情報が何もないことを示している。
ここで、SISO復号器の内部で行われる処理について説明する。
図28は、トレリスの状態遷移の例を示す説明図である。
図28に示す状態遷移eの始まりの状態をs(e)とし、状態遷移eでたどり着く状態をs(e)と表記する。また、状態遷移eに対応する入力シンボル、出力シンボルを、それぞれu(e)、c(e)と表記する。また、N状態の集合をS={s,・・・,s}とし、時間kにおけるトレリスの状態をS=sと表記する。ここで、s∈Sである。また、入力アルファベットのサイズをNとし、入力アルファベットの集合を式(16)のように表記する。
Figure 0006771181
すると、全ての状態遷移Εは式(17)のように表される。
Figure 0006771181
時間k=1,2,・・・,Kに対する符号語シンボルの外部LLR、λ(c;O)は、式(18)で計算される。
Figure 0006771181
また、時間kに対する情報シンボルの外部LLR、λ(u;O)は、式(19)で計算される。
Figure 0006771181
ここで、α(s)の初期値α(s)を式(20)のように定める。
Figure 0006771181
また、β(s)の初期値β(s)を式(21)のように定める。
Figure 0006771181
前向きの計算の式は、式(22)のように示される。
Figure 0006771181
後ろ向きの計算の式は、式(23)のように示される。
Figure 0006771181
α(s)及びβ(s)は、式(20)〜(23)を用いた再帰計算によって求められる。
また、演算maxは、式(24)のように示される。
Figure 0006771181
ここで、δ(a,a,・・・,a)は、再帰計算によって求められる補正項である。δは、予め与えられる関数である。
次に、符号化装置100及び復号装置200を用いた符号化及び復号におけるビット誤り率(BER)特性及びフレーム誤り率(FER)特性のシミュレーション結果について説明する。
シミュレーションでは、外符号に拘束長K=4、L=3のBIRO畳込み符号化を用いた。内符号には、メモリ数1、L=3の再帰型畳込み格子符号を用いた。情報長163844096ビットに対し、ブロック長(フレーム長)8192、2048のそれぞれでシミュレーションを行った。全体の情報レートは2[ビット/シンボル]となっている。また、ブロック長8192、2048でのシミュレーションに対し、それぞれスプレッド値45、22のS−ランダムインタリーバを用いた。
符号の最適化は全探索によって行い、本シミュレーションでは最適な符号として、外符号は生成多項式[2+2D]を用いた。内符号には、図25でメモリ数1の構成を用いた。係数hとして、式(25)に示す係数を用いた。
Figure 0006771181
係数fとして、式(26)に示す係数を用いた。
Figure 0006771181
係数fとして、式(27)に示す係数を用いた。
Figure 0006771181
再帰型畳込み格子符号の終端処理に関しては、最終状態を4回繰り返し送信することで行う。また、外符号であるBIRO畳込み符号には、再帰構造が無いものを使用しており、上記のように拘束長K=4であるので、0を3ビット入力することで行う。但し、終端ビットを9−QAMへマッピングする際、不足する1ビット分を0で埋め、2シンボルを追加で送信する。以上より、外符号と内符号との合計で6シンボルを追加で送信することによって終端処理を行う。終端処理によって、ブロック長は、上記の8192、2048から、それぞれ8198、2054となる。
図29は、シミュレーション結果を示すグラフである。図29の横軸は信号対雑音比(Signal-To-Noise Ratio;SNR)[単位:dB]を示す。横軸は、フレーム誤り率(FER)及びビット誤り率(BER)を示す。
線L11は、情報レート2[ビット/シンボル]におけるシャノン限界を示す。線L21は、ブロック長2048でのフレーム誤り率を示す。線L22は、ブロック長2048でのビット誤り率を示す。線L31は、ブロック長8192でのフレーム誤り率を示す。線L32は、ブロック長8192でのビット誤り率を示す。
線L22に示されるように、ブロック長8198におくて、線L11のシャノン限界から1デシベル離れた信号対雑音比で、ビット誤り率10−3を達成しており、エラーフロアは、ビット誤り率10−6以下まで観測されない。また、フレーム誤り率では、10−2以下でエラーフロアが発生するが、フロック長8198において、FER10−2を、シャノン限界から1.06デシベル離れた信号対雑音比で達ししている。
また、ブロック長2054の場合も優れた誤り率特性を示しており、符号が比較的短い場合でも、優れた誤り訂正能力を有していることが示されている。
以上のように、第一符号化部110は、2元シンボルを入力として2元以上であるL元のシンボルを出力する畳込み演算を用いた符号化を行う。変換部130は、第一符号化部110が出力したL元のシンボルの系列をL次の正方行列の要素の系列に変換する。インタリーバ140は、変換部130の変換によって得られたL次の正方行列の要素の系列をインタリーブする。第二符号化部150は、インタリーバによってインタリーブされたL次の正方行列の要素を入力としてL次の正方行列の要素を出力する畳込み演算を行い、当該畳込み演算の出力を当該畳込み演算の入力側へフィードバックする符号化を行う。
変換部130の変換によって得られるシンボルは、L−QAMシンボルと等価である。符号化装置100によれば、この点で、比較的容易に直交振幅変調を用いて通信を行うことができる。
また、復号側(復号装置200)では、ソフトインプット、ソフトアウトプットの反復復号を行うことができ、この点で復号を高精度に行うことができる。
また、第一符号化部110からの出力が第一符号化部110に入力される、いわば縦続接続(タンデム接続)の構成により、第一符号化部110からの出力と第二符号化部150からの出力とを別個に送信する必要無しに、復号側でソフトインプット、ソフトアウトプットの反復復号を行うことができる。符号化装置100によれば、この点で、高い伝送レートを得られる。
また、オフセット処理部120は、第一符号化部110によって得られた系列の要素に対して時系列で値が変化するオフセットを加える。
これにより、Lが2の自然数乗以外、かつ3以上の自然数である場合でも、第一符号化部110が再帰的な符号化を行う必要無しに、QAMシンボルの出現確率の偏りを低減させることができる。
また、第一符号化部110が再帰的な符号化を行う必要が無い点で、復号の負荷を抑えることができる。
一方、第一符号化部110が、再帰的な符号化(再帰型BILO畳込み符号化)を行うようにしてもよい。
図30は、再帰的な符号化を行う第一符号化部110の構成の例を示す説明図である。
図30の例では、第一符号化部110は、図4等の場合と同様、シフトレジスタ111と、畳込み演算部112とを備える。さらに、図30の例では、第一符号化部110は、フィードバック部113を備える。
フィードバック部113は、シフトレジスタ111が出力したシンボルをシフトレジスタ111への入力にフィードバックする。
このように、第一符号化部110が再帰型の符号化を行うことで、第一符号化部110が非再帰型の符号化を行う場合と比較して、Lが2の自然数乗以外、かつ3以上の自然数である場合でも、第一符号化部110が出力するL元シンボルの出現確率の偏りを低減させることができる。
従って、オフセット処理部120が、第一符号化部110によって得られた系列の要素に対してオフセットを加える処理が不要となり、この点で符号化装置100の負荷を低減させることができる。
なお、符号化装置100が行う演算及び制御の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することで各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
1 通信システム
11 第一端末装置
12 第一通信装置
13 送信ユニット
14 第二通信装置
15 受信ユニット
16 第二端末装置
100 符号化装置
110 第一符号化部
111 シフトレジスタ
112 畳込み演算部
120 オフセット処理部
130 変換部
140 インタリーバ
150 第二符号化部
200 復号装置
210 第二復号部
220 デインタリーバ
230 第一復号部
240 インタリーバ

Claims (3)

  1. 2元シンボルを入力として、2の自然数乗以外かつ3以上の自然数であるL元のシンボルを出力する畳込み演算を用いた符号化を行う第一符号化部と、
    前記第一符号化部によって得られた前記L元のシンボルの系列の要素に対して、時系列で値が変化するオフセットを加えるオフセット処理部と、
    前記オフセット処理部が前記オフセットを加えた前記系列をL次の正方行列の要素の系列に変換する変換部と、
    前記L次の正方行列の要素の系列をインタリーブするインタリーバと、
    前記インタリーバによってインタリーブされた前記要素を入力として前記L次の正方行列の要素を出力する畳込み演算を行い、当該畳込み演算の出力を当該畳込み演算の入力側へフィードバックする符号化を行う第二符号化部と、
    を備える符号化装置。
  2. 符号化装置が、2元シンボルを入力として、2の自然数乗以外かつ3以上の自然数であるL元のシンボルを出力する畳込み演算を用いた符号化を行う第一符号化ステップと、
    前記第一符号化ステップで得られた前記L元のシンボルの系列の要素に対して、時系列で値が変化するオフセットを加えるステップと、
    前記符号化装置が、前記オフセットを加えた前記系列をL次の正方行列の要素の系列に変換する変換ステップと、
    前記符号化装置が、前記L次の正方行列の要素の各々をインタリーブするインタリーブステップと、
    前記符号化装置が、前記インタリーブステップでインタリーブされた前記要素を入力として前記L次の正方行列の要素を出力する畳込み演算を行い、当該畳込み演算の出力を当該畳込み演算の入力側へフィードバックする符号化を行う第二符号化ステップと、
    を備える符号化方法。
  3. コンピュータに、
    2元シンボルを入力として、2の自然数乗以外かつ3以上の自然数であるL元のシンボルを出力する畳込み演算を用いた符号化を行う第一符号化ステップと、
    前記第一符号化ステップで得られた前記L元のシンボルの系列の要素に対して、時系列で値が変化するオフセットを加えるステップと、
    前記オフセットを加えた前記系列をL次の正方行列の要素の系列に変換する変換ステップと、
    前記L次の正方行列の要素の各々をインタリーブするインタリーブステップと、
    前記インタリーブステップでインタリーブされた前記要素を入力として前記L次の正方行列の要素を出力する畳込み演算を行い、当該畳込み演算の出力を当該畳込み演算の入力側へフィードバックする符号化を行う第二符号化ステップと、
    を実行させるためのプログラム。
JP2016130872A 2016-06-30 2016-06-30 符号化装置、符号化方法およびプログラム。 Expired - Fee Related JP6771181B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016130872A JP6771181B2 (ja) 2016-06-30 2016-06-30 符号化装置、符号化方法およびプログラム。

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016130872A JP6771181B2 (ja) 2016-06-30 2016-06-30 符号化装置、符号化方法およびプログラム。

Publications (2)

Publication Number Publication Date
JP2018006987A JP2018006987A (ja) 2018-01-11
JP6771181B2 true JP6771181B2 (ja) 2020-10-21

Family

ID=60949989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016130872A Expired - Fee Related JP6771181B2 (ja) 2016-06-30 2016-06-30 符号化装置、符号化方法およびプログラム。

Country Status (1)

Country Link
JP (1) JP6771181B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116073952B (zh) * 2023-02-01 2024-03-12 西安电子科技大学 一种基于MaPU架构的快速并行卷积编译码方法、系统、设备及介质

Also Published As

Publication number Publication date
JP2018006987A (ja) 2018-01-11

Similar Documents

Publication Publication Date Title
JP5506878B2 (ja) 低密度パリティ検査符号のパリティ検査行列生成方法
CA2465332C (en) Soft input decoding for linear codes
JP3666430B2 (ja) 情報送信装置及び情報送信方法、並びに情報受信装置及び情報受信方法
US8880973B1 (en) Detector-decoder interface for GF(q) iterative decoding
JP2000508849A (ja) データ・ブロックの畳み込み符号化方法及び装置及び対応する復号方法及び装置
CN107979445B (zh) 使用预先排序的输入的基于基本校验节点的校正子解码
CN109075805B (zh) 实现极化码的设备和方法
CN109075804B (zh) 使用极化码的通信设备和通信方法
CN108199723B (zh) 一种基于双递归的分组马尔可夫叠加编码方法
JP3979105B2 (ja) 多元接続システム
US20130007568A1 (en) Error correcting code decoding device, error correcting code decoding method and error correcting code decoding program
KR101503653B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치
JP3540224B2 (ja) ターボ復号器とターボ復号方法及びその方法を記憶した記憶媒体
JP6771181B2 (ja) 符号化装置、符号化方法およびプログラム。
CN112889221B (zh) 用于非二进制码的消息传递解码的校验节点处理单元中的偏移值确定
JP4505953B2 (ja) 符号化装置及び符号化方法、並びに、復号装置及び復号方法
CN100417031C (zh) 宽带无线接入系统中里德索洛门卷积级联码的实现方法
WO2019102450A1 (en) Low latency sequential list decoding of polar codes cross-references to related applications
JP5523064B2 (ja) 復号装置及び方法
Fayyaz et al. A low-complexity soft-output decoder for polar codes
US7392455B2 (en) Error correction coding method using at least twice a same elementary code, coding method, corresponding coding and decoding devices
Benaissa et al. Reconfigurable hardware architectures for sequential and hybrid decoding
Mohammed et al. Performance and complexity comparisons of Polar codes and Turbo codes
CN116073952B (zh) 一种基于MaPU架构的快速并行卷积编译码方法、系统、设备及介质
CN112470406B (zh) 用于针对非二进制码的消息传递解码的基本校验节点处理的排序设备和方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160715

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20181102

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200811

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200901

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200911

R150 Certificate of patent or registration of utility model

Ref document number: 6771181

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees