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

📄 com_mlac.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 3 页
字号:
		'Mask Entries','td\/N\/0\/')


%     Finished composite block ['Time-sharing',13,'mux/Pulses deivide',13,'same sample time'].

set_param([sys,'/',['Time-sharing',13,'mux/Pulses deivide',13,'same sample time']],...
		'position',[55,76,120,114])
add_line([sys,'/',['Time-sharing',13,'mux']],[255,45;290,45])
add_line([sys,'/',['Time-sharing',13,'mux']],[125,95;140,95;140,55;165,55])
add_line([sys,'/',['Time-sharing',13,'mux']],[90,30;165,30])
set_param([sys,'/',['Time-sharing',13,'mux']],...
		'Mask Display','Time-share\nmux',...
		'Mask Type','Time-sharing multiplex')
set_param([sys,'/',['Time-sharing',13,'mux']],...
		'Mask Dialogue','This block partitions each transfer\nperiod into even length time slots. Each element of the input vector takes one\nslot in turn.|Transfer period (sec):|Input vector length:')
set_param([sys,'/',['Time-sharing',13,'mux']],...
		'Mask Translate','td=@1;N=@2;')
set_param([sys,'/',['Time-sharing',13,'mux']],...
		'Mask Help','This block outputs one element of the input vector in turn. The input for this block is a length N_in vector. The output for this block is a scalar. The transfer period T_out is partitioned into N_in slot. Each input element takes one partition in sequential order arranged by the position of the vector input. This block takes all elements in the input vector at the sampling time point.')
set_param([sys,'/',['Time-sharing',13,'mux']],...
		'Mask Entries','1\/3\/')


%     Finished composite block ['Time-sharing',13,'mux'].

set_param([sys,'/',['Time-sharing',13,'mux']],...
		'position',[35,118,115,162])


%     Subsystem  ['Time-sharing',13,'demux'].

new_system([sys,'/',['Time-sharing',13,'demux']])
set_param([sys,'/',['Time-sharing',13,'demux']],'Location',[11,84,349,247])

add_block('built-in/Inport',[sys,'/',['Time-sharing',13,'demux/in_1']])
set_param([sys,'/',['Time-sharing',13,'demux/in_1']],...
		'position',[60,20,80,40])


%     Subsystem  ['Time-sharing',13,'demux/Pulses deivide',13,'same sample time'].

new_system([sys,'/',['Time-sharing',13,'demux/Pulses deivide',13,'same sample time']])
set_param([sys,'/',['Time-sharing',13,'demux/Pulses deivide',13,'same sample time']],'Location',[55,192,283,286])

add_block('built-in/Outport',[sys,'/',['Time-sharing',13,'demux/Pulses deivide',13,'same sample time/Outport']])
set_param([sys,'/',['Time-sharing',13,'demux/Pulses deivide',13,'same sample time/Outport']],...
		'position',[160,35,180,55])

add_block('built-in/S-Function',[sys,'/',['Time-sharing',13,'demux/Pulses deivide',13,'same sample time/S-function1']])
set_param([sys,'/',['Time-sharing',13,'demux/Pulses deivide',13,'same sample time/S-function1']],...
		'function name','homopuls',...
		'parameters','samp_time, out_divid, offset',...
		'position',[40,31,105,59])
add_line([sys,'/',['Time-sharing',13,'demux/Pulses deivide',13,'same sample time']],[110,45;155,45])
set_param([sys,'/',['Time-sharing',13,'demux/Pulses deivide',13,'same sample time']],...
		'Mask Display','Vector\nPulse',...
		'Mask Type','Pulse generator')
set_param([sys,'/',['Time-sharing',13,'demux/Pulses deivide',13,'same sample time']],...
		'Mask Dialogue','Vector pulses with sample rate of each pulse as Sample_time ./Divider. |Sample time (scalar, sec):|Divider (integer vector):|Offset (have same dimension as Divider:')
set_param([sys,'/',['Time-sharing',13,'demux/Pulses deivide',13,'same sample time']],...
		'Mask Translate','samp_time=@1;out_divid=@2;offset=@3;')
set_param([sys,'/',['Time-sharing',13,'demux/Pulses deivide',13,'same sample time']],...
		'Mask Help','This block generator a vector pulses. The output length is the same as the vector defined in "Divider". The ith element of the output has the sample time Sample_time/Divider(i). All elements in "Divider" must be integers.')
set_param([sys,'/',['Time-sharing',13,'demux/Pulses deivide',13,'same sample time']],...
		'Mask Entries','td\/N\/0\/')


%     Finished composite block ['Time-sharing',13,'demux/Pulses deivide',13,'same sample time'].

set_param([sys,'/',['Time-sharing',13,'demux/Pulses deivide',13,'same sample time']],...
		'position',[35,86,100,124])

add_block('built-in/Outport',[sys,'/',['Time-sharing',13,'demux/out_1']])
set_param([sys,'/',['Time-sharing',13,'demux/out_1']],...
		'position',[275,35,295,55])


%     Subsystem  ['Time-sharing',13,'demux/Triggered time',13,'domain switch'].

new_system([sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch']])
set_param([sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch']],'Location',[672,516,1052,680])

add_block('built-in/S-Function',[sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch/S-function']])
set_param([sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch/S-function']],...
		'function name','stdmamux',...
		'parameters','sw,ke,in,tt',...
		'position',[205,60,275,90])

add_block('built-in/Inport',[sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch/in_2']])
set_param([sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch/in_2']],...
		'Port','2',...
		'position',[60,75,80,95])

add_block('built-in/Outport',[sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch/out_1']])
set_param([sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch/out_1']],...
		'position',[320,65,340,85])

add_block('built-in/Mux',[sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch/Mux']])
set_param([sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch/Mux']],...
		'inputs','2',...
		'position',[145,54,175,96])

add_block('built-in/Inport',[sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch/in_1']])
set_param([sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch/in_1']],...
		'position',[65,20,85,40])
add_line([sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch']],[280,75;315,75])
add_line([sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch']],[180,75;200,75])
add_line([sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch']],[85,85;140,85])
add_line([sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch']],[90,30;120,30;120,65;140,65])
set_param([sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch']],...
		'Mask Display','Vector\nredistributor',...
		'Mask Type','Triggered time domain switch')
set_param([sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch']],...
		'Mask Dialogue','The rasing edge impulse from the 2nd inport triggers the output of this block by the distribution of the next row in the switch box variable.|Switch box:|Keeping value:|Initial value:|Trigger threshold:')
set_param([sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch']],...
		'Mask Translate','sw=@1;ke=@2;in=@3;tt=@4;')
set_param([sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch']],...
		'Mask Help','The column number of the switch box is the size of the output vector size, which is the size for vector keep_value and initial_value. The raising edge of the 2nd inport trigger the distribution pattern goes to the next row of the switch box.  When switch_box has value 0, the output keeps the last output value if keeping_value is greater than 0; the output is initial_value when the keep_value is less than 0.')
set_param([sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch']],...
		'Mask Entries','eye(N)\/-ones(1,N)\/zeros(1,N)\/.1\/')


%     Finished composite block ['Time-sharing',13,'demux/Triggered time',13,'domain switch'].

set_param([sys,'/',['Time-sharing',13,'demux/Triggered time',13,'domain switch']],...
		'position',[150,15,230,70])
add_line([sys,'/',['Time-sharing',13,'demux']],[85,30;145,30])
add_line([sys,'/',['Time-sharing',13,'demux']],[105,105;120,105;120,55;145,55])
add_line([sys,'/',['Time-sharing',13,'demux']],[235,45;270,45])
set_param([sys,'/',['Time-sharing',13,'demux']],...
		'Mask Display','Time-share\ndemux',...
		'Mask Type','Time-sharing demultiplex')
set_param([sys,'/',['Time-sharing',13,'demux']],...
		'Mask Dialogue','This block partitions each transfer\nperiod into even length time slots. Each element of the output vector takes one\ntime slot to output the input in turn.|Transfer period (sec):|Input vector length:')
set_param([sys,'/',['Time-sharing',13,'demux']],...
		'Mask Translate','td=@1;N=@2;')
set_param([sys,'/',['Time-sharing',13,'demux']],...
		'Mask Help','This block inputs a scalar signal and outputs a length N_out vector. The transfer period T_in is partitioned into N_out slots. Each time slot input is placed into different elements of the output in the order arranged by the position of the vector input.')
set_param([sys,'/',['Time-sharing',13,'demux']],...
		'Mask Entries','1\/3\/')


%     Finished composite block ['Time-sharing',13,'demux'].

set_param([sys,'/',['Time-sharing',13,'demux']],...
		'position',[190,118,270,162])


%     Subsystem  ['Digital-TDMA',13,'demo'].

new_system([sys,'/',['Digital-TDMA',13,'demo']])
set_param([sys,'/',['Digital-TDMA',13,'demo']],'Location',[175,552,335,697])
set_param([sys,'/',['Digital-TDMA',13,'demo']],...
		'Mask Display','D-TDMA\ndemo',...
		'Mask Dialogue','eval(''tsttdma'')')


%     Finished composite block ['Digital-TDMA',13,'demo'].

set_param([sys,'/',['Digital-TDMA',13,'demo']],...
		'BackGround',7,...
		'position',[325,43,405,87])


%     Subsystem  ['Triggered',13,'signal switch'].

new_system([sys,'/',['Triggered',13,'signal switch']])
set_param([sys,'/',['Triggered',13,'signal switch']],'Location',[672,516,1052,680])

add_block('built-in/S-Function',[sys,'/',['Triggered',13,'signal switch/S-function']])
set_param([sys,'/',['Triggered',13,'signal switch/S-function']],...
		'function name','stdmamux',...
		'parameters','sw,ke,in,tt',...
		'position',[205,60,275,90])

add_block('built-in/Inport',[sys,'/',['Triggered',13,'signal switch/in_2']])
set_param([sys,'/',['Triggered',13,'signal switch/in_2']],...
		'Port','2',...
		'position',[60,75,80,95])

add_block('built-in/Outport',[sys,'/',['Triggered',13,'signal switch/out_1']])
set_param([sys,'/',['Triggered',13,'signal switch/out_1']],...
		'position',[320,65,340,85])

add_block('built-in/Mux',[sys,'/',['Triggered',13,'signal switch/Mux']])
set_param([sys,'/',['Triggered',13,'signal switch/Mux']],...
		'inputs','2',...
		'position',[145,54,175,96])

add_block('built-in/Inport',[sys,'/',['Triggered',13,'signal switch/in_1']])
set_param([sys,'/',['Triggered',13,'signal switch/in_1']],...
		'position',[65,20,85,40])
add_line([sys,'/',['Triggered',13,'signal switch']],[280,75;315,75])
add_line([sys,'/',['Triggered',13,'signal switch']],[180,75;200,75])
add_line([sys,'/',['Triggered',13,'signal switch']],[85,85;140,85])
add_line([sys,'/',['Triggered',13,'signal switch']],[90,30;120,30;120,65;140,65])
set_param([sys,'/',['Triggered',13,'signal switch']],...
		'Mask Display','plot(0,0,100,100,v,w);Vct re-arr',...
		'Mask Type','Vector signal re-distribution')
set_param([sys,'/',['Triggered',13,'signal switch']],...
		'Mask Dialogue','The rising edge from the 2nd inport\ntriggers the block to output the input\nelement with the index given in the next row of the switch box.|Switch box (column number equals block output length):|Keeping value (flag 0 element in switch box):|Initial value (before the 1st trigger is detected):|Trigger threshold:')
set_param([sys,'/',['Triggered',13,'signal switch']],...
		'Mask Translate','sw=@1;ke=@2;in=@3;tt=@4;[v,w]=trigicon(0,25,get_param(gcb,''orientation''),2);')
set_param([sys,'/',['Triggered',13,'signal switch']],...
		'Mask Help','When current switch box row is [i,j], the 1st and 2nd elements output the ith and jth input respectively. The switch_box column number must be same lengths as the output, keep_value, and init_value. The rising edge of the 2nd inport triggers the distribution pattern following the next row of the switch_box. With 0 element in switch_box, the output keeps the last output value with a >=0 keep_value; it equals init_val otherwise.')
set_param([sys,'/',['Triggered',13,'signal switch']],...
		'Mask Entries','[1 2 3;2 3 1;3 1 2]\/[-1 -1 -1]\/[0 0 0]\/.1\/')


%     Finished composite block ['Triggered',13,'signal switch'].

set_param([sys,'/',['Triggered',13,'signal switch']],...
		'position',[35,198,115,242])
add_line(sys,[120,65;185,65])
add_line(sys,[120,140;185,140])

drawnow

% Return any arguments.
if (nargin | nargout)
	% Must use feval here to access system in memory
	if (nargin > 3)
		if (flag == 0)
			eval(['[ret,x0,str,ts,xts]=',sys,'(t,x,u,flag);'])
		else
			eval(['ret =', sys,'(t,x,u,flag);'])
		end
	else
		[ret,x0,str,ts,xts] = feval(sys);
	end
else
	drawnow % Flash up the model and execute load callback
end

⌨️ 快捷键说明

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