JP4159990B2 - データビットを並列に符号化するための方法および装置 - Google Patents

データビットを並列に符号化するための方法および装置 Download PDF

Info

Publication number
JP4159990B2
JP4159990B2 JP2003529632A JP2003529632A JP4159990B2 JP 4159990 B2 JP4159990 B2 JP 4159990B2 JP 2003529632 A JP2003529632 A JP 2003529632A JP 2003529632 A JP2003529632 A JP 2003529632A JP 4159990 B2 JP4159990 B2 JP 4159990B2
Authority
JP
Japan
Prior art keywords
encoder
bits
code bits
data
code
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
JP2003529632A
Other languages
English (en)
Other versions
JP2005527999A (ja
JP2005527999A5 (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2005527999A publication Critical patent/JP2005527999A/ja
Publication of JP2005527999A5 publication Critical patent/JP2005527999A5/ja
Application granted granted Critical
Publication of JP4159990B2 publication Critical patent/JP4159990B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency 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/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • 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/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2972Serial concatenation using convolutional component codes

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)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Communication Control (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明は、データ通信に関する。とくに、本発明は、多数のデータビットを並列に(例えば、マルチポートメモリを使用して)符号化して、符号化と関係付けられる遅延を相当に低減することに関する。
通常のディジタル通信システムでは、送信機装置においてデータを処理し、変調し、調整し、被変調信号を生成し、被変調信号を複数の受信機装置へ伝送する。データ処理では、例えば、データを特定のフレームフォーマットへフォーマットし、フォーマットされたデータを特定の符号化方式で符号化し、受信機装置において誤り検出および/または訂正を行なって、符号化されたデータをチャネル化(すなわち、カバリング)し、チャネル化されたデータをシステムのバンド幅上で拡散する。データ処理は、一般に、実行されるシステムまたは標準規格によって定められている。
受信機装置では、伝送信号を受信し、調整し、復調し、ディジタル処理して、伝送データを回復する。受信機装置における処理は、送信機装置において実行される処理と相補的であり、例えば、受信サンプルを逆拡散することと、逆拡散されたサンプルをデカバーすることと、デカバーされたシンボルを復号して、伝送データを回復することとを含む。
伝送の誤りを訂正する能力は、データ伝送の信頼性を向上する。多くのディジタル通信システムは、畳込み符号およびターボ符号を用いて、受信機装置における誤り訂正能力を与える。畳込み符号は、直列データの、一回に、1ビットか、または幾つかのビットに対して行なわれる。種々の有益な畳込み符号と、受信した符号化された情報系列を復号して、元のデータを回復するための種々のアルゴリズムとがある。とくに、ターボ符号化は、並列の連接畳込み符号化方式である。連接符号は、2つ以上の符号をカスケード接続したものであり、付加的な誤り訂正能力を与えるのに使用される。連接符号では、符号化段間で符号ビットは、インターリーブされ(すなわち、順序変更され)、仮のダイバーシティを与え、性能をさらに向上することができる。通常は、符号ビットのパケットまたはフレームの全体は、記憶され、その後で、順序変更される。順序変更された符号ビットは、次の符号化段によって、直列に検索されて、符号化される。
通常は、畳込みおよびターボ符号化は、入力ビットストリームに対して直列に行なわれる。各クロックサイクルにおいて、1データビットが符号器へ供給されると、符号器の符号レートに依存して、2つ以上の符号ビットが生成される。その後で、符号ビットの幾つかがパンクチャされ(すなわち、削除され)、別の符号レートの符号ビットが得られる。
ディジタル多重アクセス通信システムは、一般に、データをパケットまたはフレームで伝送して、活動状態のユーザ間でシステムの資源を効率的に共用できるようにする。長い遅延を許容できないサービス(例えば、音声、画像)では、パケットを、継続期間が短く(例えば、10ミリ秒)なるように選択し、したがって、符号を、処理遅延がより短くなるように選択する。しかしながら、符号化効率が向上すると、より大きいパケットを処理して符号化することが望ましいが、データを直列に符号化する従来の技術を使用すると、処理遅延がより長くなってしまう。長い処理遅延は、通信システムの性能に悪影響を及ぼす。例えば、通信リンクの状態に基づいて、個々のデータ伝送ごとに、個々のユーザまたはデータレートを選択してもよい。処理遅延が長過ぎると、リンク状態は、データ伝送の時間によって変化し、性能は、損われるか、または悪影響を受ける。
より短い処理遅延で、データを効率的に符号化するのに使用できる技術が非常に望ましいことが分かるであろう。
1つの態様にしたがうと、符号器は、多数のビットを並列に符号化して、符号化時間を相当に短くすることができる。2つ以上の符号器を直列に連接して、連接符号器、例えば、CDMA通信システムにおいて一般に使用されているターボ符号器を形成することができる。第1の(外)符号器を使用して、Mビットを並列に符号化し、かつ第2の(内)符号器を用いて、Nビットを並列に符号化することによって、連接符号器における符号化遅延全体を相当に低減することができる。インターリーバは、一般に、第1および第2の符号器を結合して、書込み動作のための多数の符号ビットを受信し、かつ読み出し動作のための多数の符号ビットを供給する能力をもつ並列符号化を支援する。
1つの実施形態は、多数のデータビットを並列に符号化するための連結符号器を提供する。連結符号器は、カスケード接続された第1の(外)符号器、メモリ、第2の(内)符号器を含む。第1の符号器は、第1の符号化方式にしたがって、Mデータビットを並列に受信し、符号化し、MR符号ビットを生成する。なお、Rは、外符号器の符号レートに関係する(例えば、レート1/2の符号器において、R=2)。メモリは、第1の符号器から、パンクチャされていない(すなわち、削除されていない)MR符号ビットを受信して、記憶する。第2の符号器は、第2の符号化方式にしたがって、N符号ビットを並列に受信して、符号化し、NR符号ビットを含む符号化されたデータを生成する。なお、Rは、内符号器の符号レートに関係する(例えば、レート1/2の符号器において、R=2)。MおよびNは、任意の値をとることができる。例えば、Mは8以上、Nは4以上をとることができる。
第1および第2の符号器の各々は、特定の多項式生成行列(例えば、レート1/2の畳込み符号)を実行する畳込み符号器である。各符号器は、ルックアップテーブル、状態機械、または他の設計を用いて実行することもできる。メモリ要件を緩和するために、個々のパケットに対して、両符号器によって、符号化を実行して、完了し、その後で、別のパケットに対して符号化を開始してもよい。処理遅延を低減するために、第1の符号器は1つのパケットを符号化し、一方で第2の符号器は別のパケットを符号化してもよい(すなわち、パイプライン形符号化)。
メモリは、P(P>1)個のポートをもつマルチポートメモリ、1メモリ装置、または多数のメモリ装置を用いて構成することができる。メモリは、各ワードが特定数(例えば、8個)の符号ビットを含むとして、書込み動作においてWワードを並列に記憶し、読み出し動作においてRワードを並列に供給するように設計することができる。メモリは、メモリ内に記憶されている符号ビットをインターリーブするように動作することができる。例えば、書込み動作において、Wワードをメモリ内の順次の行(sequential row)に記憶することができ、読み出し動作において、Rワードをメモリ内の置換された行(permutated row)から検索することができる。
連接符号器は、N個のマルチプレクサの組をさらに含み、これを使用して、N符号ビットを第2の符号器へ供給することができる。各マルチプレクサは、メモリから、それぞれのワードを受信し、受信したワード内の符号ビットの1つを選択し、選択されたビットを第2の符号器へ供給する。
別の実施形態は、多数のデータビットを並列に符号化するための畳込み符号器を提供する。畳込み符号器において、状態機械は出力生成器に接続されている。状態機械は、Mデータビットを並列に受信して、状態機械の次の状態を示す1組の値を供給する。次の状態は、Mデータビットと、状態機械の現在の状態との関数である。出力生成器も、Mデータビットと現在の状態とを受信し、これに応答して、MR符号ビットを生成する。MおよびMRは、1より大きい任意の数をとることができる(例えば、M≧8、MR≧16)。
状態機械は、一般に、特定の多項式生成行列を実行し、1組のレジスタに接続された1組の論理素子(例えば、ゲート)で構成することができる。各論理素子は、Mデータビットから選択したビットと現在の状態の値とを結合し、状態機械の1ビットに対して特定の論理関数を実行する。レジスタは、論理素子からの出力値を記憶し、レジスタの出力は、状態機械の現在の状態を含む。
データパケットを符号化するために、出力生成器は、第1および第2の出力生成器を含む。第1の出力生成器は、第1の符号化位相(例えば、データ)において、Mデータビットおよび現在の状態を受信し、それに応答して、MR符号ビットを生成する。第2の出力生成器も、第2の符号化位相(例えば、符号テール)において、Mデータビットおよび現在の状態を受信し、それに応答して、MR符号ビットを生成する。実行される符号化位相に依存して、第1出力生成器からの符号ビットか、または第2の出力生成器からの符号ビットが選択される。状態機械は、一般に、第2の符号化位相において既知の状態(例えば、全て、ゼロ)に設定される。
さらに別の実施形態は、多数のビットを並列に符号化するためのデータ符号器を提供する。データ符号器は、入力インターフェイス、マルチビット符号器、メモリ、および出力インターフェイスを含む。入力インターフェイスは、Mデータビットを受信し、受信ビットをマルチビット符号器へ供給する。マルチビット符号器は、Mデータビットを並列に受信し、符号化し、MR符号ビットを生成するか、またはN符号ビットを並列に受信し、符号化し、NR符号ビットを生成するかを選択することができる。メモリは、マルチビット符号器からMR符号ビットの中のパンクチャされていないビットを記憶し、命令を受けると、N符号ビットをマルチビット符号器へ供給する。出力インターフェイスは、マルチビット符号器からNR符号ビットを受信し、NR符号ビットの中のパンクチャされていないビットを、符号化されたデータとして供給する。データ符号器は、一般に、アドレス生成器をさらに含み、アドレス生成器は、メモリの書込みおよび読み出し動作のためのアドレスを生成する。
さらに別の実施形態は、通信システム(例えば、CDMAシステム)において使用するための送信機装置を提供する。送信機装置は、カスケード接続された符号器、変調器、および送信機を含む。符号器は、第1の符号化方式にしたがって、Mデータビットを並列に受信して、符号化し、MRデータビットを生成し、MR符号ビットの中のパンクチャされていないビットを記憶し、特定のパケットの符号ビットをインターリーブし、第2の符号化方式にしたがって、N符号ビットを並列に受信して、符号化し、NR符号ビットを生成し、NR符号ビットの中のパンクチャされていないビットを、符号化されたデータとして供給する。変調器は、符号化されたデータを受信して、特定の変調方式で変調して、変調されたデータを生成する。送信機は、被変調データを受信して、処理して、伝送に適した被変調信号を生成する。符号器は、ターボ符号または連接符号を実行するように設計することができる。
別の実施形態は、多数のデータビットを並列に連接符号化するための方法を提供する。この方法にしたがうと、第1の符号化方式にしたがって、Mデータビットを並列に受信し、符号化し、MR符号ビットを生成する。特定のパンクチャリング方式にしたがって、MR符号ビットの中のゼロ個以上がパンクチャされ、パンクチャされていない符号ビットがメモリに記憶される。適切なときに、N符号ビットをメモリから検索し、第2の符号化方式にしたがって、並列に符号化し、符号化されたデータを生成する。効率化および遅延を低減するために、パンクチャされていない符号ビットのWワードを、メモリのW個のポートへ同時に書き込み、符号ビットのRワードを、メモリのR個のポートへ同時に読み出す。インターリーブするために、Wワードは、書き込み動作においてメモリ内の順次の行に記憶され、Rワードは、読み出し動作においてメモリ内の置換された行から検索される。
本発明の他の態様および実施形態は、別途記載する。
本発明の特徴、目的、および長所は、別途記載される詳細な説明を、添付の図面と共に取入れることによって、同じ参照符号によって全体的に対応して同定され、より明らかになるであろう。
図1は、本発明の種々の態様が実行される通信システム100の実施形態の簡略化されたブロック図である。送信機装置110において、トラヒックデータは、一般に、パケットまたはフレームでデータ源112から符号器114へ送られ、符号器114は、特定の符号化方式を使用してデータをフォーマットして符号化する。符号器114は、一般に、符号ビットのインターリービング(すなわち、順序変更)も行なう。その後で、変調器116は、符号化されたデータを受信し、チャネル化(すなわち、カバー)し、拡散し、シンボルを生成し、シンボルは1つ以上のアナログ信号へ変換される。アナログ信号は、送信機(transmitter, TMTR)118によってフィルタ処理され、(直角)変調され、増幅され、アップコンバートされ、被変調信号が生成され、被変調信号は、アンテナ120を介して1つ以上の受信機装置へ伝送される。
受信機装置130では、伝送信号は、アンテナ132によって受信され、受信機(receiver, RCVR)134へ供給される。受信機134内では、受信信号は、増幅され、フィルターにかけられ、ダウンコンバートされ、直角復調され、ディジタル化され、サンプルが供給される。サンプルは、復調器(demodulator, DEMOD)136によって逆拡散され、デカバーされ、復調され、復調されたシンボルが生成される。その後で、復号器138は、復調されたシンボルを復号し、(恐らくは)復号されたデータを順序変更して、伝送データを回復する。復調器136および復号器138によって行われる処理は、送信機装置110において行われる処理と相補的である。その後で、回復されたデータは、データシンク140へ供給される。
上述の信号処理は、音声、画像、パケットデータ、メッセージング、および他のタイプの通信の一方向の伝送を支援する。双方向通信システムは、双方向のデータ伝送を支援する。しかしながら、他方の方向の信号処理は、簡潔化のために図1には示されていない。
通信システム100は、符号分割多重アクセス(Code Division-Multiple Access, CDMA)システム、時分割多重アクセス(Time Division-Multiple Access, TDMA)通信システム(例えば、GSMシステム)、または周波数分割多重アクセス(Frequency Division-Multiple Access, FDMA)通信システム、または地上リンクによってユーザ間の音声およびデータ通信を支援する他の多重アクセス通信システムである。
多重アクセス通信システムにおけるCDMA技術の使用は、米国特許第4,901,307号(“SPREAD SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS”)および米国特許第5,103,459号(“SYSTEM AND METHOD FOR GENERATING WAVEFORMS IN A CDMA CELLULAR TELEPHONE SYSTEM”)に記載されている。別の特定のCDMAシステムは、1997年11月3日に出願された米国特許出願第08/963,386号(“METHOD AND APPARATUS FOR HIGH RATE PACKET DATA TRANSMISSION”)(以下では、HDRシステムと呼ぶ)であって、現在は、2003年6月3日発行のPadovani、他の米国特許第6,574,211号に記載されている。これらの特許および特許出願は、本発明の譲り受け人に譲渡され、ここでは参考文献として取り上げている。
CDMAシステムは、一般に、“TIA/EIA/IS-95-A Mobile Station-Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular System”(以下では、IS−95−A標準規格と呼ぶ)、“TIA/EIA/IS-98 Recommended Minimum Standard for Dual-Mode Wideband Spread Spectrum Cellular Mobile Station”(以下では、IS−98標準規格と呼ぶ)、“3rd Generation Partnership Project”(3GPP)と呼ばれる機関によって提供され、第3G TS 25.211号、第3G TS 25.212号、第3G TS 25 213号、第3G TS 25 214号を含む文献の組において具現されている標準規格(以下では、W−CDMA標準規格と呼ぶ)、および“TR-45.5 Physical Layer Standard for cdma2000 Spread Spectrum Systems”(以下では、CDMA2000標準規格と呼ぶ)のような1つ以上の標準規格にしたがうように設計される。新しいCDMAの標準規格は、頻繁に提案され、使用に取入れられている。これらのCDMAの標準規格は、ここでは参考文献として取り上げられている。
図2は、本発明のいくつかの実施形態を実行するように設計された符号器200のブロック図である。符号器200は、図1の符号器114として使用してもよい。この実施形態では、符号器200は、連接符号を実行し、カスケード接続された外畳込み符号器212、インターリーバ214、および内畳込み符号器216を含む。外畳込み符号器212は、入力データを受信して、畳込んで符号化し、符号ビットを生成し、符号ビットはインターリーバ214へ供給され、記憶される。符号ビットのパケット全体がインターリーバ214内に記憶されると、符号ビットが検索され、内畳込み符号器216へ供給される。インターリービングを実現するために、符号ビットは、ビットがインターリーバ214に書込まれる順序とは異なる順序で読み出される。外畳込み符号器212は、符号ビットを受信し、畳込んで符号化し、符号化されたデータを生成し、その後で、符号化されたデータを次の処理段へ供給する。
従来の畳込み符号器は、一度に(すなわち、クロックサイクルごとに)1ビットずつ、データを直列に受信し、符号化する。大きいパケットでデータを伝送する通信システムでは、データを直列に符号化すると、長い処理遅延が生じる。さらに加えて、カスケード接続された多数の畳込み符号器から構成されている連接符号器において、とくに、外および内の畳込み符号器の両者が直列にビットを符号化すると、処理遅延は長過ぎてしまう。
1つの態様では、畳込み符号器は、多数(M)のビットを並列に受信して、符号化することができる。この能力により、畳込み符号器は、1データパケットを、従来の畳込み符号器において必要だった時間量の約(1/M)で符号化することができる。個々の畳込み符号器の各々がビットを並列に処理するとき、恩恵は、連接符号器(例えば、ターボ符号器)においてより顕著になる。
別の態様にしたがうと、インターリーバは、多数のデータビットを並列に記憶し、供給することができる。インターリーバは、例えば、マルチポートメモリを使用して、実行される。インターリーバは、ここに記載されている畳込み符号器と組合せて使用されるとき、データを数分の1の時間でインターリーバへ書込み、かつそこから読み出すことができるので、処理遅延をさらに低減することができる。
ここで、上述の米国特許出願第08/963,386号に記載されている通信システム(すなわち、HDRシステム)におけるダウンリンクデータ伝送に使用される符号器についての例示的な実施形態を記載することを明らかにしておく。HDRシステムは、外畳込み符号、インターリービング、および内畳込み符号で構成されている連接符号を用いる。HDRシステムは、表1に記載されている特性をもつ2つのパケットフォーマットも定めている。
Figure 0004159990
HDRシステムでは、外畳込み符号器は、次に示す多項式生成行列によって定められるレート1/2の畳込み符号を実行する。
Figure 0004159990
HDRシステムにおける内畳込み符号器は、次の多項式生成行列によって定められるレート1/2の畳込み符号を実行する。
Figure 0004159990
図3は、式(1)および(2)によって定められる外および内の畳込み符号を実行する符号器300の図である。データビットuが、式(1)を実行する外畳込み符号器310へ供給され、2つの出力y0aおよびy0bを生成する。符号器310内では、データビットuは加算器312へ供給され、加算器312はレジスタ314Aないし314Dとカスケード接続している(レジスタは、1組の遅延を実行するのに使用される)。加算器312およびレジスタ314A、314B、および314Dからの出力は、加算器316A、316B、および316Cによって加算され、式(1)に表されている多項式生成行列内の第2の要素の分子を実現する。レジスタ314Cおよび314Dからの出力は、加算器318によって加算され、加算器312へ供給され、式(1)内の第2の要素の分母を実現する。入力データビットuは、第1の出力y0aとして供給され、加算器316Cからの出力は第2の出力y0bを構成する。
外畳込み符号器310の出力y0aおよびy0b内の符号ビットはパンクチャされる(簡潔化のために図3には示されていない)。パンクチャされていない符号ビットは、インターリーバ330へ供給され、順序変更される。順序変更された符号ビットvは、内畳込み符号器340へ供給され、内畳込み符号器340は、式(2)を実行し、2つの出力yiaおよびyibが生成される。符号器340内では、符号ビットvは加算器342へ供給され、加算器342は、レジスタ344Aおよび344Bとカスケード接続している。加算器342およびレジスタ344A、344Bからの出力は、加算器346Aおよび346Bによって加算され、式(2)に表現されている多項式生成行列内の第2の要素の分子を実現する。レジスタ344Aからの出力は、加算器342へ供給され、式(2)内の第2の要素の分母を実現する。入力符号ビットvは、第1の出力yiaとして供給され、加算器346Bからの出力は第2の出力yibを構成する。
通常、データビットuは符号器310へ直列に供給され、符号ビットvも符号器340へ直列に供給される。1入力データビットに対して、外畳込み符号器310は、2符号ビットを生成する。インターリーバ330は、符号ビットを受信して、記憶し、符号ビットを内畳込み符号器340へ直列に供給する。ビットを直列に符号化すると、処理遅延が長くなる。
1つの実施形態の畳込み符号器は、多数のビットを並列に符号化して、符号化遅延を相当に短くすることができる。各クロックサイクルごとに、多数(例えば、M)のデータビットを受信し、符号化し、多数の符号ビットを生成することができる。レート1/2の符号器では、Mデータビットに対して、2M符号ビットが生成される。Mには、例えば、4、8、16、32、等のような、任意の数を選択することができる。このような畳込み符号器の種々の代わりの実施形態をこれから記載する。
高データレート(High Data Rate, HDR)システムのような、多くのディジタル通信システムは、データをパケットで伝送する。1パケット内のビット数(すなわち、パケットサイズ)は、例えば、データレート、伝送するデータ量、処理遅延要件、等のような、多数の基準に基づいて選択される。各パケットの最初に、受信機装置の復号器を既知の状態で開始できるようにするために、復号時間を短くして、性能を向上し、符号器を各パケットの最初に既知の状態(例えば、全てゼロ)に初期設定する。初期設定は、前のパケットの最後に、符号テールビットの組を挿入することによって達成される。符号テールビットは、符号器が既知の状態に設定されるように選択される。
1つの実施形態では、例示的な実施形態の畳込み符号器は、ルックアップテーブルを用いて実行される。図3を参照すると、外畳込み符号器310は、レジスタ314Aないし314Dの出力によって定められる4ビット状態の状態機械として考えられる。ルックアップテーブルの内容を生成するために、時間指標nにおけるM入力データビットをベクトルUによって表現し、2M符号ビットをベクトルYによって表現し、現在の符号器の状態をベクトルXによって表現する。符号器の次の状態Xn+1および符号器の出力ベクトルYは、次のように表すことができる。
データ 符号テール
n+1=f(X,U) Xn+1=0 式(3)
=g(X,U) Y=g(X,U) 式(4)
式(3)および(4)の各々は、入力がデータであるときに使用するための1つの式と、符号器の入力が符号テールビットを含むときに使用するための別の式とを与えている。
式(3)および(4)は、入力データビットと符号器状態との全ての可能な組み合わせに対して計算することができる。例えば、式(4)において、出力符号ビットは、入力ベクトルU=0...00および符号器状態X=0...00、入力ベクトルU=0...01および符号器状態X=0...00、など、並びに入力ベクトルU=1...11および符号器状態X=0...00に対して計算することができる。出力符号ビットは、入力ベクトルUおよび符号器状態X=0...01の可能な組合せの全てに対して計算することができる。処理は、入力ベクトルと符号器状態との全ての組み合わせが計算されるまで続く。式(3)も同様のやり方で計算することができる。
式(3)および(4)の計算の結果は、ルックアップテーブルを実行するメモリに記憶することができる。必要なメモリサイズは、並列に符号化されるデータビット数と、実行される個々の多項式生成行列とに依存する。例えば、8データビットが、式(1)に表されている畳込み符号を用いて並列に符号化されるとき、12アドレスビットおよび20データビット(すなわち、4096×20)のサイズをもつメモリを使用することができる。12ビットのアドレスは、8入力データビットと、4ビットの現在の符号器状態とから成る。20ビットの出力は、16符号ビットと、4ビットの現在の符号器状態とから成る。
メモリが適切に定められると、入力データベクトルUおよび現在の符号器状態Xが、メモリのアドレス入力へ供給され、出力ベクトルYおよび次の符号器状態Xn+1が供給される。次の符号器状態Xn+1は、次の入力データベクトルUn+1と共に使用するために適切に記憶される。
別の実施形態では、畳込み符号器は、状態機械と共に実行される。符号器状態および出力は、式(3)および(4)に示されているように表すことができる。式(3)および(4)の各々を反復的に解いて、結果の式はハードウエア、ソフトウエア、またはその組み合わせにおいて実行される。符号器の反復式は、次のように解くことができる。
Figure 0004159990
符号器の次の状態および出力は、次のように表わすことができる。
=AX+Bu 式(5)
=CX+Du 式(6)
なお、A、B、C、およびDは、実行される特定の多項式生成行列に依存するスカラー、ベクトル、および行列である。符号器の状態の式(5)は、次のように反復的に解くことができる。
Figure 0004159990
符号器の出力の式(6)も、同様のやり方で反復的に解くことができる。
式(5)および(6)を使用して、一度に1データビットuを符号化する。Mデータビットを並列に符号化するための、同様の式の組を求めることができる。
Figure 0004159990
およびYに対する定められたベクトル表記を使用して、式(5)および(6)を次のように表すことができる。
n+1=FX+GU 式(7)
=HX+IU 式(8)
なお、F、G、H、およびIは、実行される特定の多項式生成行列、現在の符号器の状態Xn+1、および入力データベクトルUに依存するベクトルおよび行列である。式(7)は、Mデータビットを符号化した後の次の符号器の状態Xn+1を生成するのに使用され、式(8)は、入力ベクトルUに対する符号器の出力Yを生成するのに使用される。
式(7)および(8)においてF、G、H、およびIを判断するために、種々の技術を使用して、式(5)および(6)を反復的に解き、反復計算の結果を使用して、式(7)および(8)を実行することができる。例えば、表を使用して、各入力データビットごとに、符号器の状態および出力を集計することができる。別途記載するように、表内のエントリを使用して、式(7)および(8)を実行することができる。
表2は、8個の入力データビットuないしuが、式(1)を実行する図3の畳込み符号器310へ直接に供給された後の符号器の状態および出力を示す。図3に示されているように、レジスタ314Aないし314Dは、最初に、x、x、x、およびxの値をそれぞれ記憶する。第1のクロックサイクルにおいて、第1のデータビットuを符号器310へ供給され、加算器312の出力はx+x+uとして計算され、これは、表2の第2行、第2列に記憶される。符号器の出力は、ya0=uおよびyb0=(x+x+u)+x+x+x=x+x+x+uとして計算される。(各加算器316は、モジューロ2加算を実行する。)次のクロックサイクルでは、加算器312およびレジスタ314Aないし314Cからの値は、それぞれレジスタ314Aないし314Dへ移される。次のデータビットuは符号器へ供給され、加算器312の出力は、x+x+uとして計算され、これは、表2の第3行、第2列に記憶される。符号器の出力は、ya1=uおよびyb2=(x+x+u)+x+x+(x+x+u)=x+x+x+x+u+uとして計算される。処理は、8番目のデータビットuが受信され、処理されるまで続く。
符号器の出力ベクトル、すなわち、
=[yb7b6b5b4b3b2b1b0]
は、入力ベクトルU=[u]に対応し、表2の最後の列のエントリに基づいて生成される。8番目のデータビットuが符号化された後の符号器の状態Xn+1は、表2の最後の行のエントリに基づいて生成される。表2に示されているように、符号器の出力ベクトルYおよび次の符号器の状態Xn+1は、それぞれ現在の状態X=[x]および入力ベクトルUの関数である。データ位相において、符号器の出力ベクトルYは、単に、入力ベクトルUの関数である(すなわち、Y=U)。
Figure 0004159990
再び表1を参照すると、HDRシステムの外畳込み符号器は、パケットフォーマット1において、各パケットごとに、1018データビットおよび4符号テールビットを受信する。8ビットが並列に符号化されるとき、128クロックサイクルを使用して、1データパケットを符号化する。最初の127クロックサイクルを使用して、1016データビット(すなわち、127×8=1016)を符号化し、128番目のクロックサイクルを使用して、残りの2データビットおよび4符号テールビットを符号化する。最初の127クロックサイクルは、“データ位相”と呼ばれ、最後のクロックサイクルは、“符号テール位相”と呼ばれる。
外畳込み符号器は、パケットフォーマット2において、各パケットごとに、2042データビットおよび4符号テールビットを受信する。8ビットが並列に符号化されるとき、256クロックサイクルを使用して、1データパケットを符号化する。最初の255クロックサイクルを使用して、2040データビット(すなわち、255×8=2040)を符号化し、256番目のクロックサイクルを使用して、残りの2データビットおよび4符号テールビットを符号化する。最初の255クロックサイクルは、データ位相と呼ばれ、最後のクロックサイクルは、符号テール位相と呼ばれる。
表3は、2データビットu、uと4符号テールビットとが、図3の畳込み符号器310へ直列に供給された後の符号器の状態および出力を示す。ここでも、レジスタ314Aおよび314Dは、最初に、x、x、x、xの値をそれぞれ記憶する。最初の2クロックサイクルにおいて、2つのデータビットuおよびuが直列に符号器へ供給される。符号器の状態xないしxと符号器の出力yおよびyとは、上述と同様のやり方で計算される。したがって、表3の第2行および第3行は、表2の第2行および第3行と同じである。第3のクロックサイクルにおいて、x+xの値をもつ第1の符号テールビットは、符号器へ供給される。符号テールビットの値は、加算器312の出力がゼロに等しくなるように選択され、これを使用して、畳込み符号器をフラッシュする。符号器の出力は、yc2=x+xおよびyd2=x+u+uとして計算される。次のクロックサイクルにおいて、加算器312およびレジスタ314Aないし314Cからの値は、それぞれレジスタ314Aないし314Dへ移される。第2の符号テールビットは、x+x+x+uになるように選択され、ここでも、加算器312の出力をゼロに設定し、符号器をフラッシュする。最後の2ビットを符号器へ供給し、値がゼロになるように、処理を続ける。
表3に示されているように、符号器出力YおよびYの両者は、入力ベクトルUおよび現在の符号器の状態Xの両者の関数である。符号テール位相において、次の符号器の状態Xn+1は全てゼロの既知の状態に設定される(すなわち、X=[0 0 0 0])。
Figure 0004159990
図4は、多数の入力データビットを並列に符号化できる畳込み符号器400の実施形態のブロック図を示している。畳込み符号器400は、(例えば、表2および3にそれぞれ定められているように)データおよび符号テールの位相を実行するのに使用できる。図4に示されている符号器のアーキテクチャは、例えば、図3の外畳込み符号器310または内畳込み符号器340を実行するのに使用することができる。
畳込み符号器400内では、入力データビットが、データベクトルUとして、並列に、符号器状態機械410、データ位相出力生成器420、および符号テール位相出力生成器430へ供給される。符号器状態機械410は、現在の符号器状態Xも受信し、受信した入力ベクトルUおよび現在の符号器状態Xに基づいて、新しい符号器状態を判断する。符号器状態機械410は、例えば、表2の最後の行を実行することができる。
データ位相出力生成器420および符号テール位相出力生成器430も、現在の符号器状態Xを受信し、受信した入力XおよびUに基づいて、データ位相および符号テール位相の符号器出力を判断する。データ位相出力生成器420は、例えば、表2の最後の2列を実行することができ、符号テール出力生成器430は、表3の最後の2列を実行することができる。データ位相生成器420からの第1および第2の出力YおよびYは、マルチプレクサ(multiplexer, MUX)440Aおよび440Bへそれぞれ供給される。同様に、符号テール位相出力生成器430からの第1および第2の出力YおよびYは、マルチプレクサ(multiplexer, MUX)440Aおよび440Bへそれぞれ供給される。マルチプレクサ440Aおよび440Bは、データ位相において動作しているときは、データ位相出力生成器420から出力YおよびY、符号テール位相において動作しているときは、符号テール位相出力生成器430からの出力YおよびYをそれぞれ得る。
入力データビットを受信したときに、各パケットの最初に符号器の状態をリセットする必要なく、それらを連続して符号化する畳込み符号器を実行するために、符号器状態機械410およびデータ位相出力生成器420のみが必要である。データがパケットで送られ、かつ符号テールビットを使用して、各パケットの最初に畳込み符号器を既知の状態へリセットする通信システム(例えば、HDRシステム)では、符号テール位相出力生成器430およびマルチプレクサ440Aおよび440Bを使用して、必要な符号器出力を供給する。
符号器状態機械410およびデータ位相出力生成器420の設計は、実行される特定の多項式生成行列と、並列に符号化されるデータビット数とに依存する。符号テール位相出力生成器430の設計は、多項式生成行列、並列に符号化されるデータビット数、および特定のフレームフォーマット(すなわち、符号テール位相において符号化されるデータおよび符号テールビット数)に依存する。ここで、畳込み符号器400の特定の設計を記載する。
図5aは、8入力データビットを並列に符号化することができ、かつ式(1)に表されている多項式生成行列を実行する畳込み符号器500の特定の実施形態の模式図である。畳込み符号器500は、表2に定められている状態機械を実行する符号器状態機械510と、表2に定められている符号器出力を生成するデータ位相出力生成器520とを含む。符号器状態機械510およびデータ位相出力生成器520は、図4の符号器状態機械410およびデータ位相出力生成器420にそれぞれ対応する。この実施形態では、符号器状態機械510は、ANDゲート512Aないし512Dおよびレジスタ514Aないし514Dで実行され、データ位相出力生成器520は、ANDゲート522Aないし522Hで実行される。
図5aに示されているように、8入力データビットuないしuは、符号器状態機械510およびデータ位相出力生成器520の入力へ供給され、入力の各々は、xないしxによって定められる現在の符号器状態も受信する。符号器状態機械510内の各ANDゲート512は、表2内の最後の行によって定められているように、入力uないしuおよびxないしxを選択的に結合する。例えば、ANDゲート512Aは、表2の最後の行、第3列(x)のエントリによって定められているように、入力x、x、x、u、u、u、およびuを結合する。ANDゲート512Aないし512Dの出力は、レジスタ514Aないし514Dの入力へそれぞれ接続されている。レジスタ514Aないし514Dは、状態機械の出力xないしxをそれぞれ含んでいる。
同様に、データ位相出力生成器520内の各ANDゲート522は、表2の最後の列によって定められているように、入力uないしuおよびxないしxを選択的に結合する。例えば、ANDゲート522Aは、表2の第2行、最後の列(yb0)のエントリによって定められているように、入力x、x、x、およびuを結合する。入力uないしuは、符号器の出力ya0ないしya7(簡潔化のために、図5aには示されていない)をそれぞれ含み、ANDゲート522Aないし522Hの出力は、符号器の出力yb0ないしyb7をそれぞれ含んでいる。
図5bは、符号テール位相出力生成器530およびマルチプレクサ540A、540Bの特定の実施形態の模式図であり、表1に示されているパケットフォーマット1および2において、式(1)に表されている多項式生成行列の符号テール位相を構成する。符号テール位相出力生成器530およびマルチプレクサ540A、540Bは、図4の符号テール位相出力生成器430およびマルチプレクサ440A、440Bに対応する。この実施形態では、符号テール位相出力生成器530は、ANDゲート532Aないし532Jで実行され、表3に定められている符号テール位相の符号器出力YおよびYを生成する。マルチプレクサ540Aは、2×1マルチプレクサ(multiplexer, MUX)542Aないし542Fで実行され、第1の符号器出力Y0aを供給する。同様に、マルチプレクサ540Bは、2×1マルチプレクサ544Aないし544Hで実行され、第2の符号器出力Y0bを供給する。
図5aおよび5bの符号器状態機械510、データ位相出力生成器520、符号テール位相出力生成器530、およびマルチプレクサ540Aおよび540Bは、畳込み符号器400の特定の構成を形成している。この特定の構成を使用して、表1に記載されているパケットフォーマットにおいて、式(1)に表されている多項式生成行列を実行する。パケットフォーマット1では、128クロックサイクルにおいて、1018データビットが畳込み符号器500へ供給される。最初の127クロックサイクルの各々において、8データビットが符号器500へ供給され、マルチプレクサ540Aおよび540Bが選択され、データ位相出力生成器520から出力YおよびYを供給する。128番目のクロックサイクルでは、残りの2データビット、4符号テールビット、および2つのゼロが符号器500へ供給される。レジスタ514Aないし514Dは、ゼロに(同期して)リセットされ、マルチプレクサ540Aおよび540Bが選択され、符号テール位相出力生成器530から出力YおよびYを供給する。パケットフォーマット2では、2042データビットが、256クロックサイクルにおいて畳込み符号器500へ供給される。データ位相に対応する最初の255クロックサイクルの各々では、8データビットが並列に符号化され、マルチプレクサ540Aおよび540Bは、出力YおよびYをそれぞれ供給する。符号テール位相に対応する256番目のクロックサイクルでは、2データビット、4符号テールビット、および2つのゼロが並列に符号化され、マルチプレクサ540Aおよび540Bは、出力YおよびYをそれぞれ供給する。
図5aおよび5bに示されている特定の実行は、より分かり易くするために記載されている。本発明の技術的範囲内で、異なる実行も考えられることに注意すべきである。さらに加えて、一般に、異なる多項式生成行列、異なる数の入力データビット、または異なるパケットフォーマットに対して異なる設計が使用される。
同様に、式(2)に表されている多項式生成行列を実行するために、別の畳込み符号器を設計することができる。1つの実施形態では、畳込み符号器は、4符号ビットを並列に受信して符号化するように設計されている。次の符号器の状態および出力において式(5)および(6)は、上述のやり方で反復的にそれぞれ解くことができる。
表4は、図3の畳込み符号器340へ4入力符号ビットvないしvを直列に供給した後の、符号器の状態および出力を示している。レジスタ344Aおよび344Bは、最初にxおよびxの値をそれぞれ記憶する。第1のクロックサイクルでは、第1の符号ビットvが符号器340へ供給され、加算器342の出力はx+vとして計算され、表4の第2行、第2列に記憶される。符号器の出力は、ye0=vおよびyf0=(x+v)+x+x=x+vとして計算される。次のクロックサイクルでは、加算器312およびレジスタ344Aからの値は、レジスタ344Aおよび344Bへそれぞれ移される。次の符号ビットvが符号器340へ供給され、加算器342の出力はx+v+vとして計算され、これは第3行、第2列に記憶される。出力は、ye1=vおよびyf1=(x+v+v)+(x+v)+x=x+vとして計算される。処理は、第4の符号ビットvを受信して、処理するまで続く。
符号器の出力ベクトルYは、表4の最後の列内のエントリに基づいて生成される。第4の符号ビットvが符号化された後の符号器の状態Xn+1は、表4の最後の行のエントリに基づいて生成される。表4に示されているように、符号器の出力ベクトルYおよび次の符号器の状態Xn+1は、それぞれ、現在の符号器の状態X=[x]および入力ベクトルVの関数である。データ位相において、符号器の出力ベクトルYは、単に、入力ベクトルVの関数である。
Figure 0004159990
表1を再び参照すると、HDRシステムにおける内畳込み符号器は、パケットフォーマット1において、各パケットごとに、2044符号ビットおよび4符号テールビットを受信する。4ビットを並列に符号化するとき、512クロックサイクルを使用して、1パケットを符号化する。最初の511クロックサイクルを使用して、2044符号ビット(すなわち、511×4=2044)を符号化し、512番目のクロックサイクルを使用して、4符号テールビットを符号化する。畳込み符号器は、パケットフォーマット2において、各パケットごとに、3069符号ビットおよび3符号テールビットを受信する。4ビットを並列に符号化するとき、768クロックサイクルを使用して、1パケットデータを符号化する。最初の767クロックサイクルを使用して、3068符号ビット(すなわち、767×4=3068)を符号化し、768番目のクロックサイクルを使用して、最後の符号ビットおよび3符号テールビットを符号化する。
表5は、パケットフォーマット1の符号テール位相における内畳込み符号器の状態および出力を示す。最初のクロックサイクルにおいて、xの値をもつ第1の符号テールビットを符号器へ供給する。符号テールビット値は、加算器342の出力がゼロに等しくなるように選択される。符号器の出力は、yg0=xおよびyh0=x+xとして計算される。残りの3符号テールビットに対して同様に処理を続ける。
Figure 0004159990
表6は、パケットフォーマット2の符号テール位相における内畳込み符号器の状態および出力を示す。最初のクロックサイクルにおいて、最後の符号ビットvが符号器へ供給され、符号器状態x、xおよび出力yi0、yj0は、上述と同様のやり方で計算される。したがって、表6の第2行は、表4の第2行と同じである。2番目のクロックサイクルでは、x+vの値をもつ第1の符号テールビットを符号器へ供給する。符号テールビット値は、加算器342の出力がゼロに等しくなるように選択される。符号器出力は、yi1=x+vおよびyj1=vとして計算される。残りの符号テールビットに対して同様に処理を続ける。
Figure 0004159990
図6は、畳込み符号器600の特定の実施形態の模式図であり、畳込み符号器600は、4入力符号ビットを並列に符号化でき、かつ式(2)に表現されている多項式生成行列を実行する。畳込み符号器600は、表4によって定められている状態機械を実行する符号器の状態機械610、表4ないし6に定められている符号器出力を生成する出力生成器620、並びにパケットフォーマット1および2の、データおよび符号テール位相の、適切な符号器の出力を供給するマルチプレクサ640Aおよび640Bを含む。
図6に示されているように、4入力符号ビットvないしvは、符号器の状態機械610および出力生成器620の入力へ並列に供給され、各入力は、X=[x]として定められる現在の符号器の状態も受信する。符号器の状態機械610内の各ANDゲート612は、表4内の最後の行によって定められているように、入力vないしvおよびxないしxを選択的に結合する。例えば、ANDゲート612Aは、表4の最後の行、第3列(x)のエントリによって定められているように、入力x、v、v、v、v、およびvを結合する。ANDゲート612Aおよび612Bの出力は、レジスタ614Aおよび614Bの入力にそれぞれ接続している。レジスタ614Aおよび614Bの出力は、それぞれ状態機械の出力xおよびxを含んでいる。
同様に、出力生成器620内の各ANDゲート622は、表4ないし6の最後の2列によって定められているように、入力vないしvおよびxないしxを選択的に結合する。例えば、ANDゲート622Aは、入力xおよびvを結合し、yf0を生成し(表4の第2行、最後の列)、ANDゲート622Bは、入力xおよびxを結合し、yh0を生成し(表5の第2行、最後の列)、ANDゲート622Cは、入力xおよびvを結合し、yj0を生成する(表6の第2行、最後の列)。他の符号器の出力は、表4ないし6に示されているように生成される。
内畳込み符号器600において、マルチプレクサ640Aは3×1マルチプレクサ642Aないし642Dを含み、それぞれ第1の符号器の出力yia0ないしyia3を供給する。データ位相の間には、ye0ないしye3が、マルチプレクサ(multiplexer, MUX)642Aないし642Dへそれぞれ供給される。符号テール位相の間は、パケットフォーマット1のyg0ないしyg3およびパケットフォーマット2のyi0ないしyi3が、マルチプレクサ642Aないし642Dへ供給される。同様に、内畳込み符号器600において、マルチプレクサ640Bは3×1マルチプレクサ(multiplexer, MUX)644Aないし644Dを含み、それぞれ第2の符号器出力yib0ないしyib3を供給する。データ位相の間は、yf0ないしyf3が、マルチプレクサ644Aないし644Dへそれぞれ供給される。符号テール位相の間は、マルチプレクサ644Aないし644Dは、パケットフォーマット1のyh0ないしyh3と、パケットフォーマット2のyj0ないしyj3とをそれぞれ供給される。
本発明の別の態様は、外畳込み符号器によって並列に生成される多数の符号ビットを記憶し、多数の符号ビットを並列に内畳込み符号器へ供給することができるインターリーバを提供する。図2を再び参照すると、インターリーバは、外畳込み符号器と内畳込み符号器との間に接続されている。インターリーバは、符号ビットの1つ以上のパケットを記憶するように設計されている。全パケットを記憶した後で、符号ビットは、書込み順とは異なる読み出し順に検索され、符号ビットのインターリービングを達成する。インターリービングが望ましくないときは、符号ビットをインターリーバから同じ順序で検索することができる。
例示的な実施形態の外畳込み符号器は、Mデータビットを並列に受信し、符号化し、M・R符号ビットを生成するように設計することができる。なお、Rは、外畳込み符号器の符号レートに関係する(例えば、レート1/2の符号器においてR=2)。処理を速め、かつ遅延を低減するために、符号ビットが符号器から生成されると、外畳込み符号器からのM・R符号ビットを並列に記憶するように、インターリーバを設計することができる。同様に、内畳込み符号器は、N符号ビットを並列に受信して符号化するように設計することができる。ここでも、処理を速め、かつ遅延を低減するために、インターリーバは、1読み出し動作において、少なくともN符号ビットを内畳込み符号器へ並列に供給するように設計することができる。
外畳込み符号器および内畳込み符号器の各々からの符号ビットは、他の符号レートで符号ビットを供給するようにパンクチャされる。例えば、再び表1を参照すると、外畳込み符号器からの出力は、パケットフォーマット1では、パンクチャされずに、1/2符号レートが得られ、パケットフォーマット2では、パンクチャされて、2/3の符号レートが得られる。同様に、内畳込み符号器からの出力は、パケットフォーマット1では、パンクチャされずに、1/2符号レートが得られ、パケットフォーマット2では、パンクチャされて、3/4の符号レートが得られる。符号器とインターリーバとの間のインターフェイスは、シンボルのパンクチャリングを効率的に達成するように設計することができる。
図7aは、インターリーバ700の実施形態の図である。この実施形態では、インターリーバ700は、P個のポートをもつマルチポートメモリ710と共に実行される。なお、Pは、1よりも大きい。インターリーバを実行するのに使用される個々のメモリ装置に依存して、P個のポートの各々は、書込みおよび読み出し両用のポートとして使用されるか、または書込みまたは読み出しの専用ポートとして使用される。図7aに示されている実施形態において、メモリ710は、書込みポートDないしDとして示されているW個のポートと、読み出しポートQないしQとして示されているR個のポートとを含む。メモリ710は、P個のアドレス入力AないしAをさらに含み、P個のポートの各々が1つのアドレス入力をもつ。各書込みおよび読み出しポートは、Cビットを並列に転送することができる。
アドレス生成器720は、入力アドレスADDRを受信し、各活動状態のポートに対して必要なアドレスを生成し、メモリ710のアドレス入力AないしAに、生成されたアドレスを与える。図7aには簡潔化のために示されていないが、アドレス生成器720は、書込みまたは読み出し動作を行なうようにメモリ710に命令する1つ以上の制御信号も生成する。
1つの実施形態において、メモリ710は、多数の行および多数の列をもつ二次元メモリとして構成される。1つの実施形態において、符号ビットは、メモリ710の順次の行に書き込まれる。効率化のために、各行の幅は、各ポートの幅(すなわち、Cビット)に相当する。したがって、各書込み動作において、メモリ710の符号ビットのWまでの行を、W個の書込みポートに書込むことができる。パケットの全体の符号ビットがメモリ710に記憶されると、符号ビットをメモリから検索することができる。1つの実施形態において、符号ビットは、メモリ710から行ごとに読み出される。図7aに示されている実施形態では、各読み出し動作において、符号ビットのRまでの行を、R個の読み出しポートから検索することができる。
インターリーバ700から内畳込み符号器へ符号ビットを供給するのに、種々の設計を使用することができる。実行する特定の設計は、個々のシステム要件に依存する。1つの設計では、R個のマルチプレクサ(multiplexer, MUX)730Aないし730Rは、R個の読み出しポートQないしQにそれぞれ接続されている。各読み出し動作において、符号ビットのRまでの行がメモリ710から検索され、制御信号ADないしADと共に、マルチプレクサ730Aないし730Rへそれぞれ供給される。各マルチプレクサ730は、C符号ビットを受信し、各制御信号ADに基づいて符号ビットの1つを選択し、選択された符号ビットをマルチプレクサの出力へ供給する。制御信号ADないしADは、符号ビットの各検索された行から、個々の符号ビットを検索する。したがって、R個のマルチプレクサ730を使用して、R個までの符号ビットを内畳込み符号器へ並列に供給することができる。
より明らかに理解するために、ここで、インターリーバの特定の設計について、図5a、5b、および6において既に記載した外および内の畳込み符号器を用いて記載する。上述の符号器の設計では、外畳込み符号器は、1クロックサイクルにおいて、8データビットを並列に受信し、符号化し、16符号ビットを生成し、内畳込み符号器は、4符号ビットを並列に受信し、符号化する。この特定のインターリーバの設計では、8ポートのメモリが用いられ、書込み動作において符号ビットを受信するのに4個のポートを使用し、読み出し動作において、符号ビットを供給するのに4個のポートを使用する。この設計では、各ポートは、8ビットを並列に受信または供給することができる。したがって、この特定の設計では、書込み動作において、32個までの符号ビットをインターリーバに書込むことができ、読み出し動作において、32個までの符号ビットをインターリーバから読み出すことができる。
図7bは、パンクチャリングを行なわないときの、外畳込み符号器とインターリーバとの間のインターフェイスの実施形態の図である。この実施形態では、外畳込み符号器によって生成された符号ビットは、4つのレジスタ732Aないし732Dへ供給される。レジスタ732Aおよび732Bは、第1のクロックサイクルにおいて生成される16符号ビットを受信し、レジスタ732Cおよび732Dは、第2の(代わりの)クロックサイクルにおいて生成される16符号ビットを受信する。パンクチャリングが行なわれないときは、1書込み動作において、レジスタ732Aおよび732D上の全部で32個の符号ビットが、ポートDないしDへ供給される。
図7cは、パンクチャリングを行なうときの、外畳込み符号器とインターリバとの間のインターフェイスの実施形態の図である。表1を再び参照すると、外符号の符号ビットが、パケットフォーマット2のパンクチャリングパターン(1011)でパンクチャされる。したがって、1クロックサイクルにおいて、16符号ビットが生成され、4符号ビットがパンクチャされ、12符号ビットが記憶される。最初に、第1のクロックサイクルにおいて生成された16符号ビットが、レジスタ732Aおよび732Bに記憶され、第2のクロックサイクルにおいて生成された16符号ビットが、レジスタ732Cおよび732Dに記憶される。パンクチャリングの後で、図7cに示されているように、24符号ビットが残り、3個の書込みポート(例えば、DないしD)へ供給される。
アドレス生成器は、パンクチャされていない符号ビットを、メモリ内の順次の行へ書き込むための適切なアドレスを供給する。符号ビットを書込むのに使用される各活動状態のポートに対して、1つのアドレスを生成する。したがって、アドレス生成器は、パンクチャリングが行なわれないときは、ポートDないしDに対して、4つのアドレスを生成し、パンクチャリングが行なわれるときは、ポートDないしDに対して、3つのアドレスを生成する。
4符号ビットを内畳込み符号器へ並列に供給するために、4行の符号ビットをメモリから検索し、4個の8×1マルチプレクサへ供給する。各マルチプレクサは、各3ビットの制御信号ADも受信し、検索された行内の特定のビットを選択して、内畳込み符号器へ供給する。したがって、各検索されたビットのアドレスを、2つの部分へ分割すると、第1の部分はメモリ内の特定の行を識別し、第2の部分は行内の特定の位置を識別している。アドレスの第1の部分は、メモリの適切なアドレス入力へ供給され、第2の部分は、制御信号ADとして供給される。アドレスの第1および第2の部分は、実行されるシステムまたは標準規格によって定められる特定のインターリービング方式にしたがって生成される。
例示的な実施形態のインターリーバは、他のメモリを使用して実行することもできる。例えば、1つの単一ポートのメモリ装置または多数のメモリ装置を使用して、多数のビットを並列に同時に記憶して、供給することができる。単一ポートのメモリ装置では、多数の書込み動作を使用して、生成された符号ビットを記憶し、多数の読み出し動作を使用して、要求される符号ビットを検索することもできる。多数のメモリ装置を用いる設計では、各メモリ装置は、マルチポートメモリの1ポート(または1対のポート)と同様に動作することができる。したがって、本発明の技術的範囲内で、数多くの設計を使用して、インターリーバを実行することができる。
上述の実施形態では、インターリーバは、外畳込み符号器と内畳込み符号器との間で使用される。この構成を使用して、ターボ符号器を実行し、ある特定の効果を得ることができる。別の符号器設計では、インターリービングは外畳込み符号器の後に不要であり、メモリは、外畳込み符号器の後に不要とされるか、または単に緩衝器として使用される。
例示的な実施形態の連接符号器は、種々のやり方で動作することができる。1つの特定の設計では、符号器は、1回に、1データパケットを符号化するように動作する。図2を再び参照すると、特定のデータパケットを、外畳込み符号器によって符号化し、インターリーバに記憶することができる。パケット全体を外畳込み符号器によって符号化した後で、符号ビットをインターリーバから検索して、内畳込み符号器によって符号化する。パケット全体が内畳込み符号器によって符号化されると、次のパケットが外畳込み符号器によって符号化される。この設計は、インターリーバのメモリ要件を緩和し、いくつかの応用において望ましい。
別の特定の設計では、インターリーバは、符号ビットの2つ以上のパケットを記憶する容量で実行される。例えば、インターリーバを実行するのに使用されるメモリは、2つのバンクに分割され、各メモリバンクは、符号ビットのパケット全体を記憶できる大きさをもつ。2つのメモリバンクにより、外および内の畳込み符号器は、2つのパケットを同時に処理することができる。外畳込み符号器は、第1のパケットを符号化して、このパケットの符号ビットを一方のメモリバンクへ記憶する。第1のパケットの全体がメモリに記憶された後で、外畳込み符号器は第2のパケットを符号化して、このパケットの符号ビットを第2のメモリバンクへ記憶する。外畳込み符号器が、現在のパケットの符号ビットを符号化して、一方のメモリバンクへ記憶する一方で、内畳込み符号器は、他方のメモリバンクから前のパケットの符号ビットを検索して、符号化することができる。この設計は、処理遅延を低減することができる。
図8は、幾つかの実施形態を実行するのに使用できる符号器800の特定の設計のブロック図である。符号器800を使用して、図1の符号器114を実行してもよい。符号器800は、処理装置810を含み、処理装置810は、アドレス生成器820およびメモリ830に接続される。処理装置810は、緩衝器802からのデータと、制御源(図示されていない)からの制御情報とを受信し、制御情報にしたがって受信データを符号化し、符号化されたデータを緩衝器850へ供給する。
図8に示されている実施形態では、処理装置810は、入力インターフェイス812、マルチビット符号器814、出力インターフェイス816、および制御装置818を含む。入力インターフェイス812は、緩衝器802のアドレスおよび制御信号を生成し、生成されたアドレスおよび制御信号に応答して、緩衝器802によって供給されたデータを受信し、受信したデータをマルチビット符号器814へルート設定する。マルチビット符号器814は、外および内の畳込み符号器を実行し、1つ以上のルックアップテーブルか、または図4において既に記載した符号器のような、1つ以上の符号器で実行される。外畳込み符号器として動作するときは、マルチビット符号器814は、入力インターフェイス812からのデータを符号化し、生成された符号ビットをメモリ830へ供給する。マルチビット符号器814は、内畳込み符号器として実行されるときは、メモリ830からの符号ビットを符号化し、生成された符号ビットを出力インターフェイス816へ供給する。その後で、出力インターフェイス816は符号化されたデータを緩衝器850へ供給する。
制御装置818は、例えば、符号化する特定のデータパケット、緩衝器802内のパケットの位置、パケットフォーマット、使用する符号化方式、緩衝器850内に符号化されたパケットを記憶するための位置、等のような、種々の制御情報を受信する。その後で、制御装置818は、緩衝器802から適切なデータビットを検索するように入力インターフェイス812に命令し、適切な符号化方式を使用するように符号器状態機械814に命令し、さらに加えて、符号化されたデータを、緩衝器850内の適切な位置に供給するように出力インターフェイス816に命令する。
アドレス生成器820は、符号ビットをメモリ830へ書込み、かつ符号ビットをメモリから読み出すための適切なアドレスを生成する。アドレス生成器820は、論理、ルックアップテーブル、または他の設計で実行することができる。
メモリ830は、マルチビット符号器814によって生成された符号ビットを記憶し、さらに加えて、記憶された符号ビットを、マルチビット符号器814へ供給する。アドレスを適切に生成することによって、メモリ830は、符号ビットのインターリービングを行なうように動作することができる。メモリ830は、上述のようなマルチポートメモリか、または1つ以上のメモリ装置で実行することができる。
図9は、多数のデータビットを並列に連接符号化するための方法の実施形態のフローチャートである。最初に、ステップ912において、特定のデータパケットから多数(M)のデータビットを受信し、ステップ914において、第1の(例えば、畳込み)符号化方式にしたがって並列に符号化し、多数(MR)の符号ビットを生成する。ステップ916において、生成された符号ビットのゼロ個以上を、第1のパンクチャリング方式でパンクチャして、異なる符号レートで符号ビットを供給する。ステップ918では、パンクチャされていない符号ビットをメモリに記憶する。
図9に示されている実施形態では、第1の符号化方式によって全パケットを符号化し、第2の符号化方式による次の符号化まで記憶する。これは、上述のような、符号ビットのインターリービングを可能にする。したがって、ステップ920において、全パケットが符号化されたかどうかを判断する。答えがノーであるときは、処理はステップ912へ戻り、別のM(または、M未満)データビットを受信する。
全パケットが符号化されたときは、ステップ922において、多数(N)の符号ビットをメモリから検索し、ステップ924において、第2の(例えば、畳込み)符号化方式にしたがって、並列に符号化し、多数(NR)の符号ビットを生成する。ここでも、第2の符号化方式によって生成される符号ビット数は、方式の特定の符号レートに依存する。加えて、ここでも、ステップ926において、生成された符号ビットのゼロ個以上を、第2のパンクチャリング方式でパンクチャし、別の符号レートで符号ビットを供給する。ステップ928において、パンクチャされていない符号ビットを、符号化されたデータとして次の処理装置(例えば、図1の変調器116)へ供給する。
効率化および遅延の低減のために、Wワードを(例えば、W個の書込みポートを介して)メモリへ並列に記憶し、Rワードを(例えば、R個の読み出しポートを介して)メモリから並列に検索する。Wワードは、第1の符号化方式からパンクチャされていない符号ビットを並列に記憶することができ、Rワードは、N符号ビットを第2の符号化方式へ並列に供給することができる。メモリは上述のやり方で動作し、符号ビットのインターリービングを実現する。例えば、Wワードは、メモリ内の順次の行へ書き込まれ、Rワードは、メモリ内の置換された行から読み出される。
例示的な実施形態の符号器およびインターリーバを使用して、符号化時間を相当に短くすることができる。外畳込み符号器を使用して、Mデータビットを並列に符号化し、内畳込み符号器を使用して、N符号ビットを並列に符号化することによって、符号化遅延全体を相当に低減することができる。本発明のインターリーバは、書込み動作において多数の符号ビットを受信し、読み出し動作において多数の符号ビットを供給する能力を使用して、並列符号化を支援する。表7には、HDRシステムにおいて、M=8およびN=4を用いて、パケットフォーマット1および2の、特定の設計における処理遅延の向上が示されている。
Figure 0004159990
表7に示されている特定の設計では、符号化遅延全体が、パケットフォーマット1では4.8分の1、パケットフォーマット2では5.0分の1に低減している。とくに、内畳込み符号器において、並列に符号化するビット数(すなわち、N)を増加することによって、処理遅延をさらに向上できることが確認できる。
本発明の符号器およびインターリーバによって与えられる処理遅延がより短くなると、多数の長所が得られる。これらの長所の幾つかについては、簡潔に別途記載する。
第1に、より短い処理遅延を使用して、遅延要件がより厳密な音声および画像のような一定のタイプのサービスを支援することができる。したがって、遅延に敏感な応用のための、より効率的な符号化方式に、より短い処理遅延を使用することができる。
第2に、より短い処理遅延は、システムの性能を向上することができる。例えば、特定のユーザまたはデータレートが、特定の時間に判断される通信リンクの状態に基づいて選択されるとき、処理遅延がより短くなると、リンク状態がデータ伝送の時間によって変化しない可能性が高まる。リンク状態は、一般に、時間にしたがって変化し、処理遅延がより長くなると、リンク状態が、データ伝送時間によって変化する可能性が高まり、性能が劣化することになる。
第3に、処理遅延がより短くなると、いくつかの通信システムの容量を向上することができる。例えば、HDRシステムにおいて、電力制御データは、トラヒックデータと多重化され、ユーザ端末へ伝送される。処理遅延がより短くなると、ユーザ端末の伝送電力をより正確に制御でき、したがって、システム容量を増加し、かつ性能を向上することができる。
第4に、処理遅延がより短くなると、1処理時間スロット(すなわち、HDRシステムにおける順方向リンクスロット)において多数の伝送エンティティによってハードウエア資源(すなわち、符号器)を順次に共用し、ハードウエア設計の領域全体を低減することができる。
本発明の符号器のある特定の態様および実施形態は、HDRシステムの順方向リンクについてとくに記載されていることを、明らかにしておく。しかしながら、本発明は、同じ、類似の、または異なる符号化方式を用いる他の通信システムにおいて使用することもできる。例えば、本発明の符号器を使用して、多数のデータビットを並列に受信して、符号化できる畳込み符号器を実行することができる。本発明の符号器を使用して、ターボ符号器のような、多数のデータビットを並列に受信および符号化できる連接符号器を実行することもできる。符号器の特定の設計は、例えば、実行される特定の多項式生成行列、並列に符号化するためのビット数、パケットフォーマット、符号テールビットの使用、などのような種々の要因に依存する。
本発明の符号器は、通信システムの基地局またはユーザ端末(例えば、移動装置、電話、等)に効果的に使用することができる。順方向リンク(すなわち、ダウンリンク)の符号化と、逆方向リンク(すなわち、アップリンク)の符号化とは異なり、一般に、実行される特定のCDMAシステムまたは標準規格に依存する。したがって、本発明の符号器は、一般に、これが使用される個々の応用に対して特別に設計される。
表2および3に示されている特定の設計を参照すると、外畳込み符号器の次の状態および出力は、7つまでの項をもつ関数を用いて生成することができる。表4ないし6に示されている特定の設計を参照すると、内畳込み符号器の次の状態および出力は、5つまでの項をもつ関数を用いて生成することができる。これらの関数は、この技術において知られているやり方で論理ゲートを使用して容易に生成することができる。外および内の畳込み符号器の他の素子(例えば、レジスタ、マルチプレクサ)も、この技術において知られているやり方で実行することができる。
本発明の符号器の上述の素子の一部または全て(例えば、マルチビット符号器、入力および出力インターフェイス、制御装置、符号器状態機械、出力生成器、マルチプレクサ、等)は、1つ以上の特定用途向け集積回路(application specific integrated circuit, ASIC)、ディジタル信号プロセッサ(digital signal processor, DSP)、プログラマブル論理装置(programmable logic device, PLD)、複合PLD(Complex PLD, CPLD)、制御装置、マイクロ制御装置、マイクロプロセッサ、ここに記載されている機能を実行するように設計された他の電子装置、またはその組み合わせの中で実行することができる。本発明の符号器の素子の一部または全ては、プロセッサ上で実行されるソフトウエアまたはファームウエアを使用して実行することもできる。
本発明のインターリーバを実行するのに使用されるような、メモリまたはメモリ装置は、例えば、ランダムアクセスメモリ(random access memory, RAM)、ダイナミックRAM(dynamic RAM, DRAM)フラッシュメモリ、等のような種々のメモリ技術を使用して実行される。メモリ装置は、例えば、ハードディスク、CD−ROMドライブ、等のような記憶素子を使用して実行することができる。メモリ装置の種々の他の実行が可能であり、本発明の技術的範囲内である。
好ましい実施形態についてのこれまでの記載は、当業者が、本発明を作成または使用できるようにするために与えられている。これらの実施形態に対する種々の変更は、当業者には容易に明らかであり、ここで定義されている一般的な原理は、発明の能力を使用せずに、他の実施形態へ応用される。したがって、本発明は、ここに示されている実施形態に制限されることを意図されておらず、ここに開示されている原理および新規な特徴と両立する最も幅広い範囲にしたがうことを意図されている。
通信システムのブロック図。 本発明のいくつかの実施形態を実行するように設計される符号器のブロック図。 1つの実施形態にしたがう多項式生成行列の特定の組を実行する連接符号器の図。 1つの実施形態にしたがって多数のデータビットを並列に符号化するための連接符号器のブロック図。 種々の実施形態にしたがって、特定の多項式生成行列を実行し、8データビットを並列に符号化するための畳込み符号器の模式図。 種々の実施形態にしたがって、特定の多項式生成行列を実行し、8データビットを並列に符号化するための畳込み符号器の模式図。 別の特定の多項式生成行列を実行し、4符号ビットを並列に符号化することができる畳込み符号器の1つの実施形態の模式図。 インターリーバの図。 種々の実施形態にしたがう、外畳込み符号器とインターリーバとの間においてパンクチャリングを行なわないインターフェイスのブロック図。 種々の実施形態にしたがう、外畳込み符号器とインターリーバとの間においてパンクチャリングを行なうインターフェイスのブロック図。 1つの実施形態にしたがう符号器のブロック図。 1つの実施形態にしたがって多数のデータビットの連接符号化を並列に実行するための方法のフローチャート。
符号の説明
100・・・通信システム、110・・・送信機装置、130・・・受信機装置、200,300,800・・・符号器、310・・・外畳込み符号器、312,316,318,342,346・・・加算器、314,344,514,614,732・・・レジスタ、340・・・内畳込み符号器、400,500,600・・・畳込み符号器、510,610・・・符号器状態機械、512,522,532,612,622・・・ANDゲート、520・・・データ位相出力生成器、530・・・符号テール位相出力生成器、440,540,542,640,642,644,730・・・マルチプレクサ、700・・・インターリーバ。

Claims (23)

  1. 多数のデータビットを並列に符号化するための畳込み符号器であって、
    複数のMデータビットを並列に受信するように動作する状態機械であって、状態機械の次の状態を示す値の組を与えるように構成された複数の並列レジスタをもち、次の状態が、Mデータビットと、状態機械の現在の状態を示すレジスタからの値の組との関数である状態機械と、
    状態機械に接続されていて、かつMデータビットと、レジスタからの現在の状態の値の組とを受信し、それに応答して、複数のMR符号ビットを生成するように動作する出力生成器とを含み、出力生成器が、
    Mデータビットと、現在の状態の値の組とを受信して、それに応答して、第1の複数のMR符号ビットを生成するように動作する第1の出力生成器と、
    Mデータビットと、現在の状態の値の組とを受信して、それに応答して、第2の複数のMR符号ビットを生成するように動作する第2の出力生成器とを含み、
    第1の符号化段階において、第1の複数のMR符号ビットが選択され、第2の符号化段階において、第2の複数のMR符号ビットが選択され、状態機械が、第2の符号化段階の間は、既知の状態に設定される畳込み符号器。
  2. 既知の状態が、ゼロの値の組によって定められる請求項記載の畳込み符号器。
  3. 状態機械が、特定の多項式生成行列を実行するように構成されている請求項1記載の畳込み符号器。
  4. 状態機械が、論理素子の組を含み、各論理素子が、Mデータビットをもつ選択されたものと、現在の状態の値の組をもつ選択されたものとに接続され、各論理素子が、レジスタの1つに接続された出力をもつ請求項1記載の畳込み符号器。
  5. 状態機械および出力生成器が、8以上のデータビットを並列に受信し、符号化するように設計されている請求項1記載の畳込み符号器。
  6. 複数の並列データビットを受信するように構成された第1の符号器であって、データビットの関数として、第1の組の符号ビットを生成するのに使用される複数の並列レジスタをもつ第1の符号器と、
    第1の組の符号ビットからのパンクチャされていない符号ビットの関数として、第2の組の符号ビットを生成するのに使用される複数の並列レジスタをもつ第2の符号器とを含む連結畳込み符号器。
  7. 第1および第2の符号器の各々が、多項式生成行列を実行するように構成されている請求項記載の連結畳込み符号器。
  8. 第1の符号器が、並列データビットに対して動作して、その結果を、第1の符号器のレジスタに適用するように構成された入力論理をさらに含み、第2の符号器が、第1の組の符号ビットからのパンクチャされていない符号ビットに対して動作して、その結果を、第2の符号器のレジスタに適用するように構成された入力論理をさらに含む請求項記載の連結畳込み符号器。
  9. 第1の符号器が、第1の符号器のレジスタの出力から第1の組の符号ビットを生成するように配置された出力論理をさらに含み、第2の符号器が、第2の符号器のレジスタの出力から第2の組の符号ビットを生成するように配置された出力論理をさらに含む請求項記載の連結畳込み符号器。
  10. 第1の符号器と第2の符号器との間に接続されたインターリーバをさらに含む請求項記載の連結畳込み符号器。
  11. インターリーバがメモリを含み、メモリが、第1の組の符号ビットからのパンクチャされていない符号ビットを、メモリ内の連続する行へ記憶して、パンクチャされていない符号ビットを、メモリ内の転置された行から第2の符号器へ適用するように構成されている請求項10記載の連結畳込み符号器。
  12. インターリーバが、メモリと第2の符号器との間に接続された複数のマルチプレクサをさらに含み、マルチプレクサが、メモリ内の転置された行を選択するように構成されていて、パンクチャされていない符号ビットが、メモリから第2の符号器へ適用される請求項11記載の連結畳込み符号器。
  13. 複数の並列入力を受信するように構成された畳込み符号器であって、入力の関数として、符号ビットの組を生成するのに使用される複数の並列レジスタをもつ畳込み符号器と、
    外畳込み符号化動作中に、複数のデータビットを畳込み符号器の並列入力へ与えるように構成された入力インターフェイスと、
    外畳込み符号化動作中に、畳込み符号器から第1の組のパンクチャされていない符号ビットを記憶し、内畳込み符号化動作中に、第1の組のパンクチャされていない符号ビットを畳込み符号器の並列入力へ与えるように構成されたメモリと、
    内畳込み符号化動作中に、畳込み符号器から第2の組のパンクチャされていない符号ビットを受信し、第2の組のパンクチャされていない符号ビットを、符号化されたデータとして出力するように構成された出力インターフェイスとを含むデータ符号器。
  14. メモリの書込みおよび読み出し動作のためのアドレスを生成するように構成されたアドレス生成器をさらに含む請求項13記載のデータ符号器。
  15. 連結畳込み符号化の方法であって、
    複数の並列データビットを受信することと、
    複数の並列レジスタを使用して、データビットの関数として第1の組の符号ビットを生成することと、
    複数の並列レジスタを使用して、第1の組の符号ビットからのパンクチャされていない符号ビットから、第2の組の符号ビットを生成することとを含む方法。
  16. 第1および第2の組の符号ビットの生成が、同じ並列レジスタを共用する時間も含む請求項15記載の方法。
  17. 第1の組の符号ビットを生成するのに使用される並列レジスタが、第2の組の符号ビットを生成するのに使用される並列レジスタとは異なる請求項15記載の方法。
  18. 各第1および第2の組の符号ビットの生成が、多項式生成行列を実行することを含む請求項15記載の方法。
  19. 第1の組の符号ビットの生成が、入力論理を用いて、データビットに対して動作することと、その結果を、このような第1の組の符号ビットを生成するのに使用されるレジスタに適用することとをさらに含み、第2の組の符号ビットの生成が、入力論理を用いて、第1の組の符号ビットからのパンクチャされていない符号ビットに対して動作することと、その結果を、このような第2の組の符号ビットを生成するのに使用されるレジスタに適用することとを含む請求項15記載の方法。
  20. 第1の組の符号ビットの生成が、出力論理を用いて、このような第1の組の符号ビットを生成するのに使用されるレジスタの出力に対して動作することと、第2の組の符号ビットの生成が、出力論理を用いて、このような第2の組の符号ビットを生成するのに使用されるレジスタの出力に対して動作することとをさらに含む請求項15記載の方法。
  21. 第1の組の符号ビットからパンクチャされていない符号ビットをインターリーブし、第2の組の符号ビットが、インターリーブされたパンクチャされていない符号ビットから生成されることをさらに含む請求項15記載の方法。
  22. 第1の組の符号ビットからパンクチャされていない符号ビットをインターリーブすることが、第1の組の符号ビットからのパンクチャされていない符号ビットを、メモリ内の連続する行に記憶することと、メモリ内に記憶されたパンクチャされていない符号ビットを、転置された行から読み出すこととを含む請求項21記載の方法。
  23. メモリ内に記憶されたパンクチャされていない符号ビットを、転置された行から読み出すことが、メモリ内の行間で選択的に多重化することを含む請求項22記載の方法。
JP2003529632A 2001-09-20 2002-09-06 データビットを並列に符号化するための方法および装置 Expired - Fee Related JP4159990B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/957,820 US6701482B2 (en) 2001-09-20 2001-09-20 Method and apparatus for coding bits of data in parallel
PCT/US2002/028462 WO2003026137A2 (en) 2001-09-20 2002-09-06 Method and apparatus for encoding data in parallel

Publications (3)

Publication Number Publication Date
JP2005527999A JP2005527999A (ja) 2005-09-15
JP2005527999A5 JP2005527999A5 (ja) 2006-01-05
JP4159990B2 true JP4159990B2 (ja) 2008-10-01

Family

ID=25500189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003529632A Expired - Fee Related JP4159990B2 (ja) 2001-09-20 2002-09-06 データビットを並列に符号化するための方法および装置

Country Status (11)

Country Link
US (2) US6701482B2 (ja)
EP (2) EP2211473A1 (ja)
JP (1) JP4159990B2 (ja)
KR (2) KR100925095B1 (ja)
CN (1) CN1589533B (ja)
AT (1) ATE467274T1 (ja)
AU (1) AU2002331827A1 (ja)
BR (1) BR0212658A (ja)
DE (1) DE60236301D1 (ja)
TW (1) TWI223529B (ja)
WO (1) WO2003026137A2 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058086B2 (en) * 1999-05-26 2006-06-06 Xm Satellite Radio Inc. Method and apparatus for concatenated convolutional encoding and interleaving
US9100457B2 (en) 2001-03-28 2015-08-04 Qualcomm Incorporated Method and apparatus for transmission framing in a wireless communication system
US8077679B2 (en) 2001-03-28 2011-12-13 Qualcomm Incorporated Method and apparatus for providing protocol options in a wireless communication system
US8121296B2 (en) 2001-03-28 2012-02-21 Qualcomm Incorporated Method and apparatus for security in a data processing system
US7352868B2 (en) 2001-10-09 2008-04-01 Philip Hawkes Method and apparatus for security in a data processing system
US7649829B2 (en) 2001-10-12 2010-01-19 Qualcomm Incorporated Method and system for reduction of decoding complexity in a communication system
US6954885B2 (en) * 2001-12-14 2005-10-11 Qualcomm Incorporated Method and apparatus for coding bits of data in parallel
US20040103359A1 (en) * 2002-11-27 2004-05-27 Molina Robert Jose Dynamic real time generation of 3GPP turbo decoder interleaver sequence
US7599655B2 (en) 2003-01-02 2009-10-06 Qualcomm Incorporated Method and apparatus for broadcast services in a communication system
US7693928B2 (en) * 2003-04-08 2010-04-06 Analog Devices, Inc. Galois field linear transformer trellis system
US8098818B2 (en) 2003-07-07 2012-01-17 Qualcomm Incorporated Secure registration for a multicast-broadcast-multimedia system (MBMS)
US8718279B2 (en) 2003-07-08 2014-05-06 Qualcomm Incorporated Apparatus and method for a secure broadcast system
US8724803B2 (en) 2003-09-02 2014-05-13 Qualcomm Incorporated Method and apparatus for providing authenticated challenges for broadcast-multicast communications in a communication system
US7746800B2 (en) * 2003-11-21 2010-06-29 Nokia Corporation Flexible rate split method for MIMO transmission
US7853859B2 (en) * 2004-01-23 2010-12-14 Broadcom Corporation Convolutional coding method for multi-band communications
KR20070034532A (ko) * 2004-05-28 2007-03-28 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 확장형 컨벌루션 인코더 디바이스, 무선 시스템, 컨벌루션코드 확장 방법
FR2879337A1 (fr) * 2004-12-15 2006-06-16 St Microelectronics Sa Circuit memoire, tel que dram, comportant un mecanisme correcteur d'erreur
US20100192046A1 (en) * 2005-01-14 2010-07-29 Nxp B.V. Channel encoding
US7430701B2 (en) * 2005-06-16 2008-09-30 Mediatek Incorporation Methods and systems for generating error correction codes
US8050622B2 (en) * 2006-02-10 2011-11-01 Cisco Technology, Inc. Method and system for detecting messages using enhanced distributed signaling
EP1854035A1 (en) 2006-02-28 2007-11-14 Mentor Graphics Corporation Memory-based trigger generation scheme in an emulation environment
US20080063105A1 (en) * 2006-09-13 2008-03-13 Via Telecom, Inc. System and method for implementing preamble channel in wireless communication system
US7853858B2 (en) * 2006-12-28 2010-12-14 Intel Corporation Efficient CTC encoders and methods
KR100868649B1 (ko) 2007-05-17 2008-11-12 주식회사 동부하이텍 반도체 소자 및 그의 제조방법
KR101480383B1 (ko) * 2007-07-25 2015-01-09 삼성전자주식회사 코드 인코딩 장치
US8156413B2 (en) * 2007-11-28 2012-04-10 Qualcomm Incorporated Convolutional encoding with partitioned parallel encoding operations
JP4935778B2 (ja) * 2008-08-27 2012-05-23 富士通株式会社 符号化装置、送信装置および符号化方法
CN101615997B (zh) * 2009-07-20 2011-06-29 北京派瑞根科技开发有限公司 扩展网络通讯能力的设备
CN101615975B (zh) * 2009-07-20 2012-07-25 北京派瑞根科技开发有限公司 扩展网络通讯能力的方法
KR101221670B1 (ko) * 2009-11-24 2013-01-14 한국전자통신연구원 병렬 구조를 갖는 트랜스 포트 채널 인코더
JP5052639B2 (ja) * 2010-03-31 2012-10-17 株式会社東芝 送信装置および受信装置
US9294321B2 (en) * 2010-05-14 2016-03-22 The Boeing Company Bit signal structure for differentially encoded broadcasts
JP5708210B2 (ja) * 2010-06-17 2015-04-30 富士通株式会社 プロセッサ
KR101286019B1 (ko) * 2012-01-20 2013-07-19 주식회사 이노와이어리스 터보 인코더 장치
EP2693673A1 (en) * 2012-08-01 2014-02-05 Alcatel Lucent Bit-interleaver for an optical line terminal
WO2014045906A1 (ja) * 2012-09-21 2014-03-27 日本電信電話株式会社 並列データ符号復号化システム
US9577854B1 (en) * 2015-08-20 2017-02-21 Micron Technology, Inc. Apparatuses and methods for asymmetric bi-directional signaling incorporating multi-level encoding
JP6541916B2 (ja) * 2017-03-09 2019-07-10 三菱電機株式会社 誤り訂正装置および誤り訂正方法
CN107682121B (zh) * 2017-10-16 2021-04-27 中国科学院微电子研究所 一种编码方法及装置
US10727937B1 (en) * 2019-03-01 2020-07-28 Huawei Technologies Co., Ltd. Multi-layer encoding of optical signals

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4493557A (en) * 1982-11-01 1985-01-15 Corning Glass Works Mixing apparatus
US4534040A (en) * 1983-01-04 1985-08-06 At&T Information Systems Method and apparatus for coding a binary signal
US4696045A (en) * 1985-06-04 1987-09-22 Acr Electronics Ear microphone
US4901307A (en) 1986-10-17 1990-02-13 Qualcomm, Inc. Spread spectrum multiple access communication system using satellite or terrestrial repeaters
US4908827A (en) * 1987-07-27 1990-03-13 Tiw Systems, Inc. Forward error correction system
FR2634035B1 (fr) * 1988-07-07 1994-06-10 Schlumberger Ind Sa Dispositif pour le codage et la mise en forme de donnees pour enregistreurs a tetes tournantes
US5103459B1 (en) 1990-06-25 1999-07-06 Qualcomm Inc System and method for generating signal waveforms in a cdma cellular telephone system
FR2675968B1 (fr) * 1991-04-23 1994-02-04 France Telecom Procede de decodage d'un code convolutif a maximum de vraisemblance et ponderation des decisions, et decodeur correspondant.
FR2675971B1 (fr) * 1991-04-23 1993-08-06 France Telecom Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants.
ES2182843T3 (es) * 1993-04-20 2003-03-16 Merck & Co Inc Subunidades de receptor humano de n-metil-d-aspartato, acidos nucleicos que codifican las mismas y su uso.
US5682154A (en) * 1995-05-12 1997-10-28 Optex Corporation M=4 (1,2) runlength limited code for multi-level data
US6023783A (en) * 1996-05-15 2000-02-08 California Institute Of Technology Hybrid concatenated codes and iterative decoding
US6549242B1 (en) * 1997-04-04 2003-04-15 Harris Corporation Combining adjacent TV channels for transmission by a common antenna
KR100243468B1 (ko) * 1997-06-26 2000-02-01 전주범 듀얼 포트 메모리를 이용한 길쌈 인터리버 /디인터리버
US6185244B1 (en) * 1997-08-29 2001-02-06 Telefonaktiebolaget Lm Ericsson Cell searching in a CDMA communications system
US6574211B2 (en) * 1997-11-03 2003-06-03 Qualcomm Incorporated Method and apparatus for high rate packet data transmission
EP0962094B1 (en) * 1997-12-22 2003-09-17 Koninklijke Philips Electronics N.V. Embedding supplemental data in an encoded signal
US6199190B1 (en) * 1998-02-11 2001-03-06 Conexant Systems, Inc. Convolution decoding terminated by an error detection block code with distributed parity bits
TW421925B (en) * 1998-04-24 2001-02-11 Koninkl Philips Electronics Nv Video rate D/A converter with sigma/delta modulator
EP1160989A4 (en) * 1999-03-01 2005-10-19 Fujitsu Ltd TURBO DECODING DEVICE
KR100526512B1 (ko) * 1999-05-20 2005-11-08 삼성전자주식회사 이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법
JP4045521B2 (ja) * 1999-08-02 2008-02-13 ソニー株式会社 符号化装置および方法
EP1085660A1 (en) * 1999-09-15 2001-03-21 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Parallel turbo coder implementation
US6392572B1 (en) * 2001-05-11 2002-05-21 Qualcomm Incorporated Buffer architecture for a turbo decoder

Also Published As

Publication number Publication date
DE60236301D1 (de) 2010-06-17
JP2005527999A (ja) 2005-09-15
KR20080094969A (ko) 2008-10-27
KR20040037092A (ko) 2004-05-04
WO2003026137A3 (en) 2003-07-17
KR100925095B1 (ko) 2009-11-05
CN1589533A (zh) 2005-03-02
ATE467274T1 (de) 2010-05-15
US20030101401A1 (en) 2003-05-29
BR0212658A (pt) 2007-03-06
EP1430608A2 (en) 2004-06-23
CN1589533B (zh) 2010-05-05
AU2002331827A1 (en) 2003-04-01
EP2211473A1 (en) 2010-07-28
TWI223529B (en) 2004-11-01
US20040139383A1 (en) 2004-07-15
EP1430608B1 (en) 2010-05-05
KR100898467B1 (ko) 2009-05-21
US6701482B2 (en) 2004-03-02
WO2003026137A2 (en) 2003-03-27

Similar Documents

Publication Publication Date Title
JP4159990B2 (ja) データビットを並列に符号化するための方法および装置
US6954885B2 (en) Method and apparatus for coding bits of data in parallel
EP2323265B1 (en) Efficient multi-symbol deinterleaver
KR100963718B1 (ko) 터보 디코더용 버퍼 아키텍처
JP4955150B2 (ja) 高並列map復号器
JP5133760B2 (ja) ランダムアクセスマルチ方向cdma2000のターボコードインターリーバ
EP1139572A1 (en) Interleave address generating device and interleave address generating method
JP3345396B2 (ja) インターリーブアドレス生成装置及びインターリーブアドレス生成方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050825

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070619

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070905

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071127

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080716

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110725

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees