Think--LDPC编解码的细节学习

摘要: 1. 信号源: 二进制信号源为随机生成而二进制序列,为1·n矩阵; 16进制是否为4·n矩阵,或者直接在二进制信号源的基础上用GF(q)值作为非0值;2. Encode:(已有程序为Mackey方法a构造的H矩阵经高斯变换进而编码) 1) H = [I | P]; G = [P' | I]; G·H' = 0; u = s·G; u = [c' s]; u·H' = 0 c' = P * s' 可以分解成如下形式:c = zeros(1,m);for i = 1:m c(i) = P(i,:) * 阅读全文
posted @ 2012-11-25 00:37 黑桐 阅读(762) 评论(0) 推荐(0) 编辑

Practise--《C++ primer plus》习题程序编写

摘要: 《C++ primer plus》第七章8、9题,编程格式思路纯属个人喜好:8.#include using namespace std;const int SLEN = 30;struct student { char fullname[SLEN]; char hobby[SLEN];... 阅读全文
posted @ 2012-11-20 20:59 黑桐 阅读(253) 评论(0) 推荐(0) 编辑

Linux--ubuntu学习( 二)

摘要: 接着看《鸟哥的linux私房菜》,环境ubuntu: 1. linux的正确关机: sync:将数据同步读写入硬盘; 在计算机中,所有的数据都要被读入内存后才能够被CPU处理,但是数据又常常需要由内存写回硬盘当中(例如存储的动作)。由于硬盘的速度太慢(相对于内存 来说),如果常常让数据在内存与硬盘中来回读入\写出,系统的效能就不会太好。因此在 Linux 系统中,为了加快数据的读取速度,在默认的情况中,某些已经加载内存中的数据将不会直接被写回硬盘,而是先暂存在内存当中,如此一来,如果一个数据被你重 复的改写,那由于他尚未被写入硬盘中,因此可以直接由内存当中读取出来, 在速... 阅读全文
posted @ 2012-11-19 09:11 黑桐 阅读(235) 评论(0) 推荐(0) 编辑

Linux--ubuntu学习(一)

摘要: 首先想说的是有wubi的ubuntu实在太方便了,好安好卸~(|||- -偶比较怕麻烦...) 学习进展 跟着鸟哥的pdf,大致扫了眼前面四章,算是看过了又像没看过,可是确实看过了.....(这话说的好纠结,让我想起了好久以前对我们高中一棵植物的形容:像草的花或者像花的草......) 1. ibus任务栏小键盘的显示: 如果没有显示的话可以Alt+Ctrl+T调出终端,分别输入如下: killall ibus-daemon(结束进程) ibus-daemon -d(重启ibus) 之后小键盘就出现啦~哇哈~还有一点,ibus打... 阅读全文
posted @ 2012-11-18 19:16 黑桐 阅读(292) 评论(0) 推荐(0) 编辑

Think--多进制LDPC思考(一)

摘要: 1. 输入的s信号原本二进制为列向量的话,那么多进制的就是把每行的一位变为多为,代表一个多进制符号;2. 编码过程中,如果H中非0用Int表示,那么s信号中非0也可以这样吧...3. 解码过程中,需要判断之间校验乘积出来的数的源数据的概率,像一个数组,u[i],分别为i的概率是多少p(i),应该再仔细琢磨下解码过程中的理论知识。 阅读全文
posted @ 2012-11-17 13:58 黑桐 阅读(351) 评论(0) 推荐(0) 编辑

Encode--LDPC校验矩阵的LU问题

摘要: 现在LU部分解决。 存在问题是要求H = [A B]之后的B矩阵的顺序主子式不为0,这样才能保证之后B = LU符合要求,否则在S=(U\L\(A·S'))会出现NaN。 此外,又发现一个问题,有时会存在矩阵奇异,导致不收敛,结果可能出错......不太清楚咋解决。 2012.11.19:仅仅是简单的让H矩阵后半部分B的对角线上元素不为0,可以不出现NaN情况,但有的时候会出现由于收敛问题导致的可能出错情况,有些时候不会出现。 阅读全文
posted @ 2012-11-09 12:07 黑桐 阅读(309) 评论(0) 推荐(0) 编辑

0-矩阵转置--Matlab

摘要: 今天在看多进制的解码原理,想着回顾下二进制的解码,发现了网上程序中有个H.'的问题,在matlab中重新试了下:A = 1.0000 + 2.0000i 2.0000 3.0000 4.0000 + 1.0000i>> A' = 1.0000 - 2.0000i 3.0000 2.0000 4.0000 - 1.0000i>> A.' = 1.0000 + 2.0000i 3.0000 2.0000 4.0000 + 1.0... 阅读全文
posted @ 2012-11-05 14:25 黑桐 阅读(521) 评论(0) 推荐(0) 编辑

Encode--LDPC校验矩阵H的LU分解法

摘要: 由于二进制的LDPC算是基本完成(虽然只是普通的Mackay的生成H方法及BP译码算法),想着往GF(q)-LDPC方向继续学习。 如果仅仅使用的话matlab里有直接的函数,用hlep lu就可以查看了,像[L,U,P] = lu(A)可以直接调用LU算法。如下是自己的编写过程: 查阅文献,首先是编码方面,文献中提出LU分解编码方法可以保证编码复杂度与码长N成正比,减少了系统编码方法由于q进制而增加的大量复杂度,虽然改进LU方法还在学习,不过基本的LU算是实现了,如下:function [L U] = LU_2(A)dim = size(A);n = dim(1);L = zeros... 阅读全文
posted @ 2012-11-04 16:56 黑桐 阅读(1230) 评论(0) 推荐(0) 编辑

Encode--LDPC校验矩阵H的高斯变换

摘要: 这两天看LDPC得代码,刚开头,看到H矩阵的高斯变换部分,即得到H=[I P],输出P。 按自己的想法写了段matlab代码(注释那句matlab里应该是%):for k = 1:rows if ( H(k,k) == 0 ) ind = find( H(k+1:rows,k)~=0 ); if ~isempty(ind) x = k+ind(unidrnd(length(ind))); H(k,:) = rem( H(k,:) + H(x,:), 2 ); end end for i... 阅读全文
posted @ 2012-10-24 23:15 黑桐 阅读(890) 评论(0) 推荐(0) 编辑

[转载] 读两个故事一定弄懂“云计算”

摘要: 这是个实在悬乎的概念,自提出6年以来,无数的文字在解释它,却有90%以上的读者不知“云”为何物。这些文字都带着一种腔调:云计算吗,简单来说就是……然而不幸的是,“简单来说”后面的文字,读者依然看不懂,智商严重受挫。请读完下面的故事,笔者将确信您能找回智商的自信:云计算就是这么个东西。 故事一 公共电网抛弃了爱迪生 爱迪生的牛气无法言说,这辈子有2000多项发明,在科学界他吃的盐比普通人吃的饭还多。但就是这么一个牛人,也曾被拍打在沙滩上:公共电网狠狠地抛弃了他。 1878年,爱迪生决定开发一种新产品——电灯泡,为了持续地给它供电,他紧跟着又发明了电流表、发电机等,这是一套完整的供电系... 阅读全文
posted @ 2012-10-24 09:54 黑桐 阅读(113) 评论(0) 推荐(0) 编辑