function poly_demo
	
	% parametri del codice polinomiale
	K = 4;
	N = 7;

	% polinomio generatore
	g = [1,rand(1,N-K-1)<0.5,1];
	display(g)

	% sequenza ingresso (casuale)
	u = rand(1,K)<0.5;
	display(u)
	
	% codifica non sistematica
% 	c = mod(conv(u,g),2);
% 	display(c)

	% codifica sistematica
	ct = [zeros(1,N-K),u];
	
	% divisione tra il polinomio ct(X) e g(X)
	r = ct;
	for n = N:-1:N-K+1
		if r(n)
			r(n-(N-K):n) = mod(r(n-(N-K):n) + g,2);
		end
	end
	c = [r(1:N-K),u];
	display(c)
	
	% verifica: divisione di c(X) per g(X)
	r = c;
	for n = N:-1:N-K+1
		if r(n)
			r(n-(N-K):n) = mod(r(n-(N-K):n) + g,2);
		end
	end
	display(r(1:N-K))
	
end
