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

📄 comcdbch.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 4 页
字号:
set_param([sys,'/',['Binary sequence',13,'BCH encode/Pulses deivide',13,'same sample time']],...
		'Mask Entries','samp*k\/[k, n]\/[0 0]\/')


%     Finished composite block ['Binary sequence',13,'BCH encode/Pulses deivide',13,'same sample time'].

set_param([sys,'/',['Binary sequence',13,'BCH encode/Pulses deivide',13,'same sample time']],...
		'ForeGround',2,...
		'position',[45,81,105,119])


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

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

add_block('built-in/Outport',[sys,'/',['Binary sequence',13,'BCH encode/Binary-vector',13,'BCH encode/out_1']])
set_param([sys,'/',['Binary sequence',13,'BCH encode/Binary-vector',13,'BCH encode/out_1']],...
		'position',[290,35,310,55])

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

add_block('built-in/State-Space',[sys,'/',['Binary sequence',13,'BCH encode/Binary-vector',13,'BCH encode/Matrix',13,'Gain']])
set_param([sys,'/',['Binary sequence',13,'BCH encode/Binary-vector',13,'BCH encode/Matrix',13,'Gain']],...
		'A','[]',...
		'B','[]',...
		'C','[]',...
		'D','K',...
		'Mask Display','K',...
		'Mask Type','Matrix Gain')
set_param([sys,'/',['Binary sequence',13,'BCH encode/Binary-vector',13,'BCH encode/Matrix',13,'Gain']],...
		'Mask Dialogue','Matrix Gain.|Gain matrix:',...
		'Mask Translate','K = @1;')
set_param([sys,'/',['Binary sequence',13,'BCH encode/Binary-vector',13,'BCH 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,'BCH encode/Binary-vector',13,'BCH encode/Matrix',13,'Gain']],...
		'position',[110,31,135,59])

add_block('built-in/Inport',[sys,'/',['Binary sequence',13,'BCH encode/Binary-vector',13,'BCH encode/in_1']])
set_param([sys,'/',['Binary sequence',13,'BCH encode/Binary-vector',13,'BCH encode/in_1']],...
		'position',[30,35,50,55])
add_line([sys,'/',['Binary sequence',13,'BCH encode/Binary-vector',13,'BCH encode']],[245,45;285,45])
add_line([sys,'/',['Binary sequence',13,'BCH encode/Binary-vector',13,'BCH encode']],[140,45;175,45])
add_line([sys,'/',['Binary sequence',13,'BCH encode/Binary-vector',13,'BCH encode']],[55,45;105,45])
set_param([sys,'/',['Binary sequence',13,'BCH encode/Binary-vector',13,'BCH encode']],...
		'Mask Display','BCH\nencode',...
		'Mask Type','BCH encoding')
set_param([sys,'/',['Binary sequence',13,'BCH encode/Binary-vector',13,'BCH encode']],...
		'Mask Dialogue','Code word N, message length K multi-error-correction BCH code.|Code length (N=2^M-1. M is a >2 integer):|Message length (check BCHPOLY for valid number):')
set_param([sys,'/',['Binary sequence',13,'BCH encode/Binary-vector',13,'BCH encode']],...
		'Mask Translate','n=@1; k=@2; pg = bchpoly(n,k);[h,G]=cyclgen(n,pg); G=G'';')
set_param([sys,'/',['Binary sequence',13,'BCH encode/Binary-vector',13,'BCH encode']],...
		'Mask Help','This block encodes the K-ary binary message signal into N-ary binary code word using BCH code. Use MATLAB command BCHPOLY to view the valid code-word length N and message length K combination.')
set_param([sys,'/',['Binary sequence',13,'BCH encode/Binary-vector',13,'BCH encode']],...
		'Mask Entries','n\/k\/')


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

set_param([sys,'/',['Binary sequence',13,'BCH encode/Binary-vector',13,'BCH encode']],...
		'BackGround',5,...
		'position',[340,15,400,55])

add_block('built-in/Inport',[sys,'/',['Binary sequence',13,'BCH encode/in_1']])
set_param([sys,'/',['Binary sequence',13,'BCH encode/in_1']],...
		'position',[55,25,75,45])


%     Subsystem  ['Binary sequence',13,'BCH encode/Register-shift'].

new_system([sys,'/',['Binary sequence',13,'BCH encode/Register-shift']])
set_param([sys,'/',['Binary sequence',13,'BCH encode/Register-shift']],'Location',[237,587,592,717])

add_block('built-in/Inport',[sys,'/',['Binary sequence',13,'BCH encode/Register-shift/in_2']])
set_param([sys,'/',['Binary sequence',13,'BCH encode/Register-shift/in_2']],...
		'Port','2',...
		'position',[30,70,50,90])

add_block('built-in/Inport',[sys,'/',['Binary sequence',13,'BCH encode/Register-shift/in_1']])
set_param([sys,'/',['Binary sequence',13,'BCH encode/Register-shift/in_1']],...
		'position',[30,55,50,75])

add_block('built-in/Outport',[sys,'/',['Binary sequence',13,'BCH encode/Register-shift/out_2']])
set_param([sys,'/',['Binary sequence',13,'BCH encode/Register-shift/out_2']],...
		'Port','2',...
		'position',[330,70,350,90])

add_block('built-in/Outport',[sys,'/',['Binary sequence',13,'BCH encode/Register-shift/out_1']])
set_param([sys,'/',['Binary sequence',13,'BCH encode/Register-shift/out_1']],...
		'position',[330,55,350,75])

add_block('built-in/Mux',[sys,'/',['Binary sequence',13,'BCH encode/Register-shift/Mux']])
set_param([sys,'/',['Binary sequence',13,'BCH encode/Register-shift/Mux']],...
		'inputs','2',...
		'position',[80,56,115,89])

add_block('built-in/S-Function',[sys,'/',['Binary sequence',13,'BCH encode/Register-shift/S-function']])
set_param([sys,'/',['Binary sequence',13,'BCH encode/Register-shift/S-function']],...
		'function name','regshift',...
		'parameters','shft_out, thrhld',...
		'position',[150,65,200,85])

add_block('built-in/Demux',[sys,'/',['Binary sequence',13,'BCH encode/Register-shift/Demux']])
set_param([sys,'/',['Binary sequence',13,'BCH encode/Register-shift/Demux']],...
		'outputs','[len_rg, 1]',...
		'position',[260,55,300,90])
add_line([sys,'/',['Binary sequence',13,'BCH encode/Register-shift']],[55,80;75,80])
add_line([sys,'/',['Binary sequence',13,'BCH encode/Register-shift']],[55,65;75,65])
add_line([sys,'/',['Binary sequence',13,'BCH encode/Register-shift']],[305,80;325,80])
add_line([sys,'/',['Binary sequence',13,'BCH encode/Register-shift']],[305,65;325,65])
add_line([sys,'/',['Binary sequence',13,'BCH encode/Register-shift']],[205,75;255,75])
add_line([sys,'/',['Binary sequence',13,'BCH encode/Register-shift']],[120,75;145,75])
set_param([sys,'/',['Binary sequence',13,'BCH encode/Register-shift']],...
		'Mask Display','Register\nshift',...
		'Mask Type','Register-shift')
set_param([sys,'/',['Binary sequence',13,'BCH 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,'BCH encode/Register-shift']],...
		'Mask Translate','shft_out=@1; thrhld=@2; len_rg=length(@1);')
set_param([sys,'/',['Binary sequence',13,'BCH 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,'BCH encode/Register-shift']],...
		'Mask Entries','[k:-1:1]\/.1\/')


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

set_param([sys,'/',['Binary sequence',13,'BCH encode/Register-shift']],...
		'BackGround',3,...
		'position',[230,26,285,59])
add_line([sys,'/',['Binary sequence',13,'BCH encode']],[510,55;530,55])
add_line([sys,'/',['Binary sequence',13,'BCH encode']],[510,40;570,40])
add_line([sys,'/',['Binary sequence',13,'BCH encode']],[405,35;440,35])
add_line([sys,'/',['Binary sequence',13,'BCH encode']],[290,35;335,35])
add_line([sys,'/',['Binary sequence',13,'BCH encode']],[80,35;225,35])
add_line([sys,'/',['Binary sequence',13,'BCH encode']],[290,50;305,50;305,85;410,85;410,45;440,45])
add_line([sys,'/',['Binary sequence',13,'BCH encode']],[110,100;135,100])
add_line([sys,'/',['Binary sequence',13,'BCH encode']],[185,90;195,90;195,50;225,50])
add_line([sys,'/',['Binary sequence',13,'BCH encode']],[185,105;420,105;420,55;440,55])
set_param([sys,'/',['Binary sequence',13,'BCH encode']],...
		'Mask Display','plot(0,0,100,100,x,y,v,w);BCH en',...
		'Mask Type','Sequence I/O BCH encode')
set_param([sys,'/',['Binary sequence',13,'BCH encode']],...
		'Mask Dialogue','BCH encode with codeword length N,\nand message length K. (N, K) must be a valid BCH code pair.|Codeword length N (N=2^M-1. M is a >2 integer):|Message length K (check BCHPOLY for valid K):|Input sample time T_in (sec):')
set_param([sys,'/',['Binary sequence',13,'BCH encode']],...
		'Mask Translate','n=@1;k=@2;samp=@3;[x,y]=codeicon(3);[v,w]=trigicon(1,75,get_param(gcb,''orientation''));')
set_param([sys,'/',['Binary sequence',13,'BCH encode']],...
		'Mask Help','This block encodes length K binary message into length N binary codeword using BCH code. The block uses sequence input/output format. The output sequential 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 BCHPOLY to view the valid N, K, and error-corr ection capability T combination.')
set_param([sys,'/',['Binary sequence',13,'BCH encode']],...
		'Mask Entries','15\/5\/1/5\/')


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

set_param([sys,'/',['Binary sequence',13,'BCH encode']],...
		'position',[35,133,115,177])


%     Subsystem  ['BCH code',13,'length table'].

new_system([sys,'/',['BCH code',13,'length table']])
set_param([sys,'/',['BCH code',13,'length table']],'Location',[-10,380,117,533])
set_param([sys,'/',['BCH code',13,'length table']],...
		'Mask Display','BCH code\nview table',...
		'Mask Dialogue','eval(''bchpoly'')')


%     Finished composite block ['BCH code',13,'length table'].

set_param([sys,'/',['BCH code',13,'length table']],...
		'BackGround',5,...
		'hide name',0,...
		'position',[425,133,505,177])

add_block('built-in/Note',[sys,'/','BCH Coding//Decoding Library'])
set_param([sys,'/','BCH Coding//Decoding Library'],...
		'ForeGround',2,...
		'Font Weight','bold',...
		'Font Size',12,...
		'position',[280,15,285,20])
add_line(sys,[120,145;135,145;135,155;160,155])
add_line(sys,[120,80;140,80;140,70;160,70])

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 + -