没有合适的资源?快使用搜索试试~ 我知道了~
星地高速数传系统低复杂度可重构LDPC编码器设计.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 130 浏览量
2023-02-23
20:06:52
上传
评论
收藏 656KB DOCX 举报
温馨提示
试读
12页
星地高速数传系统低复杂度可重构LDPC编码器设计.docx
资源推荐
资源详情
资源评论
1. 引言
空间探测任务中,近地轨道(Low Earth Orbit, LEO)卫星因具有发射成本低、通信时延
小和覆盖范围广等优势而被广泛应用。随着空间探测任务需求愈加复杂、卫星有效载荷传
感器精度不断提高,星地链路传输数据量大大增加
[1]
,如何在星上硬件资源、带宽和功率
受限的情况下实现高速数据传输已成为我国目前航天器发展需要解决的核心难题。良好的
信道纠错编码对于提高数传的抗干扰性、传输可靠性和传输功率受限情况下的数据传输容
量十分重要,与高阶数字调制技术相结合还可以解决带宽受限问题
[2]
,因此探索一种合适
的信道编码方案对当前空间通信的发展具有重要意义。
低密度奇偶校验(Low Density Parity Check, LDPC)码由 Gallager
[3]
于 1962 年在其博士
论文中提出,是一种纠错性能逼近 Shannon 极限的信道编码技术,具有译码复杂度低、误
码平层低等优势,已广泛应用于多种通信标准,如 DVB-S2, CCSDS, IEEE 802.11n 等。针
对航天通信应用,国际空间数据系统咨询委员会(Consultative Committee for Space Data
Systems, CCSDS)制定了《131.0-B-2 遥测同步及信道编码》标准
[4]
,规定了近地卫星通信应
用和深空通信应用的两套 LDPC 码字,其中近地卫星通信部分采用了码率为 7/8 的准循环
(8176, 7154) LDPC 码。
CCSDS 标准规定的(8176, 7154)LDPC 码是一种准循环 LDPC(Quasi-Cyclic, QC-LDPC)
码,可利用循环移位寄存器实现线性复杂度的编码
[5,6]
。文献[7]实现了满足航天应用需求的
串行编码电路,其实现复杂度低,但所需编码时钟周期数和信息比特位数成正比,码长较
长时编码数据吞吐率不能满足高速数传需求。文献[8]提出了一种高效低功耗低并行度的编
码方案,文献[9-12]实现了并行度更高的编码器。并行编码电路可以满足高编码数据吞吐
率要求,但其硬件资源消耗大,功耗高。文献[13-15]提出了可重构设计思想,以改善系统
性能。本文面向 LEO 卫星星地高速数传系统,针对 CCSDS 近地卫星通信标准提出了一种
低复杂度可重构 LDPC 编码器设计方案,并进行了硬件实现验证。
2. LDPC 编码算法
2.1 CCSDS 标准 LDPC 编码算法
LDPC 码的编码算法可以分为两类:基于生成矩阵的编码算法和基于校验矩阵的编码
算法
[16]
。基于生成矩阵的编码算法直接将生成矩阵与信息比特进行矩阵运算,这种编码算
法简单且易于实现,但编码复杂度高,正比于码长的平方。而 CCSDS 近地卫星通信标准
采用的是码率为 7/8 的(8176, 7154)LDPC 码,该码是一种 QC-LDPC 码,可以利用移位寄存
器实现线性复杂度的编码,其生成矩阵${\boldsymbol{G}}$是大小为 7154$ \times $8176 的
矩阵
$$ {\boldsymbol{G}} = [{\boldsymbol{I}}\left| {\boldsymbol{B}} \right.{\rm{] = }}\left[ {\begin{array}{*{20}{c}}
{\boldsymbol{I}}&{{{\textit{0}}}}& \cdots &{{{\textit{0}}}}\\ {{{\textit{0}}}}&{\boldsymbol{I}}& \cdots
&{{{\textit{0}}}}\\ \vdots & \vdots & \ddots & \vdots \\ {{{\textit{0}}}}&{{{\textit{0}}}}& \cdots
&{\boldsymbol{I}} \end{array}\left| {\begin{array}{*{20}{c}}
{{{\boldsymbol{B}}_{{\rm{1}},{\rm{1}}}}}&{{{\boldsymbol{B}}_{1,2}}}\\
{{{\boldsymbol{B}}_{2,1}}}&{{{\boldsymbol{B}}_{2,2}}}\\ \vdots & \vdots \\
{{{\boldsymbol{B}}_{14,1}}}&{{{\boldsymbol{B}}_{14,2}}} \end{array}} \right.} \right]$$
(1)
如式(1)所示,生成矩阵${\boldsymbol{G}}$是系统的准循环结构,由${\rm{14}}
\times {\rm{16}}$个${\rm{511}} \times {\rm{511}}$阶循环矩阵组成,其中
${\boldsymbol{I}}$为单位矩阵,${{\textit{0}}}$为零矩阵,${{\boldsymbol{B}}_{i,j}}(i =
1, 2,\cdots ,{\rm{14}};j = 1,{\rm{2}})$为循环矩阵。令${{\boldsymbol{b}}_{i,j}}$为循环矩
阵${{\boldsymbol{B}}_{i,j}}$的首行行向量,则${{\boldsymbol{B}}_{i,j}}$可通过
${{\boldsymbol{b}}_{i,j}}$循环移位得到,因此在硬件实现时,只需存储 28 个循环矩阵首
行即可,简化了存储结构。
基于生成矩阵的编码算法为
$${\boldsymbol{V}} = {\boldsymbol{u}} \times {\boldsymbol{G}} = {\boldsymbol{u}} \times [{\boldsymbol{I}}\left|
{\boldsymbol{B}} \right.] = [{\boldsymbol{u}}\left| {{\boldsymbol{u}} \times {\boldsymbol{B}}} \right.] =
[\begin{array}{*{20}{c}} {\boldsymbol{u}}&{\boldsymbol{C}} \end{array}]$$
(2)
其中,${\boldsymbol{u}} = [ {{u_1}}\ \ {{u_2}}\ \ \cdots \ \ {{u_{7154}}}]$为输入的信
息比特,${\boldsymbol{C}} = [ {{c_1}}\ \ {{c_2}}\ \ \cdots \ \ {{c_{1022}}} ]$ 为计算出的校
验信息比特,${\boldsymbol{V}}$为编码生成的码字。
2.2 并行编码算法
为缩短编码周期,提高编码数据吞吐率,在 CCSDS 标准 LDPC 编码算法基础上,通
过对输入信息比特进行插 0 处理和拆分循环矩阵,可以实现并行编码算法。具体步骤如
下:
(1)以循环矩阵${{\boldsymbol{B}}_{i,j}}$的阶数 511 为一段,将输入信息比特
${\boldsymbol{u}}$分割为 14 个长度为 511 bit 的子向量
$$ \begin{split} & {{\boldsymbol{A}}_i} = [ {{u_{(i - 1) \times 511 + 1}}}\ \ {{u_{(i - 1) \times 511 + 2}}} \ \ \cdots \
\ {{u_{i \times 511}}} ]\\ & (i = 1,2, \cdots,14) \end{split} $$
(3)
(2)为实现偶数位信息比特并行编码,对${{\boldsymbol{A}}_i}$进行插 0 处理,扩展
为长度为 512 bit 的向量
$$ \begin{split} {{\boldsymbol{E}}_i} =\,& [ {{e_{i,1}}}\ \ {{e_{i,2}}}\ \ \cdots \ \ {{e_{i,512}}} ] =
[ {{{\boldsymbol{A}}_i}}\ \ 0 ] \\ =\,& [ {{u_{(i - 1) \times 511 + 1}}}\ \ {{u_{(i - 1) \times 511 + 2}}}\ \ \cdots\ \
{{u_{i \times 511}}}\ \ 0 ]\\ &(i = 1,2, \cdots ,14) \end{split} $$
(4)
(3)根据编码并行度 M,即并行编码的信息比特数,将${{\boldsymbol{E}}_i}$分割为
M 个长度为$N = 512/M$ bit 的子向量
$$ \begin{split} {K}_{i}^{c}\,&=[{k}_{i,1}^{c}\ \ {k}_{i,2}^{c}\ \ \cdots \ \ {k}_{i,N}^{c}]\\ &=[{e}_{i,c}\ \
{e}_{i,c+M}\ \ \cdots \ \ {e}_{i,c+(N {-1})\times {M}}]\\ &(i=1,2,\cdots ,14;c=1,2,\cdots ,M) \end{split} $$
(5)
同时将循环矩阵${{\boldsymbol{B}}_{i,j}}$分割为 M 个子循环矩阵
${\boldsymbol{B}}_{i,j}^c$,令${{\boldsymbol{b}}_{i,j}}$循环右移 1 位得到的向量为
${\boldsymbol{b}}_{i,j}^1$,且${\boldsymbol{b}}_{i,j}^0 = {\boldsymbol{b}}_{i,j}^{511} =
{{\boldsymbol{b}}_{i,j}}$,则每个子循环矩阵${\boldsymbol{B}}_{i,j}^c$首行行向量为
${\boldsymbol{b}}_{i,j}^{c - 1}$,其它行由${\boldsymbol{b}}_{i,j}^{c - 1}$循环右移 M 位
得到。
(4)利用式(6)计算得到校验比特向量${{\boldsymbol{C}}_j}$
$$ \begin{split} & {{\boldsymbol{C}}_j} = \sum\limits_i {{{\boldsymbol{S}}_{i,j}} = } \sum\limits_i {\sum\limits_c
{{\boldsymbol{S}}_{i,j}^c} = } \sum\limits_i \sum\limits_c {\boldsymbol{K}}_i^c{\boldsymbol{B}}_{i,j}^c\\ & (i =
1,2, \cdots ,14;c = 1,2, \cdots ,M;j = 1,2) \end{split} $$
(6)
其中,${{\boldsymbol{C}}_j} = [ {{c_{(j - 1) + 1}}}\ \ {{c_{(j - 1) + 2}}}\ \ \cdots \ \
{{c_{511j}}} ]$表示 511 位的校验比特,${\boldsymbol{S}}_{i,j}^c$和
${{\boldsymbol{S}}_{i,j}}$为中间计算结果。
(5)将信息比特和校验比特相结合得到系统形式的码字${\boldsymbol{V}} =
[\begin{array}{*{20}{c}} {\boldsymbol{u}}&{\boldsymbol{C}} \end{array}] =
[\begin{array}{*{20}{c}}
{\boldsymbol{u}}&{{{\boldsymbol{C}}_1}}&{{{\boldsymbol{C}}_2}} \end{array}]$。
3. 低复杂度可重构 LDPC 编码器
3.1 整体结构
在对资源、编码数据吞吐率要求苛刻的星地数传系统中,应根据实际应用需求选择合
适的编码并行度 M,并行度过高,会占用大量硬件资源,并行度太低,则不能满足编码数
据吞吐率要求,大多数文献中的编码器仅支持单一的编码并行度,灵活性较差。另一方
剩余11页未读,继续阅读
资源评论
罗伯特之技术屋
- 粉丝: 3552
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功