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

📄 tsttdmaa.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 2 页
字号:
set_param([sys,'/',['Time-sharing',13,'demux1/Triggered time',13,'domain switch']],...
		'Mask Translate','sw=@1;ke=@2;in=@3;tt=@4;')
set_param([sys,'/',['Time-sharing',13,'demux1/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,'demux1/Triggered time',13,'domain switch']],...
		'Mask Entries','eye(N)\/-ones(1,N)\/zeros(1,N)\/.1\/')


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

set_param([sys,'/',['Time-sharing',13,'demux1/Triggered time',13,'domain switch']],...
		'position',[150,15,230,70])

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


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

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

add_block('built-in/S-Function',[sys,'/',['Time-sharing',13,'demux1/Pulses deivide',13,'same sample time/S-function1']])
set_param([sys,'/',['Time-sharing',13,'demux1/Pulses deivide',13,'same sample time/S-function1']],...
		'function name','homopuls',...
		'parameters','samp_time, out_divid, offset',...
		'position',[40,31,105,59])

add_block('built-in/Outport',[sys,'/',['Time-sharing',13,'demux1/Pulses deivide',13,'same sample time/Outport']])
set_param([sys,'/',['Time-sharing',13,'demux1/Pulses deivide',13,'same sample time/Outport']],...
		'position',[160,35,180,55])
add_line([sys,'/',['Time-sharing',13,'demux1/Pulses deivide',13,'same sample time']],[110,45;155,45])
set_param([sys,'/',['Time-sharing',13,'demux1/Pulses deivide',13,'same sample time']],...
		'Mask Display','Vector\nPulse',...
		'Mask Type','Pulse generator')
set_param([sys,'/',['Time-sharing',13,'demux1/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,'demux1/Pulses deivide',13,'same sample time']],...
		'Mask Translate','samp_time=@1;out_divid=@2;offset=@3;')
set_param([sys,'/',['Time-sharing',13,'demux1/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,'demux1/Pulses deivide',13,'same sample time']],...
		'Mask Entries','td\/N\/0\/')


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

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

add_block('built-in/Inport',[sys,'/',['Time-sharing',13,'demux1/in_1']])
set_param([sys,'/',['Time-sharing',13,'demux1/in_1']],...
		'position',[60,20,80,40])
add_line([sys,'/',['Time-sharing',13,'demux1']],[235,45;270,45])
add_line([sys,'/',['Time-sharing',13,'demux1']],[105,105;120,105;120,55;145,55])
add_line([sys,'/',['Time-sharing',13,'demux1']],[85,30;145,30])
set_param([sys,'/',['Time-sharing',13,'demux1']],...
		'Mask Display','Time-share\ndemux',...
		'Mask Type','Time-sharing demultiplex')
set_param([sys,'/',['Time-sharing',13,'demux1']],...
		'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,'demux1']],...
		'Mask Translate','td=@1;N=@2;')
set_param([sys,'/',['Time-sharing',13,'demux1']],...
		'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,'demux1']],...
		'Mask Entries','1\/3\/')


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

set_param([sys,'/',['Time-sharing',13,'demux1']],...
		'hide name',0,...
		'position',[325,68,405,112])

add_block('built-in/Mux',[sys,'/','Mux'])
set_param([sys,'/','Mux'],...
		'hide name',0,...
		'inputs','3',...
		'position',[125,73,160,107])

add_block('built-in/Signal Generator',[sys,'/',['Signal',13,'generator1']])
set_param([sys,'/',['Signal',13,'generator1']],...
		'ForeGround',4,...
		'hide name',0,...
		'Peak','1.000000',...
		'Peak Range','2.000000',...
		'Freq','3.000000',...
		'Freq Range','5.000000',...
		'Wave','Saw',...
		'Units','Rads')
set_param([sys,'/',['Signal',13,'generator1']],...
		'position',[30,73,75,107])

add_block('built-in/Signal Generator',[sys,'/',['Signal',13,'generator']])
set_param([sys,'/',['Signal',13,'generator']],...
		'ForeGround',2,...
		'hide name',0,...
		'Peak','1.000000',...
		'Peak Range','2.000000',...
		'Freq','2.000000',...
		'Freq Range','5.000000',...
		'Wave','Sin',...
		'Units','Rads')
set_param([sys,'/',['Signal',13,'generator']],...
		'position',[30,8,75,42])

add_block('built-in/Scope',[sys,'/','element 1'])
set_param([sys,'/','element 1'],...
		'Vgain','1.000000',...
		'Hgain','5.000000',...
		'Vmax','2.000000',...
		'Hmax','10.000000',...
		'Window',[21,344,343,627])
open_system([sys,'/','element 1'])
set_param([sys,'/','element 1'],...
		'position',[590,22,610,48])

add_block('built-in/Mux',[sys,'/','Mux2'])
set_param([sys,'/','Mux2'],...
		'hide name',0,...
		'inputs','2',...
		'position',[525,66,560,99])

add_block('built-in/Scope',[sys,'/','element 2'])
set_param([sys,'/','element 2'],...
		'Vgain','1.000000',...
		'Hgain','5.000000',...
		'Vmax','2.000000',...
		'Hmax','10.000000',...
		'Window',[342,343,664,626])
open_system([sys,'/','element 2'])
set_param([sys,'/','element 2'],...
		'position',[590,72,610,98])

add_block('built-in/Scope',[sys,'/','multiplex signal'])
set_param([sys,'/','multiplex signal'],...
		'Vgain','1.000000',...
		'Hgain','5.000000',...
		'Vmax','2.000000',...
		'Hmax','10.000000',...
		'Window',[682,52,1004,334])
open_system([sys,'/','multiplex signal'])
set_param([sys,'/','multiplex signal'],...
		'position',[350,117,370,143])

add_block('built-in/Scope',[sys,'/','element 3'])
set_param([sys,'/','element 3'],...
		'Vgain','1.000000',...
		'Hgain','5.000000',...
		'Vmax','2.000000',...
		'Hmax','10.000000',...
		'Window',[666,343,988,625])
open_system([sys,'/','element 3'])
set_param([sys,'/','element 3'],...
		'position',[590,147,610,173])

add_block('built-in/Mux',[sys,'/','Mux3'])
set_param([sys,'/','Mux3'],...
		'hide name',0,...
		'inputs','2',...
		'position',[525,141,560,174])

add_block('built-in/Signal Generator',[sys,'/',['Signal',13,'generator2']])
set_param([sys,'/',['Signal',13,'generator2']],...
		'ForeGround',6,...
		'hide name',0,...
		'Peak','1.000000',...
		'Peak Range','2.000000',...
		'Freq','5.000000',...
		'Freq Range','5.000000',...
		'Wave','Sin',...
		'Units','Rads')
set_param([sys,'/',['Signal',13,'generator2']],...
		'position',[30,148,75,182])

add_block('built-in/Mux',[sys,'/','Mux1'])
set_param([sys,'/','Mux1'],...
		'hide name',0,...
		'inputs','2',...
		'position',[525,16,560,49])
add_line(sys,[80,90;120,90])
add_line(sys,[165,90;190,90])
add_line(sys,[280,90;320,90])
add_line(sys,[485,100;490,100;490,150;520,150])
add_line(sys,[565,160;585,160])
add_line(sys,[485,90;520,90])
add_line(sys,[565,85;585,85])
add_line(sys,[485,80;490,80;490,40;520,40])
add_line(sys,[565,35;585,35])
add_line(sys,[410,90;435,90])
add_line(sys,[80,25;520,25])
add_line(sys,[80,165;520,165])
add_line(sys,[95,90;95,60;510,60;520,75])
add_line(sys,[295,90;295,130;345,130])
add_line(sys,[105,25;105,80;120,80])
add_line(sys,[105,165;105,100;120,100])

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 + -