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.

creaGenerales.m
%------------------------------------------------------------------------
%|  	creaGenerales
%------------------------------------------------------------------------
%|      Script que genera todos los controles del marco de parmetros
%|   generales.
%------------------------------------------------------------------------
%|   Autor: Cesar Delgado
%|   Fecha: 19-Abril-2.004
%------------------------------------------------------------------------

%  Controles del Marco de Parmetros Generales (Rb, fs, fi)
%##############################################################
%         1.- Posiciones y Ttulos
%-----------------------------------
%      Left  ,  Bottom ,  Width,   Height
pos = [0.6860,  0.94   ,   0.1 ,    0.03]; % Posicin del control + izqdo.
titulos = {'Vel.Binaria'; 'Frec.Intermedia';'Frec.Muestreo';};
pops    = 'Hz|kHz';
tamTexto = [0.1, 0.03];% Anchura, Altura
tamEdit  = [0.05, 0.035];
fq       = [f(pRB), f(pFI), f(pFS)];

%         2.- Creacin de Controles
%------------------------------------
for k=1:length(titulos),       
   %%%%%%%%%%%%% 2.1.- Ttulos sobre los editables
   uicontrol('Style','text',...
	          'Units','normalized',...
             'String',char(titulos(k)),...
             'HorizontalAlignment', 'left',...
             'FontWeight','bold',...
             'FontName','Arial',...
             'Position',pos, ...
	          'Backgroundcolor',[.7 .7 .7]);
          
    %%%%%%%%%%%%% 2.2.- Editables con los parmetros generales
    pos = [pos(1,1),  pos(1,2)-tamTexto(2), tamEdit(1), tamEdit(2)];
    Texto = sprintf('evento=%d; actualizaInterfaz;', contEventos);
    contEventos = contEventos+1;
    botFrec(k)=uicontrol('Style','edit',...
	           'Units','normalized',...
              'Position',pos, ... 
              'String',num2str(fq(k)),...
              'Enable','On',...
              'Foregroundcolor',[0 0 0],...
              'Backgroundcolor',[1 1 1],...
              'Callback',Texto);
  
           
  %%%%%%%%%%%%%% 2.3.- Desplegables con las unidades (Hz | kHz)
   % En el caso de la velocidad binaria solo se admiten los bps (Bits/Segundo)         
   if k>1, 
         pos = [pos(1,1)+tamEdit(1)+0.001, pos(1,2), tamEdit(1), tamEdit(2)];
         Texto = sprintf('evento=%d; actualizaInterfaz;', contEventos);
         contEventos = contEventos+1; 
         udsFrec(k)=uicontrol('Style','popupmenu',...
	                'Units','normalized',...
                   'Position',pos, ... 
                   'String',pops,...
                   'Enable','On',...
                   'Foregroundcolor',[0 0 0],...
                   'Backgroundcolor',[1 1 1],...
                   'Callback',Texto);
           pos = [pos(1,1)+tamEdit(1)+0.02, pos(1,2)+tamTexto(2), tamTexto(1), tamTexto(2)];             
                
    % En el resto de los casos, Hz | kHz
    else,  
       pos = [pos(1,1)+tamEdit(1)+0.001, pos(1,2), tamTexto(1)-0.07, tamTexto(2)];
       uicontrol('Style','text',...
	          'Units','normalized',...
             'String','bps',...
             'HorizontalAlignment', 'Left',...
             'Position',pos, ...
             'Backgroundcolor',[.7 .7 .7]);
       pos = [pos(1,1)+tamTexto(1)-0.07+0.003, pos(1,2)+tamTexto(2), tamTexto(1), tamTexto(2)];
    end;    
end;

% 3.- Eliminacin de Variables Intiles
%--------------------------------------
clear pos titulos pops tamTexto tamEdit k fq Texto

Contact us