19
UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA FACULTAD SEDE SECCIONAL SOGAMOSO ESCUELA DE INGENIERÍA ELECTRÓNICA COMUNICACIONES II TALLER II FRANCY PINEDA Y JUAN CARLOS VARGAS TALLER II Ejercicio 1-1 ¿Es una secuencia pseudoaleatoria? Rta: Si. La secuencia rand de MatLab consiste en generar números aparentemente aleatorios pero que cumplen con unos algoritmos lógicos .Este algoritmo es siempre el mismo por lo tanto al iniciar Matlab la secuencia generada es la misma. ¿Periodo? Rta: Si, Siendo n=numero de bits su periodo es 2 n 1 ciclos de reloj Secuencia de 1000 bits con función rand % Ejercicio 1.1 % Secuencia aleatoria binaria con la función rand k=100; h=10; r=rand(k,h); s=rand(k,h); for i=1:k for j=1:h if r(i,j)>=0.5 s(i,j)=1; else s(i,j)=0; end end end r s SECUENCIA BINARIA DE n DATOS Ing. Herman Fernández

guil

Embed Size (px)

DESCRIPTION

comunicaciones

Citation preview

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIAFACULTAD SEDE SECCIONAL SOGAMOSO

ESCUELA DE INGENIERÍA ELECTRÓNICACOMUNICACIONES II TALLER II

FRANCY PINEDA Y JUAN CARLOS VARGAS TALLER II

Ejercicio 1-1

¿Es una secuencia pseudoaleatoria?

Rta: Si. La secuencia rand de MatLab consiste en generar números aparentemente aleatorios pero que cumplen con unos algoritmos lógicos .Este algoritmo es siempre el mismo por lo tanto al iniciar Matlab la secuencia generada es la misma.

¿Periodo?

Rta: Si, Siendo n=numero de bits su periodo es 2n−1 ciclos de reloj

Secuencia de 1000 bits con función rand

% Ejercicio 1.1% Secuencia aleatoria binaria con la función randk=100;h=10;r=rand(k,h);s=rand(k,h);for i=1:k   for j=1:h         if r(i,j)>=0.5            s(i,j)=1;        else            s(i,j)=0;        end   endendrs

SECUENCIA BINARIA DE n DATOS

Ing. Herman Fernández

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIAFACULTAD SEDE SECCIONAL SOGAMOSO

ESCUELA DE INGENIERÍA ELECTRÓNICACOMUNICACIONES II TALLER II

FRANCY PINEDA Y JUAN CARLOS VARGAS

¿cada vez que se llama a rand comienza la secuencia?

Rta: Cuando se llama la función rand en MatLab genera una determinada secuencia, cuando se vuelve a llamar genera una diferente

-¿y cada vez que se arranca Matlab?

Rta: Se genera la misma secuencia cada vez que se abre una y otra vez

A continuación se presenta un ejemplo en el que se muestra a diferente hora la misma secuencia generada (para cada caso se cerro MatLab).

Hora: 3:18 pm

Hora: 3:21pm

Ing. Herman Fernández

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIAFACULTAD SEDE SECCIONAL SOGAMOSO

ESCUELA DE INGENIERÍA ELECTRÓNICACOMUNICACIONES II TALLER II

FRANCY PINEDA Y JUAN CARLOS VARGAS

Hora: 3:24 pm

¿Qué pasa si quiero simular 100.000.000 de bits y hago 5.000.000 cada día?

Rta: Serán los mismos datos ya que cada ves que se cierra MatLab y se abre genera las misma secuencia

- ¿son los mismos bits cada día?

Rta: Si

-¿cómo resolverlo?

Para resolverlo la mejor solución es implantando un valor semilla que sea aleatorio, este valor es el número en el que inician las secuencias del algoritmo interno, y si este valor es diferente la serie de números generada será diferente:

Ejemplo:Rand (1,5)

ans = 0.8147 0.9058 0.1270 0.9134 0.6324 (primera secuencia )

Teniendo en cuenta que para la siguiente secuencia se cerró MatLab y se volvió abrir

Con valor semilla = 3:

i=3 rand('state',i) rand(1,5)ans = 0.5162 0.2252 0.1837 0.2163 0.4272 (secuencia diferente a la primera)

Ya que este valor semilla puede ser cualquiera con 48 números decimales la posibilidad de que se generen secuencias repetidas es casi nula.

Ing. Herman Fernández

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIAFACULTAD SEDE SECCIONAL SOGAMOSO

ESCUELA DE INGENIERÍA ELECTRÓNICACOMUNICACIONES II TALLER II

FRANCY PINEDA Y JUAN CARLOS VARGAS

¿Qué hace la función randint ?

Esta función genera números enteros entre 0 y 1 generalmente pero estos pueden ser modificados con parámetros:

randint(1,10)ans = 1 0 1 0 1 0 0 0 1 0

Para incrementar su valor se puede modificar la función así:randint(1,10,10,0)

ans = 9 2 6 4 8 7 4 0 8 4

Genera números enteros aleatorios entre 0 y 10 ya que los dos últimos parámetros son límite max y limite min.

-¿y randsrc?

Rta: Esta función genera un escalar aleatorio que es o bien 1 o -1, con igual probabilidad.

Ejemplo: randsrc(1,6)

ans = 1 -1 1 -1 -1 1

El resultado es una matriz con 3 valores de 1 y 3 valores de -1.

EJERCICIO 1_2

Generando ruido AWGN en MATLAB

Usando la función randn genere una secuencia AWGN de 1000 muestras con potencia N=1 y media nula.

Rta: con la siguiente instrucción se generaron 1000 muestras

x=randn (1000,1)

N=var (x) ----- N = 0.9979

Y la media esmean (x) media = -0.0326

Compruebe que la varianza de la secuencia es 1.

Ing. Herman Fernández

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIAFACULTAD SEDE SECCIONAL SOGAMOSO

ESCUELA DE INGENIERÍA ELECTRÓNICACOMUNICACIONES II TALLER II

FRANCY PINEDA Y JUAN CARLOS VARGAS Rta: usando la instrucción

var (x) ans = 0.9979

A partir de la secuencia generada, escale la misma para que la potencia de ruido sea N=5 manteniendo la media nula.

Rta: usando la instrucción para escalar la secuencia

x=randn (1000,1)* sqrt (5)

Se comprueba que la varianza es 5 y la media es nula

Varianza = var(x)

varianza = 4.9860

mean(x) ans = 0.0825

Compruebe que la varianza de la secuencia es 5

Rta: varianza = var(x)

varianza = 4.9860

EJERCICIO 1_3

Generando ruido AWGN en MATLAB

Generar 1000 bits (0,1) de forma aleatoria1000 bits (0,1)

Rta: Con el siguiente programa se generan los 1000 bits

clear allclcx=1000000;m=1;r=rand(x,m);for i=1:x for j=1:m if r(i,j)<=0.5 a(i,j)=0; else a(i,j)=1; end endend

Calcule la potencia de la señal generada, S.

Ing. Herman Fernández

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIAFACULTAD SEDE SECCIONAL SOGAMOSO

ESCUELA DE INGENIERÍA ELECTRÓNICACOMUNICACIONES II TALLER II

FRANCY PINEDA Y JUAN CARLOS VARGAS

Rta: Con el siguiente programa se hallo la potencia de la señal generada

clear allclcx=1000;m=1;r=rand(x,m);for i=1:x for j=1:m if r(i,j)<=0.5 a(i,j)=0; else a(i,j)=1; end endends=var(a)

s = 0.2502

Genere 1000 muestras de ruido con una potencia tal que se cumpla que la relación S/N es 10 dB

Rta: Conociendo del ejercicio anterior que la potencia de la señal generada es:

S=0.25 y que la relación señal a ruido que se busca es: S/N=10 DB

Con las ecuaciones

S(DB )−N (DB )=10 DB

SN

=10 (Lineal)

Se despeja N

0.2510

=N (Lineal) Siendo N=0.025

Para obtener una varianza de 0.025 es necesario escalar las muestras como se

muestra a continuación, (con sqrt (0.025) se cumple la condición)

Ing. Herman Fernández

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIAFACULTAD SEDE SECCIONAL SOGAMOSO

ESCUELA DE INGENIERÍA ELECTRÓNICACOMUNICACIONES II TALLER II

FRANCY PINEDA Y JUAN CARLOS VARGAS

x=randn (1000,1)*sqrt (0.025) ; SE GENERAN LAS MUESTRAS varianza = var(x)

varianza = 0.0244 N =0.0244 (lineal)

Así:

0.250.0244

=10.4 Lineal

Para corrobar se pasa S y N a DB

S=-6.02 DB

N=-16.12 DB

S-N= 10DB

-6.02-(-16.12)=10.1

Y de esta manera se cumple con la condición S/N =10.

EJERCICIO 1_4

Genere 10000 símbolos aleatorios (-1,1)-Compruebe que para esa secuencia, la potencia de señal es s= 1

Rta: Usando la función : BER_bpsk(Nbits,EbNodB)

Ejemplo: siendo Nbits=10^6 y EbNodB=6.98;

BER_bpsk(10^6,6.98);

potencia_s = 1.0000 % potencia de señal =1

………

%*******************FUNCION BER********************%*********INTEGRANTES:JUAN CARLOS VCARGAS Y FRANCY PINEDA %****HALLANDO BER AGRAGANDO RUIDOCON DOS CANALES Q Y I function BER_bpsk(Nbits,EbNodB)clcN = Nbits % numero de bits por simbolo

Ing. Herman Fernández

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIAFACULTAD SEDE SECCIONAL SOGAMOSO

ESCUELA DE INGENIERÍA ELECTRÓNICACOMUNICACIONES II TALLER II

FRANCY PINEDA Y JUAN CARLOS VARGAS rand('state',100); % Ruido del canal Qrandn('state',200); % Ruido del canal I % Transmisor ip = rand(1,N)>0.5; % generando 0y 1 con igual probabilidad (umbral de 0)s = 2*ip-1 % modulacion BPSK 0 -> -1; 1 -> 1potencia_s =var(s)n = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; % Ruido AWGNEb_N0_dB = EbNodB; % Multiples valores de Eb/N0 for ii = 1:length(Eb_N0_dB) % Adicionando RUIDO y = s + 10^(-Eb_N0_dB(ii)/20)*n; % AWGN % Receptor ipHat = real(y)>0; % Contando errores nErr(ii) = size(find([ip- ipHat]),2); end simBer = nErr/N; % simulando BER theoryBer = 0.5*erfc(sqrt(10^(Eb_N0_dB/10))); % BER teorico % Graficando close allfiguresemilogy(Eb_N0_dB,theoryBer,'b.-');hold onsemilogy(Eb_N0_dB,simBer,'mx-');axis([-3 10 10^-5 0.5])grid onlegend('Teorico', 'Simulacion');xlabel('Eb/No, dB');ylabel('Bit Error Rate');title('Probabilidad de error para la modulación BPSK');

Ing. Herman Fernández

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIAFACULTAD SEDE SECCIONAL SOGAMOSO

ESCUELA DE INGENIERÍA ELECTRÓNICACOMUNICACIONES II TALLER II

FRANCY PINEDA Y JUAN CARLOS VARGAS

Fig1.BER obtenido para Eb/No =6.98 db

Para comprobar siendo Eb/No =6.98db= 5 Buscando en la tabla √5= 2.23

Se obtiene de la Tabla 1 el valor de BER =1∗10−3 que se aproxima al de la Observar Fig1.

Ing. Herman Fernández

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIAFACULTAD SEDE SECCIONAL SOGAMOSO

ESCUELA DE INGENIERÍA ELECTRÓNICACOMUNICACIONES II TALLER II

FRANCY PINEDA Y JUAN CARLOS VARGAS

Tabla1. Función complementaria de error.

El canal consiste simplemente en la adición de ruido AWGN de media nula usando la función randn y escalando el resultado de forma adecuada para la relación Eb/No sea la deseada (tenga en cuenta la relación entre S/N y Eb/No para este caso).

Detecte según un umbral de 0

Rta: Un umbral de cero quiere decir que los datos generados tengan igual probabilidad y esto lo garantizamos con la siguiente instrucción.

ip = rand(1,N)>0.5; %0 y 1 con igual probabilidad(umbral de 0)s = 2*ip-1 % modulacion BPSK 0 -> -1; 1 -> 1

Ing. Herman Fernández

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIAFACULTAD SEDE SECCIONAL SOGAMOSO

ESCUELA DE INGENIERÍA ELECTRÓNICACOMUNICACIONES II TALLER II

FRANCY PINEDA Y JUAN CARLOS VARGAS EJERCICIO 1_5

Objetivo: curva_BER_bpsk(Nbits);

-Calcule la BER para un rango de valores de Eb/No=0 a 10dB a partir de la función del ejercicio 1-4 y compare con la fórmula teórica:

Rta: Para obtener la curva de la BER se modifica el programa del punto 1.4 con el fin de hacer que este funcione en un rango de 0 a 10 db

Programa para generar BER respecto a Eb/No en dB

%*******************FUNCION BER********************%*********INTEGRANTES:JUAN CARLOS VCARGAS Y FRANCY PINEDA %****HALLANDO BER AGRAGANDO RUIDOCON DOS CANALES Q Y I function curva_BER_bpsk(Nbits)clcN = Nbits % numero de bits por simbolo rand('state',100); % Ruido del canal Qrandn('state',200); % Ruido del canal I % Transmisor ip = rand(1,N)>0.5; % generando 0 y 1 con igual probabilidad (umbral de 0)s = 2*ip-1 % modulacion BPSK 0 -> -1; 1 -> 1potencia_s =var(s)n = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; % Ruido AWGNEb_N0_dB = [0:10]; % Multiples valores de Eb/N0 for ii = 1:length(Eb_N0_dB) % Adicionando RUIDO y = s + 10^(-Eb_N0_dB(ii)/20)*n; % AWGN % Receptor ipHat = real(y)>0; % Contando errores nErr(ii) = size(find([ip- ipHat]),2); end simBer = nErr/N; % simulando BER theoryBer = 0.5*erfc(sqrt(10.^(Eb_N0_dB/10))); % BER teorico % Graficando close allfiguresemilogy(Eb_N0_dB,theoryBer,'b.-');hold onsemilogy(Eb_N0_dB,simBer,'mx-');axis([0 10 10^-5 0.5])grid onlegend('Teorico', 'Simulacion');xlabel('Eb/No, dB');ylabel('Bit Error Rate');title('curva de probabilidad de error para la modulación BPSK');

Ing. Herman Fernández

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIAFACULTAD SEDE SECCIONAL SOGAMOSO

ESCUELA DE INGENIERÍA ELECTRÓNICACOMUNICACIONES II TALLER II

FRANCY PINEDA Y JUAN CARLOS VARGAS

Fig2.Curva de probabilidad de error para la modulación BPSK

Compruebe que Nbits>10x+1 para una buena estimación de BER=10-x.

– Utilice la función semilogy para representar los resultados deBER respecto a Eb/No en dB

Rta: A continuación se mostraran las graficas de BER con respecto Eb/No, en la cual se varían los números de bits para saber cuantos se necesitan para una buena estimación.

Fig3.Curva de probabilidad de error para la modulación BPSK usando

101 bits

Ing. Herman Fernández

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIAFACULTAD SEDE SECCIONAL SOGAMOSO

ESCUELA DE INGENIERÍA ELECTRÓNICACOMUNICACIONES II TALLER II

FRANCY PINEDA Y JUAN CARLOS VARGAS

Fig4.Curva de probabilidad de error para la modulación BPSK usando

102 bits

Fig5.Curva de probabilidad de error para la modulación BPSK usando

103 bits

Ing. Herman Fernández

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIAFACULTAD SEDE SECCIONAL SOGAMOSO

ESCUELA DE INGENIERÍA ELECTRÓNICACOMUNICACIONES II TALLER II

FRANCY PINEDA Y JUAN CARLOS VARGAS

Fig6.Curva de probabilidad de error para la modulación BPSK usando

104 bits.

Fig7.Curva de probabilidad de error para la modulación BPSK usando

105 bits.

Ing. Herman Fernández

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIAFACULTAD SEDE SECCIONAL SOGAMOSO

ESCUELA DE INGENIERÍA ELECTRÓNICACOMUNICACIONES II TALLER II

FRANCY PINEDA Y JUAN CARLOS VARGAS

Fig8.Curva de probabilidad de error para la modulación BPSK usando

106 bits.

Fig9.Curva de probabilidad de error para la modulación BPSK usando

107 bits.

Conclusion

De las graficas anteriores se puede observar que para obtener un valor confiable de la BER es necesario mas de 106 bits

Ing. Herman Fernández