📄 tsteyesc.m
字号:
set_param([sys,'/',['QASK',13,'square-demap/Saturation']],...
'Lower Limit','0',...
'Upper Limit','N-1',...
'position',[630,78,660,102])
add_block('built-in/Outport',[sys,'/',['QASK',13,'square-demap/out_1']])
set_param([sys,'/',['QASK',13,'square-demap/out_1']],...
'position',[685,80,705,100])
add_block('built-in/Sum',[sys,'/',['QASK',13,'square-demap/Sum4']])
set_param([sys,'/',['QASK',13,'square-demap/Sum4']],...
'ForeGround',2,...
'position',[470,58,490,87])
add_block('built-in/Sum',[sys,'/',['QASK',13,'square-demap/Sum1']])
set_param([sys,'/',['QASK',13,'square-demap/Sum1']],...
'ForeGround',2,...
'inputs','+-',...
'position',[280,33,300,62])
add_block('built-in/Sum',[sys,'/',['QASK',13,'square-demap/Sum2']])
set_param([sys,'/',['QASK',13,'square-demap/Sum2']],...
'ForeGround',2,...
'inputs','+-',...
'position',[290,158,310,187])
add_block('built-in/S-Function',[sys,'/',['QASK',13,'square-demap/Minimum']])
set_param([sys,'/',['QASK',13,'square-demap/Minimum']],...
'function name','arymimai',...
'parameters','''min''',...
'position',[385,165,450,185])
add_block('built-in/Constant',[sys,'/',['QASK',13,'square-demap/Shift key']])
set_param([sys,'/',['QASK',13,'square-demap/Shift key']],...
'Value','sfty',...
'position',[225,214,250,236])
add_block('built-in/S-Function',[sys,'/',['QASK',13,'square-demap/Minimum1']])
set_param([sys,'/',['QASK',13,'square-demap/Minimum1']],...
'function name','arymimai',...
'parameters','''min''',...
'position',[385,40,445,60])
add_block('built-in/Constant',[sys,'/',['QASK',13,'square-demap/Shift key1']])
set_param([sys,'/',['QASK',13,'square-demap/Shift key1']],...
'Value','sftx',...
'position',[220,89,245,111])
add_block('built-in/Constant',[sys,'/',['QASK',13,'square-demap/Shift key2']])
set_param([sys,'/',['QASK',13,'square-demap/Shift key2']],...
'BackGround',5,...
'position',[325,114,350,136])
add_block('built-in/Abs',[sys,'/',['QASK',13,'square-demap/Abs1']])
set_param([sys,'/',['QASK',13,'square-demap/Abs1']],...
'position',[325,38,355,62])
add_block('built-in/Abs',[sys,'/',['QASK',13,'square-demap/Abs']])
set_param([sys,'/',['QASK',13,'square-demap/Abs']],...
'position',[325,163,355,187])
add_line([sys,'/',['QASK',13,'square-demap']],[85,40;130,40])
add_line([sys,'/',['QASK',13,'square-demap']],[360,175;380,175])
add_line([sys,'/',['QASK',13,'square-demap']],[315,175;320,175])
add_line([sys,'/',['QASK',13,'square-demap']],[255,225;260,225;260,180;285,180])
add_line([sys,'/',['QASK',13,'square-demap']],[250,100;255,100;255,55;275,55])
add_line([sys,'/',['QASK',13,'square-demap']],[305,50;320,50])
add_line([sys,'/',['QASK',13,'square-demap']],[360,50;380,50])
add_line([sys,'/',['QASK',13,'square-demap']],[665,90;680,90])
add_line([sys,'/',['QASK',13,'square-demap']],[550,80;575,80])
add_line([sys,'/',['QASK',13,'square-demap']],[605,90;625,90])
add_line([sys,'/',['QASK',13,'square-demap']],[450,50;450,65;465,65])
add_line([sys,'/',['QASK',13,'square-demap']],[455,175;465,175])
add_line([sys,'/',['QASK',13,'square-demap']],[495,170;500,170;510,85])
add_line([sys,'/',['QASK',13,'square-demap']],[355,125;560,125;560,95;575,95])
add_line([sys,'/',['QASK',13,'square-demap']],[450,125;450,160;465,160])
add_line([sys,'/',['QASK',13,'square-demap']],[450,125;450,80;465,80])
add_line([sys,'/',['QASK',13,'square-demap']],[495,75;510,75])
add_line([sys,'/',['QASK',13,'square-demap']],[85,165;130,165])
add_line([sys,'/',['QASK',13,'square-demap']],[175,165;285,165])
add_line([sys,'/',['QASK',13,'square-demap']],[175,40;275,40])
set_param([sys,'/',['QASK',13,'square-demap']],...
'Mask Display','QASK\nS-demap',...
'Mask Type','QASK S-demap')
set_param([sys,'/',['QASK',13,'square-demap']],...
'Mask Dialogue','Reverse the QASK map. Input in-phase\nand quadrature components from the\ntwo inputs. Output demapped signal.|QASK M-ary number (outputs are in range [0, M-1]):|Output symbol interval and offset (sec):')
set_param([sys,'/',['QASK',13,'square-demap']],...
'Mask Translate','N=@1;td=@2;Ac=1;sftx=[1 -1 3 -3 5 -5 7 -7 9 -9 11 -11 13 -13 15 -15];sftx=sftx(1:2*ceil(sqrt(N)/2));sfty=sftx;if N==8,sfty=sfty(1:2);end;sftx=sftx/max(sftx)*Ac;sfty=sfty/max(sfty)*Ac;tab=qaskdeco(length(sftx),length(sfty),''fetch'')+1;x=[1:length(sftx)];y=[1:length(sfty)];')
set_param([sys,'/',['QASK',13,'square-demap']],...
'Mask Help','This block demaps a QASK mapped signal using square constellation. You can place this block after a QAM demodulation block. This block assumes the maximum amplitude of the input signals is 1. The output symbols are integers in the range [0, M-1]. The input symbol interval can be a two-element vector with the second element being offset. The default value offset is 0.')
set_param([sys,'/',['QASK',13,'square-demap']],...
'Mask Entries','M\/td\/')
% Finished composite block ['QASK',13,'square-demap'].
set_param([sys,'/',['QASK',13,'square-demap']],...
'hide name',0,...
'position',[530,58,610,102])
add_block('built-in/Mux',[sys,'/','Mux'])
set_param([sys,'/','Mux'],...
'hide name',0,...
'inputs','2',...
'position',[545,111,580,144])
% Subsystem ['Eye-diagram',13,'scatter plot1'].
new_system([sys,'/',['Eye-diagram',13,'scatter plot1']])
set_param([sys,'/',['Eye-diagram',13,'scatter plot1']],'Location',[165,242,460,428])
add_block('built-in/S-Function',[sys,'/',['Eye-diagram',13,'scatter plot1/Plot1']])
set_param([sys,'/',['Eye-diagram',13,'scatter plot1/Plot1']],...
'function name','eyediasi',...
'parameters','time_range, boundary, kept_length, eye_line, scatter_line, two_d_line',...
'position',[130,70,200,110])
add_block('built-in/Mux',[sys,'/',['Eye-diagram',13,'scatter plot1/Mux']])
set_param([sys,'/',['Eye-diagram',13,'scatter plot1/Mux']],...
'inputs','2',...
'position',[65,70,100,105])
add_block('built-in/Inport',[sys,'/',['Eye-diagram',13,'scatter plot1/in_2']])
set_param([sys,'/',['Eye-diagram',13,'scatter plot1/in_2']],...
'Port','2',...
'position',[20,115,40,135])
add_block('built-in/Inport',[sys,'/',['Eye-diagram',13,'scatter plot1/in_1']])
set_param([sys,'/',['Eye-diagram',13,'scatter plot1/in_1']],...
'position',[15,55,35,75])
add_line([sys,'/',['Eye-diagram',13,'scatter plot1']],[105,90;125,90])
add_line([sys,'/',['Eye-diagram',13,'scatter plot1']],[45,125;50,125;60,95])
add_line([sys,'/',['Eye-diagram',13,'scatter plot1']],[40,65;45,65;45,80;60,80])
set_param([sys,'/',['Eye-diagram',13,'scatter plot1']],...
'Mask Display','plot(0,0,100,100,x,y,v,w);',...
'Mask Type','Eye-diagram/scatter plot')
set_param([sys,'/',['Eye-diagram',13,'scatter plot1']],...
'Mask Dialogue','Produce eye-pattern diagram/scatter\nplot/x-y plot with the rising edge of the second input as the decision line.|Eye-pattern plot time frame:|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):|Line-type for x-y plot (0 for no plot):')
set_param([sys,'/',['Eye-diagram',13,'scatter plot1']],...
'Mask Translate','time_range=@1;boundary=@2;kept_length=@3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);[v,w]=trigicon(0,25,get_param(gcb,''orientation''),2);')
set_param([sys,'/',['Eye-diagram',13,'scatter plot1']],...
'Mask Help','This plot opens one, two, or three plots by assigning the line type parameters. The scatter plot point is selected by the rising edge of a trigger signal. A decision line is drawn at the rising edge of the trigger signal.')
set_param([sys,'/',['Eye-diagram',13,'scatter plot1']],...
'Mask Entries','2*td\/[-1.5 1.5]\/5\/''y-/r-''\/''y./g*''\/''g-/y-.''\/')
% Finished composite block ['Eye-diagram',13,'scatter plot1'].
set_param([sys,'/',['Eye-diagram',13,'scatter plot1']],...
'hide name',0,...
'position',[620,128,700,172])
% Subsystem ['Rayleigh noise',13,'channel CE1'].
new_system([sys,'/',['Rayleigh noise',13,'channel CE1']])
set_param([sys,'/',['Rayleigh noise',13,'channel CE1']],'Location',[496,318,758,464])
add_block('built-in/Inport',[sys,'/',['Rayleigh noise',13,'channel CE1/in_1']])
set_param([sys,'/',['Rayleigh noise',13,'channel CE1/in_1']],...
'position',[45,10,65,30])
% Subsystem ['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise'].
new_system([sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise']])
set_param([sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise']],'Location',[73,221,421,374])
add_block('built-in/White Noise',[sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise/Random',13,'Number']])
set_param([sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise/Random',13,'Number']],...
'Seed','s',...
'position',[35,72,80,108])
add_block('built-in/State-Space',[sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise/Matrix',13,'Gain']])
set_param([sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise/Matrix',13,'Gain']],...
'A','[]',...
'B','[]',...
'C','[]',...
'D','K',...
'Mask Display','K',...
'Mask Type','Matrix Gain')
set_param([sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise/Matrix',13,'Gain']],...
'Mask Dialogue','Matrix Gain.|Gain matrix:',...
'Mask Translate','K = @1;')
set_param([sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise/Matrix',13,'Gain']],...
'Mask Help','Multiplies input vector by entered matrix to produce output vector (y=Au).',...
'Mask Entries','d\/')
set_param([sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise/Matrix',13,'Gain']],...
'position',[130,76,155,104])
add_block('built-in/Constant',[sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise/Constant']])
set_param([sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise/Constant']],...
'Value','m',...
'position',[155,35,175,55])
add_block('built-in/Sum',[sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise/Sum']])
set_param([sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise/Sum']],...
'position',[240,75,260,95])
add_block('built-in/Outport',[sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise/out_1']])
set_param([sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise/out_1']],...
'position',[295,75,315,95])
add_line([sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise']],[180,45;210,45;210,80;235,80])
add_line([sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise']],[85,90;125,90])
add_line([sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise']],[160,90;235,90])
add_line([sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise']],[265,85;290,85])
set_param([sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise']],...
'Mask Display','Gaussian\nnoise',...
'Mask Type','Gaussian noise.')
set_param([sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise']],...
'Mask Dialogue','Gaussian distribution noise.|Mean value:|Standard deviation:|Initial Seed(s):',...
'Mask Translate','m=@1;d=@2;s=@3;[m,d,s]=gwnoise(m,d,s);')
set_param([sys,'/',['Rayleigh noise',13,'channel CE1/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,'channel CE1/Gaussian',13,'noise']],...
'Mask Entries','m\/d\/s\/')
% Finished composite block ['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise'].
set_param([sys,'/',['Rayleigh noise',13,'channel CE1/Gaussian',13,'noise']],...
'position',[10,50,85,90])
add_block('built-in/Outport',[sys,'/',['Rayleigh noise',13,'channel CE1/out_1']])
set_param([sys,'/',['Rayleigh noise',13,'channel CE1/out_1']],...
'position',[200,55,220,75])
add_block('built-in/Sum',[sys,'/',['Rayleigh noise',13,'channel CE1/Sum']])
set_param([sys,'/',['Rayleigh noise',13,'channel CE1/Sum']],...
'position',[150,55,170,75])
add_line([sys,'/',['Rayleigh noise',13,'channel CE1']],[175,65;195,65])
add_line([sys,'/',['Rayleigh noise',13,'channel CE1']],[70,20;115,20;115,60;145,60])
add_line([sys,'/',['Rayleigh noise',13,'channel CE1']],[90,70;145,70])
set_param([sys,'/',['Rayleigh noise',13,'channel CE1']],...
'Mask Display','plot(0,0,100,100,x,y,v,w,u,z);Rayl N',...
'Mask Type','Rayleigh noise channel, fixed parameter')
set_param([sys,'/',['Rayleigh noise',13,'channel CE1']],...
'Mask Dialogue','Additive Rayleigh noise channel for\nbaseband signal simulation. Input\nand output signals are complex.|sigma:|Seeds (1x2 vector):')
set_param([sys,'/',['Rayleigh noise',13,'channel CE1']],...
'Mask Translate','m=0;d=@1;d=d^2;s=@2;if length(s)<2,s=[s s+s];end;[x,y]=chanicon;[v,w]=cmplxicn(0,50,get_param(gcb,''orientation''));[u,z]=cmplxicn(1,50,get_param(gcb,''orientation''));')
set_param([sys,'/',['Rayleigh noise',13,'channel CE1']],...
'Mask Help','This block adds Rayleigh noise to the transmitting signal. The input and output of this block are complex data. The Rayleigh noise is composed by two independant zero mean Gaussian noise. These two Gaussian components have the same standard deviation sigma.')
set_param([sys,'/',['Rayleigh noise',13,'channel CE1']],...
'Mask Entries','.1\/[12345 54321]\/')
% Finished composite block ['Rayleigh noise',13,'channel CE1'].
set_param([sys,'/',['Rayleigh noise',13,'channel CE1']],...
'hide name',0,...
'position',[325,58,405,102])
add_line(sys,[95,80;115,80])
add_line(sys,[95,80;95,35;630,35])
add_line(sys,[410,80;420,80])
add_line(sys,[95,100;100,100;100,160;615,160])
add_line(sys,[510,70;525,70])
add_line(sys,[510,90;525,90])
add_line(sys,[585,130;595,130;595,140;615,140])
add_line(sys,[510,90;520,90;520,120;540,120])
add_line(sys,[510,70;515,70;515,135;540,135])
add_line(sys,[310,80;320,80])
add_line(sys,[205,70;220,70])
add_line(sys,[205,90;220,90])
add_line(sys,[615,80;615,55;630,55])
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 + -