📄 tsttrans.m
字号:
add_block('built-in/Outport',[sys,'/',['Change',13,'sample rate/Triggered',13,'buffer down/out_1']])
set_param([sys,'/',['Change',13,'sample rate/Triggered',13,'buffer down/out_1']],...
'position',[390,60,410,80])
add_line([sys,'/',['Change',13,'sample rate/Triggered',13,'buffer down']],[90,95;105,95])
add_line([sys,'/',['Change',13,'sample rate/Triggered',13,'buffer down']],[335,90;350,90])
add_line([sys,'/',['Change',13,'sample rate/Triggered',13,'buffer down']],[65,80;105,80])
add_line([sys,'/',['Change',13,'sample rate/Triggered',13,'buffer down']],[335,70;385,70])
add_line([sys,'/',['Change',13,'sample rate/Triggered',13,'buffer down']],[40,65;105,65])
add_line([sys,'/',['Change',13,'sample rate/Triggered',13,'buffer down']],[145,80;180,80])
add_line([sys,'/',['Change',13,'sample rate/Triggered',13,'buffer down']],[240,80;285,80])
set_param([sys,'/',['Change',13,'sample rate/Triggered',13,'buffer down']],...
'Mask Display','Triggered\nbuffer dn',...
'Mask Type','Triggered buffer down.')
set_param([sys,'/',['Change',13,'sample rate/Triggered',13,'buffer down']],...
'Mask Dialogue','Triggered buffer down.|Input signal vector size:|Initial index (integer vector):|Increament for each index (integer vector):|Trigger threshold:|When index exceed register size, 1 for cyclic ouput, 0 for zero output:')
set_param([sys,'/',['Change',13,'sample rate/Triggered',13,'buffer down']],...
'Mask Translate','in_size=@1; ini_idx=@2; idx_inc=@3; thrshld=@4; cycl_flag=@5; out_size=length(ini_idx);')
set_param([sys,'/',['Change',13,'sample rate/Triggered',13,'buffer down']],...
'Mask Help','The register inside this block take the signal vector at the 1st inport by the raising edge of the second inport. The fisrt outport outputs a signal vector at the raising edge of the third inport.')
set_param([sys,'/',['Change',13,'sample rate/Triggered',13,'buffer down']],...
'Mask Entries','si*so\/0\/si\/.1\/1\/')
% Finished composite block ['Change',13,'sample rate/Triggered',13,'buffer down'].
set_param([sys,'/',['Change',13,'sample rate/Triggered',13,'buffer down']],...
'position',[420,43,480,87])
add_block('built-in/Outport',[sys,'/',['Change',13,'sample rate/out_1']])
set_param([sys,'/',['Change',13,'sample rate/out_1']],...
'position',[520,45,540,65])
% Subsystem ['Change',13,'sample rate/Register-shift'].
new_system([sys,'/',['Change',13,'sample rate/Register-shift']])
set_param([sys,'/',['Change',13,'sample rate/Register-shift']],'Location',[19,610,374,740])
add_block('built-in/Demux',[sys,'/',['Change',13,'sample rate/Register-shift/Demux']])
set_param([sys,'/',['Change',13,'sample rate/Register-shift/Demux']],...
'outputs','[len_rg, 1]',...
'position',[260,55,300,90])
add_block('built-in/S-Function',[sys,'/',['Change',13,'sample rate/Register-shift/S-function']])
set_param([sys,'/',['Change',13,'sample rate/Register-shift/S-function']],...
'function name','regshift',...
'parameters','shft_out, thrhld',...
'position',[150,65,200,85])
add_block('built-in/Mux',[sys,'/',['Change',13,'sample rate/Register-shift/Mux']])
set_param([sys,'/',['Change',13,'sample rate/Register-shift/Mux']],...
'inputs','2',...
'position',[80,56,115,89])
add_block('built-in/Outport',[sys,'/',['Change',13,'sample rate/Register-shift/out_1']])
set_param([sys,'/',['Change',13,'sample rate/Register-shift/out_1']],...
'position',[330,55,350,75])
add_block('built-in/Outport',[sys,'/',['Change',13,'sample rate/Register-shift/out_2']])
set_param([sys,'/',['Change',13,'sample rate/Register-shift/out_2']],...
'Port','2',...
'position',[330,70,350,90])
add_block('built-in/Inport',[sys,'/',['Change',13,'sample rate/Register-shift/in_1']])
set_param([sys,'/',['Change',13,'sample rate/Register-shift/in_1']],...
'position',[30,55,50,75])
add_block('built-in/Inport',[sys,'/',['Change',13,'sample rate/Register-shift/in_2']])
set_param([sys,'/',['Change',13,'sample rate/Register-shift/in_2']],...
'Port','2',...
'position',[30,70,50,90])
add_line([sys,'/',['Change',13,'sample rate/Register-shift']],[120,75;145,75])
add_line([sys,'/',['Change',13,'sample rate/Register-shift']],[205,75;255,75])
add_line([sys,'/',['Change',13,'sample rate/Register-shift']],[305,65;325,65])
add_line([sys,'/',['Change',13,'sample rate/Register-shift']],[305,80;325,80])
add_line([sys,'/',['Change',13,'sample rate/Register-shift']],[55,65;75,65])
add_line([sys,'/',['Change',13,'sample rate/Register-shift']],[55,80;75,80])
set_param([sys,'/',['Change',13,'sample rate/Register-shift']],...
'Mask Display','Store\nShift',...
'Mask Type','Register-shift')
set_param([sys,'/',['Change',13,'sample rate/Register-shift']],...
'Mask Dialogue','Store and shift the input from 1st port by raising edge of the pulse from second port.|Vector specify ouput delay length(non-negative integer):|Threshold for the pulse signal from the 2nd port:')
set_param([sys,'/',['Change',13,'sample rate/Register-shift']],...
'Mask Translate','shft_out=@1; thrhld=@2; len_rg=length(@1);')
set_param([sys,'/',['Change',13,'sample rate/Register-shift']],...
'Mask Help','This block store the 1st inport signal at the raising edge of 2nd inport pulse. The 1st outport outputs a vector with its size same as the the size of the 1st entree of this block. The maximum delay is the register size of this block. The second outport output a positive pulse at the begining of entire register refreshment.')
set_param([sys,'/',['Change',13,'sample rate/Register-shift']],...
'Mask Entries','[si-1:-1:0]\/.1\/')
% Finished composite block ['Change',13,'sample rate/Register-shift'].
set_param([sys,'/',['Change',13,'sample rate/Register-shift']],...
'position',[210,41,265,74])
add_block('built-in/Inport',[sys,'/',['Change',13,'sample rate/in_1']])
set_param([sys,'/',['Change',13,'sample rate/in_1']],...
'position',[110,40,130,60])
% Subsystem ['Change',13,'sample rate/Pulses deivide',13,'same sample time'].
new_system([sys,'/',['Change',13,'sample rate/Pulses deivide',13,'same sample time']])
set_param([sys,'/',['Change',13,'sample rate/Pulses deivide',13,'same sample time']],'Location',[55,192,283,286])
add_block('built-in/S-Function',[sys,'/',['Change',13,'sample rate/Pulses deivide',13,'same sample time/S-function1']])
set_param([sys,'/',['Change',13,'sample rate/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,'/',['Change',13,'sample rate/Pulses deivide',13,'same sample time/Outport']])
set_param([sys,'/',['Change',13,'sample rate/Pulses deivide',13,'same sample time/Outport']],...
'position',[160,35,180,55])
add_line([sys,'/',['Change',13,'sample rate/Pulses deivide',13,'same sample time']],[110,45;155,45])
set_param([sys,'/',['Change',13,'sample rate/Pulses deivide',13,'same sample time']],...
'Mask Display','Vector\nPulse',...
'Mask Type','Pulse generator')
set_param([sys,'/',['Change',13,'sample rate/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,'/',['Change',13,'sample rate/Pulses deivide',13,'same sample time']],...
'Mask Translate','samp_time=@1;out_divid=@2;offset=@3;')
set_param([sys,'/',['Change',13,'sample rate/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,'/',['Change',13,'sample rate/Pulses deivide',13,'same sample time']],...
'Mask Entries','samp\/[si, so]\/[0 0]\/')
% Finished composite block ['Change',13,'sample rate/Pulses deivide',13,'same sample time'].
set_param([sys,'/',['Change',13,'sample rate/Pulses deivide',13,'same sample time']],...
'position',[35,81,95,119])
add_block('built-in/Demux',[sys,'/',['Change',13,'sample rate/Demux']])
set_param([sys,'/',['Change',13,'sample rate/Demux']],...
'outputs','2',...
'position',[120,80,160,115])
add_line([sys,'/',['Change',13,'sample rate']],[270,50;270,30;310,30])
add_line([sys,'/',['Change',13,'sample rate']],[380,30;385,30;385,50;415,50])
add_line([sys,'/',['Change',13,'sample rate']],[165,105;390,105;390,80;415,80])
add_line([sys,'/',['Change',13,'sample rate']],[270,65;415,65])
add_line([sys,'/',['Change',13,'sample rate']],[165,90;185,90;185,65;205,65])
add_line([sys,'/',['Change',13,'sample rate']],[100,100;115,100])
add_line([sys,'/',['Change',13,'sample rate']],[135,50;205,50])
add_line([sys,'/',['Change',13,'sample rate']],[485,55;515,55])
set_param([sys,'/',['Change',13,'sample rate']],...
'Mask Display','Sample\nrate\ntransmiter',...
'Mask Type','Sample-time transmitter')
set_param([sys,'/',['Change',13,'sample rate']],...
'Mask Dialogue','Generate different sample rate from input signal.|Common sample time:|input divider (integer):|output divider (integer):')
set_param([sys,'/',['Change',13,'sample rate']],...
'Mask Translate','samp=@1; si=@2; so=@3; d=eye(si); x=ones(so,1)*[1:si];x=x(:);d=d(:,x)'';')
set_param([sys,'/',['Change',13,'sample rate']],...
'Mask Help','Provided the input signal with sample time being global_sample_time/input_divider, this block outputs a changed sample rate over the input signal at sample time being global_sample_time/output_divider. Bother input_divider and output_divider must be integer. This block causes a delay of common_sample_time. When output_divider<input_divider, the down sample case, a lowpass filter is suggested placing before the transmitter.')
set_param([sys,'/',['Change',13,'sample rate']],...
'Mask Entries','.1\/3\/15\/')
% Finished composite block ['Change',13,'sample rate'].
set_param([sys,'/',['Change',13,'sample rate']],...
'position',[200,33,265,77])
add_block('built-in/Note',[sys,'/',[' T=[0:.1:100]//3;T=T(:);U=rand(length(T),1)*2;',13,'num=10;den=[1,1.4,10]; ',13,'[num1,den1]=c2dm(num,den,.1//3); ',13,'[num2,den2]=c2dm(num,den,.1//15);']])
set_param([sys,'/',[' T=[0:.1:100]//3;T=T(:);U=rand(length(T),1)*2;',13,'num=10;den=[1,1.4,10]; ',13,'[num1,den1]=c2dm(num,den,.1//3); ',13,'[num2,den2]=c2dm(num,den,.1//15);']],...
'position',[175,210,180,215])
add_block('built-in/Note',[sys,'/','The data are prepared as follows:'])
set_param([sys,'/','The data are prepared as follows:'],...
'position',[170,190,175,195])
add_line(sys,[105,55;195,55])
add_line(sys,[270,55;310,55])
add_line(sys,[160,55;160,125;190,125])
add_line(sys,[485,80;500,80])
add_line(sys,[375,55;395,55;395,70;440,70])
add_line(sys,[470,170;490,170])
add_line(sys,[270,125;395,125;395,85;440,85])
add_line(sys,[270,55;280,55;280,160;425,160])
add_line(sys,[160,125;160,175;425,175])
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 + -