CN104796158A - 一种针对固定信息长度的ldpc编译码系统平台 - Google Patents
一种针对固定信息长度的ldpc编译码系统平台 Download PDFInfo
- Publication number
- CN104796158A CN104796158A CN201510223253.XA CN201510223253A CN104796158A CN 104796158 A CN104796158 A CN 104796158A CN 201510223253 A CN201510223253 A CN 201510223253A CN 104796158 A CN104796158 A CN 104796158A
- Authority
- CN
- China
- Prior art keywords
- cache module
- module
- multiplier
- matrix
- decoding
- 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
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明涉及一种针对固定信息长度的LDPC编译码系统平台,其中固定信息长度为1152bits,它包含若干子系统,其特征在于:每一所述子系统包括一第一选择器、一上位机、一无线接收装置、一处理器、一FPGA编译码器、一第二选择器和一无线发射装置;其中FPGA编译码器包括判断单元、编码器和译码器;本发明由于采用以上设置,实现根据数据通信方向自动实现编译码器配置,进而减少子系统的冗余度,避免子系统资源的浪费,从而实现减少本发明冗余度和资源消耗。因此,本发明可以广泛应用移动通信、空间通信等领域。
Description
技术领域
本发明是关于一种编译码系统平台,特别是关于一种针对固定信息长度的LDPC(Low Density Parity Check Code,低密度奇偶校验码)编译码系统平台。
背景技术
目前,有许多针对LDPC(Low Density Parity Check Code,低密度奇偶校验码)的编码器和译码器的设计,但是在系统平台的层面上将两者进行一体化架构的实现方案较少,在系统平台通常将编码器和译码器分成两支路进行设计,分开两路设计将会增加系统的冗余度,造成系统资源的浪费。如在轨运行的卫星星座系统,其姿态轨道信息的相互传递需要编译码器平台的支撑,编码器和译码器两支路分别进行设计将增加卫星的质量,也会增加相应的发射成本、运营成本。若能根据信息通信方向自动识别编码还是译码进行方案设计,则可在单个子系统(如某颗卫星)中处理多个子系统(其他卫星)的信息(如姿态信息、轨道信息等),进行子系统之间的操作,以便卫星之间进行协同控制,方便卫星编队问题。
LDPC是1962年Robert Gallager提出的稀疏校验码,是目前纠错性能最强的校验码,已经广泛应用于通信和存储领域。现在很多标准中都用到了LDPC校验码,例如新一代卫星数字视频广播标准DVB_S2、无线城域网标准IEEE802.160E、无线局域网标准IEEE802.11n等(采用某一标准时,针对指定LDPC码长和码率的问题即是针对固定信息长度的LDPC问题)。然而针对LDPC存在的主要技术问题是:编码复杂度及时间复杂度高,这些问题在一定程度上制约LDPC技术的应用。
发明内容
针对上述问题,本发明的目的是提供一种根据信息通信方向自动识别进行编码或译码的针对固定信息长度的LDPC编译码系统平台,该系统平台包括若干子系统,每一子系统可以根据数据通信方向自动实现编译码器配置,且编码器将96位循环移位器划分为7级,形成分级并行流水线结构,实现LDPC编译码高效并行处理。
为实现上述目的,本发明采取以下技术方案:一种针对固定信息长度的LDPC编译码系统平台,其中固定信息长度为1152bits,它包含若干子系统,其特征在于:每一所述子系统包括一第一选择器、一上位机、一无线接收装置、一处理器、一FPGA编译码器、一第二选择器和一无线发射装置;其中FPGA编译码器包括判断单元、编码器和译码器;所述第一选择器根据所接收的指令判断该指令来自所述上位机还是所述无线接收装置,并将该指令和判断结果通过所述处理器发送给所述FPGA编译码器;所述FPGA编译码器中的所述判断单元根据判断结果为该指令进行编码或者译码,并将编码结果或者译码结果发送给所述第二选择器;所述第二选择器根据编码结果或者译码结果判断是来自所述编码器还是所述译码器:若来自所述编码器,则将编码结果发送给所述无线发射装置,所述无线发射装置将该编码结果发送给作为目标的所述子系统,完成编码指令的发送;若来自所述译码器,则将该译码结果发送给所述上位机,完成译码指令的接收。
所述第一选择器和所述第二选择器采用数据选择器。
所述编码器包括LDPC编码器包括第一数据通路转换模块、第一RAM缓存模块、第一ROM模块、乘法器模块、前向置换模块、P1缓存模块、P2缓存模块和码字串口缓存模块;其中,所述乘法器模块包括t1乘法器、t2乘法器、t4乘法器和t5乘法器,且所述t1乘法器为左乘分块矩阵C,所述t2乘法器为左乘分块矩阵A,所述t4乘法器为左乘分块E矩阵,所述t5乘法器为左乘分块B矩阵;所述前向置换模块包括t3前向置换机构和t5前向置换机构,均为左乘分块矩阵T-1;所述P1缓存模块内置p1T=-(-ET-1AuT+CuT);所述P2缓存模块内置p2T=-(T-1AuT+T-1Bp1T);所述第一数据通路转换模块将所述处理器传送指令中的信息位u转换成所述第一RAM缓存模块中需要的格式,并存入到所述第一RAM缓存模块,经过所述第一RAM缓存模块将uT先保存到所述码字串口缓存模块;所述t1乘法器将所述第一RAM缓存模块中的信息位uT与所述第一ROM模块中的矩阵C相乘得到CuT,然后将CuT传送给所述P1缓存模块;所述t2乘法器将所述第一RAM缓存模块中的信息位uT与所述第一ROM模块中的矩阵A相乘得到AuT,并将AuT传送给所述t3前向置换机构,经过前置后得到T-1AuT,一方面将T-1AuT传送给所述P2缓存模块,另一方面将其经过所述t4乘法器处理得到ET-1AuT,并将ET-1AuT传送给所述P1缓存模块;将所述P1缓存模块中的CuT和ET-1AuT,按照公式p1T=-(-ET-1AuT+CuT)计算p1T,并将p1T一方面传送给所述t5乘法器,另一方面将p1T存入所述码字串口缓存模块;p1T经过所述t5乘法器处理得到Bp1T,并将Bp1T传送给所述t5前向置换机构;经过所述t5前向置换机构处理后得到T-1Bp1T,T-1Bp1T传送给所述P2缓存模块;将所述P2缓存模块中的T-1AuT和T-1Bp1T按照公式p2T=-(T-1AuT+T-1Bp1T)计算p2T,并将p2T存入所述码字串口缓存模块528;所述码字串口缓存模块中有uT,p1T和p2T,形成码字x,完成编码。
所述LDPC译码器包括第二数据通路转换模块、RAM缓存模块、校验乘法器、第二ROM模块、零矢量判断模块、串口缓存模块和译码错误判断模块;其中,所述译码错误判断模块包括迭代数判断机构、误码码元检测机构和码元纠错机构,且所述迭代数判断机构内置译码的最大迭代次数;所述第二ROM模块内置校验矩阵H;所述第二数据通路转换模块将所述处理器传送指令中的码字x转换成所述第二RAM缓存模块中需要的格式,并存入到所述第二RAM缓存模块;所述第二RAM缓存模块将码字x传送给所述校验乘法器,同时所述第二ROM模块中存储的校验矩阵H传送给所述校验乘法器;所述校验乘法器对码字x进行比特节点赋值,利用校验方程计算每个比特的校验和,并将其传递给所述零矢量判断模块进行判断:若每个比特的校验和都为,则停止译码,并通过所述串口缓存模块将译码结果输出,译码成功;若不是所有的校验和都为,则传送给所述译码错误判断模块;所述译码错误判断模块中的所述迭代数判断机构判断此时的译码次数是否大于最大迭代次数;若大于最大迭代次数,则输出译码错误标志;否则传送给所述误码码元检测机构;在所述误码码元检测机构中计算每一个比特对应的不满足的校验方程的个数,并将结果传递给所述码元纠错机构;在所述码元纠错机构中将在所述误码码元检测机构中计算结果中个数最大的对应的比特放入集合Ω,翻转集合Ω中的所有比特,之后将翻转后的结果再次传送给所述校验乘法器进行校验,直到达到最大译码迭代次数或者所有的校验方程均被满足,完成译码。
本发明由于采取以上技术方案,其具有以下优点:1、本发明包含若干子系统,每一子系统包括一第一选择器、一上位机、一无线接收装置、一处理器、一FPGA编译码器、一第二选择器和一无线发射装置;其中FPGA编译码器包括判断单元、编码器和译码器;第一选择器根据所接收的指令判断该指令来自上位机还是无线接收装置,并将该指令和判断结果通过处理器发送给FPGA编译码器;FPGA编译码器中的判断单元根据判断结果为该指令进行编码或者译码,并将编码结果或者译码结果发送给第二选择器;第二选择器根据编码结果或者译码结果判断是来自编码器还是译码器:若来自编码器,则将编码结果发送给无线发射装置,无线发射装置将该编码结果发送给作为目标的子系统,完成编码指令的发送;若来自译码器,则将该译码结果发送给上位机,完成译码指令的接收。本发明由于采用以上设置,实现根据数据通信方向自动实现编译码器配置,进而减少子系统的冗余度,避免子系统资源的浪费,从而实现减少本发明冗余度和资源消耗。2、本发明的LDPC编码器的乘法器模块包括t1乘法器、t2乘法器、t4乘法器和t5乘法器;每一乘法器为左乘校验矩阵H中的分块矩阵,而由于校验矩阵H中每个元素的特殊性,乘法运算(左乘)可以转换成左(右)循环移位和模二运算。其中,循环移位运算采用96位循环移位器,即表示每一乘法器:t1乘法器、t2乘法器、t4乘法器和t5乘法器中均包含96位循环移位器,每一乘法器采用两个时钟周期来完成移位运算,96位最多需要循环移位7级即可以完成,从而形成分级并行流水线结构,实现LDPC编译码高效并行处理,从而解决了编码复杂度及时间复杂度高的问题。鉴于以上理由,本发明可以广泛应用于移动通信、空间通信等领域。
附图说明
图1本发明的整体结构示意图
图2本发明的LDPC编码器结构示意图
图3本发明的LDPC译码器结构示意图
图4空间飞行器姿态控制系统半实物仿真实验平台
具体实施方式
下面结合附图和实施例对本发明进行详细的描述。
如图1所示,本发明包括若干子系统,每一子系统包括一第一选择器1、一上位机2、一无线接收装置3、一处理器4、一FPGA编译码器5、一第二选择器6和一无线发射装置7;其中FPGA编译码器5包括判断单元51(图中未示出)、LDPC编码器52和LDPC译码器53。
其中,第一选择器1的输入端分别电连接上位机2和无线接收装置3,输出端电连接处理器4的输入端。处理器4的输出端通过SPI总线连接FPGA编译码器5的输入端。FPGA编译码器5的输出端电连接第二选择器6的输入端;第二选择器6的输出端分别电连接上位机2和无线发射装置7;无线发射装置7无线连接其他子系统的无线接收装置3。
第一选择器1根据所接收的指令判断该指令来自上位机2还是无线接收装置3,并将该指令和判断结果通过处理器4发送给FPGA编译码器5。FPGA编译码器5中的判断单元51根据判断结果为该指令进行编码或者译码,并将编码结果或者译码结果发送给第二选择器6。第二选择器6根据编码结果或者译码结果判断是来自LDPC编码器52还是LDPC译码器53:若来自LDPC编码器52,则将编码结果发送给无线发射装置7,无线发射装置7将该编码结果发送给目标子系统,完成编码指令的发送。若来自LDPC译码器53,则将该译码结果发送给上位机2,完成译码指令的接收。
上述实施例中,第一选择器1和第二选择器6可以采用数据选择器;处理器4采用NIOS软核处理器,且其与FPGA编译码器5之间采用的SPI总线接口是8位数据同时输出。
本发明采用了IEEE 802.16e标准规定校验矩阵H,其规定校验矩阵H由M×N构成,M指示信息位个数,N指示码长个数,其最大码字长度为2304bits。码率可分为1/2,2/3A、B码,3/4A、B码,5/6。本发明系统平台中码字长度为2304bits,码率为1/2,固定信息长度为1152bits。此时校验矩阵为12×24,扩展因子为2304/24=96。校验矩阵H中的每个元素都为1个96×96的像素矩阵,-1为该96×96矩阵全部为0,其他值为96×96的单位矩阵循环右移该值对应的次数得到的像素矩阵。本发明的编码器采用一种利用分块矩阵的思想构造相似下三角形的编码算法,具体如下:
校验矩阵H可以划分为如下式:
其中,A为(M-Z)×(N-M),B矩阵为(M-Z)×Z,T矩阵为(M-Z)×(M-Z),分块矩阵C为Z×(N-M),D矩阵为Z×Z,E矩阵为Z×(M-Z)。这里设置Z=1,则分块矩阵A为11×12,B矩阵11×1,T矩阵11×11,分块矩阵C为1×12,D矩阵1×1,E矩阵1×11。上述所有矩阵都是稀疏的,并且T矩阵是为下三角矩阵。
若生成的码字x为向量(u,p1,p2)T,其中u为信息位(本发明中u的码长固定,其为1152bits),编码过程即用信息位u得到p1和p2的信息。则由公式HxT=0,得出矩阵对其左乘F矩阵(12×12),即FHxT=0,其中
可推得
左侧矩阵为由校验矩阵H得到的生成矩阵G,从而得出:
AuT+Bp1T+Tp2T=0
(-ET-1A+C)uT+(-ET-1B+D)p1T=0
因为IEEE 802.16e中LDPC的特殊性,-ET-1B+D=1,故得出:
p1T=-(-ET-1AuT+CuT)
p2T=-(T-1AuT+T-1Bp1T)
如图2所示,按照上述编码器算法的原理设计LDPC编码器52,其包括第一数据通路转换模块521、第一RAM缓存模块522、第一ROM模块523、乘法器模块524(图中未示出)、前向置换模块525(图中未示出)、P1缓存模块526、P2缓存模块527和码字串口缓存模块528。其中,乘法器模块524包括t1乘法器5241、t2乘法器5242、t4乘法器5243和t5乘法器5244;前向置换模块525包括t3前向置换机构5251和t5前向置换机构5252。
其中,第一数据通路转换模块521用于将处理器4传送指令中的信息位u转换成第一RAM缓存模块522中需要的格式,并发送给第一RAM缓存模块522。
第一RAM缓存模块522设置为宽度96,深度为12,设置为双端口,易于读写控制,第一数据通路转换模块521传送的信息位u经过12个时钟周期,缓存buffer(96bits)填满,然后按照地址写到第一RAM缓存模块522中。第一ROM模块523用于存储分块矩阵A和分块矩阵C,且针对校验矩阵H,分块矩阵A为11×12,分块矩阵C为1×12。为了减少数据存储量,“-1”(指示96×96个全零元素)不再存储,所以设置了第一ROM模块523里的数据为11位,高4位为列号,低7位为数值大小(每行主要有5个或者6个非零数,是已知的)。由于分块矩阵A中的非零元素个数总共为47个,所以深度设置为47。用matlab软件把分块矩阵A分离出来后,然后修改成IP核所识别的mif文件类型,然后初始化到IP核中。同理分块矩阵C中4个非零元素。设置rom_c宽度11,深度4。
乘法器模块524包括t1乘法器5241、t2乘法器5242、t4乘法器5243和t5乘法器5244。其中,t1乘法器5241为左乘分块矩阵C,t2乘法器5242为左乘分块矩阵A,t4乘法器5243为左乘分块E矩阵,t5乘法器5244为左乘分块B矩阵。
由于校验矩阵H中每个元素的特殊性,乘法运算(左乘)可以转换成左(右)循环移位和模二运算。其中,循环移位运算采用96位循环移位器(即表示每一乘法器:t1乘法器5241、t2乘法器5242、t4乘法器5243和t5乘法器5244中均包含96位循环移位器),为了减少路径延迟,采用了部分编码方式。每一乘法器采用两个时钟周期来完成移位运算,96位最多需要循环移位[log2(96)]=7级([num]表示不小于num的整数)即可以完成。第一个周期处理低3位的编码,第二个周期处理高4位的编码。此时,编码器中矩阵乘法行和行之间是并行执行的。
前向置换模块525包括t3前向置换机构5251和t5前向置换机构5252。前向置换模块525为左乘分块矩阵T-1,由于t3前向置换机构5251和t5前向置换机构5252作用相同,均为左乘分块矩阵T-1,但针对输入和时间顺序不同,因此加以区分。因为矩阵的逆运算比较复杂,所以针对T矩阵是双对角矩阵的性质,可以参照求逆公式(本领域技术人员的公知常识,故不再详述)进行转换。为了减少延迟采用了树形结构。由于T矩阵是下三角矩阵且维数为11,因此共11个数进行异或者,共4级即可。
P1缓存模块526内置p1T=-(-ET-1AuT+CuT)计算公式,用于计算p1。
P2缓存模块527内置p2T=-(T-1AuT+T-1Bp1T)计算公式,用于计算p2。
码字串口缓存模块528用于存储最后生成的码字x,该码字x包括u,p1和p2。由于本发明的LDPC编码器52的码率是1/2,则每个信息对应编码输出为288字节。码字串口缓存模块528的IP核设置为宽度8,深度288。
如图2所示,LDPC编码器52的工作过程如下:
1)第一数据通路转换模块521将处理器4传送指令中的信息位u转换成第一RAM缓存模块522中需要的格式,并存入到第一RAM缓存模块522,经过第一RAM缓存模块522将uT先保存到码字串口缓存模块528;
需要说明的是,由于u是行向量,uT是其列向量,由于上述公式采用列向量的形式,采用列向量进行表示,在存储的时候是按字节存储的,并不存在行向量和列向量的区别。
2)t1乘法器5241将第一RAM缓存模块522中的信息位uT与第一ROM模块523中的矩阵C相乘得到CuT,然后将CuT传送给P1缓存模块526。t2乘法器5242将第一RAM缓存模块522中的信息位uT与第一ROM模块523中的矩阵A相乘得到AuT,并将AuT传送给t3前向置换机构5251,经过前置后得到T-1AuT,一方面将T-1AuT传送给P2缓存模块527,另一方面将其经过t4乘法器5243处理得到ET-1AuT,并将ET-1AuT传送给P1缓存模块526;
3)将P1缓存模块526中的CuT和ET-1AuT,按照公式p1T=-(-ET-1AuT+CuT)计算p1T,并将p1T一方面传送给t5乘法器5244,另一方面将p1T存入码字串口缓存模块528;
4)p1T经过t5乘法器5244处理得到Bp1T,并将Bp1T传送给t5前向置换机构5252;经过t5前向置换机构5252处理后得到T-1Bp1T,T-1Bp1T传送给P2缓存模块527;
5)将P2缓存模块527中的T-1AuT和T-1Bp1T按照公式p2T=-(T-1AuT+T-1Bp1T)计算p2T,并将p2T存入码字串口缓存模块528;
6)码字串口缓存模块528中有uT,p1T和p2T,即码字x,完成编码。
硬比特翻转算法是Gallage提出的一种硬判决算法。LDPC译码器53将LDPC编码器52编码出来的码字x(2304bits)进行比特节点赋值,利用校验方程计算每个比特的校验和(本领域技术人员公知,故不再详述),若校验方程不满足,那么找出不满足个数最大的那个比特位,然后对此位比特进行翻转(0变成1或者1变成0),翻转后对新构造的比特节点进行重新校验,一直循环迭代,直到校验方程满足或者迭代次数到达最大值。
如图3所示,LDPC译码器53包括第二数据通路转换模块531、第二RAM缓存模块532、校验乘法器533、第二ROM模块534、零矢量判断模块535、串口缓存模块536和译码错误判断模块537;其中,译码错误判断模块537包括迭代数判断机构5371、误码码元检测机构5372和码元纠错机构5373,且迭代数判断机构5371内置译码的最大迭代次数;第二ROM模块534内置校验矩阵H。
如图3所示,LDPC译码器53的工作过程:
1)第二数据通路转换模块531将处理器4传送指令中的码字x转换成第二RAM缓存模块532中需要的格式,并存入到第二RAM缓存模块532;
2)第二RAM缓存模块532将码字x传送给校验乘法器533,同时第二ROM模块534中存储的校验矩阵H传送给校验乘法器533;
3)校验乘法器533对码字x(2304bits)进行比特节点赋值,利用校验方程计算每个比特的校验和,并将其传递给零矢量判断模块535进行判断:若每个比特的校验和都为0,则停止译码,并通过串口缓存模块536将译码结果输出,译码成功;若不是所有的校验和都为0,则传送给译码错误判断模块537;
4)译码错误判断模块537中的迭代数判断机构5371判断此时的译码次数是否大于最大迭代次数;若大于最大迭代次数,则输出译码错误标志,以免LDPC译码器53陷入死循环;否则传送给误码码元检测机构5372。在误码码元检测机构5372中计算每一个比特对应的不满足的校验方程的个数,并将结果传递给码元纠错机构5373。在码元纠错机构5373中将在误码码元检测机构5372中计算结果中个数最大的对应的比特放入集合Ω,翻转集合Ω中的所有比特,之后将翻转后的结果再次传送给校验乘法器533,重复步骤3)--4)过程,直到达到最大译码迭代次数或者所有的校验方程均被满足,完成译码。
下面举一个利用本发明进行设计的空间飞行器姿态控制系统半实物仿真实验平台。
如图4所示,该仿真实验平台包括一飞行器系统(1)、一空间飞行器姿态控制系统半实物(3)、一针对固定信息长度的LDPC编译码系统平台(4)和一通信数据处理模块(5)和一飞行器系统(2),该仿真实验平台是结合本发明的核心内容做的仿真平台,是其应用的实例。
飞行器系统(1)包括动力学仿真模块(11)、敏感器仿真模块(12)、姿态确定模块(13)、姿态控制模块(14)和姿态协同控制模块(15),均为逻辑计算模块;
飞行器系统(2)包括动力学仿真模块(21)、敏感器仿真模块(22)、姿态确定模块(23)、姿态控制模块(24)和姿态协同控制模块(25),均为逻辑计算模块;
针对固定信息长度的LDPC编译码系统平台(4)包括子系统(41)和子系统(42);
飞行器系统(1)与空间飞行器姿态控制系统半实物(3)、飞行器系统(2)与通信数据处理模块(5)都通过板卡物理连接;空间飞行器姿态控制系统半实物(3)与子系统(41)、通信数据处理模块(5)与子系统(42)为物理连接;子系统(41)与子系统(42)为无线连接。
该仿真实验平台工作过程:
飞行器系统(1)中的过程①:飞行器系统(1)中动力学仿真模块(11)、敏感器仿真模块(12)和姿态确定模块(13)进行仿真计算飞行器系统(1)的动力学参数和姿态参数,计算所得数据经姿态控制模块(14)和姿态协同控制模块(15)(此时尚未传入飞行器系统(2)的姿态参数)处理后,经物理板卡传递给空间飞行器姿态控制系统半实物(3)进行演示,通过与该实物物理连接的子系统(41)将飞行器系统(1)的姿态信息编码处理后发送给子系统(42);
飞行器系统(2)中的过程②:飞行器系统(2)中动力学仿真模块(21)、敏感器仿真模块(22)和姿态确定模块(23)进行仿真计算飞行器系统(2)的动力学参数和姿态参数,计算所得数据经姿态控制模块(24)和姿态协同控制模块(25)(此时尚未传入飞行器系统(1)的姿态参数)处理后,经物理板卡传递给通信数据处理模块(5),通过与通信数据处理模块(5)物理连接的子系统(42)将飞行器系统(2)的姿态信息编码处理后发送给子系统(41);
飞行器系统(1)中的过程③:飞行器系统(1)的子系统(41)接收飞行器系统(2)的子系统(42)所发的飞行器系统(2)的姿态信息,经过译码处理后经空间飞行器姿态控制系统半实物(3)传递给姿态协同控制模块(15),结合飞行器系统(1)的姿态信息【信号从(11)--(12)--(13)--(14)--(15)】和飞行器系统(2)的姿态信息【信号从(41)--(3)--(15)】对飞行器系统(1)进行姿态控制,控制结果经空间飞行器姿态控制系统半实物(3)进行演示。
飞行器系统(2)中的过程④:飞行器系统(2)的子系统(42)接收飞行器系统(1)的子系统(41)所发的飞行器系统(1)的姿态信息,经过译码处理后经通信数据处理模块(5)传递给姿态协同控制模块(25),结合飞行器系统(2)的姿态信息【信号从(21)--(22)--(23)--(24)--(25)】和飞行器系统(1)的姿态信息【信号从(42)--(5)--(25)】对飞行器系统(2)进行姿态控制。
平台运行的顺序即过程①和过程②同时进行,接着过程③过程④同时进行;随后已知重复过程③和过程④,其中可通过空间飞行器姿态控制系统半实物(3)观察飞行器系统(1)的姿态变化。
上述各实施例仅用于说明本发明,其中各部件的结构、连接方式和制作工艺等都是可以有所变化的,凡是在本发明技术方案的基础上进行的等同变换和改进,均不应排除在本发明的保护范围之外。
Claims (5)
1.一种针对固定信息长度的LDPC编译码系统平台,其中固定信息长度为1152bits,它包含若干子系统,其特征在于:每一所述子系统包括一第一选择器、一上位机、一无线接收装置、一处理器、一FPGA编译码器、一第二选择器和一无线发射装置;其中FPGA编译码器包括判断单元、编码器和译码器;
所述第一选择器根据所接收的指令判断该指令来自所述上位机还是所述无线接收装置,并将该指令和判断结果通过所述处理器发送给所述FPGA编译码器;所述FPGA编译码器中的所述判断单元根据判断结果为该指令进行编码或者译码,并将编码结果或者译码结果发送给所述第二选择器;所述第二选择器根据编码结果或者译码结果判断是来自所述编码器还是所述译码器:若来自所述编码器,则将编码结果发送给所述无线发射装置,所述无线发射装置将该编码结果发送给作为目标的所述子系统,完成编码指令的发送;若来自所述译码器,则将该译码结果发送给所述上位机,完成译码指令的接收。
2.如权利要求1所述的一种针对固定信息长度的LDPC编译码系统平台,其特征在于:所述第一选择器和所述第二选择器采用数据选择器。
3.如权利要求1所述的一种针对固定信息长度的LDPC编译码系统平台,其特征在于:所述编码器包括LDPC编码器包括第一数据通路转换模块、第一RAM缓存模块、第一ROM模块、乘法器模块、前向置换模块、P1缓存模块、P2缓存模块和码字串口缓存模块;其中,所述乘法器模块包括t1乘法器、t2乘法器、t4乘法器和t5乘法器,且所述t1乘法器为左乘分块矩阵C,所述t2乘法器为左乘分块矩阵A,所述t4乘法器为左乘分块E矩阵,所述t5乘法器为左乘分块B矩阵;所述前向置换模块包括t3前向置换机构和t5前向置换机构,均为左乘分块矩阵T-1;所述P1缓存模块内置p1T=-(-ET-1AuT+CuT);所述P2缓存模块内置p2T=-(T-1AuT+T-1Bp1T);
所述第一数据通路转换模块将所述处理器传送指令中的信息位u转换成所述第一RAM缓存模块中需要的格式,并存入到所述第一RAM缓存模块,经过所述第一RAM缓存模块将uT先保存到所述码字串口缓存模块;
所述t1乘法器将所述第一RAM缓存模块中的信息位uT与所述第一ROM模块中的矩阵C相乘得到CuT,然后将CuT传送给所述P1缓存模块;所述t2乘法器将所述第一RAM缓存模块中的信息位uT与所述第一ROM模块中的矩阵A相乘得到AuT,并将AuT传送给所述t3前向置换机构,经过前置后得到T-1AuT,一方面将T-1AuT传送给所述P2缓存模块,另一方面将其经过所述t4乘法器处理得到ET-1AuT,并将ET-1AuT传送给所述P1缓存模块;
将所述P1缓存模块中的CuT和ET-1AuT,按照公式p1T=-(-ET-1AuT+CuT)计算p1T,并将p1T一方面传送给所述t5乘法器,另一方面将p1T存入所述码字串口缓存模块;
p1T经过所述t5乘法器处理得到Bp1T,并将Bp1T传送给所述t5前向置换机构;经过所述t5前向置换机构处理后得到T-1Bp1T,T-1Bp1T传送给所述P2缓存模块;
将所述P2缓存模块中的T-1AuT和T-1Bp1T按照公式p2T=-(T-1AuT+T-1Bp1T)计算p2T,并将p2T存入所述码字串口缓存模块528;
所述码字串口缓存模块中有uT,p1T和p2T,形成码字x,完成编码。
4.如权利要求2所述的一种针对固定信息长度的LDPC编译码系统平台,其特征在于:所述编码器包括LDPC编码器包括第一数据通路转换模块、第一RAM缓存模块、第一ROM模块、乘法器模块、前向置换模块、P1缓存模块、P2缓存模块和码字串口缓存模块;其中,所述乘法器模块包括t1乘法器、t2乘法器、t4乘法器和t5乘法器,且所述t1乘法器为左乘分块矩阵C,所述t2乘法器为左乘分块矩阵A,所述t4乘法器为左乘分块E矩阵,所述t5乘法器为左乘分块B矩阵;所述前向置换模块包括t3前向置换机构和t5前向置换机构,均为左乘分块矩阵T-1;所述P1缓存模块内置p1T=-(-ET-1AuT+CuT);所述P2缓存模块内置p2T=-(T-1AuT+T-1Bp1T);
所述第一数据通路转换模块将所述处理器传送指令中的信息位u转换成所述第一RAM缓存模块中需要的格式,并存入到所述第一RAM缓存模块,经过所述第一RAM缓存模块将uT先保存到所述码字串口缓存模块;
所述t1乘法器将所述第一RAM缓存模块中的信息位uT与所述第一ROM模块中的矩阵C相乘得到CuT,然后将CuT传送给所述P1缓存模块;所述t2乘法器将所述第一RAM缓存模块中的信息位uT与所述第一ROM模块中的矩阵A相乘得到AuT,并将AuT传送给所述t3前向置换机构,经过前置后得到T-1AuT,一方面将T-1AuT传送给所述P2缓存模块,另一方面将其经过所述t4乘法器处理得到ET-1AuT,并将ET-1AuT传送给所述P1缓存模块;
将所述P1缓存模块中的CuT和ET-1AuT,按照公式p1T=-(-ET-1AuT+CuT)计算p1T,并将p1T一方面传送给所述t5乘法器,另一方面将p1T存入所述码字串口缓存模块;
p1T经过所述t5乘法器处理得到Bp1T,并将Bp1T传送给所述t5前向置换机构;经过所述t5前向置换机构处理后得到T-1Bp1T,T-1Bp1T传送给所述P2缓存模块;
将所述P2缓存模块中的T-1AuT和T-1Bp1T按照公式p2T=-(T-1AuT+T-1Bp1T)计算p2T,并将p2T存入所述码字串口缓存模块528;
所述码字串口缓存模块中有uT,p1T和p2T,形成码字x,完成编码。
5.如权利要求3或4所述的一种针对固定信息长度的LDPC编译码系统平台,其特征在于:所述LDPC译码器包括第二数据通路转换模块、RAM缓存模块、校验乘法器、第二ROM模块、零矢量判断模块、串口缓存模块和译码错误判断模块;其中,所述译码错误判断模块包括迭代数判断机构、误码码元检测机构和码元纠错机构,且所述迭代数判断机构内置译码的最大迭代次数;所述第二ROM模块内置校验矩阵H;
所述第二数据通路转换模块将所述处理器传送指令中的码字x转换成所述第二RAM缓存模块中需要的格式,并存入到所述第二RAM缓存模块;
所述第二RAM缓存模块将码字x传送给所述校验乘法器,同时所述第二ROM模块中存储的校验矩阵H传送给所述校验乘法器;
所述校验乘法器对码字x进行比特节点赋值,利用校验方程计算每个比特的校验和,并将其传递给所述零矢量判断模块进行判断:若每个比特的校验和都为,则停止译码,并通过所述串口缓存模块将译码结果输出,译码成功;若不是所有的校验和都为,则传送给所述译码错误判断模块;
所述译码错误判断模块中的所述迭代数判断机构判断此时的译码次数是否大于最大迭代次数;若大于最大迭代次数,则输出译码错误标志;否则传送给所述误码码元检测机构;在所述误码码元检测机构中计算每一个比特对应的不满足的校验方程的个数,并将结果传递给所述码元纠错机构;在所述码元纠错机构中将在所述误码码元检测机构中计算结果中个数最大的对应的比特放入集合Ω,翻转集合Ω中的所有比特,之后将翻转后的结果再次传送给所述校验乘法器进行校验,直到达到最大译码迭代次数或者所有的校验方程均被满足,完成译码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510223253.XA CN104796158B (zh) | 2015-05-05 | 2015-05-05 | 一种针对固定信息长度的ldpc编译码系统平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510223253.XA CN104796158B (zh) | 2015-05-05 | 2015-05-05 | 一种针对固定信息长度的ldpc编译码系统平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104796158A true CN104796158A (zh) | 2015-07-22 |
CN104796158B CN104796158B (zh) | 2018-11-06 |
Family
ID=53560710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510223253.XA Active CN104796158B (zh) | 2015-05-05 | 2015-05-05 | 一种针对固定信息长度的ldpc编译码系统平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104796158B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321116A (zh) * | 2019-06-17 | 2019-10-11 | 大连理工大学 | 一种面向编译优化中计算代价约束问题的高效优化方法 |
CN110340888A (zh) * | 2018-10-30 | 2019-10-18 | 大连理工大学 | 一种空间机器人抓捕控制系统、强化学习方法及动力学建模方法 |
CN110704065A (zh) * | 2019-10-09 | 2020-01-17 | 大连理工大学 | 基于非法程序输入的编译器前端差分测试方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1475889A (zh) * | 2002-08-12 | 2004-02-18 | 天瀚科技股份有限公司 | 具多任务模式的无线数字板 |
CN1889491A (zh) * | 2006-07-19 | 2007-01-03 | 华为技术有限公司 | 一种无线上网卡及无线数据传输的方法 |
US7251769B2 (en) * | 2004-03-17 | 2007-07-31 | Lucent Technologies Inc. | Methods and apparatus for communication using generalized low density parity check codes |
CN101068348A (zh) * | 2007-01-24 | 2007-11-07 | 赵季伟 | 解码器/编码器复式组合工程机 |
US7322005B2 (en) * | 2003-06-13 | 2008-01-22 | Broadcom Corporation | LDPC (Low Density Parity Check) coded modulation symbol decoding using non-Gray code maps for improved performance |
CN201563188U (zh) * | 2009-12-03 | 2010-08-25 | 海尔集团公司 | 数据克隆装置 |
CN102736012A (zh) * | 2011-04-02 | 2012-10-17 | 鸿富锦精密工业(深圳)有限公司 | 直流回路测试系统及其测试方法 |
-
2015
- 2015-05-05 CN CN201510223253.XA patent/CN104796158B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1475889A (zh) * | 2002-08-12 | 2004-02-18 | 天瀚科技股份有限公司 | 具多任务模式的无线数字板 |
US7322005B2 (en) * | 2003-06-13 | 2008-01-22 | Broadcom Corporation | LDPC (Low Density Parity Check) coded modulation symbol decoding using non-Gray code maps for improved performance |
US7251769B2 (en) * | 2004-03-17 | 2007-07-31 | Lucent Technologies Inc. | Methods and apparatus for communication using generalized low density parity check codes |
CN1889491A (zh) * | 2006-07-19 | 2007-01-03 | 华为技术有限公司 | 一种无线上网卡及无线数据传输的方法 |
CN101068348A (zh) * | 2007-01-24 | 2007-11-07 | 赵季伟 | 解码器/编码器复式组合工程机 |
CN201563188U (zh) * | 2009-12-03 | 2010-08-25 | 海尔集团公司 | 数据克隆装置 |
CN102736012A (zh) * | 2011-04-02 | 2012-10-17 | 鸿富锦精密工业(深圳)有限公司 | 直流回路测试系统及其测试方法 |
Non-Patent Citations (2)
Title |
---|
曾凡鑫: "《现代编码技术》", 31 October 2008 * |
赵琦和刘荣科: "《编码理论》", 31 March 2009 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110340888A (zh) * | 2018-10-30 | 2019-10-18 | 大连理工大学 | 一种空间机器人抓捕控制系统、强化学习方法及动力学建模方法 |
CN110321116A (zh) * | 2019-06-17 | 2019-10-11 | 大连理工大学 | 一种面向编译优化中计算代价约束问题的高效优化方法 |
CN110321116B (zh) * | 2019-06-17 | 2021-04-20 | 大连理工大学 | 一种面向编译优化中计算代价约束问题的高效优化方法 |
CN110704065A (zh) * | 2019-10-09 | 2020-01-17 | 大连理工大学 | 基于非法程序输入的编译器前端差分测试方法 |
CN110704065B (zh) * | 2019-10-09 | 2021-04-20 | 大连理工大学 | 基于非法程序输入的编译器前端差分测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104796158B (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105846830B (zh) | 数据处理装置 | |
CN102075198B (zh) | 准循环低密度奇偶校验卷积码编译码系统及其编译码方法 | |
CN1953336B (zh) | 在低密度奇偶校验解码器中更新校验节点的方法 | |
CN102138282B (zh) | 减小复杂性的ldpc解码器 | |
CN107786211B (zh) | 一种ira-qc-ldpc码的代数结构获取方法、编码方法和编码器 | |
CN102437857B (zh) | 一种ira-ldpc码的构造方法及其编码器 | |
CN101232288B (zh) | 一种基于奇偶校验矩阵的ldpc码的译码方法及译码器 | |
CN105262493B (zh) | 低密度奇偶校验码的译码方法 | |
EP3364578B1 (en) | Parallel decoding for qc-ldpc codes | |
CN101689865A (zh) | 置乱式ldpc解码 | |
CN104796158A (zh) | 一种针对固定信息长度的ldpc编译码系统平台 | |
CN103916134A (zh) | 低密度奇偶校验码的混叠译码方法及多核协同混叠译码器 | |
CN102820890B (zh) | 短码长多进制赋权重复累加码的编码器装置及方法 | |
CN101296053A (zh) | 计算循环冗余校验码之方法及系统 | |
CN102412844B (zh) | 一种ira类ldpc码的译码方法及译码装置 | |
CN111384970B (zh) | 一种译码方法、装置及通信设备 | |
KR20140088423A (ko) | 리드-솔로몬 저밀도 패리티 검사 디코더를 포함하는 반도체 메모리 시스템 및 그것의 읽기 방법 | |
CN113098529B (zh) | 基于循环移位的额外信息传输方法、系统及存储介质 | |
CN104158549A (zh) | 一种极性码译码方法及译码装置 | |
CN100593911C (zh) | 一种对通信系统中接收到的层数据进行解码的方法和系统 | |
Sari | Effects of puncturing patterns on punctured convolutional codes | |
CN103036577B (zh) | 一种低复杂度的低密度奇偶校验ldpc码编码电路结构 | |
CN115858230A (zh) | 最大距离可分离码的构造、修复方法及相关装置 | |
CN110730003B (zh) | 一种ldpc编码方法及ldpc编码器 | |
CN102347774A (zh) | 低密度奇偶检查码编解码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |