问题: MATLAB自带RS编码函数 rsenc,解码函数 rsdec:

1、rsenc 编码后的输出为 gf 类型的数据, 我们通常希望将其转化为能处理的数组,那么该如何操作?

2、rsdec 解码之前需要将编码数组转化为函数可处理的 gf 类型数据,那么该如何操作?

1、对于问题 1, 例如:

 m = 3;           % Number of bits per symbol
 n = 2^m - 1;     % Codeword length .
 k = 3;           % Message length
 msg = gf([2 7 3; 4 0 6],m,13);
 code = rsenc(msg,n,k)

生成的 code 是 gf 类型的数据:

code = GF(2^3) array. Primitive polynomial = D^3+D+1 (11 decimal)
Array elements = 
   7   4   3   7   0   0   4
   6   2   2   7   6   7   3
   3   0   5   5   6   0   6

当我们需要提取编码后的数据时,操作如下

RS_output = double(code.x)

得到 double 型数组:

RS_output = 7 4 3 7 0 0 4 6 2 2 7 6 7 3 3 0 5 5 6 0 6

原因: 不详,可能 code 为一个结构体。

2 、对于问题 2, 先利用 gf 函数将编码数组转化为 gf 类型数据:

msg  = gf(RS_output,m)

然后就可以使用 rsdec 解码函数了。

此提交包括 2 个 MATLAB MEX 函数 rs enc_mex 和 rs dec_mex,它们通过调用 Simon Rockliff 用 C 语言实现的 RS 编码 /解码 函数 来执行 RS (Reed-Solomon) 编码 /解码。 希望对想在 MATLAB RS 代码相关模拟的人有所帮助。 rs enc_mex 和 rs dec_mex 函数 的运行速度比旧的 MATLAB rs enc 和 rs dec 函数 快得多。 (不过,预计不会比新的 MATLAB 通信工具箱 RS 编码 /解码 函数 ,即 comm. RS Encoder、comm. RS Decoder 快,因为在实现过程 并没有考虑到效率。) 请按照 readme.txt 的说明进行 1) 编译和 2) 测试代码。 再次感谢 Simon Rockliff 提供了如此完美的 C 实现! 对于更多实现的 编码 算法,您可能需要查看“纠错码(ECC)页 RS 编码 matlab 仿真 编码 | 2008-07-29 23:57:45 | 阅读 14088 次 | 评论(1) RS 编码 matlab 仿真(m文件仿真)对加入突发噪声信道的 RS (15,11) 编码 进行的仿真:代码如下:L=1000;M=4;%每个符号的比特数N=2^M-1;% 编码 后码字长度K=N-4;%信息长度MSG=randint(L,1);%随机产生L比特信号TP= gf tuple([-1:N... 通过这一系列的处理步骤,通信系统能够在保证 数据 传输速率的同时,显著提高 数据 的传输可靠性,特别是在信噪比较低的环境 RS 编码 的加入显著增强了系统对错误的检测和纠正能力,而2FSK调制则提供了一种相对简单且有效的方式,以适应各种传输信道的要求。在2FSK调制 ,发送端根据要传输的二进制 数据 ,选择对应的频率进行信号的发射。接收端通过检测接收到的信号的频率变化,来恢复原始的二进制 数据 。:由于 RS 编码 操作的是符号级别的 数据 ,因此需要将二进制 数据 转换为八进制形式,以适配 RS 编码 的要求。请点击原文链接获取代码。 前一阵子,学习如何调用ISE RS 编码 的IP核,进行信息序列的 编码 ,多亏了有现成的IP核,大大减轻了工作量,于是便翻起了 RS 编码 的Datasheet,发现用起来还蛮简单的,直到编了一段代码测试完,发现 编码 后的符号和 MATLAB RS 编码 函数 输出的结果不一样,找了一天没发现两种结果不一致的原因出现在哪,直到对 RS 码的 编码 过程做了一点了解之后,才找到了原因。 1 有限域基础知识1.1 有限域(Galois域)的构造令 p 为一个素数. 则对任意的一个正整数 n,存在一个特征为 p,元素个数为 pn 的有限域 GF (pn).web注:任意一个有限域,其元素的个数必定为 pn,其 p 为一个素数(有限域的特征),n 为一个正整数. 数组 例1(有限域 GF (p)) 令 p 为一个素数,集合svg GF (p)=Zp={0,1,2,…,p−1}.在 GF (p)上定义... RS 码系统 MATLAB 仿真 RS 码系统 MATLAB 仿真一. RS 码简介: RS 码是一类纠错能力很强的多进制 BCH 码。其纠正 t 个符号错误的 RS 码的主要参数如表一所示: RS 码由于采用了 q 进制,所以它是多进制调制时的自然和 码长 mn 2 =−1方便的 编码 手段。因为 RS 码能够纠正 t 个 ... 最近做的项目 用到了 RS 编码 ,FPGA代码 是通过调用Reed-Solomon Encoder IP核来实现的。这里以R-S(255,223)为例,分别对单通道和多通道两种情况进行了仿真验证,下面给出具体的fpga ip核配置以及仿真结果。(一)单通道FPGA RS IP核的配置如下图所示: 标注1: 编码 说明,这里选择Custom,后面将与CCSDS进行对比。标注2:符号宽度:这里选择8。标注3:... 信源 函数 <br />randerr 产生比特误差样本<br />randint 产生均匀分布的随机整数矩阵<br />randsrc 根据给定的数字表产生随机矩阵<br />wgn 产生高斯白噪声 <br />信号分析 函数 <br />biterr 计算比特误差数和比特误差率<br />eyediagram 绘制眼图<br />scatterplot 绘制分布图<br />symerr 计算符号误差数和符号误差率<br />信源 编码 <br />compand mu律/A律 压缩/扩张<br />dpcmd