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

📄 modulatormenu.m

📁 用matlab程序实现WCDMA系统的仿真
💻 M
字号:
function fig = ModulatorMenu(sam)
%************************************************************
%
% Copyright 2002 The Mobile and Portable Radio Research Group
%
% Part of GUI for downlink simulator.
% Generates the Modulator menue.
% This menu allows the user to determine the length of the
% pulse shape filter and the oversampling rate
%
%************************************************************


global PulseLengthHandle OversampleHandle 

load ModulatorMenu

SamplesPerChipString = [' 2';' 3';' 4';' 5';' 6';' 7';' 8';' 9';'10'];
PulseLenghtString = [' 6';' 8';'10';'12';'14';'16';'18';'20';'22';'24';'26';'28';'30'];

bdwidth = 5;
topbdwidth=30;
ScreenSize = get(0,'ScreenSize');
Width = 386;
Height = 286;
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\ModulatorMenu.m', ...
	'PaperPosition',[18 180 576 432], ...
	'PaperUnits','points', ...
	'Position',[right bottom 386 286], ...
	'Tag','Fig1', ...
   'ToolBar','none');

% Object for Title
h1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[ 0.8 0.8 0.8], ...
	'FontSize',18, ...
	'ListboxTop',0, ...
	'Position',[24.75 177 237 24], ...
	'String','WCDMA Downlink Simulator', ...
	'Style','text', ...
   'Tag','StaticText1');

%Object for subtitle
h1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[ 0.8 0.8 0.8], ...
	'FontSize',14, ...
	'ListboxTop',0, ...
	'Position',[34.5 147 198.75 19.5], ...
	'String','Modulator Configuation', ...
	'Style','text', ...
   'Tag','StaticText2');

%Objects for Determining Pulse Length
h1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'FontSize',10, ...
	'BackgroundColor',[ 0.8 0.8 0.8], ...
	'HorizontalAlignment','left', ...
	'ListboxTop',0, ...
	'Position',[51.75 100.5 75 20.25], ...
	'String','Pulse Length', ...
	'Style','text', ...
	'Tag','StaticText3');
h1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'FontSize',10, ...
	'BackgroundColor',[ 0.8 0.8 0.8], ...
	'ListboxTop',0, ...
	'Position',[226.5 104.25 41.25 18], ...
	'String','Chips', ...
	'Style','text', ...
	'Tag','StaticText5');
PulseLengthHandle = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[ 1 1 1], ...
	'ListboxTop',0, ...
	'Position',[165.75 102.75 57 18.75], ...
	'String',PulseLenghtString , ...
	'Style','popupmenu', ...
	'Tag','PulseLength Popup Menu', ...
   'Value',3);

%Objects for determining the oversampling factor
h1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[ 0.8 0.8 0.8], ...
	'FontSize',10, ...
	'HorizontalAlignment','left', ...
	'ListboxTop',0, ...
	'Position',[48 57 104.25 27.75], ...
	'String','Oversampling Factor (Samples Per Chip)', ...
	'Style','text', ...
	'Tag','StaticText4');
OversampleHandle = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[ 1 1 1], ...
	'ListboxTop',0, ...
	'Position',[164.25 63 61.5 18.75], ...
	'String',SamplesPerChipString , ...
	'Style','popupmenu', ...
	'Tag','SamplesPerChip Popup Menu', ...
   'Value',4);

%Navigation Buttons
h1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[0.831372549019608 0.815686274509804 0.784313725490196], ...
	'ListboxTop',0, ...
	'Position',[35.25 18 45 15], ...
   'Callback','BackModulatorCallback',...
	'String','<< Back', ...
	'Tag','Pushbutton2');
h1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[0.831372549019608 0.815686274509804 0.784313725490196], ...
   'ListboxTop',0, ...
   'Callback','NextModulatorCallback',...
	'Position',[103.5 18.75 45 15], ...
	'String','Next >>', ...
	'Tag','Pushbutton2');
h1 = uicontrol('Parent',h0, ...
	'Units','points', ...
	'BackgroundColor',[0.831372549019608 0.815686274509804 0.784313725490196], ...
	'ListboxTop',0, ...
   'Position',[172.5 19.5 45 15], ...
   'Callback','close',...
	'String','Cancel', ...
   'Tag','Pushbutton2');

if nargin == 1
   if isfield(sam,'PulseUpperBound')
      if sam.PulseUpperBound >= 3
         PulseLength = sam.PulseUpperBound * 2;
         I = (0.5 * PulseLength) -2;
         set(PulseLengthHandle,'value',I);
      end
   end
   
   if isfield(sam,'SamplesPerChip')
      if sam.SamplesPerChip >= 2
         I = sam.SamplesPerChip - 1;
         set(OversampleHandle,'value',I);
      end
   end
end

       
if nargout > 0, fig = h0; end

⌨️ 快捷键说明

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