📄 tstcyclc.m
字号:
'Mask Translate','p=@1;')
set_param([sys,'/',['Integer vector',13,'to scalar2']],...
'Mask Help','This block convert the base M vector into scalar decimal integer output. Each element of the input vector is one position of the digit of the base M integer. The 1st element in the input vector contains the 1''s position. The 2nd element in the input vector contains the M''s position.')
set_param([sys,'/',['Integer vector',13,'to scalar2']],...
'Mask Entries','2\/',...
'position',[635,163,715,207])
add_block('built-in/S-Function',[sys,'/',['Integer scalar',13,'to vector']])
set_param([sys,'/',['Integer scalar',13,'to vector']],...
'hide name',0,...
'function name','simde2bi',...
'parameters','len, p',...
'Mask Display','Sca to vec\nconverter',...
'Mask Type','Decimal to base M vector')
set_param([sys,'/',['Integer scalar',13,'to vector']],...
'Mask Dialogue','Convert decimal integer input to base M\ninteger and output each position of the\nconverted integer using output vector.|Output vector length:|Conversion base M:')
set_param([sys,'/',['Integer scalar',13,'to vector']],...
'Mask Translate','len=@1;p=@2;')
set_param([sys,'/',['Integer scalar',13,'to vector']],...
'Mask Help','This block converts decimal integer scalar input to a base M integer. M must be a\npositive integer. The block outputs the base M integer using a vector. The 1st element in the output vector contains the 1''s position. The 2nd element in the output vector contains the M''s position, and so on. The output vector length is given by setting the parameter entry.')
set_param([sys,'/',['Integer scalar',13,'to vector']],...
'Mask Entries','4\/2\/',...
'position',[140,28,220,72])
% Subsystem ['Binary vector',13,'cyclic encode'].
new_system([sys,'/',['Binary vector',13,'cyclic encode']])
set_param([sys,'/',['Binary vector',13,'cyclic encode']],'Location',[235,592,599,711])
add_block('built-in/Outport',[sys,'/',['Binary vector',13,'cyclic encode/out_1']])
set_param([sys,'/',['Binary vector',13,'cyclic encode/out_1']],...
'position',[290,35,310,55])
add_block('built-in/S-Function',[sys,'/',['Binary vector',13,'cyclic encode/Modulus',13,'operation']])
set_param([sys,'/',['Binary vector',13,'cyclic encode/Modulus',13,'operation']],...
'function name','arymodu',...
'parameters','md',...
'Mask Display','Modulo',...
'Mask Type','Modulo')
set_param([sys,'/',['Binary vector',13,'cyclic encode/Modulus',13,'operation']],...
'Mask Dialogue','Modulus operation:|Modulus base:',...
'Mask Translate','md = @1;')
set_param([sys,'/',['Binary vector',13,'cyclic encode/Modulus',13,'operation']],...
'Mask Help','This block output modulus operation of the input signal with module base as specified in block entry. The length of the output vector is the same as the input vector.')
set_param([sys,'/',['Binary vector',13,'cyclic encode/Modulus',13,'operation']],...
'Mask Entries','2\/',...
'position',[180,26,240,64])
add_block('built-in/State-Space',[sys,'/',['Binary vector',13,'cyclic encode/Matrix',13,'Gain']])
set_param([sys,'/',['Binary vector',13,'cyclic encode/Matrix',13,'Gain']],...
'A','[]',...
'B','[]',...
'C','[]',...
'D','K',...
'Mask Display','K',...
'Mask Type','Matrix Gain',...
'Mask Dialogue','Matrix Gain.|Gain matrix:')
set_param([sys,'/',['Binary vector',13,'cyclic encode/Matrix',13,'Gain']],...
'Mask Translate','K = @1;',...
'Mask Help','Multiplies input vector by entered matrix to produce output vector (y=Au).',...
'Mask Entries','G\/')
set_param([sys,'/',['Binary vector',13,'cyclic encode/Matrix',13,'Gain']],...
'position',[110,31,135,59])
add_block('built-in/Inport',[sys,'/',['Binary vector',13,'cyclic encode/in_1']])
set_param([sys,'/',['Binary vector',13,'cyclic encode/in_1']],...
'position',[30,35,50,55])
add_line([sys,'/',['Binary vector',13,'cyclic encode']],[245,45;285,45])
add_line([sys,'/',['Binary vector',13,'cyclic encode']],[140,45;175,45])
add_line([sys,'/',['Binary vector',13,'cyclic encode']],[55,45;105,45])
set_param([sys,'/',['Binary vector',13,'cyclic encode']],...
'Mask Display','plot(0,0,100,100,x,y);Cyclic en',...
'Mask Type','Vector I/O cyclic encode')
set_param([sys,'/',['Binary vector',13,'cyclic encode']],...
'Mask Dialogue','Cyclic encode with codeword length N\nand message length K.|Codeword length N:|Message length K, or generator polynomial Pg:')
set_param([sys,'/',['Binary vector',13,'cyclic encode']],...
'Mask Translate','n=@1;p=@2;if length(p)==1,p=cyclpoly(n,p,''min'');if isempty(p),error(''No such cyclic code exist'');end;end;[h,G]=cyclgen(n, p);G=G'';[x,y]=codeicon(1);')
set_param([sys,'/',['Binary vector',13,'cyclic encode']],...
'Mask Help','This block encodes length K binary vector message input into length N binary vector codeword output using cyclic code. When Pg is specified instead of K, the block uses the user-defined cyclic polynomial Pg. Use function CYCLPOLY for a list of cyclic generator polynomials.')
set_param([sys,'/',['Binary vector',13,'cyclic encode']],...
'Mask Entries','7\/4\/')
% Finished composite block ['Binary vector',13,'cyclic encode'].
set_param([sys,'/',['Binary vector',13,'cyclic encode']],...
'hide name',0,...
'position',[255,158,335,202])
add_block('built-in/Sum',[sys,'/','Sum3'])
set_param([sys,'/','Sum3'],...
'hide name',0,...
'position',[370,175,390,195])
add_block('built-in/S-Function',[sys,'/',['Modulo',13,'operation2']])
set_param([sys,'/',['Modulo',13,'operation2']],...
'hide name',0,...
'function name','arymodu',...
'parameters','md',...
'Mask Display','Modulo',...
'Mask Type','Modulo')
set_param([sys,'/',['Modulo',13,'operation2']],...
'Mask Dialogue','Output the remainder of the input value divided by the modulo base.|Modulo base:',...
'Mask Translate','md = @1;')
set_param([sys,'/',['Modulo',13,'operation2']],...
'Mask Help','This block outputs the remainder of the input value divided by the modulo base. The length of the output vector is the same as the input vector.',...
'Mask Entries','2\/')
set_param([sys,'/',['Modulo',13,'operation2']],...
'position',[415,163,495,207])
% Subsystem ['Binary vector',13,'Hamming encode'].
new_system([sys,'/',['Binary vector',13,'Hamming encode']])
set_param([sys,'/',['Binary vector',13,'Hamming encode']],'Location',[235,592,599,711])
add_block('built-in/Outport',[sys,'/',['Binary vector',13,'Hamming encode/out_1']])
set_param([sys,'/',['Binary vector',13,'Hamming encode/out_1']],...
'position',[290,35,310,55])
add_block('built-in/S-Function',[sys,'/',['Binary vector',13,'Hamming encode/Modulus',13,'operation']])
set_param([sys,'/',['Binary vector',13,'Hamming encode/Modulus',13,'operation']],...
'function name','arymodu',...
'parameters','md',...
'Mask Display','Modulo',...
'Mask Type','Modulo')
set_param([sys,'/',['Binary vector',13,'Hamming encode/Modulus',13,'operation']],...
'Mask Dialogue','Modulus operation:|Modulus base:',...
'Mask Translate','md = @1;')
set_param([sys,'/',['Binary vector',13,'Hamming encode/Modulus',13,'operation']],...
'Mask Help','This block output modulus operation of the input signal with module base as specified in block entry. The length of the output vector is the same as the input vector.')
set_param([sys,'/',['Binary vector',13,'Hamming encode/Modulus',13,'operation']],...
'Mask Entries','2\/',...
'position',[180,26,240,64])
add_block('built-in/State-Space',[sys,'/',['Binary vector',13,'Hamming encode/Matrix',13,'Gain']])
set_param([sys,'/',['Binary vector',13,'Hamming encode/Matrix',13,'Gain']],...
'A','[]',...
'B','[]',...
'C','[]',...
'D','K',...
'Mask Display','K',...
'Mask Type','Matrix Gain',...
'Mask Dialogue','Matrix Gain.|Gain matrix:')
set_param([sys,'/',['Binary vector',13,'Hamming encode/Matrix',13,'Gain']],...
'Mask Translate','K = @1;',...
'Mask Help','Multiplies input vector by entered matrix to produce output vector (y=Au).',...
'Mask Entries','G\/')
set_param([sys,'/',['Binary vector',13,'Hamming encode/Matrix',13,'Gain']],...
'position',[110,31,135,59])
add_block('built-in/Inport',[sys,'/',['Binary vector',13,'Hamming encode/in_1']])
set_param([sys,'/',['Binary vector',13,'Hamming encode/in_1']],...
'position',[30,35,50,55])
add_line([sys,'/',['Binary vector',13,'Hamming encode']],[245,45;285,45])
add_line([sys,'/',['Binary vector',13,'Hamming encode']],[140,45;175,45])
add_line([sys,'/',['Binary vector',13,'Hamming encode']],[55,45;105,45])
set_param([sys,'/',['Binary vector',13,'Hamming encode']],...
'Mask Display','plot(0,0,100,100,x,y);Hamming en',...
'Mask Type','Vector I/O Hamming encode')
set_param([sys,'/',['Binary vector',13,'Hamming encode']],...
'Mask Dialogue','Hamming encode with input message vector length K=2^M-M-1, output codeword vector length N=2^M-1, where M is a >=3 integer.|Codeword length N:|Message length K, or M-degree primitive polynomial:')
set_param([sys,'/',['Binary vector',13,'Hamming encode']],...
'Mask Translate','n=@1;k=@2;if length(k)>1,p=k;k=n-length(k)+1;else,p=gfprimdf(n-k);end;[h,G]=hammgen(n-k,p);G=G'';[x,y]=codeicon(1);')
set_param([sys,'/',['Binary vector',13,'Hamming encode']],...
'Mask Help','This block encodes length K binary vector message input into length N binary vector codeword output using Hamming code. Use function GFPRIMDF or GFPRIMFD to find M-degree primitive polynomials.')
set_param([sys,'/',['Binary vector',13,'Hamming encode']],...
'Mask Entries','7\/gfprimfd(3,''min'')\/')
% Finished composite block ['Binary vector',13,'Hamming encode'].
set_param([sys,'/',['Binary vector',13,'Hamming encode']],...
'hide name',0,...
'position',[255,93,335,137])
add_block('built-in/Sum',[sys,'/','Sum2'])
set_param([sys,'/','Sum2'],...
'hide name',0,...
'position',[370,110,390,130])
add_block('built-in/S-Function',[sys,'/',['Modulo',13,'operation1']])
set_param([sys,'/',['Modulo',13,'operation1']],...
'hide name',0,...
'function name','arymodu',...
'parameters','md',...
'Mask Display','Modulo',...
'Mask Type','Modulo')
set_param([sys,'/',['Modulo',13,'operation1']],...
'Mask Dialogue','Output the remainder of the input value divided by the modulo base.|Modulo base:',...
'Mask Translate','md = @1;')
set_param([sys,'/',['Modulo',13,'operation1']],...
'Mask Help','This block outputs the remainder of the input value divided by the modulo base. The length of the output vector is the same as the input vector.',...
'Mask Entries','2\/')
set_param([sys,'/',['Modulo',13,'operation1']],...
'position',[415,98,495,142])
% Subsystem ['Binary vector',13,'Hamming decode'].
new_system([sys,'/',['Binary vector',13,'Hamming decode']])
set_param([sys,'/',['Binary vector',13,'Hamming decode']],'Location',[267,160,850,320])
add_block('built-in/Outport',[sys,'/',['Binary vector',13,'Hamming decode/out_1']])
set_param([sys,'/',['Binary vector',13,'Hamming decode/out_1']],...
'position',[535,90,555,110])
add_block('built-in/S-Function',[sys,'/',['Binary vector',13,'Hamming decode/Modulus',13,'operation2']])
set_param([sys,'/',['Binary vector',13,'Hamming decode/Modulus',13,'operation2']],...
'function name','arymodu',...
'parameters','md',...
'Mask Display','Modulo',...
'Mask Type','Modulo')
set_param([sys,'/',['Binary vector',13,'Hamming decode/Modulus',13,'operation2']],...
'Mask Dialogue','Modulus operation:|Modulus base:',...
'Mask Translate','md = @1;')
set_param([sys,'/',['Binary vector',13,'Hamming decode/Modulus',13,'operation2']],...
'Mask Help','This block output modulus operation of the input signal with module base as specified in block entry. The length of the output vector is the same as the input vector.')
set_param([sys,'/',['Binary vector',13,'Hamming decode/Modulus',13,'operation2']],...
'Mask Entries','2\/',...
'position',[455,81,515,119])
add_block('built-in/State-Space',[sys,'/',['Binary vector',13,'Hamming decode/Matrix',13,'Gain1']])
set_param([sys,'/',['Binary vector',13,'Hamming decode/Matrix',13,'Gain1']],...
'A','[]',...
'B','[]',...
'C','[]',...
'D','K',...
'Mask Display','K',...
'Mask Type','Matrix Gain',...
'Mask Dialogue','Matrix Gain.|Gain matrix:')
set_param([sys,'/',['Binary vector',13,'Hamming decode/Matrix',13,'Gain1']],...
'Mask Translate','K = @1;',...
'Mask Help','Multiplies input vector by entered matrix to produce output vector (y=Au).',...
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -