You are on page 1of 11

UNIVERSIDAD PEDAGGICA Y TECNOLGICA DE COLOMBIA FACULTAD SEDE SECCIONAL SOGAMOSO ESCUELA DE INGENIERA ELECTRNICA

COMUNICACIONES II

Modulacin Digital Pasabanda


Camilo Hernndez Velandia 4904792, Jorge Gonzlez Martnez 49059577

1 En este laboratorio se pide explorar los efectos de los diferentes deterioros que se presentan en la recepcin de una seal modulada linealmente. El script en Matlab tx_lin.m genera muestras de la seal continua en tiempo transmitida. Los parmetros por defecto son: La tasa de bit es Rb=2Rs=4Mbps cuando se usa QPSK. Observe que con esos parmetros la seal pasa banda transmitida tiene un ancho de banda de (1+)Rs=2.8MHz. Usted puede >> pwelch(x, B, B/2, B, 1/Ts); Donde B es un parmetro relacionado al tamao del bloque involucrado en el proceso genera_constel.m: permite seleccionar diferentes constelaciones: QAM, PSK, APSK. rcosalz: genera muestras del pulso SRRC. tx lin.m

Tasa de smbolo: 2Megasmbolos/s Tipo de pulso: Raz cuadrtica de coseno alzado (SRRC) factor de cada (roll off) =0.4 Frecuencia de portadora: fc = 12Mhz Tasa de muestreo: fs=40 Megamuestras/s. Modulacin: QPSK verificarlo graficando la densidad espectral de potencia (PSD). Una forma conveniente para hacer esto en Matlab es usando el comando pwelch, por ejemplo: de estimacin de la psd; usualmente B=512 trabaja bien. Este script usa dos funciones en Matlab proporcionadas: Eercicio 1: Ejecute el archivo tx_lin.m y familiarcese con l. Represente la psd de las seales transmitidas para diferentes valores de portadora, factores de cada y constelaciones. De acuerdo a los dos anteriores ecuaciones (1) y (2), comente la apariencia de la psd de la seal modulada (frecuencia central y ancho de banda) que usted observa por medio de la funcin pwelch, explique cmo cada uno de esos parmetros afecta la psd.

Welch Power Spectral Density Estimate 0

Power/frequency (dB/Hz)

Tasa de smbolo: 2Megasmbolos/s Tipo de pulso: Raz cuadrtica de coseno alzado (SRRC) factor de cada (roll off) =0.2 Frecuencia de portadora: fc = 12Mhz Tasa de muestreo: fs=40 Megamuestras/s. Modulacin: QPSK

factor de cada (roll off) =0.9 Frecuencia de portadora: fc = 12Mhz Tasa de muestreo: fs=40 Megamuestras/s. Modulacin: QPSK
Welch Power Spectral Density Estimate 0

-10

-20

-30

-40

-10

-50

Power/frequency (dB/Hz)

-20 -60 -30 -70 -40

8 10 12 Frequency (Hz)

14

16

18

20

-50

-60

-70

8 10 12 Frequency (Hz)

14

16

18

20

Power/frequency (dB/Hz)

Tasa de smbolo: 2Megasmbolos/s Tipo de pulso: Raz cuadrtica de coseno alzado (SRRC) factor de cada (roll off) =0.4 Frecuencia de portadora: fc = 12Mhz Tasa de muestreo: fs=40 Megamuestras/s. Modulacin: QPSK
Welch Power Spectral Density Estimate 0

Tasa de smbolo: 2Megasmbolos/s Tipo de pulso: Raz cuadrtica de coseno alzado (SRRC) factor de cada (roll off) =0.4 Frecuencia de portadora: fc = 10Mhz Tasa de muestreo: fs=40 Megamuestras/s. Modulacin: QPSK
Welch Power Spectral Density Estimate 0

-10

-20

-30

-40

-10

-50

Power/frequency (dB/Hz)

-20

-60

-30

-70

8 10 12 Frequency (Hz)

14

16

18

20

-40

-50

-60

-70

8 10 12 Frequency (Hz)

14

16

18

20

Tasa de smbolo: 2Megasmbolos/s Tipo de pulso: Raz cuadrtica de coseno alzado (SRRC)

Tasa de smbolo: 2Megasmbolos/s Tipo de pulso: Raz cuadrtica de coseno alzado (SRRC) factor de cada (roll off) =0.4 Frecuencia de portadora: fc = 8Mhz Tasa de muestreo: fs=40 Megamuestras/s. Modulacin: QPSK

Welch Power Spectral Density Estimate 0 Welch Power Spectral Density Estimate 0 -10 -10 Power/frequency (dB/Hz) -20

Power/frequency (dB/Hz)

-20

-30

-30

-40

-40

-50

-50 -60 -60 -70 -70 0 2 4 6 8 10 12 Frequency (Hz) 14 16 18 20 0 2 4 6 8 10 12 Frequency (Hz) 14 16 18 20

Tasa de smbolo: 2Megasmbolos/s Tipo de pulso: Raz cuadrtica de coseno alzado (SRRC) factor de cada (roll off) =0.4 Frecuencia de portadora: fc = 8Mhz Tasa de muestreo: fs=40 Megamuestras/s. Modulacin: QPSK
[C,constel] = genera_constel('16qam',0)

Tasa de smbolo: 2Megasmbolos/s Tipo de pulso: Raz cuadrtica de coseno alzado (SRRC) factor de cada (roll off) =0.4 Frecuencia de portadora: fc = 12Mhz Tasa de muestreo: fs=40 Megamuestras/s. Modulacin: QPSK
[C,constel] = genera_constel('64qam',0)
Welch Power Spectral Density Estimate 0

Welch Power Spectral Density Estimate 0

-10

-10

Power/frequency (dB/Hz)

-20

-30

Power/frequency (dB/Hz)

-20

-40

-30

-50

-40 -60 -50 -70 -60

8 10 12 Frequency (Hz)

14

16

18

20

-70

8 10 12 Frequency (Hz)

14

16

18

20

Tasa de smbolo: 2Megasmbolos/s Tipo de pulso: Raz cuadrtica de coseno alzado (SRRC) factor de cada (roll off) =0.4 Frecuencia de portadora: fc = 12Mhz Tasa de muestreo: fs=40 Megamuestras/s. Modulacin: QPSK
[C,constel] = genera_constel('32qam',0)

Tasa de smbolo: 2Megasmbolos/s Tipo de pulso: Raz cuadrtica de coseno alzado (SRRC) factor de cada (roll off) =0.4 Frecuencia de portadora: fc = 12Mhz Tasa de muestreo: fs=40 Megamuestras/s. Modulacin: QPSK
[C,constel] = genera_constel('128qam',0)

Welch Power Spectral Density Estimate 10 Welch Power Spectral Density Estimate 0 0 -10 Power/frequency (dB/Hz) -10 Power/frequency (dB/Hz) 0 2 4 6 8 10 12 Frequency (Hz) 14 16 18 20 -70 0 1 2 3 4 5 6 Frequency (Hz) 7 8 9 10 -20

-20

-30

-30

-40

-40

-50

-50 -60 -60

Tasa de smbolo: 2Megasmbolos/s Tipo de pulso: Raz cuadrtica de coseno alzado (SRRC) factor de cada (roll off) =0.4 Frecuencia de portadora: fc = 12Mhz Tasa de muestreo: fs=40 Megamuestras/s. Modulacin: QPSK
[C,constel] = genera_constel('256qam',0)

Tasa de smbolo: 2Megasmbolos/s Tipo de pulso: Raz cuadrtica de coseno alzado (SRRC) factor de cada (roll off) =0.4 Frecuencia de portadora: fc = 12Mhz Tasa de muestreo: fs=10 Megamuestras/s. Modulacin: QPSK
M = 40; % M es el factor de sobremuestreo
Welch Power Spectral Density Estimate 0

Welch Power Spectral Density Estimate 10 Power/frequency (dB/Hz)

-10

-20

-30

Power/frequency (dB/Hz)

-10

-40

-20

-50

-30 -60 -40 -70 -50 0 1 2 3 4 5 6 Frequency (Hz) 7 8 9 10

-60

8 10 12 Frequency (Hz)

14

16

18

20

Tasa de smbolo: 2Megasmbolos/s Tipo de pulso: Raz cuadrtica de coseno alzado (SRRC) factor de cada (roll off) =0.4 Frecuencia de portadora: fc = 12Mhz Tasa de muestreo: fs=10 Megamuestras/s. Modulacin: QPSK
M = 10; % M es el factor de sobremuestreo

Modifique el script para implementar un sistema con un pulso de transmisin rectangular de duracin igual a un periodo de smbolo T, en lugar de un pulso SRRC (la funcin en Matlab rectwin puede ser til). Dibuje la psd de la seal pasa banda y comente lo que observa. Cmo se relacionan sus observaciones con la psd terica dada por (2)?.

12. Implementacin del Receptor El script en Matlab rx_lin.m implementa un receptor idealizado que toma la seal pasa banda generada por tx_lin.m como entrada. Las operaciones realizadas para recuperar los smbolos originales son: 1Demodulacin I y Q 2Filtrado Acoplado 3Muestreo a la tasa de baudios Observe que la sinusoide generada para el proceso de demodulacin es sincronizada en frecuencia y fase con la sinusoide generada en transmisin; en la prctica, por supuesto, algn subsistema de recuperacin de la portadora debe ser implementado. Similarmente, el muestreo a la tasa de baudios final debe ser hecho en los instantes de tiempo ptimos que son conocidos aqu en esta simulacin idealizada, pero en la prctica la recuperacin de reloj es obligatoria.
16 18 20

Tasa de smbolo: 2Megasmbolos/s Tipo de pulso: Raz cuadrtica de coseno alzado (SRRC) factor de cada (roll off) =0.4 Frecuencia de portadora: fc = 12Mhz Tasa de muestreo: fs=10 Megamuestras/s. Modulacin: QPSK

M = 20;Ts = T/M; % M es el factor de sobremuestreo u = 8; % Semiduracion del pulso SRRC, en simbolos P=rectwin(u)
Welch Power Spectral Density Estimate 0

-10

Power/frequency (dB/Hz)

-20

-30

-40

-50

-60

8 10 12 Frequency (Hz)

14

Ejercicio 2: Primero se va a explorar los efectos del ruido aditivo en la seal recibida Use diferentes constelaciones: QPSK; 8-PSK; M-QAM con M=16, 32 y 64; M-PSK con M=16, 32 y 64.
[C,constel] = genera_constel('qpsk',0)

Usando un pulso SRRC con factor de cada de 0.4, visualmente verifique los datos demodulados por medio de plot( simbI + i*simbQ , o);
4 3 2 1 0 -1 -2 -3 -4 -4

-3

-2

-1

1.5

[C,constel] = genera_constel('32qam',0);
6

0.5 4 0 2 -0.5 0 -1 -2 -1.5 -1.5 -1 -0.5 0 0.5 1 1.5 -4

[C,constel] = genera_constel('8psk',0);
1.5

-6 -6

-4

-2

[C,constel] = genera_constel('64qam',0);
8 6

0.5 4 0 2 -0.5 0 -2 -1 -4 -1.5 -1.5 -1 -0.5 0 0.5 1 1.5 -6 -8 -8

-6

-4

-2

[C,constel] = genera_constel('16qam',0);
4 3 2 1 0 -1 -2 -3 -4 -4

Ajuste la constelacin en 16-QAM y estime la potencia de la seal pasa banda. Adicione algo de ruido Gaussiano a la seal pasa banda con la ayuda del comando randn, de manera que la primer lnea del rx_line.m llegue a ser: npwr = ***; r = x + sqrt(npwr) * randn(size(x));

-3

-2

-1

npwr = 30;

Welch Power Spectral Density Estimate 25 20 15 -25 Power/frequency (dB/Hz) -20 -10 0 10 20 30 10 5 0 -5 -10 -15 -20 -25 -30 -50 -55 -30 -35 -40 -45 -15 -20

8 10 Frequency (Hz)

12

14

16

%rx lin.m npwr = var(x)/1000; r = x + sqrt(npwr) * randn(size(x));

Grafica de psd a 20 db
1.5

CON SNR =30dB


Welch Power Spectral Density Estimate -15 -20 -25

0.5

0 Power/frequency (dB/Hz) -30 -35 -40 -45 -50 -55 -60 -65 -1.5 -1.5 -1 -0.5 0 0.5 1 1.5 -1 -0.5

Constelacin de 16-qam snr 20db


0 2 4 6 8 10 Frequency (Hz) 12 14 16 Welch Power Spectral Density Estimate -15

Grafica de psd a 30 db
1 0.8 0.6 0.4 0.2 0 -0.2 Power/frequency (dB/Hz)

-20

-25

-30

-35 -0.4 -0.6 -40 -0.8 -1 -1 0 2 4 6 8 10 Frequency (Hz) 12 14 16

-0.8

-0.6

-0.4

-0.2

0.2

0.4

0.6

0.8

Grafica de psd a 10 db

Constelacin de 16-qam snr 30db

1.5

0.5

-0.5

-5 -5

-4

-3

-2

-1

-1

-1.5 -1.5

-1

-0.5

0.5

1.5

Constelacin de 16-qam snr 10db Tabla

Smbolos obtenidos para un error de fase de 90.


5

3)observando los efectos de sincronizacin. mediante Matlab. Introduciendo un error de fase fijo en la etapa de conversin hacia abajo en el receptor se visualizara los smbolos obtenidos y la respuetas frente a cada angulo. Smbolos obtenidos para un error de fase de 30.
4 3 2 1 0 -1 -2 -3 -4 -4

-5 -5

-4

-3

-2

-1

El receptor demodula con un desfase debido a esto se pueden presentar errores en la comunicacin, se observa a continuacin los efectos que se tienen al introducir un error de frecuencia fijo. Con f=50Hz. . Smbolos obtenidos para un error de frecuencia de 50Hz.
3 2 1 0 -1 -2 -3 -5 x 10
-3

-3

-2

-1

Smbolos obtenidos para un error de fase de 45. .

-4

-3

-2

-1

4 x 10

5
-3

Con un error de frecuencia fijo de 1KHz,


4 3 2 1 0 -1 -2 -3 -4 -4 -3 -2 -1 0 1 2 3 4

la seal utilizada no presenta componentes centradas en 12 MHz,y por tanto la seal demodulada presenta demasiado Seal con componente centrada en 12MHz.
Welch Power Spectral Density Estimate 0 -10 Power/frequency (dB/Hz)

-20 -30

Si el receptor usa un error frecuencia fijo se pueden presentar errores en la comunicacin debido a que puede aumentar el ruido para algunas frecuencias bajas frecuencias. 4. Explore el efecto de interferencia de canal adyacente (ACI). 16-QAM (con Rs=2Megabaudios/s, factor de cada =0.4 y fs=40Megamuestras/s). Seal compuesta genereda
Welch Power Spectral Density Estimate 0 -10 Power/frequency (dB/Hz)

-40 -50

-60

8 10 Frequency (Hz)

12

14

16

Smbolos obtenidos de la seal compuesta generada.


4 3 2 1 0 -1 -2 -3 -4 -4

-3

-2

-1

-20

Grfica #4.4. Smbolos de la componente centrada en 12MHz. En una seal centrada en 12MHz los simbolos de la seal demodulada, estan en una zona limpia(constelacin).
0 2 4 6 8 10 Frequency (Hz) 12 14 16

-30

-40

-50

-60

Seal demodulada, simbolos adquiridos.


2 1.5 1 0.5 0 -0.5 -1 -1.5 -2 -2

SNR(db) 30 20 10

C/N(.dB) 40 31 21

MER(.d.B) 46.02 34.91 23.22

-1.5

-1

-0.5

0.5

1.5

La tasa de error de modulacin (MER) es una medida de la relacin seal-ruido (SNR) en una seal modulada digitalmente. Como SNR, MER se suele expresar en decibelios (dB). MER sobre el nmero de smbolos, N se define como:

n = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; %ruido blanco gausiano var=0 y = s + 10^(-Es_N0_dB(ii)/20)*n; % se adiciona el ruido gausiano

Donde es el componente I del smbolo j-recibi Q es el componente del smbolo j-recibi es el componente ideal de que el smbolo de la j-sima recibido es el componente ideal Q del smbolo jsimo recibido.

% PROCESO DE DEMODULACION % -----------% buscamos la fase desde -pi a pi opPhase = angle(y); opPhase(find(opPhase<0)) = opPhase(find(opPhase<0)) + 2*pi; ipPhaseHat = 2*pi/M*round(opPhase/ (2*pi/M)) ; % comparamos los datos transmitidos ipPhaseHat(find(ipPhaseHat==2*pi)) = 0; % ahora los errores nErr(ii) = size(find([ipPhaseipPhaseHat]),2); % couting the number of errors end simBer = nErr/N; theoryBer = erfc(sqrt(10.^(Es_N0_dB/10))*sin(pi/M)) ; close all figure semilogy(Es_N0_dB,theoryBer,'bs-','Line Width',2); hold on semilogy(Es_N0_dB,simBer,'mx-','LineWid th',2); axis([0 80 10^-5 1]) grid on legend('teoria', 'simulacion'); xlabel('Es/No, dB') ylabel('MER') title('curva de probabilidad de error de simbolo para 16-qam')

Se puede observar el la figura anterior dond e se presenta la seal de ruido . Los efectos mas comunes en los diagramas de constelacin son Limpia, con operacin no lineal, con desbalanceo de los ejes IQ , interferencia de onda continua, con ruido, con fuga de seal, con frecuencia portadora inestable.
%La tasa de error de modulacin (MER) %Camilo Hernandez %Jorge Gonzalez %COMUNICACIONES 2 clear N = 3000; % numero de simbolos M = 20; % factor de sobremuestreo thetaMpsk = [0:M-1]*2*pi/M; % Es_N0_dB = [0:100]; % ipPhaseHat = zeros(1,N); for ii = 1:length(Es_N0_dB) % generacion de simbolos % -----------------ipPhase = randsrc(1,N,thetaMpsk); ip = exp(j*ipPhase); %fase s = ip; % se normaliza la energia a 1

10

curva de probabilidad de error de simbolo para 16-qam

10

-1

10

-2

MER 10
-3

10

-4

10

-5

teoria simulacion 0 5 10 15 Es/No, dB 20 25 30

Grafica 20) resultados de SNR tomando

N = 3000; % numero de simbolos M = 20; % factor de sobremuestreo

CONCLUSIONES 1. Con tcnicas de modulacin digital como M- QAM se optimiza mas el espectro para que la comunicacin sea mas confiable y no se presente tanto ruido y perdida de informacin como ocurre para el caso de la modulacin anloga. 2. Si varian los parmetros del receptor como fase y frecuencia se puede variar los efectos de demodulacin haciendo que la seal tenga presencia o no de ruido. 3. Este tipo de modulacin como tiene detector de fase amarrada es mas fasil de sincronizar debido a que detecta la fase. 4. se cumple el objetiovo de llevar una constelacin 16-qam con ruido a llevarla a una constelacin limpia , a medida q se presenta mayor numero de afecciones(errores) disminuye la calidad de la seal 5. En el anlisis de la tasa de error de bits, se puede concluir que entre ms grande sea el prefijo cclico, la curva del BER tiende a crecer. 6. De igual manera se obtuvo un resultado similar a lo anterior en cuanto al BER, cuando se incrementaba el nivel de modulacin QAM, la tasa de error de bit tiende a incrementarse INFOGRAFIA http://www.cisco.com/en/US/prod/collater al/video/ps8806/ps5684/ps2209/prod_whi te_paper0900aecd805738f5_ps2217_Prod ucts_White_Paper.html

Teniendo:
EVM_% = 100 x 10-(MER_dB + MTA_dB)/20

donde : EVM_% is error vector magnitude (percent). MER_dB is modulation error ratio (dB). MTA_dB is maximum-to-average constellation ratio (dB). Con MTA=2.55 PercentileMER: 21.5700 matlab Despejando obtenemos: A travs del siguiente cdigo de matlab obtenemos el valor de MER
hMod = modem.qammod('M', 16); % Create a 16-QAM modulator object hMER = commmeasure.MER('Percentile', 50); xmt = modulate(hMod, randi([0 15], 3000, 1)); % Generate modulated symbols rcv = awgn(xmt, 20, 'measured'); update(hMER, rcv, xmt) % Update measurements hMER hMod

Type: 'MER Measurement MERdB: 19.9509 MinimumMER: 11.0366 Percentile: 50 PercentileMER: 21.5700 NumberOfSymbols: 3000