quarta-feira, 26 de março de 2014

Aproximações para a função Q(x)

Simulação de um sinal binário {-1, +1} contaminado por um ruído normal.

Observe a figura acima. Se desejamos calcular a probabilidade de erro de um sinal binário contaminado por ruído com densidade normal (ruído branco). devemos efetuar alguns cálculos. Esses cálculos irão envolver a função Q(x).  A função Q(x) é definida por:

A integral acima apresenta o seguinte inconveniente: ela não possui uma solução analítica. Sendo assim, deve ser aproximada por alguma função ou ser resolvida numericamente. É fácil mostrar que Q(0) = 1/2. Logo, podemos escrever:

Lembrando que
Substituindo "a" por lambda, obtemos:


Considerando k pequeno (k < 2), finalmente chegamos à seguinte aproximação:


Essa aproximação da função Q(k) é interessante porque existem boas aproximações (limitante inferior e limitante superior) para k > 2:


Então podemos escrever (média dos limitantes):


Todas essas expressões podem ser resumidas no gráfico a seguir:


Código (sem comentários) Scilab para gerar o gráfico acima:

////////////
x = 1.1:0.01:5;
A = 1.0;
e2 = exp(-x.*x/2);
Dx = x*sqrt(2*%pi);
F1 = (1 - A./(x.*x));
F2 = -A./(1-x.*x);
qxa1 = e2.*F1./Dx;
qxa2 = e2./Dx;
qxa3 = (1-A./(2*x.*x)).*e2./Dx;
qxa4 = 0.5 - (A./(1+x.*x/6)).*x.*x./Dx;
Qxx = 0.5*erfc(x/sqrt(2));

figure; plot(x,qxa1,x,qxa2,x,qxa3,x,qxa4,x,Qxx);
legend('Limitante inferior','Limitante superior','Media dos limitantes',...
'Aprox. para k pequeno','Q(k)');

-----------------------------------------
 
Obs: relação entre Q(x) e função erro complementar
 
Para saber mais: livro Comunicação Digital do professor Cecílio Pimentel.

Nenhum comentário:

Postar um comentário