No BSD License  

Highlights from
BPSK Simulator for Low Rate Transmisions

image thumbnail

BPSK Simulator for Low Rate Transmisions

by

 

01 Jun 2004 (Updated )

BPSK Simulator for didactical purposes. Systemic coding style.

pruebaLab2.m
clear all, clc
ruta = 'D:\Estudios\UPM Superior\4Teleco\2Cuatrimestre\Lab. Trat. Dig. Seal\BPSK\Cdigo\Ficheros\test\';

%%%%%%%%%%%% Definicin de Ctes.
pENTRE   = 1; pFILA   = 1; pCOL    = 2;
pCRC     = 2; pTRAMO  = 1; pCODE   = 2;
fINFO    = 0; fTRAMA  = 1; fSIGNAL = 2;
parametros = [14, 10; 7, 4]; 
metodo     = 'hamming';
fichero = {'test1.mat','test2.mat','test3.mat','test4.mat'};  



contMUESTRA  = 1;   % Contador de Muestras
MUESTRAS_BIT = 3;   % N muestras/bit
muestraANT   = 4;   % Muestra Anterior
ESTADO       = 5;   % Banera: 0 = recuperacin sincronismo; 1 = recepcin trama
valorUNO     = 6;   % Voltaje que se le asigna al "1" lgico
valorMUESTRA = 7;   % Suma de los voltajes de las muestras en 1 smbolo
contCAB      = 8;   % N que especificael nmero de bits de la cabecera BOF rx.
posCAB       = 9;   % Donde comenzamos a guardar la 1 cabecera  BOF
BOD          = [1 1 0 0 1 1 0 0];
contMUESTRA  = 1;   % Contador de Muestras
MUESTRAS_BIT = 3;   % N muestras/bit
muestraANT   = 4;   % Muestra Anterior
ESTADO       = 5;   % Indica el estado del automata
trama        = [];
BOD          = [1 1 0 0 1 1 0 0];
pFILTRO      = 1;
pVCO         = 2;
pBAUDIO      = 3;
valorUNO     = 6;

opcion = 2;
fichero = {'test1.mat','test2.mat','test3.mat','test4.mat'};  
fileIn  = char(fichero(opcion));


%%%%%%% Carga de Fichero
load([ruta fileIn]);
lonSignal = length(I);
save([ruta 'paramTX.mat'],'lonSignal');

%%%%%%% Constantes
L       = 10;
pFILTRO = 1;
pVCO    = 2;
pBAUDIO = 3;
ESTADO  = 5;
pMEMO   = 1;

% 1.- Situacin de reposo inicial
%--------------------------------
memoria = zeros(3,20); 
IQc     = [];
decisor = [];
primera = 1;

% 2.- Inicializacin de variables de bucle
%-----------------------------------------
comienzo  = 1; % Comienza la trama?
load([ruta 'paramTX.mat'],'lonSignal');

% 3.- Recuperamos los Bits
%-------------------------
for k=1:lonSignal, 
   
   % 3.1.- Recuperamos trama   
   [aux, memoria, QIc, dec] = ...
                                sincroBaudio(I(k),Q(k), L, memoria);
   trama = [trama aux];
   IQc = [IQc QIc]; 
   decisor = [decisor dec];
   
   % 3.2.- Guardamos seales utiles
   faseEstimada(k) = memoria(pVCO,pMEMO); 
   errorFase(k)    = memoria(pFILTRO,pMEMO);       
   
 end;
  
 guardar(ruta , 'tramas.rx'      , trama       , 0 , 1);
 
 nivEnlaceRX;
 nivPresenRX;
 
    
  

Contact us