熟悉纠错编码的进来一下,一个运算求解
被一个问题郁闷了两三天了,问题看似简单(或许真的不难是我数学基础太差了?),请诸位高手帮忙解决一下。
问题的描述是:假设有一个8个元素的行向量c=c0 c1 ……c7,与一个8 * 128(8行128列)的矩阵G,首先,行向量的每个元素与G矩阵的每列中的8个元素一一进行与运算得到一个矩阵M, 然后这个矩阵M中每列的8个元素依次进行异或运算成为一个元素,这样最后得到一个128个元素的行向量Y。(以上提到的元素均为1bit数据,抱歉数学实在太差,没法用专业一点的问题来表述)。
现在的问题是:如果已经知道Y和G,如何求得最初的行向量c的8个元素c0 c1 ……c7?(其实就是一个RM编码解码的问题)。
以上编码过程相关程序如下:
for j = 1:128
for i = 1:8
Mid_matrix(i,j) = and(C(i),Gen_matrix(i,j));
end
end
for ii = 1:128
Y_matrix(ii) = xor(Mid_matrix(1,ii),Mid_matrix(2,ii));
for jj = 3:8
Y_matrix(ii) =xor(Y_matrix(ii),Mid_matrix(jj,ii));
end
end
现在已知 Y_matrix和Gen_matrix,如何运算求得C啊?
最简单的,穷举
从数学的角度讲,这是在用128个等式来解8个未知数的方程,不难。对于二元数值的方程,最笨的方法就是用穷举法。但是,从编码的角度讲,我们不仅仅是要解出8个未数,还要在等式右边的数有错误的时候能正确解出这8个未知数。这是纠错码的本意。但具体怎么解,还需要看生成矩阵的结构,不同的结构意味着不同的编码方法,同时意味着不同的解码方法。不知道你是否满意?
抱着这样的心态,基本上都会失望的
已经失望了,还是自己从头慢慢看书吧!靠天靠地靠别人都不如靠自己啊
MAP算法该是可以的吧。
G--->网格图。在网格图上画画试试去
没人会肯定不至于了
但是这么一个没有讨论价值的问题
人家为什么要费力气替你写代码呢?
再次验证了原理狠简单就是不会做, 其实还是看的东西少
没要求写代码啊,只要求说点着边际的话,比如说具体校验矩阵该是哪个?是不是可以由生成矩阵经过怎样的运算获得等等(算了,不说了,不该来这里问这么简单的问题的,高手都不屑于回答这么低级的问题)
显然是问问题者说法的方式问题,谁都没有义务给你解答,你显然缺乏了
一些对本版版友的尊重。至少我是这么觉得的。
非常抱歉,想想自己说话是有些不太礼貌,实际上这里的版友还是给了一些帮助的,现在大致已经知道该怎么做了。
终于明白你这几句话的意思了,不知道MAP算法具体是该怎么实现?但是我自己问的那个问题有个可能非常笨的做法,就是对8bit的输入数据从全0到全1(0~255)逐一进行RM编码形成一个256*128的大网表,解码时将收到的128bit的数据逐一与这个网表的每一行进行比较,汉明距离最小的那一行对应的行标号就是完成解码数据的10进制表示,再转成2进制就可以了。方法是笨了点,但大数译码的意思大概就是这样吧。
写程序去了,先实现了再去寻找学习简化译码方法了。
谢谢Roul,另外对于你说我不尊重版友的批评我虚心接受,请鉴谅!
相关文章:
- 最简单的适用于通信系统的前向纠错编码是什么?(05-08)
- 短数据纠错编码选择的问题(05-08)
- 讲纠错编码的经典书有哪几本?(05-08)
- 关于Wimax中纠错编码的问题(05-08)
- 国内有卖s.lin的纠错编码第二版的影印书吗?(05-08)
- 请大家推荐本适合作为本科生教材的纠错编码的书。(05-08)