发文章
发文工具
撰写
网文摘手
文档
视频
思维导图
随笔
相册
原创同步助手
其他工具
图片转文字
文件清理
AI助手
留言交流
Reed-Solomon Code
Michal Mnuk (mnuk@in.)
Parameter s=3, t=1, d.h. 2 Fehler (max. 6 bits) erkennen und 1 Fehler (max. 3 Bits) korrigieren.
> ### WARNING: persistent store makes one-argument readlib obsoletereadlib(GF):
> p := x^3+x+1: K := GF(2,3,p):
> evalGF := proc (expr)sort(collect(expand(Rem(expr, p, x) mod 2), z), [z,x]) end:
> K[isPrimitiveElement](K[ConvertIn](x));
Nachricht: 7, 6, 1, 5, 0
> m := [[1,1,1],[1,1,0],[0,0,1],[1,0,1], [0,0,0]];
> mGF := [x^2+x+1, x^2+x, 1, x^2+1, 0];
> g := z -> Rem((z-x)*(z-x^2), p, x) mod 2;
> sort(collect(expand(g(z)),z),[z,x]);
Codierung
> c :=collect(expand(Rem(g(z)*add(mGF[i]*z^(5-i), i=1..5), p, x) mod 2), z);
> evalGF(subs(z=x, c));
> evalGF(subs(z=x^2, c));
W鋒rend der 躡ertragung sind 2 Fehler passiert (x+1 -> x bei z^6, 0 -> 1 bei z^2).
> c;
> ce := evalGF(c+(z^6+z^2));
Durch Auswertung an den Stellen x und x^2 wird der Fehler erkannt.
> evalGF(subs(z=x, ce));evalGF(subs(z=x^2, ce));
Ein anderes Codewort, das sich an 3(!) Stellen von c unterscheidet.
> evalGF(c+g(z));
> evalGF(subs(z=x, c+g(z)));evalGF(subs(z=x^2, c+g(z)));
Falls h鯿hstens 1 Fehler passiert ist, kann das gesendete Wort hergestellt werden.
Wort mit Fehlern empfangen.
> ce1 := evalGF(c+(x^2+x)*z^2);
Wir bestimmen zun鋍hst die Restklasse vom empfangenen Wort mod g(z)
> e := evalGF(Rem(ce1, g(z), z) mod 2);
... und bestimmen denjenigen Repr鋝entanten dieser Restklasse, der die kleinste Anzahl
der von Null verschiedenen Koeffizienten hat.
> evalGF(e);
> evalGF(e+(x^2+x)*g(z));
Dieses Element wird zum empfangenen Wort addiert. Das Ergebnis ist das gesendete Wort.
> evalGF(ce1+e+(x^2+x)*g(z));
Decodierung
Teilen durch g(z)
> evalGF(Quo(c,g(z), z) mod 2);
Die urspr黱gliche Nachricht wird aus den Koeffizienten bei Potenzen von abgelesen:
Koeffizient bei : +x+1 -> 1,1,1 (bin鋜)-> 7 (dezimal)
Koeffizient bei : +x -> 1,1,0 -> 6
Koeffizient bei : 1
Koeffizient bei : -> 1,0,1 -> 5
Koeffizient bei : 0
=> Nachricht: 7, 6, 1, 5, 0
来自: angie&flo... > 《matlab》
0条评论
发表
请遵守用户 评论公约
取模和取余的区别
从上面的区别可以总结出,取余(rem)和取模(mod)在被除数、除数同号时,结果是等同的,异号时会有区别,所以要特别注意异号的情况。5 mod 3 = 2 -5 mod 3 = 15 mod -3 = -1-5 mod -3 = -25 rem 3 = ...
matlab的rem()和mod()函数
matlab的rem()和mod()函数。如果x和y的符号相同(同为‘+’,同为‘-’),那么rem(x,y)=mod(x,y)(正数与正数,负数与负数,取整结果两个函数效果一样)如果x和y的符号相反,那么mod(x,y)=rem(x,y)+y(...
matlab求商取余remmod区别
matlab 求商取余 rem mod区别。当除数和被除数符号不同时:rem和mod的相同与区别:1,当除数和被除数同符号时,rem与mod没有区别。2,但除数与被除数符号不同时,rem的结果与除数保持一致,而mod的结果...
java中的运算符 取余 取模
rem表示取余,mod表示取模9rem2=19mod2=1.
java 取余和取整_Java取整、取余
java 取余和取整_Java取整、取余。java 取余和取整_Java取整、取余参考链接:http://blog..net/wanlixingzhe/article/details/7359809参考链接:http://bbs..net/topics/390677448(6楼)参考链接:http:...
matlab中随机数的问题
这是由于这两个函数的生成机制不同,rem函数采用fix函数,而mod函数采用了floor函数(这两个函数是用来取整的,fix函数向0方向舍入,floor函数向无穷小方向舍入)。>> mod(5,-2)ans =-1 ...
Mod 577 2014
Mod 577 2014.
Mod__604_2016
Mod__604_2016 pingpu.
大家看看这是什么mod
大家看看这是什么mod010203040506pingpu.
微信扫码,在手机上查看选中内容