Beispiel #1
0
def crcGenMatrix(r,k):
  	"produce G matrix of CRC-r code , Generator degree = r; able to detect r-1 burst errors" 
  	genpoly = crcGeneratorMap[r]  
  	b = [] 
	for i in xrange(k):
		b.append(bin2code( poly_div(2**(r+i), genpoly), r ) )


	b_array = np.array(b) # convert it to np array for matrix operation 
	G_array = np.hstack((b_array, np.eye(k,dtype=int)))
	return G_array 
Beispiel #2
0
def crcCheckMatrix(r,k):
	"produce corresponding H matrix for CRC-r and information length k" 
	# if genpoly == 0:
	genpoly = crcGeneratorMap[r]  
  	b = [] 
	for i in xrange(k):
		b.append(bin2code( poly_div(2**(r+i), genpoly), r ) )


	b_array = np.array(b) # convert it to np array for matrix operation 
	name_array = b_array.transpose() # [rxk]
	H_array = np.hstack( (np.eye(r, dtype=int), name_array  ) ) 

	return H_array