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

📄 tstlinsq.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 5 页
字号:
		'ForeGround',2,...
		'Operator','>',...
		'position',[225,53,255,77])

add_block('built-in/Constant',[sys,'/','Counter/Constant'])
set_param([sys,'/','Counter/Constant'],...
		'ForeGround',3,...
		'Value','thld',...
		'position',[105,100,135,120])
add_line([sys,'/','Counter'],[500,155;545,155])
add_line([sys,'/','Counter'],[520,155;520,220;445,220])
add_line([sys,'/','Counter'],[375,165;465,165])
add_line([sys,'/','Counter'],[340,70;370,70])
add_line([sys,'/','Counter'],[40,165;75,165])
add_line([sys,'/','Counter'],[40,60;220,60])
add_line([sys,'/','Counter'],[320,110;330,110;340,155])
add_line([sys,'/','Counter'],[140,110;190,110;190,70;220,70])
add_line([sys,'/','Counter'],[260,65;275,65;275,105;290,105])
add_line([sys,'/','Counter'],[145,165;340,165])
add_line([sys,'/','Counter'],[395,220;275,220;275,175;340,175])
add_line([sys,'/','Counter'],[275,175;275,115;290,115])
add_line([sys,'/','Counter'],[440,70;450,70;450,155;465,155])
set_param([sys,'/','Counter'],...
		'Mask Display','plot(0,0,100,100,x,y,v,w);Counter',...
		'Mask Type','Resettable number counter')
set_param([sys,'/','Counter'],...
		'Mask Dialogue','If the 1st inport value is larger than the threshold, the counter increases one at the rising edge of the 2nd inport pulse.|Threshold:')
set_param([sys,'/','Counter'],...
		'Mask Translate','thld=@1;[v,w]=trigicon(0,50,get_param(gcb,''orientation''),2);[x,y]=trigicon(0,20,get_param(gcb,''orientation''),2);')
set_param([sys,'/','Counter'],...
		'Mask Help','If the signal at the 1st inport is larger than or equal to the given threshold at the rising edge of the 2nd inport, the counter increases by one. The rising edge of the 3rd port resets the counter to zero.')
set_param([sys,'/','Counter'],...
		'Mask Entries','.2\/')


%     Finished composite block 'Counter'.

set_param([sys,'/','Counter'],...
		'hide name',0,...
		'position',[380,98,460,142])


%     Subsystem  'Error rate1'.

new_system([sys,'/','Error rate1'])
set_param([sys,'/','Error rate1'],'Location',[255,368,509,510])

add_block('built-in/Inport',[sys,'/','Error rate1/in_2'])
set_param([sys,'/','Error rate1/in_2'],...
		'Port','2',...
		'position',[15,60,35,80])

add_block('built-in/Inport',[sys,'/','Error rate1/in_1'])
set_param([sys,'/','Error rate1/in_1'],...
		'position',[15,45,35,65])

add_block('built-in/Mux',[sys,'/','Error rate1/Mux'])
set_param([sys,'/','Error rate1/Mux'],...
		'inputs','2',...
		'position',[65,46,100,79])

add_block('built-in/S-Function',[sys,'/','Error rate1/S-function'])
set_param([sys,'/','Error rate1/S-function'],...
		'function name','sbiterr',...
		'parameters','num_lin, K, TDelay, Sample',...
		'position',[130,52,195,78])
add_line([sys,'/','Error rate1'],[40,70;60,70])
add_line([sys,'/','Error rate1'],[40,55;60,55])
add_line([sys,'/','Error rate1'],[105,65;125,65])
set_param([sys,'/','Error rate1'],...
		'Mask Display','Error\nmeter',...
		'Mask Type','Symbol/bit error counter')
set_param([sys,'/','Error rate1'],...
		'Mask Dialogue','Use the input data from the 1st port as the reference signal to detect the number of errors and error rate of the 2nd port inputted signal.|Bit per symbol:|Number of digits on display:|Delay between input (1st port) and output (2nd port):|Sampling time (sec):')
set_param([sys,'/','Error rate1'],...
		'Mask Translate','K=@1;num_lin=@2;TDelay=@3;Sample=@4;')
set_param([sys,'/','Error rate1'],...
		'Mask Help','The signal from the first port must be a scalar. The second input port can be a vector with a same-time delay to the input signal. The comparison happens only at the sampling point.')
set_param([sys,'/','Error rate1'],...
		'Mask Entries','1\/20\/2\/1/size(G_lin,1)\/')


%     Finished composite block 'Error rate1'.

set_param([sys,'/','Error rate1'],...
		'hide name',0,...
		'position',[505,23,585,67])


%     Subsystem  ['Binary sequence',13,'lin-blk decode'].

new_system([sys,'/',['Binary sequence',13,'lin-blk decode']])
set_param([sys,'/',['Binary sequence',13,'lin-blk decode']],'Location',[267,160,850,320])


%     Subsystem  ['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding'].

new_system([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding']])
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding']],'Location',[267,160,850,320])

add_block('built-in/Inport',[sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/in_1']])
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/in_1']],...
		'position',[30,35,50,55])

add_block('built-in/State-Space',[sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/Matrix',13,'Gain']])
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/Matrix',13,'Gain']],...
		'A','[]',...
		'B','[]',...
		'C','[]',...
		'D','K',...
		'Mask Display','K',...
		'Mask Type','Matrix Gain')
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/Matrix',13,'Gain']],...
		'Mask Dialogue','Matrix Gain.|Gain matrix:',...
		'Mask Translate','K = @1;')
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/Matrix',13,'Gain']],...
		'Mask Help','Multiplies input vector by entered matrix to produce output vector (y=Au).',...
		'Mask Entries','H\/')
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/Matrix',13,'Gain']],...
		'position',[100,31,125,59])

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

add_block('built-in/Combinatorial Logic',[sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/Combinatorial',13,'Logic']])
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/Combinatorial',13,'Logic']],...
		'Truth Table','trt',...
		'position',[225,33,255,57])

add_block('built-in/Sum',[sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/Sum']])
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/Sum']],...
		'position',[305,90,325,110])

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

add_block('built-in/State-Space',[sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/Matrix',13,'Gain1']])
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/Matrix',13,'Gain1']],...
		'A','[]',...
		'B','[]',...
		'C','[]',...
		'D','K',...
		'Mask Display','K',...
		'Mask Type','Matrix Gain')
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/Matrix',13,'Gain1']],...
		'Mask Dialogue','Matrix Gain.|Gain matrix:',...
		'Mask Translate','K = @1;')
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/Matrix',13,'Gain1']],...
		'Mask Help','Multiplies input vector by entered matrix to produce output vector (y=Au).',...
		'Mask Entries','G\/')
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/Matrix',13,'Gain1']],...
		'position',[415,86,440,114])

add_block('built-in/S-Function',[sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/Modulus',13,'operation2']])
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/Modulus',13,'operation2']],...
		'function name','arymodu',...
		'parameters','md',...
		'Mask Display','Modulo',...
		'Mask Type','Modulo')
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/Modulus',13,'operation2']],...
		'Mask Dialogue','Modulus operation:|Modulus base:',...
		'Mask Translate','md = @1;')
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/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 sequence',13,'lin-blk decode/Linear block',13,'decoding/Modulus',13,'operation2']],...
		'Mask Entries','2\/',...
		'position',[455,81,515,119])

add_block('built-in/Outport',[sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/out_1']])
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding/out_1']],...
		'position',[535,90,555,110])
add_line([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding']],[130,45;135,45])
add_line([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding']],[205,45;220,45])
add_line([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding']],[260,45;285,45;285,95;300,95])
add_line([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding']],[55,45;95,45])
add_line([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding']],[80,45;80,105;300,105])
add_line([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding']],[330,100;335,100])
add_line([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding']],[405,100;410,100])
add_line([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding']],[445,100;450,100])
add_line([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding']],[520,100;530,100])
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding']],...
		'Mask Display','Linear\ndecode',...
		'Mask Type','Linear coding')
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding']],...
		'Mask Dialogue','Linear block coding:|Generator matrix:|Error-correction truth table (0 for single error-correction default):')
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding']],...
		'Mask Translate','G=@1;trt=@2;H=gen2par(G);if trt==0,trt=htruthtb(G);end;[n,m]=size(G);G=[zeros(n,m-n),eye(n)];')
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding']],...
		'Mask Help','This block decodes code word binary vecotr using linear block coding method. The m-by-n generator matrix should match the generator matrix defined in the encode block. This block input n-array code word and output m-array message. This is a generic styke block for linear block code.')
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding']],...
		'Mask Entries','G\/trt\/')


%     Finished composite block ['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding'].

set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Linear block',13,'decoding']],...
		'position',[295,15,355,55])

add_block('built-in/Demux',[sys,'/',['Binary sequence',13,'lin-blk decode/Demux']])
set_param([sys,'/',['Binary sequence',13,'lin-blk decode/Demux']],...
		'outputs','2',...
		'position',[115,80,155,115])

⌨️ 快捷键说明

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