JP2009171540A - 送信装置および方法、受信装置および方法、並びにプログラム - Google Patents

送信装置および方法、受信装置および方法、並びにプログラム Download PDF

Info

Publication number
JP2009171540A
JP2009171540A JP2008118548A JP2008118548A JP2009171540A JP 2009171540 A JP2009171540 A JP 2009171540A JP 2008118548 A JP2008118548 A JP 2008118548A JP 2008118548 A JP2008118548 A JP 2008118548A JP 2009171540 A JP2009171540 A JP 2009171540A
Authority
JP
Japan
Prior art keywords
crc
data
max
code
generator
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.)
Granted
Application number
JP2008118548A
Other languages
English (en)
Other versions
JP5298622B2 (ja
Inventor
Hitoshi Shinagawa
仁 品川
Makoto Noda
誠 野田
Hiroyuki Yamagishi
弘幸 山岸
Keitaro Kondo
啓太郎 近藤
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2008118548A priority Critical patent/JP5298622B2/ja
Priority to US12/317,268 priority patent/US8327251B2/en
Priority to EP20080254061 priority patent/EP2075918A3/en
Priority to CN200810187877.0A priority patent/CN101465715B/zh
Publication of JP2009171540A publication Critical patent/JP2009171540A/ja
Application granted granted Critical
Publication of JP5298622B2 publication Critical patent/JP5298622B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

【課題】より適した生成多項式を選択し、選択した複数の生成多項式を、処理の対象とするデータに応じて切り替えて用いることができるようにする。
【解決手段】kビットの情報語を持ち、該情報語についてrビットのパリティが付加された符号長(n)の符号の各符号長(n)における最小ハミング距離(dmin)の最大値である最大・最小ハミング距離(Max.dmin)を求め、Max.dminの変化する符号長nを求め、そのnの範囲(nmin≦n≦nmax)を求める。nの範囲において、常に、dmin=Max.dminを満たす生成多項式(G(x))を全検索によって見いだし、全検索によって見いだしたG(x)の中から、項数(w)、符号の未検出誤り確率(Pud)も最小のものを選び出す。このようにして選び出された複数の生成多項式が、処理の対象とするデータの種類や符号長に応じて切り替えて用いられる。
【選択図】図8

Description

本発明は、送信装置および方法、受信装置および方法、並びにプログラムに関し、特に、より適した生成多項式を、処理の対象とするデータに応じて切り替えて用いることができるようにした送信装置および方法、受信装置および方法、並びにプログラムに関する。
情報記録装置や通信装置などで情報(データ)を伝送路を経由して伝送するとき、伝送された情報に誤りが生じることがある。
情報に誤りが起こったかどうかを検出する方法として広く用いられている技術として、CRC(Cyclic Redundancy Check:巡回冗長検査)がある。
CRCを行うためには、伝送すべき情報を予めCRC符号化しておく必要がある。
図1を参照してCRC符号化について述べる。
図1において、送信装置1と受信装置3とが伝送路2を介して接続されている。
CRCは、送信装置1において、情報語(データ)にCRCパリティを付加したCRC符号に対して、Reed-Solomon符号などの誤り訂正符号化を施すことで、誤り訂正復号による誤訂正の検出に用いられる。
送信装置1において、伝送すべきCRC符号化の対象となる、複数の情報語(データ)が連続する、入力情報系列がCRC符号器11に入力され、CRC符号化される。CRC符号器11の詳細は図2を参照して後述する。CRC符号化された情報は次に誤り訂正符号器12に入力され、たとえば、Reed-Solomon符号などの誤り訂正符号化される。誤り訂正符号化された情報は次に伝送路符号器13に入力され、伝送路2に応じた伝送路符号化処理がなされ、伝送路2へと送られる。
伝送路2を経由した信号は、受信装置3の符号検出器31によって検出され、検出された情報が伝送路復号器32に入力される。伝送路復号器32によって伝送路復号された検出情報系列は誤り訂正復号器33によって、誤り訂正符号器12の処理に対応して、たとえば、Reed-Solomon符号などの誤り訂正が行われる。誤り訂正された情報は次にCRC検出器34に入力される。CRC検出器34は、誤り訂正された検出系列に対してCRC処理を行い、誤り訂正が正しく行われたかどうか(検出系列に誤りがあるかどうか)を判定し、その結果を一致信号として出力する。
CRC検出器34の詳細は図5を参照して後述する。
CRC検出器34から出力された一致信号は、たとえば、情報記録装置のドライブのコントローラにおいて再送信要求を行うなどによる信頼性向上に用いられる。
CRC符号のその他の用途として、たとえば、符号検出器におけるポストプロセッサの一部として用いられたり、ヘッダ情報や、パケット通信における送信パケットに対しても用いられる。また、誤り訂正用の消失フラグとしても用いられる。
CRC符号による誤り検出原理
CRC符号による誤り検出原理を説明する。
kビットからなる情報語(データ)にrビットのパリティを付加して符号長n(n=k+r)ビットの符号語とするとき、情報語を多項式で表現した(k−1)次(order)の情報多項式M(x)にxrを乗じる。たとえば、情報語が2進数で「1010101」の場合、情報多項式M(x)は、x6+x4+x2+1と表記される。
情報多項式M(x)にxrを乗じた結果M(x)・xrを、r次の生成多項式(generator polynomial)G(x)で割った際の剰余多項式R(x)(次数は(r−1)次)と、商多項式Q(x)を用いて下記式1に従って求めることにより、(n−1)次の符号多項式W(x)を下記式2のように構成する。
[数1]
M(x)・xr=Q(x)・G(x)+R(x)
・・・(1)
[数2]
W(x)=M(x)・xr−R(x)
・・・(2)
式1、2の関係から、符号多項式はW(x)=Q(x)・G(x)となる。よって、符号多項式W(x)は生成多項式G(x)で割り切れる。
以上の観点の下、たとえば、図1の送信装置1が伝送路2を介して受信装置3に符号多項式W(x)を送信したものを受信装置3が受信した際に、受信装置3のCRC検出器34において、受信多項式Y(x)が生成多項式G(x)で割り切れるかどうかを調べる。
受信多項式Y(x)が生成多項式G(x)で割り切れれば、受信多項式Y(x)は符号多項式W(x)に一致しており、伝送路2において情報語に誤りが発生しなかったと推定できるが、受信多項式Y(x)が生成多項式G(x)で割り切れなければ、受信多項式Y(x)は符号多項式W(x)ではないので、伝送路2において情報語に誤りが生じたと判定できる(推定できる)。
CRC符号は巡回符号であるため、生成多項式G(x)が定まれば、たとえば、図1における送信装置1のCRC符号器11の回路構成は、シフトレジスタと排他的論理和を用いて比較的容易に装置化することが可能である。
CRC符号器の例
CRCにおいて広く用いられている生成多項式G(x)としては、16ビットCRCであるCRC-CCITT規格に基づく、G(x)=x16+x12+x5+1、または、CRC-ANSI規格に基づく、G(x)=x16+x15+x2+1などである。
以下、例示として、パリティビット数(次数)r=3とした場合の生成多項式G(x)=x3+x+1とした場合の、たとえば、図1における送信装置1におけるCRC符号器(CRC符号化回路)11の構成例を図2を参照して述べる。
図2は情報多項式M(x)から符号多項式W(x)を生成するCRC符号器11の構成例を示す図である。
CRC符号器11は、CRCパリティ生成器110、第1セレクタ111、第2セレクタ112、および、ビット数カウンタ113を有する。
CRCパリティ生成器110は、kビットの情報ビット系列についてrビットのCRCパリティを発生して第1セレクタ111に出力する。CRCパリティ生成器110におけるパリティの発生方法については図3および図4を参照して述べる。
第2セレクタ112は、「0」入力端子にkビットの情報ビット系列が入力されている期間は、ビット数カウンタ113からの状態制御信号S1に基づいて、入力された情報ビット系列を出力する。また、第2セレクタ112は、「0」入力端子への情報ビット系列の入力が終了したとき、「1」入力端子に、第1セレクタ111を経由して入力されるCRCパリティ生成器110で生成したrビットのパリティを出力する。このように、CRC符号器11の第2セレクタ112からは、「kビットの情報ビット系列」と、それに続く、「情報ビット系列に基づいてCRCパリティ生成器110で生成されたrビットのパリティビット」とが出力される。このように、第2セレクタ112から出力される符号ビット系列は、「kビットの情報ビット系列」と、「rビットのパリティビット」とからなる、符号長n=k+rの符号ビット系列となる。
CRCパリティ生成器110および第1セレクタ111について述べる。
図3は、生成多項式G(x)をG(x)=x3+x+1とした場合のCRCパリティ生成器110の回路例を示す。
図3のCRCパリティ生成器110は、第1シフトレジスタR00、第1排他的論理和(EXOR)回路EXOR1、第2シフトレジスタR01、第3シフトレジスタR02、および、第2排他的論理和回路EXOR2が巡回状に接続されており、第2排他的論理和回路EXOR2の出力が第1排他的論理和回路EXOR1に入力されている。
なお、生成多項式G(x)=x4+x3+x2+x+1とした場合のCRCパリティ生成器110の回路図の例を図4に示す。
図4のCRCパリティ生成器110は、第1シフトレジスタR00、第1排他的論理和(EXOR)回路EXOR1、第2シフトレジスタR01、第2排他的論理和回路EXOR2、第3シフトレジスタR02、第3排他的論理和回路EXOR3、第4シフトレジスタR03、第4排他的論理和回路EXOR4が巡回状に接続されており、第4排他的論理和回路EXOR4の出力が第1、2、3排他的論理和回路EXOR1、EXOR2、EXOR3に入力されている。
図3および図4に図解したように、CRCパリティ生成器110は生成多項式G(x)に基づいて構成される。換言すれば、図3および図4の図解から理解できるように、生成多項式G(x)が定まれば、CRCパリティ生成器110は、シフトレジスタと排他的論理和回路を巡回的かつ最終段の排他的論理和回路、たとえば、図3の第2排他的論理和回路EXOR2または図4の第4排他的論理和回路EXOR4の出力をその前段の排他的論理和回路に印加する回路として構成できる。
以下、図3に図解したCRCパリティ生成器110の動作について述べる。図4に図解したCRCパリティ生成器110の動作も図3に図解したCRCパリティ生成器110の動作と基本的には同様である。
図3において、情報多項式M(x)によって表される情報ビット系列を、第3シフトレジスタR02の上位の第2排他的論理和回路EXOR2に、毎時刻、たとえば、シフトレジスタを動作させる毎クロック毎に、1ビットずつ情報ビット系列の高次の項から順に入力することで、情報多項式M(x)に予めxrが乗じられた形のビット系列M(x)・xrが、CRCパリティ生成器110に入力されることになる。
ここで、第1〜第3シフトレジスタR00,R01,R02の初期値はゼロである。
情報ビット系列の零次の項をCRCパリティ生成器110に入力し終えた時点での第1〜第3シフトレジスタR00,R01,R02に保持されている値が剰余多項式R(x)の各次数の係数を与える。すなわち、剰余多項式R(x)は、R(x)=(R02の保持内容)×x2+(R01の保持内容)×x+(R00の保持内容)となる。
そのため、この情報ビット系列の零次の項をCRCパリティ生成器110に入力し終えた時点で、図2に図示しない制御回路から出力されるイネーブル信号E0がディセーブル(不活性状態)となり、CRCパリティ生成器110の第1〜第3シフトレジスタR00,R01,R02に保持されている値は保持されて、第1セレクタ111に出力される。
図2において、たとえば、図3に回路構成を例示したCRCパリティ生成器110から第1セレクタ111の3個入力端子00、01、10への出力は、CRCパリティ生成器110の各シフトレジスタR00,R01,R02の出力R00out,R01out,R02outであり、第1セレクタ111は、図2に図示しない制御回路から出力される第1セレクト信号S0に従って、3個の入力端子00、01、10に入力されたCRCパリティ生成器110からの出力R00out,R01out,R02outの1つを順に選択して第2セレクタ112の「1」入力端子に出力する。
第2セレクタ112は、図2に図示しない制御回路から制御されるビット数カウンタ113から出力される第2セレクト信号S1に従って、換言すれば、ビット数カウンタ113のビット計数値に応じて、第2セレクタ112の「0」入力端子にkビットの情報ビット系列を入力する期間は「0」入力端子に入力される情報ビット系列を選択して情報ビット系列をそのまま出力する。他方、情報ビット系列をCRCパリティ生成器110に入力し終わり、全てのパリティが生成されたタイミングには、第2セレクタ112の「1」入力端子に入力された第1セレクタ111の出力、すなわち、CRCパリティ生成器110で生成したパリティを選択して、出力する。
このようにして、たとえば、図2のCRC符号器11における第2セレクタ112から出力される符号ビット系列は、上述したように、「kビットの情報ビット系列」と、「rビットのパリティビット」とからなる、符号長n=k+rの符号ビット系列となる。
たとえば、図1の送信装置1において、上述したように、CRC符号器11においてCRC符号化された符号ビット系列は、誤り訂正符号器12に入力され、たとえば、Reed-Solomon符号などの誤り訂正符号化され、誤り訂正符号化された情報が伝送路符号器13に入力されて伝送路2に応じた伝送路符号化処理がなされ、伝送路2へと送られる。
伝送路2を経由した信号は、受信装置3の符号検出器31によって検出され、検出された情報が伝送路復号器32に入力される。伝送路復号器32によって伝送路復号された検出情報系列は誤り訂正復号器33によって誤り訂正が行われる。誤り訂正された情報はCRC検出器34において検出系列に誤りがあるかどうか)を判定される。
図5は、受信多項式Y(x)に誤りがないかどうかを検査するCRC検出器34の構成例を示す図である。
CRC検出器34は、CRCパリティ検査器341と、比較器342とを有する。
CRCパリティ検査器341は、上述したように、受信多項式Y(x)が生成多項式G(x)で割り切れるかどうかを調べ、受信多項式Y(x)が生成多項式G(x)で割り切れれば、受信多項式Y(x)は符号多項式W(x)に一致しており、伝送路2において情報語に誤りが発生しなかったと判定し、受信多項式Y(x)が生成多項式G(x)で割り切れなければ、受信多項式Y(x)は符号多項式W(x)ではないので、伝送路2において情報語に誤りが生じたと判定する。
CRCパリティ検査器341は、受信多項式Y(x)を生成多項式G(x)で割る回路であり、比較器342はCRCパリティ検査器341で割った結果に剰余があるか否かをチェックする回路である。
CRCパリティ検査器341の構成例を図6に示す。
図6に図解したCRCパリティ検査器341の構成は、図3に図解したCRCパリティ生成器110に対応している。CRCパリティ生成器110が図4の回路構成の場合は、CRCパリティ検査器341もそれに則した回路構成となる。以下、図3に図解したCRCパリティ生成器110に対応したCRCパリティ検査器341について述べる。
図6に図解したCRCパリティ検査器341は、第1の排他的論理和回路EXOR11、第1シフトレジスタR10、第2の排他的論理和回路EXOR12、第2シフトレジスタR11、第3シフトレジスタR12が巡回状に接続されており、かつ、第3シフトレジスタR12の出力が第2の排他的論理和回路EXOR12に入力される回路構成をしている。
図6のCRCパリティ検査器341において、受信多項式Y(x)によって表される受信ビット系列を、第1シフトレジスタR10の右端の第1の排他的論理和回路EXOR11に毎時刻ごと1ビットずつ高次の項から順に入力する。受信ビット系列の零次の項をCRCパリティ検査器341に入力し終えた時点での第1〜第3シフトレジスタR10,R11,R12の値が剰余多項式R(x)の係数を与える。すなわち、R(X)=(R12の値)×x2+(R11の値)×x+(R10の値)となる。
ここで、第1〜第3シフトレジスタR10,R11,R12の初期値はゼロである。
図5において、CRCパリティ検査器341から比較器342への出力、R10out,R11out,R12outは、図6のCRCパリティ検査器341の各レジスタR10,R11,R12の出力である。
比較器342は、R10out,R11out,R12outの全値がゼロ、つまり剰余がゼロかどうかを比較し(チェックし)、R10out,R11out,R12outの値全てがゼロであったかどうかを表す1ビットの一致信号を出力する。すなわち、R10out,R11out,R12outの値全てがゼロであった場合は、受信多項式Y(x)は符号多項式W(x)に一致しており、伝送路2において情報語に誤りが発生しなかったと判定した、比較器342から、たとえば、論理「1」の一致信号が出力され、そうでなかったときは、たとえば、論理「0」の一致信号が出力される。
CRCの誤り検出能力は、一般的に、ランダム誤り検出能力とバースト誤り検出能力および符号の未検出誤り確率Pudで評価され、これらは生成多項式G(x)と符号長nによって決まる。
ここで、符号の未検出誤り確率Pudとは、伝送路上で生じた誤りによって、受信語が、送信した符号語とは別の符号語(与えられた情報ビットとは別の情報ビットに対してCRCパリティを計算して付加した符号語)に変化したにも関わらず、誤りがないものとして判定されてしまう確率のことを言う。別の符号語に変化してしまうことにより、CRCを行っても剰余がゼロとなってしまう。つまり、受信語に誤りがあるのに誤りなしと判定してしまうということが起こる。
たとえば、非特許文献1に開示されているように、符号の未検出誤り確率Pudは、次数(パリティ数)r、符号長n、生成多項式G(x)と符号長nが決まると求まる重み分布A、もしくは双対符号(dual code)の重み分布B、2元対称通信路(Binary Symmetric Channel)におけるチャネルビット誤り確率(遷移確率)εによって以下のように表される。
Figure 2009171540
Figure 2009171540
ランダム誤り検出能力については、(dmin−1)個以下の全ての誤りを検出できる。ただし、それ以外の誤りも数多く検出できる。
また、バースト誤り検出能力については、長さが生成多項式G(x)の次数以下の誤りは全て検出できる。ただし、長さが生成多項式の次数よりも大きいバースト誤りであっても、その多くは検出可能である。
非特許文献2〜8において、符号の未検出誤り確率を最小化する生成多項式に関する様々な報告がなされており、生成多項式の次数(パリティ数)や符号長に応じて様々なものが提案されている。
非特許文献2、3では、16ビットCRCにおいて、各符号長に対して符号の未検出誤り確率が最小となるような生成多項式を提案している。
また、非特許文献5、8において、符号の未検出誤り確率Pudは、符号長nが変化すると、符号の最小ハミング距離dminの変化する符号長を境に極端に上昇する特性を示すことが確認されている。
図7は、8ビットCRCの場合の最小(限界)未検出誤り確率特性を例にとって示したグラフである。図7において、横軸は符号長n(ビット)を示し、縦軸は符号の未検出誤り確率Pudを示す。これをn−Pud特性という。
特許文献1には、CRC生成多項式の選択方法に関する発明が開示されている。
特許文献1において、生成多項式の次数が与えられたとき、その次数の全ての生成多項式に対して計算したdistance spectrum(距離スペクトル)を元に生成多項式を選択する。このdistance spectrumは、それぞれのハミング距離における符号語の数を表したテーブルである。これにより、最大・最小ハミング距離を持った生成多項式を選択し、符号の未検出誤り確率を最小化する生成多項式を選択する。
J.K.Wolf, R.D.Blakeney,"An exact evaluation of the probability of undetected error for certain shortened binary CRC codes,"Military Communications Conference,1988. MILCOM 88, Conference record. '21st Century Military Communications - What's Possible?'. 1988 IEEE, vol.1, pp.287-292, Oct.1988. T.Baicheva, S.Dodunekov, P.Kazakov,"Undetected error probability performance of cyclic redundancy-check codes of 16-bitredundancy,"IEE Proc.-Commun. ,vol.147, no.5, pp.253-256, Oct.2000. P.Kazakov, "Fast Calculation of the Number of Minimum-Weight Words of CRC Codes,"IEEE Trans.Inform.Theory, vol.47, no.3 ,pp.1190-1195, Mar.2001. P.Koopman,"Cyclic Redundancy Code(CRC) Polynomial Selection For Embedded Networks,"The International Conference on Dependable System and Networks, DSN-2004. G.Castagnoli, J.Ganz, P.Graber,"Optimum Cyclic Redundancy-Check Codes with 16-Bit Redundancy,"IEEE Trans.Commun. , vol.38, no.1, pp.111-114, Jan.1990. G.Funk,"Determination of Best Shortened Codes,"IEEE Trans.Commun. ,vol.44 ,no.1 ,pp.1-6 ,Jan.1996. D.Chun, J.K.Wolf,"Special Hardware for Computing the Probability of Undetected Error for Certain CRC Codes and Test Results,"IEEE Trans.Commun. , vol.42, no.10, pp.2769-2772, Oct.1994. G.Castagnoli, S.Brauer, M.Herrmann,"Optimum of Cyclic Redundancy-Check Codes with 24 and 32 Parity Bits,"IEEE Trans.Commun. , vol.41, no.6, pp.883-892, Jun.1993. J.M.Stein,“METHOD FOR SELECTING CYCLIC REDUNDANCY CHECK POLYNOMIALS FOR LINEAR CODED SYSTEMS” , US Patent 6,085,349, Qualcomm Incorporated, Filed Aug.27, 1997.
上述したように、CRCの誤り検出能力(符号の未検出誤り確率、ランダム誤り検出能力、バースト誤り検出能力)は、生成多項式と符号長によって決まる。
全ての符号長において符号の未検出誤り確率が最小(限界値)となる生成多項式や符号の最小ハミング距離が最大となる生成多項式は存在せず、符号長に応じて符号の未検出誤り確率が最小もしくは符号の最小ハミング距離が最大となる生成多項式は異なる。
つまり、広く用いられているCCITT規格やANSI規格、および、非特許文献4〜8に示される生成多項式などは、符号の未検出誤り確率が最小、符号の最小ハミング距離が最大となる符号長の範囲は限られている。
上述した文献の多くは、データ通信などにおける符号長の長い(数千ビット以上の)場合に符号の未検出誤り確率が最小(限界値)となるように設計されており、ヘッダ情報に対してCRCを用いる場合や、光ディスクなどの記録媒体へのデータの記録にCRCを用いる場合など、符号長のより短い場合においては、更に良い性能を示すものが存在する。
非特許文献2、3などでは、符号長ごとに符号の未検出誤り確率が最も低い生成多項式の提案をしているが、この場合、異なる符号長において用いる場合には、その都度異なる生成多項式を用いなければならなかった。
たとえば、特許文献1では、符号長ごとに符号の最小ハミング距離が最大値を持つ生成多項式を選択しているが、これは回路規模の増加につながるという問題があった。
実際のシステムにおいては、様々な符号長やパリティ長のものが使用されるが、これまで、全ての符号長やパリティ長について最適なCRC符号が明らかとなっている訳ではなく、現在知られているCRC符号だけでは、実際のシステムにおいて最小の未検出誤り確率Pudを得る上で、必ずしも十分ではなかった。
以上から、与えられた符号長およびパリティ長において符号の未検出誤り確率ができるだけ低く、符号の最小ハミング距離が出来るだけ大きく、かつ、出来るだけ広い符号長範囲において使用できる生成多項式が望まれている。
さらに、たとえば、図1の送信装置1に用いるCRC符号器、受信装置3に用いるCRC検出器を回路として装置化する際には、できるだけその回路が簡略化できるCRC符号化方式が望まれる。
本発明の目的は、より適した生成多項式を、処理の対象とするデータに応じて切り替えて用いることができるようにするものである。
本発明の一側面の送信装置は、符号長の異なる複数のデータのそれぞれを対象としたCRC符号化処理用の複数の生成多項式を有し、対象とするデータに応じて生成多項式を切り替えてCRC符号化処理を行うCRC符号化処理手段と、前記CRC符号化処理手段によりCRC符号化処理が行われることによって得られたデータを送信する送信手段とを備える。
前記複数の生成多項式は、kビットの情報語を持ち、該情報語についてrビットのパリティが付加された符号長(n)の符号の各符号長(n)における最小ハミング距離(dmin)の最大値である最大・最小ハミング距離(Max.dmin)を求める第1工程と、符号の最大・最小ハミング距離(Max.dmin)の変化する符号長(n)を求め、その符号長nの範囲(nmin(r,Max.dmin)≦n≦nmax(r,Max.dmin))を求める第2工程と、前記符号長(n)の範囲(nmin(r,Max.dmin)≦n≦nmax(r,Max.dmin))において、常に、符号の最小ハミング距離(dmin)が最大・最小ハミング距離(Max.dmin)と等しい条件(dmin=Max.dmin)を満たす生成多項式(G(x))を全検索によって見いだす第3工程と、前記全検索によって見いだした生成多項式(G(x))の中から、項数(w)、符号の未検出誤り確率(Pud)も最小のものを選び出す第4工程とを含む処理によって選択された生成多項式であるようにすることができる。
本発明の一側面の送信方法またはプログラムは、対象とするデータに応じて生成多項式を切り替えてCRC符号化処理を行い、CRC符号化処理を行うことによって得られたデータを送信するステップを含む。
本発明の他の側面の受信装置は、送信装置から送信されてきた信号に基づいてデータを取得する取得手段と、符号長の異なる複数のデータのそれぞれを対象としたCRC処理用の複数の生成多項式を有し、対象とするデータに応じて生成多項式を切り替えてCRC処理を行うことによってデータの誤りを検出するCRC処理手段とを備える。
前記複数の生成多項式は、kビットの情報語を持ち、該情報語についてrビットのパリティが付加された符号長(n)の符号の各符号長(n)における最小ハミング距離(dmin)の最大値である最大・最小ハミング距離(Max.dmin)を求める第1工程と、符号の最大・最小ハミング距離(Max.dmin)の変化する符号長(n)を求め、その符号長nの範囲(nmin(r,Max.dmin)≦n≦nmax(r,Max.dmin))を求める第2工程と、前記符号長(n)の範囲(nmin(r,Max.dmin)≦n≦nmax(r,Max.dmin))において、常に、符号の最小ハミング距離(dmin)が最大・最小ハミング距離(Max.dmin)と等しい条件(dmin=Max.dmin)を満たす生成多項式(G(x))を全検索によって見いだす第3工程と、前記全検索によって見いだした生成多項式(G(x))の中から、項数(w)、符号の未検出誤り確率(Pud)も最小のものを選び出す第4工程とを含む処理によって選択された生成多項式であるようにすることができる。
本発明の他の側面の受信方法またはプログラムは、送信装置から送信されてきた信号に基づいてデータを取得し、対象とするデータに応じて生成多項式を切り替えてCRC処理を行うことによってデータの誤りを検出するステップを含む。
本発明の一側面においては、対象とするデータに応じて生成多項式を切り替えてCRC符号化処理が行われ、CRC符号化処理を行うことによって得られたデータが送信される。
本発明の他の側面においては、送信装置から送信されてきた信号に基づいてデータが取得され、対象とするデータに応じて生成多項式を切り替えてCRC処理が行われることによってデータの誤りが検出される。
本発明によれば、より適した生成多項式を、処理の対象とするデータに応じて切り替えて用いることができる。
CRC符号選択方法
本発明の発明者は、図7に例示したように、符号の最小ハミング距離dminの変化する符号長nを境に符号の未検出誤り確率Pudの特性が急激に劣化することに着目した。図7のn−Pud特性は、各符号長における種々の生成多項式G(x)についての限界を示している。
8ビットCRCについての図7の例示において、符号長n=10〜12、13〜17、18〜127、128〜255などの境界で符号の未検出誤り確率Pudが急激に変化する。
また、符号の最小ハミング距離dminの変化する上記符号長nは生成多項式によって異なる。
さらに、符号長nにおける符号の最小ハミング距離dminは生成多項式によって異なる。
図8は本発明のCRC符号選択方法の処理内容の1例を示すフローチャートである。
以下、上述した認識の元、図8を参照して、本発明の発明者による本発明のCRC符号選択方法について述べる。
ステップ1:Max.d min を求める。
符号の最小ハミング距離dminは、大きい程、ランダム誤り検出能力が高く、符号の未検出誤り確率が低いため、望ましいので、まず、パリティ数(次数)rの符号の各符号長における最小ハミング距離dminの最大値(これを最大・最小ハミング距離、または、最小ハミング距離・最大値といい、Max.dminで表す)を求める。
ステップ2:Max.d min の変化する符号長nを求める。
次いで、最大・最小ハミング距離Max.dminの変化する符号長nを求め、Max.dminが一定の符号長nの範囲をnmin(r,Max.dmin)≦n≦nmax(r,Max.dmin)と表す。nmin(r,Max.dmin)は、符号長nの最小範囲nminが、rとMax.dminで規定されることを意味しており、同様に、符号長nの最大範囲nmaxが、rとMax.dminとで規定されることを示している。
8ビットCRCの場合を図7に例示する。
ただし、符号長nが生成多項式G(x)の周期pを超えると、図7の例では、n≧256になると、符号の最小ハミング距離dminは必ず2となる。
生成多項式G(x)の周期pは、生成多項式G(x)が原始多項式のとき最大となり、その最大周期は(2r-1)で表される。つまり、Max.dmin=2における符号長nの範囲は、生成多項式G(x)に関わらず必ず2r≦n≦∞となる。すなわち、nmin(r,2)=2r、nmax(r,2)=∞となる。
ステップ3:n min ≦n≦n max において、常に、d min =Max.d min を満たすG(x)を全検索によって見いだす。
次に、出来るだけ広い範囲の符号長nにおいて使用できる生成多項式が望ましいので、nmin(r,Max.dmin)≦n≦nmax(r,Max.dmin)において、常に、dmin=Max.dminを満たす生成多項式G(x)を全検索によって見いだす。
ステップ4:全検索によって見いだしたG(x)の中から、項数w、符号の未検出誤り確率P ud も最小のものを選び出す。
さらに、全検索によって見いだした生成多項式G(x)の中から、項数w、符号の未検出誤り確率Pudも最小のものを選び出す。
ステップ3および4における検索および選択の方法について、図9を参照して、具体例を述べる。
ステップ41:p≧nmaxを満たし、かつ、(nmax,nmax−r)の符号についてdmin=Max.dminを満たすG(x)を全検索により見付ける。
まず、nmin(r,Max.dmin)≦n≦nmax(r,Max.dmin)において常に、dmin=Max.dminを満たすためには、周期pについてp≧nmax(r,Max.dmin)を満たし、かつ、(nmax,nmax−r)の符号についてdmin=Max.dminを満たす必要があるので、この条件を満たす生成多項式G(x)を全検索により見付ける。
ステップ42:全検索により見いだしたG(x)の中から、項数wが最小の生成多項式G(x)を選ぶ。
次に、全検索により見いだした生成多項式G(x)の中から、項数wが最小の生成多項式G(x)を選ぶ。また、G(x)の項数がwのとき、G(x)によって生成された符号語には、ハミング距離dHがwとなる符号語が必ず存在する。したがって、G(x)によって生成される符号の最小ハミング距離dminが最大・最小ハミング距離Max.dminとなっているならば、必ずw≧Max.dminである。このことを利用して、ステップ41において検索するG(x)の中でw<Max.dminのものは省略することが可能である。
ステップ43:Pudが最小になるG(x)を見いだす。
次に、この生成多項式G(x)を用いて符号化したCRC符号のnmin(r,Max.dmin)≦n≦nmax(r,Max.dmin)における、符号の未検出誤り確率Pudを式4によって求め、Pudが最小となる生成多項式G(x)を見いだす。
ただし、符号長nが大きくなり、Max.dmin=2の場合については、上述したように、符号長nの範囲が2r≦n≦∞、すなわち、nmin(r,2)=2r、nmax(r,2)=∞であるので、ステップ41に示した手順で生成多項式G(x)を検索することが出来ない。
また、2r≦nにおいて、全ての生成多項式G(x)はdmin=Max.dmin=2を満たす。そこで、dmin=2のときは周期pが大きい程符号の未検出誤り確率Pudが低いという性質を利用して、Max.dmin=2については、周期pが最大周期2r−1をもつ(原始多項式である)生成多項式G(x)の中で、多項式の項数w、符号の未検出誤り確率Pudが最小である生成多項式G(x)を選択する。つまり、これは、Max.dmin=3で求めた生成多項式G(x)と一致する。その理由は、nmax(r,3)=2r−1であるからである。
実施例と比較例
以上の方法で見いだした生成多項式G(x)の例と、比較例を述べる。
表1−A〜表1−Cは、パリティビット数(次数)r=3,4,6,8,10,12,14,16の各符号長における生成多項式G(x)の、本発明における実施例と、比較例として、一般的に用いられている生成多項式の例を示したものである。
Figure 2009171540
Figure 2009171540
Figure 2009171540
表1−A〜表1−Cの1列目は、パリティビット数rを表し、2列目、3列目は、それぞれ、符号の最大・最小ハミング距離Max.dminを満たす符号長nの範囲と、その最大・最小ハミング距離Max.dminである。
生成多項式G(x)について、16進数表記をしている。たとえば、16進数表記の「F」は、2進数表記で「1111」になる。また、16進数表記の「12D」であれば、2進数で表すと、「100101101」であるので、生成多項式G(x)=x8+x5+x3+x2+1を表す。
また、高次の係数と低次の係数を逆転した多項式を相反多項式(reciprocal polynomial)といい、同じ特性を示す。
表1−A〜表1−Cの4〜7列目のデータが本発明の実施例における生成多項式を用いて生成した符号の最小ハミング距離dmin、生成多項式G(x)、項数w、および、符号の未検出誤り確率Pudを表す。
表1−A〜表1−Cの8〜11列目のデータが比較例における生成多項式を用いて生成した符号の最小ハミング距離dmin、生成多項式G(x)、項数w、および、符号の未検出誤り確率Pudを表す。
表1−A〜表1−Cにおいて、“−”記号は、上記の検索を行い選択した生成多項式が他文献で既に提案されている部分であり、その部分については、参考までに表2に示す。
Figure 2009171540
本発明の実施例として示した生成多項式G(x)は、nmin(r,Max.dmin)≦n≦nmax(r,Max.dmin)において、dmin=Max.dminを満たし、さらに、その生成多項式G(x)の中で項数wが最小であり、さらに、その中で符号の未検出誤り確率Pudが最も低い生成多項式となっている。
さらに、図10、図11は、それぞれ、16ビットCRC、8ビットCRCにおける符号長nと符号の未検出誤り確率Pudとの特性(n−Pud特性)を示したものである。
この例示において、左から順に生成多項式G(x)、項数w、Max.dmin一定の符号長範囲nmin≦n≦nmaxを表し、最後に“new”と示されていれば本発明によるもの、“〔〕”で括られたものはすでに他文献に提案されているものであり、数字はその文献番号を表す。
以上のようにして得た生成多項式G(x)の例を整理して、下記に列挙する。
(1)次数r=3、符号長n=4のとき、生成多項式G(x)=x3+x2+x+1である。
(2)次数r=4、符号長nが6≦n≦7のとき、生成多項式G(x)=x4+x2+x+1(相反多項式:x4+x3+x2+1)である。
(3)次数r=6、符号長n=7のとき、生成多項式G(x)=x6+x5+x4+x3+x2+x+1である。
(4)次数r=6、符号長n=8のとき、生成多項式G(x)=x6+x4+x2+x+1(相反多項式:x6+x5+x4+x2+1)である。
(5)次数r=6、符号長n=8のとき、生成多項式G(x)=x6+x4+x3+x+1(相反多項式:x6+x5+x3+x2+1)である。
(6)次数r=6、符号長n=8のとき、生成多項式G(x)=x6+x5+x3+x+1である。
(7)次数r=6、符号長nが9≦n≦31のとき、生成多項式G(x)=x6+x2+x+1(相反多項式:x6+x5+x4+1)である。
(8)次数r=8、符号長n=9のとき、生成多項式G(x)=x8+x7+x6+x5+x4+x3+x2+x+1である。
(9)次数r=8、符号長nが10≦n≦12のとき、
生成多項式G(x)=x8+x5+x4+x3+x+1(相反多項式:x8+x7+x5+x4+x3+1)である。
(10)次数r=8、符号長nが10≦n≦12のとき、
生成多項式G(x)=x8+x6+x3+x2+x+1(相反多項式:x8+x7+x6+x5+x2+1)である。
(11)次数r=8、符号長nが18≦n≦127のとき、生成多項式G(x)=x8+x4+x+1(相反多項式:x8+x7+x4+1)である。
(12)次数r=8、符号長nがn≧128のとき、生成多項式G(x)=x8+x5+x3+x2+1(相反多項式:x8+x6+x5+x3+1)である。
(13)次数r=10、符号長nがn=11のとき、生成多項式G(x)=x10+x9+x8+x7+x6+x5+x4+x3+x2+x+1である。
(14)次数r=10、符号長nがn=12のとき、生成多項式G(x)=x10+x8+x6+x4+x3+x2+x+1(相反多項式:x10+x9+x8+x7+x6+x4+x2+1)である。
(15)次数r=10、符号長nが23≦n≦31のとき、生成多項式G(x)=x10+x9+x3+x+1(相反多項式:x10+x9+x7+x+1)である。
(16)次数r=10、符号長nが32≦n≦511のとき、生成多項式G(x)=x10+x5+x2+1(相反多項式:x10+x8+x5+1)である。
(17)次数r=10、符号長nがn≧512のとき、生成多項式G(x)=x10+x3+1(相反多項式:x10+x7+1)である。
(18)次数r=12、符号長nがn=13のとき、生成多項式G(x)=x12+x11+x10+x9+x8+x7+x6+x5+x4+x3+x2+x+1である。
(19)次数r=12、符号長nがn=14のとき、生成多項式G(x)=x12+x10+x8+x6+x4+x3+x2+x+1(相反多項式:x12+x11+x10+x9+x8+x6+x4+x2+1)である。
(20)次数r=12、符号長nが24≦n≦39のとき、生成多項式G(x)=x12+x11+x7+x3+x+1(相反多項式:x12+x11+x9+x5+x+1)である。
(21)次数r=12、符号長nが40≦n≦65のとき、生成多項式G(x)=x12+x10+x7+x6+x5+x2+1である。
(22)次数r=12、符号長nが66≦n≦2047のとき、生成多項式G(x)=x12+x7+x2+1(相反多項式:x12+x10+x5+1)である。
(23)次数r=12、符号長nがn≧2048のとき、生成多項式G(x)=x12+x7+x6+x4+1(相反多項式:x12+x8+x6+x5+1)である。
(24)次数r=14、符号長nがn=15のとき、生成多項式G(x)=x14+x13+x12+x11+x10+x9+x8+x7+x6+x5+x4+x3+x2+x+1である。
(25)次数r=14、符号長nがn=16のとき、生成多項式G(x)=x14+x12+x10+x9+x7+x5+x4+x3+x+1(相反多項式:x14+x13+x11+x10+x9+x7+x5+x4+x2+1)である。
(26)次数r=14、符号長nがn=17のとき、生成多項式G(x)=x14+x11+x8+x6+x5+x3+x2+x+1(相反多項式:x14+x13+x12+x11+x9+x8+x6+x3+1)である。
(27)次数r=14、符号長nが28≦n≦71のとき、生成多項式G(x)=x14+x10+x9+x6+x2+1(相反多項式:x14+x12+x8+x5+x4+1)である。
(28)次数r=14、符号長nが72≦n≦127のとき、生成多項式G(x)=x14+x11+x5+x3+1(相反多項式:x14+x11+x9+x3+1)である。
(29)次数r=14、符号長nが128≦n≦8191のとき、生成多項式G(x)=x14+x5+x2+1(相反多項式:x14+x12+x9+1)である。
(30)次数r=14、符号長nがn≧8192のとき、生成多項式G(x)=x14+x6+x4+x+1(相反多項式:x14+x13+x10+x8+1)である。
(31)次数r=16、符号長nがn=17のとき、生成多項式G(x)=x16+x15+x14+x13+x12+x11+x10+x9+x8+x7+x6+x5+x4+x3+x2+x+1である。
(32)次数r=16、符号長nがn=18のとき、生成多項式G(x)=x16+x14+x12+x10+x8+x6+x5+x4+x3+x2+x+1(相反多項式:x16+x15+x14+x13+x12+x11+x10+x8+x6+x4+x2+1)である。
(33)次数r=16、符号長nが19≦n≦21のとき、生成多項式G(x)=x16+x13+x12+x9+x7+x6+x5+x4+x2+1(相反多項式:x16+x14+x12+x11+x10+x9+x7+x4+x3+1)である。
(34)次数r=16、符号長nが19≦n≦21のとき、生成多項式G(x)=x16+x13+x12+x9+x7+x5+x4+x3+x2+1(相反多項式:x16+x14+x13+x12+x11+x9+x7+x4+x3+1)である。
(35)次数r=16、符号長nがn=22のとき、生成多項式G(x)=x16+x13+x8+x7+x6+x4+x2+x+1(相反多項式:x16+x15+x14+x12+x10+x9+x8+x3+1)である。
(36)次数r=16、符号長nが23≦n≦31のとき、生成多項式G(x)=x16+x13+x11+x5+x3+x2+x+1(相反多項式:x16+x15+x14+x13+x11+x5+x3+1)である。
(37)次数r=16、符号長nが36≦n≦151のとき、生成多項式G(x)=x16+x15+x13+x8+x5+x3+x+1(相反多項式:x16+x15+x13+x11+x8+x3+x+1)である。
(38)次数r=16、符号長nが152≦n≦257のとき、生成多項式G(x)=x16+x15+x8+x+1である。
(39)次数r=16、符号長nが258≦n≦32767のとき、生成多項式G(x)=x16+x13+x2+1(相反多項式:x16+x14+x3+1)である。
(40)次数r=16、符号長nがn≧32768のとき、生成多項式G(x)=x16+x9+x7+x4+1(相反多項式:x16+x12+x9+x7+1)である。
以上のごとく、本発明の実施の形態によれば、種々の条件に則した生成多項式G(x)を求めることができた。
なお、上記列挙した生成多項式G(x)について、符号長nがnmin=nmaxの場合と、nmin≠nmaxの場合とに2分割して整理することもできる。
CRC符号化方法およびCRC符号化回路
上述した生成多項式G(x)を、たとえば、図2に示したCRCパリティ生成器110、または、図5に示したCRCパリティ検査器341に適用できる。
たとえば、図2に示したCRCパリティ生成器110について、図3または図4に回路構成を示したように、生成多項式G(x)の次数に応じて設けられるシフトレジスタと排他的論理和回路を巡回的に接続する。排他的論理和回路は生成多項式G(x)の係数に応じて設け、最終段の排他的論理和回路、たとえば、図3の第2排他的論理和回路EXOR2の出力を、前段に位置する他の排他的論理和回路に入力する回路構成とする。
このように、生成多項式G(x)が上述のように求められると、シフトレジスタと排他的論理和回路とを用いて、CRC符号化回路を容易に構成することができる。
CRCパリティ検査器341についても同様である。
表1−A〜1−Cや、図10、図11の例示から理解されるように、これまで広く用いられている比較例の生成多項式は、ある符号長範囲においては、限界値(Bound)に近接した特性を示すが、それ以外の部分においては、符号の最小ハミング距離(dmin)・未検出誤り確率(Pud)特性において、限界値と比べて大きく劣化する。
それと比較すると、本発明による選択方法に基づく実施例においては、全ての符号長nにおいて限界値に近接した特性が得られる。
このように、本発明の好適な実施の形態による、生成多項式を用いて生成されるCRC符号化方式を用いることで、従来から広く用いられている生成多項式を用いる場合に比べ、所望のパリティビットおよび符号長において、符号の未検出誤り確率を低く抑えることが出来、かつ、符号の最小ハミング距離が最大値をとることで、ランダム誤り検出能力を最大にすることが出来る。
さらに、nmin(r,Max.dmin)≦n≦nmax(r,Max.dmin)の符号長範囲において生成多項式G(x)がdmin=Max.dminかつPud≒限界値(Bound)を満たしているので、符号長nが変化する場合でも、この符号長範囲内であれば単一の生成多項式で対応することが可能である。
さらに、nmin(r,Max.dmin)≦n≦nmax(r,Max.dmin)の符号長範囲において、常に、符号の最小ハミング距離(dmin)が最大値をとる生成多項式G(x)の中で、最小の項数wのものを用いているので、回路に実装するときの回路規模も少なくて済む。
また、符号長nと符号の未検出誤り確率Pudが決まれば、それを満たすために必要なパリティ数(次数r)が分かるので、そのパリティ数r、符号長nにおいて選択された生成多項式G(x)を用いることで、所望の未検出誤り確率を実現することが出来る。
送受信システム
図12は、以上のような方法により選択された生成多項式G(x)を用いてデータの送受信を行う送受信システムの構成例を示す図である。
図12に示されるように、この送受信システムは送信装置501、伝送路502、および受信装置503から構成される。送信装置501からは、例えば、地上デジタル放送の規格であるDVB-T2(Digital Video Broadcasting-Terrestrial2)や、衛星デジタル放送の規格であるDVB-S2(Digital Video Broadcasting-Satellite2)などの規格に準拠してデータの送信(放送)が行われる。
送信装置501は放送局などに設けられる装置であり、外部から入力されるヘッダデータとユーザデータに対してCRC符号化処理を施すなどして得られたストリームを、伝送路502を介して送信する。
受信装置503は、テレビジョン受像機やSTB(Set Top Box)などの装置であり、図示せぬアンテナから供給された受信信号を復調して得られたデータに対してCRC処理を施すなどして、送信の対象になっていたユーザデータを取得する。受信装置503により取得されたユーザデータは、後段の装置に出力される。
図13は、送信装置501から送信されるストリームの構造の例を示す図である。横軸は時間軸を表す。
図13の例においては、同期信号が付加されていないストリームであるGeneric Continuous Streamが最上段に示されており、その下には、所定のデータ量のパケットからなるストリームであるPacketised Streamが示されている。
ここでは、Packetised Streamを構成する1つのパケットをUP(User Packet)という。1つのUPは、あるCRCパリティの先頭から時間軸上で次のCRCパリティまでの範囲のデータとなる。送信装置501に対して外部から入力されたユーザデータはそれぞれのUPのCRCパリティに続く部分に格納される。図13の上から2段目に示されるストリームがTS(Transport Stream)である場合、TSパケットであるUPの長さ(UPL(User Packet Length))は188×8ビットとなる。
図13に示されるように、それぞれのUPの先頭の8ビットはCRCパリティに置き換えられる。このCRCパリティに置き換えられる位置は、本来、UP用の同期信号が格納されている位置である。後に詳述するように、この8ビットのCRCパリティは、上述したようにして選択された例えば生成多項式G(x)=x8+x4+x+1(上で列挙した生成多項式のうちの(11)の生成多項式)を用いて求められる。
図13のUPLの矢印の区間で示されるようにCRCパリティを含むUPを1単位のデータとすると、図14に示されるように、あるUPに格納されたデータから求められたCRCパリティは、処理順で次の単位のUPの先頭の8ビットのSYNCと置き換えられる。
このようなUPからなるPacketised Streamや図13の最上段に示されているようなGeneric Continuous Streamは、図13の時刻t1乃至t2の区間で示されるような所定の長さのデータであるデータフィールド(DATA FIELD)に区切られ、それぞれのデータフィールドに対して、ベースバンドヘッダ(BBHEADER)が付加される。送信装置501に対して外部から入力されたヘッダデータはこのベースバンドヘッダに含まれるデータを表す。
図13の例においては、ベースバンドヘッダは80ビットのデータとされ、2バイトのMATYPE、2バイトのUPL、2バイトのDFL、1バイトのSYNC、2バイトのSYNCD、1バイトのCRCパリティが含まれる。
MATYPEはストリームの種類などを表す情報であり、このMATYPEにより、データフィールドに区切った元のストリームがPacketised Streamであるのか、Generic Continuous Streamであるのが表される。UPLは、元のストリームがPacketised Streamである場合には上述したUPの長さであるUPLを表す。DFLは、データフィールドの長さを表し、SYNCは、CRCパリティに置き換えられるUP内の先頭の8ビットの同期信号の内容を表す。SYNCDはデータフィールドの先頭からCRCパリティの先頭までのビット数を表す。
ベースバンドヘッダ中のCRCパリティも、上述したようにして選択された例えば生成多項式G(x)=x8+x4+x+1を用いて生成される。情報ビット系列として、上述した2バイトのMATYPE、2バイトのUPL、2バイトのDFL、1バイトのSYNC、2バイトのSYNCDの計72ビットが用いられ、CRCパリティが求められる。以下、適宜、Packetised Streamを構成するUPの先頭の8ビットのCRCパリティを第1のCRCパリティといい、ベースバンドヘッダに含まれるCRCパリティを第2のCRCパリティという。
図13に示されるような構成を有するベースバンドヘッダとデータフィールドから図15に示されるようにベースバンドフレーム(BB FRAME)が構成される。ベースバンドフレームには所定の長さのパディングも含まれる。送信装置501においては、それぞれのベースバンドフレームに対してBCH FEC(Bose Chaudhuri Hocquenghem Forward Error Correction)、LDPC FEC(Low Density Parity Check Forward Error Correction)が付加され、受信装置503に対して送信される。
図16は、送信装置501の構成例を示すブロック図である。
図16に示されるように、送信装置501は、セレクタ511、CRC符号器512、誤り訂正符号器513、OFDM変調器514、および、信号処理器515から構成される。
セレクタ511は、信号処理器515から供給されたヘッダデータとユーザデータのうちのいずれかを信号処理器515による指示に従って選択し、選択したデータをCRC符号器512に出力する。セレクタ511に対しては、複数のUPからなるPacketised Stream、またはGeneric Continuous Streamがユーザデータとして信号処理器515から供給される。また、ベースバンドヘッダに含まれるデータがヘッダデータとして信号処理器515から供給される。
CRC符号器512は、Packetised Streamがユーザデータとして供給されたとき、供給されたそれぞれのUPに含まれるSYNC以降のデータを情報ビット系列として、生成多項式G(x)=x8+x4+x+1を用いることによって第1のCRCパリティを生成し、生成した第1のCRCパリティによって、処理順で次のUPの先頭8ビットの位置にあるSYNCを置き換える。
また、CRC符号器512は、そのフレーム化器512Aにおいて、第1のCRCパリティによってSYNCが置き換えられたUPからなるPacketised Streamをデータフィールド毎に区切り、フレーム化を行う。データフィールドの長さを表すDFLの情報は信号処理器515から供給される。フレーム化器512Aは、ヘッダデータに基づいてCRC符号器512により生成された第2のCRCパリティが格納されたベースバンドヘッダをそれぞれのデータフィールドに付加し、そのようなベースバンドヘッダとデータフィールドからなる図15のベースバンドフレーム単位のデータを誤り訂正符号器513に出力する。
一方、Generic Continuous Streamがユーザデータとして供給されたとき、CRC符号器512は、そのフレーム化器512Aにおいて、Generic Continuous Streamをデータフィールド毎に区切り、フレーム化を行う。このときも、DFLの情報が信号処理器515から供給される。フレーム化器512Aは、Packetised Streamが供給されたときと同様に、ヘッダデータに基づいてCRC符号器512により生成されたCRCパリティが格納されたベースバンドヘッダをそれぞれのデータフィールドに付加し、そのようなベースバンドヘッダとデータフィールドからなるベースバンドフレーム単位のデータを誤り訂正符号器513に出力する。
CRC符号器512は、ベースバンドヘッダに含まれるヘッダデータが供給されたとき、供給されたヘッダデータを情報ビット系列として、生成多項式G(x)=x8+x4+x+1を用いることによって第2のCRCパリティを生成し、生成した第2のCRCパリティをベースバンドヘッダの最後の8ビットの位置に格納する。この第2のCRCパリティが格納されたベースバンドヘッダが、Packetised Streamを区切ることによって得られたデータフィールド、あるいは、Generic Continuous Streamを区切ることによって得られたデータフィールドに付加される。
誤り訂正符号器513は、BCH符号、LDPC符号を用いた誤り訂正符号化処理をCRC符号器512から供給されたデータに対して施し、誤り訂正符号化処理を施すことによって得られた、ベースバンドフレーム、BCH FEC、LDPC FECからなる図15に示されるようなデータをOFDM変調器514に出力する。
OFDM変調器514は、OFDM(Orthogonal Frequency Division Multiplexing)変調を行い、変調して得られた送信信号を受信装置503に送信する。OFDM変調のようなマルチキャリアを用いた変調方式ではなく、シングルキャリアを用いた変調方式によって変調が行われるようにしてもよい。
信号処理器515は、送信装置501のユーザなどによって外部から入力されたユーザデータ、ヘッダデータをセレクタ511に出力し、セレクタ511からCRC符号器512に対する出力、または、CRC符号器512において行われるフレーム化などを制御する。図16に示されるように、信号処理器515は、データ入力器515A、ヘッダ生成器515B、および制御器515Cから構成される。
データ入力器515Aは、入力されたユーザデータ、ヘッダデータを取得し、ユーザデータをセレクタ511に、ヘッダデータをヘッダ生成器515Bにそれぞれ出力する。
ヘッダ生成器515Bは、データ入力器515Aから供給されたヘッダデータに基づいて、図13に示されるMATYPE,UPL,DFL,SYNC,SYNCDの各データを生成し、生成したデータをヘッダデータとしてセレクタ511に出力する。
制御器515Cは、ユーザデータとしてセレクタ511からCRC符号器512に供給されているストリームがPacketised Streamであるのか、Generic Continuous Streamであるのかを表す情報であるデータ種別1をCRC符号器512に出力する。CRC符号器512においては、このデータ種別1に基づいてPacketised Streamが入力されていると判断された場合、第1と第2のCRCパリティが生成され、Generic Continuous Streamが入力されていると判断された場合、第2のCRCパリティが生成される。
また、制御器515Cは、DFLの情報をCRC符号器512に出力する。CRC符号器512のフレーム化器512Aにおいては、制御器515CからのDFLによって指定される長さのデータフィールド毎にユーザデータを区切るようにフレーム化が行われる。例えば、DFLは、MAC層などの上位の層によって決定される。DFLをどのようにして決定するのかは、上位層の仕様や実装によって異なる。
制御器515Cは、ヘッダデータとユーザデータのうちのいずれのデータをCRC符号器512に出力するのかを指示する情報であるデータ種別2をセレクタ511に出力することも行う。制御器515Cは、内部にカウンタなどを持ち、ヘッダ生成器515Bから供給されるDFLなどを元に、ヘッダデータとユーザデータのいずれのデータを出力するのかを判断する。
図17、図18は、以上のような構成を有する送信装置501において行われるユーザデータのフレーム化について示す図である。図17はGeneric Continuous Streamを対象としたフレーム化について示し、図18はPacketised Streamを対象としたフレーム化について示す。
図17の上段に示されるように、画像ストリームなどがGeneric Continuous Streamの形で供給された場合、CRC符号器512のフレーム化器512Aにおいては、図17の矢印A1の先に示されるように、Generic Continuous Streamが例えば1000バイトのデータフィールド(DF)毎に区切られる。この1000バイトの長さは制御器515CからのDFLによって指定されたものである。図17においては、データフィールド#1乃至#4の4つのデータフィールドが示されている。
データフィールド毎に区切られた後、図17の矢印A2の先に示されるように、ヘッダ生成器515Bにより生成されたベースバンドヘッダがそれぞれのデータフィールドにフレーム化器512Aにおいて付加され、ベースバンドフレームが生成される。それぞれのデータフィールドに付加されるベースバンドヘッダには、CRC符号器512により生成された第2のCRCパリティも格納されている。図17においては、データフィールド#1にベースバンドヘッダが付加されることによってベースバンドフレーム#1が生成され、データフィールド#2にベースバンドヘッダが付加されることによってベースバンドフレーム#2が生成されている。ベースバンドフレーム#1と#2に付加されている、斜線を付して示す部分は所定の長さのパディングである。
一方、図18の上段に示されるように、画像ストリームなどがUP#1乃至#3を含むPacketised Streamの形で供給された場合、CRC符号器512においては、図18の矢印A11の先に示されるように、SYNCがCRCパリティ(第1のCRCパリティ)によって置き換えられる。UP#1のCRCパリティは直前のUPのデータを用いてCRC符号器512により求められたものであり、UP#2のCRCパリティは、UP#1のデータを用いて求められたものである。UP#3のCRCパリティは、UP#2のデータを用いて求められたものである。
SYNCがCRCパリティによって置き換えられた後、CRC符号器512のフレーム化器512Aにおいては、図18の矢印A12の先に示されるように、Packetised Streamが例えば1000バイトのデータフィールド毎に区切られる。図18においては、データフィールド#1と#2の2つのデータフィールドが示されている。
データフィールド毎に区切られた後、図18の矢印A13の先に示されるように、ヘッダ生成器515Bにより生成されたベースバンドヘッダがそれぞれのデータフィールドにフレーム化器512Aにおいて付加され、ベースバンドフレームが生成される。それぞれのデータフィールドに付加されるベースバンドヘッダには、CRC符号器512により生成された第2のCRCパリティも格納されている。図18においても、データフィールド#1にベースバンドヘッダが付加されることによってベースバンドフレーム#1が生成され、データフィールド#2にベースバンドヘッダが付加されることによってベースバンドフレーム#2が生成されている。
このようにしてGeneric Continuous Stream、またはPacketised Streamを元にして生成されたベースバンドフレームのデータが、CRC符号器512から誤り訂正符号器513に出力される。
図19は、送信装置501の他の構成例を示すブロック図である。図16に示される構成と同じ構成には同じ符号を付してある。重複する説明については省略する。
図19の例においては、CRC符号化処理を行う構成としてCRC符号器521とCRC符号器522がそれぞれ設けられている。信号処理器515から出力されたヘッダデータはCRC符号器521に入力され、ユーザデータはCRC符号器522に入力される。
CRC符号器521は、ヘッダデータを情報ビット系列として、生成多項式G(x)=x8+x4+x+1を用いることによって第2のCRCパリティを生成する。CRC符号器521は、生成した第2のCRCパリティをMATYPE,UPL,DFL,SYNC,SYNCDの各データの情報ビット系列の後ろに付加してベースバンドヘッダを構成し、ベースバンドヘッダをセレクタ523に出力する。
CRC符号器522は、複数のUPからなるPacketised Streamがユーザデータとして信号処理器515のデータ入力器515Aから供給された場合、ユーザデータを情報ビット系列として、生成多項式G(x)=x8+x4+x+1を用いることによって第1のCRCパリティを生成する。CRC符号器522は、生成した第1のCRCパリティで次のUPの先頭の8ビットの位置にあるSYNCを置き換える。また、CRC符号器522は、そのフレーム化器522Aにおいて、第1のCRCパリティによってSYNCが置き換えられたUPからなるPacketised Streamをデータフィールド毎に区切り、フレーム化を行う。データフィールドの長さを表すDFLの情報は制御器515Cから供給される。フレーム化器522Aは、フレーム化を行うことによって得られたデータフィールドのデータをセレクタ523に出力する。
一方、Generic Continuous Streamがユーザデータとして供給されたとき、CRC符号器522は、そのフレーム化器522Aにおいて、Generic Continuous Streamをデータフィールド毎に区切り、フレーム化を行う。フレーム化器522Aは、フレーム化を行うことによって得られたデータフィールドのデータをセレクタ523に出力する。
セレクタ523は、CRC符号器521から供給されたベースバンドヘッダのデータに続けて、CRC符号器522から供給されたデータフィールドのデータを誤り訂正符号器513に出力する。セレクタ523から誤り訂正符号器513に対しては、ベースバンドフレームのデータが供給されることになる。CRC符号器521から供給されたベースバンドヘッダのデータと、CRC符号器522から供給されたデータフィールドのデータのうちのいずれのデータを出力するのかは、データ種別2によって信号処理器515の制御器515Cにより指示される。
信号処理器515の制御器515Cは、ユーザデータとしてCRC符号器522に供給されているストリームがPacketised Streamであるのか、Generic Continuous Streamであるのかを表す情報であるデータ種別1及びDFLをCRC符号器522に出力する。
制御器515Cは、CRC符号器521から供給されたベースバンドヘッダのデータとCRC符号器522から供給されたデータフィールドのデータのうちのいずれのデータを誤り訂正符号器513に出力するのかを指示する情報であるデータ種別2をセレクタ523に出力する。
このように、第1のCRCパリティ用のCRC符号化器と、第2のCRCパリティ用のCRC符号化器がそれぞれ設けられるようにしてもよい。また、第1のCRCパリティ用のCRC符号化器において用いられる生成多項式と、第2のCRCパリティ用のCRC符号化器において用いられる生成多項式としてそれぞれ異なる生成多項式が用いられるようにしてもよい。それぞれのCRC符号化器において用いられる生成多項式は、パリティビット数と符号長に応じて、上述した方法によって選択される。
図20は、図16のCRC符号器512のうちのCRCパリティを生成する部分(図2のパリティ生成器110に相当する部分)の回路構成の例を示す図である。
図20は、生成多項式としてG(x)=x8+x4+x+1を用いた場合の例を示している。なお、図19のCRC符号器521、CRC符号器522において用いられる生成多項式がG(x)=x8+x4+x+1である場合、CRC符号器521、CRC符号器522にも、図20に示される構成と同じ構成がそれぞれ設けられる。
図20に示されるような回路によって生成されたCRCパリティがUPやベースバンドヘッダの一部として付加され、UPやベースバンドヘッダを含むベースバンドフレームのデータが誤り訂正符号器513に出力される。図3等を参照して説明したように、CRCパリティは、シフトレジスタと排他的論理和回路を巡回的に、かつ、最終段の排他的論理和回路の出力をその前段の排他的論理和回路に印加するような回路として構成できる。
図20において、シフトレジスタ532のブロックに示される「D4」は、4つのシフトレジスタが直列に接続されることによってシフトレジスタ532が構成されていることを表し、シフトレジスタ534のブロックに示される「D3」は、3つのシフトレジスタが直列に接続されることによってシフトレジスタ534が構成されていることを表す。「D」がブロックに示されるシフトレジスタ536は、1タイミング分だけ遅延させるレジスタとなる。後述する図24等の回路図においても同様である。
EXOR回路531においては、セレクタ511から供給されたヘッダデータまたはユーザデータであるシリアルデータ(1,0)と、シフトレジスタ532において4タイミング分だけ遅延された値に基づいて排他的論理和演算が行われる。EXOR回路531の演算結果はシリアルデータとして出力されるとともに、EXOR回路533、EXOR回路535、およびシフトレジスタ536に供給される。
EXOR回路535においては、シフトレジスタ536において1タイミング分だけ遅延された値と、EXOR回路531から供給された値に基づいて排他的論理和演算が行われる。EXOR回路535の演算結果はシフトレジスタ534に供給される。
EXOR回路533においては、シフトレジスタ534においてさらに3タイミング分だけ遅延された値と、EXOR回路531から供給された値に基づいて排他的論理和演算が行われる。EXOR回路533の演算結果はシフトレジスタ532に供給される。
図21は、生成多項式としてG(x)=x8+x4+x+1を用いた場合と、G(x)=x8+x7+x6+x4+x2+1を用いた場合の未検出誤り確率のシミュレーション結果を示す図である。
図21は、ベースバンドヘッダにおけるMATYPEからSYNCDまでの72ビットのデータを情報ビット系列として求めたCRC符号の未検出誤り確率を示している。ビットエラーレートは1×10-3、1×10-4、1×10-5とされている。
図21に示されるように、ビットエラーレートがいずれの場合であっても、80ビットといったように符号長が比較的短いデータを対象としたときには、G(x)=x8+x4+x+1を生成多項式として用いた方が未検出誤り確率は低い。CRC符号器512は、この生成多項式G(x)=x8+x4+x+1を用いた演算を実現するような回路によって構成される。
図22は、受信装置503の構成例を示すブロック図である。
図22に示されるように、受信装置503は、OFDM復調器541、誤り訂正復号器542、CRC検出器543、および復号系列処理器544から構成される。アンテナなどから供給された受信信号はOFDM復調器541に入力される。
OFDM復調器541は、OFDM復調を行い、復調して得られたデータを誤り訂正復号器542に出力する。シングルキャリアを用いた変調方式によって変調が行われている場合、OFDM復調器541においては、その変調方式に応じた復調処理が行われる。
誤り訂正復号器542は、BCH符号、LDPC符号を用いた誤り訂正をOFDM復調器541から供給されたデータに対して施し、誤り訂正を施すことによって得られたデータを出力する。誤り訂正復号器542から出力されたデータはCRC検出器543と復号系列処理器544に出力される。
CRC検出器543は、誤り訂正復号器542から供給されたデータに含まれる第2のCRCパリティに基づいて、誤り訂正復号器542において誤り訂正が行われたベースバンドヘッダのデータに誤りがあるかどうかを検出する。CRC検出器543は、検出結果を復号系列処理器544に出力する。CRC検出器543において行われる誤りの検出においても、送信装置501において用いられる生成多項式と同じ生成多項式G(x)=x8+x4+x+1が用いられる。
また、CRC検出器543は、誤り訂正復号器542から供給されたデータに含まれる第1のCRCパリティに基づいて、誤り訂正復号器542において誤り訂正が行われたUPのデータに誤りがあるかどうかを検出する。
復号系列処理器544は、CRC検出器543による検出結果に基づいて誤り訂正復号器542から供給されたデータに対して所定の処理を施し、再現したユーザデータを取得する。復号系列処理器544は、再現したユーザデータとともに、CRC検出器543による検出結果を表す一致信号を後段の装置に出力する。
図23は、受信装置503の他の構成例を示すブロック図である。図22に示される構成と同じ構成には同じ符号を付してある。重複する説明については省略する。
図23の例においては、CRC処理を行う構成としてCRC検出器551とCRC検出器552がそれぞれ設けられている。誤り訂正復号器542において誤り訂正処理が施されることによって得られたデータは、CRC検出器551、CRC検出器552、および復号系列処理器553にそれぞれ供給される。
CRC検出器551は、誤り訂正復号器542から供給されたデータに含まれる第2のCRCパリティに基づいて、誤り訂正復号器542において誤り訂正が行われたベースバンドヘッダのデータに誤りがあるかどうかを検出し、検出結果を復号系列処理器553に出力する。CRC検出器552において行われる誤りの検出においても、例えば生成多項式G(x)=x8+x4+x+1が用いられる。
CRC検出器552は、誤り訂正復号器542から供給されたデータに含まれる第1のCRCパリティに基づいて、誤り訂正復号器542において誤り訂正が行われたUPのデータに誤りがあるかどうかを検出し、検出結果を復号系列処理器553に出力する。CRC検出器551において行われる誤りの検出においても、例えば生成多項式G(x)=x8+x4+x+1が用いられる。
復号系列処理器553は、CRC検出器551とCRC検出器552による検出結果に基づいて誤り訂正復号器542から供給されたデータに対して所定の処理を施し、再現したユーザデータを取得する。復号系列処理器553は、再現したユーザデータとともに、CRC検出器551、CRC検出器552による検出結果を表す一致信号を後段の装置に出力する。
このように、ヘッダ用のCRC検出器と、UP用のCRC検出器がそれぞれ設けられるようにしてもよい。また、ヘッダ用のCRC検出器において用いられる生成多項式と、UP用のCRC検出器において用いられる生成多項式としてそれぞれ異なる生成多項式が用いられるようにしてもよい。それぞれのCRC検出器において用いられる生成多項式は、パリティビット数と符号長に応じて、上述した方法によって選択される。
図24は、図22のCRC検出器543のうちのCRCパリティ検査を行う部分(図5のパリティ検査器341に相当する部分)の回路構成の例を示す図である。
図24は、生成多項式としてG(x)=x8+x4+x+1を用いた場合の例を示している。なお、図23のCRC検出器551、CRC検出器552において用いられる生成多項式がG(x)=x8+x4+x+1である場合、CRC検出器551、CRC検出器552にも、図24に示される構成と同じ構成がそれぞれ設けられる。
EXOR回路561においては、誤り訂正復号器542から供給されたシリアルデータと、シフトレジスタ566において4タイミング分だけ遅延された値に基づいて排他的論理和演算が行われる。EXOR回路561の演算結果はシフトレジスタ562に供給される。
EXOR回路563においては、シフトレジスタ562において1タイミング分だけ遅延された値と、シフトレジスタ566において4タイミング分だけ遅延された値に基づいて排他的論理和演算が行われる。EXOR回路563の演算結果はシフトレジスタ564に供給される。
EXOR回路565においては、シフトレジスタ564において3タイミング分だけ遅延された値と、シフトレジスタ566において4タイミング分だけ遅延された値に基づいて排他的論理和演算が行われる。EXOR回路565の演算結果はシフトレジスタ566に供給される。
ここで、以上のような構成を有する送信装置501と受信装置503の処理について説明する。フローチャートに示される各ステップの処理は、番号順に行われるだけでなく、他のステップの処理と並列に行われることもある。
はじめに、図25のフローチャートを参照して、Generic Continuous Streamの形のユーザデータを送信する図16の送信装置501の処理について説明する。この処理は、例えば、ユーザデータ、ヘッダデータが入力されたときに開始される。
ステップS101において、信号処理器515のデータ入力器515Aは、外部から入力されたユーザデータをセレクタ511に出力し、ヘッダデータをヘッダ生成器515Bに出力する。
ステップS102において、ヘッダ生成器515Bは、データ入力器515Aから供給されたヘッダデータに基づいて、ベースバンドヘッダに格納される各データを生成し、生成したデータをヘッダデータとしてセレクタ511に出力する。
ステップS103において、制御器515Cは、ヘッダデータをCRC符号器512に出力することを指示するデータ種別2をセレクタ511に出力する。セレクタ511においては、データ種別2が供給されてくることに応じてヘッダデータが選択され、CRC符号器512に出力される。
ステップS104において、CRC符号器512は、セレクタ511から供給されたヘッダデータを情報ビット系列として、生成多項式G(x)=x8+x4+x+1を用いることによって第2のCRCパリティを生成し、生成した第2のCRCパリティをベースバンドヘッダ内に格納する。
ステップS105において、制御器515Cは、ユーザデータをCRC符号器512に出力することを指示するデータ種別2をセレクタ511に出力する。セレクタ511においては、データ種別2が供給されてくることに応じてユーザデータが選択され、CRC符号器512に出力される。
ステップS106において、制御器515Cは、ユーザデータとしてセレクタ511から供給されているストリームがGeneric Continuous Streamであることを表すデータ種別1と、DFLの情報をCRC符号器512に出力する。
ステップS107において、CRC符号器512のフレーム化器512Aは、Generic Continuous StreamであるユーザデータをDFLにより指定される長さのデータフィールド毎に区切り、フレーム化を行う。
ステップS108において、フレーム化器512Aは、ベースバンドヘッダをそれぞれのデータフィールドに付加することによってベースバンドフレームを生成し、ベースバンドフレーム単位のデータを誤り訂正符号器513に出力する。
ステップS109において、誤り訂正符号器513は、CRC符号器512から供給されたデータに対して誤り訂正符号化処理を施し、誤り訂正符号化処理を施すことによって得られたデータをOFDM変調器514に出力する。
ステップS110において、OFDM変調器514は、伝送路符号化処理としてOFDM変調などの処理を行う。
ステップS111において、OFDM変調器514は、OFDM変調などの処理を行うことによって得られた送信信号を送信し、処理を終了させる。
次に、図26のフローチャートを参照して、Packetised Streamの形のユーザデータを送信する図16の送信装置501の処理について説明する。
Packetised Streamの形のユーザデータを送信する処理は、UPのSYNCを第1のCRCパリティによって置き換える処理が含まれる点を除いて、基本的に、図25のフローチャートを参照して説明した処理と同様の処理である。
すなわち、ステップS121において、信号処理器515のデータ入力器515Aは、ユーザデータをセレクタ511に出力し、ヘッダデータをヘッダ生成器515Bに出力する。
ステップS122において、ヘッダ生成器515Bは、ベースバンドヘッダに格納される各データを生成し、生成したデータをヘッダデータとしてセレクタ511に出力する。
ステップS123において、制御器515Cは、ヘッダデータをCRC符号器512に出力することを指示するデータ種別2をセレクタ511に出力する。セレクタ511においては、データ種別2が供給されてくることに応じてヘッダデータが選択され、CRC符号器512に出力される。
ステップS124において、CRC符号器512は第2のCRCパリティを生成し、生成した第2のCRCパリティをベースバンドヘッダ内に格納する。
ステップS125において、制御器515Cは、ユーザデータをCRC符号器512に出力することを指示するデータ種別2をセレクタ511に出力する。セレクタ511においては、データ種別2が供給されてくることに応じてユーザデータが選択され、CRC符号器512に出力される。
ステップS126において、制御器515Cは、ユーザデータとして供給されているストリームがPacketised Streamであることを表すデータ種別1と、DFLの情報をCRC符号器512に出力する。
ステップS127において、CRC符号器512は、ユーザデータとして供給されたそれぞれのUPに含まれるSYNC以降のデータを情報ビット系列として、生成多項式G(x)=x8+x4+x+1を用いることによって第1のCRCパリティを生成し、生成した第1のCRCパリティによって、処理順で次のUPの先頭8ビットの位置にあるSYNCを置き換える。
ステップS128において、CRC符号器512のフレーム化器512Aは、第1のCRCパリティによってSYNCが置き換えられたPacketised StreamをDFLにより指定される長さのデータフィールド毎に区切り、フレーム化を行う。
ステップS129において、フレーム化器512Aは、ベースバンドヘッダをそれぞれのデータフィールドに付加することによってベースバンドフレームを生成し、ベースバンドフレーム単位のデータを誤り訂正符号器513に出力する。
ステップS130において、誤り訂正符号器513は、CRC符号器512から供給されたデータに対して誤り訂正符号化処理を施し、誤り訂正符号化処理を施すことによって得られたデータをOFDM変調器514に出力する。
ステップS131において、OFDM変調器514は、伝送路符号化処理としてOFDM変調などの処理を施す。
ステップS132において、OFDM変調器514は、OFDM変調などの処理を施すことによって得られた送信信号を送信し、処理を終了させる。
次に、図27のフローチャートを参照して、データを受信する図22の受信装置503の処理について説明する。
ステップS141において、OFDM復調器541は、受信信号に対してOFDM復調処理を施し、得られたデータを誤り訂正復号器542に出力する。
ステップS142おいて、誤り訂正復号器542は、OFDM復調器541から供給されたデータに対して誤り訂正処理を施し、誤り訂正処理を施すことによって得られたデータを復号データとして出力する。
ステップS143において、CRC検出器543は、誤り訂正復号器542から供給された復号データを対象としてCRC処理を行い、データの誤りを検出する。CRC検出器543は、検出結果を表す信号を復号系列処理器544に出力し、処理を終了させる。復号系列処理器544においては誤り訂正復号器542から供給された復号データに基づいてユーザデータが再現され、所定の処理が行われる。
以上の処理により、図8の処理によって選択された生成多項式を用いて、精度の高いCRCを実現することができる。
以上においては、送信装置501のCRC符号器512、受信装置503のCRC検出器543においては生成多項式としてG(x)=x8+x4+x+1が用いられるものとしたが、複数の生成多項式が送信装置501、受信装置503にあらかじめ設定されており、対象とするデータの種類、データの長さ(符号長)などに応じて、適宜、用いる生成多項式が切り替えられるようにしてもよい。
図28は、送信装置501のさらに他の構成例を示すブロック図である。図16に示される構成と同じ構成には同じ符号を付してある。重複する説明については省略する。
制御器575Cは、データの種類や長さと生成多項式の対応関係を表すリストを有している。制御器575Cは、セレクタ511から出力されるデータを監視することによってCRC符号器512において処理の対象とされるデータの種類や長さを特定し、特定した種類や長さに対応する生成多項式をリストの記述に基づいて選択する。制御器575Cは、選択した生成多項式を表す信号であるセレクト信号をCRC符号器512に出力する。
CRC符号器512は、制御器575Cから供給されたセレクト信号に応じて生成多項式を切り替え、第1、第2のCRCパリティを生成する。
図29および図30は、制御器575Cにより管理されるリストの例を示す図である。
図29は、符号長と生成多項式の対応関係を記述したリストの例を示す図である。この例においては、処理対象のデータの符号長がn1である場合には生成多項式G1(x)を用い、n2である場合には生成多項式G2(x)を用い、n3である場合には生成多項式G3(x)を用いるものとされている。
図30は、データの種類と生成多項式の対応関係を記述したリストの例を示す図である。この例においては、処理対象のデータがベースバンドヘッダのデータ(ヘッダデータ)である場合には生成多項式G1(x)を用い、UPのデータ(ユーザデータ)である場合には生成多項式G2(x)を用いるものとされている。
このような対応関係は、上述した方法により設計段階であらかじめ求められたものである。
このように、対象とするデータに応じて生成多項式が適宜切り替えられるようにすることにより、対象とするデータに適した生成多項式を用いてCRCパリティを生成することが可能となる。なお、生成多項式の切り替えは、処理対象とするヘッダデータとユーザデータが送信装置501に入力されているときに動的に行われるものである。
図31は、図28のCRC符号器512のうちのCRCパリティを生成する部分の回路構成の例を示す図である。
図31は、生成多項式G1(x)=x16+x15+x8+x+1、G2(x)=x16+x13+x2+1を用いた場合の例を示している。制御器575Cからのセレクト信号1,0に応じて、生成多項式G1(x)=x16+x15+x8+x+1を用いた演算と、G2(x)=x16+x13+x2+1を用いた演算のうちのいずれかが行われる。セレクト信号により表される値が0である場合に用いられる生成多項式G1(x)は上で列挙した生成多項式のうちの(38)の生成多項式であり、セレクト信号により表される値が1である場合に用いられる生成多項式G2(x)は上で列挙した生成多項式のうちの(39)の生成多項式である。
EXOR回路581においては、セレクタ511から供給されたシリアルデータと、シフトレジスタ582において1タイミング分だけ遅延された値に基づいて排他的論理和演算が行われる。EXOR回路581の演算結果はシリアルデータとして出力されるとともに、AND回路593乃至597、およびシフトレジスタ592に供給される。
EXOR回路591においては、シフトレジスタ592において1タイミング分だけ遅延された値と、AND回路597から供給された値に基づいて排他的論理和演算が行われる。EXOR回路591の演算結果はシフトレジスタ590に供給される。
EXOR回路589においては、シフトレジスタ590においてさらに1タイミング分だけ遅延された値と、AND回路596から供給された値に基づいて排他的論理和演算が行われる。EXOR回路589の演算結果はシフトレジスタ588に供給される。
EXOR回路587においては、シフトレジスタ588においてさらに6タイミング分だけ遅延された値と、AND回路595から供給された値に基づいて排他的論理和演算が行われる。EXOR回路587の演算結果はシフトレジスタ586に供給される。
EXOR回路585においては、シフトレジスタ586においてさらに5タイミング分だけ遅延された値と、AND回路594から供給された値に基づいて排他的論理和演算が行われる。EXOR回路585の演算結果はシフトレジスタ584に供給される。
EXOR回路583においては、シフトレジスタ584においてさらに2タイミング分だけ遅延された値と、AND回路593から供給された値に基づいて排他的論理和演算が行われる。EXOR回路583の演算結果はシフトレジスタ582に供給される。
AND回路593、AND回路595、AND回路597からは、EXOR回路581から出力された値とセレクト信号として制御器575Cから出力され、NOT回路598において反転された値がともに1である場合には1の値が出力され、それ以外のときには0の値が出力される。
AND回路594、AND回路596からは、EXOR回路581から出力された値とセレクト信号として制御器575Cから出力された値がともに1である場合には1の値が出力され、それ以外のときには0の値が出力される。
図32は、受信装置503のさらに他の構成例を示すブロック図である。上述したように、送信装置501において生成多項式が切り替えて用いられる場合、受信装置503においても、適宜、生成多項式が切り替えて用いられる。
図32に示される受信装置503の構成は、CRC制御器601がさらに設けられている点で図22に示される受信装置503の構成と異なる。誤り訂正復号器542から出力されたデータはCRC検出器543、復号系列処理器544、およびCRC制御器601に供給される。
CRC制御器601は、送信装置501の制御器575Cと同様に、図29、図30に示されるような、データの種類や長さと生成多項式の対応関係を表すリストを有している。CRC制御器601は、誤り訂正復号器542から供給されたデータに基づいて、CRC検出器543において処理の対象とされるデータの種類や長さを特定し、特定した種類や長さに対応する生成多項式をリストの記述に基づいて選択する。CRC制御器601は、選択した生成多項式を表す信号であるセレクト信号をCRC検出器543に出力する。
CRC検出器543は、CRC制御器601から供給されたセレクト信号に応じて生成多項式を切り替え、誤り訂正復号器542において誤り訂正が行われたデータに誤りがあるかどうかを検出する。
このように、対象とするデータに応じて生成多項式が適宜切り替えられるようにすることにより、対象とするデータに適した生成多項式を用いて誤りの検出を行うことが可能となる。なお、生成多項式の切り替えは、信号の受信が行われているときに動的に行われるものである。
図33は、図32のCRC検出器543のうちのCRCパリティ検査を行う部分の回路構成の例を示す図である。
図33も、生成多項式G1(x)=x16+x15+x8+x+1、G2(x)=x16+x13+x2+1を用いた場合の例を示している。CRC制御器601からのセレクト信号0,1に応じて、それぞれ、生成多項式G1(x)=x16+x15+x8+x+1を用いた演算と、G2(x)=x16+x13+x2+1を用いた演算が行われる。
EXOR回路611においては、誤り訂正復号器542から供給されたシリアルデータと、シフトレジスタ622において1タイミング分だけ遅延された値に基づいて排他的論理和演算が行われる。EXOR回路611の演算結果はシフトレジスタ612に供給される。
EXOR回路613においては、シフトレジスタ612において1タイミング分だけ遅延された値と、AND回路627から供給された値に基づいて排他的論理和演算が行われる。EXOR回路613の演算結果はシフトレジスタ614に供給される。
EXOR回路615においては、シフトレジスタ614において1タイミング分だけ遅延された値と、AND回路626から供給された値に基づいて排他的論理和演算が行われる。EXOR回路615の演算結果はシフトレジスタ616に供給される。
EXOR回路617においては、シフトレジスタ616において6タイミング分だけ遅延された値と、AND回路625から供給された値に基づいて排他的論理和演算が行われる。EXOR回路617の演算結果はシフトレジスタ618に供給される。
EXOR回路619においては、シフトレジスタ618において5タイミング分だけ遅延された値と、AND回路624から供給された値に基づいて排他的論理和演算が行われる。EXOR回路619の演算結果はシフトレジスタ620に供給される。
EXOR回路621においては、シフトレジスタ620において2タイミング分だけ遅延された値と、AND回路623から供給された値に基づいて排他的論理和演算が行われる。EXOR回路621の演算結果はシフトレジスタ622に供給される。
AND回路623、AND回路625、AND回路627からは、シフトレジスタ622において1タイミング分だけ遅延された値とセレクト信号としてCRC制御器601から出力され、NOT回路628において反転された値がともに1である場合には1の値が出力され、それ以外のときには0の値が出力される。
AND回路624、AND回路626からは、シフトレジスタ622において1タイミング分だけ遅延された値とセレクト信号としてCRC制御器601から出力された値がともに1である場合には1の値が出力され、それ以外のときには0の値が出力される。
以上においては、切り替えて用いられる生成多項式がG1(x)=x16+x15+x8+x+1とG2(x)=x16+x13+x2+1のいずれかであるとしたが、他の生成多項式であってもよいし、3つ以上の生成多項式の中から1つの生成多項式が選択され、選択された生成多項式が用いられるようにしてもよい。また、ベースバンドヘッダとユーザデータに応じて生成多項式が切り替えられるのではなく、あるヘッダとサブヘッダといったように、他の種類のデータに応じて切り替えられるようにしてもよい。
ここで、図28に示される構成を有する送信装置501と、図32に示される構成を有する受信装置503の処理について説明する。
はじめに、図34のフローチャートを参照して、Generic Continuous Streamの形のユーザデータを送信する図28の送信装置501の処理について説明する。
この処理は、CRC符号化処理に用いる生成多項式を指示するセレクト信号が制御器575CからCRC符号器512に対して出力される処理が含まれる点を除いて、図25の処理と同様の処理である。
すなわち、ステップS151において、信号処理器515のデータ入力器515Aは、ユーザデータをセレクタ511に出力し、ヘッダデータをヘッダ生成器515Bに出力する。
ステップS152において、ヘッダ生成器515Bは、ベースバンドヘッダに格納される各データを生成し、生成したデータをヘッダデータとしてセレクタ511に出力する。
ステップS153において、制御器575Cは、ヘッダデータをCRC符号器512に出力することを指示するデータ種別2をセレクタ511に出力する。セレクタ511においては、データ種別2が供給されてくることに応じてヘッダデータが選択され、CRC符号器512に出力される。
ステップS154において、制御器575Cは、ベースバンドヘッダのデータ(ヘッダデータ)用の生成多項式である生成多項式G1(x)を用いてCRC符号化処理を行うことを指示するセレクト信号をCRC符号器512に出力する。
ステップS155において、CRC符号器512は、制御器575Cから供給されたセレクト信号に従ってヘッダデータ用の生成多項式である生成多項式G1(x)を用いて第2のCRCパリティを生成し、生成した第2のCRCパリティをベースバンドヘッダ内に格納する。
ステップS156において、制御器575Cは、ユーザデータをCRC符号器512に出力することを指示するデータ種別2をセレクタ511に出力する。セレクタ511においては、データ種別2が供給されてくることに応じてユーザデータが選択され、CRC符号器512に出力される。
ステップS157において、制御器575Cは、ユーザデータとして供給されているストリームがGeneric Continuous Streamであることを表すデータ種別1と、DFLの情報をCRC符号器512に出力する。
ステップS158において、CRC符号器512のフレーム化器512Aは、Generic Continuous StreamであるユーザデータをDFLにより指定される長さのデータフィールド毎に区切り、フレーム化を行う。
ステップS159において、フレーム化器512Aは、ベースバンドヘッダをそれぞれのデータフィールドに付加することによってベースバンドフレームを生成し、ベースバンドフレーム単位のデータを誤り訂正符号器513に出力する。
ステップS160において、誤り訂正符号器513は、CRC符号器512から供給されたデータに対して誤り訂正符号化処理を施し、誤り訂正符号化処理を施すことによって得られたデータをOFDM変調器514に出力する。
ステップS161において、OFDM変調器514は、伝送路符号化処理としてOFDM変調などの処理を施す。
ステップS162において、OFDM変調器514は、OFDM変調などの処理を施すことによって得られた送信信号を送信し、処理を終了させる。
次に、図35のフローチャートを参照して、Packetised Streamの形のユーザデータを送信する図28の送信装置501の処理について説明する。
図35の処理は、CRC符号化処理に用いる生成多項式を指示するセレクト信号が制御器575CからCRC符号器512に対して出力される処理が含まれる点を除いて、図26の処理と同様の処理である。
ステップS171において、信号処理器515のデータ入力器515Aは、ユーザデータをセレクタ511に出力し、ヘッダデータをヘッダ生成器515Bに出力する。
ステップS172において、ヘッダ生成器515Bは、ベースバンドヘッダに格納される各データを生成し、生成したデータをヘッダデータとしてセレクタ511に出力する。
ステップS173において、制御器575Cは、ヘッダデータをCRC符号器512に出力することを指示するデータ種別2をセレクタ511に出力する。セレクタ511においては、データ種別2が供給されてくることに応じてヘッダデータが選択され、CRC符号器512に出力される。
ステップS174において、制御器575Cは、ベースバンドヘッダのデータ(ヘッダデータ)用の生成多項式である生成多項式G1(x)を用いてCRC符号化処理を行うことを指示するセレクト信号をCRC符号器512に出力する。
ステップS175において、CRC符号器512は、制御器575Cから供給されたセレクト信号に従ってヘッダデータ用の生成多項式である生成多項式G1(x)を用いて第2のCRCパリティを生成し、生成した第2のCRCパリティをベースバンドヘッダ内に格納する。
ステップS176において、制御器575Cは、ユーザデータをCRC符号器512に出力することを指示するデータ種別2をセレクタ511に出力する。セレクタ511においては、データ種別2が供給されてくることに応じてユーザデータが選択され、CRC符号器512に出力される。
ステップS177において、制御器575Cは、ユーザデータとして供給されているストリームがPacketised Streamであることを表すデータ種別1と、DFLの情報をCRC符号器512に出力する。
ステップS178において、制御器575Cは、UPのデータ(ユーザデータ)用の生成多項式である生成多項式G2(x)を用いてCRC符号化処理を行うことを指示するセレクト信号をCRC符号器512に出力する。
ステップS179において、CRC符号器512は、ユーザデータとして供給されたそれぞれのUPに含まれるSYNC以降のデータを情報ビット系列として、生成多項式G2(x)を用いることによって第1のCRCパリティを生成し、生成した第1のCRCパリティによって、処理順で次のUPの先頭8ビットの位置にあるSYNCを置き換える。
ステップS180において、CRC符号器512のフレーム化器512Aは、Packetised StreamであるユーザデータをDFLにより指定される長さのデータフィールド毎に区切り、フレーム化を行う。
ステップS181において、フレーム化器512Aは、ベースバンドヘッダをそれぞれのデータフィールドに付加することによってベースバンドフレームを生成し、ベースバンドフレーム単位のデータを誤り訂正符号器513に出力する。
ステップS182において、誤り訂正符号器513は、CRC符号器512から供給されたデータに対して誤り訂正符号化処理を施し、誤り訂正符号化処理を施すことによって得られたデータをOFDM変調器514に出力する。
ステップS183において、OFDM変調器514は、伝送路符号化処理としてOFDM変調などの処理を施す。
ステップS184において、OFDM変調器514は、OFDM変調などの処理を施すことによって得られた送信信号を送信し、処理を終了させる。
次に、図36のフローチャートを参照して、データを受信する図32の受信装置503の処理について説明する。
図36の処理は、CRC処理に用いる生成多項式を指示するセレクト信号がCRC制御器601からCRC検出器543に対して出力される処理が含まれる点を除いて、図27の処理と同様の処理である。
ステップS191において、OFDM復調器541は、受信信号に対してOFDM復調処理を施し、得られたデータを誤り訂正復号器542に出力する。
ステップS192おいて、誤り訂正復号器542は、OFDM復調器541から供給されたデータに対して誤り訂正処理を施し、誤り訂正処理を施すことによって得られたデータを受信データとして出力する。
ステップS193において、制御器601は、誤り訂正復号器542から供給された受信データに基づいて、CRC検出器543においてCRC処理の対象になっているデータを特定する。
ステップS194において、制御器601は、CRC処理の対象になっているデータに応じて、CRC処理に用いる生成多項式を指示するセレクト信号をCRC検出器543に出力する。
ステップS195において、CRC検出器543は、制御器601から供給されたセレクト信号に従って生成多項式を切り替え、誤り訂正復号器542から供給された受信データに対してCRC処理を施す。ヘッダデータを対象としてCRC処理を行う場合、ヘッダデータ用の生成多項式である生成多項式G1(x)が用いられ、ユーザデータを対象としてCRC処理を行う場合、ユーザデータ用の生成多項式である生成多項式G2(x)が用いられる。CRC検出器543は、CRC処理の結果を表す信号を出力し、処理を終了させる。
以上においては、送信装置501から受信装置503に対しては、地上デジタル放送の規格であるDVB-T2や、衛星デジタル放送の規格であるDVB-S2などの規格に準拠してデータの送信が行われるものとしたが、このDVB-T2とDVB-S2の違いとしては、図13に示されるようにベースバンドヘッダの中にあるMATYPEの2バイト(16ビット)のデータのうちの7〜8ビット目が、DVB-T2では送信モードを表す2ビットの“Mode”であるのに対して、DVB-S2ではロールオフファクターを表す2ビットの“RO”である点が挙げられる。
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
本発明のCRC符号化方法およびCRC符号化装置が適用される1例としての、送信装置および受信装置の構成の例を示す図である。 図1の送信装置におけるCRC符号器の構成例を示す図である。 図2に図解したCRC符号器におけるCRCパリティ生成器の第1構成例を示す図である。 図2に図解したCRC符号器におけるCRCパリティ生成器の第2構成例を示す図である。 図1の受信装置におけるCRC検出器の構成例を示す図である。 図5に図解したCRC検出器を構成するCRCパリティ検査器の構成例を示す図である。 8ビットCRCの場合の符号の最小ハミング距離最大値Max.dminが変化する符号長n(横軸)における符号の未検出誤り確率Pud(縦軸)の変化を示すn−Pud特性を示すグラフである。 本発明のCRC符号選択方法の処理内容の1例を示すフローチャートである。 図8に図解したフローチャートにおける部分詳細処理を示すフローチャートである。 16ビットCRCにおける本発明の実施例と比較例について、n−Pud特性を示すグラフである。 8ビットCRCにおける本発明の実施例と比較例について、n−Pud特性を示すグラフである。 送受信システムの構成例を示す図である。 ストリームの構造の例を示す図である。 CRCパリティの生成の例を示す図である。 ベースバンドフレームに付加されるデータの例を示す図である。 送信装置の構成例を示すブロック図である。 Generic Continuous Streamを対象としたフレーム化について示す図である。 Packetised Streamを対象としたフレーム化について示す図である。 送信装置の他の構成例を示すブロック図である。 図16のCRC符号器の回路構成の例を示す図である。 未検出誤り確率のシミュレーション結果を示す図である。 受信装置の構成例を示すブロック図である。 受信装置の他の構成例を示すブロック図である。 図22のCRC検出器の回路構成の例を示す図である。 図16の送信装置の処理について説明するフローチャートである。 図16の送信装置の他の処理について説明するフローチャートである。 図22の受信装置の処理について説明するフローチャートである。 送信装置のさらに他の構成例を示すブロック図である。 データの長さと生成多項式の対応関係を表すリストの例を示す図である。 データの種類と生成多項式の対応関係を表すリストの例を示す図である。 図28のCRC符号器の回路構成の例を示す図である。 受信装置のさらに他の構成例を示すブロック図である。 図32のCRC検出器の回路構成の例を示す図である。 図28の送信装置の処理について説明するフローチャートである。 図28の送信装置の他の処理について説明するフローチャートである。 図32の受信装置の処理について説明するフローチャートである。
符号の説明
1…送信装置
11…CRC符号器
110…CRCパリティ生成器、111…第1セレクタ
112…第2セレクタ、113…ビット数カウンタ
12…誤り訂正符号器、13…伝送路符号器
2…伝送路
3…受信装置
31…符号検出器、32…伝送路復号器、33…誤り訂正復号器
34…CRC検出器
341…CRCパリティ検査器、342…比較器

Claims (8)

  1. 符号長の異なる複数のデータのそれぞれを対象としたCRC符号化処理用の複数の生成多項式を有し、対象とするデータに応じて生成多項式を切り替えてCRC符号化処理を行うCRC符号化処理手段と、
    前記CRC符号化処理手段によりCRC符号化処理が行われることによって得られたデータを送信する送信手段と
    を備える送信装置。
  2. 前記複数の生成多項式は、
    kビットの情報語を持ち、該情報語についてrビットのパリティが付加された符号長(n)の符号の各符号長(n)における最小ハミング距離(dmin)の最大値である最大・最小ハミング距離(Max.dmin)を求める第1工程と、
    符号の最大・最小ハミング距離(Max.dmin)の変化する符号長(n)を求め、その符号長nの範囲(nmin(r,Max.dmin)≦n≦nmax(r,Max.dmin))を求める第2工程と、
    前記符号長(n)の範囲(nmin(r,Max.dmin)≦n≦nmax(r,Max.dmin))において、常に、符号の最小ハミング距離(dmin)が最大・最小ハミング距離(Max.dmin)と等しい条件(dmin=Max.dmin)を満たす生成多項式(G(x))を全検索によって見いだす第3工程と、
    前記全検索によって見いだした生成多項式(G(x))の中から、項数(w)、符号の未検出誤り確率(Pud)も最小のものを選び出す第4工程と
    を含む処理によって選択された生成多項式である
    請求項1に記載の送信装置。
  3. 符号長の異なる複数のデータのそれぞれを対象としたCRC符号化処理用の複数の生成多項式を有する送信装置の送信方法において、
    対象とするデータに応じて生成多項式を切り替えてCRC符号化処理を行い、
    CRC符号化処理を行うことによって得られたデータを送信する
    ステップを含む送信方法。
  4. 符号長の異なる複数のデータのそれぞれを対象としたCRC符号化処理用の複数の生成多項式を有する送信装置の処理をコンピュータに実行させるプログラムにおいて、
    対象とするデータに応じて生成多項式を切り替えてCRC符号化処理を行い、
    CRC符号化処理を行うことによって得られたデータを送信する
    ステップを含むプログラム。
  5. 送信装置から送信されてきた信号に基づいてデータを取得する取得手段と、
    符号長の異なる複数のデータのそれぞれを対象としたCRC処理用の複数の生成多項式を有し、対象とするデータに応じて生成多項式を切り替えてCRC処理を行うことによってデータの誤りを検出するCRC処理手段と
    を備える受信装置。
  6. 前記複数の生成多項式は、
    kビットの情報語を持ち、該情報語についてrビットのパリティが付加された符号長(n)の符号の各符号長(n)における最小ハミング距離(dmin)の最大値である最大・最小ハミング距離(Max.dmin)を求める第1工程と、
    符号の最大・最小ハミング距離(Max.dmin)の変化する符号長(n)を求め、その符号長nの範囲(nmin(r,Max.dmin)≦n≦nmax(r,Max.dmin))を求める第2工程と、
    前記符号長(n)の範囲(nmin(r,Max.dmin)≦n≦nmax(r,Max.dmin))において、常に、符号の最小ハミング距離(dmin)が最大・最小ハミング距離(Max.dmin)と等しい条件(dmin=Max.dmin)を満たす生成多項式(G(x))を全検索によって見いだす第3工程と、
    前記全検索によって見いだした生成多項式(G(x))の中から、項数(w)、符号の未検出誤り確率(Pud)も最小のものを選び出す第4工程と
    を含む処理によって選択された生成多項式である
    請求項5に記載の受信装置。
  7. 符号長の異なる複数のデータのそれぞれを対象としたCRC処理用の複数の生成多項式を有する受信装置の受信方法において、
    送信装置から送信されてきた信号に基づいてデータを取得し、
    対象とするデータに応じて生成多項式を切り替えてCRC処理を行うことによってデータの誤りを検出する
    ステップを含む受信方法。
  8. 符号長の異なる複数のデータのそれぞれを対象としたCRC処理用の複数の生成多項式を有する受信装置の処理をコンピュータに実行させるプログラムにおいて、
    送信装置から送信されてきた信号に基づいてデータを取得し、
    対象とするデータに応じて生成多項式を切り替えてCRC処理を行うことによってデータの誤りを検出する
    ステップを含むプログラム。
JP2008118548A 2007-12-21 2008-04-30 送信装置および方法、受信装置および方法 Expired - Fee Related JP5298622B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008118548A JP5298622B2 (ja) 2007-12-21 2008-04-30 送信装置および方法、受信装置および方法
US12/317,268 US8327251B2 (en) 2007-12-21 2008-12-18 Transmission apparatus and method, reception apparatus and method, and program
EP20080254061 EP2075918A3 (en) 2007-12-21 2008-12-18 Transmission apparatus and method, reception apparatus and method, and program
CN200810187877.0A CN101465715B (zh) 2007-12-21 2008-12-22 发送设备和方法、接收设备和方法,以及程序

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007330457 2007-12-21
JP2007330457 2007-12-21
JP2008118548A JP5298622B2 (ja) 2007-12-21 2008-04-30 送信装置および方法、受信装置および方法

Publications (2)

Publication Number Publication Date
JP2009171540A true JP2009171540A (ja) 2009-07-30
JP5298622B2 JP5298622B2 (ja) 2013-09-25

Family

ID=40806094

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2008118547A Expired - Fee Related JP5298621B2 (ja) 2007-12-21 2008-04-30 送信装置および方法、受信装置および方法
JP2008118548A Expired - Fee Related JP5298622B2 (ja) 2007-12-21 2008-04-30 送信装置および方法、受信装置および方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2008118547A Expired - Fee Related JP5298621B2 (ja) 2007-12-21 2008-04-30 送信装置および方法、受信装置および方法

Country Status (3)

Country Link
US (1) US8327251B2 (ja)
JP (2) JP5298621B2 (ja)
CN (1) CN101465715B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009171539A (ja) * 2007-12-21 2009-07-30 Sony Corp 送信装置および方法、受信装置および方法、並びにプログラム
RU2693190C1 (ru) * 2018-07-02 2019-07-01 Федеральное государственное бюджетное образовательное учреждение высшего образования "Владимирский Государственный Университет имени Александра Григорьевича и Николая Григорьевича Столетовых" (ВлГУ) Способ диагностики недвоичных блоковых кодов
US11228320B2 (en) 2018-04-25 2022-01-18 Mitsubishi Electric Corporation Information processing device, information processing method, and computer readable medium

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8259863B2 (en) * 2008-01-28 2012-09-04 Lg Electronics Inc. Method for transmitting and decoding signals considering repeatedly transmitted information
JP4798164B2 (ja) * 2008-04-02 2011-10-19 ソニー株式会社 送信装置および方法、受信装置および方法、並びにプログラム
US7899056B2 (en) * 2009-01-13 2011-03-01 Fujitsu Limited Device and method for reducing overhead in a wireless network
US8023513B2 (en) * 2009-02-24 2011-09-20 Fujitsu Limited System and method for reducing overhead in a wireless network
EP2362654A1 (en) 2010-02-26 2011-08-31 Panasonic Corporation Short baseband frame headers
AU2011339962B2 (en) * 2010-12-10 2016-09-01 Sun Patent Trust Signal generation method and signal generation device
KR101765123B1 (ko) * 2011-01-14 2017-08-04 삼성전자주식회사 통신시스템에서 전송 신호의 호환성을 제공하기 위한 장치 및 방법
US8621331B1 (en) * 2011-06-03 2013-12-31 Altera Corporation Continuous parallel cyclic BCH decoding architecture
JP5813439B2 (ja) * 2011-09-27 2015-11-17 クラリオン株式会社 俯瞰画像表示装置
CN102684843B (zh) * 2012-06-07 2015-01-07 哈尔滨工业大学 Type-II型HARQ重传系统中最优生成多项式的获取方法及应用该方法的重传系统
CN103516478B (zh) * 2012-06-29 2018-03-13 华为技术有限公司 信息发送方法和设备
US8898539B2 (en) * 2012-09-12 2014-11-25 Lsi Corporation Correcting errors in miscorrected codewords using list decoding
DE102013205542A1 (de) * 2013-03-28 2014-10-02 Robert Bosch Gmbh Vorrichtung und Verfahren zur Verarbeitung von Daten
EP2879349B1 (en) 2013-07-05 2022-06-29 Saturn Licensing LLC Transmission device, transmission method, reception device and reception method
US9319180B2 (en) * 2014-06-30 2016-04-19 Infinera Corporation Partitioning forward error correction decoding iterations to accommodate multiple data streams
WO2016072567A1 (ko) * 2014-11-06 2016-05-12 엘지전자(주) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
TWI557747B (zh) * 2015-02-13 2016-11-11 瑞昱半導體股份有限公司 記憶體控制模組與方法以及錯誤更正碼編/解碼電路與方法
JP2018137494A (ja) * 2015-06-29 2018-08-30 シャープ株式会社 端末装置、基地局装置、通信方法、および、集積回路
CN105049057B (zh) * 2015-08-17 2018-04-20 中国航天科技集团公司第九研究院第七七一研究所 一种面向128位并行输入的crc‑32校验电路
WO2018133939A1 (en) * 2017-01-19 2018-07-26 Huawei Technologies Duesseldorf Gmbh Apparatus and methods for probability shaping operations
ES2931080T3 (es) 2017-08-08 2022-12-23 Vivo Mobile Communication Co Ltd Método y dispositivo de comprobación de redundancia cíclica
US10425190B2 (en) 2017-09-08 2019-09-24 Huawei Technologies Co., Ltd. Channel encoding method and apparatus in wireless communications
CN109474380B (zh) * 2017-09-08 2022-05-10 华为技术有限公司 编码方法及装置
CN108418658B (zh) * 2017-09-08 2019-03-26 华为技术有限公司 编码方法及装置
CN110380737B (zh) * 2019-07-12 2020-10-02 北京邮电大学 一种极化码距离谱分析的方法及装置
CN110730108B (zh) * 2019-09-12 2021-04-09 机械工业仪器仪表综合技术经济研究所 一种残余差错率的验证方法、装置及计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08256336A (ja) * 1994-12-23 1996-10-01 General Instr Corp Of Delaware パケット化されたデータストリームにおける同期化およびエラー検出
JP2003264590A (ja) * 2002-03-08 2003-09-19 Nippon Telegr & Teleph Corp <Ntt> パケット伝送システムとそのデータ送信装置及びデータ受信装置
JP2006180172A (ja) * 2004-12-22 2006-07-06 Sony Corp Crc生成多項式の選択方法、crc符号化方法およびcrc符号化回路
JP2009171539A (ja) * 2007-12-21 2009-07-30 Sony Corp 送信装置および方法、受信装置および方法、並びにプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6085349A (en) 1997-08-27 2000-07-04 Qualcomm Incorporated Method for selecting cyclic redundancy check polynomials for linear coded systems
CN100361420C (zh) * 1998-03-14 2008-01-09 三星电子株式会社 码分多址通信系统中交换不同长度的帧消息的装置和方法
EP1148650A1 (en) * 2000-04-14 2001-10-24 Matsushita Electric Industrial Co., Ltd. Crc operation unit and crc operation method
US6848072B1 (en) * 2000-09-19 2005-01-25 Bbn Solutions Llc Network processor having cyclic redundancy check implemented in hardware
CN1502182A (zh) * 2001-02-16 2004-06-02 �����ɷ� 并行扩频通信系统和方法
US7216285B2 (en) * 2001-11-09 2007-05-08 Marvell International Ltd. System and method for generating cyclic redundancy check
US6978415B1 (en) * 2001-11-27 2005-12-20 Maxtor Corporation Variable redundancy cyclic code encoders
JP3880934B2 (ja) 2003-01-28 2007-02-14 Necエレクトロニクス株式会社 Crc符号生成方法
US7171604B2 (en) * 2003-12-30 2007-01-30 Intel Corporation Method and apparatus for calculating cyclic redundancy check (CRC) on data using a programmable CRC engine
KR100690274B1 (ko) * 2005-09-12 2007-03-09 삼성전자주식회사 다중 채널 직렬 통신을 위한 순환 중복 검사 장치 및 이를구비한 통신 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08256336A (ja) * 1994-12-23 1996-10-01 General Instr Corp Of Delaware パケット化されたデータストリームにおける同期化およびエラー検出
JP2003264590A (ja) * 2002-03-08 2003-09-19 Nippon Telegr & Teleph Corp <Ntt> パケット伝送システムとそのデータ送信装置及びデータ受信装置
JP2006180172A (ja) * 2004-12-22 2006-07-06 Sony Corp Crc生成多項式の選択方法、crc符号化方法およびcrc符号化回路
JP2009171539A (ja) * 2007-12-21 2009-07-30 Sony Corp 送信装置および方法、受信装置および方法、並びにプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009171539A (ja) * 2007-12-21 2009-07-30 Sony Corp 送信装置および方法、受信装置および方法、並びにプログラム
US11228320B2 (en) 2018-04-25 2022-01-18 Mitsubishi Electric Corporation Information processing device, information processing method, and computer readable medium
RU2693190C1 (ru) * 2018-07-02 2019-07-01 Федеральное государственное бюджетное образовательное учреждение высшего образования "Владимирский Государственный Университет имени Александра Григорьевича и Николая Григорьевича Столетовых" (ВлГУ) Способ диагностики недвоичных блоковых кодов

Also Published As

Publication number Publication date
JP5298621B2 (ja) 2013-09-25
CN101465715A (zh) 2009-06-24
JP2009171539A (ja) 2009-07-30
CN101465715B (zh) 2013-11-06
US8327251B2 (en) 2012-12-04
JP5298622B2 (ja) 2013-09-25
US20100031124A1 (en) 2010-02-04

Similar Documents

Publication Publication Date Title
JP5298622B2 (ja) 送信装置および方法、受信装置および方法
KR102554295B1 (ko) 송신 장치 및 그의 패리티 퍼뮤테이션 방법
JP5317222B2 (ja) 信号を符号化および復号する方法および装置
US10050741B2 (en) Method and apparatus for transmitting and receiving control information in a broadcasting/communication system
KR100560712B1 (ko) 정보데이터 다중화 전송시스템과 그 다중화장치 및 분리장치와,에러정정 부호화장치 및 복호장치
US20040136455A1 (en) Efficient bit stream synchronization
AU2012207771A1 (en) Apparatus and method for transmittng and receiving data in communication/broadcasting system
CA3072857C (en) Forward error correction with compression coding
JP2002519905A (ja) 連結コード中で巡回冗長検査生成器を選択する方法および装置
JP3283097B2 (ja) 通信システム
KR20040075954A (ko) 에러 정정 디코더에서의 이중 치엔 탐색 블록
US8136013B2 (en) Burst error correction based on fire code
KR20040075952A (ko) 인트라-디코더 컴포넌트 블록 메시징
US9209931B2 (en) Device and method for transmission, device and method for reception, and program
US20080082896A1 (en) Burst error correction with offset for correction vector based on fire code
JP2012524478A (ja) 信号を符号化する方法および装置
WO2020003701A1 (ja) 受信装置、通信システム、および、受信装置の制御方法
JP4379329B2 (ja) Crc生成多項式の選択方法、crc符号化方法およびcrc符号化回路
EP2075918A2 (en) Transmission apparatus and method, reception apparatus and method, and program
EP2686964A1 (en) Error correction encoding method, decoding method and associated devices
JP2011188033A (ja) 復号装置
KR100916702B1 (ko) 전송 스트림 패킷의 채널 디코딩 장치 및 그 방법
KR20150060803A (ko) 채널 코드들, 특히 프레임-헤더에 대한 채널 코드들을 생성하기 위한 방법 및 시스템
JPWO2019064369A1 (ja) 符号化装置、送信機、復号装置および受信機
CN117938337A (zh) 一种数据处理方法和数据处理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110420

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130426

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: 20130521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130603

LAPS Cancellation because of no payment of annual fees