⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dpchmenu.m

📁 用matlab程序实现WCDMA系统的仿真
💻 M
字号:
function fig = DPCHMenu(sam)
%************************************************************
%
% Copyright 2002 The Mobile and Portable Radio Research Group
%
% Part of GUI for downlink simulator.
% Generates the menu for the other DPCHs and controls the 
% processing and navigation whil in that menu
%
%************************************************************

global NumDPCHcalls DPCHremainder CallNumber LastCallChannelCount
global DPCHformatHandle1 DPCHformatHandle2 DPCHformatHandle3 DPCHformatHandle4


load DPCHMenu

s1 = '|SF |Data bits|TPC bits|TFCI bits|Pilot bits|';
s2 = '|512|      4  |    2   |    0    |     4    |';
s3 = '|512|      2  |    2   |    2    |     4    |';
s4 = '|256|     14  |    2   |    2    |     2    |';
s5 = '|256|     14  |    2   |    0    |     4    |';
s6 = '|256|     12  |    2   |    2    |     4    |';
s7 = '|256|     10  |    2   |    0    |     8    |';
s8 = '|256|      8  |    2   |    2    |     8    |';
s9 = '|128|     34  |    2   |    0    |     4    |';
s10= '|128|     32  |    2   |    2    |     4    |';
s11= '|128|     30  |    2   |    0    |     8    |';
s12= '|128|     28  |    2   |    2    |     8    |';
s13= '| 64|     60  |    4   |    8    |     8    |';
s14= '| 32|    140  |    4   |    8    |     8    |';
s15= '| 16|    288  |    8   |    8    |    16    |';
s16= '|  8|    608  |    8   |    8    |    16    |';
s17= '|  4|   1248  |    8   |    8    |    16    |';

s=strvcat(s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17);

if CallNumber < NumDPCHcalls
   s21 = sprintf('DPCH #%d',4*(CallNumber-1)+1);
   s22 = sprintf('DPCH #%d',4*(CallNumber-1)+2);
   s23 = sprintf('DPCH #%d',4*(CallNumber-1)+3);
   s24 = sprintf('DPCH #%d',4*(CallNumber-1)+4);
   EnableString1 = 'on';
   EnableString2 = 'on';
   EnableString3 = 'on';
   EnableString4 = 'on';
else
   if DPCHremainder >= 1
      s21 =  sprintf('DPCH #%d',4*(CallNumber-1)+1);
      s22=[];
      s23=[];
      s24=[];
      EnableString1='on';
      EnableString2 = 'off';
      EnableString3 = 'off';
      EnableString4 = 'off';
   end
   if DPCHremainder >= 2
      s22 =  sprintf('DPCH #%d',4*(CallNumber-1)+2);
      s23=[];
      s24=[];
      EnableString2 = 'on';
   end
   if DPCHremainder >= 3
      s23 =  sprintf('DPCH #%d',4*(CallNumber-1)+3);
      s24=[];
      EnableString3 = 'on';
   end
   if DPCHremainder >= 4
      s24 =  sprintf('DPCH #%d',4*(CallNumber-1)+4);
      EnableString4 = 'on';
   end
end

bdwidth = 5;
topbdwidth=30;
ScreenSize = get(0,'ScreenSize');
Width = 560;
Height = 420;
right = round((ScreenSize(3)-Width)/2)-2*bdwidth;
bottom = ScreenSize(4)-Height-4*topbdwidth;

%Generate Figure
h0 = figure('Color',[0.8 0.8 0.8], ...
	'Colormap',mat0, ...
	'FileName','C:\MATLABR11\work\LGIChannel\DownlinkSimulator\gui\DPCHMenu.m', ...
	'PaperPosition',[18 180 576 432], ...
	'PaperUnits','points', ...
	'Position',[right bottom 560 420], ...
	'Tag','Fig1', ...
   'ToolBar','none');

%Generate Title
h1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[0.8 0.8 0.8], ...
	'FontSize',20, ...
	'ListboxTop',0, ...
	'Position',[63.75 276 269.25 24], ...
	'String','WCDMA Downlink Simulator', ...
	'Style','text', ...
	'Tag','StaticText1');

%Generate subtitle
h1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[ 0.8 0.8 0.8], ...
	'FontSize',14, ...
	'ListboxTop',0, ...
	'Position',[120.75 255 158.25 18.75], ...
	'String','Remaining DPCHs', ...
	'Style','text', ...
	'Tag','StaticText2');
% Objects for the First DPCH
h1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[ 0.8 0.8 0.8], ...
	'FontSize',10, ...
	'ListboxTop',0, ...
	'Position',[33.75 245.5 50 12], ...
	'String',s21, ...
	'Style','text', ...
          'Tag','StaticText3',...
          'Visible',EnableString1);
h1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[ 0.8 0.8 0.8], ...
	'FontName','Courier', ...
	'FontSize',8, ...
   	'ListboxTop',0, ...
   	'HorizontalAlignment','Left',...
	'Position',[33.75 229.5 300 12], ...
	'String',s1, ...
	'Style','text', ...
	'Tag','StaticText3',...
          'Visible',EnableString1);
DPCHformatHandle1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[1 1 1], ...
	'FontName','Courier', ...
	'ListboxTop',0, ...
	'Position',[30.75 207.75 300 20.25], ...
	'String',s, ...
	'Style','popupmenu', ...
          'Tag','DPCH #1 Popup Menu', ...
          'Value',1,...
          'Visible',EnableString1,...
          'Enable',EnableString1);

%Objects for the Second DPCH
h1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[ 0.8 0.8 0.8], ...
	'FontSize',10, ...
	'ListboxTop',0, ...
	'Position',[33.75 194 50 12], ...
	'String',s22, ...
	'Style','text', ...
   	'Tag','StaticText3',...
          'Visible',EnableString2);
h1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[ 0.8 0.8 0.8], ...
	'FontName','Courier', ...
	'FontSize',8, ...
	'ListboxTop',0, ...
   	'HorizontalAlignment','Left',...
	'Position',[33.75 178.25 300 12], ...
	'String',s1, ...
	'Style','text', ...
	'Tag','StaticText3',...
          'Visible',EnableString2);
DPCHformatHandle2 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[1 1 1], ...
	'FontName','Courier', ...
	'ListboxTop',0, ...
	'Position',[29.25 156.5 300 20.25], ...
	'String',s, ...
	'Style','popupmenu', ...
	'Tag','DPCH #2 Popup Menu', ...
	'Value',1,...
          'Visible',EnableString2,...
          'Enable',EnableString2);

%Objects for the third DPCH
h1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[ 0.8 0.8 0.8], ...
	'FontSize',10, ...
	'ListboxTop',0, ...
	'Position',[33.75 143 50 12], ...
	'String',s23, ...
	'Style','text', ...
   	'Tag','StaticText3',...
          'Visible',EnableString3);
h1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[ 0.8 0.8 0.8], ...
	'FontName','Courier', ...
	'FontSize',8, ...
   	'ListboxTop',0, ...
   	'HorizontalAlignment','Left',...
	'Position',[33.75 127 300 12], ...
	'String',s1, ...
	'Style','text', ...
	'Tag','StaticText3',...
          'Visible',EnableString3);
DPCHformatHandle3 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[1 1 1], ...
	'FontName','Courier', ...
	'ListboxTop',0, ...
	'Position',[29.25 105.25 300 20.25], ...
	'String',s, ...
	'Style','popupmenu', ...
	'Tag','DPCH #3 Popup Menu', ...
   	'Value',1,...
          'Visible',EnableString3,...
          'Enable',EnableString3);

%Objects for DPCH #4 Format

h1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[ 0.8 0.8 0.8], ...
	'FontSize',10, ...
	'ListboxTop',0, ...
	'Position',[33.75 92.5 50 12], ...
	'String',s24, ...
	'Style','text', ...
   	'Tag','StaticText3',...
          'Visible',EnableString4);
h1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[ 0.8 0.8 0.8], ...
	'FontName','Courier', ...
	'FontSize',8, ...
   	'ListboxTop',0, ...
   	'HorizontalAlignment','Left',...
	'Position',[33.75 76.5 300 12], ...
	'String',s1, ...
	'Style','text', ...
	'Tag','StaticText3',...
          'Visible',EnableString4);
DPCHformatHandle4 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[1 1 1], ...
	'FontName','Courier', ...
	'ListboxTop',0, ...
	'Position',[32.25 54.75 300 20.25], ...
	'String',s, ...
	'Style','popupmenu', ...
	'Tag','DPCH #4 Popup Menu', ...
   	'Value',1,...
          'Visible',EnableString4,...
          'Enable',EnableString4);

%navigation toolbars

h1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[0.831372549019608 0.815686274509804 0.784313725490196], ...
	'Callback','BackDPCHcallback',...
	'ListboxTop',0, ...
	'Position',[188.25 12.75 62.25 16.5], ...
	'String','<< Back', ...
	'Tag','Pushbutton1');
h1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[0.831372549019608 0.815686274509804 0.784313725490196], ...
	'Callback','NextDPCHcallback',...
	'ListboxTop',0, ...
	'Position',[259.5 12 62.25 16.5], ...
	'String','Next >>', ...
	'Tag','Pushbutton1');
h1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[0.831372549019608 0.815686274509804 0.784313725490196], ...
  	'Callback','close',...
	'ListboxTop',0, ...
	'Position',[335.25 12 62.25 16.5], ...
	'String','Cancel', ...
          'Tag','Pushbutton1');
       
if nargin==1
   FormatIDs = [0 3 5 8 11 14 17 20 23 26 29 32 35 38 41 44 47];
   INDEX = 4*(CallNumber-1) + (1:4);
   N=length(sam.OtherDPCHformatID);
   if INDEX(1) <= N
      CurrentID = sam.OtherDPCHformatID( INDEX(1) );
      [fee I] = min(abs(CurrentID - FormatIDs));
      set(DPCHformatHandle1,'value',I);
   end
   if INDEX(2) <= N
      CurrentID = sam.OtherDPCHformatID( INDEX(2) );
      [fee I] = min(abs(CurrentID - FormatIDs));
      set(DPCHformatHandle2,'value',I);
   end
   if INDEX(3) <= N
      CurrentID = sam.OtherDPCHformatID( INDEX(3) );
      [fee I] = min(abs(CurrentID - FormatIDs));
      set(DPCHformatHandle3,'value',I);
   end
   if INDEX(4) <= N
      CurrentID = sam.OtherDPCHformatID( INDEX(4) );
      [fee I] = min(abs(CurrentID - FormatIDs));
      set(DPCHformatHandle4,'value',I);
   end
   

end

if nargout > 0, fig = h0; end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -