MATLAB 帮助中心
里德-所罗门编码器
code = rsenc(msg,n,k)
code = rsenc(msg,n,k,genpoly)
code = rsenc(___,paritypos)
code = rsenc(msg,n,k) 使用窄义生成器多项式对 msg 中的消息进行 [n,k] 里德-所罗门码编码。n 是码字长度,k 是消息长度。输出 code 是里德-所罗门码。
code
msg
n
k
示例
code = rsenc(msg,n,k,genpoly) 指定码的生成器多项式。
genpoly
code = rsenc(___,paritypos) 指定添加到输入消息以形成 code 的奇偶校验符号的位置。
paritypos
全部折叠
设置代码参数。
m = 3; % Number of bits per symbol n = 2^m - 1; % Codeword length k = 3; % Message length
基于 GF(8) 创建两个消息。
msg = gf([2 7 3; 4 0 6],m)
msg = GF(2^3) array. Primitive polynomial = D^3+D+1 (11 decimal) Array elements = 2 7 3 4 0 6
生成 RS (7,3) 码字。
code = GF(2^3) array. Primitive polynomial = D^3+D+1 (11 decimal) Array elements = 2 7 3 3 6 7 6 4 0 6 4 2 2 0
这些码是系统化码,因此每行的前三个符号与 msg 的行匹配。
输入消息,指定为所有值都大于或等于零的矩阵。msg 是由符号组成的伽罗华数组,每个符号具有 m 个位。msg 的每个包含 k 个元素的行表示一个消息字,其中最左侧符号是最高有效符号。
数据类型: double
double
码字长度,指定为 2m–1 形式的整数,其中 m 在范围 [3, 16] 内。n 必须在范围 [7, 65535] 内。
如果 n 并不恰好为 2m-1,rsenc 将使用缩短的里德-所罗门码。
rsenc
注意
n 和 k 必须相差一个正偶数。
消息长度,指定为正整数。
[]
按降序排列的生成器多项式系数,以伽罗华行向量形式返回。genpoly 表示窄义生成器多项式的系数,按降幂顺序排列。要使用默认窄义生成器多项式,请将 genpoly 设置为 []。
生成器多项式的次数必须为 n-k。
-
"end"
"beginning"
指示添加到输入消息以形成 code 的奇偶校验符号的位置,指定为以下选项之一。
"end" - 将奇偶校验符号追加到输入消息。
"beginning" - 将奇偶校验符号前追加到输入消息。
数据类型: char | string
char
string
里德-所罗门码,以所有值都大于或等于零的矩阵形式返回。奇偶校验符号位于此输出伽罗华数组码中每个字的末尾。
在 R2006a 之前推出
rsdec
gf
rsgenpoly
comm.RSEncoder
comm.RSDecoder
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处