Reed-Muller码 (RM码):RM码的布尔函数(Boolean Functions)表示

Reed-Muller码 (RM码) 可依赖布尔函数(Boolean Functions)进行定义。

给定RM码码长 n = 2 m n=2^m n=2m,那么需要 v 1 , ⋯   , v m v_1, \cdots, v_m v1,,vm m m m个取值为0或1的变量。设 v = ( v 1 , ⋯   , v m ) ∈ V m v = (v_1, \cdots, v_m) \in V^m v=(v1,,vm)Vm是一个 m m m元组,那么布尔函数 f ( v ) = f ( v 1 , ⋯   , v m ) f(v) = f(v_1, \cdots, v_m) f(v)=f(v1,,vm)的取值为0或1。

m = 3 m = 3 m=3 f f f的值可以用真值表表示,即

布尔函数的逻辑运算表示为
f 异 或 g = f + g f异或g = f + g fg=f+g;
f 和 g = f g f和g = fg fg=fg;
f 或 g = f + g + f g f或g = f+g+fg fg=f+g+fg;
非 f = f ˉ = 1 + f 非f=\bar f=1+f f=fˉ=1+f;

由于 v i 2 = v i v_i^2 = v_i vi2=vi,给定 v = ( v 1 , ⋯   , v m ) v = (v_1, \cdots, v_m) v=(v1,,vm) f ( v ) f(v) f(v)可以表示成如下 2 m 2^m 2m个函数之和的形式
1 , v 1 , v 2 , ⋯   , v m , v 1 v 2 , v 1 v 3 , ⋯   , v m − 1 , v m , ⋯   , ∏ i m v i 1,v_1,v_2,\cdots,v_m,v_1v_2,v_1v_3,\cdots,v_{m-1},v_m,\cdots,\prod\limits_i^m {{v_i}} 1,v1,v2,,vm,v1v2,v1v3,,vm1,vm,,imvi

给定码长为 n = 2 m n=2^m n=2m r r r阶二进制RM码 R ( r , m ) {\mathscr R}(r,m) R(r,m) 0 ≤ r ≤ m 0\le r\le m 0rm,其码字集合由全部向量 f \bf f f组成,其中 f \bf f f表示长度为 2 m 2^m 2m的布尔函数 f ( v ) = f ( v 1 , ⋯   , v m ) f(v) = f(v_1, \cdots, v_m) f(v)=f(v1,,vm)的取值向量, f ( v ) = f ( v 1 , ⋯   , v m ) f(v) = f(v_1, \cdots, v_m) f(v)=f(v1,,vm)中的多项式度最大为 r r r

例子:对于RM码 R ( 1 , 3 ) {\mathscr R}(1,3) R(1,3),有
f = f ( v 1 , v 2 , v 3 ) = a 0 1 + a 1 v 1 + a 2 v 2 + a 3 v 3 , a i = 0 或 1 {\bf f} = f({\bf v}_1,{\bf v}_2, {\bf v}_3) = a_0{\bf 1} + a_1{\bf v}_1 + a_2{\bf v}_2 + a_3{\bf v}_3, a_i = 0或1 f=f(v1,v2,v3)=a01+a1v1+a2v2+a3v3,ai=01。显然存在 2 4 = 16 2^4=16 24=16 f ( v 1 , v 2 , v 3 ) f({\bf v}_1,{\bf v}_2, {\bf v}_3) f(v1,v2,v3)
给定真值表
v 3 = 0   0   0   0   1   1   1   1 v 2 = 0   0   1   1   0   0   1   1 v 1 = 0   1   0   1   0   1   0   1 {\bf v}_3 = 0~0~0~0~1~1~1~1\\ {\bf v}_2 = 0~0~1~1~0~0~1~1\\ {\bf v}_1 = 0~1~0~1~0~1~0~1\\ v3=0 0 0 0 1 1 1 1v2=0 0 1 1 0 0 1 1v1=0 1 0 1 0 1 0 1
RM码 R ( 1 , 3 ) {\mathscr R}(1,3) R(1,3)有如图1所示的16个码字RM码字
图1 由布尔函数表示的RM码 R {\mathscr R} R(1,3)的16个码字

参考文献
[1] Macwilliams F J , Sloane N . The theory of error-correcting codes. Parts I, II. 1977.

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Reed-Solomon是一种非常常用的纠删,被广泛应用于数字通信、数据存储和磁盘阵列等领域。下面是有关Reed-Solomon的一些基础知识: 1. 长和信息长度 Reed-Solomon长为n,信息长度为k,冗余度为n-k。在给定长和信息长度的情况下,冗余度越高,纠错能力和纠错效率越高,但编和译的复杂度也会增加。 2. 生成多项式 Reed-Solomon使用一个生成多项式来进行编和译。生成多项式的阶数为n-k,可以选择不同的生成多项式来实现不同的纠错能力和长。常见的生成多项式包括x^n-1,以及(x-a)(x-b)...(x-z)等形式。 3. 编 Reed-Solomon的编过程是将信息多项式f(x)乘以生成多项式g(x),得到编多项式h(x)。编多项式的前k个系数即为信息比特,后n-k个系数即为校验比特。 4. 译 Reed-Solomon的译过程是在接收到字r(x)后,使用译算法计算出最有可能的信息多项式f'(x)和错误模式e(x)。然后,使用错误模式e(x)对应的位置上的字比特进行纠错,得到正确的字r'(x)。最后,将r'(x)的前k个系数作为解结果,即得到原始信息的传输结果。 5. 纠错能力 Reed-Solomon的纠错能力取决于所选择的生成多项式和长。通常情况下,长越长,纠错能力越高,但编和译的复杂度也会增加。在实际应用中,需要根据具体的需求选择合适的生成多项式和长,以实现最优的纠错能力和传输效率。 总之,Reed-Solomon是一种常用的纠删,具有高效的纠错能力和通用性,广泛应用于数字通信、数据存储和磁盘阵列等领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值