CN116743187A - 星载高速并行自适应ldpc编码器 - Google Patents
星载高速并行自适应ldpc编码器 Download PDFInfo
- Publication number
- CN116743187A CN116743187A CN202310618898.8A CN202310618898A CN116743187A CN 116743187 A CN116743187 A CN 116743187A CN 202310618898 A CN202310618898 A CN 202310618898A CN 116743187 A CN116743187 A CN 116743187A
- Authority
- CN
- China
- Prior art keywords
- bit
- parallel
- adaptive
- speed parallel
- register
- 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.)
- Pending
Links
- 239000011159 matrix material Substances 0.000 claims abstract description 109
- 238000004364 calculation method Methods 0.000 claims abstract description 47
- 230000003044 adaptive effect Effects 0.000 claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 19
- 125000004122 cyclic group Chemical group 0.000 claims description 88
- 238000000034 method Methods 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 17
- 241000764238 Isis Species 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims 1
- 238000013461 design Methods 0.000 abstract description 9
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000007726 management method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
-
- 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/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
一种星载高速并行自适应LDPC编码器,自适应参数设置模块根据自适应选择控制字和生成矩阵计算后续处理需要的各种自适应参数;高速并行输入数据格式整理模块将输入数据分组整理为编码需要的格式,以p bit并行方式送入高速并行编码计算模块和输出数据格式整理模块;生成矩阵参数存储管理模块用于存储不同码率的LDPC码生成矩阵的各个生成元;高速并行编码计算模块根据自适应参数,进行输入数据和生成矩阵的相乘,得到LDPC码的校验位;输出数据格式整理模块将计算出的校验位以p bit并行的方式拼接在并行输入数据位后面输出。本发明突破了自适应码流兼容设计和高速并行处理两项技术,实现29种码6.4Gbps高速数据的实时处理。
Description
技术领域
本发明属于高速数据传输与处理技术领域,涉及一种星载高速并行自适应LDPC编码器。
背景技术
信道编码是提高卫星通信数据传输链路可靠性的关键技术,低密度奇偶校验(LDPC)码是目前信道编码中综合性能最好的码。在实际的卫星通信中,由于地形、建筑物、天气等因素的影响,使得不同时间或不同地点通信环境差别很大,为了提高卫星信道使用率,应当使用多种性能不同码率的信道编码对信号进行不等程度的保护。此外随着卫星遥感技术的高速发展,编码器必须实时完成各类有效载荷海量数据的纠错处理,传统的串行LDPC编码方式已经不能满足高速处理需求。
CCSDS 131.1-O-2中推荐了两类LDPC码:一类是用于近地轨道卫星通信的具有单一码率7/8的LDPC(8176,7156)码。第二类是推荐应用于深空通信系统的一个系列的多种码率(1/2、2/3、3/4、4/5)的LDPC码,4种码率又有7种不同的码长,共28种码型。在具体的航天任务中,各用户根据任务环境的恶劣程度和需求,从码性能(包括错误平层)、编码和译码复杂度(包括达到所需要性能的译码迭代次数)、不同码率的兼容性、硬件实施和硬件支持的成熟度,来选择最适合任务需要的LDPC码。
1)CCSDS标准近地轨道卫星7/8码率LDPC的特点:
CCSDS标准7/8码率LDPC(8176,7154)的校验矩阵是由2×16个511×511的循环矩阵构成的,该校验矩阵大小为1022×8176,如式(1)所示:
Ai1,j1(i1=1,2;j1=1,2,…16)是一个511×511的循环矩阵,Ai1,j1的每行每列中均有两个非零元素,即行重为2,校验矩阵由2×16个循环矩阵构成,所以该校验矩阵的行重为2×16=32,列重为2×2=4。
经过一系列复杂运算,可以计算出其具有准循环特性的生成矩阵Gqc,形式如下:
其中,Bi,j(i=1~14,j=1、2)为511*511维循环矩阵,即循环矩阵Bi,j的第二行到最后一行的数据,为其前一行数据向右循环1位:
由于511*511不是并行实现位宽16bit的整数倍,为了实现高速并行,所以需要将Bi,j扩展为512*511的扩充矩阵B'ij,扩展方法详见专利《一种基于bit填充的LDPC编码方法》。
由所述扩充矩阵B'i,j(i=1~14,j=1、2)组成新的7168*1022维矩阵P':
(2)CCSDS标准深空通信的多码率LDPC的特点:
CCSDS标准中适用于深空通信的LDPC码均为准循环结构的LDPC码,共有4种码率,分别为1/2、2/3、3/4、4/5。各个码率的校验矩阵具有如下形式:
其中IM为M×M的单位矩阵,0M是M×M的零矩阵,Π1~Π26是交织稀疏矩阵。每个Πk′(k′∈[1,26])包括16个大小为m=M/4的循环矩阵,这样就可以计算出各个码率的校验矩阵H。其中M取128、256、512、1024、2048、4096、8192七种不同值,对应的每种循环矩阵大小m取32、64、128、256、512、1024、2048。当M不同时,同种码率的码参数及码长都不一样了,所以每种码率又产生7种不同的码,该系列码所涉及的码共有28种。
CCSDS标准中适用于深空通信的4种码率共28种LDPC码的生成矩阵经过一系列复杂计算,可计算出其具有兼容特性的生成矩阵,兼容计算详见《星载LDPC码兼容技术研究》,生成矩阵G形式如下所示:
其中gi,j为m×m的循环矩阵,用于计算校验比特部分共有12大列循环矩阵,然而标准中推荐的该系列码为删余码形式,在编码时,没有必要将删余的4m个校验比特计算出来,该系列码的生成矩阵中真正用于计算校验比特的部分只有8大列循环矩阵。
(3)目前卫星通道编码常用码型
目前卫星通道编码最常用的三种码型为7/8码率的LDPC(8176,7156)和4/5码率的LDPC(5120,4096),以及1/2码率的LDPC(8192,4096),均为CCSDS标准131.1-O-2中推荐的29种码型之一,为独立设计,不能根据信道实际情况切换码率,7/8码率的LDPC(8176,7156)已有高速并行实现方案,其余两种均是单bit串行实现方法。
为此开展码率自适应性高速并行LDPC编码器的研制是非常必要的。
发明内容
本发明解决的技术问题是:克服现有技术的不足,提出一种星载高速并行自适应LDPC编码器,实现了CSSDS标准推荐的29种LDPC码的高速并行实时处理,解决近10年内海量数据传输纠错的难题,满足未来10年内卫星的对不同性能信道编码需求。
本发明解决技术的方案是:
一种星载高速并行自适应LDPC编码器,包括自适应参数设置模块、高速并行输入数据格式整理模块、生成矩阵参数存储管理模块、高速并行编码计算模块和输出数据格式整理模块;
自适应参数设置模块:根据自适应选择控制字和生成矩阵计算后续处理需要的各种自适应参数,输出给高速并行编码计算模块、生成矩阵参数存储管理模块、高速并行输入数据格式整理模块;
高速并行输入数据格式整理模块:根据自适应参数,将输入数据分组整理为编码需要的格式,以p bit并行方式送入高速并行编码计算模块和输出数据格式整理模块;其中p=2、4、8、16或32;
生成矩阵参数存储管理模块:用于根据自适应参数存储不同码率的LDPC码生成矩阵的各个生成元;
高速并行编码计算模块:根据自适应参数,从生成矩阵参数存储管理模块中读取相应的生成矩阵的生成元,进行输入数据和生成矩阵的相乘,得到LDPC码的校验位,输出给输出数据格式整理模块;
输出数据格式整理模块:将计算出的校验位以p bit并行的方式拼接在并行输入数据位后面输出。
优选的,所述自适应参数包括地址起始位置参数、计算参数、分组长度、参数计算组数和分组个数。
优选的,高速并行输入数据格式整理模块将输入数据分组整理为编码需要的格式,当选择7/8码率LDPC编码时,需要将输入数据以511bit为单位分组填充,每511个信息bit填充1个0bit,变为512bit,然后以p bit并行的方式送入编码计算模块;当选择其他28种码时,不用扩充处理,直接按照M的不同值,根据不同码率分组后以p bit并行方式送入高速并行编码计算模块。
优选的,生成矩阵参数存储管理模块使用8个位宽为32的ROM,前2个ROM存储适应于深空通信系统4种码率28种码的生成矩阵G中的1、2列生成元,以及适应于近地通信7/8码率LDPC的生成矩阵Gqc中的扩展生成元,其余6个ROM分别存储28种码生成矩阵G中的3~8列生成元。
优选的,前两个ROM的地址深度为4288,其余ROM的地址深度为4064。
优选的,高速并行编码计算模块采用p bit高速并行编码方式,将编码过程进行并行化处理,即C'p×y=K'p×zGk×n,其中y=n÷p,z=k÷p,其中C'p×y为高速并行编码后的码字,K'p×z为信息比特,Gk×n为生成矩阵,k为信息比特长度,n为编码后的码字长度。
优选的,将生成矩阵Gk×n统一表示为准循环矩阵的Gqc形式,如下:
其中参数t、g为参数计算组数和分组个数,Pi,j(1≤i≤t,1≤j≤g)为b×b大小的循环子阵,其中b为分组长度,码字长度n=(t+g)×b,k为信息bit长度,k=t×b,y=(t+g)×b÷p,z=t×b÷p;
Pi,j特点为:首行为从生成矩阵参数存储管理模块中读取的生成矩阵生成元,其余每行均为上一行循环右移1位;
优选的,高速并行输入数据格式整理模块分组后的k bit输入数据以p位并行输入方式输入高速并行编码计算模块,生成g×b bit的校验位;
在LDPC编码器中采用g个循环移位寄存器组B1、B2…Bg和g个寄存器a1、a2…ag存放数据;
其中,每个循环移位寄存器组通过p个循环移位寄存器进行并行计算,其长度设置为29种码的最大值2048bit,循环移位寄存器组Bj中的p个循环移位寄存器保存的数据分别标示为: g个寄存器a1、a2…ag,其中每个所述移位寄存器的长度也为29种码的最大值2048bit;寄存器aj中保存的数据标示为:
优选的,高速并行编码计算模块进行并行输入数据和生成矩阵的相乘,得到LDPC码的校验位,实现方式如下:
(1)第一个时钟周期时,并行输入p bit信息位[c1、c2、…、cp],用循环移位寄存器组Bj中的p个循环移位寄存器分别存储从ROM中读出来的生成矩阵生成元,以及生成元的循环右1bit、2bit、3bit…p-1bit,即生成矩阵P1,j的第1行~第p行;并将寄存器a1、a2…ag中的保存数据初始化为零,所述生成矩阵P1,j大小为b×b;
(2)将并行输入的p bit信息位分别与循环移位寄存器组Bj的存储数据相乘并累加存入寄存器aj:其中寄存器aj的第l位保存数据为 为正整数;为上一时钟周期寄存器aj的第l位保存数据,寄存器aj的第l位初始保存数据为0;
(3)第二个时钟周期时,再次并行输入第二组p bit信息位:[cp+1、cp+2、…、cp×2];并将循环移位寄存器组Bj中的p个循环移位寄存器以b为单位分别向右循环移位p位,即Bj中的p个循环移位寄存器分别存储了生成矩阵P1,j的第p+1行~第p×2行,更新的取值;
(4)将步骤(3)并行输入的p bit信息位分别与循环移位寄存器组Bj的存储数据相乘并累加,所述累加结果与寄存器aj中存储数据相加后更新寄存器aj中的保存数据,其中寄存器aj的第l位保存数据为为正整数;为上一时钟周期寄存器的第l位保存数据;
(5)依次类推,第b/p个时钟周期后,寄存器aj中保存的数据矢量为[c1、c2、c3、…、cb]P1,j;
(6)第b/p+1个时钟周期时,并行输入p bit信息位[cb+1、cb+2、…、cb+p];用所述循环移位寄存器组Bj中的p个循环移位寄存器分别存储生成矩阵P2,j的第1行~第p行;
(7)依次类推,第t×b/p个时钟周期后,t为分组个数,寄存器aj中保存的数据为其中:Kw表示输入的第w组b个信息位,w=1,2,…t,为正整数;
(8)计算完成后,寄存器a1保存的b bit数据连接寄存器a2保存的b bit数据,一直连接ag中数据,最后得到g×b bit校验位。
优选的,Kw=[c(w-1)*b+1,c(w-1)*b+2,…,cwb]。
本发明与现有技术相比的有益效果是:
本发明设计并实现了CCSDS标准131.1-O-2推荐的两类不同码率、不同码长共29种LDPC码的自适应并行编码。该自适应编码器兼容了目前星载高速数传常用的7/8码率、4/5码率和1/2码率(其中1种),更扩展了以后深空探测需求的2/3、3/4码率LDPC的需求,重点突破了自适应码流兼容设计和高速并行处理两项关键技术,实现29种码6.4Gbps高速数据的实时处理。
附图说明
图1是本发明的自适应高速并行编码器接口图;
图2是本发明的自适应高速并行编码器结构框图;
图3是本发明中前端输入数据处理流程图;
图4是本发明的编码器生成矩阵存储结构图;
图5是本发明的编码器生成矩阵存储ROM的空间管理图;
图6是本发明的高速并行LDPC实现的SRAA电路框图;
图7是本发明的编码器输出数据处理流程图。
具体实施方式
下面结合实施例对本发明作进一步阐述。
针对当前状态,本发明设计并实现了CCSDS标准131.1-O-2推荐的两类不同码率、不同码长共29种LDPC码的自适应并行编码。该自适应编码器兼容了目前星载高速数传常用的7/8码率、4/5码率和1/2码率(其中1种),更扩展了以后深空探测需求的2/3、3/4码率LDPC的需求,重点突破了自适应码流兼容设计和高速并行处理两项关键技术,实现29种码6.4Gbps高速数据的实时处理。
本发明可以适用的并行位数为2位、4位、8位、16位或32位。以下以16位为例说明。
自适应高速并行编码器的输入有1bit时钟信号,1bit复位信号、1bit类型选择信号、2bit码率选择信号、3bit码长选择信号,1bit伴随门控信号,I、Q各2路16bit信号。
顶层接口图见图1所示,接口信号说明详见表1所示:
表1接口信号说明表
序号 | 信号名称 | 位宽 | 说明 |
1 | Clkin | 1bit | 编码器工作时钟,可根据速率要求输入10MHz~250MHz时钟 |
2 | Reset | 1bit | 全局复位信号,高电平复位,低电平正常工作 |
3 | type_flag | 1bit | 2种类型编码标识,1近地轨道7/8码率,0深空通信28种码 |
4 | Rate_flag | 2bit | type_flag=0时有效:00(1/2码率)01(2/3)、10(3/4)、11(4/5) |
5 | Code_flag | 3bit | type_flag=0时有效:3bit表示了M的7种不同长度 |
6 | Synin | 1bit | 输入数据门控标识信号,高电平有效; |
7 | Idatin | 16bit | 第I路高速16bit并行输入数据(待编码); |
8 | Qdatin | 16bit | 第Q路高速16bit并行输入数据(待编码); |
9 | Synou | 1bit | 编码后输出数据门控信号,高电平有效; |
10 | Idatout | 16bit | 第I路高速16bit并输出数据(已编码); |
11 | Qdatout | 16bit | 第Q路高速16bit并行输出数据(已编码); |
自适应高速并行编码器顶层接口中的控制信号与29种不同性能码的对应关系见表2所示(其中黑色加粗的3种码型,在目前型号中已作为独立码型使用):
表2参数设置与码型对应关系表
自适应高速并行编码器实现框图如图2所示,主要由五大部分构成,分别为自适应参数设置模块、高速并行输入数据格式整理模块、生成矩阵参数存储管理模块、高速并行编码计算模块和输出数据格式整理模块。
自适应参数设置模块:根据3个自适应选择控制字(类型标识type_flag,码率标识rate_flag,码长标识code_flag),根据具体的生成矩阵设计计算出后续处理需要各种自适应参数,包括地址起始位置参数、计算参数、分组长度信息参数等等,用于实现存储和计算功能的自适应切换,各参数的对应关系如下表所示:
表3自适应参数设置表
高速并行输入数据格式整理模块:将输入数据分组整理为编码需要的格式,当选择7/8码率LDPC编码时,需要将输入数据以511bit为单位分组填充,每511个信息bit填充1个0bit,变为512bit,然后以16bit并行的方式送入编码计算模块。当选择其他28种码时,由于其循环矩阵均为16bit的整数倍,则不用扩充处理,直接按照M的不同值,根据不同码率分组后以16bit并行方式送入编码计算模块,处理流程图如图3所示。
生成矩阵参数存储管理模块:由公式(3)可知,7/8码率的准循环生成矩阵中,参与编码计算的有14×2的循环子阵。根据其准循环结构,只需要存储每个子阵的第一行(生成元)即可获得全部信息,则需要存储28个511大小的生成矩阵参数,可计算出占用存储资源为28*511=14308bit。
由公式(10)可知,CCSDS标准中适用于深空通信的4种码率共28种LDPC码,生成矩阵的存储资源不再是简单相加,可在M相同的不同码率可复用存储资源,给兼容设计节省了大量资源。公式(10)中gi,j为m×m的循环矩阵,用于计算校验比特部分共有12大列循环矩阵,然而标准中推荐的该系列码为删余码形式,在编码时,没有必要将删余的4m个校验比特计算出来,该系列码的生成矩阵中真正用于计算校验比特的部分只有8大列循环矩阵。m有7种不同的值,深空通信28种码共占用存储空间为:
8*32*(32+64+128+256+512+1024+2048)=1040384bit。
29种码的生成矩阵共占用14308+1040384=1054692bit存储空间,由以上生成矩阵可知,近地轨道7/8码率的生成矩阵由14*2个循环子阵构成,深空通信的28种码的生成矩阵为32*8个循环子阵构成。为了最大程度兼容设计的同时配合高速并行编码计算,所以该编码器共用了8个位宽为32的ROM,前2个ROM存储生成矩阵(10)中的1、2大列子循环阵的生成元gi,j(1≤i≤32,j=1、2),此外再加上扩展生成矩阵(3)中的2大列子循环阵的生成元B'i,j(i=1~14,j=1、2)。剩余6个ROM分别存储生成矩阵(10)中的3~8列生成元。生成矩阵存储结构如图4所示。
在gi,j子阵中,M取7种不同的值,每个gi,j也有7种不同值,长度分别为32、64、128、256、512、1024、2048,可记为 由于4/5码率的生成矩阵共有32行循环矩阵,则每个ROM需要分别存储32个32个32个32个32个32个个每个占1个地址,占2个地址,占4个地址,占8个地址,占用16个地址,占32个地址,占64个地址。每个ROM存储深空通信28种码的生成矩阵地址深度为32+32×2+32×4+32×8+32×16+32×32+32×64=4064。
在近地7/8码率的生成矩阵中B'i,j只有一种长度为511,为了方便存储,按照512存放,每个占用B'i,j占用16个地址,生成矩阵共有14行循环子阵,则每个ROM需要存储14个B'i,j,共占用地址空间为14×16=224。
由上可知,前两个ROM的地址深度为4288,其余ROM的地址深度为4064,ROM的地址空间管理见图5所示。
高速并行编码计算模块:LDPC是线性分组码,最基本的编码方法是用单bit的串行方式实现的,其编码过程可表示为如下矩阵乘法:C1×n=K1×kGk×n,其中C1×n为LDPC编码后的码字,K1×k为信息比特,Gk×n为生成矩阵。本发明采用16bit高速并行编码为例,将该过程进行并行化处理,可改进为C'16×y=K'16×zGk×n,其中y=n÷16,z=k÷16,可将29种码的生成矩阵Gk×n表示为循环子阵的形式Gqc如下:
其中参数t、g为自适应设置中计算好的参数计算组数和分组个数,Pi,j(1≤i≤t,1≤j≤g)为b×b大小的循环阵(其中b为分组长度参数,k=t×b,n=(t+g)×b),其特点为:首行为从存储矩阵中读出生成矩阵生成元,其余每行均为上一行的循环右移1位。。16位信息bit同时参与编码计算,实现6.4Gbps的吞吐量。从ROM中读数时,根据自适应参数,计算组数,组数有2种取值:2或8;当为2的时候,仅从前2个rom中同时读出放入SRAA计算电路的前2个计算单元(B1组,B2组);当为8时,从8个rom中同时读出放入SRAA计算电路的8个计算单元(B1~B8组)。
将前面扩充和整理分组后的k bit信息位采用16位并行输入方式输入,与循环阵P相乘,生成g×b bit的校验位。在QC LDPC编码器中采用g个循环移位寄存器组B1、B2…Bg和g个寄存器a1、a2…ag存放数据。其中,循环移位寄存器组B1、B2…Bg,每个循环移位寄存器组又包括16个循环移位寄存器进行并行计算,考虑到兼容设计,其长度设置为29种码的最大值2048bit,循环移位寄存器组B1中的16个循环移位寄存器保存的数据分别标示为:循环移位寄存器组B2中的16个循环移位寄存器保存的数据分别标示为: 以此类推,寄存器组Bg中的16个循环移位寄存器保存的数据分别标示为: g个寄存器a1、a2…ag,其中每个所述移位寄存器的长度也为29种循环阵的最大值2048bit;寄存器a1中保存的数据标示为:寄存器a2中保存的数据标示为:在不同的码进行编码时,实际使用各个寄存器长度为分组长度参数b(<=2048)bit,剩余位置可暂不使用。具体实现的SRAA电路框图如图6所示。
具体实现步骤为:
(1)第一个时钟周期时,并行输入16bit信息位:[c1、c2、…、c16],用上述循环移位寄存器组B1中的16个循环移位寄存器分别存储从生成矩阵ROM中读出来的循环矩阵生成元,以及生成元的循环右1bit、2bit、3bit…15bit,等同于串行生成矩阵P1,1(大小为b×b)的第1行~第16行;上述循环移位寄存器组B2中的16个循环移位寄存器分别存储生成矩阵P1,2的第1行~第16行,以此类推,循环移位寄存器组Bg中的16个循环移位寄存器分别存储串行生成矩阵P1,g的第1行~第16行。并将寄存器a1、a2…ag中的保存数据初始化为零,即其中l=1~b,i=1~g的正整数;
(2)将输入格式整理后并行输入的16bit信息位分别与循环移位寄存器组B1的存储数据相乘并累加存入寄存器a1:其中寄存器a1的第l位保存数据为为正整数;
同时并行输入的16bit信息位分别与循环移位寄存器组B2~Bg中存储的数据相乘并累加存入寄存器a2~ag:则寄存器a2的第l位保存数据为以此类推寄存器ag的第l位保存数据为 为正整数;
(3)第二个时钟周期时,再次并行输入16bit信息位:[c16+1、c16+2、…、c16×2];并将循环移位寄存器组B1中的16个循环移位寄存器分别向右循环移位16位,即B1中的16个循环移位寄存器分别存储了生成矩阵P1,1的第16+1行~第16×2行,更新的取值;
同时将其他循环移位寄存器组B2~Bg中的16个循环移位寄存器以b为单位分别向右循环移位16位,循环移位寄存器组B2~Bg中的16个循环移位寄存器分别存储扩展矩阵P1,2~P1,g的第16+1行~第2×16行,更新 的取值;
(4)将步骤(3)并行输入的16bit信息位分别与循环移位寄存器组B1的存储数据相乘并累加,所述累加结果与寄存器a1中存储数据相加(前面的计算结果)后更新寄存器a1中的保存数据,其中寄存器a1的第l位保存数据为((l=1,2,…,b为正整数);
同时将步骤(3)并行输入的16bit信息位分别与循环移位寄存器组B2~Bg的存储数据相乘并累加,所述累加结果与寄存器a2~ag中存储数据相加后更新寄存器a2~ag中的保存数据:其中寄存器a2的第l位保存数据为以此类推寄存器ag的第l位保存数据为(l=1,2,…,b为正整数)。
(5)依次类推,第b/16个时钟周期后,寄存器a1中保存的数据矢量为[c1、c2、c3、…、cb]P1,1,寄存器a2中保存的数据矢量为[c1、c2、c3、…、cb]P1,2,同理寄存器ag中保存的数据矢量为[c1、c2、c3、…、cb]P1,g;
(6)第b/16+1个时钟周期时,并行输入16bit信息位:[cb+1、cb+2、…、cb+16];用所述循环移位寄存器组B1中的16个循环移位寄存器分别存储生成矩阵P2,1的第1行~第16行,所述循环移位寄存器组B2中的16个循环移位寄存器分别存储生成矩阵P2,2的第1行~第16行,以此类推,循环移位寄存器组Bg中的16个循环移位寄存器分别存储生成矩阵P2,g的第1行~第16行。
按照步骤(1)~(5)的计算过程,第2b/16个时钟周期后,寄存器a1中保存的数据为[c1、c2、c3、…、cb]P1,1+[cb+1、cb+2、cb+3、…、c2b]P2,1;寄存器a2中保存的数据为:[c1、c2、c3、…、cb]P1,2+[cb+1、cb+2、cb+3、…、c2b]P2,2;寄存器ag中保存的数据为:[c1、c2、c3、…、cb]P1,g+[cb+1、cb+2、cb+3、…、c2b]P2,g。
(7)依次类推,第t×b/16个时钟周期后(t为分组个数自适应参数),寄存器a1中保存的数据为寄存器a2中保存的数据为依次类推,寄存器ag中保存的数据为其中:Kw=[c(w-1)*b+1,c(w-1)*b+2,…,cwb],w=1~t为正整数;
(8)计算完成后,寄存器a1保存的b bit数据连接寄存器a2保存的b bit数据,一直连接ag中数据,最后得到g×b bit校验位。
输出数据格式整理模块:将计算出的g×b bit的校验位以16bit并行的方式拼接在t×b bit的并行输入的信息bit后面,如果选择的编码类型为7/8的近地轨道码型,还需要进行填充bit剔除,该部分的实现流程图如图7所示。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
Claims (10)
1.一种星载高速并行自适应LDPC编码器,其特征在于:包括自适应参数设置模块、高速并行输入数据格式整理模块、生成矩阵参数存储管理模块、高速并行编码计算模块和输出数据格式整理模块;
自适应参数设置模块:根据自适应选择控制字和生成矩阵计算后续处理需要的各种自适应参数,输出给高速并行编码计算模块、生成矩阵参数存储管理模块、高速并行输入数据格式整理模块;
高速并行输入数据格式整理模块:根据自适应参数,将输入数据分组整理为编码需要的格式,以p bit并行方式送入高速并行编码计算模块和输出数据格式整理模块;其中p=2、4、8、16或32;
生成矩阵参数存储管理模块:用于根据自适应参数存储不同码率的LDPC码生成矩阵的各个生成元;
高速并行编码计算模块:根据自适应参数,从生成矩阵参数存储管理模块中读取相应的生成矩阵的生成元,进行输入数据和生成矩阵的相乘,得到LDPC码的校验位,输出给输出数据格式整理模块;
输出数据格式整理模块:将计算出的校验位以p bit并行的方式拼接在并行输入数据位后面输出。
2.根据权利要求1所述的一种星载高速并行自适应LDPC编码器,其特征在于:所述自适应参数包括地址起始位置参数、计算参数、分组长度、参数计算组数和分组个数。
3.根据权利要求1所述的一种星载高速并行自适应LDPC编码器,其特征在于:高速并行输入数据格式整理模块将输入数据分组整理为编码需要的格式,当选择7/8码率LDPC编码时,需要将输入数据以511bit为单位分组填充,每511个信息bit填充1个0bit,变为512bit,然后以p bit并行的方式送入编码计算模块;当选择其他28种码时,不用扩充处理,直接按照M的不同值,根据不同码率分组后以p bit并行方式送入高速并行编码计算模块。
4.根据权利要求1所述的一种星载高速并行自适应LDPC编码器,其特征在于:生成矩阵参数存储管理模块使用8个位宽为32的ROM,前2个ROM存储适应于深空通信系统4种码率28种码的生成矩阵G中的1、2列生成元,以及适应于近地通信7/8码率LDPC的生成矩阵Gqc中的扩展生成元,其余6个ROM分别存储28种码生成矩阵G中的3~8列生成元。
5.根据权利要求4所述的一种星载高速并行自适应LDPC编码器,其特征在于:前两个ROM的地址深度为4288,其余ROM的地址深度为4064。
6.根据权利要求2所述的一种星载高速并行自适应LDPC编码器,其特征在于:高速并行编码计算模块采用p bit高速并行编码方式,将编码过程进行并行化处理,即C'p×y=K'p× zGk×n,其中y=n÷p,z=k÷p,其中C'p×y为高速并行编码后的码字,K'p×z为信息比特,Gk×n为生成矩阵,k为信息比特长度,n为编码后的码字长度。
7.根据权利要求6所述的一种星载高速并行自适应LDPC编码器,其特征在于:将生成矩阵Gk×n统一表示为准循环矩阵的Gqc形式,如下:
其中参数t、g为参数计算组数和分组个数,Pi,j(1≤i≤t,1≤j≤g)为b×b大小的循环子阵,其中b为分组长度,码字长度n=(t+g)×b,k为信息bit长度,k=t×b,y=(t+g)×b÷p,z=t×b÷p;
Pi,j特点为:首行为从生成矩阵参数存储管理模块中读取的生成矩阵生成元,其余每行均为上一行循环右移1位。
8.根据权利要求7所述的一种星载高速并行自适应LDPC编码器,其特征在于:高速并行输入数据格式整理模块分组后的k bit输入数据以p位并行输入方式输入高速并行编码计算模块,生成g×b bit的校验位;
在LDPC编码器中采用g个循环移位寄存器组B1、B2…Bg和g个寄存器a1、a2…ag存放数据;
其中,每个循环移位寄存器组通过p个循环移位寄存器进行并行计算,其长度设置为29种码的最大值2048bit,循环移位寄存器组Bj中的p个循环移位寄存器保存的数据分别标示为: g个寄存器a1、a2…ag,其中每个所述移位寄存器的长度也为29种码的最大值2048bit;寄存器aj中保存的数据标示为:
9.根据权利要求8所述的一种星载高速并行自适应LDPC编码器,其特征在于:高速并行编码计算模块进行并行输入数据和生成矩阵的相乘,得到LDPC码的校验位,实现方式如下:
(1)第一个时钟周期时,并行输入p bit信息位[c1、c2、…、cp],用循环移位寄存器组Bj中的p个循环移位寄存器分别存储从ROM中读出来的生成矩阵生成元,以及生成元的循环右1bit、2bit、3bit…p-1bit,即生成矩阵P1,j的第1行~第p行;并将寄存器a1、a2…ag中的保存数据初始化为零,所述生成矩阵P1,j大小为b×b;
(2)将并行输入的p bit信息位分别与循环移位寄存器组Bj的存储数据相乘并累加存入寄存器aj:其中寄存器aj的第l位保存数据为 为正整数;αl j为上一时钟周期寄存器aj的第l位保存数据,寄存器aj的第l位初始保存数据为0;
(3)第二个时钟周期时,再次并行输入第二组p bit信息位:[cp+1、cp+2、…、cp×2];并将循环移位寄存器组Bj中的p个循环移位寄存器以b为单位分别向右循环移位p位,即Bj中的p个循环移位寄存器分别存储了生成矩阵P1,j的第p+1行~第p×2行,更新的取值;
(4)将步骤(3)并行输入的p bit信息位分别与循环移位寄存器组Bj的存储数据相乘并累加,所述累加结果与寄存器aj中存储数据相加后更新寄存器aj中的保存数据,其中寄存器aj的第l位保存数据为为正整数;αl j为上一时钟周期寄存器αl j的第l位保存数据;
(5)依次类推,第b/p个时钟周期后,寄存器aj中保存的数据矢量为[c1、c2、c3、…、cb]P1,j;
(6)第b/p+1个时钟周期时,并行输入p bit信息位[cb+1、cb+2、…、cb+p];用所述循环移位寄存器组Bj中的p个循环移位寄存器分别存储生成矩阵P2,j的第1行~第p行;
(7)依次类推,第t×b/p个时钟周期后,t为分组个数,寄存器aj中保存的数据为其中:Kw表示输入的第w组b个信息位,w=1,2,…t,为正整数;
(8)计算完成后,寄存器a1保存的b bit数据连接寄存器a2保存的b bit数据,一直连接ag中数据,最后得到g×b bit校验位。
10.根据权利要求9所述的一种星载高速并行自适应LDPC编码器,其特征在于:Kw=[c(w-1)*b+1,c(w-1)*b+2,…,cwb]。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310618898.8A CN116743187A (zh) | 2023-05-29 | 2023-05-29 | 星载高速并行自适应ldpc编码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310618898.8A CN116743187A (zh) | 2023-05-29 | 2023-05-29 | 星载高速并行自适应ldpc编码器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116743187A true CN116743187A (zh) | 2023-09-12 |
Family
ID=87908930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310618898.8A Pending CN116743187A (zh) | 2023-05-29 | 2023-05-29 | 星载高速并行自适应ldpc编码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116743187A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118074859A (zh) * | 2023-11-28 | 2024-05-24 | 上海航天电子通讯设备研究所 | 一种基于星载的可变位宽ldpc并行编码系统和方法 |
-
2023
- 2023-05-29 CN CN202310618898.8A patent/CN116743187A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118074859A (zh) * | 2023-11-28 | 2024-05-24 | 上海航天电子通讯设备研究所 | 一种基于星载的可变位宽ldpc并行编码系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109379086B (zh) | 低复杂度的码率兼容的5g ldpc编码方法和编码器 | |
CN101141133B (zh) | 一种结构化低密度校验码的编码方法 | |
CN107370489B (zh) | 结构化ldpc码的数据处理方法及装置 | |
CN102075198B (zh) | 准循环低密度奇偶校验卷积码编译码系统及其编译码方法 | |
CN107786211B (zh) | 一种ira-qc-ldpc码的代数结构获取方法、编码方法和编码器 | |
CN109347486B (zh) | 低复杂度高吞吐率的5g ldpc编码器和编码方法 | |
CN109802687B (zh) | 一种基于fpga的qc-ldpc码的高速码率兼容ldpc编码器 | |
CN106936444B (zh) | 一种集合译码方法和集合译码器 | |
CN100555879C (zh) | 一种ldpc码的编码器装置及编码方法 | |
CN116743187A (zh) | 星载高速并行自适应ldpc编码器 | |
US20020083391A1 (en) | Method and apparatus for encoding a product code | |
CN101917249B (zh) | Qc-ldpc码译码器及其实现方法 | |
CN102820890B (zh) | 短码长多进制赋权重复累加码的编码器装置及方法 | |
CN106603082A (zh) | 通用型高速ldpc码编码方法及编码器 | |
CN102684707B (zh) | 一种ldpc编码器 | |
CN1614898B (zh) | Turbo码编码器及其编码方法 | |
CN104796158B (zh) | 一种针对固定信息长度的ldpc编译码系统平台 | |
CN112332869A (zh) | 改进的tpc迭代方法和装置 | |
CN113472358B (zh) | 一种基于准循环生成矩阵的高速并行编码器 | |
CN116707546A (zh) | 一种准循环ldpc译码的硬件实现方法及装置 | |
CN111900999B (zh) | 一种面向卫星非连续通信的高性能极化编码方法及编码器 | |
CN111313910A (zh) | 空间通信应用的低密度奇偶校验码编码器装置 | |
CN102611465B (zh) | 结构化多元非规则重复累积码的编码器与编码方法 | |
CN113055027B (zh) | 可变位宽的ldpc编码方法、编码器、ssd及存储介质 | |
CN110741559A (zh) | 极化编码器、通信单元、集成电路及其方法 |
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 |