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.

BinaryToTXT.m
function texto= binaryToTXT(binario, ruta, nBits)
%------------------------------------------------------------------------
%| function texto= binaryToTXT(binario, ruta, nBits)
%------------------------------------------------------------------------
%|    Funcin que realiza la traduccin de  binario a texto. 
%|    Toma como entrada un vector fila de "0" y "1" y genera un
%| fichero de saluda llamado 'texto.rx'.
%|
%|    Entradas:
%|       1.- BINARIO = vector con la cadena de bits a decodificar 
%|       2.- RUTA = cadena de caracteres con la ruta 
%|                   donde guardar el fichero.
%|                   Valor por defecto: ''
%|       3.- N_BITS= nmero de bits a usar en la codificacin
%|                   Valor por defecto: 8
%|
%|      OJO: al cargar el fichero 'texto.rx' se debe transformar a carcter !!!!!!!
%|            char(<salida fichero>)
%-------------------------------------------------------------------------
%   Autor: Cesar Delgado
%   Fecha: 19-Abril-2.004
%-------------------------------------------------------------------------

%   1.- Validacin de parmetros
%-----------------------------------------------------------------
if nargin < 1,
   disp('ERROR: faltan parmetros en TXTtoBinary');
   return;
elseif isempty(binario),
   disp('ERROR: faltan parmetros en TXTtoBinary');
   return;
elseif nargin < 2,
   ruta = '';
   nBits = 8;
elseif nargin < 3
   nBits=8;
elseif isempty(nBits), 
   nBits=8; 
end;

%   2.- Eliminamos el Padding introducido por el TX
%--------------------------------------------------
columnas = nBits;
filas    = floor(length(binario)/nBits);

%    2.1.- Si no hay un nmero entero de bits, 
%             recortamos tamao al nmero entero menor
binario((nBits*filas)+1:length(binario))=[];

%    2.2.- Eliminamos todos los caracteres 0 0 0 0 0 0 0 0.
padding = 1;
while padding,
   if binario(length(binario)-nBits+1:length(binario))==zeros(1,nBits),
      binario(length(binario)-nBits+1:length(binario)) = [];
   else
      padding=0;
   end;
end;



%   2.- Transformamos de vector fila a matriz (N char x 8 bits) 
%-----------------------------------------------------------------  
columnas = nBits;
filas    = length(binario)/nBits;
binario = reshape (binario, columnas, filas)';

%   3.- Mecanismo de proteccion contra errores a nivel de aplicacion
%-------------------------------------------------------------------
if nBits>8,
    pos = find(binario(:,1)==1);
    aux = (~(binario(pos,1:nBits)));
    binario(pos,1:nBits) = aux;
end;

%   4.- Convertimos binario a texto 
%-----------------------------------------------------------------
texto     = char(bi2de(binario))';

%   5.- Guardamos texto en fichero
%-----------------------------------------------------------------
guardar(ruta,'texto.rx',texto,0,1);

Contact us