UNIVERSIDAD PEDAGÓGICA PEDAGÓGICA Y TECNOLÓGICA TECNOLÓGICA DE COLOMBIA FACULTAD SEDE SECCIONAL SOGAMOSO ESCUELA DE INGENIERÍA ELECTRÓNICA COMUNICACIONES II
Modulación Digital Pasabanda Camilo Hernández Velandia 4904792, Jorge González Martínez 49059577
1 En este este labor laborat ator orio io se pide pide expl explor orar ar los los efecto efectoss de los difere diferente ntess deteri deterioro oross que se pr presen esenta tan n en la recep ecepci ción ón de una una seña señall modula modulada da lineal linealmen mente. te. El script script en Matlab Matlab tx_lin.m tx_lin.m genera muestras muestras de la señal continua continua en tiempo tiempo trans transmit mitida. ida. Los paráme parámetro tross por defecto son: La tasa de bit es Rb=2Rs=4Mbps cuando se usa QPSK. Observe que con esos parámetros la señal pasa banda transmitida tiene un ancho de banda de (1+α)Rs=2.8MHz. Usted puede
Ts); >> pwelch(x , B , B / 2 , B , 1 / Ts); Donde B es un parámetro relacionado al tamaño del bloque involucrado en el proceso
Tasa de símbolo: 2Megasímbolos/s Tipo de pulso: Raíz cuadrática de coseno alzado (SRRC) factor de caída (roll off) α=0.4 Frecuencia de portadora: fc portadora: fc = 12Mhz Tasa de muestreo: f muestreo: f s=40 s=40 Megamuestras/s. Modulación: 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 estimación de la psd; usualmente B=512 trabaja bien. Este script usa dos funciones en Matlab proporcionadas:
genera_constel.m: permite seleccionar
Eercic Eercicio io 1: Ejec Ejecut utee el archi archivo vo tx_l tx_lin in.m .m y
diferentes constelaciones: QAM, PSK, APSK.
familiarícese con él. Represente la psd de las señales transmitidas para diferentes valores de portadora, factores de caída y constelaciones. De acuerdo a los dos anteriores ecuaciones (1) y (2), comente la apariencia de la psd de la señal modulada (frecuencia central y ancho de band banda) a) que que uste usted d obser observa va por por medi medio o de la función pwelch, explique cómo cada uno de esos parámetros afecta la psd.
rcosalz: genera muestras del pulso SRRC. tx lin.m
factor de caída (roll off) α=0.9 Frecuencia de portadora: fc = 12Mhz Tasa de muestreo: f s=40 Megamuestras/s. Modulación: QPSK
Tasa de símbolo: 2Megasímbolos/s Tipo de pulso: Raíz cuadrática de coseno alzado (SRRC) factor de caída (roll off) α=0.2 Frecuencia de portadora: fc = 12Mhz Tasa de muestreo: f s=40 Megamuestras/s. Modulación: QPSK
Welch Power Spectral Density Estimate 0
-10
) z H / B d ( y c n e u q e r f / r e w o P
Welch Power Spectral Density Estimate 0
-10
) z H / B d ( y c n e u q e r f / r e w o P
-20
-30
-40
-50
-60
-30
-70 -40
-50
-60
-70
0
2
4
6
8 10 12 Frequency (Hz)
14
16
18
20
Tasa de símbolo: 2Megasímbolos/s Tipo de pulso: Raíz cuadrática de coseno alzado (SRRC) factor de caída (roll off) α=0.4 Frecuencia de portadora: fc = 12Mhz Tasa de muestreo: f s=40 Megamuestras/s. Modulación: QPSK
0
2
4
6
8 10 12 Frequency (Hz)
14
16
18
Tasa de símbolo: 2Megasímbolos/s Tipo de pulso: Raíz cuadrática de coseno alzado (SRRC) factor de caída (roll off) α=0.4 Frecuencia de portadora: fc = 10Mhz Tasa de muestreo: f s=40 Megamuestras/s. Modulación: QPSK Welch Power Spectral Density Estimate
-10
) z H / B d ( y c n e u q e r f / r e w o P
Welch Power Spectral Density Estimate
-10
-20
-30
-40
-50
-20
-60
-30
-70
0
2
4
6
8 10 12 Frequency (Hz)
14
16
18
-40
-50
-60
-70 0
2
4
6
8 10 12 Frequency (Hz )
14
16
18
Tasa de símbolo: 2Megasímbolos/s Tipo de pulso: Raíz cuadrática de coseno alzado (SRRC)
20
0
0
) z H / B d ( y c n e u q e r f / r e w o P
-20
20
Tasa de símbolo: 2Megasímbolos/s Tipo de pulso: Raíz cuadrática de coseno alzado (SRRC) factor de caída (roll off) α=0.4 Frecuencia de portadora: fc = 8Mhz Tasa de muestreo: f s=40 Megamuestras/s. Modulación: QPSK
20
Welch Power Spectral Density Estimate 0 Welch Power Spectral Density Estimate 0 -10 -10
) z H / B d ( y c n e u q e r f / r e w o P
) z H / B d (
-20
y c n e u q e r f / r e w o P
-30
-40
-20
-30
-40
-50
-50 -60 -60 -70 0 -70
0
2
4
6
8 10 12 Frequency (Hz)
14
16
18
2
4
6
8 10 12 Frequency (Hz)
14
16
18
20
20
Tasa de símbolo: 2Megasímbolos/s Tipo de pulso: Raíz cuadrática de coseno alzado (SRRC) factor de caída (roll off) α=0.4 Frecuencia de portadora: fc = 12Mhz Tasa de muestreo: f s=40 Megamuestras/s. Modulación: QPSK
Tasa de símbolo: 2Megasímbolos/s Tipo de pulso: Raíz cuadrática de coseno alzado (SRRC) factor de caída (roll off) α=0.4 Frecuencia de portadora: fc = 8Mhz Tasa de muestreo: f s=40 Megamuestras/s. Modulación: QPSK
[C,constel] = genera_constel('64qam',0)
[C,constel] = genera_constel('16qam',0)
Welch Power Spectral Density Estimate 0
Welch Power Spectral Density Estimate
-10
0 ) z H / B d ( y c n e u q e r f / r e w o P
-10
) z H / B d ( y c n e u q e r f / r e w o P
-20
-30
-40
-30
-40
-50
-60
-50
-70
-60
-70
-20
0
2
4
6
8 10 12 Frequency (Hz)
14
16
18
Tasa de símbolo: 2Megasímbolos/s Tipo de pulso: Raíz cuadrática de coseno alzado (SRRC) factor de caída (roll off) α=0.4 Frecuencia de portadora: fc = 12Mhz Tasa de muestreo: f s=40 Megamuestras/s. Modulación: QPSK [C,constel] = genera_constel('32qam',0)
0
2
4
6
8 10 12 Frequency (Hz)
14
16
18
20
20
Tasa de símbolo: 2Megasímbolos/s Tipo de pulso: Raíz cuadrática de coseno alzado (SRRC) factor de caída (roll off) α=0.4 Frecuencia de portadora: fc = 12Mhz Tasa de muestreo: f s=40 Megamuestras/s. Modulación: QPSK [C,constel] = genera_constel('128qam',0)
Welch Power Spectral Density Estimate 10 Welch Power Spectral Density Estimate 0 0 -10 ) z H / B d ( y c n e u q e r f / r e w o P
-10 ) z H / B d (
-20
y c n e u q e r f / r e w o P
-30
-40
-20
-30
-40
-50
-50 -60 -60
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
Tasa de símbolo: 2Megasímbolos/s Tipo de pulso: Raíz cuadrática de coseno alzado (SRRC) factor de caída (roll off) α=0.4 Frecuencia de portadora: fc = 12Mhz Tasa de muestreo: f s=10 Megamuestras/s. Modulación: QPSK
Tasa de símbolo: 2Megasímbolos/s Tipo de pulso: Raíz cuadrática de coseno alzado (SRRC) factor de caída (roll off) α=0.4 Frecuencia de portadora: fc = 12Mhz Tasa de muestreo: f s=40 Megamuestras/s. Modulación: QPSK [C,constel] = genera_constel('256qam',0)
M = 40; % M es el factor de sobremuestreo Welch Power Spectral Density Estimate 0
-10
Welch Power Spectral Density Estimate 10 ) z H / B d (
0
) z H / B d ( y c n
e u q e r f / r e w o P
y c n e u q e r f / r e w o P
-10
-20
-20
-30
-40
-50
-30 -60 -40 -70 -50
-60 0
2
4
6
8 10 12 Frequency (Hz )
14
16
18
1
2
3
4 5 6 Frequency (Hz)
7
8
9
10
20
Tasa de símbolo: 2Megasímbolos/s Tipo de pulso: Raíz cuadrática de coseno alzado (SRRC) factor de caída (roll off) α=0.4 Frecuencia de portadora: fc = 12Mhz Tasa de muestreo: f s=10 Megamuestras/s. Modulación: QPSK M = 10; % M es el factor de sobremuestreo
0
Modifique el script para implementar un sistema con un pulso de transmisión rectangular de duración igual a un periodo de símbolo T, en lugar de un pulso SRRC (la función en Matlab rectwin puede ser útil). Dibuje la psd de la señal pasa banda y comente lo que observa. Cómo se relacionan sus observaciones con la psd teórica dada por (2)?.
12. Implementación del Receptor El script en Matlab rx_lin.m implementa un receptor idealizado que toma la señal pasa banda generada por tx_lin.m como entrada. Las operaciones realizadas para recuperar los símbolos originales son:
Tasa de símbolo: 2Megasímbolos/s Tipo de pulso: Raíz cuadrática de coseno alzado (SRRC) factor de caída (roll off) α=0.4 Frecuencia de portadora: fc = 12Mhz Tasa de muestreo: f s=10 Megamuestras/s. Modulación: QPSK
1Demodulación I y Q
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
-10
-20
-30
-40
-50
-60 0
2
4
6
8 10 12 Frequency (Hz)
14
3Muestreo a la tasa de baudios Observe que la sinusoide generada para el proceso de demodulación es sincronizada en frecuencia y fase con la sinusoide generada en transmisión; en la práctica, por supuesto, algún subsistema de recuperación 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 simulación idealizada, pero en la práctica la recuperación de reloj es obligatoria.
0
) z H / B d ( y c n e u q e r f / r e w o P
2Filtrado Acoplado
16
18
20
Ejercicio 2: Primero se va a explorar los efectos del ruido aditivo en la señal recibida
Usando un pulso SRRC con factor de caída de 0.4, visualmente verifique los datos demodulados por medio de plot( simbI + i*simbQ , ’o’);
[C,constel] = genera_constel('qpsk',0)
4 3 2 1 0 -1 -2 -3 -4 -4
Use diferentes constelaciones: QPSK; 8-PSK; M-QAM con M=16, 32 y 64; M-PSK con M=16, 32 y 64.
-3
-2
-1
0
1
2
3
4
[C,constel] = genera_constel('32qam',0);
1.5
1 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
-6 -6
[C,constel] = genera_constel('8 psk',0);
-4
-2
0
2
4
6
[C,constel] = genera_constel('64qam',0);
1.5
8
1
6 0.5 4 0
2 0
-0.5
-2 -1 -4 -1.5 -1.5
-1
-0.5
0
0.5
1
1.5
-6 -8 -8
-6
-4
-2
0
2
4
6
8
[C,constel] = genera_constel('16qam',0);
Ajuste la constelación en 16-QAM y estime la potencia de la señal pasa banda. Adicione algo de ruido Gaussiano a la señal pasa banda con la ayuda del comando randn, de manera que la primer línea del rx_line.m llegue a ser:
4 3 2 1
npwr = ***; r = x + sqrt(npwr) * randn(size(x));
0 -1 -2 -3 -4 -4
-3
-2
npwr = 30;
-1
0
1
2
3
4
Welch Power Spectral Density Estimate 25
-15
20
-20
15 -25 10
) z H / B d (
5
y c n e u q e r f / r e w o P
0 -5 -10
-30 -35 -40 -45
-15 -50
-20 -25 -30
-20
-10
0
10
20
-55 0
30
%rx lin.m npwr = var(x)/1000; r = x + sqrt(npwr) * randn(size(x));
2
4
6
8 10 Frequency (Hz)
12
14
16
Grafica de psd a 20 db 1.5
CON SNR =30dB
1
Welch Power Spectral Density Estimate -15
0.5
-20 -25
0 ) z H / B d ( y c n e u q e r f / r e w o P
-30 -35
-0.5
-40 -1
-45 -50
-1.5 -1.5
-55 -60 -65 0
-1
-0.5
0
0.5
1
1.5
Constelación de 16-qam snr 20db 2
4
6
8 10 Frequency (Hz)
12
14
16 Welch Power Spectral Density Estimate -15
Grafica de psd a 30 db 1
-20 0.8 ) z H / B d (
0.6
y c n e u q e r f / r e w o P
0.4 0.2 0
-25
-30
-0.2 -35 -0.4 -0.6 -40 -0.8 -1 -1
-0.8
-0.6
-0.4
-0.2
0
0.2
Constelación de 16-qam snr 30db
0.4
0.6
0.8
1
0
2
4
6
8 10 Frequency (Hz)
Grafica de psd a 10 db
12
14
16
5
1.5
1
0
0.5
0
-0.5
-5 -5
-4
-3
-2
-1
0
1
2
3
4
5
-1
-1.5 -1.5
-1
-0.5
0
0.5
1
1.5
Símbolos obtenidos para un error de fase de 90°.
Constelación de 16-qam snr 10db 5
Tabla
0
3)observando los efectos de sincronización. mediante Matlab. Introduciendo un error de fase fijo en la etapa de conversión hacia abajo en el receptor se visualizara los símbolos obtenidos y la respuetas frente a cada angulo.
Símbolos obtenidos para un error de fase de 30°. 4 3
-5 -5
-4
-3
-2
-1
0
1
2
3
4
5
El receptor demodula con un desfase debido a esto se pueden presentar errores en la comunicación, se observa a continuación los efectos que se tienen al introducir un error de frecuencia fijo. Con ∆f=50Hz.
2 1
. Símbolos obtenidos para un error de frecuencia de 50Hz.
0 -1
3
-2
-3
2
-3 -4 -4
x 10
-3
-2
-1
0
1
2
3
4
1
Símbolos obtenidos para un error de fase de 45°.
-1
.
-2
0
-3 -5
-4
-3
-2
-1
0
1
2
3
4
5 x 10
-3
Con un error de frecuencia fijo de 1KHz, 4 3
la señal utilizada no presenta componentes centradas en 12 MHz,y por tanto la señal demodulada presenta demasiado
2 1
Señal con componente centrada en 12MHz.
0
Welch Power Spectral Density Estimate 0
-1 -2
-10
-3 -4 -4
-3
-2
-1
0
1
2
3
4
Si el receptor usa un error frecuencia fijo se pueden presentar errores en la comunicación debido a que puede aumentar el ruido para algunas frecuencias bajas frecuencias.
4. Explore el efecto de interferencia de canal adyacente (ACI).
) z H / B d ( y c n e u q e r f / r e w o P
-20 -30
-40 -50
-60
0
2
4
6
8 Frequency (Hz)
10
12
14
16
Símbolos obtenidos de la señal compuesta generada. 4 3
16-QAM (con Rs=2Megabaudios/s, factor de caída α=0.4 y fs=40Megamuestras/s).
2 1 0 -1 -2
Señal compuesta genereda
-3
Welch Power Spectral Density Estimate
-4 -4
0
y c n e u q e r f / r e w o P
-2
-1
0
1
2
3
4
Gráfica #4.4. Símbolos de la componente centrada en 12MHz.
-10 ) z H / B d (
-3
-20
-30
En una señal centrada en 12MHz los simbolos de la señal demodulada, estan en una zona limpia(constelación).
-40
-50
-60 0
2
4
6
8 10 Frequency (Hz)
12
14
16
Señal demodulada, simbolos adquiridos.
SNR(db) 30 20 10
2 1.5 1 0.5 0
C/N(.dB) 40 31 21
MER(.d.B) 46.02 34.91 23.22
-0.5 -1 -1.5 -2 -2
-1.5
-1
-0.5
0
0.5
1
1.5
2
La tasa de error de modulación (MER) es una medida de la relación señal-ruido (SNR) en una señal modulada digitalmente. Como SNR, MER se suele expresar en decibelios (dB). MER sobre el número de símbolos, 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 % 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)) ;
Donde es el componente I del símbolo j-recibió Q es el componente del símbolo j-recibió es el componente ideal de que el símbolo de la j-ésima recibido
% 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)) ;
es el componente ideal Q del símbolo jésimo recibido.
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 señal de ruido . Los efectos mas comunes en los diagramas de constelación son Limpia, con operación no lineal, con desbalanceo de los ejes IQ , interferencia de onda continua, con ruido, con fuga de señal, con frecuencia portadora inestable. %La tasa de error de modulación (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)
curva de probabilidad de error de simbolo para 16-qam
0
10
-1
10
-2
10
-3
10
% generacion de simbolos % -----------------ipPhase = randsrc(1,N,thetaMpsk); ip = exp(j*ipPhase); %fase s = ip; % se normaliza la energia a 1
-4
10
teoria simulacion
-5
10
0
5
10
15 Es/No, dB
20
25
Grafica 20) resultados de SNR tomando
30
CONCLUSIONES N = 3000; % numero de simbolos M = 20; % factor de sobremuestreo
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 través del siguiente código 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
1. Con técnicas de modulación digital como M- QAM se optimiza mas el espectro para que la comunicación sea mas confiable y no se presente tanto ruido y perdida de información como ocurre para el caso de la modulación análoga. 2. Si varian los parámetros del receptor como fase y frecuencia se puede variar los efectos de demodulación haciendo que la señal tenga presencia o no de ruido. 3. Este tipo de modulación 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 constelación 16-qam con ruido a llevarla a una constelación limpia , a medida q se presenta mayor numero de afecciones(errores) disminuye la calidad de la señal 5. En el análisis de la tasa de error de bits, se puede concluir que entre más grande sea el prefijo cíclico, 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 modulación 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