亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sbiterr.m

?? 現代通信系統(prokis)的所有matlab源程序,對初學者很有幫助的。
?? M
?? 第 1 頁 / 共 2 頁
字號:
function [sys, x0, str, ts] = sbiterr(t,x,u,flag, numLine, K, timeDelay, sampleTime)
% SBITERR: S-function for display symbol and bit error
% This M-file is designed to be used in a Simulink S-function block.
%
%WARNING: This is an obsolete function and may be removed in the future.

% [SYS, X0, STR, TS] = SBITERR(T, X, U, FLAG, NUMLINE, K, TIMEDELAY, SAMPLETIME)
%    NUMLINE:   number of lines on display.
%    K:         bit number. Input/Output are in the range (0, K-1)
%    TIMEDELAY: time delay from Input to Output
%    SAMPLETIME:sample time of the input signal
%
% See also: PlOT, SFUNYST, SFUNXY.

%   Copyright 1996-2001 The MathWorks, Inc.
%       $Revision: 1.31 $
%   Original designed by Wes Wang 1/14/95
%   Rewritten by Jun Wu 09/16/97

switch flag,

  %%%%%%%%%%%%%%%%%%
  % Initialization %
  %%%%%%%%%%%%%%%%%%
  case 0,
    [sys,x0,ts]=mdlInitializeSizes(numLine, K, timeDelay, sampleTime);
    SetBlockCallbacks(gcbh);

  %%%%%%%%%%
  % Update %
  %%%%%%%%%%
  case 2,
    sys=mdlUpdate(t,x,u,numLine, K, timeDelay, sampleTime);

  %%%%%%%%%
  % Start %
  %%%%%%%%%
  case 'Start'
    LocalBlockStartFcn

  %%%%%%%%
  % Stop %
  %%%%%%%%
  case 'Stop'
    LocalBlockStopFcn

  %%%%%%%%%%%%%%
  % NameChange %
  %%%%%%%%%%%%%%
  case 'NameChange'
    LocalBlockNameChangeFcn
    
  %%%%%%%%%%%%%
  % Load,Copy %
  %%%%%%%%%%%%%
  case { 'LoadBlock', 'CopyBlock' }
    LocalBlockLoadCopyFcn
    
  %%%%%%%%%%%%%%%
  % DeleteBlock %
  %%%%%%%%%%%%%%%
  case 'DeleteBlock'
    LocalBlockDeleteFcn
    
  %%%%%%%%%%%%%%%%
  % DeleteFigure %
  %%%%%%%%%%%%%%%%
  case 'DeleteFigure'
  LocalFigureDeleteFcn

  %%%%%%%%%%%%%%%%%%%
  % Unhandled flags %
  %%%%%%%%%%%%%%%%%%%
  case { 3, 9 }
    sys=[];

  %%%%%%%%%%%%%%%%%%%%
  % Unexpected flags %
  %%%%%%%%%%%%%%%%%%%%
  otherwise
    if ischar(flag),
      errmsg=sprintf('Unhandled flag: '' %s''', flag);
    else
      errmsg=sprintf('Unhandled flag: 	%d', flag);
    end

    error(errmsg);

end


%%%%%%%%%%%%%%%%%%%%%new %%%%%%%%%%%%%%%%%%%%
str = 1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% end sbiterr

%
%=============================================================================
% mdlInitializeSizes
% Return the sizes, initial conditions, and sample times for the S-function.
%=============================================================================
%
function [sys,x0,ts]=mdlInitializeSizes(numLine, K, timeDelay, sampleTime)

% Keep number of states
numStates = max(0, ceil(timeDelay/sampleTime(1)*(1-10*eps))) + 1;

if timeDelay < 0
  error('Time delay cannot be negative.');
end;

if length(sampleTime) < 1
  error('Sample time cannot be empty.');
elseif length(sampleTime) == 1  
  sampleTime = [sampleTime, 0];
else
  sampleTime = sampleTime(:)';
  sampleTime = sampleTime(1:2);
end;

if rem( timeDelay + sampleTime(2), sampleTime(1) ) == 0
  sampleTime2 = [];
  numSampleTime = 1;
else
  sampleTime2 = [ sampleTime(1), rem( timeDelay + sampleTime(2), sampleTime(1) ) ];
  if sampleTime2(2) / sampleTime2(1) < sqrt(eps)
    sampleTime2(2) = 0;
  end;
  numSampleTime = 2;
  if ( abs(sampleTime(1) - sampleTime2(1)) < sqrt(eps) ) ...
	& ( abs(sampleTime(2) - sampleTime2(2)) < sqrt(eps) )
    numSampleTime = 1;
    sampleTime2 = [];
  end;
end;

%
% initialize the array of sample times
%
if sampleTime <= 0
  error('Sample Time for error rate meter has to be larger than zero.');
end;    
ts = [ sampleTime; sampleTime2 ];

%
% call simsizes for a sizes structure, fill it in and convert it to a sizes array.
%
sizes = simsizes;

sizes.NumContStates  = 0;
sizes.NumDiscStates  = numStates + 6;
sizes.NumOutputs     = 0;
sizes.NumInputs      = -1;  % dynamically sized input vector
sizes.DirFeedthrough = 0;   % the meter does not have direct feedthrough
sizes.NumSampleTimes = numSampleTime;

sys = simsizes(sizes);

if isempty(sampleTime2)
  sampleTime2 = sampleTime;
end;

%
% initialize the initial condition
%
x0 = [0; numStates; 			% figure number. 0 indicates the first
    zeros(numStates, 1);
    numSampleTime; sampleTime(1);
    sampleTime(2); sampleTime2(2)]; 	% number of states

%
% str is always an empty matrix
%
str = [];

% end mdlInitializeSizes

%
%=============================================================================
% mdlUpdate
% Handle discrete state updates, sample time hits, and major time step
% requirements.
%=============================================================================
%
function sys=mdlUpdate(t, x, u, numLine, K, timeDelay, sampleTime)

sys = [];

%
% Locate the figure window associated with this block. If it's not a valid
% handle (it may have been closed by the user), then return.
%
figureHandle = GetSBiterrFigure(gcbh);
if ~ishandle(figureHandle)
  return;
end;  

%
%timing control.
%
colorMap = ['blue ';'black';'red  '];
positionNumSampleTime = x(2) + 3;
sampleTime1 = [ x( positionNumSampleTime + [1:2] ) ];

if x(positionNumSampleTime) == 1
  sampleTime2 = sampleTime1;
else
  sampleTime2 = [ x(positionNumSampleTime + [1;3]) ];
end;

relError = rem(t, sampleTime1(1)) / sampleTime1(1);
test1 = abs(relError - sampleTime1(2) /sampleTime1(1));
test2 = abs(relError - sampleTime1(2) /sampleTime1(1));

if (test1 < .0000001) | (abs(test1 - 1)< .0000001)
  % storage part
  if x(2) > 0
    x(3:2+x(2)) = [x(4:2+x(2)); u(1)];
  else
    x(3) = u(1);
  end;
  sys = x;
end;

% get the number of inputs.
inputLength = length(u);
if inputLength < 2
  error('Source or destination is empty.');
end;
if K == 1;
  bitLength = 3;
  hdlRcdLength = 2 * inputLength - 1;
else
  bitLength = 6;
  hdlRcdLength = 4 * inputLength - 2;
end;

% This part is only for giving user a warning about the size of the window
if x(1) == 0
  if numLine >= 40 | inputLength >= 7
    warnmsg=sprintf('Please resize your Bit Error Meter to get a better looking.');
    warning(warnmsg);
  end;
end;  

if (test2 < .0000001) | (abs(test2 - 1)< .0000001)
  % plot part
  if t < timeDelay
    sys = x;
    return;
  end;

  % initialize graph.
  if x(1) == 0  
    sl_name = gcs;
    block = get_param(sl_name, 'CurrentBlock');
    
    [n_b, m_b] = size(block);
    if n_b < 1
      error('Cannot delete block during simulation.')
    elseif n_b > 1
      error('Something wrong in get_param. You don''t have the current Simulink.')
    end;
    
    % test if figure exists
    allFiguresExist = allchild(0);
    new_figure = 1;
    i = 1;
    while ((new_figure) & (i <= length(allFiguresExist)))
      if strcmp(get(allFiguresExist(i), 'Type'), 'figure')
	if strcmp(get(allFiguresExist(i), 'Name'), sl_name)
	  figureHandle = allFiguresExist(i);
	  handles = get(figureHandle,'UserData');
	  new_figure = 0;
	  % refresh all handles.
	  if (length(handles) == 1+length(u) * (num_lin + 2) - ((K>1) + 1)*2)
	    %use the old one.
	    for ii = 3 : length(handles)
	      set(handles(ii), 'String', ' ');
	    end
	    current_point = 0;
	    if K == 1
	      h_sym_bit = handles(2 : length(u)*2);
	      handleRecord = handles(length(u)*2+1 : length(handleRecord));
	      for i = 1 : 2: length(u) * 2
		set(h_sym_bit(i) , 'UserData', 0);
	      end;
	    else
	      h_sym_bit = handles(2 : length(u)*4-1);
	      handleRecord = handles(length(u)*4 : length(handleRecord));
	      t_tras(1) = get(h_sym_bit, 'UserData') + 1;
	      t_tras(2) = get(h_sym_bit(length(u)*2), 'UserData') + K;
	    end;
	    set(figureHandle, 'UserData', [current_point, h_sym_bit, handleRecord]);
	    set_param(sl_name, 'userdata', figureHandle);
	  else
	    delete(get(figureHandle,'child'));
	    old_figure = 1;
	    new_figure = 1;
	  end;
	end;
      end;
      i = i + 1;
    end;
     
    % Input/Output
    if numLine < 0
      numLine = 0;
    end;
    totalLine = 1 + numLine + bitLength + 1;
    
    set(figureHandle, ...
	'Visible', 'on');    
    handleAxes = axes(...
	'position', [0 0 1 1],...
	'visible',  'off',...
	'Parent',   figureHandle...
	);
  
    tmp_x = [];
    tmp_y = [];
    for ii = 1 : totalLine
      tmp_x = [tmp_x            0             1   NaN];
      tmp_y = [tmp_y  ii/totalLine  ii/totalLine  NaN];
    end;
    
    linePlot = plot(...
	tmp_x, tmp_y, 'k-', ...
	'Parent', handleAxes,...
	'linewidth',1);
    set(handleAxes,...
	'Xtick',    [],...
	'Ytick',    []... 
	);
  
    for i = 1 : inputLength
      % title string
      if i == 1
	titleString = 'Sender';
      else
	% only display 8 digits of the amount of receivers      
	titleString = ['Receiver',num2str(i-1, 8)];
	if inputLength == 2
	  titleString = 'Receiver';
	end
	if numLine > 0
	  set(linePlot, ...
	      'XData', [get(linePlot, 'XData')    ...
		  [1 1]*(i-1)/inputLength           NaN],...
	      'YData', [get(linePlot, 'YData') ...
		  (totalLine-numLine-1)/totalLine 1 NaN]...
	      );
	end;
      end;
      
      % set up the title of both of sender and receivers    
      p_beg1 = (i - 1) / inputLength + .001;
      p_wid = 1 / inputLength - .002;
      uicontrol(...
	  figureHandle, ...
	  'Style',   'text', ...
	  'Horiz',   'center',...
	  'Unit',    'normalized',...
	  'position',[p_beg1, ...
	      (totalLine - 1)/totalLine+.001, p_wid, 1/totalLine-.002], ...
	  'String',  titleString);
      
      %space for list of transferred number.
      p_beg = (2*i - 1) / 2 / inputLength;
      if numLine > 0
	for ii = 1 : numLine
	  index = (ii-1) * inputLength;	
	  handleRecord(index + i) = text(...
	      p_beg, (2*totalLine - 2*ii - 1)/2/totalLine, ' ',...
	      'Parent', handleAxes);
	  set(...
	      handleRecord(index + i), ...
	      'FontSize', 9,...
	      'Color',[0 0 0],...
	      'HorizontalA','Center',...
	      'VerticalA',  'Middle');
	end;
	set(handleRecord(1), 'UserData',1);
      elseif numLine == 0
	handleRecord = [];
      end;
      
      % transfer error rate 
      if K > 1
	len_rate = 2;
      else
	len_rate = 1;
      end;
      kk = 0;
      for ii = 1 : len_rate
	if i == 1
	  if ii == 1
	    titleString = 'Symbol Transferred';
	    trsf = 1;
	    indx = 1;
	  else
	    titleString = 'Bit Transferred';
	    trsf = K;
	    indx = inputLength * 2;
	  end;
	  
	  % Symbol/bit transferred title
	  uicontrol(...
	      figureHandle, ...
	      'Style', 'text', ...
	      'Units', 'normalized',...
	      'Position',[0, ((len_rate - ii) * 3 + 2 + 1)/totalLine+.001,...
		  .499, 1/totalLine-.002],...
	      'String',titleString, ...
	      'BackgroundColor','yellow');
	  set(...
	      linePlot, ...
	      'XData', [get(linePlot, 'XData') .5 .5 NaN],...
	      'YData', [get(linePlot, 'YData'),...
		  ((len_rate - ii)* 3 + 2 + 1)/totalLine,...
		  ((len_rate - ii)* 3 + 3 + 1)/totalLine,...
		  NaN]...
	      );
	  
	  % Symbol/bit transferred data
	  h_sym_bit(indx) = text(...
	      .75, ...
	      ((len_rate-ii)*3*2 + 5 + 2)/2/totalLine,...
	      num2str(trsf, 8),...
	      'Parent', handleAxes);
	  set(h_sym_bit(indx),...
	      'FontSize', 9,...
	      'UserData', 0,...
	      'Color',[0 0 0],...
	      'HorizontalA','Center',...

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷av一区二区三区之一色屋| 中文字幕不卡的av| 99久久伊人网影院| 国产精品视频免费看| 国产精品久久久久一区二区三区共| 五月天一区二区| 成年人国产精品| 精品国产一区二区国模嫣然| 一区二区三区中文字幕在线观看| 国产一区二区日韩精品| 欧美乱妇20p| 亚洲精品成人精品456| 国产馆精品极品| 日韩精品一区二区三区在线播放| 亚洲精品免费视频| av在线不卡观看免费观看| 精品国产一区二区三区久久影院| 午夜激情综合网| 欧美性欧美巨大黑白大战| 中文字幕佐山爱一区二区免费| 欧美亚洲综合在线| 中文字幕一区二区三区不卡| 国产一区91精品张津瑜| 欧美电影免费观看高清完整版在线 | 中文字幕av在线一区二区三区| 全国精品久久少妇| 欧美老人xxxx18| 亚洲高清免费观看高清完整版在线观看 | 欧美精品一区男女天堂| 图片区小说区国产精品视频| 欧美在线观看视频一区二区三区 | 欧美tickling挠脚心丨vk| 视频在线观看一区二区三区| 欧亚洲嫩模精品一区三区| 亚洲精品国产第一综合99久久 | 精品一区二区三区在线播放| 欧美一级一区二区| 免费观看久久久4p| 精品久久久网站| 国产一区二区网址| 欧美激情一区二区三区在线| 国产精品综合网| 国产精品你懂的在线欣赏| 欧美日韩成人激情| 亚洲狠狠爱一区二区三区| 欧美唯美清纯偷拍| 日韩av在线播放中文字幕| 日韩一区二区三区免费看| 久久成人18免费观看| 久久蜜桃av一区精品变态类天堂| 国产精品99久| 亚洲欧美另类图片小说| 欧美午夜理伦三级在线观看| 日韩有码一区二区三区| 欧美大片拔萝卜| 成人免费视频一区二区| 亚洲精品第1页| 欧美老女人在线| 国产精品一区二区果冻传媒| 亚洲品质自拍视频| 3atv在线一区二区三区| 国产成人鲁色资源国产91色综 | 欧美日韩亚洲国产综合| 亚洲国产精品av| 国产在线不卡一卡二卡三卡四卡| 欧美三级在线视频| 亚洲乱码中文字幕| www.视频一区| 国产精品久久久久一区| 国产激情视频一区二区三区欧美| 欧美一级午夜免费电影| 三级欧美在线一区| 欧美精品久久一区| 亚洲福利一区二区三区| 91久久人澡人人添人人爽欧美| 国产精品视频免费| 成人99免费视频| 国产精品看片你懂得| www.色精品| 亚洲日韩欧美一区二区在线| 91在线视频播放| 一区二区三区四区亚洲| 秋霞电影网一区二区| 亚洲欧美国产高清| 久久久一区二区三区| 欧美精品tushy高清| 97se亚洲国产综合在线| 毛片av一区二区三区| 亚洲啪啪综合av一区二区三区| 久久先锋资源网| 91精品久久久久久久久99蜜臂| www.久久久久久久久| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲第一精品在线| 中文字幕亚洲在| 国产日韩欧美亚洲| 精品国产一区二区三区久久影院 | 亚洲激情图片小说视频| 26uuu精品一区二区在线观看| 欧亚洲嫩模精品一区三区| 国产1区2区3区精品美女| 久久成人精品无人区| 婷婷国产在线综合| 亚洲高清一区二区三区| 亚洲精品亚洲人成人网在线播放| 欧美国产国产综合| 久久久美女艺术照精彩视频福利播放| 欧美伦理电影网| 911国产精品| 欧美一区三区二区| 欧美人牲a欧美精品| 欧美三级电影在线观看| 在线免费不卡电影| 欧美中文字幕一区二区三区亚洲| 91年精品国产| 色女孩综合影院| 在线视频一区二区三区| 色综合天天综合狠狠| 91国产视频在线观看| 在线视频一区二区三区| 欧美亚洲综合网| 欧美日韩国产天堂| 日韩一区二区三区视频在线观看| 91精品国产麻豆| 精品美女一区二区| 久久久久久久综合| 中文字幕第一区第二区| 国产精品久久久久一区| 亚洲精选一二三| 香蕉成人伊视频在线观看| 日韩成人精品在线| 国产一区二区三区在线看麻豆| 国产精华液一区二区三区| 成人丝袜18视频在线观看| 91女厕偷拍女厕偷拍高清| 欧美日韩三级视频| 欧美电影免费观看完整版| 国产日韩av一区二区| 丝袜脚交一区二区| 国产一区二区精品久久91| 国产成+人+日韩+欧美+亚洲 | 精品亚洲porn| 国产精品 欧美精品| 91麻豆蜜桃一区二区三区| 欧美日韩精品高清| 精品精品国产高清a毛片牛牛 | 国产精品福利av| 亚洲一线二线三线视频| 蜜桃精品视频在线| 成人av网站在线观看免费| 欧美天堂一区二区三区| 精品国产乱码久久久久久蜜臀| 国产精品第四页| 免费人成精品欧美精品| 国产91富婆露脸刺激对白| 欧美性一区二区| 久久综合av免费| 亚洲国产日日夜夜| 国产成人a级片| 欧美日韩dvd在线观看| 欧美高清一级片在线观看| 亚洲一二三四在线观看| 国产毛片精品视频| 精品1区2区3区| 国产精品久久久久久一区二区三区| 亚洲成人自拍偷拍| 99视频一区二区| 精品国产成人系列| 亚洲图片欧美一区| av男人天堂一区| 精品欧美乱码久久久久久1区2区| 亚洲精品乱码久久久久| 国产揄拍国内精品对白| 欧美猛男男办公室激情| 中文字幕一区三区| 国产乱子伦视频一区二区三区 | 欧美一区二区三区四区视频| 国产精品久久久久9999吃药| 美腿丝袜在线亚洲一区 | 亚洲精品国产精华液| 国产成人精品影院| 精品国精品国产| 日韩精品电影在线观看| 欧美在线一二三四区| 国产精品网站一区| 国产乱码精品一区二区三区av| 666欧美在线视频| 亚洲第一狼人社区| 91久久精品一区二区三| 国产精品初高中害羞小美女文| 国产精品夜夜爽| 亚洲精品在线一区二区| 免费精品视频在线| 日韩午夜在线影院| 肉丝袜脚交视频一区二区| 欧美日本一区二区三区| 亚洲制服欧美中文字幕中文字幕| 91看片淫黄大片一级在线观看| 国产精品国产自产拍高清av王其| 国产精品1024久久|