CN109660265A - 一种基于DVB-RCS标准的自适应双二元Turbo码编译码方法 - Google Patents
一种基于DVB-RCS标准的自适应双二元Turbo码编译码方法 Download PDFInfo
- Publication number
- CN109660265A CN109660265A CN201811531756.3A CN201811531756A CN109660265A CN 109660265 A CN109660265 A CN 109660265A CN 201811531756 A CN201811531756 A CN 201811531756A CN 109660265 A CN109660265 A CN 109660265A
- Authority
- CN
- China
- Prior art keywords
- bit
- crc
- check
- turbo code
- information
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2957—Turbo codes and decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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 using interleaving techniques
- H03M13/2771—Internal interleaver for turbo codes
Abstract
本发明涉及一种基于DVB‑RCS标准的自适应双二元Turbo码编译码方法,涉及DVB‑RCS标准卫星通信系统返向链路RCST(Return Channel Satellite Terminal)小站中双二元Turbo码编码结构、交织算法、删余图样的选取、Max‑Log‑MAP软输入软输出译码算法、CRC校验等。本发明通过实时计算接收端译码后百帧数据CRC通过率的方法,生成码率调整因子,反馈给发送端进行编码码率调整,以实现Turbo码码率和信息传输效率的最优化。
Description
技术领域
本发明涉及一种基于DVB-RCS标准的自适应双二元Turbo码编译码方法,属于信道编码技术领域。
背景技术
VSAT(Very Small Aperture Terminal甚小口径终端),指的是天线口径小于2.4米,由大量地球站构成的卫星传输系统。它可以直接安装到用户处,使卫星通信实现直接面向用户或者个人。可以提供高质量的话音、数据、图像以及其他综合业务。是现代卫星通信的重要构成部分,是现代卫星通信的重要发展方向之一。
DVB-RCS是ETSI(European Telecommunications Standards Institute,欧洲电信标准协会),针对卫星通信特点,推出的一套结合DVB广播业务和VSAT双向交互业务的行业标准,其中主站采用DVB通信标准,标准协议包括:DVB-S、DVB-S2和DVB-S2X;RCST小站采用多频时分多址(MF-TDMA)的通信体制,信道编码采用双二元Turbo码编码,包含了循环递归系统卷积码、交织、删余等技术。
1、循环状态实现
Turbo码的分量编码器采用CSRC(Circular Recursive Systematic,循环递归系统卷积码),它不需要“收尾比特”就可使每个分组具有相同的起始状态和中止状态,这个相同的状态称为循环状态SC,提高了编码效率。
取UK为第k个编码时刻输入到寄存器D1,D2,D3的输入向量,按照编码框图,则有:
取G为生成矩阵,S=[D1,D2,D3]T为寄存器状态,SK为寄存器在第k时刻的状态,则有:
SK=G×SK-1+UK
取SN为编码结束时译码器的状态:
根据双二元Turbo码自收尾特性:
取S0=0,为S0=0时编码结束时的状态,则有
说明若使编码器初始状态和结束状态同为循环状态SC,和G满足相应条件:由于G7=E,编码序列的比特对长度N不能使7的倍数,同时按照编码框图可预先计算出遍历出SC的对照表,该表行值为列值为Nmod7。
2、交织器
Turbo码中交织器的作用减少校验比特之间的相关性,进而在迭代译码过程中降低误比特率。通过增加交织器的长度,可以使译码性能得到提高,好的交织器可使总的码字的自由距离随交织器长度的增加而增加,即提供一定的交织器距离。
交织器应该使输入序列尽可能地随机化,从而避免编码生成低重码字的信息序列在交织后编码仍旧生成低重码字,导致Turbo码的自由距离减小。
交织深度与码重参数是交织器设计时两个重要的参数指标,但它们之间还没有找到定量的关系式。目前,对交织器的设计一般都是采用计算机仿真的方法来搜索出较满意的交织器。
因此,根据不同的设计思想,交织器大致可以分成两类:规则交织器和随机交织器。规则交织器通常按照一定的规则映射来实现交织,通常比较容易实现;基于随机性准则设计的交织器通常称为伪随机交织器。对于长度有限的输入信息序列而言,交织长度有限,实现完全随机是不可能的。当然也可以将规则交织和伪随机交织相结合作为交织器设计的方法。
交织前后比特之间的距离。如果交织器能够通过交织在原始序列中距离较近的信息比特经过交织后有一定的距离,则可以在一定程度上提高Turbo码的性能。
在删余Turbo码中,如果设计的交织器能够实现对系统比特的均匀保护,则有助于提高Turbo码的性能。例如,在采用伪随机交织器时,原始序列中某个位于奇数位置的比特经过交织后可能在交织序列的偶数位置出现,这样经过编码后它对应的两个校验比特也分别位于两个校验序列的奇数位置和偶数位置。根据前述删余方法,这两个校验比特要么都被删除,要么都被保留。在译码时,那些两个校验比特均被删除的信息比特出现错译的概率大大增加,降低了Turbo码的性能。因此所设计的交织器如果能够保证交织后信息比特位置的奇偶性不变,则有助于提高性能。
如果在Turbo码的编码器中引入交织器,那么在译码中就必须有与其相对应的解交织器,即需要两个设备来分别实现交织和解交织过程。如果所设计的交织器满足对称特性,则交织器和解交织器就是完全相同的,从而可以用同一个设备实现。
3、码率和删余
Turbo码编码的自然输出序为:2N比特系统位(A、B)和4N比特校验位(Y1、Y2、W1、W2),全部输出的情况下的编码码率为1/3,可通过删除固定位置的校验比特位来得到不同的码率,从而在牺牲一定译码性能的基础上提升信息传输速率,Yi,Wi为比特0或者比特1。
码率为:weight()表示比特1的总个数;
4、CRC校验
循环冗余校验(Cyclic Redundancy Check,CRC)是利用除法及余数来进行错误检测的一种方法,现在通用的是X.25标准中的CRC-16CCITT,生成多项式为X16+X15+X2+1。
5、Turbo码软输入软输出译码
Turbo码获得优异性能的根本原因之一是采用了迭代译码,通过分量译码器之间软信息的交换来提高译码性能。对于并行级联码,如果分量译码器的输出为硬判决,则不可能实现分量译码器之间软信息的交换;同样,对于串行级联码,如果内码译码器的输出为硬判决结果,则外码译码器也无法采用软判决译码技术,从而限制了系统性能的进一步提高。从信息论的角度来看,任何硬判决都会损失部分信息,因此,如果分量译码器(内码译码器)能够提供一个反映其输出可靠性的软输出,则其他分量译码器(外码译码器)也可以来用软判决译码,从而系统的性能可以得到进一步提高。为此,人们又提出了软输出译码的概念和方法,即译码器的输入输出均为软信息。
最大后验概率算法(MAP,Maximum a posteriori probability algorithm)是最优的Turbo码译码算法,算法中存在着大量指数和对数计算,工程实现时在对数域上进行,这就是著名的Log-MAP算法,在牺牲有限译码性能的基础上,进一步可精简为Max-Log-MAP算法。
综上,现有DVB-RCS标准双二元Turbo码编码技术中,没有提供自适应码率调整相关技术,导致在实际通信中可能出现通信条件优良却采用低码率Turbo码浪费空间资源和通信条件恶劣却采用高码率Turbo码影响通信质量的问题。
发明内容
针对现有技术的不足,本发明提供了一种基于DVB-RCS标准的自适应双二元Turbo码编译码方法,通过实时计算接收端译码后百帧数据CRC通过率的方法,生成码率调整因子,反馈给发送端进行编码码率调整,以实现Turbo码码率和信息传输效率的最优化。
本发明具体涉及DVB-RCS标准卫星通信系统返向链路RCST(Return ChannelSatellite Terminal)小站中双二元Turbo码编码结构、交织算法、删余图样的选取、Max-Log-MAP软输入软输出译码算法、CRC校验等。
术语解释:
1、FDMA:频分多址,不同用户采用不同频点进行通信。
2、TDMA:时分多址,多用户共用一个频点,在该频点内以时隙来区分不同用户。
3、RCST:Return Channel Satellite Terminal,返向链路,VSAT小站发往主站的通信链路。
4、CRSC分量编码器:Circular RecursiCyve Systematic,循环递归系统卷积码,是一种初始状态与结束状态相同的系统卷积码编码器。
5、模二加:二元域上的加法运算,相同比特模二加值为0,不同比特模二加值为1。
6、CRC校验:(Cyclic Redundancy Check),是一种常用的检错码,可用于接收端接收到的信息帧是否有误比特。
本发明的技术方案为:
一种基于DVB-RCS标准的自适应双二元Turbo码编译码方法,应用于VSAT卫星通信系统的返向链路中,VSAT卫星通信系统包括主站设备、通信卫星和RCST小站设备,通信链路包括前向链路和返向链路;前向链路是指:主站设备发送FDMA信号,经过通信卫星中继传输到小站用户,信道编码采用DVB系列标准;返向链路为RCST小站设备的用户发送TDMA信号,经过通信卫星中继传输到主站设备,信道编码采用双二元Turbo码;
工作原理上,RCST小站设备的用户数据添加2个字节的CRC校验形成信息帧,信息帧按照某一特定码率进行Turbo码编码,再经过通信卫星的前端调理设备处理后,发送TDMA信号到通信卫星。主站设备在接收到TDMA信号后,首先做卫星前端相关处理,然后进行Turbo码译码,译码后的信息帧进行CRC校验,每100个信息帧进行1次CRC通过率统计,如果通过率低于100%,则通过前向链路或者其他通信方式发送码率调整指令到RCST小站,通知其降低码率,以提升通信质量,如果通过率达到100%,则不发送码率调整指令。
A、Turbo码编码,本发明参照DVB-RCS标准,分为3个阶段进行:
(1)初始化;
初始化CSRC分量编码器的反馈部分为:1+D+D3,Y校验比特为:1+D+D3,W校验比特为:1+D3;
初始化循环状态表;
初始化信息码长为2N比特,N∈{48,64,212,220,228,424,432,440,752,848,856,864},根据N参照标准确立交织参数;
初始化编码码率,编码码率∈{1/3,2/5,1/2,2/3,3/4,4/5,6/7};
(2)建表;
创建二维编码输出表,双二元输入共有{00,01,10,11}4种情况,CSRC分量编码器包含3个移位寄存器,共有8种状态,据此创建4*8项的二维编码输出表,二维编码输出表的值为Y和W;;
创建交织表,结合初始化信息码长,选择参照标准确立交织参数,创建2N比特长度的交织表;
创建删余表,根据初始化编码码率对应的删余图案创建删余表,0表示删除对应校验位,1表示保留对应校验位。
(3)实施Turbo码编码;运行于Turbo码编码系统,所述Turbo码编码系统包括第一CSRC分量编码器、第二CSRC分量编码器、交织器、删余器;
a、初始化第一CSRC分量编码器为0,依次输入2N比特编码信息,得到第一CSRC分量编码器的最终状态
b、根据Nmod7的值和参照初始化阶段建立的循环状态表,查找循环状态值SC;
c、初始化第一CSRC分量编码器为SC,输入2N比特信息进行编码,得到第一对校验位:Y1和W1;
d、将2N比特信息代入交织表进行交织处理;
e、将步骤d交织处理后的信息输入第二分量编码器,重复步骤a-c,得到第二对校验位:Y2和W2;
f、根据编码码率对应的删余图案对第一对校验位和第二对校验位进行删余;
g、将步骤删余后的校验位复合,添加16比特CRC校验,按照自然顺序依次输出;
B、Turbo码译码;
C、CRC校验
(4)CRC校验位的应用过程;RCST小站用户在发送数据时,在每帧信息后添加2个字节的CRC校验,生成多项式为X16+X15+X2+1;主站在接收到信息后,逐帧数据进行CRC校验,以100帧数据为单位计算CRC校验通过率,如果CRC校验通过率超过预设的值,则通知RCST小站保持现有Turbo码码率不变,否则,通知RCST小站降低码率;以提升通信质量。
(5)按字节查表法计算CRC校验是否通过;生成多项式用二进制表示为:11000000000001001,共计17位;比特流数据依次除以生成多项式,如果最后得到的16位余数为0,则表示CRC校验通过,反之,表示不通过;如果直接运算,需要每一帧数据进行信息帧长2N次17比特之间的模二加运算,即总共需要进行34N次比特间(34N/8字节)的模二加,效率很低。考虑到该除法运算只需要得出16为余数结果,且只有被除的17比特数据第1比特为1时才进行运算,可以采用按字节查表法计算CRC校验的值。按照此方法只需进行2N/8次查表运算,效率提升可达17倍。
根据本发明优选的,所述步骤(5),采用按字节查表法计算CRC校验的值,CRC校验的值即CRC值,包括步骤如下:
m、生成8位二进制数的CRC值表,8位二进制数的取值范围为0—255,在该数后再添加16比特0共形成24比特数据,该24比特数据除以生成多项式,得到的16比特余数值,即为CRC值,
n、按字节查表的方式计算CRC值,根据CRC值表,逐字节进行运算,计算完前一字节后,16比特CRC校验结果值取后,8比特与下一字节的CRC值进行模二加运算,直至计算完最后一个字节,得出最终的CRC值。
所述步骤B,Turbo码译码,包括步骤如下:
本发明采用了一种改进的高效Max-Log-MAP算法,具体包括6个阶段组成:
①计算CRC校验,收到Turbo码编码后的数据后,计算CRC校验是否通过,如果通过,则不进行译码,直接提取信息部分输出,如果不通过,则进行译码操作,进入步骤②;
②初始化阶段,该阶段初始化的参数包括步骤(1)初始化的CSRC分量编码器、循环状态表、信息码长、编码码率,还包括迭代译码次数及inner_ext,inner_ext是指初次迭代译码时,初始化用于2个分量译码器之间相互传递的外信息,初始化inner_ext=0;
③建表阶段,该阶段创建的表包括步骤(2)创建的二维编码输出表、交织表、删余表,还包括创建二维编码输出表时新增CSRC分量编码器从前一时刻到当前时刻的递推表、创建二维编码输出表时新增CSRC分量编码器从后一时刻到当前时刻的递推表、根据交织表逆向运算得到的解交织表和根据删除表逆向运算得到的反删余表;
④生成Max-Log-MAP译码函数,该函数共包含7个参量:输入信息序列inx[3N]、输入校验序列inz[3N]、输出信息序列outx[3N]、输出校验序列outz[3N]、软判决比特soft_bits[2N]、收尾状态trellis_end_state[32]和尾码输出trellis_out[32],该函数运算分四步进行:第一步,初始化α[i][0]=0,β[i][N]=0,i∈{0,1,2,3,4,5,6,7};第二步,根据β[][j+1]前向递推β[][j],j∈{N-1,N-2,…0};第三步,根据α[][k]后向递推α[][k+1],k∈{0,1,2…,N-1};第四步,查找输出值,生成outx[3N]、outz[3N]和soft_bits[2N],outx[3N]、outz[3N]和soft_bits[2N];
⑤反删余阶段,将接收到的信息位和校验位代入反删余表,分别生成3N长度的信息位X[3N]、第一对校验位inz1[3N]和第二对校验位inz2[3N],这3个数组中前2位为接收到的信息位或校验位,第3位为前2位的和;
⑥迭代译码阶段:该阶段分四步进行,包括:
h、将X[3N]+inner_extr[3N]和inz1[3N]代入Max-Log-MAP译码函数,生成outx1[3N]、outz1[3N]和softbits[2N];
i、计算llrx1[3N]=outx1[3N]-inner_extr[3N];
j、将llrx1[3N]解交织,作为inx2[3N],将inx2[3N]和inz2[3N]代入Max-Log-MAP译码函数,生成outx2[3N]、outz2[3N]和softbits[2N];
k、判断是否已经完成迭代次数,如果是,进入步骤l,否则,返回步骤h;
l、判决输出,逐项判断softbits[2N],如果大于0,则判决输出为1,否则,判决输出为0。
本发明的有益效果为:
1、本发明详细阐述了DVB-RCS标准在VSAT卫星通信系统中的应用流程,并提出的通过计算接收数据百帧CRC通过率来生成码率调整因子的方法,实现了DVB-RCS卫星通信系统的自适应码率调整。
2、本发明还提供了一种软输入软输出的Max-Log-MAP译码算法和一种高效的按字节查表计算CRC校验方法,具有较高的可移植性和灵活的使用空间。
3、本发明适用于欧洲DVB-RCS标准VSAT卫星通信网,同时在理论上对于美国IPoS标准依然是适用的,基本涵盖了市面上绝大多数的VSAT卫星通信设备,具有较好的推广应用价值。
附图说明
图1是VSAT卫星通信系统的运行框图;
图2是DVB-RCS标准在VSAT卫星通信网的应用示意图;
图3是DVB-RCS标准双二元Turbo码的编码框图;
图4是本发明的自适应码率运行图;
图5是码率为1/2和1/3时的误比特率仿真示意图;
具体实施方式
下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。
实施例1
一种基于DVB-RCS标准的自适应双二元Turbo码编译码方法,本实施例以某大型远洋公司船只出海与陆地公司总部通信为例。该船只安装有VSAT卫星通信终端,舰船RCST小站发送TDMA信号经某卫星透明传输到陆地公司接收站,陆地公司发送DVB信号经某卫星透明传输到该舰船RCST小站,完成双工通信。本实施例方法应用于VSAT卫星通信系统的返向链路中,VSAT卫星通信系统的运行框图如图1所示,VSAT卫星通信系统包括主站设备、通信卫星和RCST小站设备,通信链路包括前向链路和返向链路;前向链路是指:主站设备发送FDMA信号,经过通信卫星中继传输到小站用户,信道编码采用DVB系列标准;返向链路为RCST小站设备的用户发送TDMA信号,经过通信卫星中继传输到主站设备,信道编码采用双二元Turbo码;
工作原理上,RCST小站设备的用户数据添加2个字节的CRC校验形成信息帧,信息帧按照某一特定码率进行Turbo码编码,再经过通信卫星的前端调理设备处理后,发送TDMA信号到通信卫星。主站设备在接收到TDMA信号后,首先做卫星前端相关处理,然后进行Turbo码译码,译码后的信息帧进行CRC校验,每100个信息帧进行1次CRC通过率统计,如果通过率低于100%,则通过前向链路或者其他通信方式发送码率调整指令到RCST小站,通知其降低码率,以提升通信质量,如果通过率达到100%,则不发送码率调整指令。
DVB-RCS标准在VSAT卫星通信网的应用示意图如图2所示;
A、Turbo码编码,本发明参照DVB-RCS标准,分为3个阶段进行:
(1)初始化;
初始化CSRC分量编码器的反馈部分为:1+D+D3,Y校验比特为:1+D+D3,W校验比特为:1+D3;
初始化循环状态表;
初始化信息码长为2N比特,N∈{48,64,212,220,228,424,432,440,752,848,856,864},根据N参照标准确立交织参数;
初始化编码码率,编码码率∈{1/3,2/5,1/2,2/3,3/4,4/5,6/7};
(2)建表;
创建二维编码输出表,双二元输入共有{00,01,10,11}4种情况,CSRC分量编码器包含3个移位寄存器,共有8种状态,据此创建4*8项的二维编码输出表,二维编码输出表的值为Y和W;;
创建交织表,结合初始化信息码长,选择参照标准确立交织参数,创建2N比特长度的交织表;
创建删余表,根据初始化编码码率对应的删余图案创建删余表,0表示删除对应校验位,1表示保留对应校验位。
双二元Turbo码采用双路二进制循环递归系统卷积码(CRSC,Circular RecursiveSystematic Convolutional),在系统卷积码的基础上增加1路反馈,以实现编码初始状态与结束状态相同。数据序列以成对的形式送入编码器,以N个双比特为一组进行编码,N就是交织器的交织长度,N是4的倍数。编码前的数据为2N比特,第一比特赋值为A,第二比特赋值为B,以此类推。
定义编码器各组成部分关系的多项式用象征符号表示如下:
反馈部分:1+D+D3;
Y校验比特:1+D2+D3;
W校验比特:1+D3。
N组双比特码元(A,B)直接输出,形成Turbo码的系统部分;
N组双比特码以自然顺序送入CRSC编码器,形成N对检验比特(Y1,W1);
N组双比特码先送入交织器经过交织再进行CRSC编码,形成另一个N对校验比特(Y2,W2);
校验比特经过删余处理来调整输出码率,并和系统部分复合形成Turbo码;
双二元Turbo码交织的设计分两个阶段进行,第一阶段是组内交织,第二阶段是帧内以组(2比特)为单位交织。设置交织参量为P0、P1、P2和P3,j=0,…,N-1。
第一阶段:如果j模上2等于0,那么令(A,B)变为(B,A)(即2比特倒序)。
第二阶段:
如果j模上4=0,那么P=0;
如果j模上4=1,那么P=N/2+P1;
如果j模上4=2,那么P=P2;
如果j模上4=3,那么P=N/2+P3。
i=(P0×j+P+1)mod.N
其中P的值参照下面的条件,计算P时需要的其它参数N及P0、P1、P2、P3的默认设置组合在表1给出。表1为Turbo码交织参数。
表1
交织长度N(对) | P0 | {P1、P2、P3} |
48 | 11 | {24,0,24} |
64 | 7 | {34,32,2} |
212 | 13 | {106,108,2} |
220 | 23 | {112,4,116} |
228 | 17 | {116,72,188} |
424 | 11 | {6,8,2} |
432 | 13 | {0,4,8} |
440 | 13 | {10,4,2} |
848 | 19 | {2,16,6} |
856 | 19 | {428,224,652} |
864 | 19 | {2,16,6} |
752 | 19 | {376,224,600} |
Turbo码的分量编码器采用CSRC(循环递归系统卷积码),它不需要“收尾比特”就可使每个分组具有相同的起始状态和中止状态,这个相同的状态称为循环状态Sc。编码器循环状态Sc的值取决于编码长度N和当初始状态为0时编码结束时的状态其中N不能是7的倍数,具体可通过表2查询。表2为循环状态对照表;
表2
Turbo码编码的自然输出序为:A、B、Y1、Y2、W1、W2,全部输出的情况下的编码码率为1/3,可通过删余来得到不同的码率。
(3)实施Turbo码编码;运行于Turbo码编码系统,所述Turbo码编码系统包括第一CSRC分量编码器、第二CSRC分量编码器、交织器、删余器;
a、根据图3所示DVB-RCS标准双二元Turbo码的编码框图,初始化第一CSRC分量编码器为0,依次输入2N比特编码信息,得到第一CSRC分量编码器的最终状态
b、根据Nmod7的值和参照初始化阶段建立的循环状态表,查找循环状态值SC;
c、初始化第一CSRC分量编码器为SC,输入2N比特信息进行编码,得到第一对校验位:Y1和W1;
d、将2N比特信息代入交织表进行交织处理;
e、将步骤d交织处理后的信息输入第二分量编码器,重复步骤a-c,得到第二对校验位:Y2和W2;
f、根据编码码率对应的删余图案对第一对校验位和第二对校验位进行删余;
g、将步骤删余后的校验位复合,添加16比特CRC校验,按照自然顺序依次输出;
B、Turbo码译码;
C、CRC校验
(4)CRC校验位的应用过程;如图4所示,RCST小站用户在发送数据时,在每帧信息后添加2个字节的CRC校验,生成多项式为X16+X15+X2+1;主站在接收到信息后,逐帧数据进行CRC校验,以100帧数据为单位计算CRC校验通过率,如果CRC校验通过率超过预设的值,则通知RCST小站保持现有Turbo码码率不变,否则,通知RCST小站降低码率;以提升通信质量。
(5)按字节查表法计算CRC校验是否通过;生成多项式用二进制表示为:11000000000001001,共计17位;比特流数据依次除以生成多项式,如果最后得到的16位余数为0,则表示CRC校验通过,反之,表示不通过;如果直接运算,需要每一帧数据进行信息帧长2N次17比特之间的模二加运算,即总共需要进行34N次比特间(34N/8字节)的模二加,效率很低。考虑到该除法运算只需要得出16为余数结果,且只有被除的17比特数据第1比特为1时才进行运算,可以采用按字节查表法计算CRC校验的值。按照此方法只需进行2N/8次查表运算,效率提升可达17倍。
该舰船出海航行初期,天气状况适宜、通信质量好,Turbo码采用6/7码率,不经Turbo码译码,陆地接收到的数据每百帧的CRC校验通过率就可达到99%,如果经过1次迭代译码,百帧CRC校验通过率为100%。
舰船行至远海时遇到风暴天气,通信质量下降,仍然采用6/7码率的Turbo码,不经Turbo码译码,陆地接收到的数据每百帧的CRC校验通过率平均只能达到20%,即使经过4次迭代译码,百帧CRC校验通过率也只能达到60%。此时需要降低码率,以提升纠错能力,陆地主站通过DVB信号发送指令到舰船由{4/5,3/4,2/3,1/2,2/5,1/3}依次降低码率,直至陆地接收数据的译码后百帧CRC通过率达到100%或者码率已经降低至1/3为止。在相同信噪比下,码率为1/2和1/3时的误比特率仿真情况如如图5所示,可见码率越低,纠错能力越强。
实施例2
根据实施例1所述的一种基于DVB-RCS标准的自适应双二元Turbo码编译码方法,其区别在于:
步骤(5)中,采用按字节查表法计算CRC校验的值,CRC校验的值即CRC值,包括步骤如下:
m、生成8位二进制数的CRC值表,8位二进制数的取值范围为0—255,在该数后再添加16比特0共形成24比特数据,该24比特数据除以生成多项式,得到的16比特余数值,即为CRC值,
n、按字节查表的方式计算CRC值,根据CRC值表,逐字节进行运算,计算完前一字节后,16比特CRC校验结果值取后,8比特与下一字节的CRC值进行模二加运算,直至计算完最后一个字节,得出最终的CRC值。
所述步骤B,Turbo码译码,包括步骤如下:
本发明采用了一种改进的高效Max-Log-MAP算法,具体包括6个阶段组成:
①计算CRC校验,收到Turbo码编码后的数据后,计算CRC校验是否通过,如果通过,则不进行译码,直接提取信息部分输出,如果不通过,则进行译码操作,进入步骤②;
②初始化阶段,该阶段初始化的参数包括步骤(1)初始化的CSRC分量编码器、循环状态表、信息码长、编码码率,还包括迭代译码次数及inner_ext,inner_ext是指初次迭代译码时,初始化用于2个分量译码器之间相互传递的外信息,初始化inner_ext=0;
③建表阶段,该阶段创建的表包括步骤(2)创建的二维编码输出表、交织表、删余表,还包括创建二维编码输出表时新增CSRC分量编码器从前一时刻到当前时刻的递推表、创建二维编码输出表时新增CSRC分量编码器从后一时刻到当前时刻的递推表、根据交织表逆向运算得到的解交织表和根据删除表逆向运算得到的反删余表;
④生成Max-Log-MAP译码函数,该函数共包含7个参量:输入信息序列inx[3N]、输入校验序列inz[3N]、输出信息序列outx[3N]、输出校验序列outz[3N]、软判决比特soft_bits[2N]、收尾状态trellis_end_state[32]和尾码输出trellis_out[32],该函数运算分四步进行:第一步,初始化α[i][0]=0,β[i][N]=0,i∈{0,1,2,3,4,5,6,7};第二步,根据β[][j+1]前向递推β[][j],j∈{N-1,N-2,…0};第三步,根据α[][k]后向递推α[][k+1],k∈{0,1,2…,N-1};第四步,查找输出值,生成outx[3N]、outz[3N]和soft_bits[2N],outx[3N]、outz[3N]和soft_bits[2N];
⑤反删余阶段,将接收到的信息位和校验位代入反删余表,分别生成3N长度的信息位X[3N]、第一对校验位inz1[3N]和第二对校验位inz2[3N],这3个数组中前2位为接收到的信息位或校验位,第3位为前2位的和;
⑥迭代译码阶段:该阶段分四步进行,包括:
h、将X[3N]+inner_extr[3N]和inz1[3N]代入Max-Log-MAP译码函数,生成outx1[3N]、outz1[3N]和softbits[2N];
i、计算llrx1[3N]=outx1[3N]-inner_extr[3N];
j、将llrx1[3N]解交织,作为inx2[3N],将inx2[3N]和inz2[3N]代入Max-Log-MAP译码函数,生成outx2[3N]、outz2[3N]和softbits[2N];
k、判断是否已经完成迭代次数,如果是,进入步骤l,否则,返回步骤h;
l、判决输出,逐项判断softbits[2N],如果大于0,则判决输出为1,否则,判决输出为0。
Claims (3)
1.一种基于DVB-RCS标准的自适应双二元Turbo码编译码方法,其特征在于,应用于VSAT卫星通信系统的返向链路中,包括步骤如下:
A、Turbo码编码:
(1)初始化;
初始化CSRC分量编码器的反馈部分为:1+D+D3,Y校验比特为:1+D+D3,W校验比特为:1+D3;
初始化循环状态表;
初始化信息码长为2N比特,N∈{48,64,212,220,228,424,432,440,752,848,856,864},根据N参照标准确立交织参数;
初始化编码码率,编码码率∈{1/3,2/5,1/2,2/3,3/4,4/5,6/7};
(2)建表;
创建二维编码输出表,双二元输入共有{00,01,10,11}4种情况,CSRC分量编码器包含3个移位寄存器,共有8种状态,据此创建4*8项的二维编码输出表,二维编码输出表的值为Y和W;;
创建交织表,结合初始化信息码长,选择参照标准确立交织参数,创建2N比特长度的交织表;
创建删余表,根据初始化编码码率对应的删余图案创建删余表,0表示删除对应校验位,1表示保留对应校验位;
(3)实施Turbo码编码;运行于Turbo码编码系统,所述Turbo码编码系统包括第一CSRC分量编码器、第二CSRC分量编码器、交织器、删余器;
a、初始化第一CSRC分量编码器为0,依次输入2N比特编码信息,得到第一CSRC分量编码器的最终状态
b、根据Nmod7的值和参照初始化阶段建立的循环状态表,查找循环状态值SC;
c、初始化第一CSRC分量编码器为SC,输入2N比特信息进行编码,得到第一对校验位:Y1和W1;
d、将2N比特信息代入交织表进行交织处理;
e、将步骤d交织处理后的信息输入第二分量编码器,重复步骤a-c,得到第二对校验位:Y2和W2;
f、根据编码码率对应的删余图案对第一对校验位和第二对校验位进行删余;
g、将步骤删余后的校验位复合,添加16比特CRC校验,按照自然顺序依次输出;
B、Turbo码译码;
C、CRC校验
(4)CRC校验位的应用过程;RCST小站用户在发送数据时,在每帧信息后添加2个字节的CRC校验,生成多项式为X16+X15+X2+1;主站在接收到信息后,逐帧数据进行CRC校验,以100帧数据为单位计算CRC校验通过率,如果CRC校验通过率超过预设的值,则通知RCST小站保持现有Turbo码码率不变,否则,通知RCST小站降低码率;
(5)按字节查表法计算CRC校验是否通过;生成多项式用二进制表示为:11000000000001001,共计17位;比特流数据依次除以生成多项式,如果最后得到的16位余数为0,则表示CRC校验通过,反之,表示不通过;如果直接运算,采用按字节查表法计算CRC校验的值。
2.根据权利要求1所述的一种基于DVB-RCS标准的自适应双二元Turbo码编译码方法,其特征在于,所述步骤(5),采用按字节查表法计算CRC校验的值,CRC校验的值即CRC值,包括步骤如下:
m、生成8位二进制数的CRC值表,8位二进制数的取值范围为0—255,在该数后再添加16比特0共形成24比特数据,该24比特数据除以生成多项式,得到的16比特余数值,即为CRC值,
n、按字节查表的方式计算CRC值,根据CRC值表,逐字节进行运算,计算完前一字节后,16比特CRC校验结果值取后,8比特与下一字节的CRC值进行模二加运算,直至计算完最后一个字节,得出最终的CRC值。
3.根据权利要求1或2所述的根据权利要求1所述的一种基于DVB-RCS标准的自适应双二元Turbo码编译码方法,其特征在于,所述步骤B,Turbo码译码,包括步骤如下:
①计算CRC校验,收到Turbo码编码后的数据后,计算CRC校验是否通过,如果通过,则不进行译码,直接提取信息部分输出,如果不通过,则进行译码操作,进入步骤②;
②初始化阶段,该阶段初始化的参数包括步骤(1)初始化的CSRC分量编码器、循环状态表、信息码长、编码码率,还包括迭代译码次数及inner_ext,inner_ext是指初次迭代译码时,初始化用于2个分量译码器之间相互传递的外信息,初始化inner_ext=0;
③建表阶段,该阶段创建的表包括步骤(2)创建的二维编码输出表、交织表、删余表,还包括创建二维编码输出表时新增CSRC分量编码器从前一时刻到当前时刻的递推表、创建二维编码输出表时新增CSRC分量编码器从后一时刻到当前时刻的递推表、根据交织表逆向运算得到的解交织表和根据删除表逆向运算得到的反删余表;
④生成Max-Log-MAP译码函数,该函数共包含7个参量:输入信息序列inx[3N]、输入校验序列inz[3N]、输出信息序列outx[3N]、输出校验序列outz[3N]、软判决比特soft_bits[2N]、收尾状态trellis_end_state[32]和尾码输出trellis_out[32],该函数运算分四步进行:第一步,初始化α[i][0]=0,β[i][N]=0,i∈{0,1,2,3,4,5,6,7};第二步,根据β[][j+1]前向递推β[][j],j∈{N-1,N-2,…0};第三步,根据α[][k]后向递推α[][k+1],k∈{0,1,2…,N-1};第四步,查找输出值,生成outx[3N]、outz[3N]和soft_bits[2N],outx[3N]、outz[3N]和soft_bits[2N];
⑤反删余阶段,将接收到的信息位和校验位代入反删余表,分别生成3N长度的信息位X[3N]、第一对校验位inz1[3N]和第二对校验位inz2[3N],这3个数组中前2位为接收到的信息位或校验位,第3位为前2位的和;
⑥迭代译码阶段:该阶段分四步进行,包括:
h、将X[3N]+inner_extr[3N]和inz1[3N]代入Max-Log-MAP译码函数,生成outx1[3N]、outz1[3N]和softbits[2N];
i、计算llrx1[3N]=outx1[3N]-inner_extr[3N];
j、将llrx1[3N]解交织,作为inx2[3N],将inx2[3N]和inz2[3N]代入Max-Log-MAP译码函数,生成outx2[3N]、outz2[3N]和softbits[2N];
k、判断是否已经完成迭代次数,如果是,进入步骤l,否则,返回步骤h;
l、判决输出,逐项判断softbits[2N],如果大于0,则判决输出为1,否则,判决输出为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811531756.3A CN109660265B (zh) | 2018-12-14 | 2018-12-14 | 一种基于DVB-RCS标准的自适应双二元Turbo码编译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811531756.3A CN109660265B (zh) | 2018-12-14 | 2018-12-14 | 一种基于DVB-RCS标准的自适应双二元Turbo码编译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109660265A true CN109660265A (zh) | 2019-04-19 |
CN109660265B CN109660265B (zh) | 2021-08-31 |
Family
ID=66114072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811531756.3A Active CN109660265B (zh) | 2018-12-14 | 2018-12-14 | 一种基于DVB-RCS标准的自适应双二元Turbo码编译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109660265B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535478A (zh) * | 2019-09-27 | 2019-12-03 | 电子科技大学 | 一种DVB-RCS2协议中双输入类Turbo码闭集识别方法 |
CN112751651A (zh) * | 2020-12-29 | 2021-05-04 | 上海瀚芯实业发展合伙企业(有限合伙) | 一种Turbo码与神经网络相结合的信号传输方法 |
CN113364558A (zh) * | 2021-06-04 | 2021-09-07 | 重庆御芯微信息技术有限公司 | 基于自有通信协议WIoTA的编码方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100546207C (zh) * | 2007-11-30 | 2009-09-30 | 北京卫星信息工程研究所 | 一种基于DVB-RCS标准的双二元Turbo码译码方法 |
CN102104442A (zh) * | 2009-12-17 | 2011-06-22 | 中兴通讯股份有限公司 | 一种修正信道质量指示的方法和装置 |
US20140173376A1 (en) * | 2012-12-14 | 2014-06-19 | Sungkyunkwan University Research & Business Foundation | Encoding method and apparatus using crc code and polar code |
CN106253912A (zh) * | 2016-07-27 | 2016-12-21 | 西安电子科技大学 | 兼容两代DVB‑RCS的Turbo译码装置及方法 |
-
2018
- 2018-12-14 CN CN201811531756.3A patent/CN109660265B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100546207C (zh) * | 2007-11-30 | 2009-09-30 | 北京卫星信息工程研究所 | 一种基于DVB-RCS标准的双二元Turbo码译码方法 |
CN102104442A (zh) * | 2009-12-17 | 2011-06-22 | 中兴通讯股份有限公司 | 一种修正信道质量指示的方法和装置 |
US20140173376A1 (en) * | 2012-12-14 | 2014-06-19 | Sungkyunkwan University Research & Business Foundation | Encoding method and apparatus using crc code and polar code |
CN106253912A (zh) * | 2016-07-27 | 2016-12-21 | 西安电子科技大学 | 兼容两代DVB‑RCS的Turbo译码装置及方法 |
Non-Patent Citations (1)
Title |
---|
王臣: "双二元卷积Turbo码的并行译码研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535478A (zh) * | 2019-09-27 | 2019-12-03 | 电子科技大学 | 一种DVB-RCS2协议中双输入类Turbo码闭集识别方法 |
CN112751651A (zh) * | 2020-12-29 | 2021-05-04 | 上海瀚芯实业发展合伙企业(有限合伙) | 一种Turbo码与神经网络相结合的信号传输方法 |
CN112751651B (zh) * | 2020-12-29 | 2021-09-07 | 白盒子(上海)微电子科技有限公司 | 一种Turbo码与神经网络相结合的信号传输方法 |
CN113364558A (zh) * | 2021-06-04 | 2021-09-07 | 重庆御芯微信息技术有限公司 | 基于自有通信协议WIoTA的编码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109660265B (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106100794B (zh) | 一种基于打孔的极化码的编码协作方法 | |
US6202189B1 (en) | Punctured serial concatenated convolutional coding system and method for low-earth-orbit satellite data communication | |
CN101981932B (zh) | 用于对信号译码的装置和方法 | |
US6381728B1 (en) | Partitioned interleaver memory for map decoder | |
Collins et al. | Determinate state convolutional codes | |
US6859906B2 (en) | System and method employing a modular decoder for decoding turbo and turbo-like codes in a communications network | |
CN106888026A (zh) | 基于lsc‑crc译码的分段极化码编译码方法及系统 | |
CN101553990A (zh) | Turbo码交织器尺寸的确定 | |
CN109660265A (zh) | 一种基于DVB-RCS标准的自适应双二元Turbo码编译码方法 | |
CN109981224B (zh) | 一种深空通信信道编译码系统及其方法 | |
CN105991227A (zh) | 数据编码方法及装置 | |
CN100571046C (zh) | 一种在SCDMA系统中实现Turbo编译码方案的装置和方法 | |
US20040128696A1 (en) | Turbo coding for upstream and downstream transmission in cable systems | |
CN108809518A (zh) | 用于降低错误性能的级联Spinal码构建方法 | |
CN101277118A (zh) | 基于ldpc码的级联码的编码方法 | |
JP3674851B2 (ja) | スケーリングフィードバックターボ復号器 | |
Feng et al. | A novel high-rate polar-staircase coding scheme | |
KR20160031781A (ko) | 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법 및 장치 | |
KR20040033597A (ko) | 채널 부호화, 복호화 방법 및 이를 수행하는 다중 안테나무선통신 시스템 | |
CN100486235C (zh) | 软信息保留的迭代接收方法 | |
CN108259128A (zh) | 一种基于非随机生成矩阵的系统Raptor码的构造方法 | |
CN100581089C (zh) | TD-SCDMA系统中的Woven卷积码纠错编、译码器 | |
Seksembayeva et al. | Study of the principles of error correcting code in a multipath communication channel with intersymbol interference | |
Hagenauer et al. | Improving the standard coding system for deep space missions | |
Zolotarev et al. | Algorithm of multithreshold decoding for Gaussian channels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |