Você está na página 1de 6

Trabalho 2 CD2 – Probabilidade de Erro e Histograma do Ruído

Aline Mendonça Silva – 11611ETE008 / 16/05/1019

M = 2; % tamanho da constelação do sinal


y = log2(M); % bits por símbolo
amostras = 10000; % bits pra processar
pontos_amostras = 4; % número de repetições da 'amostra'
numero_amostras_simbolo = 1; % número de amostras por símbolo

dataIn = randi([0 1], amostras, 1); % gera vetor de dados binários

%criar os pulsos triangulares


triangular = zeros(1,amostras*pontos_amostras);
z = 1;
for i = 1:amostras
if dataIn(i)==1 % se for 1 pulso é positivo
for a = -pontos_amostras/2:pontos_amostras/2 % definição do triângulo
triangular(z)= triangularPulse(a/(pontos_amostras/2));
z = z + 1;
end
else % se for zero pulso é negativo
for a = -pontos_amostras/2:pontos_amostras/2
triangular (z)= -triangularPulse(a/(pontos_amostras/2));
z = z + 1;
end
end
end

figure;
plot(triangular); % plota pulsos triangulares
axis([0 amostras*pontos_amostras -2 2]);
title('Bits Aleatórios em Forma de Onda Triangular');
xlabel('Índice');
ylabel('Valor Binário');

figure;
stem(triangular);
axis([0 amostras*pontos_amostras -2 2]);
title('Amostras Da Forma de Onda Gerada');

%contaminando o sinal com o ruído awgn

EbNo = 5; % relação entre a energia de bit e a densidade espectral de potência de ruído


snr = EbNo + 10*log10(y) - 10*log10(numero_amostras_simbolo); % relação sinal ruído

recebido = awgn(triangular, snr, 'measured'); % gera o sinal recebido, com o ruído awgn
sinal_ruido = recebido - triangular; % gera o sinal ruído awgn

figure;
plot(sinal_ruido); % plota o ruido gaussiano branco awgn
axis([0 amostras*pontos_amostras -2 2]);
title('Ruído Gaussiano Branco');

figure; % plota o sinal contaminado com o ruído awgn


plot(recebido);
title('Sinal Recebido');
axis([0 amostras*pontos_amostras -2 2]);

RESULTADOS PARA 100 AMOSTRAS E 6 PONTOS DE AMOSTRAS

Forma de Onda Triangular

Forma de Onda Triangular Amostrada


Forma de Onda Amostrada com Zoom

Forma de Onda Do AWGN

Forma de Onda Do Sinal Recebido


Forma de Onda Do Sinal Recebido Com Zoom

HISTOGRAMAS e PROBABILIDADE DE ERRO PARA 1000 AMOSTRAS E 6 PONTOS DE


AMOSTRAS

passo = 0.05; %passo do histograma


vetor_hist = -2:passo:2; %define vetor do histograma
limite = -2; %limiar de decisão para determinar quantidade de valores em cada
amostra

for u = 1:numel(vetor_hist) %varre todos os valores de vetor_hist


valores_hist = find(sinal_ruido >= limite & sinal_ruido <(limite + passo));
%se for maior ou igual a -2 e menor que -1, incrementa
numero_amostras = (numel(valores_hist)/amostras); %quantidade de valores
contido em cada amostra
limite = limite + passo; %incrementa o limiar
vetor_hist(u) = numero_amostras; %mostra número de amostras pertencentes a
cada valor do vetor_hist
end

figure
eixo_x = -2:passo:2; %define o eixo x
bar(eixo_x,vetor_hist) %plota o histograma

Histograma com Passo 0,1


Histograma com Passo 0,05

Histograma com Passo 0,01

Histograma com Passo 0,005


PROBABILIDADE DE ERRO

acerto = [0 0 0]; %vetor a ser preenchido


erro = [0 0 0]; %vetor a ser preenchido

amostras_usadas = [1 2 3]; %preenchendo os vetores com as amostras desejadas


for amostra = 1:1:3 %variando as amostras
for d = amostras_usadas(amostra):pontos_amostras:z-1 %precorre todas as
possibilidades
if recebido(d)>0 && triangular(d)>0
acerto(amostra)=acerto(amostra)+1;
elseif recebido(d)<=0 && triangular(d)<=0
acerto(amostra)=acerto(amostra)+1;
elseif recebido(d)>0 && triangular(d)<=0
erro(amostra)=erro(amostra)+1;
elseif recebido(d)<=0 && triangular(d)>0
erro(amostra)=erro(amostra)+1;
end
end
end

taxa_erro = pontos_amostras*erro/(z-1); %cálculo das taxas de erro


taxa_acerto = pontos_amostras*acerto/(z-1); %cálculo das taxas de acerto

Taxa de erro com amostra 1: 50.6%


Taxa de acerto com amostra 1: 49.4%

Taxa de erro com amostra 2: 17.5%


Taxa de acerto com amostra 2: 82.5%

Taxa de erro com amostra 3: 2.5%


Taxa de acerto com amostra 3: 97.5%

Taxa de erro com amostra 4: 0.2%


Taxa de acerto com amostra 4: 99.8%

Taxa de erro com amostra 5: 3.6%


Taxa de acerto com amostra 5: 96.4%

Taxa de erro com amostra 6: 15.7%


Taxa de acerto com amostra 6: 84.3%

Você também pode gostar