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

📄 com_sour.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 5 页
字号:
		'BackGround',5,...
		'function name','trigwksp',...
		'parameters','var,thd,cyclFlag,ini',...
		'Mask Display','Triggered\nread',...
		'Mask Type','Read from workspace')
set_param([sys,'/',['Sampled read',13,'from wksp/Message source']],...
		'Mask Dialogue','The raising edge of input pulse trigger the block output the next row from the workspace variable.|Read the variable:|Threshold for the input pulse:|Cyclic read variable (1) or amend zeros (0).|Output before first trigger:')
set_param([sys,'/',['Sampled read',13,'from wksp/Message source']],...
		'Mask Translate','var=@1;thd=@2;cyclFlag=@3;ini=@4;')
set_param([sys,'/',['Sampled read',13,'from wksp/Message source']],...
		'Mask Help','This block reads the data from a workspace variable. The output is refreshed at the raising edge of the input pulse.',...
		'Mask Entries','var\/.1\/cyc\/ini\/')
set_param([sys,'/',['Sampled read',13,'from wksp/Message source']],...
		'position',[180,53,255,97])

add_block('built-in/Outport',[sys,'/',['Sampled read',13,'from wksp/out_1']])
set_param([sys,'/',['Sampled read',13,'from wksp/out_1']],...
		'position',[295,65,315,85])


%     Subsystem  ['Sampled read',13,'from wksp/Pulses deivide',13,'same sample time1'].

new_system([sys,'/',['Sampled read',13,'from wksp/Pulses deivide',13,'same sample time1']])
set_param([sys,'/',['Sampled read',13,'from wksp/Pulses deivide',13,'same sample time1']],'Location',[55,192,283,286])

add_block('built-in/Outport',[sys,'/',['Sampled read',13,'from wksp/Pulses deivide',13,'same sample time1/Outport']])
set_param([sys,'/',['Sampled read',13,'from wksp/Pulses deivide',13,'same sample time1/Outport']],...
		'position',[160,35,180,55])

add_block('built-in/S-Function',[sys,'/',['Sampled read',13,'from wksp/Pulses deivide',13,'same sample time1/S-function1']])
set_param([sys,'/',['Sampled read',13,'from wksp/Pulses deivide',13,'same sample time1/S-function1']],...
		'function name','homopuls',...
		'parameters','samp_time, out_divid, offset',...
		'position',[40,31,105,59])
add_line([sys,'/',['Sampled read',13,'from wksp/Pulses deivide',13,'same sample time1']],[110,45;155,45])
set_param([sys,'/',['Sampled read',13,'from wksp/Pulses deivide',13,'same sample time1']],...
		'Mask Display','Vector\nPulse',...
		'Mask Type','Pulse generator')
set_param([sys,'/',['Sampled read',13,'from wksp/Pulses deivide',13,'same sample time1']],...
		'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,'/',['Sampled read',13,'from wksp/Pulses deivide',13,'same sample time1']],...
		'Mask Translate','samp_time=@1;out_divid=@2;offset=@3;')
set_param([sys,'/',['Sampled read',13,'from wksp/Pulses deivide',13,'same sample time1']],...
		'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,'/',['Sampled read',13,'from wksp/Pulses deivide',13,'same sample time1']],...
		'Mask Entries','ts\/1\/off\/')


%     Finished composite block ['Sampled read',13,'from wksp/Pulses deivide',13,'same sample time1'].

set_param([sys,'/',['Sampled read',13,'from wksp/Pulses deivide',13,'same sample time1']],...
		'position',[50,56,110,94])
add_line([sys,'/',['Sampled read',13,'from wksp']],[115,75;175,75])
add_line([sys,'/',['Sampled read',13,'from wksp']],[260,75;290,75])
set_param([sys,'/',['Sampled read',13,'from wksp']],...
		'Mask Display','plot(0,0,100,100,x,y);Rd wksp',...
		'Mask Type','Read from workspace')
set_param([sys,'/',['Sampled read',13,'from wksp']],...
		'Mask Dialogue','Read from a workspace variable at\nsampling time point.|Variable (column_number=block_output_length):|Data output sample time (sec):|Repeat flag (1: repeat read, 0: output zeros after eof).|Initial output:')
set_param([sys,'/',['Sampled read',13,'from wksp']],...
		'Mask Translate','var=@1;td=@2;ts=td(1);if (length(td)>=2),off=td(2);else off=0;end;cyc=@3;ini=@4;[x,y]=srcsicon(7);')
set_param([sys,'/',['Sampled read',13,'from wksp']],...
		'Mask Help','This block reads from a workspace variable at a given sample time. The column number is the block output vector length. When the simulation reaches the end of the variable (eof), the block will cyclically output from the first row of the variable or output zeros based on the repeat flag entree.')
set_param([sys,'/',['Sampled read',13,'from wksp']],...
		'Mask Entries','randint(100,1,16)\/1\/1\/10\/')


%     Finished composite block ['Sampled read',13,'from wksp'].

set_param([sys,'/',['Sampled read',13,'from wksp']],...
		'position',[35,188,115,232])

add_block('built-in/S-Function',[sys,'/',['Triggered read',13,'from file']])
set_param([sys,'/',['Triggered read',13,'from file']],...
		'function name','sreadfil',...
		'parameters','filename,datatype,nump,numout,recursive,threshold',...
		'Mask Display','plot(0,0,100,100,x,y,v,w);  Rd file')
set_param([sys,'/',['Triggered read',13,'from file']],...
		'Mask Type','Read from file')
set_param([sys,'/',['Triggered read',13,'from file']],...
		'Mask Dialogue','The rising edge of the signal from the\n2nd port triggers the block to read the next row of the specified file.|File name (string, include extension):|Data type (''ascii'',''float'',''integer''):|Number of trigger pulse between saved data:|Output vector length:|Repeat flag (1: repeat read, 0: output zeros after eof):|Threshold in detecting trigger signal:')
set_param([sys,'/',['Triggered read',13,'from file']],...
		'Mask Translate','filename=@1;datatype=@2;nump=@3;numout=@4;recursive=@5;threshold=@6;[x,y]=srcsicon(6);[v,w]=trigicon(0,50,get_param(gcb,''orientation''),2);')
set_param([sys,'/',['Triggered read',13,'from file']],...
		'Mask Help','This block reads the data from a file. The output is refreshed on the rising edge of the input pulse. When the simulation reaches the end of the file (eof), the block will cyclically output from the first record of the file or output zeros based on the repeat flag entree.')
set_param([sys,'/',['Triggered read',13,'from file']],...
		'Mask Entries','''junk.tmp''\/''ascii''\/0\/1\/0\/.3\/',...
		'position',[35,113,115,157])


%     Subsystem  ['Uniform noise',13,'generator'].

new_system([sys,'/',['Uniform noise',13,'generator']])
set_param([sys,'/',['Uniform noise',13,'generator']],'Location',[420,594,637,734])

add_block('built-in/S-Function',[sys,'/',['Uniform noise',13,'generator/Uniform',13,'noise']])
set_param([sys,'/',['Uniform noise',13,'generator/Uniform',13,'noise']],...
		'function name','surandom',...
		'parameters','seed,up,low',...
		'position',[65,55,135,95])

add_block('built-in/Outport',[sys,'/',['Uniform noise',13,'generator/out_1']])
set_param([sys,'/',['Uniform noise',13,'generator/out_1']],...
		'position',[165,65,185,85])
add_line([sys,'/',['Uniform noise',13,'generator']],[140,75;160,75])
set_param([sys,'/',['Uniform noise',13,'generator']],...
		'Mask Display','plot(0,0,100,100,x,y);Uniform',...
		'Mask Type','Uniform noise generator')
set_param([sys,'/',['Uniform noise',13,'generator']],...
		'Mask Dialogue','Generate uniformly distributed noise\nbetween the upper and lower bounds.|Noise lower bound:|Noise upper bound:|Seed:')
set_param([sys,'/',['Uniform noise',13,'generator']],...
		'Mask Translate','seed=@3;up=@2;low=@1;[x,y]=srcsicon(3);')
set_param([sys,'/',['Uniform noise',13,'generator']],...
		'Mask Help','This block generates a uniformly distributed noise between the given lower and upper bounds. The output size is the same as the vector length of the seed. The upper bound and lower bound can be scalar or vectors with their lengths the same as the length for the seed. The vector length of upper bound must be the same as length of lower bound.')
set_param([sys,'/',['Uniform noise',13,'generator']],...
		'Mask Entries','[0 1]\/[1 2]\/[12345 54321]\/')


%     Finished composite block ['Uniform noise',13,'generator'].

set_param([sys,'/',['Uniform noise',13,'generator']],...
		'position',[455,38,535,82])

add_block('built-in/S-Function',[sys,'/',['Triggered read',13,'from wksp']])
set_param([sys,'/',['Triggered read',13,'from wksp']],...
		'function name','trigwksp',...
		'parameters','var,thd,cyclFlag,ini',...
		'Mask Display','plot(0,0,100,100,x,y,v,w);   Rd wksp',...
		'Mask Type','Read from workspace')
set_param([sys,'/',['Triggered read',13,'from wksp']],...
		'Mask Dialogue','The rising edge of the input pulse triggers\nthe block to output the next row from the specified workspace variable.|Workspace variable:|Threshold for the input trigger pulse:|Repeat flag (1: repeat read, 0: output zeros after eof):|Output value before first trigger:')
set_param([sys,'/',['Triggered read',13,'from wksp']],...
		'Mask Translate','var=@1;thd=@2;cyclFlag=@3;ini=@4;[x,y]=srcsicon(7);[v,w]=trigicon(0,50,get_param(gcb,''orientation''),2);')
set_param([sys,'/',['Triggered read',13,'from wksp']],...
		'Mask Help','This block reads the data from a workspace variable. The output is refreshed at the rising edge of the input pulse. When the simulation reaches the end of the variable (eof), the block will cyclically output from the first row of the variable or output zeros based on the repeat flag entree.')
set_param([sys,'/',['Triggered read',13,'from wksp']],...
		'Mask Entries','[10:-1:0;1:11]''\/.1\/1\/10\/',...
		'position',[35,38,115,82])


%     Subsystem  ['QASK Mo//Dem',13,'demo7'].

new_system([sys,'/',['QASK Mo//Dem',13,'demo7']])
set_param([sys,'/',['QASK Mo//Dem',13,'demo7']],'Location',[175,552,335,697])
set_param([sys,'/',['QASK Mo//Dem',13,'demo7']],...
		'Mask Display','Uniform\nrandom\ndemo',...
		'Mask Dialogue','eval(''td=.1;turand'')')


%     Finished composite block ['QASK Mo//Dem',13,'demo7'].

set_param([sys,'/',['QASK Mo//Dem',13,'demo7']],...
		'BackGround',7,...
		'hide name',0,...
		'position',[595,38,675,82])


%     Subsystem  ['QASK Mo//Dem',13,'demo5'].

new_system([sys,'/',['QASK Mo//Dem',13,'demo5']])
set_param([sys,'/',['QASK Mo//Dem',13,'demo5']],'Location',[175,552,335,697])
set_param([sys,'/',['QASK Mo//Dem',13,'demo5']],...
		'Mask Display','Triggered\nwksp I/O\ndemo',...
		'Mask Dialogue','eval(''ttrigwks'')')


%     Finished composite block ['QASK Mo//Dem',13,'demo5'].

set_param([sys,'/',['QASK Mo//Dem',13,'demo5']],...
		'BackGround',7,...
		'hide name',0,...
		'position',[315,38,395,82])


%     Subsystem  ['Triggered write',13,'to wksp'].

new_system([sys,'/',['Triggered write',13,'to wksp']])
set_param([sys,'/',['Triggered write',13,'to wksp']],'Location',[105,608,345,754])

add_block('built-in/S-Function',[sys,'/',['Triggered write',13,'to wksp/S-function']])
set_param([sys,'/',['Triggered write',13,'to wksp/S-function']],...
		'function name','swritwks',...
		'parameters','filename, datatype, nump, max_rec, cut_type, threshold',...
		'position',[135,70,185,90])

add_block('built-in/Mux',[sys,'/',['Triggered write',13,'to wksp/Mux']])
set_param([sys,'/',['Triggered write',13,'to wksp/Mux']],...
		'inputs','2',...
		'position',[65,61,100,94])

add_block('built-in/Inport',[sys,'/',['Triggered write',13,'to wksp/in_1']])
set_param([sys,'/',['Triggered write',13,'to wksp/in_1']],...
		'position',[15,60,35,80])

add_block('built-in/Inport',[sys,'/',['Triggered write',13,'to wksp/in_2']])
set_param([sys,'/',['Triggered write',13,'to wksp/in_2']],...
		'Port','2',...
		'position',[15,75,35,95])
add_line([sys,'/',['Triggered write',13,'to wksp']],[105,80;130,80])
add_line([sys,'/',['Triggered write',13,'to wksp']],[40,70;60,70])
add_line([sys,'/',['Triggered write',13,'to wksp']],[40,85;60,85])
set_param([sys,'/',['Triggered write',13,'to wksp']],...
		'Mask Display','plot(0,0,100,100,x,y,v,w);Wt wksp',...
		'Mask Type','Write to workspace')
set_param([sys,'/',['Triggered write',13,'to wksp']],...
		'Mask Dialogue','The rising edge of the signal from the\nsecond port triggers the block to write\nanother row into the specified\nworkspace variable.|Variable name (string variable, include extension):|Data type (''ascii'', ''data''):|Number of trigger pulses between saved data:|Maximum row number:|Section to keep after max row (0: begin,1: end):|Threshold in detecting trigger signal:')
set_param([sys,'/',['Triggered write',13,'to wksp']],...
		'Mask Translate','filename=@1;datatype=@2;nump=@3;max_rec=@4;cut_type=@5;threshold=@6;[x,y]=srcsicon(9);[v,w]=trigicon(0,25,get_param(gcb,''orientation''),2);')
set_param([sys,'/',['Triggered write',13,'to wksp']],...
		'Mask Help','This block writes the data inputted from the first port to the next row of the specified workspace variable at the rising edge of the second input trigger pulse. The first pulse triggers to write the first record. You can specify the number of pulses between writting records. When you specify ASCII format, there is no return added between two records.')
set_param([sys,'/',['Triggered write',13,'to wksp']],...
		'Mask Entries','''XX''\/''data''\/0\/100\/0\/.5\/')


%     Finished composite block ['Triggered write',13,'to wksp'].

set_param([sys,'/',['Triggered write',13,'to wksp']],...
		'position',[175,38,255,82])


%     Subsystem  ['Binary vector',13,'noise generator'].

new_system([sys,'/',['Binary vector',13,'noise generator']])
set_param([sys,'/',['Binary vector',13,'noise generator']],'Location',[36,445,326,560])

add_block('built-in/S-Function',[sys,'/',['Binary vector',13,'noise generator/S-function']])
set_param([sys,'/',['Binary vector',13,'noise generator/S-function']],...
		'function name','srandbit',...
		'parameters','n, prob, seed',...
		'position',[90,35,140,55])

add_block('built-in/Outport',[sys,'/',['Binary vector',13,'noise generator/out_1']])
set_param([sys,'/',['Binary vector',13,'noise generator/out_1']],...
		'position',[190,35,210,55])
add_line([sys,'/',['Binary vector',13,'noise generator']],[145,45;185,45])
set_param([sys,'/',['Binary vector',13,'noise generator']],...
		'Mask Display','plot(0,0,100,100,x,y);B-vector',...
		'Mask Type','Binary noise generator')
set_param([sys,'/',['Binary vector',13,'noise generator']],...
		'Mask Dialogue','Generate a binary vector with control over the number of  "1"s.|Binary vector length:|Probability of a "one", two "ones",three "ones"...:|Seed:')
set_param([sys,'/',['Binary vector',13,'noise generator']],...
		'Mask Translate','n=@1;prob=@2;seed=@3;[x,y]=srcsicon(5);')
set_param([sys,'/',['Binary vector',13,'noise generator']],...
		'Mask Help','This block outputs a zero vector with "1"s randomly distributed the vector. The maximum number of "1"s in the vector is the same as the length of the vector probability. The value of the ith element of the probability is the probability of i number of "1"s in the vector, e.g. [1/4 1/4 1/4] means probability of single "1", double "1"s, three "1"s or no "1" in the vector is 1/4.')
set_param([sys,'/',['Binary vector',13,'noise generator']],...
		'Mask Entries','7\/1/2\/12345\/')


⌨️ 快捷键说明

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