%------------------------------------------------------------------------
%| inicializa
%------------------------------------------------------------------------
%| Script que inicializa todas las variables
%| del Simulador de sistema BPSK.
%|
%| Existe una variable que hay que preconfigurar, y es la ruta
%| donde encontrar y almacenar los ficheros que requiere el programa.
%-------------------------------------------------------------------------
%| Autor: Cesar Delgado
%| Fecha: 19-Abril-2.004
%-------------------------------------------------------------------------
%########################################################################
%####### 1.- Ctes
%########################################################################
% MOD I-Q ; GENERAL ; PLL ; CRC ; ENTRELAZA.; GR�FICAS ; FILTROS
pPOT = 1; pRB = 1; pKV = 1; pFILA = 1; pTRAMO = 1; pSUP = 1; pBB=1;
pS_N = 2; pFI = 2; pWN = 2; pCOL = 2; pCODE = 2; pINF = 2;
pFASE = 3; pFS = 3; pPSI = 3;
pDESV = 4;
pROLLOFF= 5;
%%%%%%%% Capturamos el path donde se encuentra nuestro programa
if exist('Ficheros','dir'),
ruta = which('creaInterfaz.m');
ruta(length(ruta)-31:length(ruta)) = [];
ruta = [ruta 'Ficheros/'];
else
Texto = {'ERROR: no se encuentra la ruta al programa. Posibles motivos: '; ...
' 1.- No ha incluido la ruta en el path del Matlab ';
' 2.- No ha creado directorio para los Ficheros ' ;
' ---- Inicializa.m ---- ';};
uiwait(errordlg(Texto,'Simulador BPSK'));
close all, clear all, clc
error('ERROR EN RUTA: revise path del Matlab');
end;
%########################################################################
%#### 2.- Variables del Transmisor
%########################################################################
%%%%%%%%%%%% Valores por Defecto
if ~exist([ruta 'paramTX.mat']),
%%% 2.1.- Parámetros Generales
%-----------------------------
% [ Rb , fi , fs ]
% f = [2^10, 2^12, 2^15];
f = [2^10, 3.5e3, 2^15];
%%% 2.2.- Entrelazado
%--------------------
% [Filas, Columnas]
Entrelazado = [14 , 10];
%%% 2.3.- CRC
%------------
% [ Long.Tramos, Long.C�digo ]
CRC = [ 7 , 4 ];
metodoCRC = 'hamming';
%%% 2.4.- Modulador I-Q
%-----------------------
% [P_tx , S/N, Origen Fase, Desv. Frec., Factor Roll Off ]
IQ = [ 10 , 25, -22.5 , 0 , -0.6 ];
% [ dBm dB � % adimensional ]
%%% 2.5.- N� Tramas procesadas por el TX
%---------------------------------------
maxTrama = 10;
else,
load([ruta 'paramTX.mat']);
f(pFS) = parametros(1,1);
f(pFI) = parametros(4,2);
f(pRB) = parametros(1,2);
Entrelazado(pFILA) = parametros(2,1);
Entrelazado(pCOL) = parametros(2,2);
CRC(pTRAMO) = parametros(3,1);
CRC(pCODE) = parametros(3,2);
IQ(pFASE) = parametros(4,1);
IQ(pDESV) = delta;
IQ(pROLLOFF)= Roll_Off;
IQ(pPOT) = 10; % dBm sobre 50 Oh.
IQ(pS_N) = 25; % dB
L = f(pFS)/f(pRB);
bitsTrama = 50;
nBitsTot = lonSignal/L;
nTramas = ceil(nBitsTot/bitsTrama);
maxTrama = nTramas+(nTramas==1);
metodoCRC = metodo;
clear parametros delta Roll_Off lonSignal
clear metodo L nBitsTot nTramas
end;
%#############################################################
%#### 3.- Variables del Receptor
%#############################################################
%%% 3.1.- Filtros
%-----------------
% [ Banda Base, Frec. Intermedia ]
Orden = [ 30 , 30 ]; % Adimensional
Bw = [ 1e3 , 100 ]; % Hz
%%% 3.2.- Lazo del PLL
%---------------------
% [ Cte.Sensiv. VCO , Puls. Libre no Amortiguada, Factor Amortiguamiento ]
%parPLL = [ 19.5e3, 4e3, 1/sqrt(2) ];
%parPLL = [ 23e3, 2e3, 1/sqrt(2) ];
%parPLL = [ 23e3, 4.5e3, 1/sqrt(2) ];
parPLL = [ 25e3, 4.5e3, 1/sqrt(2) ];
% [ Kv(Hz/V) , wn (rad/sg) , Psi (adimensional)]
%%% 3.3.- Recuperaci�n de Reloj
%------------------------------
% N� de flancos para considerar el periodo de reloj
nFlancos = 10;
%#############################################################
%#### 4.- Variables de la Visualizaci�n
%#############################################################
% Gr�fica Superior ; Gr�fica Inferior
color = [ 'b' ; 'b' ];
% Gráficas: ON Superior OFF Inferior
grafActivas = [ 0 , 0 ];
% Ptos. Observacion: Superior Inferior
obsv = [ 1 , 1 ];
% Tiempo/Frecuencia: Superior Inferior
verF = [ 0 , 0 ];
% N� de Trama a ver
nTrama = 1;
bitsTrama = 20;