Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function []=test(G)
- [k,N]=size(G);
- p = randsrc(1,k,[0 1 ; 0.5 0.5]);
- Ht = G2HT(G);
- f = mod(p*G,2);
- e = randerr(1,N,1);
- j = mod(f+e,2);
- disp(j);
- p = decode(j,Ht);
- disp(p);
- end
- function [p] = decode(j,Ht)
- if (HT2G(Ht)*Ht) ==1
- p = j;
- end
- [N,r]=size(Ht);
- s = mod(j*Ht,2);
- for i=1:N,
- if s == Ht(i,:)
- j(i) =~ j(i);
- end
- end
- p = j(1:N-r);
- end
- function [G] = HT2G(Ht)
- [N,r]=size(Ht);
- G = [eye(N-r),Ht(1:N-r,:)];
- end
- function [Ht] = G2HT(G)
- [K,N]=size(G);
- Ht = [G(:,K+1:N);eye(N-K)];
- end
- KODER
- function [f]=koder(P,g)
- k = length(P);
- r = length(g)-1;
- f = [P zeros(1,r)];
- [M,R] = deconv(f,g);
- R = mod(R,2);
- f = f+R;
- end
Add Comment
Please, Sign In to add comment