function LLR_8PSK
	
	% fasi della 8-PSK con un mapping di Gray
	phi = pi/8+pi/4*[0 1 7 6 3 2 4 5];
	c = [cos(phi);sin(phi)];
	d = dec2bin(0:7)-'0';
	
	% verifica
	for i = 1:8
		fprintf('d: %d %d %d c: (%g,%g)\n',...
			d(i,1),d(i,2),d(i,3),c(1,i),c(2,i));
	end

	% rapporto segnale-rumore 
	SNR_dB = 10;
	SNR = 10^(SNR_dB/10);
	sigma = 1/sqrt(2*SNR);
	
	% probabilità a priori di d: P(i)
	% è la probabilità che l'i-esimo bit
	% valga zero
	P = [0.5 0.5 0.5];

	% vettori delle posizioni in cui calcolare gli LLR
	x = -3:0.1:3;
	y = -3:0.1:3;
	Nx = numel(x);
	Ny = numel(y);
	L = zeros(Nx,Ny,3);
	for nx = 1:Nx
		for ny = 1:Ny
			for n = 1:3
				% calcola in L(nx,ny,n) l'LLR del
				% bit n-esimo per il punto (x,y)
				L(nx,ny,n) = exp(-(x(nx)^2+y(ny)^2));
			end
		end
	end
	subplot(3,1,1)
	surf(x,y,L(:,:,1))
	subplot(3,1,2)
	surf(x,y,L(:,:,2))
	subplot(3,1,3)
	surf(x,y,L(:,:,3))
end
