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

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

?? xferplot.m

?? spread spectrum communication will be helpful to you!
?? M
?? 第 1 頁 / 共 5 頁
字號:
function  [sys, x0, str, ts] = xferplot(t,x,u,varargin)
%XFERPLOT Frame- and vector-display block for the DSP Blockset.
%  The DSP Blockset provides several scopes useful for visualizing
%  frame- or vector-based signals in a Simulink model.
%
%  The following blocks in the "DSP Sinks" library utilize this
%  scope display:
%    - Vector Scope
%    - FFT Frame Scope
%    - Buffered FFT Frame Scope
%
%  These blocks accept 2-D signals, where an MxN input matrix is
%  interpreted as N channels of data, each presenting M consecutive
%  time samples of data.  A 1-D signal is interpreted as a single
%  channel of data.
%
%  Most menu options are duplicated in a context menu, accessible
%  by right-clicking within the scope display.  Depending upon the
%  scope block, and the number of data channels entering the block,
%  different options are provided.
%
%  See also DSPLIB.

%  This is an M-file S-Function used by the DSP Blockset that
%  implements a frame- or vector-based scope display.

% Copyright 1995-2001 The MathWorks, Inc.
% $Revision: 0.1 $  $Date: 2002/01/29 14:32:45 $
% RAB, tweaked for transfer function 


% Syntax:
%
%   xferplot(t,x,u,flag,params);
%
% where params is a structure containing all block dialog parameters.
%
% What's in the Figure userdata:
% ------------------------------
% Main scope figure handles:
%   fig_data.block        block name
%   fig_data.hfig         handle to figure
%   fig_data.hcspec       handle to non-displayed line for color translation
%
%   fig_data.main.haxis         handle to axes
%   fig_data.main.hline         Nx1 vector of line handles
%   fig_data.main.hstem         scalar stem line handle
%   fig_data.main.hgrid         vector of handles to axis grid lines
%   fig_data.main.axiszoom.on   P/V cell-array pairs to turn on
%   fig_data.main.axiszoom.off  and off full-axis zoom
%
% Handles to menu items:
%   - appearing only in figure menu:
%       fig_data.menu.recpos      record position
%       fig_data.menu.axislegend  (checkable)
%       fig_data.menu.framenumber (checkable)
%       fig_data.menu.axisgrid    (checkable)
%       fig_data.menu.memory      (checkable)
%       fig_data.menu.refresh
%
%   - appearing in both figure and context menu:
%       fig_data.menu.top         top-level Axes and Lines in Figure
%       fig_data.menu.context     context menu
%       fig_data.menu.linestyle    2xN, [fig;context] x [one per display line]
%       fig_data.menu.linemarker   2xN        (children are individual submenu options)
%       fig_data.menu.linecolor    2xN
%       fig_data.menu.linedisable  2x1
%       fig_data.menu.axiszoom     2x1, [fig;context] (checkable)
%       fig_data.menu.autoscale
%
%
% What's in the Block userdata:
% -----------------------------
%   block_data.firstcall    flag for first call to function
%   block_data.autoscaling  indicates autoscale computation in progress
%   block_data.hfig         handle to figure
%   block_data.hcspec       handle to non-displayed line for color translation
%   block_data.haxis        handle to axes
%   block_data.hline        Nx1 vector of line handles
%   block_data.hstem        scalar line handle
%   block_data.hgrid        handles to axis grid lines
%   block_data.hgridtext    vector of handles
%   block_data.hlegend      handle to legend itself
%   block_data.hframenum    handle to frame number text indicator
%   block_data.params       structure of cached block dialog parameters
%   block_data.Ts           updated sample time for block
%   block_data.inputDims    dimension vector of input to scope
%   block_data.NChans       Number of frames (columns) in input matrix
%
%
%
% Parameters structure fields:
% ----------------------------
% .ScopeParams
% .Domain: 1=Time, 2=Frequency, 3=User Defined
% .XLabel:
%     Time, Frequency: ignored
%     User: displayed
% .XUnits:
%     User, Time: ignored
%     Freq: 1=Hz, 2=rad/s
% .InheritXIncr: checkbox
% .XIncr: increment of x-axis samples, used for x-axis display
%     Time: ignored (assumes frame-based)
%     User, Freq: seconds per sample
% .XRange:
%     User, Time: ignored
%     Freq: 1=[0,Fn] , 2=[-Fn,Fn], 3=[0, Fs]
%                (Fn=Nyquist rate, Fs=Sample rate)
% .YLabel:
% .YUnits:
%      User, Time: ignored
%      Freq: 1=Magnitude, 2=dB
%
% .HorizSpan: Horizontal time span (number of frames)
%             Only displayed for Time and User-defined
%
% Optionally displayed in dialog:
% .AxisParams: indicates whether the Axis Settings are
%              currently displayed in block dialog.
% .YMin: Minimum y-limit
% .YMax: Maximum y-limit
% .FigPos: figure position
%
% .AxisGrid:   Current setting, on or off
% .AxisZoom:    similar
% .FrameNumber: similar
% .AxisLegend:  similar
% .Memory: checkbox
%
% .LineParams:
% .LineDisables:
% .LineColors: pipe-delimited string of colors, one per channel
% .LineStyles: similar
% .LineMarkers: similar
%
% .WindowParams: indicates whether the Scope Settings are
%                currently displayed in block dialog.
% .OpenScopeAtSimStart: checkbox
% .OpenScopeImmediately: checkbox

switch(varargin{1})
case 3,
	sys = [];   % mdlOutput - unused
case 2,
	sys = mdlUpdate(t,x,u,varargin{:});
case 0,
	[sys,x0,str,ts] = mdlInitializeSizes;
case 9,
	sys = mdlTerminate;
otherwise
	% GUI callback:
	feval(varargin{:});
	sys = [];   % None of these options change the state:
end


% -----------------------------------------------------------
function [sys,x0,str,ts] = mdlInitializeSizes

sfcn   = gcb;  % s-fcn
blk    = get_param(sfcn,'parent');
parent = get_param(blk, 'parent');

sizes = simsizes;
sizes.NumInputs      = -1;
sizes.NumOutputs     =  0;
sizes.NumSampleTimes =  1;
sys = simsizes(sizes);
x0  = [];           % states
str = '';           % state ordering strings
ts  = [-1 1];       % inherited sample time, fixed in minor steps

%%% if ~syslocked(parent),
	% No need to execute in a library
	%  (we also want to keep the block UserData empty so that
	%   DialogApply will not run)
%%%	resetToFirstCall(blk);
%%% end


% ------------------------------------------------------------
function sys = mdlUpdate(t,x,u,flag,params)

% Faster implementation of: blk=gcb;
cs   = get_param(0,'CurrentSystem');
cb   = get_param(cs,'CurrentBlock');
sfcn = [cs '/' cb];
blk  = get_param(sfcn,'parent');
sys  = [];
block_data = get_param(blk, 'UserData');
if block_data.firstcall,
	first_update(blk, sfcn, u, params);
else
	update_lines(block_data, u);
end


% ---------------------------------------------------------------
function update_lines(block_data, u)
% UPDATE_LINES Update the lines in the scope display

% u: one frame of data
% Does not alter block_data

% If the user closed the figure window while the simulation
% was running, then hfig has been reset to empty.
%
% Allow the simulation to continue, do not put up a new figure
% window, and do not generate an error if window closes early.
%
if isempty(block_data.hfig), return; end

% Call update_lines function:
feval(block_data.UpdateLinesFcn, block_data, u);

% Update frame number display:
% Always update - it is invisible unless feature is enabled
%
% UpdateFramenum(block_data);
d = get(block_data.hframenum(2),'userdata');
set(block_data.hframenum(2), 'userdata', d+1, ...
	'string', sprintf('%d',d+1));

% Check if autoscaling is in progress:
if ~isempty(block_data.autoscaling),
	Autoscale([],[], block_data, u);  % next frame of data
end


% ---------------------------------------------------------------
function fcn = select_UpdateLinesFcn(block_data)

freqDomain = (block_data.params.Domain==2);
oneFrame   = (block_data.params.HorizSpan==1);
oneChan    = (block_data.NChans==1);

% Use the frame counter to determine where we are:
% Counter starts at 0, since it is incremented after
% update_lines occurs.
nframes = block_data.params.HorizSpan;
d = get(block_data.hframenum(2),'userdata');
useInit = (d < nframes);

if freqDomain,
    % Frequency domain:
	if oneChan,
		fcn = @update_lines_freq_oneframe_onechan;
	else
		fcn = @update_lines_freq_oneframe_multichan;
	end
else
	% Time domain:
	if oneFrame,
		if oneChan,
			fcn = @update_lines_time_oneframe_onechan;
		else
			fcn = @update_lines_time_oneframe_multichan;
		end
	else
		if oneChan,
            if useInit,
                fcn = @init_lines_time_multiframe_onechan;
            else
                fcn = @update_lines_time_multiframe_onechan;
            end
		else
            if useInit,
                fcn = @init_lines_time_multiframe_multichan;
            else
                fcn = @update_lines_time_multiframe_multichan;
            end
		end
	end
end


% ---------------------------------------------------------------
function update_lines_freq_oneframe_onechan(block_data, u)

% Single channel
% One frame per horizontal span

[nrows,nchans] = size(u);

% Frequency domain conversions
% Convert to dB if required:
if(block_data.params.YUnits==2),
	u = lin2dB(u);
end

% Rotate data if display range is [-Fn, Fn]:
if (block_data.params.XRange==2),
	% rotate each channel of data:
	p = nrows./2;  % all FFT's are a power of 2 here
	u = u([p+1:nrows 1:p],:);
end

set(block_data.hline, 'YData', u);

if strcmp(get(block_data.hstem,'vis'),'on'),
	% using stem plots:
	ystem = get(block_data.hstem,'ydata');
	ystem((0:nrows-1)*3 + 2) = u;
	set(block_data.hstem,'ydata',ystem);
end


% ---------------------------------------------------------------
function update_lines_freq_oneframe_multichan(block_data, u)

% One frame per horizontal span
% Multiple channels (matrix input)

[nrows,nchans] = size(u);

% Frequency domain conversions
% Convert to dB if required:
if(block_data.params.YUnits==2),
	u = lin2dB(u);
end

% Rotate data if display range is [-Fn, Fn]:
if (block_data.params.XRange==2),
	% rotate each channel of data:
	p = nrows./2;  % all FFT's are a power of 2 here
	u = u([p+1:nrows 1:p],:);
end

hline = block_data.hline;

if strcmp(get(block_data.hstem,'vis'),'on'),
	% using stem plots:
	ystem = get(block_data.hstem,'ydata');
	kup = (0:length(u)-1)*3 + 2;  % index to top of stems
	kdn = kup-1;                  % index to bottom of stems
	ystem(kup) = 0;
	ystem(kdn) = 0;
	markerpipestr = block_data.params.LineMarkers;
	
	for i = 1:nchans, % block_data.NChans
		val = u(:,i)';
		set(hline(i), 'YData', val);
		
		if strcmp(get_pipestr(markerpipestr, i,1), 'stem'),
			ystem(kup) = max(ystem(kup), val);
			ystem(kdn) = min(ystem(kdn), val);
		end
	end
	set(block_data.hstem,'ydata',ystem);
	
else
	for i = 1:nchans, % block_data.NChans
		set(hline(i), 'YData', u(:,i));
	end
end


% ---------------------------------------------------------------
function update_lines_time_oneframe_onechan(block_data, u)

% One frame per horizontal span
% Single channel

set(block_data.hline, 'YData', u);

if strcmp(get(block_data.hstem,'vis'),'on'),
	% using stem plots:
	[nrows,nchans] = size(u);
	ystem = get(block_data.hstem,'ydata');
	ystem((0:nrows-1)*3 + 2) = u;
	set(block_data.hstem,'ydata',ystem);
end


% ---------------------------------------------------------------
function update_lines_time_oneframe_multichan(block_data, u)

% One frame per horizontal span
% Multiple channels (matrix input):

[nrows,nchans] = size(u);
hline = block_data.hline;

if strcmp(get(block_data.hstem,'vis'),'on'),
	% using stem plots:
	ystem = get(block_data.hstem,'ydata');
	kup = (0:length(u)-1)*3 + 2;  % index to top of stems
	kdn = kup-1;                  % index to bottom of stems
	ystem(kup) = 0;
	ystem(kdn) = 0;
	markerpipestr = block_data.params.LineMarkers;
	
	for i = 1:nchans, % block_data.NChans
		val = u(:,i)';
		set(hline(i), 'YData', val);
		
		if strcmp(get_pipestr(markerpipestr, i,1), 'stem'),
			ystem(kup) = max(ystem(kup), val);
			ystem(kdn) = min(ystem(kdn), val);
		end
	end
	set(block_data.hstem,'ydata',ystem);
else
	for i = 1:nchans, % block_data.NChans
		set(hline(i), 'YData', u(:,i));
	end
end


% ---------------------------------------------------------------
function init_lines_time_multiframe_onechan(block_data, u)

% differs from update_lines_time_multiframe_onechan in that
% this begins rendering data from the LEFT side of the display.
% Used at the start (or re-start) of a simulation, and
% is only used for nframes number of input frames.  After that,
% the non-init version is installed and used thereafter.

% Multiple frames per horiz span
% Single channel

[nrows,nchans] = size(u);
nframes = block_data.params.HorizSpan;

% Use the frame counter to determine where we are:
% Counter starts at 0, since it is incremented after
% update_lines occurs.
d = get(block_data.hframenum(2),'userdata');
y = get(block_data.hline,'YData')';
y(d*nrows+1 : (d+1)*nrows, :) = u;
set(block_data.hline, 'YData', y);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品一区二区三区福利| 亚洲中国最大av网站| 欧美一二三在线| 欧美日韩午夜在线视频| 91国产视频在线观看| 99re在线视频这里只有精品| 不卡的看片网站| 91影视在线播放| 日本韩国欧美在线| 欧美性大战xxxxx久久久| 欧美日韩三级一区| 91精品国产综合久久精品图片| 欧美喷潮久久久xxxxx| 91精品一区二区三区久久久久久| 69堂国产成人免费视频| 日韩一级精品视频在线观看| 欧美大片国产精品| 国产日韩在线不卡| 亚洲蜜桃精久久久久久久| 夜夜嗨av一区二区三区网页| 亚洲高清免费一级二级三级| 日韩电影网1区2区| 韩国欧美国产1区| 成人免费毛片app| 色就色 综合激情| 欧美精品一卡二卡| 久久久欧美精品sm网站| 亚洲欧洲国产日韩| 亚洲1区2区3区视频| 免费在线观看成人| 精品99久久久久久| 中文字幕亚洲视频| 亚洲成人一区在线| 黑人巨大精品欧美一区| av资源网一区| 在线不卡免费av| 久久精品一区八戒影视| 亚洲精品日产精品乱码不卡| 日韩福利电影在线| 国产成人夜色高潮福利影视| 91国产丝袜在线播放| 日韩欧美黄色影院| 国产精品第13页| 国产欧美视频在线观看| 亚洲影视资源网| 国产一区二区三区四区五区入口| 91首页免费视频| 欧美成人精品3d动漫h| 成人欧美一区二区三区黑人麻豆| 日韩综合小视频| 99久久综合国产精品| 欧美一级搡bbbb搡bbbb| 国产精品美女久久久久久| 污片在线观看一区二区| 国产精品亚洲第一| 欧美少妇一区二区| 欧美国产日韩亚洲一区| 亚洲bt欧美bt精品777| av色综合久久天堂av综合| 欧美一区二区三区免费视频 | 亚洲欧美区自拍先锋| 久久精品免费观看| 欧美写真视频网站| 中文字幕的久久| 久久99热99| 欧美丰满一区二区免费视频| 国产精品久久久久天堂| 久久精品国产一区二区| 欧美亚洲国产bt| 中文字幕一区二区三区精华液| 久久国产精品色| 欧美精品九九99久久| 一区二区三区资源| zzijzzij亚洲日本少妇熟睡| 欧美sm极限捆绑bd| 日韩高清在线观看| 色噜噜夜夜夜综合网| 国产精品色哟哟| 精久久久久久久久久久| 日韩午夜精品电影| 午夜精品视频一区| 在线视频欧美精品| 亚洲欧美日韩一区| 成人黄色综合网站| 亚洲国产高清在线| 福利一区福利二区| 久久久久97国产精华液好用吗| 秋霞午夜鲁丝一区二区老狼| 欧美色中文字幕| 一区二区三区加勒比av| 91欧美一区二区| 国产精品久久影院| av动漫一区二区| 懂色av一区二区三区免费观看 | 蜜臀av亚洲一区中文字幕| 在线免费视频一区二区| 亚洲人成网站精品片在线观看| 成人av在线一区二区三区| 国产精品视频一二三区| 福利一区在线观看| 国产精品久线观看视频| 不卡的av电影| 国产精品成人一区二区三区夜夜夜| 国产成人在线免费| 国产精品素人视频| 91丨porny丨中文| 亚洲黄色小视频| 欧美亚洲高清一区| 午夜电影一区二区三区| 67194成人在线观看| 日本欧美大码aⅴ在线播放| 日韩一区二区三区视频在线观看 | 欧美在线999| 亚洲高清在线视频| 日韩亚洲电影在线| 黄一区二区三区| 国产女主播一区| 91在线国内视频| 亚洲丝袜制服诱惑| 欧美日韩综合在线| 久草热8精品视频在线观看| 久久综合色婷婷| 波多野结衣在线aⅴ中文字幕不卡| 亚洲婷婷在线视频| 欧美日韩精品专区| 美女视频黄 久久| 国产日韩欧美综合在线| 91麻豆6部合集magnet| 亚洲大型综合色站| 精品国产99国产精品| 成人一区在线观看| 亚洲一区成人在线| 精品区一区二区| 成人国产精品免费观看视频| 亚洲精品v日韩精品| 在线播放视频一区| 国产成人久久精品77777最新版本| 国产精品成人免费在线| 欧美人妖巨大在线| 国产成人在线视频网站| 亚洲一区二区成人在线观看| 亚洲精品一区二区三区影院| 99综合影院在线| 日韩精彩视频在线观看| 国产亚洲va综合人人澡精品| 91啪九色porn原创视频在线观看| 日韩精品色哟哟| 国产精品无码永久免费888| 欧美日韩的一区二区| 粉嫩欧美一区二区三区高清影视| 一区二区不卡在线视频 午夜欧美不卡在| 欧美一级日韩免费不卡| 成人av动漫网站| 欧美aaaaa成人免费观看视频| 中文字幕+乱码+中文字幕一区| 欧美少妇一区二区| 成人免费va视频| 日本欧美久久久久免费播放网| 国产精品久久久久四虎| 日韩视频免费直播| 亚洲乱码中文字幕综合| 精品三级在线看| 欧美图片一区二区三区| 岛国av在线一区| 日本美女视频一区二区| 18欧美亚洲精品| 久久精品欧美日韩精品| 91麻豆精品国产91久久久资源速度| 成人免费观看视频| 老汉av免费一区二区三区| 一区二区三区中文在线观看| 久久久精品一品道一区| 欧美精品1区2区| 91麻豆免费观看| 国产精品99久久久久久似苏梦涵| 香蕉成人伊视频在线观看| 成人欧美一区二区三区黑人麻豆| 2023国产一二三区日本精品2022| 欧美日韩国产天堂| 色婷婷精品大在线视频| 国产91精品一区二区| 精品一区二区久久久| 日韩在线a电影| 亚洲高清久久久| 亚洲精选在线视频| 国产精品乱人伦一区二区| 精品国内二区三区| 日韩一区二区在线播放| 欧美日韩国产美| 欧美日韩精品系列| 在线视频国产一区| 99re亚洲国产精品| 风间由美性色一区二区三区| 国产真实精品久久二三区| 日本女优在线视频一区二区| 五月激情综合婷婷| 亚洲成人tv网| 亚洲电影中文字幕在线观看| 一区二区在线观看视频| 亚洲精品国久久99热|