You are on page 1of 9

UNIVERSIDAD DE CHILE

Tarea No.9
EL4005 - Principios de Comunicaciones,
Primavera 2010
NicolásTamayo
[Seleccionar fecha]

[Escriba aquí una descripción breve del documento. Una descripción breve es un resumen
corto del contenido del documento. Escriba aquí una descripción breve del documento. Una
descripción breve es un resumen corto del contenido del documento.]
Procedimiento:

A continuación se adjunta una reseña paso a paso de cómo se implementó el archivo


de la función del proceso.

1) Creamos el vector de símbolos:

>>rand(10000,1)

2) Asignamos amplitudes [3,1,-1,-3], según intervalos:

function a=ampl(b);

a=zeros(10000,1);

for i=1:1:10000
if b(i)>0 && b(i)<=0.25
a(i)=3;
else if b(i)>0.25 && b(i)<=0.5
a(i)=1;
else if b(i)>0.5 && b(i)<=0.75
a(i)=-1;
else if b(i)>0.75 && b(i)<=1
a(i)=-3;

end
end
end
end
end

Se recorre el vector de símbolos y se le asigna a uno nuevo los valores 3, 1,-1,-3 según
corresponda.

4) Creamos el ruido gaussiano:

 Varianza [σ ¿¿ 2]¿ del ruido gaussiano (función de los niveles de SNR):

bnorm= (b*b')/10000;

varianza=bnorm/(10^(snr/10));

 Vector gaussiano de varianza σ 2:

VectorRuido=varianza*randn(1,100000);

5) Convolucionamos el tren de impulsos de la señal con la señal rectangular de ancho 10:


 Creamos el tren de impulsos:

TrenImpulsos=zeros(1,100000);

TrenImpulsos(1)=b(1);

for i=1:1:9999
TrenImpulsos(i*10+1)=b(i+1);
end

 Creamos la señal rectangular de ancho 10:

SenalRect=zeros(10000,1);

for i=1:1:10
SenalRect(i)=1;
end

 Calculamos la convolución de ambas señales:

Convolucion=conv(TrenImpulsos,SenalRect);

 Nos quedamos con los datos importantes (distintos de cero) ya que la convolución
aporta un vector de tamaño mayor a 10,000, esta correponde a la señal enviada.

ConvolucionReducida=zeros(1,1 100000);

for i=1:1: 100000


f(i)=fcon(i);
end

6) Como el canal es AWGN, expresamos la señal de entrada al demodulador como la suma


del ruido con la señal proveniente de la convolución:

SenalRecibida= ConvolucionReducida+VectorRuido;

7) En el filtro adaptado se convoluciona la señal con rect(-t) y se reduce nuevamente:

Convolucion2=conv(SenalRecibida,SenalRect);
%Toma 10010 valores

ConvolucionReducida2=zeros(1,100010);
for i=1:1:100010
ConvolucionReducida2(i)= Convolucion2(i);
end

8) Buscamos los máximos de la convolución (notar que los datos quedan escalados por 10):
SenalRect2=zeros(1,10000);
for i=1:1:10000
SenalRect2(i)=f(10*i);
End

9) Se clasifica la señal resultante en amplitudes 3, 1, -1, -3 :

Clasificacion=zeros(1,10000);

for i=1:1:10000

if SenalRect2(i)>(0) && SenalRect2(i)<=(-20)


Clasificacion(i)=-3;

else if rec(i)>(-20) && SenalRect2(i)<=0


Clasificacion(i)=-1;

else if SenalRect2(i)>0 && SenalRect2(i)<=20


Clasificacion(i)=1;

else Clasificacion(i)=3;

end
end
end
end
end

8) Expresamos los primeros 20 símbolos enviados, junto con los de la señal recibida r(t), la
señal a la salida del filtro adaptado y(t) y la secuencia detectada por el demodulador.

Simbolos=zeros(1,200)

for i=1:1:200
Simbolos(i)= ConvolucionReducida(i);
end

Recibidos=zeros(1,200)

for i=1:1:200
Recibidos(i)= SenalRecibida(i);
end

SalidaFiltro=zeros(1,200)

for i=1:1:200
SalidaFiltro(i)=ConvolucionReducida2(i);
end
Gráficos:

A continuación se adjuntan los gráficos de los primeros 20 símbolos enviados, junto


con los de la señal recibida r(t), la señal a la salida del filtro adaptado y(t) y la secuencia
detectada por el demodulador.

 Símbolos enviados con SNR=0:

 Señal recibida r(t) con SNR=0:


 Señal a la salida del filtro adaptado con SNR=0:

 Símbolos enviados con SNR=10:


 Señal recibida r(t) con SNR=10:

 Señal a la salida del filtro adaptado con SNR=10:


 Símbolos enviados con SNR=25:

 Señal recibida r(t) con SNR=25:


 Señal a la salida del filtro adaptado con SNR=25:

You might also like