卫星VCM数传高效低功耗LDPC编码器

2021-01-26 09:06安军社王冰冰张伟东
哈尔滨工业大学学报 2021年2期
关键词:数传低功耗校验

康 婧, 安军社, 王冰冰, 张伟东

(1.中国科学院复杂航天系统电子信息技术重点实验室(中国科学院国家空间科学中心), 北京 100190;2.中国科学院大学, 北京 100190)

随着空间探测任务需求日益提升,航天器携带的载荷设备趋于精密多样,星地链路传输数据量大幅增加.而大部分对地观测卫星为近地轨道(low Earth orbit,LEO)卫星,其特点是单次过境时间短,为保证在有限时间内传输更多数据,星地链路需支持更高的数传速率[1].在传输带宽不变的情况下,通常将高阶调制技术与高效编译码算法相结合来提升数传速率,但同样误码率接收高阶调制信号相较于低阶调制信号需要更大的信噪比,意味着需要提高信号发射功率.另一方面,LEO卫星通常采用固定编码调制(constant coding modulation,CCM)数传体制,其按照确保地面天线5°仰角时的数据接收设计编码调制方式,而卫星过境过程中,由于天气、传输距离变化等原因,星上发射功率并未得到充分利用[2].为充分利用星上发射功率并最大化卫星过境时下传的载荷数据量,可采用可变编码调制(variable coding modulation,VCM)数传体制[3-4].

目前有两种支持VCM的通信标准:一种是蓝皮书中的串行级联卷积码(serially concatenated convolutional codes,SCCC)[5],另一种是基于欧洲电信标准化协会(European Telecommunication Standards Institute,ETSI)制定的第二代数字视频广播(the second generation digital video broadcast,DVB-S2)标准[6], 其中DVB-S2标准采用BCH(Bose-Chaudhuri-Hochquenghem)为外码,LDPC(low-density parity-check)码为内码的级联编码方式.LDPC码[7]由Gallager于1962年提出,是一种逼近Shannon极限的线性分组码[8],具有译码复杂度低、误码平层低等优势.文献[9-16]对DVB-S2标准LDPC编码进行了研究,其中文献[11]实现了基于DVB-S2标准的LDPC编码器,设计时将双口RAM配置成先读后写模式,同一时刻完成两个校验比特更新,可使编码速率达到328 Mb/s,但其采用的存储结构最多支持两路并行,不能满足更高传输速率的要求;文献[12]提出了一种新型的校验比特存储方案,设计实现了串行和并行两种编码器,最高编码速率可达926 Mb/s,但其采用了45个RAM存储块,需要占用较多逻辑资源实现对RAM存储块的读写控制;文献[13-16]基于DVB-S2标准非规则重复累积LDPC码(Irregular repeated accumulated,IRA-LDPC)的特点,充分利用编码算法中的并行性,实现了吞吐率高达Gb/s的编码器,但编码输出不是按顺序输出,需要与较复杂的比特交织模块相结合.本文基于实际卫星型号任务VCM数传应用,提出了一种基于DVB-S2标准的快速累加并向递归编码算法,并在XC7K325t-3fbg900 FPGA上设计实现了一种高效低功耗LDPC编码器.

1 编码算法

1.1 DVB-S2 标准基本编码算法

DVB-S2标准中采用的LDPC码是IRA-LDPC码,其校验矩阵为

(1)

式中:B为下三角阶梯矩阵;A为稀疏矩阵,且A的列向量按顺序每360列构成一个分组,每个分组第j(1≤j≤360)个列向量中1的位置可根据式(2)计算得到.

{di+(j-1)·q}mod(n-k),i∈{1,2,…,v}.

(2)

式中:di为每个分组首列列向量中第i个1的初始校验地址,v为此列向量的列重,q为标准中给出的数值,n为码长,k为信息比特长度.

IRA-LDPC码是系统码,其码字为

C=[I|P].

(3)

LDPC编码的实质为在二元域上求解式(4)所示的线性方程组.

H·CT=0.

(4)

由于B矩阵的双对角线结构,校验比特可由方程组(5)递归计算得到:

(5)

式中⊕为二元域上的加法.

1.2 快速累加并向递归编码算法

(6)

由方程组(6)可知,校验比特的计算是一个对Sr在二元域累加的过程.设编码并行度为M,即同一时刻参与运算的信息比特为M位,实际应用时,M的取值可根据VCM模式设置.进一步,可根据式(7)并向递归计算Sr.

forc=0∶M∶k-M

for eachr∈CN(c) do

Sr=Sr⊕ic

S(r+q)mod(n-k)=S(r+q)mod(n-k)⊕ic+1

Sr+(M-1)·qmod(n-k)=Sr+(M-1)·qmod(n-k)⊕ic+M-1

end

end

(7)

利用二进制计算的特点,式(7)中Sr计算可简化为

(8)

为快速并向递归计算Sr,根据编码并行度M,可按式(9)存储Sr,其中L=(n-k)/M.

(9)

当所有信息比特参与完运算,按式(10)快速并向递归计算校验比特,且输出为顺序输出.

(10)

2 高效低功耗LDPC编码器设计

2.1 VCM数传系统与编码器整体结构

以运行高度为600 km的近地卫星为例,卫星在仰角>5°时建立数传链路,其链路参数见表1.

表1 某近地卫星数传链路设计参数

图1(a)所示为链路预算结果.从图中可看出随着仰角变化,链路预算结果动态变化,在本例中,卫星过境期间存在着11.8 dB的链路信噪比波动.(注:图中90°~175°仰角对应实际90°~5°仰角)

根据链路预算结果和文献[3]中提出的VCM流程设计方法,确定了本文如图1(b)所示VCM模式切换方案:当5°≤卫星仰角≤15°时,采用码长n=16 200,码率R=2/3,调制方式为8PSK的modcod1模式;当15°<卫星仰角≤25°时,采用码长n=16 200,码率R=2/3,调制方式为16APSK的modcod2模式;当卫星仰角>25°时,采用码长n=16 200,码率R=4/5,调制方式为16APSK的modcod3模式.

图1 链路预算结果和VCM模式切换流程

针对上述VCM数传系统需求,设计了基于快速累加并向递归编码算法的高效低功耗LDPC编码器,结构框图见图2.主要包括控制模块、校验地址计算模块、校验比特中间变量Sr计算模块、输出处理模块.其中校验地址计算模块包括初始校验地址存储ROM、校验地址及偏移量计算模块;校验比特中间变量Sr计算模块包括校验比特中间变量存储SrRAM和取反逻辑;输出处理模块包括状态控制模块和异或逻辑.

图2 高效低功耗LDPC编码器结构框图

2.2 控制模块

控制模块是编码器的核心模块,主要由状态机和控制信号组成,其作用是根据VCM模式的设置动态重构编码器,完成各模块间的有序切换并保证模块内部各功能的正确实现.编译时,针对VCM设置参数进行综合适配,改变模块内部结构和相互之间的连接关系,生成针对用户设定的可执行文件.控制模块端口信号及其说明见表2.

表2 控制模块端口信号及说明

图3为高效低功耗LDPC编码器的工作流程图.校验地址计算模块按照分级存储指针从ROM中对分级存储的初始校验地址进行读取,并根据初始校验地址计算出该信息比特对应的校验地址和偏移量;校验比特中间变量Sr计算模块在SrRAM读写时序及读写使能控制下,读取该校验地址中的数值,并根据当前信息比特的取值在下一时钟周期将取反后的数值写入同一地址;当一帧数据的所有信息比特输入完毕,Sr计算也随之结束,此时从零地址开始读取SrRAM中的值送入输出处理模块,并将SrRAM中内容清零,保证下一帧数据编码的正确性;输出处理模块通过编码器状态参数的控制对分布式存储的Sr进行异或得到最终的校验比特,按顺序并行输出信息比特和校验比特.

图3 编码器工作流程

2.3 校验地址计算模块

图4为校验地址计算模块结构.校验地址计算模块由初始校验地址存储ROM、校验地址及偏移量计算模块组成,用于完成当前信息比特对应的校验地址和偏移量计算.

图4 校验地址计算模块结构框图

利用ROM存储初始校验地址,且对不同VCM模式的初始校验地址进行指针式分级存储.当输入为每个分组的第1个信息比特时,根据分级存储指针从ROM相应地址中读取初始校验地址,组内其余信息比特的校验地址由式(2)计算.为节省资源,式中乘法用累加方式代替,求模运算用减法和选择器实现.针对式(9)设计的Sr存储结构,利用除法器按照式(11)、(12)计算组内信息比特对应的SrRAM校验地址Vaddr和偏移量Voffset.

Vaddr=floor(x/M),

(11)

Voffset=mod(x,M).

(12)

式中:floor为取整函数,mod为取模函数,x为由式(2)计算出的校验地址.

2.4 校验比特中间变量Sr计算模块

校验比特中间变量Sr计算模块是高效低功耗LDPC编码器的重要模块,该模块利用双端口RAM按照式(7)、(8)、(10)完成对中间变量Sr的存储与更新计算.由式(7)内层循环可知,每个Sr更新需要v个时钟,为缩短编码周期,提高编码数据吞吐率,本文采用分布式存储技术,利用v·M个SrRAM并行处理一个信息比特对v个Sr的更新计算的同时并行计算Sr,S(r+q)mod(n-k),…,Sr+(M-1)·qmod(n-k).根据3种VCM模式需求,本文支持3、4两种编码并行度,分别对应8PSK和16APSK两种调制方式,为兼容各VCM模式,本文采用最大化存储编码策略,利用vmax·Mmax块深度为(n-k)/Mmin、宽度为Mmax的双端口RAM,完成Sr的存储与更新计算,其中vmax为校验矩阵列向量列重v的最大值,Mmin和Mmax分别为编码并行度M的最小值和最大值.编码时由控制模块根据VCM模式置v·M个SrRAM的使能信号有效,完成Sr的存储与更新计算.

并行输入的信息比特icic+1…ic+M-1分别送入M个存储器,当输入信息比特ic为1时,SrRAM读使能有效,根据Vaddr读取SrRAM中的数据,同时根据Voffset值对读出数据的相应比特位置取反,并延迟一个时钟周期再写回同一地址.当输入信息比特ic为0时,SrRAM读使能无效,不做任何操作,降低了编码器功耗.当k个信息比特全部输入参与完运算后,Sr更新计算完成,此时将v·M个SrRAM中的内容从零地址开始同时读出,并将零值写入该地址,以保证后续的数据帧能正确编码.

2.5 输出处理模块

输出处理模块将编码后的码字包括信息比特和校验比特并行输出至数字调制器.当编码器处于校验比特计算状态时,输出处理模块将并行输入的信息比特直接输出,并置输出数据有效;当编码器处于校验比特输出状态时,根据式(10)对分布式存储的Sr进行异或操作,每个时钟完成M个校验比特的计算且按顺序并行输出M个校验比特,同时置输出数据有效.

3 实现结果与分析

3.1 编码器硬件资源消耗分析

对提出的高效低功耗LDPC编码器,在Xilinx XC7K325t-3fbg900型号FPGA上进行了实现,开发环境为ISE14.7,与其他文献编码器硬件资源消耗对比结果见表3.

表3 不同文献编码器资源消耗情况

文献[13-15]均是对单一码长码率LDPC编码器的实现,文献[16]支持2种码长和11种码率,本文设计的编码器兼容3种VCM模式,控制模块有效保证了编码器在LEO卫星切换VCM模式时动态自适应调整,提高了编码器的灵活性.

为兼容3种VCM模式,需对各VCM模式下不同初始校验地址进行存储,且为实现快速累加并向递归编码算法,采用了分布式存储技术和最大化存储编码策略,因此本文的寄存器和存储资源消耗比文献[13-15]多.文献[16]中设计的编码器需要用RAM对中间变量结果以及输入信息比特进行缓存,占用了较多的RAM资源,而本文提出的编码器不需要对信息进行缓存,降低了RAM资源占用.本文设计的编码器实现了硬件资源和编码灵活性的动态平衡.

3.2 编码器功耗分析

本文提出的编码器在输入信息比特为1时,SrRAM读使能有效,将SrRAM中的数据读出,并用取反操作代替异或操作;而输入信息比特为0时,读使能无效,不对SrRAM进行操作,降低了编码器的功耗.使用XPower Analyzer工具对本文设计的编码器和未经低功耗设计的编码器进行功耗分析,对比结果见表4.

表4 功耗分析对比

表中未经低功耗设计的编码器是指相同硬件平台,每个时钟均对SrRAM进行读写,用异或进行Sr更新与计算,其他模块与本文一致的编码器.由表4可知,利用本文方案设计的编码器降低了21.7%的功耗,对功耗要求苛刻的LEO卫星星上系统具有重要意义.

3.3 编码器性能分析

编码数据吞吐率是衡量编码器性能的重要指标之一,借助Timing Analyzer工具,对本文编码器进行评估,其计算公式为

(13)

式中:n为码长;R为码率;fclk为系统时钟,综合编译结果为347.5 MHz;M为编码并行度;w为标准中给出的初始校验地址行数;L=(n-k)/M;td为系统延时,定义为第1个信息比特进入编码器到第1个信息比特输出所需时钟周期数,实测值为26.本文提出的编码器的数据吞吐率见表5.

表5 本文编码器吞吐率

本文设计的编码器编码并行度可动态切换为3或4,分别对应8PSK和16APSK两种调制方式,提高了编码数据吞吐率,编码数据吞吐率最高可达1.104 Gb/s;且编码数据按顺序输出,不需要与复杂的交织模块相结合,简单的行列交织之后,即可进行比特星座映射,降低了整个VCM系统的实现复杂度,具有高效性.

对于VCM数传系统,其数据吞吐量TVCM,即卫星在数传时间内向地面传输的总信息量为

TVCM=Tmodcod1·Δtmodcod1+Tmodcod2·Δtmodcod2+

Tmodcod3·Δtmodcod3.

(14)

利用STK仿真软件得到每种模式持续时间Δtmodcod1= 380 s,Δtmodcod2= 280 s,Δtmodcod3= 420 s;计算得到CCM数传系统(采用单一modcod1模式)数据吞吐量为746.28 Gb,而VCM数传系统数据吞吐量为984.14 Gb,较CCM数传系统提高了31.9%.

4 结 论

面对LEO卫星VCM数传系统对高通量、低功耗、高可靠性信道编码的应用需求,本文提出了一种基于快速累加并向递归编码算法的高效低功耗LDPC编码器.利用输入比特的随机性和二进制计算的特点,简化了Sr的计算,降低了21.7%编码器功耗;通过控制模块动态重构编码结构,能够兼容3种VCM模式,提高了编码器的灵活性;采用与调制方式相匹配的存储方案,能够顺序输出M个并行比特,提高了编码数据吞吐率,且不需要与复杂交织模块相结合,具有高效性.结果表明,编码数据吞吐率最高可达1.104 Gb/s,整个VCM数传系统数据吞吐量较CCM系统提高了31.9%,且该编码器具有低功耗、灵活性与高效性的特点,在LEO卫星VCM数传系统中具有较高应用价值.

猜你喜欢
数传低功耗校验
使用Excel朗读功能校验工作表中的数据
基于数传电台的靶弹测控系统设计
一种高速低功耗比较器设计
卫星数传产品自动化测试系统设计
嫦娥卫星数传副瓣信号的干涉测量研究与精度验证
一种宽带低功耗四合一接收机设计
智能电能表的现场快速校验方法探讨
低功耗便携智能翻译手套系统
低功耗技术在驾驶行为管理模块中的应用
电子式互感器校验方式研究