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.

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 at files@mathworks.com