Está en la página 1de 8

UNIDADES TECNOLOGICAS DE SANTANDER

INGENIERIA EN TELECOMUNICACIONES

PRACTICA N° 9 COMPARACIÓN DE SEÑALES OQPSK Y DSSS-


QPSK EN EL DOMINIO DEL TIEMPO Y DE LA FRECUENCIA

OMAR RICARDO SILVA CORTES


DIEGO ALEJANDRO ESTEVEZ VARGAS
EDER JAHYR ACUÑA FONSECA

DOCENTE: JOHAN LEANDRO TELLEZ GARZON

FACULTAD DE CIENCIAS NATURALES E INGENIERIAS


1) Defina los siguientes parámetros de referencia para el desarrollo de todo el
laboratorio. Utilice R= 64 bps, frecuencia de muestreo Fs=4096 y numero de
muestras N= 8192. Puede usar otros parámetros siempre y cuando todos sean
múltiplos de 2n,, el objetivo es que la cantidad de muestras de las señales en
función del tiempo discreto sea siempre un numero entero. La información a
transmitir puede ser una secuencia aleatoria.

Código

%% Definir parametros de muestreo


Fs=4096; % cantidad total de muestras (1000 por cada
periodo)
Ts=1/Fs;
N=8192;
% OJOOO Fs, R y N deben ser multiplos de 2 ej. 4096(Fs)
y 64(R) y N(4096)
R = 64; % Frequencia de la senal digital
Tb=1/R; % Tiempo de bit
NbitsTX=(N*R)/Fs, % Numero de bits a TX, N*Ts = tiempo
de simulacion
NporBit=Tb/Ts, % Numero de muestras por bit
n_ = (0:N-1)*Ts; % Amuestras de tempo
2) Implementar en MATLAB con ayuda del paquete de comunicaciones el
esquema de modulación OQPSK.

%Código

% Crear los datos binarios y graficarlos

dataBin = randi([0 1],NbitsTX,1);


% MODULADOR BPSK
%modulador = comm.BPSKModulator;
%modulador.PhaseOffset = pi/8;
modulador = comm.OQPSKModulator(pi/16, 'BitInput',true);
% Modulate and plot the data
sinalOQPSK = step(modulador, dataBin);
% grafico da costelacion
scatterplot(sinalOQPSK), grid on,

Scatter plot
1

0.8

0.6

0.4

0.2
Quadrature

-0.2

-0.4

-0.6

-0.8

-1
-1 -0.5 0 0.5 1
In-Phase
3) Realizar la gráfica de la señal OQPSK banda base en el dominio del
tiempo (recuerde considerar Fs y N)

%generacion de la senal banda base sinalOQPSK (g(t) o


envolvente compleja)

w_n=zeros(1,N);
Q=NbitsTX; % numero de simbolos
for sim1=0:Q-1
w_n(1,1+sim1*NporBit:
(sim1+1)*NporBit)=sinalOQPSK(sim1+1,1); % aqui el tiempo
de bit o tiempo de simbolo
end
figure (2),
subplot(4,1,1), plot (n_ , real(w_n), '--r'), grid on,
hold on,
title('OQPSK en Banda base w(n) en funcion del tiempo')
subplot(4,1,2), plot (n_ , imag(w_n), '-b'), grid on,
hold off;

4) Realizar la trasformada de Fourier y graficar el espectro resultante.

% Grafica transformadas FFT y nuestra implementación

W_k = fft(w_n);
abs_W_k = abs(W_k/N);
P1_W_k = abs_W_k(1:N/2+1);
P1_W_k(2:end-1) = 2*P1_W_k(2:end-1);
f = Fs*(0:(N/2))/N;
figure (3),
subplot(2,1,1), plot(f,P1_W_k)
title('Espectro OQPSK banda base de w(f)')
xlabel('f (Hz)')
ylabel('|P1_W_k(f)|')

5) Implemente la técnica DSSS-OQPSK de acuerdo a los chips utilizados en


el laboratorio 8 (ESPECTRO ENSANCHADO DE SECUENCIA DIRECTA
(DSSS) – OQPSK). La cantidad de símbolos a definir es un cuarto de la
cantidad total de bits transmitidos.

%Y = oqpskmod(X)
chip(1).s=[1 1 0 1 1 0 0 1 1 1 0 0 0 0 1 1 0 1 0 1 0 0 1 0
0 0 1 0 1 1 1 0]';
chip(2).s=[1 1 1 0 1 1 0 1 1 0 0 1 1 1 0 0 0 0 1 1 0 1 0 1
0 0 1 0 0 0 1 0]';
chip(3).s=[0 0 1 0 1 1 1 0 1 1 0 1 1 0 0 1 1 1 0 0 0 0 1 1
0 1 0 1 0 0 1 0]';
chip(4).s=[0 0 1 0 0 0 1 0 1 1 1 0 1 1 0 1 1 0 0 1 1 1 0 0
0 0 1 1 0 1 0 1]';
chip(5).s=[0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 0 1 1 0 1 1 0 0 1
1 1 0 0 0 0 1 1]';
chip(6).s=[0 0 1 1 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 0 1 1 0 1
1 0 0 1 1 1 0 0]';
chip(7).s=[1 1 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 0
1 1 0 1 1 0 0 1]';
chip(8).s=[1 0 0 1 1 1 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0 1 0
1 1 1 0 1 1 0 1]';
chip(9).s=[1 0 0 0 1 1 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 1 1 1
0 1 1 1 1 0 1 1]';
chip(10).s=[1 0 1 1 1 0 0 0 1 1 0 0 1 0 0 1 0 1 1 0 0 0 0
0 0 1 1 1 0 1 1 1]';
chip(11).s=[0 1 1 1 1 0 1 1 1 0 0 0 1 1 0 0 1 0 0 1 0 1 1
0 0 0 0 0 0 1 1 1]';
chip(12).s=[0 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0 1 1 0 0 1 0 0
1 0 1 1 0 0 0 0 0]';
chip(13).s=[0 0 0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0 1 1 0
0 1 0 0 1 0 1 1 0]';
chip(14).s=[0 1 1 0 0 0 0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 0 0
0 1 1 0 0 1 0 0 1]';
chip(15).s=[1 0 0 1 0 1 1 0 0 0 0 0 0 1 1 1 0 1 1 1 1 0 1
1 1 0 0 0 1 1 0 0]';
chip(16).s=[1 1 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 1 1 1 0 1 1
1 1 0 1 1 1 0 0 0]';

% Crear simbolos para enviar en DSSS


Nsym=NbitsTX/4,
dataSym = randi([0 15],Nsym,1);
%dataSym(1:16)',
valor=zeros(32,1);
% DSSS: Up-SPREAD
dataDSSS=[];
for sim=1:Nsym
valor=0;
valor=chip(dataSym(sim)+1).s;
dataDSSS=[dataDSSS; valor];
end
% Modulacion del la senhal DSSS en OQPSK
modulador2 = comm.OQPSKModulator(pi/16, 'BitInput',true);
sinalDSSS = step(modulador2, dataDSSS);
NporVChip=Fs/(8*R), % Numero de muestras por valor de chip
NchipsTX=size(sinalDSSS,1),
6) Graficar la señal DSSS-OQPSK (banda base) en el dominio del tiempo.
Recuerde usar los parámetros definidos en 1).

Código:

k2 = fft(w_n2);
abs_k2 = abs(k2/N);
P1_k2 = abs_k2(1:N/2+1);
P1_k2(2:end-1) = 2*P1_k2(2:end-1);
fv2 = Fs*(0:(N/2))/N;

figure(3)
subplot(2,1,1)
plot(n_, real(bandabase),'k'), title('Señal de banda
estrecha'),xlabel('TIEMPO'),ylabel('AMPLITUD');

7) Graficar la señal DSSS-OQPSK (banda base) en el dominio de la


frecuencia.

subplot(2,1,2)
plot(n_,real(w_n2),'r'), title('Señal de espectro
ensanchado'),xlabel('TIEMPO'),ylabel('AMPLITUD');
8) Comparar gráfica y analíticamente las señales en banda estrecha y
espectro ensanchado tanto en el dominio del tiempo como en el de la
frecuencia.

Código:

figure(4)
subplot(2,1,1)
plot(P1_tfourier(2:end-1),'g'), title('Señal de banda
estrecha'),xlabel('F(Hz)'),ylabel('P (Watts) ');
subplot(2,1,2)
plot(P1_k2(2:end-1),'m'), title('Señal de espectro
ensanchado'),xlabel('Frecuencia'),ylabel('potencia');

9) Conclusiones

También podría gustarte