问题: 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