| constelacion(ruta, TX, fase, nTrama, bitsTrama, frec)
|
function constelacion(ruta, TX, fase, nTrama, bitsTrama, frec)
%------------------------------------------------------------------------
%| function constelacion(ruta, TX, fase, nTrama, bitsTrama, frec)
%------------------------------------------------------------------------
%| Funcin que representa un diagrama de ojos. Extrae la informacion
%| de linea de os ficheros generados tanto por el transmisor como el
%| receptor BPSK
%|
%| NO REALIZA VALIDACIN DE PARMETROS DE ENTRADA
%|
%| Entradas:
%| 1.- RUTA= ruta donde se encuentran los ficheros.
%|
%| 2.- TX: entero que indica el tipo de representacion a realizar
%| 0 = diagrama de ojos del RX a pantalla completa
%| 1 = diagrama de ojos del TX a pantalla completa
%| 2 = diagrama de ojos del TX en pantalla superior
%| y RX en la pantalla inferior
%| 3 = diagramas de ojos del TX y RX superpuestos en la
%| misma pantalla.
%| 3.- FASE = Origen de fases
%| 4.- N_TRAMA = entero con el nmero de trama a representar
%| 5.- BITS_TRAMA = n de bits/trama
%| 6.- FREC = vector fila [Rb fi fs].
%-------------------------------------------------------------------------
% Autor: Cesar Delgado
% Fecha: 19-Abril-2.004
%-------------------------------------------------------------------------
% 1.- Calculos previos
%---------------------
%>>>>>> 1.1.- Forma de Representacion
Tbit = frec(3)/(frec(1)); % N muestras / bit.
N = 3; % N Periodos / ventana => Ojos
fase = fase*pi/180;
% 2.- Creamos y ubicamos la ventana
%----------------------------------
switch TX,
case 0,
% 1.- Representamos Constelacion del Receptor
%--------------------------------------------
%>>>>>> 1.1.- Extraemos seal de Linea del Receptor
[b, signal] = extraeSignal(ruta, 7, nTrama, bitsTrama, frec, -1);
%>>>>>> 1.2.- Desplazamos segun origen de fases
I = signal.*cos(fase+pi/4); %I = I./max(abs(I));
Q = signal.*sin(fase+pi/4); %Q = Q./max(abs(Q));
%>>>>>> 1.3.- Calculamos energias de bit
I = enerBit(I,Tbit);
Q = enerBit(Q,Tbit);
%>>>>>> 1.4.- Representamos seal
fig = scatterplot(I+j.*Q, 1,0,'bd');
hold on;
% 2.- Representamos Constelacion del Transmisor
%--------------------------------------------
%>>>>>> 2.1.- Extraemos seal de Linea del Transmisor
I = []; Q = [];
[b, I] = extraeSignal(ruta, 2, nTrama, bitsTrama, frec, -1);
[b, Q] = extraeSignal(ruta, 3, nTrama, bitsTrama, frec, -1);
%>>>>>> 2.2.- Desplazamos segun origen de fases
I = I.*cos(fase+pi/4); %I = I./max(abs(I));
Q = Q.*sin(fase+pi/4); %Q = Q./max(abs(Q));
%>>>>>> 2.3.- Calculamos energias de bit
I = enerBit(I,Tbit);
Q = enerBit(Q,Tbit);
%>>>>>> 2.4.- Representamos seal
scatterplot(I+j.*Q, 1, 0, 'ro',fig);
legend('Receptor','Transmisor');
set(fig,'Visible','On','Number','off', ...
'Name','Constelacion: Banda Base del Transmisor y Receptor', ...
'NextPlot','Replace');
grid on;
hold off;
case 1, %%%%%%%%%%%% REPRESENTACION CONTELACION LABORATORIO
% 1.- Representamos Constelacion IQ
%--------------------------------------------
%>>>>>> 1.1.- Extraemos seal de Linea del Receptor
[b, I] = extraeSignal(ruta, 2, nTrama, bitsTrama, frec, -1);
[b, Q] = extraeSignal(ruta, 3, nTrama, bitsTrama, frec, -1);
%>>>>>> 1.2.- Calculamos energias de bit
I = enerBit(I,Tbit);
Q = enerBit(Q,Tbit);
%>>>>>> 1.3.- Representamos seal
fig = scatterplot(I+j.*Q, 1,0,'bd');
hold on;
% 2.- Representamos Constelacion IQ compensadas
%------------------------------------------------
%>>>>>> 2.1.- Extraemos seal de Linea del Transmisor
I = []; Q = [];
[b, I] = extraeSignal(ruta, 4, nTrama, bitsTrama, frec, -1);
[b, Q] = extraeSignal(ruta, 5, nTrama, bitsTrama, frec, -1);
%>>>>>> 2.2.- Calculamos energias de bit
I = enerBit(I,Tbit);
Q = enerBit(Q,Tbit);
%>>>>>> 2.3.- Representamos seal
scatterplot(I+j.*Q, 1, 0, 'ro',fig);
legend('IQ','IQ Compensadas');
set(fig,'Visible','On','Number','off', ...
'Name','Constelacion: Banda Base del Transmisor y Receptor', ...
'NextPlot','Replace');
grid on;
hold off;
otherwise, %%%%%%%%%% REPRESENTACION CONSTELACIONES SUPERPUESTAS
% 1.- Representamos Constelacion del Receptor
%--------------------------------------------
%>>>>>> 1.1.- Extraemos seal de Linea del Receptor
[b, signal] = extraeSignal(ruta, 7, nTrama, bitsTrama, frec, -1);
%>>>>>> 1.2.- Desplazamos segun origen de fases
I = signal.*cos(fase+pi/4); %I = I./max(abs(I));
Q = signal.*sin(fase+pi/4); %Q = Q./max(abs(Q));
%>>>>>> 1.3.- Calculamos energias de bit
I = enerBit(I,Tbit);
Q = enerBit(Q,Tbit);
%>>>>>> 1.4.- Representamos seal
fig = scatterplot(I+j.*Q, 1,0,'bd');
hold on;
% 2.- Representamos Constelacion del Transmisor
%--------------------------------------------
%>>>>>> 2.1.- Extraemos seal de Linea del Transmisor
I = []; Q = [];
[b, I] = extraeSignal(ruta, 2, nTrama, bitsTrama, frec, -1);
[b, Q] = extraeSignal(ruta, 3, nTrama, bitsTrama, frec, -1);
%>>>>>> 2.2.- Desplazamos segun origen de fases
I = I.*cos(fase+pi/4);
Q = Q.*sin(fase+pi/4);
%>>>>>> 2.3.- Calculamos energias de bit
I = enerBit(I,Tbit);
Q = enerBit(Q,Tbit);
%>>>>>> 2.4.- Representamos seal
scatterplot(I+j.*Q, 1, 0, 'ro',fig);
legend('Receptor','Transmisor');
set(fig,'Visible','On','Number','off', ...
'Name','Constelacion: Banda Base del Transmisor y Receptor', ...
'NextPlot','Replace');
grid on;
hold off;
end;
|
|