📄 tstrssq.m
字号:
add_block('built-in/Outport',[sys,'/',['Binary sequence',13,'R-S encode/Register-shift/out_2']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Register-shift/out_2']],...
'Port','2',...
'position',[330,70,350,90])
add_block('built-in/Inport',[sys,'/',['Binary sequence',13,'R-S encode/Register-shift/in_1']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Register-shift/in_1']],...
'position',[30,55,50,75])
add_block('built-in/Inport',[sys,'/',['Binary sequence',13,'R-S encode/Register-shift/in_2']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Register-shift/in_2']],...
'Port','2',...
'position',[30,70,50,90])
add_line([sys,'/',['Binary sequence',13,'R-S encode/Register-shift']],[120,75;145,75])
add_line([sys,'/',['Binary sequence',13,'R-S encode/Register-shift']],[205,75;255,75])
add_line([sys,'/',['Binary sequence',13,'R-S encode/Register-shift']],[305,65;325,65])
add_line([sys,'/',['Binary sequence',13,'R-S encode/Register-shift']],[305,80;325,80])
add_line([sys,'/',['Binary sequence',13,'R-S encode/Register-shift']],[55,65;75,65])
add_line([sys,'/',['Binary sequence',13,'R-S encode/Register-shift']],[55,80;75,80])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Register-shift']],...
'Mask Display','Register\nshift',...
'Mask Type','Register-shift')
set_param([sys,'/',['Binary sequence',13,'R-S encode/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,'/',['Binary sequence',13,'R-S encode/Register-shift']],...
'Mask Translate','shft_out=@1; thrhld=@2; len_rg=length(@1);')
set_param([sys,'/',['Binary sequence',13,'R-S encode/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,'/',['Binary sequence',13,'R-S encode/Register-shift']],...
'Mask Entries','[k:-1:1]\/.1\/')
% Finished composite block ['Binary sequence',13,'R-S encode/Register-shift'].
set_param([sys,'/',['Binary sequence',13,'R-S encode/Register-shift']],...
'ForeGround',3,...
'position',[380,40,435,80])
% Subsystem ['Binary sequence',13,'R-S encode/Pulses deivide',13,'same sample time'].
new_system([sys,'/',['Binary sequence',13,'R-S encode/Pulses deivide',13,'same sample time']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Pulses deivide',13,'same sample time']],'Location',[55,192,283,286])
add_block('built-in/S-Function',[sys,'/',['Binary sequence',13,'R-S encode/Pulses deivide',13,'same sample time/S-function1']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/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,'/',['Binary sequence',13,'R-S encode/Pulses deivide',13,'same sample time/Outport']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Pulses deivide',13,'same sample time/Outport']],...
'position',[160,35,180,55])
add_line([sys,'/',['Binary sequence',13,'R-S encode/Pulses deivide',13,'same sample time']],[110,45;155,45])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Pulses deivide',13,'same sample time']],...
'Mask Display','Vector\nPulse',...
'Mask Type','Pulse generator')
set_param([sys,'/',['Binary sequence',13,'R-S encode/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,'/',['Binary sequence',13,'R-S encode/Pulses deivide',13,'same sample time']],...
'Mask Translate','samp_time=@1;out_divid=@2;offset=@3;')
set_param([sys,'/',['Binary sequence',13,'R-S encode/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,'/',['Binary sequence',13,'R-S encode/Pulses deivide',13,'same sample time']],...
'Mask Entries','samp*k*m\/[k*m, k, 1, n, n*m]\/[0 0 0 0 0]\/')
% Finished composite block ['Binary sequence',13,'R-S encode/Pulses deivide',13,'same sample time'].
set_param([sys,'/',['Binary sequence',13,'R-S encode/Pulses deivide',13,'same sample time']],...
'position',[30,106,90,144])
add_block('built-in/Demux',[sys,'/',['Binary sequence',13,'R-S encode/Demux']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Demux']],...
'outputs','5',...
'position',[115,108,160,142])
add_block('built-in/S-Function',[sys,'/',['Binary sequence',13,'R-S encode/Binary to integer']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Binary to integer']],...
'ForeGround',3,...
'function name','simbi2de',...
'parameters','p',...
'Mask Display','Vec to sca\nconverter',...
'Mask Type','Vectro to scalar converter')
set_param([sys,'/',['Binary sequence',13,'R-S encode/Binary to integer']],...
'Mask Dialogue','Positive integer vector to scalar decimal integer converter:|Input element base:',...
'Mask Translate','p=@1;')
set_param([sys,'/',['Binary sequence',13,'R-S encode/Binary to integer']],...
'Mask Help','This block converts a binary vector to a scalar decimal integer. The block takes the first element input as the lowest binary bit. For example, if u(1)=1 and u(2)=0, the block outputs y=1; if u(1)=0 and u(2)=1, the block outputs y=2.')
set_param([sys,'/',['Binary sequence',13,'R-S encode/Binary to integer']],...
'Mask Entries','2\/',...
'position',[280,37,345,63])
add_block('built-in/Outport',[sys,'/',['Binary sequence',13,'R-S encode/out_3']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/out_3']],...
'Port','3',...
'position',[905,155,925,175])
add_block('built-in/Note',[sys,'/',['Binary sequence',13,'R-S encode/Decoding process. Because it is computational expensive,',13,'calculate it only it is necessary']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Decoding process. Because it is computational expensive,',13,'calculate it only it is necessary']],...
'ForeGround',2,...
'position',[550,135,555,140])
% Subsystem ['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode'].
new_system([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode']],'Location',[143,192,726,352])
add_block('built-in/Memory',[sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode/Memory']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode/Memory']],...
'orientation',2,...
'x0','zeros(1,k+1)',...
'position',[295,95,335,125])
add_block('built-in/Switch',[sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode/Switch']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode/Switch']],...
'Threshold','0.5',...
'position',[295,44,325,76])
add_block('built-in/S-Function',[sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode/S-function']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode/S-function']],...
'function name','simrsdec',...
'parameters','n, k, tp, dim',...
'position',[170,20,235,40])
add_block('built-in/Mux',[sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode/Mux']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode/Mux']],...
'inputs','[n, 1]',...
'position',[80,41,115,74])
add_block('built-in/Inport',[sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode/in_1']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode/in_1']],...
'position',[20,15,40,35])
add_block('built-in/Inport',[sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode/in_2']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode/in_2']],...
'Port','2',...
'position',[10,100,30,120])
add_block('built-in/Demux',[sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode/Demux']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode/Demux']],...
'outputs','[k, 1]',...
'position',[395,40,435,75])
add_block('built-in/Outport',[sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode/out_1']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode/out_1']],...
'position',[495,30,515,50])
add_block('built-in/Outport',[sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode/out_2']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode/out_2']],...
'Port','2',...
'position',[495,95,515,115])
add_line([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode']],[330,60;390,60])
add_line([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode']],[360,60;360,110;340,110])
add_line([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode']],[290,110;255,110;255,70;290,70])
add_line([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode']],[240,30;255,30;255,50;290,50])
add_line([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode']],[45,25;60,25;60,50;75,50])
add_line([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode']],[120,60;150,60;150,30;165,30])
add_line([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode']],[35,110;200,110;200,60;290,60])
add_line([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode']],[60,110;60,65;75,65])
add_line([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode']],[440,50;455,50;455,40;490,40])
add_line([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode']],[440,65;455,65;455,105;490,105])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode']],...
'Mask Display','R-S\ndecode',...
'Mask Type','Reed-Solomon decode')
set_param([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode']],...
'Mask Dialogue','Code word length N, message length K, burst error-correction Reed-Solomon decode.|Code word length (N=2^M-1. M is a >2 integer):|Message length K < N:')
set_param([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode']],...
'Mask Translate','n=@1;k=@2;dim=3;p_d=7;while p_d<n,dim=dim+1;p_d=2^dim-1;end;tp=gftuple([-1:n-1]'',dim);')
set_param([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode']],...
'Mask Help','This block decodes N-ary integer code word from 1st inport into K-ary integer message sigusing at 1st ouport using Reed-Solomon method. M is an integer no less than 3. The input/output integers are in the range [0,N]. A non-zero second inport signal triggers the block to do decode process. The block outputs the last processed results when second inport signal is zero. The second outport outputs the error detected in the process. A negative output indicates more error than the capability.')
set_param([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode']],...
'Mask Entries','n\/k\/')
% Finished composite block ['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode'].
set_param([sys,'/',['Binary sequence',13,'R-S encode/Integer-vector',13,'R-S decode']],...
'ForeGround',2,...
'position',[645,5,705,45])
add_block('built-in/Outport',[sys,'/',['Binary sequence',13,'R-S encode/out_4']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/out_4']],...
'Port','4',...
'position',[660,175,680,195])
add_block('built-in/Mux',[sys,'/',['Binary sequence',13,'R-S encode/Mux']])
set_param([sys,'/',['Binary sequence',13,'R-S encode/Mux']],...
'inputs','[9,1]',...
'position',[565,162,600,198])
add_line([sys,'/',['Binary sequence',13,'R-S encode']],[525,70;540,70])
add_line([sys,'/',['Binary sequence',13,'R-S encode']],[710,80;720,80;720,40;905,40])
add_line([sys,'/',['Binary sequence',13,'R-S encode']],[905,70;940,70])
add_line([sys,'/',['Binary sequence',13,'R-S encode']],[810,65;835,65])
add_line([sys,'/',['Binary sequence',13,'R-S encode']],[710,65;735,65])
add_line([sys,'/',['Binary sequence',13,'R-S encode']],[140,50;185,50])
add_line([sys,'/',['Binary sequence',13,'R-S encode']],[165,115;175,115;185,70])
add_line([sys,'/',['Binary sequence',13,'R-S encode']],[250,50;275,50])
add_line([sys,'/',['Binary sequence',13,'R-S encode']],[350,50;375,50])
add_line([sys,'/',['Binary sequence',13,'R-S encode']],[440,50;540,50])
add_line([sys,'/',['Binary sequence',13,'R-S encode']],[95,125;110,125])
add_line([sys,'/',['Binary sequence',13,'R-S encode']],[610,60;640,60])
add_line([sys,'/',['Binary sequence',13,'R-S encode']],[165,130;625,130;625,80;640,80])
add_line([sys,'/',['Binary sequence',13,'R-S encode']],[165,135;825,135;835,85])
add_line([sys,'/',['Binary sequence',13,'R-S encode']],[625,130;820,130;820,75;835,75])
add_line([sys,'/',['Binary sequence',13,'R-S encode']],[250,70;265,70;265,85;360,85;360,70;375,70])
add_line([sys,'/',['Binary sequence',13,'R-S encode']],[440,70;465,70])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -