No BSD License  

Highlights from
BPSK Simulator for Low Rate Transmisions

image thumbnail
from BPSK Simulator for Low Rate Transmisions by César Delgado González
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 at files@mathworks.com