📄 com_sour.m
字号:
% Finished composite block ['Binary vector',13,'noise generator'].
set_param([sys,'/',['Binary vector',13,'noise generator']],...
'position',[455,338,535,382])
% Subsystem ['QASK Mo//Dem',13,'demo2'].
new_system([sys,'/',['QASK Mo//Dem',13,'demo2']])
set_param([sys,'/',['QASK Mo//Dem',13,'demo2']],'Location',[175,552,335,697])
set_param([sys,'/',['QASK Mo//Dem',13,'demo2']],...
'Mask Display','Error-rate\nmeter\ndemo',...
'Mask Dialogue','eval(''ts=.01;Fc=100/pi/2;[num,den]=butter(2,Fc*2*ts);td=.1;M=16;tstbterr'')')
% Finished composite block ['QASK Mo//Dem',13,'demo2'].
set_param([sys,'/',['QASK Mo//Dem',13,'demo2']],...
'BackGround',7,...
'hide name',0,...
'position',[315,338,395,382])
% Subsystem 'Error rate'.
new_system([sys,'/','Error rate'])
set_param([sys,'/','Error rate'],'Location',[255,368,509,510])
add_block('built-in/Inport',[sys,'/','Error rate/in_2'])
set_param([sys,'/','Error rate/in_2'],...
'Port','2',...
'position',[15,60,35,80])
add_block('built-in/Inport',[sys,'/','Error rate/in_1'])
set_param([sys,'/','Error rate/in_1'],...
'position',[15,45,35,65])
add_block('built-in/Mux',[sys,'/','Error rate/Mux'])
set_param([sys,'/','Error rate/Mux'],...
'inputs','2',...
'position',[65,46,100,79])
add_block('built-in/S-Function',[sys,'/','Error rate/S-function'])
set_param([sys,'/','Error rate/S-function'],...
'function name','sbiterr',...
'parameters','num_lin, K, TDelay, Sample',...
'position',[130,52,195,78])
add_line([sys,'/','Error rate'],[40,70;60,70])
add_line([sys,'/','Error rate'],[40,55;60,55])
add_line([sys,'/','Error rate'],[105,65;125,65])
set_param([sys,'/','Error rate'],...
'Mask Display','Error\nmeter',...
'Mask Type','Symbol/bit error counter')
set_param([sys,'/','Error rate'],...
'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 signal.|Bit per symbol:|Number of digits on display:|Delay between 1st port and 2nd port:|Sample time (sec):')
set_param([sys,'/','Error rate'],...
'Mask Translate','K=@1;num_lin=@2;TDelay=@3;Sample=@4;')
set_param([sys,'/','Error rate'],...
'Mask Help','The signal from the first port must be a scalar. The second input port can be a vector with a delay to the first port signal. The comparison happens only at the sampling point.')
set_param([sys,'/','Error rate'],...
'Mask Entries','5\/10\/0\/1\/')
% Finished composite block 'Error rate'.
set_param([sys,'/','Error rate'],...
'position',[175,338,255,382])
% Subsystem 'Sink'.
new_system([sys,'/','Sink'])
set_param([sys,'/','Sink'],'Location',[15,243,212,738])
set_param([sys,'/','Sink'],...
'Mask Display','SIMULINK\nsink\nblocks',...
'Mask Dialogue','eval(''com_clos;com_smsk;'')')
% Finished composite block 'Sink'.
set_param([sys,'/','Sink'],...
'position',[175,413,255,457])
% Subsystem 'Analysis'.
new_system([sys,'/','Analysis'])
set_param([sys,'/','Analysis'],'Location',[15,243,212,738])
set_param([sys,'/','Analysis'],...
'Mask Display','SIMULINK\nanalysis\nblocks',...
'Mask Dialogue','eval(''com_clos;extrdisp;'')')
% Finished composite block 'Analysis'.
set_param([sys,'/','Analysis'],...
'position',[175,488,255,532])
% Subsystem ['Sample-time',13,'eye-diagram scatter'].
new_system([sys,'/',['Sample-time',13,'eye-diagram scatter']])
set_param([sys,'/',['Sample-time',13,'eye-diagram scatter']],'Location',[165,242,460,428])
add_block('built-in/S-Function',[sys,'/',['Sample-time',13,'eye-diagram scatter/Plot1']])
set_param([sys,'/',['Sample-time',13,'eye-diagram scatter/Plot1']],...
'function name','eyesampl',...
'parameters','time_range, boundary, kept_length, eye_line, scatter_line, two_d_line',...
'position',[130,70,200,110])
add_block('built-in/Inport',[sys,'/',['Sample-time',13,'eye-diagram scatter/in_1']])
set_param([sys,'/',['Sample-time',13,'eye-diagram scatter/in_1']],...
'position',[75,80,95,100])
add_line([sys,'/',['Sample-time',13,'eye-diagram scatter']],[100,90;125,90])
set_param([sys,'/',['Sample-time',13,'eye-diagram scatter']],...
'Mask Display','plot(0,0,100,100,x,y);',...
'Mask Type','Eye-diagram/scatter plot')
set_param([sys,'/',['Sample-time',13,'eye-diagram scatter']],...
'Mask Dialogue','Produce eye-pattern diagram and/or scatter plot.|[Symbol interval, plot offset, decision point offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Number of saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-type for scatter plot (0 for no plot):|Plot update sample time:')
set_param([sys,'/',['Sample-time',13,'eye-diagram scatter']],...
'Mask Translate','time_range=@1;boundary=@2;kept_length=@3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);')
set_param([sys,'/',['Sample-time',13,'eye-diagram scatter']],...
'Mask Help','This plot opens one, or two plots by assigning the line type parameters. The scatter plot point is selected by the decision point in the first parameter entry. A decision line is drawn in the eye-pattern diagram. The plot is updated at the plot update sample time point.')
set_param([sys,'/',['Sample-time',13,'eye-diagram scatter']],...
'Mask Entries','[.2, .05 .2]\/[-1.5 1.5]\/5\/''y-/r-''\/''y./g*''\/.01\/')
% Finished composite block ['Sample-time',13,'eye-diagram scatter'].
set_param([sys,'/',['Sample-time',13,'eye-diagram scatter']],...
'position',[175,263,255,307])
% Subsystem ['QASK Mo//Dem',13,'demo6'].
new_system([sys,'/',['QASK Mo//Dem',13,'demo6']])
set_param([sys,'/',['QASK Mo//Dem',13,'demo6']],'Location',[175,552,335,697])
set_param([sys,'/',['QASK Mo//Dem',13,'demo6']],...
'Mask Display','Eye-pattern\ndemo2',...
'Mask Dialogue','eval(''ts=.01;Fc=100/pi/2;[num,den]=butter(2,Fc*2*ts);td=.1;M=16;tsteyes2'')')
% Finished composite block ['QASK Mo//Dem',13,'demo6'].
set_param([sys,'/',['QASK Mo//Dem',13,'demo6']],...
'BackGround',7,...
'hide name',0,...
'position',[315,263,395,307])
% Subsystem ['Rayleigh noise',13,'generator'].
new_system([sys,'/',['Rayleigh noise',13,'generator']])
set_param([sys,'/',['Rayleigh noise',13,'generator']],'Location',[137,530,696,645])
% Subsystem ['Rayleigh noise',13,'generator/Gaussian',13,'noise'].
new_system([sys,'/',['Rayleigh noise',13,'generator/Gaussian',13,'noise']])
set_param([sys,'/',['Rayleigh noise',13,'generator/Gaussian',13,'noise']],'Location',[347,219,607,319])
add_block('built-in/White Noise',[sys,'/',['Rayleigh noise',13,'generator/Gaussian',13,'noise/Random',13,'Number']])
set_param([sys,'/',['Rayleigh noise',13,'generator/Gaussian',13,'noise/Random',13,'Number']],...
'Seed','s',...
'position',[20,22,65,58])
add_block('built-in/Outport',[sys,'/',['Rayleigh noise',13,'generator/Gaussian',13,'noise/out_1']])
set_param([sys,'/',['Rayleigh noise',13,'generator/Gaussian',13,'noise/out_1']],...
'position',[205,30,225,50])
add_block('built-in/State-Space',[sys,'/',['Rayleigh noise',13,'generator/Gaussian',13,'noise/Matrix',13,'Gain']])
set_param([sys,'/',['Rayleigh noise',13,'generator/Gaussian',13,'noise/Matrix',13,'Gain']],...
'A','[]',...
'B','[]',...
'C','[]',...
'D','K',...
'Mask Display','K',...
'Mask Type','Matrix Gain')
set_param([sys,'/',['Rayleigh noise',13,'generator/Gaussian',13,'noise/Matrix',13,'Gain']],...
'Mask Dialogue','Matrix Gain.|Gain matrix:',...
'Mask Translate','K = @1;')
set_param([sys,'/',['Rayleigh noise',13,'generator/Gaussian',13,'noise/Matrix',13,'Gain']],...
'Mask Help','Multiplies input vector by entered matrix to produce output vector (y=Au).',...
'Mask Entries','d\/',...
'position',[120,26,145,54])
add_line([sys,'/',['Rayleigh noise',13,'generator/Gaussian',13,'noise']],[150,40;200,40])
add_line([sys,'/',['Rayleigh noise',13,'generator/Gaussian',13,'noise']],[70,40;115,40])
set_param([sys,'/',['Rayleigh noise',13,'generator/Gaussian',13,'noise']],...
'Mask Display','Gaussian\nnoise',...
'Mask Type','Gaussian noise.',...
'Mask Dialogue','Gaussian distribution noise.|Mean value:|Variance:|Initial Seed(s):')
set_param([sys,'/',['Rayleigh noise',13,'generator/Gaussian',13,'noise']],...
'Mask Translate','m=@1;d=@2;s=@3;[m,d,s]=gwnoise(m,d,s);')
set_param([sys,'/',['Rayleigh noise',13,'generator/Gaussian',13,'noise']],...
'Mask Help','When the mean value, seed are vectors, the output of this block is a vector with the length of the vector same as the length of mean value vector or that of the seed.')
set_param([sys,'/',['Rayleigh noise',13,'generator/Gaussian',13,'noise']],...
'Mask Entries','0\/alpha\/seed\/')
% Finished composite block ['Rayleigh noise',13,'generator/Gaussian',13,'noise'].
set_param([sys,'/',['Rayleigh noise',13,'generator/Gaussian',13,'noise']],...
'position',[45,40,120,80])
add_block('built-in/Product',[sys,'/',['Rayleigh noise',13,'generator/Product']])
set_param([sys,'/',['Rayleigh noise',13,'generator/Product']],...
'position',[160,48,190,72])
add_block('built-in/Demux',[sys,'/',['Rayleigh noise',13,'generator/Demux']])
set_param([sys,'/',['Rayleigh noise',13,'generator/Demux']],...
'outputs','2',...
'position',[235,41,275,74])
add_block('built-in/Sum',[sys,'/',['Rayleigh noise',13,'generator/Sum']])
set_param([sys,'/',['Rayleigh noise',13,'generator/Sum']],...
'position',[315,44,340,71])
add_block('built-in/S-Function',[sys,'/',['Rayleigh noise',13,'generator/Array',13,'function']])
set_param([sys,'/',['Rayleigh noise',13,'generator/Array',13,'function']],...
'function name','arysin',...
'parameters','opr',...
'Mask Display','Array\nFcn',...
'Mask Type','Array function')
set_param([sys,'/',['Rayleigh noise',13,'generator/Array',13,'function']],...
'Mask Dialogue','Multi-input/multi-output functions, such as sin, cos, tan,exp,asin, acos,ln,log10,sgn.|Operation (string):',...
'Mask Translate','opr=@1;')
set_param([sys,'/',['Rayleigh noise',13,'generator/Array',13,'function']],...
'Mask Help','The vector length of the output is the same as the input.',...
'Mask Entries','''sqrt''\/',...
'position',[370,38,445,82])
add_block('built-in/Outport',[sys,'/',['Rayleigh noise',13,'generator/out_1']])
set_param([sys,'/',['Rayleigh noise',13,'generator/out_1']],...
'position',[490,50,510,70])
add_line([sys,'/',['Rayleigh noise',13,'generator']],[450,60;485,60])
add_line([sys,'/',['Rayleigh noise',13,'generator']],[345,60;365,60])
add_line([sys,'/',['Rayleigh noise',13,'generator']],[125,60;135,60;135,55;155,55])
add_line([sys,'/',['Rayleigh noise',13,'generator']],[135,60;135,65;155,65])
add_line([sys,'/',['Rayleigh noise',13,'generator']],[195,60;230,60])
add_line([sys,'/',['Rayleigh noise',13,'generator']],[280,50;310,50])
add_line([sys,'/',['Rayleigh noise',13,'generator']],[280,65;310,65])
set_param([sys,'/',['Rayleigh noise',13,'generator']],...
'Mask Display','plot(0,0,100,100,x,y);Rayleigh',...
'Mask Type','Rayleigh noise generator')
set_param([sys,'/',['Rayleigh noise',13,'generator']],...
'Mask Dialogue','Generate Rayleigh distributed noise.The output vector size of this block is the same as the vector size of the seed.|sigma:|Initial seed:')
set_param([sys,'/',['Rayleigh noise',13,'generator']],...
'Mask Translate','alpha=@1;alpha=alpha^2;seed=@2;seed=[seed(:);seed(:)+max(seed)];if length(alpha)>1, alpha=[alpha(:);alpha(:)];end;[x,y]=srcsicon(3);')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -