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

📄 comcdham.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 4 页
字号:


%     Finished composite block ['Binary sequence',13,'Hamming encode/Register-shift'].

set_param([sys,'/',['Binary sequence',13,'Hamming encode/Register-shift']],...
		'BackGround',3,...
		'position',[230,36,285,69])


%     Subsystem  ['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode'].

new_system([sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode']])
set_param([sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode']],'Location',[235,592,599,711])

add_block('built-in/Inport',[sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode/in_1']])
set_param([sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode/in_1']],...
		'position',[30,35,50,55])

add_block('built-in/State-Space',[sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode/Matrix',13,'Gain']])
set_param([sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode/Matrix',13,'Gain']],...
		'A','[]',...
		'B','[]',...
		'C','[]',...
		'D','K',...
		'Mask Display','K',...
		'Mask Type','Matrix Gain')
set_param([sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode/Matrix',13,'Gain']],...
		'Mask Dialogue','Matrix Gain.|Gain matrix:',...
		'Mask Translate','K = @1;')
set_param([sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode/Matrix',13,'Gain']],...
		'Mask Help','Multiplies input vector by entered matrix to produce output vector (y=Au).',...
		'Mask Entries','G\/')
set_param([sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode/Matrix',13,'Gain']],...
		'position',[110,31,135,59])

add_block('built-in/S-Function',[sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode/Modulus',13,'operation']])
set_param([sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode/Modulus',13,'operation']],...
		'function name','arymodu',...
		'parameters','md',...
		'Mask Display','Modulo',...
		'Mask Type','Modulo')
set_param([sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode/Modulus',13,'operation']],...
		'Mask Dialogue','Modulus operation:|Modulus base:',...
		'Mask Translate','md = @1;')
set_param([sys,'/',['Binary sequence',13,'Hamming encode/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 sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode/Modulus',13,'operation']],...
		'Mask Entries','2\/',...
		'position',[180,26,240,64])

add_block('built-in/Outport',[sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode/out_1']])
set_param([sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode/out_1']],...
		'position',[290,35,310,55])
add_line([sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode']],[55,45;105,45])
add_line([sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode']],[140,45;175,45])
add_line([sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode']],[245,45;285,45])
set_param([sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode']],...
		'Mask Display','Hamming\nencode',...
		'Mask Type','Hamming encoding')
set_param([sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode']],...
		'Mask Dialogue','Single error-correction Hamming encode. For integer M>2, N=2^M-1; K=2^M-M-1.|Code-word length N:|Message length K or M-degree primitive polynomial:')
set_param([sys,'/',['Binary sequence',13,'Hamming encode/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'';')
set_param([sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode']],...
		'Mask Help','This block encodes the input binary signal using Hamming coding method.  The code length is N=2^M-1. The message length should be K=2^M-M-1. M is a integer no less than 3. The second entree of this block could also be a M-degree primitive polynomial, which can be found by using commands gfprimfd or gfprimdf. This block takes K-ary binary message input and results N-ary binary code-word output.')
set_param([sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode']],...
		'Mask Entries','n\/p\/')


%     Finished composite block ['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode'].

set_param([sys,'/',['Binary sequence',13,'Hamming encode/Binary-vector',13,'Hamming encode']],...
		'position',[330,25,395,65])
add_line([sys,'/',['Binary sequence',13,'Hamming encode']],[510,65;530,65])
add_line([sys,'/',['Binary sequence',13,'Hamming encode']],[510,50;570,50])
add_line([sys,'/',['Binary sequence',13,'Hamming encode']],[400,45;440,45])
add_line([sys,'/',['Binary sequence',13,'Hamming encode']],[290,45;325,45])
add_line([sys,'/',['Binary sequence',13,'Hamming encode']],[80,45;225,45])
add_line([sys,'/',['Binary sequence',13,'Hamming encode']],[290,60;305,60;305,95;410,95;410,55;440,55])
add_line([sys,'/',['Binary sequence',13,'Hamming encode']],[110,110;135,110])
add_line([sys,'/',['Binary sequence',13,'Hamming encode']],[185,100;195,100;195,60;225,60])
add_line([sys,'/',['Binary sequence',13,'Hamming encode']],[185,115;420,115;420,65;440,65])
set_param([sys,'/',['Binary sequence',13,'Hamming encode']],...
		'Mask Display','plot(0,0,100,100,x,y,v,w);Hamming en',...
		'Mask Type','Sequence I/O Hamming encode')
set_param([sys,'/',['Binary sequence',13,'Hamming encode']],...
		'Mask Dialogue','Single error-correction Hamming encode with codeword length N=2^M-1, message length K=2^M-M-1, where M is a >=3 integer.|Codeword length N:|Message length K, or M-degree primitive polynomial:|Input sample time T_in (sec):')
set_param([sys,'/',['Binary sequence',13,'Hamming encode']],...
		'Mask Translate','n=@1;k=@2;samp=@3;if length(k)>1,p=k;k=n-length(k)+1;else,p=gfprimdf(n-k);end;[x,y]=codeicon(3);[v,w]=trigicon(1,75,get_param(gcb,''orientation''));')
set_param([sys,'/',['Binary sequence',13,'Hamming encode']],...
		'Mask Help','This block encodes length K binary message into length N binary codeword using Hamming code. The block uses sequential input/output format. The output sequence sample time is K*T_in/N. The block causes a K*T_in delay. The second outport outputs a pulse when Kth message signal is received. Use function GFPRIMDF or GFPRIMFD to find M-degree\nprimitive polynomials.')
set_param([sys,'/',['Binary sequence',13,'Hamming encode']],...
		'Mask Entries','7\/gfprimfd(3,''min'')\/1/4\/')


%     Finished composite block ['Binary sequence',13,'Hamming encode'].

set_param([sys,'/',['Binary sequence',13,'Hamming encode']],...
		'position',[35,143,115,187])


%     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).',...
		'Mask Entries','G\/')
set_param([sys,'/',['Binary vector',13,'Hamming decode/Matrix',13,'Gain1']],...
		'position',[415,86,440,114])

add_block('built-in/S-Function',[sys,'/',['Binary vector',13,'Hamming decode/Modulus',13,'operation1']])
set_param([sys,'/',['Binary vector',13,'Hamming decode/Modulus',13,'operation1']],...
		'function name','arymodu',...
		'parameters','md',...
		'Mask Display','Modulo',...
		'Mask Type','Modulo')
set_param([sys,'/',['Binary vector',13,'Hamming decode/Modulus',13,'operation1']],...
		'Mask Dialogue','Modulus operation:|Modulus base:',...
		'Mask Translate','md = @1;')
set_param([sys,'/',['Binary vector',13,'Hamming decode/Modulus',13,'operation1']],...
		'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,'operation1']],...
		'Mask Entries','2\/',...
		'position',[340,81,400,119])

add_block('built-in/Sum',[sys,'/',['Binary vector',13,'Hamming decode/Sum']])
set_param([sys,'/',['Binary vector',13,'Hamming decode/Sum']],...
		'position',[305,90,325,110])

add_block('built-in/Combinatorial Logic',[sys,'/',['Binary vector',13,'Hamming decode/Combinatorial',13,'Logic']])
set_param([sys,'/',['Binary vector',13,'Hamming decode/Combinatorial',13,'Logic']],...
		'Truth Table','trt',...
		'position',[225,33,255,57])

add_block('built-in/S-Function',[sys,'/',['Binary vector',13,'Hamming decode/Modulus',13,'operation']])
set_param([sys,'/',['Binary vector',13,'Hamming decode/Modulus',13,'operation']],...
		'function name','arymodu',...
		'parameters','md',...
		'Mask Display','Modulo',...
		'Mask Type','Modulo')
set_param([sys,'/',['Binary vector',13,'Hamming decode/Modulus',13,'operation']],...
		'Mask Dialogue','Modulus operation:|Modulus base:',...
		'Mask Translate','md = @1;')
set_param([sys,'/',['Binary vector',13,'Hamming decode/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 decode/Modulus',13,'operation']],...
		'Mask Entries','2\/',...
		'position',[140,26,200,64])

add_block('built-in/State-Space',[sys,'/',['Binary vector',13,'Hamming decode/Matrix',13,'Gain']])
set_param([sys,'/',['Binary vector',13,'Hamming decode/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 decode/Matrix',13,'Gain']],...
		'Mask Translate','K = @1;',...
		'Mask Help','Multiplies input vector by entered matrix to produce output vector (y=Au).',...
		'Mask Entries','H\/')
set_param([sys,'/',['Binary vector',13,'Hamming decode/Matrix',13,'Gain']],...
		'position',[100,31,125,59])

add_block('built-in/Inport',[sys,'/',['Binary vector',13,'Hamming decode/in_1']])
set_param([sys,'/',['Binary vector',13,'Hamming decode/in_1']],...
		'position',[30,35,50,55])
add_line([sys,'/',['Binary vector',13,'Hamming decode']],[520,100;530,100])
add_line([sys,'/',['Binary vector',13,'Hamming decode']],[445,100;450,100])
add_line([sys,'/',['Binary vector',13,'Hamming decode']],[405,100;410,100])
add_line([sys,'/',['Binary vector',13,'Hamming decode']],[330,100;335,100])
add_line([sys,'/',['Binary vector',13,'Hamming decode']],[55,45;95,45])
add_line([sys,'/',['Binary vector',13,'Hamming decode']],[80,45;80,105;300,105])
add_line([sys,'/',['Binary vector',13,'Hamming decode']],[260,45;285,45;285,95;300,95])
add_line([sys,'/',['Binary vector',13,'Hamming decode']],[205,45;220,45])
add_line([sys,'/',['Binary vector',13,'Hamming decode']],[130,45;135,45])
set_param([sys,'/',['Binary vector',13,'Hamming decode']],...
		'Mask Display','plot(0,0,100,100,[1 3 3 1 3 3 1 1 3 3 4 3 15 15 17 15 15 3 15 15 17 17 19 19 17 17 19]*5,[-5 -5 5 5 5 -15 -15 15 15 3 0 -3 -3 -7 0 7 3 3 3 7 0 10 10 -10 -10 0 0]+80);Hamming de')
set_param([sys,'/',['Binary vector',13,'Hamming decode']],...
		'Mask Type','Vector I/O Hamming decode')
set_param([sys,'/',['Binary vector',13,'Hamming decode']],...
		'Mask Dialogue','Hamming decode with input codeword vector length N=2^M-1, output message vector length K=2^M-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 decode']],...
		'Mask Translate','n=@1;k=@2;if length(k)>1,p=k;k=n-length(p)+1;else,p=gfprimdf(n-k);end;[H,G]=hammgen(n-k,p);trt=htruthtb(G);[n,m]=size(G);G=[zeros(n,m-n),eye(n)];')
set_param([sys,'/',['Binary vector',13,'Hamming decode']],...
		'Mask Help','This block decodes length N binary vector codeword input into length K binary vector message output using Hamming code. Use\nfunction GFPRIMDF or GFPRIMFD to find M-degree primitive polynomials.')
set_param([sys,'/',['Binary vector',13,'Hamming decode']],...
		'Mask Entries','7\/gfprimfd(3,''min'')\/')


%     Finished composite block ['Binary vector',13,'Hamming decode'].

set_param([sys,'/',['Binary vector',13,'Hamming decode']],...
		'position',[165,58,245,102])


%     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])

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -