encode_bit.m
上传用户:look542
上传日期:2009-06-04
资源大小:784k
文件大小:1k
源码类别:

传真(Fax)编程

开发平台:

Matlab

  1. function [output, state] = encode_bit(g, input, state)
  2. % Copyright 1996 Matthew C. Valenti
  3. % MPRG lab, Virginia Tech
  4. % for academic use only
  5. % This function takes as an input a single bit to be encoded,
  6. % as well as the coeficients of the generator polynomials and
  7. % the current state vector.
  8. % It returns as output n encoded data bits, where 1/n is the
  9. % code rate.
  10. % the rate is 1/n
  11. % k is the constraint length
  12. % m is the amount of memory
  13. [n,k] = size(g);
  14. m = k-1;
  15. % determine the next output bit
  16. for i=1:n
  17.    output(i) = g(i,1)*input;
  18.    for j = 2:k
  19.       output(i) = xor(output(i),g(i,j)*state(j-1));
  20.    end;
  21. end
  22. state = [input, state(1:m-1)];