CN1276588C - 在通信系统中生成代码的设备和方法 - Google Patents

在通信系统中生成代码的设备和方法 Download PDF

Info

Publication number
CN1276588C
CN1276588C CNB028004841A CN02800484A CN1276588C CN 1276588 C CN1276588 C CN 1276588C CN B028004841 A CNB028004841 A CN B028004841A CN 02800484 A CN02800484 A CN 02800484A CN 1276588 C CN1276588 C CN 1276588C
Authority
CN
China
Prior art keywords
subcode
code
qctc
matrix
filial generation
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
CNB028004841A
Other languages
English (en)
Other versions
CN1457553A (zh
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1457553A publication Critical patent/CN1457553A/zh
Application granted granted Critical
Publication of CN1276588C publication Critical patent/CN1276588C/zh
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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • H04L1/1845Combining techniques, e.g. code combining
    • 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
    • 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
    • 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/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6387Complementary punctured convolutional [CPC] codes
    • 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/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes
    • 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/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • 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/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • H04L1/0069Puncturing patterns
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • H04L1/1819Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • 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/63Joint error correction and other techniques
    • H03M13/6306Error control coding in combination with Automatic Repeat reQuest [ARQ] and diversity transmission, e.g. coding schemes for the multiple transmission of the same information or the transmission of incremental redundancy

Landscapes

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

Abstract

本发明提供了生成二维QCTC(准互补涡式码)的设备和方法。生成具有给定代码率的QCTC的子代码组,和在具有不同代码率的子代码组中重新排列子代码,供紧接在具有预定代码率的子代码之后发送用。

Description

在通信系统中生成代码的设备和方法
                          发明背景
1.发明领域
本发明一般涉及通信系统中的代码生成,尤其涉及在应用重新发送方案的分组通信系统或应用重新发送方案的通用通信系统中,考虑了涡式(turbo)码特性之后生成二维准互补涡式码(QCTC)和自适应QCTC的设备和方法。
2.相关技术描述
一般说来,利用重新发送方案(例如,混合ARQ:自动重复请求)的系统进行软组合,以提高发送吞吐量。软组合技术分为分组分集组合和分组代码组合。这两种组合方案通常被称为软分组组合。尽管分组分集组合方案相对于分组代码组合方案,在性能方面略为逊色,但是,当性能损失较小时,因易于实现而见长。
如上所述,分组发送系统利用分组代码组合方案来提高发送吞吐量。发送器在每次分组发送时,发送代码率不同的代码。如果从接收分组中检测到差错,接收器就请求重新发送,并且在原始分组与重新发送分组之间进行软组合。重新发送的分组可以含有与以前分组不同的代码。分组代码组合方案是在解码之前,将N个接收分组与代码率R组合成有效代码率为R/N的代码,从而获得编码增益的过程。
至于分组分集组合方案,发送器在每次分组发送时,发送代码率R的相同代码。如果从接收分组中检测到差错,接收器就请求重新发送,并且在原始分组与重新发送分组之间进行软组合。重新发送的分组含有与以前分组相同的代码。在这个意义上,分组分集组合方案可以被认为是在随机信道上进行码元平均。由于在衰落信道上重复发送相同的代码,分组分集组合方案通过对输入码元的软输出求平均降低了噪声功率,并且取得像多路径信道提供的分集增益那样的分集增益。但是,分组分集组合方案不能提供像从分组代码组合方案提供的代码结构中获得的编码增益那样的附加编码增益。
由于实现起来简单,大多数分组通信系统都使用了分组分集组合方案,它目前被开发成与同步IS-2000系统和异步UMTS(通用移动电信系统)系统。其理由是,当使用具有代码数据率的传统代码时,使用传统代码和甚至分组代码组合的现有分组通信系统不提供很大的增益。如果R=1/3的系统支持重新发送,那么,分组代码组合方案与分组分集组合方案之间在性能方面没有大的差异。因此,在考虑了实现复杂性之后,选择分组分集组合方案。但是,由于涡式码被设计成具有非常接近于“香农信道容量极限(ShannonChannel Capacity Limit)”的性能特性的纠错码,并且与传统代码不同,它们的性能显然随代码率而改变,涡式码用作前向纠错码(FEC)需要不同的分组组合机制。因此,可以断定,分组代码组合适用于在重新发送方案中使用涡式码,以实现最佳性能的目的的分组通信系统。
在这种背景下,已经提出了QCTC,以提高使用软组合系统的性能。欲知QCTC的详情,请参阅由本申请人提交的韩国专利申请第P2000-62151号。
准互补涡式码(QCTC)
下面描述利用基于数据率的传统QCTC选择分组代码组合方案或分组分集组合方案的系统。
在利用,例如,R=1/5涡式码的系统中,在软组合重新发送的分组生成的代码的总代码率达到1/5之前,应用分组代码组合。对于随后重新发送的分组,先进行分组分集组合,然后进行分组代码组合。如果以1/3的数据率发送第一分组,那么,在重新发送请求下提供所需的冗余码元,以便使总代码率为1/5。因此,当接收器接收这两种分组时,总代码率变成1/5。在发送之前重复后面分组的每一个,和接收器以数据率1/5对重新发送的分组进行分组分集组合,然后进行分组代码组合。
图1是显示在涡式码的情况下分组代码组合与分组分集组合之间的性能差的图形。如图1所示,具有1/6的低数据率的涡式码呈现出比码元能量Es相同的、具有1/3的高代码率的涡式码更大的性能增益,并且从分组代码组合中获得3dB的性能增益。因此,通过R=1/6子代码的分组代码组合生成R=1/3涡式码同时产生了代码率低于1/3的涡式码展示的增益和不同代码的代码组合提供的增益。
更明确地说,与传统代码不同,对于相同代码码元能量Es和相同代码率,只有在完全实现叠代解码时,涡式码才提供与基于代码率的“香农信道容量极限”接近的性能。在现有技术中已经知道,具有低代码率的涡式码提供比代码码元能量Es相同的、具有高代码率的涡式码更大的性能增益。例如,当R=1/3降低到R=1/6时,可以通过分析“香农信道容量极限”的变化估计性能差。对于图1所示的曲线与R=1/3或1/6无关地假设相同码元能量Es的理由是在混合ARQ(HARQ)系统中相同码元能量Es用于每一次重新发送。
如果重复R=1/2代码一次和在AWGN(加性高斯白噪声)信道上分组分集组合两个代码,那么,就码元能量-噪声比(Es/No)而言,可以获得3 dB的最大增益。在R=1/6的情况下,出现相同的结果。因此,由于分组分集组合增益,R=1/3涡式码的性能曲线向左平移了+3dB大小,和当给予相同码元能量时,R=1/6涡式码的性能曲线也向左平移了+3dB大小。这里,性能曲线是针对测量出来与基于代码率的代码性能进行比较的能量-噪声比(Es/No)得出的。其结果是,涡式码性能曲线之间的差异等效于分组分集组合与分组代码组合之间的性能差。基于代码率的性能差可以从“香农信道容量极限”中估计出来,和可以利用最小所需信噪比(SNR)获得最小性能差。
在利用具有代码率R和非常大编码块长L的涡式码的系统中,提供无差错信道所需的最小Eb/No表达如下:
Eb/No>(4R-1)/2R                       ......(1)
根据上面方程,在下表1中列出了在涡式码的每个代码率上,在AWGN下的最小所需Es/No。在表1中,典型Eb/No指示当涡式码的编码块长L是1024时,位差错率(BER)在0.00001以下的所需Eb/No。
(表1)
    代码率     所需Eb/No(dB)     BER=10-5的典型Eb/No(dB)
    3/4     0.86     3.310
    2/3     0.57     2.625
    1/2     0.00     1.682
    3/8     -0.414     1.202
    1/3     -0.55     0.975
    1/4     -0.82     0.756
    1/5     -0.975     0.626
    1/6     -1.084     0.525
    0     -1.62     NA
如表1所示,对于3/4、2/3、1/2、3/8、1/3、1/4、1/5、和1/6的代码率,所需Eb/No分别是0.86、0.57、0.0、-0.414、-0.55、-0.82、-0.975、和-1.084。在使用R=1/3代码的系统与使用R=1/6代码的系统之间存在着至少0.53dB性能差。这是基于“香农信道容量极限”的最小性能差。在考虑了真正解码器和系统环境的实现之后,这个差变得更大。通过模拟,在把分组代码组合用于R=2/3代码的系统与把分组分集组合用于R=1/3代码的系统之间观察到大约1.12dB的性能差。
表2显示了在具有2/3的子代码代码率的系统中,在进行一次重新发送之后,分组代码组合与分组分集组合之间的性能差。如表2所示,在使用涡式码的系统中,最小性能差是1.12dB,和分组代码组合方案产生更高的性能增益。
(表2)
    项目    分组组合     代码组合
    母代码率Rm    1/3在图2中的(X,Y0,Y′0)     1/3在图2中的(X,Y0,Y′0)
    块长(L)    496     496
    最大叠代次数    8     8
    发送次数    2     2
    每次发送的实际发送代码率Re    2/3(通过收缩(puncturing))     2/3(通过收缩)
    冗余选择    对于所有发送,相同模式     对于所有发送,不同模式
    软组合    分组分集组合     分组代码组合
    通过重新发送的增益    码元重复增益     低代码率的编码增益
    表1中的最小所需Eb/No    +0.57(dB)     R-2/3+0.57(dB)R-2/6-0.55(dB)
    第2次重新发送时的所需Eb/No    +0.57-3.0(dB)     -0.55-3.0(dB)
    相对性能增益    0     1.12(=0.57+0.55)dB
    模拟的相对增益(@BER=10-5)    0     2.5(dB)
如上所述,在使用涡式码的重新发送系统中,分组代码组合方案展示了卓越的性能。因此,本发明为在使用涡式码的重新发送系统中的最佳分组代码组合提供了子代码生成方法。根据预定规则生成用于分组代码组合的子代码产生了上述代码组合增益,并且使为每次重新发送请求相同长度的子代码的系统的性能达到最大。
图2是使用涡式码的典型子代码生成设备的方块图。如图2所示,子代码生成设备包括涡式编码器、子代码发生器204、和控制器205。
首先,关于涡式编码器,第一分编码器201(分编码器1)编码输入信息位流和输出第一代码码元,即,信息码元X和第一奇偶校验码元Y0和Y1。交织器202根据预定规则交织输入信息位流。第二分编码器203(分编码器2)编码交织信息位流和输出第二代码码元,即,信息码元X′和第二奇偶校验码元Y′0和Y′1。因此,涡式编码器的输出码元是第一和第二代码码元。由于第二分编码器203生成的信息码元X′实际上是不发送的,涡式编码器的代码率是1/5。
子代码发生器204在控制器205的控制下,通过收缩和重复从来自第一和第二分编码器201和203的第一和第二代码码元中生成子代码。控制器205存储从图4、5和6所示的算法中生成的收缩(和重复)矩阵,和把基于收缩矩阵的码元选择信号输出到子代码发生器204。然后,子代码发生器204响应码元选择信号,选择预定收缩范围内的预定个代码码元。
这里使用的标号X、Y0、Y1、Y′0和Y′1定义如下。
X:系统代码码元或信息码元
Y0:来自涡式编码器的上分编码器的冗余码元
Y1:来自涡式编码器的上分编码器的冗余码元
Y′0:来自涡式编码器的下分编码器的冗余码元
Y′1:来自涡式编码器的下分编码器的冗余码元
图4、5和6是显示基于传统技术的子代码(或收缩矩阵)生成过程的流程图。具体地说,图4显示了生成子代码组中的第一子代码C0的过程,图5显示了生成子代码组中的中间子代码C1到Cs-2的过程,和图6显示了生成子代码组中的最后子代码Cs-1的过程。
在下文中,ENCl(被称为第一代码码元)表示从第一分编码器201输出的信息码元X和第一奇偶校验码元Y0和Y1,和ENC2(被称为第二代码码元)表示从第二分编码器203输出的第二奇偶校验码元Y′0和Y′1。
参照图4,在步骤401中设置适用于发送器的最大代码率(Rmax)。这个值主要根据用在系统中的数据率给出的。把最小代码率(Rmin)设置成Rmax(=k/n)的整数分之一。这里,k是输入码元的个数和n是输出码元的个数。尽管可以任意确定Rmin,但是,因为在涡式码中,由于在或低于R=1/7代码率的降低造成编码增益饱和,所以它通常是1/6、1/7或更低。另外,还要确定真正代码率,即接收器中解码器的母代码率(R)。把R设置成大于Rmin。
在真正的系统实现中,Rmax和Rmin是预置的。在某种意义上,Rmax是要生成的子代码的代码率,和Rmin是在代码组合子代码之后的目标代码率。一般说来,Rmin是发送器中编码器的代码率。
在步骤403中,利用,通过如下方程计算子代码的个数(S)。这里子代码的个数或收缩矩阵的个数是超过Rmax与Rmin之比的最小整数。
此处, 代表等于或大于*的最小整数。
在步骤405中把变量m设置成初始值1,和在步骤407中确定C(=m×k)。C是由Rmax确定的、每个收缩矩阵的列数。例如,对于Rmax=3/4,C可以是3、6、9、…,并且被设置成要发送的第一子代码的最小可用值。但是,对于Rmax=3/4,C被设置成3。
在步骤407中,通过将变量m与码长,即从Rmax=k/n中得出的代码码元个数相乘,计算要从收缩矩阵中选择的码元的个数。Ns是每个收缩矩阵中所选码元的个数或所选位置的个数,并且通过C/Rmax计算出来。
在步骤409中,将(Ns-C)与发送器中涡式编码器的分编码器个数相比较。目前的涡式编码器一般配有两个分编码器。因此,假设使用了两个分编码器。由于与使用其它单个代码的传统编码器不同,涡式编码器含有并联的两个分编码器,以及如图2所示介在中间的交织器,因此,在步骤409中确定(Ns-C)是否大于等于2。换句话说,为了保留涡式编码器固有的特性,在所有信息码元都发送了之后,必须发送来自每个分编码器的至少一个奇偶校验码元。
如果(Ns-C)小于2,那么,从第一奇偶校验码元组或第二奇偶校验码元组中只选择一个码元。从涡式码的角度来看,每一种情况都可能面临着问题。在第一种情况中,不含第二奇偶校验码元生成的子代码不是涡式码,而是来自只含有第一分编码器的编码器的具有约束长度K=4的传统代码,并且不提供适用于涡式编码器的交织器增益。另一方面,在第二种情况下,从第一分编码器只发送系统码元,而不发送奇偶校验码元导致代码率为1的子代码。这等效于没有任何编码增益的非编码系统。因此,(Ns-C)必须等于或大于2,以便提供涡式编码器性能。
如果在步骤409中(Ns-C)等于或大于2,那么,在步骤411中从收缩矩阵中选择C系统信息码元,和根据预定类型选择其它码元。对于类型1,在步骤413中,通过方程(3)从第一和第二奇偶校验码元中选择其它码元。所选第一奇偶校验码元的个数等于或大于所选第二奇偶校验码元的个数。例如,如果其它码元的个数,即(Ns-C),是3,那么,通过方程(3)选择第一和第二奇偶校验码元,然后,从第一奇偶校验码元中多选择一个码元。
此处,
Figure C0280048400103
代表等于或小于*的最大整数。
对于类型2,在步骤415中,通过方程(4)从第一和第二奇偶校验码元中选择其它码元。如果假设a和b分别是第一奇偶校验码元和第二奇偶校验码元的码元分配率,那么,从第一奇偶校验码元中选择等于或大于a(Ns-C)与(a+b)之比的最小整数那么多的码元,和从第二奇偶校验码元中选择等于或小于b(Ns-C)与(a+b)之比的最大整数那么多的码元。
Figure C0280048400104
Figure C0280048400105
此处,a+b=1,a和b分别表示ENCl和ENC2的码元分配率。
如果在步骤409中给出的条件得不到满足,也就是说,(Ns-C)小于2,那么,在步骤417中把变量m加1,然后,过程返回到步骤407。步骤409的目的是确定是否可以在当前收缩范围(收缩矩阵的大小)内生成能够保留涡式码性质的子代码。如果不能保留涡式码的性质,那么,在步骤417中扩大收缩范围。
如上所述,初始收缩矩阵被构造成在涡式编码器中选择所有信息码元和从第一和第二奇偶校验码元组的每一个中选择至少一个码元。
现在参照图5描述中间收缩矩阵生成方法。通过重复图5所示的过程,生成收缩矩阵C1至Cs-2
参照图5,根据预定类型执行步骤501或503。对于类型1,在步骤501中,通过方程(5)从第一和第二奇偶校验码元组中选择Ns个码元。Ns是m和从Rmax(=k/n)中得出的n的乘积。所选第一奇偶校验码元的个数等于或大于所选第二奇偶校验码元的个数。这里,从前面的收缩矩阵中选择未选码元。
对于类型2,在步骤503中,通过方程(6),根据预定比率从第一和第二奇偶校验码元中选择Ns码元。如果假设a和b分别是第一奇偶校验码元和第二奇偶校验码元的码元分配率,那么,从第一奇偶校验码元中选择等于或大于a(Ns)与(a+b)之比的最小整数那么多的码元,和从第二奇偶校验码元中选择等于或小于b(Ns)与(a+b)之比的最大整数那么多的码元。这里,从前面的收缩矩阵中选择未选码元。
Figure C0280048400112
下面参照图6描述最后收缩矩阵Cs-1生成方法。
参照图6,从前面的收缩矩阵中选择其余所有未选码元。所选码元的个数被定义为Ns2。在步骤603中。在步骤603中,通过(Ns-Ns2)定义新的Ns。由于在图4、5和6所示的操作的过程中,从收缩矩阵中选择了所有位置上的码元,因此,新Ns是要重复选择的码元的个数。在步骤605中,确定新Ns是否大于0。如果新Ns是0,那么,过程结束。如果新Ns大于0,那么从信息码元中重复选择新Ns那么多的码元。换句话说,重复发送所选码元。
下面引用具体数字更清楚地描述上述传统子代码生成方法。
对于Rmax=3/4和R=1/6,Rmin=1/6和S=6/(4/3)=4.5→5。因此,产生5个收缩矩阵,
{C0,C1,C2,C3,C4}:Rmax=3/4。
由于子代码的代码率是3/4和子代码的个数是5,在代码组合之后,子代码具有代码率3/20((1/S)×Rmax=(1/5)×(3/4)=3/20)。这意味着,对于3个信息位,接收器接收到20个代码码元。但是,由于根据S×n=5×4=20和S×k=5×3=15生成15个码元,因此,重复发送15个码元当中的5个码元。重复码元最好是信息码元。在上面的例子中,如果在每个子码元中重复一次信息码元X,解码器就接收当S个子代码都接收到时,对于S个子代码的每一个,信息码元出现两次的、具有R=1/5的涡式码。
从图4、5和6所示的过程中得出的子代码是一种互补码,但是,由于存在重复的码元和每个子代码呈现出不同的特性,它们不是严格意义上的互补码。对于从涡式码中产生的子代码,称它们为准互补涡式码(QCTC)。
图3是显示对于基于传统技术的具有R=2/3和S=4的QCTC,就数据吞吐量而言,在使用分组代码组合的HARQ的性能与使用分组分集组合的HARQ的性能之间的比较的图形。如图3所示,把分组代码组合用于QCTC的HARQ 301和把分组分集组合用于QCTC的HARQ 302显示出比没有QCTC的HARQ 303更好的性能。
下面引用具体数字更清楚地描述上述子代码生成方法。
对于Rmax=3/4、R=1/6、和Rmin=1/6,S=6/(4/3)=4.5→5。因此,产生5个收缩矩阵,
{C0,C1,C2,C3,C4}:Rmax=3/4。
由于子代码的代码率是3/4和子代码的个数是5,在代码组合之后,子代码具有代码率3/20((1/S)×Rmax=(1/5)×(3/4)=3/20)。这意味着,对于3个信息位,接收器接收到20个代码码元。但是,由于根据S×n=5×4=20和S×k=5×3=15生成15个码元,因此,重复发送15个码元当中的5个预定码元。重复码元最好是信息码元。在上面的例子中,如果在每个子码元中重复一次信息码元X,解码器就接收在S个子代码的每一个中信息码元出现两次的、具有R=1/5的涡式码。
从图4、5和6所示的过程中得出的子代码是一种互补码,但是,由于存在重复的码元和每个子代码呈现出不同的特性,它们不是严格意义上的互补码。对于从涡式码中产生的子代码,称它们为QCTC。
在传统技术中,QCTC的子代码具有预定代码率。对于单个信息字块的发送,使用具有特定代码率的QCTC的子代码。换句话说,传统QCTC是一维QCTC。
在改变的信道环境下,或对于长度改变的输入信息字,必须发送具有不同代码率的子代码。但是,还没有人给出选择和发送具有不同代码率的QCTC的方法。实际上,在好的信道环境下(在差的信道环境下),除了以前QCTC的子代码之外,最好还使用具有高代码率(低代码率)的新QCTC的子码。换句话说,需要一种根据信道环境或其它因素自适应地确定QCTC的方法。
                          发明内容
因此,本发明的一个目的是提供一种在支持重新发送的通信系统中,使用具有不同代码率的数个QCTC的设备和方法。
本发明的另一个目的是提供一种通过使用数个QCTC,在支持重新发送的通信系统中,重新排列要在具有预定代码率的子代码之后发送的、具有不同代码率的、在子代码组中的子代码,以便在接收器上取得最佳代码组合的设备和方法。
本发明的再一个目的是提供一种通过使用数个QCTC,在支持重新发送的通信系统中,分组具有特定代码率的QCTC的子代码达由想要代码率确定的分组数那么多次,生成具有想要代码率的子代码,和发送生成的子代码,以便在接收器上取得最佳代码组合的设备和方法。
本发明的上面和其它目的通过提供生成二维QCTC的设备和方法来实现。根据本发明的一个方面,生成与数个给定代码率相对应的QCTC的子代码组。这里,每个子代码是含有代表重复和收缩的矩阵元的矩阵。然后,生成新子代码组,以便每个子代码的矩阵具有和子代码组中子代码的列数的最小公倍数一样多的列。确定每个新子代码组中子代码的矩阵的优先级,以便通过组合来自两个新子代码组的矩阵生成的矩阵具有QCTC特性。然后,根据优先级,重新排列每个新子代码中的矩阵。
根据本发明的另一个方面,把具有相互之间存在整数倍关系的代码率的QCTC当中,具有最高代码率的QCTC被设置成该组中的基本码,并且生成基本码的子代码。确定基本码中要分组的子代码的个数,以便生成其它QCTC的每一个。通过从基本码中接在以前发送的子代码之后的子代码开始,把基本码和与给定代码率相对应的分组数一样多的子代码分成一组,生成要发送的子代码。然后,发送生成的子代码。
                          附图简述
通过结合附图,进行如下详细描述,本发明的上面和其它目的、特征和优点将更加清楚,在附图中:
图1是显示在利用涡式码的分组数据系统中,分组代码组合与分组分集组合之间的性能差的图形;
图2是典型子代码生成设备的方块图;
图3是显示没有使用子代码的重新发送方案的性能、利用子代码实现分集组合的重新发送方案的性能、和利用子代码实现代码组合的重新发送方案的性能的图形;
图4是显示生成准互补涡式码的子代码组中第一子代码的传统方法的流程图;
图5是显示生成准互补涡式码的子代码组中中间子代码的传统方法的流程图;
图6是显示生成准互补涡式码的子代码组中最后子代码的传统方法的流程图;
图7是显示根据本发明第一实施例的二维QCTC生成方法的流程图;
图8是显示根据本发明第二实施例的自适应QCTC生成方法的流程图;
图9是显示根据本发明第二实施例的自适应QCTC生成的实现的图形;
图10是显示根据本发明第二实施例的自适应QCTC生成的另一种实现的图形;
图11是显示利用根据本发明第二实施例的自适应QCTC的子代码发送的流程图;
图12是显示利用根据本发明第一实施例的二维QCTC的子代码发送的流程图;和
图13是发送根据本发明的二维QCTC和自适应QCTC的发送设备的方块图。
                        优选实施例详述
下文参照附图描述本发明的优选实施例。在如下的描述中,对那些众所周知的功能或结构将不作详细描述,否则的话,本发明的重点将不突出。
本发明提供了根据涡式码的特性、信道环境、和输入数据的数据率,发送具有不同代码率的QCTC的方法。这里拟用两种类型的QCTC,即二维QCTC和自适应QCTC。在前一种方案中,在每次发送时,从具有不同代码率的数个QCTC当中选择一个QCTC的子代码,在后一种方案中,在发送之前,根据给定数据率分组特定QCTC的子代码。
二维QCTC
现在考虑使用QCTC的通信系统在完全发送一个QCTC之前,根据信道环境改变发送数据的数据率的情况。设lk是要发送的信息字或数据块。在QCTC的情况中,按如下编码信息字:
Cj(k)=QCTC_ENC(lk),j=0,1,2,3,...,S-1      ......(10)此处,QCTC_ENC指的是QCTC编码,Cj(k)(j=0,1,2,3,...,S-1)是从lk中生成的QCTC的第j个子代码,和S是QCTC的设定长度,即,通过子代码代码率和母代码率确定的、形成QCTC的子代码的个数。
从上面方程可以看出,在完全发送lk之前,现有一维QCTC方案利用一个QCTC的子代码依次发送码元。也就是说,以C0(k),C1(k),C2(k),...,CS-1(k)的次序发送子代码,并且,无需给出特殊方法,在发送期间改变代码率(严格地说,子代码的代码率)就已经得到考虑。如果在以某个数据率发送QCTC的所有子代码之前,由于信道环境改变,使用QCTC的通信系统使用具有新代码率的QCTC,那么,必须能够生成具有不同代码率的数个QCTC。
Cij(k)=QCTC_ENC(lk),i=0,1,2,3,...,NS-1 j=0,1,2,3,...,Si-1
                                                                         .....(11)此处,QCTC_ENC指的是QCTC编码,Cij(k)(i=0,1,2,3,...,NS-1,j=0,1,2,3,...,Si-1)是从lk中生成的第i个QCTC的第j个子代码,和Si是通过子代码代码率和母代码率确定的、第i个QCTC的设定长度。
根据方程(11),在使用二维QCTC的通信系统中的发送器针对包括信道条件改变或数据率改变的发送环境改变,自适应地选择NS个QCTC之一。为了使性能最佳,系统必须通过分析NS个QCTC之间的关系,确定最佳发送次序。由于与一维QCTC不同,接收器可以以任意方式组合二维QCTC,因此,如果从QCTC组合中得出的代码的结构不满足涡式码应该呈现的代码特性,那么,性能就会变差。为了使这个问题的影响降到最低程度,必须把二维QCTC设计成满足如下条件。
条件1:必须组合QCTC的最小个数子代码,生成具有母代码率的代码。换句话说,必须形成每个子代码的收缩矩阵,以便组合最小个数子代码,达到母代码率。
条件2:只有当条件1得到满足时,从QCTC组合中得到的代码的收缩矩阵的矩阵元才必须具有相等的权重(如果可能的话)。也就是说,通过组合最小个数子代码生成的代码的收缩矩阵的矩阵元具有均匀重复和收缩分布。
满足条件1和条件2的最重要事情是为每个QCTC形成收缩矩阵和确定每个QCTC中子代码的发送次序。像利用最佳一维QCTC产生的二维QCTC那样的二维QCTC应该具有比随机选择的二维QCTC高的增益。另外,由于确定二维QCTC的性能是重要因素,因此,应该优化子代码发送次序。在下文中,将详细描述基于上面两条原则的二维QCTC的生成。
这里所使用的术语“QCTC”被定义为根据预定母代码率和给定子代码率生成的一组子代码。如前所述,收缩矩阵在与子代码相同的意义上得到使用。
图7是显示根据本发明第一实施例的二维QCTC生成方法的流程图。参照图7,在步骤701中生成具有给定代码率的NS个最佳一维QCTC的子代码组。根据预定母代码率和给定代码率Ri,形成Si个子代码Cij(i=0,1,2,3,...,NS-1,j=0,1,2,3,...,Si-1)的收缩矩阵。除了与给定代码率相对应地生成数个QCTC Ci之外,这以与传统QCTC生成相同的方式进行。在步骤703中,把NS个QCTC当中具有最大设定长度S的QCTC的每个子代码的收缩矩阵中的列数定义为CWf(0≤f≤NS-1)。
在步骤705中,通过重复QCTC的现有收缩矩阵,形成具有CWf列的新收缩矩阵。如果CWf不是QCTC Ci的每个收缩矩阵的列数CWi的整数倍,把CWf和CWi的最小公倍数定义为新CWf。然后,应该重新形成具有新CWf的收缩矩阵。
在步骤707中,把发送优先级指定给每个子代码组的收缩矩阵,以便通过组合两个不同子代码组的收缩矩阵产生的收缩矩阵可以呈现QCTC特性。例如,应该确定每个子代码组C0和C1中子代码Cij的优先级,以便如有可能的话,把均匀权重给予通过组合QCTC C0和C1中的子代码得到的新代码的收缩矩阵的矩阵元。指定均匀权重意味着在通过组合最小个数子代码生成的码字的收缩矩阵中代表收缩和重复的矩阵元的均匀分布。为生成QCTC而要满足的基本条件是初始发送子代码Ci0必须含有信息代码码元。换句话说,必须首先发送子代码Ci0的第一行中的信息代码码元。
在步骤709中,在每个子代码组中重新排列收缩矩阵。也就是说,在每个子代码组Ci中置换子代码Cij的顺序。然后,如果选择了特定的QCTC Ci,那么,就以j的升序发送QCTC Ci的子代码Cij。例如,如果QCTC发送以C1、C3、和C1的次序出现,那么,以C10、C30、和C11的次序发送子代码。在这种情况下,可以认为,图7显示了重新排列要在利用预定代码率发送的子代码之后发送的、具有不同代码率的子代码的过程。
下面结合图7,引用具体数字更清楚地描述上面二维QCTC生成方法。在描述之前,假设NS=4,把QCTC Ci的代码率Ri设为R0=1/2,R1=1/3,R2=1/4和R3=1/8,和母代码率R=1/5。
步骤701:生成一维QCTC
R0=1/2,C0
C 00 = 1 1 1 0 0 0 0 1 0 0 C 01 = 0 0 0 1 1 0 1 0 0 1 C 02 = 1 1 0 0 0 1 0 0 1 0
R1=1/3,C1
C 10 = 1 1 0 1 0 C 11 = 1 0 1 0 1
R2=1/4,C2
C 20 = 1 1 1 1 0 C 21 = 1 1 0 1 1
R3=1/8,C3
C 30 = 2 2 1 2 1
步骤703:CWf=2
步骤705
R0=1/2,C0
C 00 = 1 1 1 0 0 0 0 1 0 0 C 01 = 0 0 0 1 1 0 1 0 0 1 C 02 = 1 1 0 0 0 1 0 0 1 0
R1=1/3,C1
C 10 = 1 1 1 1 0 0 1 1 0 0 C 11 = 1 1 0 0 1 1 0 0 1 1
R2=1/4,C2
C 20 = 1 1 1 1 1 1 1 1 0 0 C 21 = 1 1 1 1 0 0 1 1 1 1
R3=1/8,C3
C 30 = 2 2 2 2 1 1 2 2 1 1
步骤707
R0=1/2,C0:通过把C00放在C02的位置中,把C01放在C00的位置中,和把C02放在C01的位置中,重新设置发送次序。
C 00 = 0 0 0 1 1 0 1 0 0 1 C 01 = 1 1 0 0 0 1 0 0 1 0 C 02 = 1 1 1 0 0 0 0 1 0 0
R1=1/3,C1:交换C10和C11的发送次序。
C 10 = 1 1 0 0 1 1 0 0 1 1 C 11 = 1 1 1 1 0 0 1 1 0 0
R2=1/4,C2
C 21 = 1 1 1 1 1 1 1 1 0 0 C 22 = 1 1 1 1 0 0 1 1 1 1
R3=1/8,C3
C 30 = 2 2 2 2 1 1 2 2 1 1
从上面可以看出,在子代码组C0中,将C00、C01和C02重新排列成C01、C02和C00,和在子代码组C1中,子代码C10和C11交换位置,以便满足条件1和条件2。这里,每个子代码组中的子代码以子代码序号的升序发送。例如,如果QCTC发送以C1、C3、和C1的次序出现,那么,以C10、C30、和C11的次序发送子代码。
下表3列出了上面所示的收缩矩阵。从表3中可以看出,在每个子代码组(QCTC)中依次进行子代码的发送。虽然R1=1/3和R2=1/4的每个收缩矩阵应该含有2个列,但仅仅显示了1个列。这是表示的问题。因此,提供相同的性能。
移动台和系统读取基于给定代码率(或数据率)的收缩矩阵,和根据收缩矩阵,重复和收缩具有母代码率的、从涡式编码器输出的代码码元,生成子代码。可选地,它们利用预定算法获取收缩矩阵和从收缩矩阵中生成子代码。
(表3)
Figure C0280048400201
自适应QCTC
如上所述,通过控制具有给定代码率的独立一维QCTC的每一个中子代码的发送次序,获得了性能提高了的二维QCTC。独立QCTC的生成有利地促进了它们的优化,但是存在着在特定QCTC Ci的代码率Ri是另一个QCTC的代码率Rk(k=0,1,2,...,NS-1)的整数倍的情况下,即使存在足够大的空间供优化用,QCTC的关系也可能使优化无效的严重缺陷。
对于R0=1/2和R2=1/4,在QCTC算法中分别获得QCTC C0和C2。为了充分利用QCTC的特性,最好满足条件1。为此,分组C0的两个相继子代码,以便发送具有R2=1/4的子代码,譬如,(C00+C01)、(C01+C02)或(C02+C00)。然后,如果将具有R0=1/2的子代码与这样的子代码组合在一起,就可以获得最佳性能。
把具有相互之间存在整数倍关系的代码率的一维QCTC当中,具有最高代码率的一维QCTC定义为该组中的基本码Cp(p是0与NS-1之间的整数)。当请求代码率低于基本码Cp的代码率的子代码时,通过链接或分组基本码Cp的子代码,生成子代码。把这称为自适应QCTC方案。
图8是显示根据本发明另一个实施例的自适应QCTC生成方法的流程图。参照图8,在步骤801中,把具有代码率Ri的QCTC分成组,每个组包括具有相互之间存在整数倍关系的代码率的QCTC。在步骤803中,从每个QCTC组中选择具有最高代码率的QCTC,作为基本码Cp。因此,根据组数可以定义数个基本码Cp
在步骤805中,设置链接或分组规则,以便利用每个基本码Cp的子代码Cpj(j=0,1,2,...,Sp-1)为每个组中的每个QCTC生成子代码。这些规则可以包括每个基本码中要链接或分组的子代码的个数。换句话说,通过链接或分组基本码Cp的子代码,生成具有代码率Ri的想要子代码Cij。可以在考虑了所有可能子代码分组之后,初步制成子代码分组表。在这种情况下,最好依次分组基本码Cp中的子代码。
一旦给出代码率(或QCTC或子代码),通过链接相应基本码Cp的子代码,就可以生成具有该代码率的QCTC的子代码。
如果一个组grp(即,任意一个组)的基本码是Cp,和它的设定长度是Sp,在该组grp中QCTC的子代码可以表达如下:
Cp,j g  0≤j≤Sp-1,1≤g
Groupgrp = C p 0 1 C p 1 1 · · · C ps p - 1 1 C p 0 2 C p 1 2 · · · C ps p - 1 2 C p 0 3 C p 1 3 · · · C ps p - 1 3 C p 0 4 C p 1 4 · · · C ps p - 1 4 - - - ( 12 )
此处,j表示子代码索引,和g是要分组的子代码的个数(即,分组数)。如果g=1,无需分组就可以使用基本码Cp的子代码。如果g=2,把基本码Cp的子代码分成2组。对于基本码Cp的代码率Rs=2/3,如果g=1,那么,新子代码具有代码率r=2/3。如果g=2,由于与g=1相比,多生成一个代码码元组,因此,r=1/3。因此,上面矩阵定义了可以通过分组基本码Cp的整数个子代码获得的QCTC的代码率、和每个QCTC的子代码。由于取决于系统的实现,子代码的最大个数是不受限制的。这里,作为例子,可以把多达4个子代码分成一组。
在矩阵中,行数表示最大分组数。可以通过子代码分组实现的QCTC的代码率随着行数的增加而降低。在矩阵中列数由基本码Cp的设定长度Sp来决定。
例如,如果基本码Cp的代码率是Rs=1/2,具有g=1的第1行含有具有Rs=1/2的基本码Cp的子代码。换句话说,矩阵中第1行的矩阵元表示基本码Cp的子代码。具有g=2的第2行包含具有Rs=1/4的QCTC的子代码。具有g=3的第3行含有具有Rs=1/6的QCTC的子代码,和具有g=4的第4行含有具有Rs=1/8的QCTC的子代码。
如下方程显示了每个QCTC与同一个组中的基本码Cp之间的关系。含有具有Rs=1/2和Sp=3的基本码Cp的QCTC组如下:
g=1,Rs=1/2: C p 0 1 = C 00 1 , C p 1 1 = C 01 1 , C p 2 1 = C 02 1
g=2,Rs=1/4: C p 0 2 = C 00 ∪ C 01 , C p 1 2 = C 01 ∪ C 00 , C p 2 2 = C 01 ∪ C 02
g=3,Rs=1/6: C p 0 3 = C 00 ∪ C 01 ∪ C 02 , C p 1 3 = C 00 ∪ C 01 ∪ C 02 , C p 2 3 = C 00 ∪ C 01 ∪ C 02 · · ·
g=4,Rs=1/8: C p 0 4 = C 00 ∪ C 01 ∪ C 02 ∪ C 00 , C p 1 4 = C 01 ∪ C 02 ∪ C 00 ∪ C 01 ,
C p 2 4 = C 02 ∪ C 00 ∪ C 01 ∪ C 02 - - - ( 13 )
因此,对于含有具有Rs=1/2的基本码Cp的组,如方程(12)所示的矩阵通过如下方程(14)表示:
Groupgrp = C p 0 1 C p 1 1 C p 2 1 C p 0 2 C p 1 2 C p 2 2 C p 0 3 C p 1 3 C p 2 3 C p 0 4 C p 1 4 C p 2 4 - - - ( 14 )
按照相同方式,可以根据其基本码Cp的设定长度Sp和QCTC的代码率,在矩阵中排列不同QCTC组中的QCTC的子代码。
下面结合图8,引用具体数字更清楚地描述上面自适应QCTC生成。在描述之前,假设NS=4,把QCTC Ci的代码率Ri设为R0=1/2,R1=1/3,R2=1/4和R3=1/8,和母代码率R=1/5。
步骤801:代码分组
组0={C0,C2,C3}={R0,R2,R3}  代码率={1/2,1/4,1/8}
组1={C1}={R1} 代码率={1/3}
步骤803:基本码Cp={C0,C1}
C0(R0=1/2):组0中的基本码
C1(R1=1/3):组1中的基本码
步骤805
利用基本码Cp获得每个组中QCTC Ci的子代码Cij(i=0,1,2,...,NS-1,j=0,1,2,...,Si-1)。
组0:具有Rs=1/2的QCTC
R0=1/2:{C00,C01,C02}
R2=1/4:{(C00,C01),(C01,C02),(C02,C00)}(可获得多达三种情况)
R3=1/8:{(C00,C01,C02,C00),(C01,C02,C00,C01),(C02,C00,C01,C02)}
组1:具有R1=1/3的QCTC
R1=1/3:{C20,,C21}
当发送具有R2=1/4的QCTC的子代码时,有两种方式可以确定哪一个是发送的子代码。
(1)隐式子代码标识
如果发送器和接收器含有有关子代码的发送次序的信息,发送器不需要在单独信道上发送信息。例如,在组0的情况中,接收器为每个代码率,即R=1/2、1/4或1/8存储以前接收的子代码的索引,以便一旦接收到同一组中的新子代码,接收器就可以找出新子代码的位置。
(2)显式子代码标识
发送器把当前子代码的类型告知接收器。然后,接收器相应地组合接收的子代码。一般说来,如果信道条件不是非常差,隐式子代码标识就足够了。在本发明中,根据系统中消息信道的可靠性,有选择地使用这两种标识方法。
图9是显示根据本发明第二实施例的自适应QCTC生成的实现的图形。在图9中,对于母代码率R=1/5,具有代码率1/2、1/4和1/8的QCTC处在组0中,和具有代码率1/3和1/6的QCTC处在组1中。对于组0,比率1/2 QCTC是基本码Cp,和对于组1,比率1/3 QCTC是基本码Cp。借助于基本码Cp,生成具有代码率1/2、1/4、1/8和1/3的QCTC。
对于组0,如果比率1/2 QCTC是C3,那么,根据分组数依次分组子代码C30、C31和C32,生成比率1/4子代码和比率1/8子代码。例如,通过把2个子代码分成一组,譬如,(C30,C01)、(C32,C30)和(C31,C32),产生比率1/4子代码,和通过把4个子代码(C30、C31、C32、C30)分成一组,产生比率1/8子代码。对于组1,如果比率1/3 QCTC是C2,通过把2个子代码分成一组,譬如,(C20,C21),生成比率1/6子代码。
图1Q是显示根据本发明第二实施例的自适应QCTC生成的另一种实现的图形。在图10中,对于母代码率R=1/5,具有代码率1/2、1/4和1/8的QCTC处在组0中,和具有代码率2/3、1/3和1/6的QCTC处在组1中。对于组0,比率1/2 QCTC是基本码Cp,和对于组1,比率2/3 QCTC是基本码Cp。借助于基本码Cp,生成具有代码率1/2、1/4、1/8、2/3、1/3和1/6的QCTC。
对于组0,如果比率1/2 QCTC是C3,那么,根据分组数依次分组子代码C30、C31和C32,生成比率1/4子代码和比率1/8子代码。例如,通过把2个子代码分成一组,譬如,(C30,C01)、(C32,C30)和(C31,C32),产生比率1/4子代码,和通过把4个子代码(C30、C31、C32、C30)分成一组,提供比率1/8子代码。对于组1,如果比率2/3 QCTC是C1,那么,根据分组数依次分组子代码C10、C11、C12和C13,生成比率1/3子代码和比率1/6子代码。具体地说,通过把具有代码率2/3的基本码Cp的2个子代码分成一组,譬如,(C10,C11)、(C12,C13)或(C10,C11),生成比率1/3子代码,和通过把具有代码率2/3的基本码Cp的4个子代码分成一组,譬如,(C10,C11,C12,C13),生成比率1/6子代码。图10所示的代码结构更适应信道条件和数据率的变化。
如果HARQ系统根据信道环境,使用具有各种代码率的QCTC,那么HARQ II更可取。然后,需要具有较高代码率的子代码,因此,具有R=2/3的QCTC将用作基本码。显然,基本码是根据系统要求的最大代码率确定的(对这个问题的描述已经超出了本发明的范围之外),并且,以上述方式生成自适应QCTC。例如,对于R=3/4,可以按照相同方式生成具有R=3/4、R=2/3、R=1/3和R=1/6等的子代码。
表4列出了利用具有R=1/2和R=1/3的基本码Cp生成的子代码的收缩矩阵。表5列出了利用具有R=1/2和R=2/3的基本码Cp生成的子代码的收缩矩阵。
(表4)
Figure C0280048400241
Figure C0280048400251
(表5)
Figure C0280048400252
从表4和表5中可以看出,通过分组基本码Cp的子代码生成子代码。具有给定代码率的QCTC的子代码是通过依次分组基本码Cp的子代码生成的。在表4中,定义了含有具有R=1/2和R=1/3的基本码的两个QCTC组。收缩矩阵是方程(12)所示的子代码矩阵的矩阵元。例如,方程(12)中的Cp0 1、Cp1 1、和Cp2 1分别对应于有关R0=1/2的第1、第2和第3子代码C00、C01和C02的收缩矩阵。Cp1 2和Cp2 2分别对应于R1=1/4的第2子代码C11(C02∪C00)和第3子代码C12(C01∪C02)。表5显示了含有R=1/2和R=1/3的基本码的两个组的子代码。
移动台和系统包括从中读取具有给定代码率(或数据率)的收缩矩阵的、诸如表4和表5之类的表。通过与收缩矩阵相对应,重复和收缩具有母代码率的、从涡式编码器输出的码元,生成子代码。可选地,收缩矩阵可以用预定算法获取和根据收缩矩阵生成子代码。
图13是发送根据本发明的二维QCTC和自适应QCTC的发送设备的方块图。参照图13,信道编码器1301以,例如,母代码率R=1/5编码输入信息,并且输出代码码元。QCTC发生器1302在子代码选择控制器1303的控制下,通过收缩和重复代码码元,生成子代码。
控制器1303含有存储器,存储器存储通过它们生成子代码的如表3到表5所示的收缩矩阵。控制器1303,在生成二维QCTC时,按照图12所示的算法,和在生成自适应QCTC时,按照图11所示的算法,控制QCTC发生器1302。
可选地,在每次子代码发送时,控制器1303可以把索引信号发送到QCTC发生器1302,以便通过进行图11和图12所示的算法,选择表3到表5所示的收缩矩阵之一。在这种情况下,QCTC发生器1302从表3到表5中读取与索引相对应的收缩矩阵,和根据收缩矩阵,收缩和重复从信道编码器1301输出的码元,生成子代码。
下面给出控制器1303选择(或发送)子代码的描述。
图11是显示利用根据本发明第二实施例的一维自适应QCTC的子代码发送的流程图。参照图11,在步骤1100中,一旦生成新编码块,控制器1303就在步骤1101中把所有变量(j_current,j_pre,g_current和g_pre)设置成初始值。在步骤1103中,控制器1303选择包含具有给定代码率的QCTC的QCTC组,并且,确定分组数g,即基本码Cp中要分组的子代码的个数。这里,代码率是在发送器中根据信道条件和输入数据的数据率确定的。分组数g是通过它识别包含在组中的QCTC的变量。在确定了组和分组数g_current之后,控制器1301在步骤1105中读取为具有该代码率的QCTC Ci存储的变量j_pre,并且把变量j_current设置成读出的值。j_current表示QCTC中子代码的序号。然后,控制器在步骤1107中选择与组的变量g_current相对应的QCTC的第j_current子代码,并且在步骤1109中发送与所选子代码相对应的编码码元。把变量g_current和j_current存储成变量g_pre和j_pre,供下一次发送用。把与j_current(=0)相对应的子代码,即QCTC的第1子代码表达成:
gCp0 g,g=1,...,                   ......(15)
然后,在第1子代码当中选择与g_current(或g)相对应的子代码。
在发送了子代码之后,控制器1303在步骤1113中,确定是否请求了另一个子代码,也就是说,是否已经从接收器接收到重新发送请求。根据另一个子代码的请求,控制器1303在步骤1113中,发送具有给定代码率的子代码。否则,控制器1303返回到步骤1100,接收新的编码块。
同时,控制器1303在步骤1115中,选择包含具有根据信道和发送环境确定的给定代码率的QCTC的QCTC组(g_current)。
在步骤1117中,控制器1303根据如下方程16,确定要发送的子代码(成组矩阵中的矩阵元)的序号j_current,并且返回到发送与变量j_current相对应的子代码当中,与变量g_current相对应的子代码的步骤1107。
[((j_pre+1)*g_premodSp)-1]+1=(j_current*g_current)modSp...(16)
在上面方程中,左侧“[((j_pre+1)*g_premodSp)-1]”指的是在前一组结束的子代码,和右侧“(j_current*g_current)modSp”指的是从下一个组开始的子代码。因此,在把1加入“[((j_pre+1)*g_premodSp)-1]”中的情况下,它指的是从下一个组开始的子代码,从而方程两侧具有相同值。按照  这种方式,可以获得j_current的值。
在上面方程中,AmodB是获取A除以B的余数的运算。也就是说,如果变量g_pre表示用于生成前子代码的基本码的子代码的分组数,即含有前子代码的QCTC的标识号,和j_pre表示前子代码的序号,那么,通过方程(16)确定要发送的当前子代码的序号j_current。在与变量j_current相对应的列中的子代码当中,选择与根据代码率确定的变量g_current相对应的行中的子代码。在方程(16)中利用“modSp”的理由是,在成组矩阵中列数等于或小于Sp。由于基本码的子代码的个数是Sp,“modSp”使得在发送了每一行中的所有子代码之后,可以循环选择第一子代码Cp0(请看图9和图10)。
下面引用具体数字更详细地描述图11的操作。
假设基本码的代码率Rs=1/2,成组矩阵中行数g=4(也就是说,可以生成直到具有Rs=1/8的QCTC),Sp=3,代码率以Rs=1/2、Rs=1/4、Rs=1/2、Rs=1/8的次序改变,然后,g_pre=0,g_current=0,和j_pre=0(初始值),那么,
1.Rs=1/2:g_current=1和j_current=0,因此,g_pre=1和j_pre=0。
所选子代码:Cp0 1
2.Rs=1/4:g_current=2和j_current=2,因此,g_pre=2和j_pre=1。
所选子代码:Cp2 2
3.Rs=1/2:g_current=1和j_current=0,因此,g_pre=1和j_pre=0。
所选子代码:Cp0 1
4.Rs=1/8:g_current=4和j_current=1,因此,g_pre=4和j_pre=1。
所选子代码:Cp1 4
5.Rs=1/2:g_current=1和j_current=2,因此,g_pre=1和j_pre=2。
所选子代码:Cp2 1
根据方程(16)选择每组内的子代码,和根据取决于信道环境和输入数据率的代码率选择一个组。如图9和10所示,用j=0进行初始子代码发送。虽然在本发明的实施例中,在诸如表3到表5之类的存储表中列出了有关每个QCTC的子代码的收缩矩阵,但是,作为另一个实施例,也可以进一步设想,提供有关每个组的基本码的子代码,和通过方程(16)分组基本码的子代码,生成想要的子代码。在后一种情况下,如果在方程(16)中计算j_current,控制器可以从与j_current相对应的子代码开始,把基本码的g个相继子代码分成一组,生成发送子代码。
图12是显示利用根据本发明第一实施例的二维QCTC的子代码发送的流程图。参照图12,在步骤1200中一旦生成新编码块,控制器1303就在步骤1201中把所有变量(j和j_saved)设置成初始值。在步骤1203中,控制器1303根据给定代码率确定QCTC Ci。这里,代码率是在发送器中根据信道条件和输入数据的数据率确定的。控制器1303在步骤1205中读取为QCTC Ci存储的变量j_saved,在步骤1207中选择QCTC的子代码当中的第j个子代码Cij,和在步骤1209中利用所选的子代码发送编码码元。
在发送了子代码之后,控制器1303在步骤1211中,确定是否请求了另一个子代码,也就是说,是否已经从接收器接收到重新发送请求。根据另一个子代码的请求,控制器1303在步骤1213中,选择具有根据信道环境确定的代码率的子代码。否则,控制器1303返回到步骤1200,检查是否已经接收新的编码块。
同时,控制器1303在步骤1215中,确定所选的子代码是否与前一个相同。如果它们是相同的,控制器1303就通过方程(17)更新变量j,然后返回到步骤1207。如果它们是不同的,控制器1303就在步骤1219中把代表前子代码的变量j加1和存储(j+1)作为变量j_saved,然后返回到步骤1203。
j=(j+1)mod Si                          ......(17)
此处,Si是QCTC Ci的设定长度。在方程(17)中使用“modSi”的理由是使得在发送QCTC的所有子代码之后,可以循环选择第一子代码。
根据如上所述的发明,重新发送通信系统可以根据给定数据率或代码率自适应地选择不同的QCTC。换句话说,二维QCTC和自适应QCTC用于分组重新发送,从而显著地提高了吞吐量。
虽然通过参照本发明的某些优选实施例,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。

Claims (7)

1.一种用来生成子代码组的子代码的方法,包含以下步骤:
生成具有给定代码率的子代码组,每个子代码都属于具有相同代码率的一个子代码组,并且每个子代码组都具有不同的代码率;和
根据子代码的优先级,重新排列要在具有预定代码率的子代码之后使用的、具有相同或不同代码率的子代码组的子代码的顺序。
2.根据权利要求1所述的方法,其中,子代码由含有代表收缩和重复位置的矩阵元的矩阵代表。
3.根据权利要求1所述的方法,其中,重新排列步骤包括如下步骤:
生成新子代码组,有关每个新子代码组中的每个子代码的代表矩阵具有和子代码组中每个子代码的列数的最小公倍数一样多的列;和
确定每个新子代码组中子代码的矩阵的优先级,以便通过组合来自两个新子代码组的矩阵生成的矩阵具有准互补涡式码QCTC特性,其中向更可靠的QCTC特性分配更高的优先级,并且,根据优先级,重新排列每个新子代码中的矩阵,其中QCTC特性指矩阵的矩阵元具有均匀分布的重复和收缩。
4.一种用来利用子代码组的子代码发送数据的方法,包含以下步骤:
生成具有给定代码率的子代码组;
根据子代码的优先级,重新排列子代码组中的子代码的顺序,和存储重新排列的子代码;
选择具有为发送确定的代码率的子代码组;和
利用所选子代码组中的子代码发送数据。
5.根据权利要求4所述的方法,其中,重新排列步骤包括如下步骤:
生成新子代码组,新子代码组中每个子代码的代表矩阵具有和子代码组中每个子代码的列数的最小公倍数一样多的列;
确定每个新子代码组中子代码的矩阵的优先级,以便通过组合来自两个新子代码组的矩阵生成的矩阵具有准互补涡式码QCTC特性,其中向更可靠的QCTC特性分配更高的优先级,QCTC特性指矩阵的矩阵元具有均匀分布的重复和收缩;和
根据优先级,重新排列每个新子代码中的矩阵。
6.一种用于重新排列准互补涡式码QCTC的子代码的设备,包括:
涡式编码器,用于编码具有预定代码率的输入信息位流,和输出代码码元;
控制器,用于重新排列与数个给定代码率相对应的子代码组中的子代码,重新排列子代码组中的子代码,和存储经重新排列的子代码,选择具有为发送确定的代码率的QCTC,和为所选QCTC的重新排列子代码当中,接在用于前一次发送的矩阵之后的矩阵生成收缩和重复控制信号;和
QCTC发生器,用于通过根据收缩和重复控制信号,收缩和重复从涡式编码器接收的代码码元,生成要发送的子代码。
7.根据权利要求6所述的设备,其中,控制器重新排列每个子代码组中的矩阵,以便通过组合来自两个不同子代码组的矩阵生成的矩阵具有QCTC特性,其中QCTC特性指矩阵的矩阵元具有均匀分布的重复和收缩。
CNB028004841A 2001-02-07 2002-02-06 在通信系统中生成代码的设备和方法 Expired - Fee Related CN1276588C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR2001/7139 2001-02-07
KR20010007139 2001-02-07
KR20010006662 2001-02-12
KR2001/6662 2001-02-12

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100050186A Division CN100542046C (zh) 2001-02-07 2002-02-06 在通信系统中生成代码的设备和方法

Publications (2)

Publication Number Publication Date
CN1457553A CN1457553A (zh) 2003-11-19
CN1276588C true CN1276588C (zh) 2006-09-20

Family

ID=26638796

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028004841A Expired - Fee Related CN1276588C (zh) 2001-02-07 2002-02-06 在通信系统中生成代码的设备和方法

Country Status (13)

Country Link
US (2) US7213193B2 (zh)
EP (2) EP1385291B1 (zh)
JP (1) JP3753694B2 (zh)
KR (1) KR100464453B1 (zh)
CN (1) CN1276588C (zh)
AU (1) AU2002232276B2 (zh)
BR (1) BRPI0204016B1 (zh)
CA (1) CA2405465C (zh)
DE (2) DE60236336D1 (zh)
FR (1) FR2820565B1 (zh)
GB (1) GB2380915B (zh)
RU (1) RU2251793C2 (zh)
WO (1) WO2002063778A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2394153B (en) * 2001-02-13 2005-08-24 Samsung Electronics Co Ltd Apparatus and method for generating codes in communication system
WO2002065647A1 (en) 2001-02-13 2002-08-22 Samsung Electronics Co., Ltd Apparatus and method for generating codes in communication system
KR100724921B1 (ko) * 2001-02-16 2007-06-04 삼성전자주식회사 통신시스템에서 부호 생성 및 복호 장치 및 방법
BR0205740A (pt) * 2001-07-12 2004-02-03 Samsung Electronics Co Ltd Aparelho de transmissão reversa e método para melhorar a qualidade de transmissão em um sistema de comunicação de dados
WO2005025262A1 (ja) * 2003-09-04 2005-03-17 Fujitsu Limited 通信システム及びハンドオーバ通信方法
KR100770902B1 (ko) 2004-01-20 2007-10-26 삼성전자주식회사 고속 무선 데이터 시스템을 위한 가변 부호율의 오류 정정부호 생성 및 복호 장치 및 방법
US7953047B2 (en) * 2005-01-24 2011-05-31 Qualcomm Incorporated Parser for multiple data streams in a communication system
FI20050264A0 (fi) * 2005-03-11 2005-03-11 Nokia Corp Tietojenkäsittelymenetelmä, verkkoelementti, lähetin, komponentti ja tietokoneohjelmatuote
KR100651881B1 (ko) * 2005-08-22 2006-12-01 엘지전자 주식회사 Ldpc 부호화된 데이터의 송수신 장치 및 그를 이용하는송수신 방법
US20080016425A1 (en) * 2006-04-04 2008-01-17 Qualcomm Incorporated Turbo decoder with symmetric and non-symmetric decoding rates
US7890833B2 (en) * 2006-06-08 2011-02-15 Intel Corporation Wireless communication using codeword encoded with high-rate code
US7813296B2 (en) * 2006-12-27 2010-10-12 Telefonaktiebolaget L M Ericsson (Publ) Adapting transmission and reception time in packet based cellular systems
KR101505193B1 (ko) * 2007-06-18 2015-03-23 삼성전자주식회사 직교주파수분할다중접속방식의 이동 통신시스템에서 심볼전송 방법 및 장치
KR100964610B1 (ko) 2008-04-18 2010-06-21 한국전자통신연구원 오류정정 부호를 이용한 다이버시티 방법
US9397699B2 (en) 2009-07-21 2016-07-19 Ramot At Tel Aviv University Ltd. Compact decoding of punctured codes
US8375278B2 (en) 2009-07-21 2013-02-12 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US8516351B2 (en) 2009-07-21 2013-08-20 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US8516352B2 (en) 2009-07-21 2013-08-20 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2324934A (en) * 1997-05-02 1998-11-04 Motorola Ltd Multiplexing data from multi-media sources
US5907582A (en) * 1997-08-11 1999-05-25 Orbital Sciences Corporation System for turbo-coded satellite digital audio broadcasting
US6138260A (en) 1997-09-04 2000-10-24 Conexant Systems, Inc. Retransmission packet capture system within a wireless multiservice communications environment with turbo decoding
US6347122B1 (en) * 1998-01-13 2002-02-12 Agere Systems Guardian Corp. Optimal complement punctured convolutional codes for use in digital audio broadcasting and other applications
US6370669B1 (en) * 1998-01-23 2002-04-09 Hughes Electronics Corporation Sets of rate-compatible universal turbo codes nearly optimized over various rates and interleaver sizes
CN100338885C (zh) * 1998-06-05 2007-09-19 三星电子株式会社 用于速率匹配的发送机和方法
GB9814960D0 (en) * 1998-07-10 1998-09-09 Koninkl Philips Electronics Nv Coding device and communication system using the same
US6298463B1 (en) * 1998-07-31 2001-10-02 Nortel Networks Limited Parallel concatenated convolutional coding
JP2000068862A (ja) * 1998-08-19 2000-03-03 Fujitsu Ltd 誤り訂正符号化装置
US6704898B1 (en) * 1998-10-23 2004-03-09 Telefonaktiebolaget Lm Ericsson (Publ) Combined hybrid automatic retransmission request scheme
KR20000067738A (ko) * 1999-04-14 2000-11-25 서평원 이동 통신 시스템에서 채널 코드의 레이트 매칭 방법
KR100357868B1 (ko) * 1999-07-06 2002-10-25 삼성전자 주식회사 데이터 통신시스템의 전송율 정합 장치 및 방법
JP4884631B2 (ja) 2000-01-20 2012-02-29 ノーテル・ネットワークス・リミテッド 可変速度パケット・データ・アプリケーションでのソフト組合せを備えたハイブリッドarq方式
KR100734346B1 (ko) * 2000-08-02 2007-07-03 엘지전자 주식회사 데이터 레이트 매칭 방법
US6684367B1 (en) * 2000-10-13 2004-01-27 Agere Systems Inc. Channel coding based on hidden puncturing for partial-band interference channels
KR100442685B1 (ko) * 2000-10-21 2004-08-02 삼성전자주식회사 통신시스템에서 부호 생성장치 및 방법

Also Published As

Publication number Publication date
DE60236336D1 (de) 2010-06-24
EP1385291B1 (en) 2010-05-05
EP1385291A2 (en) 2004-01-28
FR2820565B1 (fr) 2011-09-23
EP1231737B1 (en) 2010-05-12
US20020152445A1 (en) 2002-10-17
KR20020065866A (ko) 2002-08-14
EP1385291A3 (en) 2004-06-23
WO2002063778A1 (en) 2002-08-15
CN1457553A (zh) 2003-11-19
GB0202868D0 (en) 2002-03-27
AU2002232276B2 (en) 2004-01-15
BR0204016A (pt) 2003-02-04
KR100464453B1 (ko) 2005-01-03
JP2004519149A (ja) 2004-06-24
CA2405465A1 (en) 2002-08-15
US7213193B2 (en) 2007-05-01
US20050210365A1 (en) 2005-09-22
BRPI0204016B1 (pt) 2015-11-17
GB2380915A (en) 2003-04-16
DE60236268D1 (de) 2010-06-17
CA2405465C (en) 2007-09-25
EP1231737A1 (en) 2002-08-14
GB2380915B (en) 2004-06-23
RU2251793C2 (ru) 2005-05-10
RU2002126564A (ru) 2004-01-27
FR2820565A1 (fr) 2002-08-09
JP3753694B2 (ja) 2006-03-08

Similar Documents

Publication Publication Date Title
CN1276588C (zh) 在通信系统中生成代码的设备和方法
CN1324832C (zh) 用于通信系统的混合自动重复请求设备和方法
CN1160918C (zh) 在移动通信系统中传输分组数据
CN1113295C (zh) 错误校正编码方法及其设备
CN1252962C (zh) 用于数据通信系统的速率匹配设备和方法
CN1836394A (zh) 在移动通信系统中编码/解码块低密度奇偶校验码的装置和方法
CN1144377C (zh) 信道编码装置
CN1264301C (zh) 在混合自动请求重复数据通信系统中的数据发送/接收方法
CN1655491A (zh) 使用比特排列方法的传输装置
CN1692557A (zh) 编码设备、编码方法、编码程序、解码设备、解码方法、和解码程序
CN1136660C (zh) 串行链接卷积码编码器及其中的交错器和交错方法
CN1406420A (zh) 发送装置、接收装置以及通信方法
CN1838542A (zh) 解码设备和方法以及程序
CN1633770A (zh) 速率匹配方法
CN1618175A (zh) 用于对数据比特并行编码的方法和装置
CN2585495Y (zh) 使用码分多址的无线通信系统的物理层处理
CN1494770A (zh) 适于turbo解码器的交错器
CN1993917A (zh) 编码/译码具有可变块长度的块低密奇偶校验码的装置和方法
CN1685621A (zh) 用于解交织通信设备中的交织数据流的方法和装置
CN1526196A (zh) 缩减的软输出信息分组的选择
CN1224226C (zh) 通信系统中重新排列码字序列的方法和设备
CN1305221C (zh) 迭代链接码解码电路以及使用该电路的编码/解码系统
CN1790971A (zh) 移动通信系统中高度可靠地发送和接收数据的方法和装置
CN1154238C (zh) 交织地址生成装置及交织地址生成方法
CN1493110A (zh) 特播解码器、特播解码方法以及存储该方法的存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060920

Termination date: 20210206

CF01 Termination of patent right due to non-payment of annual fee