射频和无线供应商和资源的家

一站式满足您的射频和无线需求

里德所罗门编码器的基础知识和规格

本节涵盖MATLAB源代码里德所罗门编码器(RS编码器)matlab代码

里德所罗门码主要用于向接收到的错误块提供FEC(Forward Error Correction)。在发送端使用RS编码器,在要传输的输入数据中添加冗余字节。接收机采用RS解码器,利用冗余信息对传输过程中出现的误差进行校正。RS码是系统的线性分组码。这是一个块代码,因为代码是通过将原始消息分割成固定长度的块来组合在一起的。

RS编码器指定为(N,K,T)其中,
N为编码后的总字节数K为编码前的数据字节数T为RS Encoder和RS Decoder组合可校正的数据字节数
T等于(N-K)/2。
大多数常见的错误修正代码都适用于称为伽罗瓦域的有限域。这些场由所谓的原始多项式p(x)构成。

本章介绍了基于以下多项式的RS编码器。
代码生成器多项式:
G (x) = (x + λ0)(x + λ1)(x + λ2)…(x + λ)2 t - 1), λ = 02十六进制
场生成器多项式:
P (x) = x8+ x4+ x3.+ x2+1

里德所罗门编码器matlab代码

Input_data = [113 44 42 179 77 236 149 177 105 250 0 81 64 .
62 148 223 123 98 95 90 193 216 17 0]
n = 32;
k = 24;
t = 4;
g_f = 0;
g_f (2) = 1;
因为我= 1:7
g_f (2 + i) = bitshift (g_f张(2 +),1);
结束
x = 2 + i;

x1 = 2; x2 = 4; x3 = 5; x4 = 6;
因为我= 1:247
g_f (x + i) = bitxor (bitxor (g_f (x1)、g_f (x2)), bitxor (g_f (x3) g_f (x4)));
x1 = x1 + 1; x2 = x2 + 1; x3 = x3 + 1, x4 = x4 + 1;
结束
%------------- 代码生成器多项式 ---------------%
R =[1 59 13 104 189 68 209 30 8 163 65 41 229 98 50 36 59];
j = 17
因为我= 1:256
如果(r (j) = = g_f(我))
indx (j - 1) =我2;
打破
结束
结束
结束

lfsr_op (1:16) = 0;

dc = 1: k
lfsr_input = bitxor (lfsr_op (1) input_data (dc));

%get关于伽罗瓦场的数据索引
因为我= 1:256
如果(lfsr_input = = g_f (i))
lfsr_input =我2;
打破
结束
结束
temp1 = 0;
reg_in = 2 +国防部((indx + lfsr_input), 255);
j = 16: 1:1
temp = lfsr_op (j);
如果(lfsr_input = = 1)
lfsr_op (j) = bitxor (0, temp1);
其他的
lfsr_op (j) = bitxor (g_f (reg_in (j)), temp1);
结束
temp1 = temp;
结束
结束
encoded_data_output = [lfsr_op (1: (n - k)) input_data]

RS编码器输入和输出

RS编码器输入输出

MATLAB代码的有用链接

参考以下以及左边面板上提到的链接,以获得有用的MATLAB代码。
OFDM前导信号的产生时间偏差估计频率估计信道估计11a WLAN信道PN序列生成OFDMA Tx RxAES DES载波聚合CCDF冷杉过滤器IIR滤波器低通FIR维特比译码器CRC8 CRC32

射频和无线教程

无线局域网802.11交流802.11广告wimax无线个域网z - waveGSMLTEUMTS蓝牙超宽频物联网卫星天线雷达


分享本页

翻译本页
Baidu