📄 tstcdma.m
字号:
add_line([sys,'/',['Time delayed',13,'control pulse/Rising edge',13,'detector1']],[45,25;45,95;120,95])
set_param([sys,'/',['Time delayed',13,'control pulse/Rising edge',13,'detector1']],...
'Mask Display','Edge\nDetector',...
'Mask Type','Edge Detection',...
'Mask Dialogue','Rising edge detection:|Threshold:',...
'Mask Translate','thld=@1;')
set_param([sys,'/',['Time delayed',13,'control pulse/Rising edge',13,'detector1']],...
'Mask Help','When the input signal rising edge passed the given shreshold, this block outputs one, otherwise outputs zero.',...
'Mask Entries','0.5\/')
% Finished composite block ['Time delayed',13,'control pulse/Rising edge',13,'detector1'].
set_param([sys,'/',['Time delayed',13,'control pulse/Rising edge',13,'detector1']],...
'position',[250,83,325,127])
add_block('built-in/Zero-Order Hold',[sys,'/',['Time delayed',13,'control pulse/Zero-Order',13,'Hold1']])
set_param([sys,'/',['Time delayed',13,'control pulse/Zero-Order',13,'Hold1']],...
'Sample time','[20*ts, 10*ts]',...
'position',[365,89,400,121])
add_block('built-in/Zero-Order Hold',[sys,'/',['Time delayed',13,'control pulse/Zero-Order',13,'Hold']])
set_param([sys,'/',['Time delayed',13,'control pulse/Zero-Order',13,'Hold']],...
'Sample time','20*ts',...
'position',[325,29,360,61])
add_block('built-in/Sum',[sys,'/',['Time delayed',13,'control pulse/Sum1']])
set_param([sys,'/',['Time delayed',13,'control pulse/Sum1']],...
'position',[440,77,460,113])
add_block('built-in/Outport',[sys,'/',['Time delayed',13,'control pulse/out_1']])
set_param([sys,'/',['Time delayed',13,'control pulse/out_1']],...
'position',[500,85,520,105])
add_line([sys,'/',['Time delayed',13,'control pulse']],[160,105;245,105])
add_line([sys,'/',['Time delayed',13,'control pulse']],[160,45;195,45])
add_line([sys,'/',['Time delayed',13,'control pulse']],[55,45;100,45])
add_line([sys,'/',['Time delayed',13,'control pulse']],[75,45;75,105;100,105])
add_line([sys,'/',['Time delayed',13,'control pulse']],[280,45;320,45])
add_line([sys,'/',['Time delayed',13,'control pulse']],[365,45;410,45;410,85;435,85])
add_line([sys,'/',['Time delayed',13,'control pulse']],[330,105;360,105])
add_line([sys,'/',['Time delayed',13,'control pulse']],[405,105;435,105])
add_line([sys,'/',['Time delayed',13,'control pulse']],[465,95;495,95])
% Finished composite block ['Time delayed',13,'control pulse'].
set_param([sys,'/',['Time delayed',13,'control pulse']],...
'position',[425,127,495,173])
add_block('built-in/Signal Generator',[sys,'/','Sin wave'])
set_param([sys,'/','Sin wave'],...
'ForeGround',2,...
'hide name',0,...
'Peak','1.000000',...
'Peak Range','5.000000',...
'Freq','7.000000',...
'Freq Range','7.000000',...
'Wave','Sin',...
'Units','Rads')
set_param([sys,'/','Sin wave'],...
'position',[25,128,70,162])
add_block('built-in/Signal Generator',[sys,'/',['Sawtooth',13,'wave']])
set_param([sys,'/',['Sawtooth',13,'wave']],...
'ForeGround',3,...
'hide name',0,...
'Peak','1.000000',...
'Peak Range','5.000000',...
'Freq','3.000000',...
'Freq Range','5.000000',...
'Wave','Saw',...
'Units','Rads')
set_param([sys,'/',['Sawtooth',13,'wave']],...
'position',[25,63,70,97])
add_block('built-in/Signal Generator',[sys,'/',['Square',13,'wave']])
set_param([sys,'/',['Square',13,'wave']],...
'ForeGround',5,...
'hide name',0,...
'Peak','1.000000',...
'Peak Range','5.000000',...
'Freq','4.000000',...
'Freq Range','5.000000',...
'Wave','Sqr',...
'Units','Rads')
set_param([sys,'/',['Square',13,'wave']],...
'position',[25,13,70,47])
add_block('built-in/Scope',[sys,'/','element 3'])
set_param([sys,'/','element 3'],...
'Vgain','1.500000',...
'Hgain','4.000000',...
'Vmax','3.000000',...
'Hmax','8.000000',...
'Window',[676,348,995,636])
open_system([sys,'/','element 3'])
set_param([sys,'/','element 3'],...
'position',[875,147,895,173])
% Subsystem ['Pulses divide',13,'same sample time'].
new_system([sys,'/',['Pulses divide',13,'same sample time']])
set_param([sys,'/',['Pulses divide',13,'same sample time']],'Location',[55,192,283,286])
add_block('built-in/Outport',[sys,'/',['Pulses divide',13,'same sample time/Outport']])
set_param([sys,'/',['Pulses divide',13,'same sample time/Outport']],...
'position',[160,35,180,55])
add_block('built-in/S-Function',[sys,'/',['Pulses divide',13,'same sample time/S-function1']])
set_param([sys,'/',['Pulses divide',13,'same sample time/S-function1']],...
'function name','homopuls',...
'parameters','samp_time, out_divid, offset',...
'position',[40,31,105,59])
add_line([sys,'/',['Pulses divide',13,'same sample time']],[110,45;155,45])
set_param([sys,'/',['Pulses divide',13,'same sample time']],...
'Mask Display','plot(0,0,100,100,x,y);Pulse',...
'Mask Type','Pulse generator')
set_param([sys,'/',['Pulses divide',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 (same length as Divider):')
set_param([sys,'/',['Pulses divide',13,'same sample time']],...
'Mask Translate','samp_time=@1;out_divid=@2;offset=@3;[x,y]=srcsicon(2);')
set_param([sys,'/',['Pulses divide',13,'same sample time']],...
'Mask Help','This block generates a vector pulse. The output length is the same as the divider vector length. The ith element of the output has the sample time Sample_time/Divider(i). All elements in divider must be integers.')
set_param([sys,'/',['Pulses divide',13,'same sample time']],...
'Mask Entries','2\/1\/0\/')
% Finished composite block ['Pulses divide',13,'same sample time'].
set_param([sys,'/',['Pulses divide',13,'same sample time']],...
'hide name',0,...
'position',[115,128,195,172])
add_block('built-in/Mux',[sys,'/','Mux1'])
set_param([sys,'/','Mux1'],...
'hide name',0,...
'inputs','3',...
'position',[130,52,165,108])
% 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/Inport',[sys,'/',['Triggered',13,'signal switch/in_1']])
set_param([sys,'/',['Triggered',13,'signal switch/in_1']],...
'position',[65,20,85,40])
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/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/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/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_line([sys,'/',['Triggered',13,'signal switch']],[90,30;120,30;120,65;140,65])
add_line([sys,'/',['Triggered',13,'signal switch']],[85,85;140,85])
add_line([sys,'/',['Triggered',13,'signal switch']],[180,75;200,75])
add_line([sys,'/',['Triggered',13,'signal switch']],[280,75;315,75])
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']],...
'hide name',0,...
'position',[225,68,305,112])
add_block('built-in/Demux',[sys,'/','Demux'])
set_param([sys,'/','Demux'],...
'hide name',0,...
'outputs','3',...
'position',[730,73,775,127])
% Subsystem ['Triggered',13,'signal switch1'].
new_system([sys,'/',['Triggered',13,'signal switch1']])
set_param([sys,'/',['Triggered',13,'signal switch1']],'Location',[672,516,1052,680])
add_block('built-in/Inport',[sys,'/',['Triggered',13,'signal switch1/in_1']])
set_param([sys,'/',['Triggered',13,'signal switch1/in_1']],...
'position',[65,20,85,40])
add_block('built-in/Mux',[sys,'/',['Triggered',13,'signal switch1/Mux']])
set_param([sys,'/',['Triggered',13,'signal switch1/Mux']],...
'inputs','2',...
'position',[145,54,175,96])
add_block('built-in/Outport',[sys,'/',['Triggered',13,'signal switch1/out_1']])
set_param([sys,'/',['Triggered',13,'signal switch1/out_1']],...
'position',[320,65,340,85])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -