主要内容

ccsdsRSDecode

解码ccsds投诉RS代码

    描述

    例子

    解码cnumerrccode= ccsdsRSDecode(代码k解码接收到的信号代码通过使用(255,k) Reed-Solomon (RS)译码器,带有生成器多项式,定义见空间数据系统咨询委员会(CCSDS) 131.0-B-3第4节[1]k已解码消息中的符号数。函数返回已解码的消息代码解码,修正错误的数量,cnumerr的修正版本代码ccode

    有关CCSDS RS码解码的描述,请参见RS码解码

    例子

    解码cnumerrccode= ccsdsRSDecode(代码k指定交错深度,代码长度为255字节的RS码字。

    解码cnumerrccode= ccsdsRSDecode(代码k年代指定缩短的消息长度,年代

    例子

    全部折叠

    生成一个完整长度的里德-所罗门(RS)编码码字,引入随机错误,并使用空间数据系统咨询委员会(CCSDS) RS解码器对结果进行解码。

    生成一个长度随机的消息k

    K = 223;MSG = randi([0 255],k,1);

    使用CCSDS RS编码器对消息进行编码。

    代码= ccsdsRSEncode(msg,k);

    生成15个随机错误符号和15个唯一的随机位置来插入这些错误。

    Err = randi([1 255],15,1);errLoc = randperm(255,15);errVec = 0 (255,1);errVec(errLoc) = err;

    在编码的消息中引入错误符号。

    rxBytes = bitxor(code,errVec);

    使用CCSDS RS解码器对引入错误的编码符号进行解码。

    [decoded,v,ccode] = ccsdsRSDecode(rxBytes, k);

    显示已更正错误的数目。

    disp (v)
    15

    生成一个完整长度的里德-所罗门(RS)编码码字,引入突发错误,并使用空间数据系统协商委员会(CCSDS) RS解码器对结果进行解码。

    指定消息长度k交错的深度,

    K = 239;I = 5;

    生成随机消息位的列向量。使用CCSDS RS编码器对短消息进行编码。

    MSG = randi([0 255],k*i,1);代码= ccsdsRSEncode(msg,k,i);

    生成30个随机错误符号。

    Err = randi([1 255],30,1);errVec = 0 (255*i,1);

    从52号位置到81号位置引入脉冲误差。

    errVec(52:81) = err;rxBytes = bitxor(code,errVec);

    使用CCSDS RS解码器对引入突发错误的编码符号进行解码。

    [decoded,v,ccode] = ccsdsrdecode (rxBytes,k,i);

    显示已更正错误的数目。

    disp (v)
    30.

    输入参数

    全部折叠

    编码的消息,指定为范围为[0,255]的整数的列向量。

    列向量的元素和大小取决于输入消息的数据类型。

    • 对于逻辑数据类型,vector中的每个元素都是0或1。

    • 对于uint8或double数据类型,每个元素都是GF(2)中的整数符号),取值范围为[0,255]。是每个符号的比特数。

    输入消息类型 的大小代码
    数据类型代码是合乎逻辑的 数据类型代码uint8还是double
    完整长度的输入消息 8 * 255 255
    交错输入消息 8 * 255 * 255 *
    缩短的输入消息 8 ** (255 -k+年代 * (255 -k+年代

    数据类型:|uint8|逻辑

    已解码消息中的符号数目,指定为223239

    数据类型:

    交错深度,指定为123.45,或8.默认值为,1,对应无交错。

    代码长度为255字节的RS码字。

    数据类型:

    缩短的消息长度,指定为范围为[1]的整数,k]。

    数据类型:

    输出参数

    全部折叠

    已解码的消息,作为列向量返回。每个元素表示解码输入中相应的元素代码.的数据类型解码和的一样吗代码

    的数据类型决定列向量的大小代码

    输入消息类型 的大小解码
    数据类型代码是合乎逻辑的 数据类型代码uint8还是double
    完整长度的输入消息 8 *k k
    交错输入消息 8 *k k
    缩短的输入消息 8 *年代 年代

    值时输出cnumerr1解码等于第一个吗k的元素代码

    已纠正错误的数目,作为范围[的整数返回-1, (n- - - - - -k∕2],其中n是码字长度。的价值n设置为255根据CCSDS 131.0-B-3第4节[1]

    的值1cnumerr指示解码器无法纠正错误。

    代码的修正版本,作为列向量返回。的长度ccode和的长度一样代码.的数据类型ccode和的一样吗代码

    值时输出cnumerr1ccode等于代码

    更多关于

    全部折叠

    RS码解码

    CCSDS RS码是一种功能强大的突发纠错码。这些代码通常用作前向纠错(FEC)代码,因为它们在符号级别上检测和纠正错误。

    解码全长消息CCSDS RS码

    与编码一样,CCSDS RS码的解码也是按行进行的。输入向量长度是交错深度()和码字长度(n).n根据CCSDS 131.0-B-3第4节固定为255个符号[1].输入向量由消息和奇偶校验符号组成。

    全长CCSDS RS码解码

    解码短消息CCSDS RS码

    与编码一样,CCSDS RS码的解码也是按行进行的。输入向量长度是交错深度()和计算的值n-k+年代.输入向量由短消息和奇偶校验符号组成。

    解码缩短CCSDS RS码

    参考文献

    [1] TM同步与信道编码。空间数据系统标准建议书.冲洗液131.0 b3。蓝色的书。问题3。华盛顿特区:CCSDS, 2017年9月。

    扩展功能

    C/ c++代码生成
    使用MATLAB®Coder™生成C和c++代码。

    版本历史

    在R2021a中引入

    Baidu
    map