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

📄 ui_check_params.m

📁 通信系统仿真原理与无线应用 所有的代码
💻 M
📖 第 1 页 / 共 2 页
字号:
function ui_check_params
%**************************************************************************
%This program checks for mistakes in choice entries in the GUI.
%**************************************************************************

persistent state;

if isempty(state)
   state = struct('FrmLen', '130', 'NumofPkt', '100','corr_value','0');
end

curr_obj = gcbo;
obj_tag = get(curr_obj,'Tag');

% performs logical check on input parameters
switch (obj_tag)
case 'FrmLen'
   Frm_len_str = get(curr_obj,'String');
   try
      Frm_len = eval(Frm_len_str);
      if Frm_len <= 0
         set(curr_obj, 'String', state.FrmLen);
         errordlg('Frame length must be positive','Invalid input', 'modal');
      else
         state = setfield(state, 'FrmLen', Frm_len_str);
      end
   catch
      set(curr_obj,'String', state.FrmLen);
      errordlg('Frame length value not a number','Invalid input', 'modal');
   end
case 'NumofPkt'
       pkts_to_simulate_str = get(curr_obj, 'String');
   try
      pkts_to_simulate = eval(pkts_to_simulate_str);
      if pkts_to_simulate < 0
         set(curr_obj,'String', state.NumofPkt);
         errordlg('Packets to simulate cannot be negative','Invalid input', 'modal');
      else
         state = setfield(state, 'NumofPkt', pkts_to_simulate_str);
      end
   catch
      set(curr_obj,'String', state.NumofPkt);
      errordlg('Packets to simulate value not a number','Invalid input', 'modal');
   end

case '4state_4psk'
   fourfour_val = get(curr_obj, 'Value');
      
   if fourfour_val == 1
      set(curr_obj, 'Enable', 'inactive');
      eightfour_val = findobj('Tag', '8state_4psk');
      set(eightfour_val, 'Enable', 'on');
      set(eightfour_val, 'Value', 0);
      onesixfour_val = findobj('Tag', '16state_4psk');
      set(onesixfour_val, 'Enable', 'on');
      set(onesixfour_val, 'Value', 0);
      threetwofour_val = findobj('Tag', '32state_4psk');
      set(threetwofour_val, 'Enable', 'on');
      set(threetwofour_val, 'Value', 0);
      eighteight_val = findobj('Tag', '8state_8psk');
      set(eighteight_val, 'Enable', 'on');
      set(eighteight_val, 'Value', 0);
      onesixeight_val = findobj('Tag', '16state_8psk');
      set(onesixeight_val, 'Enable', 'on');
      set(onesixeight_val, 'Value', 0);
      threetwoeight_val = findobj('Tag', '32state_8psk');
      set(threetwoeight_val, 'Enable', 'on');
      set(threetwoeight_val, 'Value', 0);
      dd8_val = findobj('Tag', 'DelayDiv_8psk');
      set(dd8_val, 'Enable', 'on');
      set(dd8_val, 'Value', 0);
      onesixonesix_val = findobj('Tag', '16state_16qam');
      set(onesixonesix_val, 'Enable', 'on');
      set(onesixonesix_val, 'Value', 0);
      dd16_val = findobj('Tag', 'DelayDiv_16qam');
      set(dd16_val, 'Enable', 'on');
      set(dd16_val, 'Value', 0);
  end
case '8state_4psk'
   eightfour_val = get(curr_obj, 'Value');
      
   if eightfour_val == 1
      set(curr_obj, 'Enable', 'inactive');
      fourfour_val = findobj('Tag', '4state_4psk');
      set(fourfour_val, 'Enable', 'on');
      set(fourfour_val, 'Value', 0);
      onesixfour_val = findobj('Tag', '16state_4psk');
      set(onesixfour_val, 'Enable', 'on');
      set(onesixfour_val, 'Value', 0);
      threetwofour_val = findobj('Tag', '32state_4psk');
      set(threetwofour_val, 'Enable', 'on');
      set(threetwofour_val, 'Value', 0);
      eighteight_val = findobj('Tag', '8state_8psk');
      set(eighteight_val, 'Enable', 'on');
      set(eighteight_val, 'Value', 0);
      onesixeight_val = findobj('Tag', '16state_8psk');
      set(onesixeight_val, 'Enable', 'on');
      set(onesixeight_val, 'Value', 0);
      threetwoeight_val = findobj('Tag', '32state_8psk');
      set(threetwoeight_val, 'Enable', 'on');
      set(threetwoeight_val, 'Value', 0);
      dd8_val = findobj('Tag', 'DelayDiv_8psk');
      set(dd8_val, 'Enable', 'on');
      set(dd8_val, 'Value', 0);
      onesixonesix_val = findobj('Tag', '16state_16qam');
      set(onesixonesix_val, 'Enable', 'on');
      set(onesixonesix_val, 'Value', 0);
      dd16_val = findobj('Tag', 'DelayDiv_16qam');
      set(dd16_val, 'Enable', 'on');
      set(dd16_val, 'Value', 0);
   end
case '16state_4psk'
   onesixfour_val = get(curr_obj, 'Value');
      
   if onesixfour_val == 1
      set(curr_obj, 'Enable', 'inactive');
      eightfour_val = findobj('Tag', '8state_4psk');
      set(eightfour_val, 'Enable', 'on');
      set(eightfour_val, 'Value', 0);
      fourfour_val = findobj('Tag', '4state_4psk');
      set(fourfour_val, 'Enable', 'on');
      set(fourfour_val, 'Value', 0);
      threetwofour_val = findobj('Tag', '32state_4psk');
      set(threetwofour_val, 'Enable', 'on');
      set(threetwofour_val, 'Value', 0);
      eighteight_val = findobj('Tag', '8state_8psk');
      set(eighteight_val, 'Enable', 'on');
      set(eighteight_val, 'Value', 0);
      onesixeight_val = findobj('Tag', '16state_8psk');
      set(onesixeight_val, 'Enable', 'on');
      set(onesixeight_val, 'Value', 0);
      threetwoeight_val = findobj('Tag', '32state_8psk');
      set(threetwoeight_val, 'Enable', 'on');
      set(threetwoeight_val, 'Value', 0);
      dd8_val = findobj('Tag', 'DelayDiv_8psk');
      set(dd8_val, 'Enable', 'on');
      set(dd8_val, 'Value', 0);
      onesixonesix_val = findobj('Tag', '16state_16qam');
      set(onesixonesix_val, 'Enable', 'on');
      set(onesixonesix_val, 'Value', 0);
      dd16_val = findobj('Tag', 'DelayDiv_16qam');
      set(dd16_val, 'Enable', 'on');
      set(dd16_val, 'Value', 0);
end
case '32state_4psk'
   threetwofour_val = get(curr_obj, 'Value');
      
   if threetwofour_val == 1
      set(curr_obj, 'Enable', 'inactive');
      eightfour_val = findobj('Tag', '8state_4psk');
      set(eightfour_val, 'Enable', 'on');
      set(eightfour_val, 'Value', 0);
      onesixfour_val = findobj('Tag', '16state_4psk');
      set(onesixfour_val, 'Enable', 'on');
      set(onesixfour_val, 'Value', 0);
      fourfour_val = findobj('Tag', '4state_4psk');
      set(fourfour_val, 'Enable', 'on');
      set(fourfour_val, 'Value', 0);
      eighteight_val = findobj('Tag', '8state_8psk');
      set(eighteight_val, 'Enable', 'on');
      set(eighteight_val, 'Value', 0);
      onesixeight_val = findobj('Tag', '16state_8psk');
      set(onesixeight_val, 'Enable', 'on');
      set(onesixeight_val, 'Value', 0);
      threetwoeight_val = findobj('Tag', '32state_8psk');
      set(threetwoeight_val, 'Enable', 'on');
      set(threetwoeight_val, 'Value', 0);
      dd8_val = findobj('Tag', 'DelayDiv_8psk');
      set(dd8_val, 'Enable', 'on');
      set(dd8_val, 'Value', 0);
      onesixonesix_val = findobj('Tag', '16state_16qam');
      set(onesixonesix_val, 'Enable', 'on');
      set(onesixonesix_val, 'Value', 0);
      dd16_val = findobj('Tag', 'DelayDiv_16qam');
      set(dd16_val, 'Enable', 'on');
      set(dd16_val, 'Value', 0);
   end
case '8state_8psk'
   eighteight_val = get(curr_obj, 'Value');
      
   if eighteight_val == 1
      set(curr_obj, 'Enable', 'inactive');
      eightfour_val = findobj('Tag', '8state_4psk');
      set(eightfour_val, 'Enable', 'on');
      set(eightfour_val, 'Value', 0);
      onesixfour_val = findobj('Tag', '16state_4psk');
      set(onesixfour_val, 'Enable', 'on');
      set(onesixfour_val, 'Value', 0);
      threetwofour_val = findobj('Tag', '32state_4psk');
      set(threetwofour_val, 'Enable', 'on');
      set(threetwofour_val, 'Value', 0);
      fourfour_val = findobj('Tag', '4state_4psk');
      set(fourfour_val, 'Enable', 'on');
      set(fourfour_val, 'Value', 0);
      onesixeight_val = findobj('Tag', '16state_8psk');
      set(onesixeight_val, 'Enable', 'on');
      set(onesixeight_val, 'Value', 0);
      threetwoeight_val = findobj('Tag', '32state_8psk');
      set(threetwoeight_val, 'Enable', 'on');
      set(threetwoeight_val, 'Value', 0);
      dd8_val = findobj('Tag', 'DelayDiv_8psk');
      set(dd8_val, 'Enable', 'on');
      set(dd8_val, 'Value', 0);
      onesixonesix_val = findobj('Tag', '16state_16qam');
      set(onesixonesix_val, 'Enable', 'on');
      set(onesixonesix_val, 'Value', 0);
      dd16_val = findobj('Tag', 'DelayDiv_16qam');
      set(dd16_val, 'Enable', 'on');
      set(dd16_val, 'Value', 0);
  end
case '16state_8psk'
   onesixeight_val = get(curr_obj, 'Value');
      
   if onesixeight_val == 1
      set(curr_obj, 'Enable', 'inactive');
      fourfour_val = findobj('Tag', '4state_4psk');
      set(fourfour_val, 'Enable', 'on');
      set(fourfour_val, 'Value', 0);
      onesixfour_val = findobj('Tag', '16state_4psk');
      set(onesixfour_val, 'Enable', 'on');

⌨️ 快捷键说明

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