📄 qamwnymf.m
字号:
add_line([sys,'/',['Empf鋘ger/Signalraum-',13,'decodierung']],[450,125;450,160;465,160])
add_line([sys,'/',['Empf鋘ger/Signalraum-',13,'decodierung']],[450,125;450,80;465,80])
add_line([sys,'/',['Empf鋘ger/Signalraum-',13,'decodierung']],[495,75;510,75])
add_line([sys,'/',['Empf鋘ger/Signalraum-',13,'decodierung']],[85,165;130,165])
add_line([sys,'/',['Empf鋘ger/Signalraum-',13,'decodierung']],[175,165;285,165])
add_line([sys,'/',['Empf鋘ger/Signalraum-',13,'decodierung']],[175,40;275,40])
set_param([sys,'/',['Empf鋘ger/Signalraum-',13,'decodierung']],...
'Mask Display','QASK\nS-demap',...
'Mask Type','QASK S-demap')
set_param([sys,'/',['Empf鋘ger/Signalraum-',13,'decodierung']],...
'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,'/',['Empf鋘ger/Signalraum-',13,'decodierung']],...
'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,'/',['Empf鋘ger/Signalraum-',13,'decodierung']],...
'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,'/',['Empf鋘ger/Signalraum-',13,'decodierung']],...
'Mask Entries','16\/1\/')
% Finished composite block ['Empf鋘ger/Signalraum-',13,'decodierung'].
set_param([sys,'/',['Empf鋘ger/Signalraum-',13,'decodierung']],...
'position',[800,128,880,172])
% Subsystem 'Empf鋘ger/Diagramme'.
new_system([sys,'/','Empf鋘ger/Diagramme'])
set_param([sys,'/','Empf鋘ger/Diagramme'],'Location',[669,447,1065,724])
% Subsystem 'Empf鋘ger/Diagramme/Auge Quadratur'.
new_system([sys,'/','Empf鋘ger/Diagramme/Auge Quadratur'])
set_param([sys,'/','Empf鋘ger/Diagramme/Auge Quadratur'],'Location',[121,409,416,595])
add_block('built-in/S-Function',[sys,'/','Empf鋘ger/Diagramme/Auge Quadratur/Plot1'])
set_param([sys,'/','Empf鋘ger/Diagramme/Auge Quadratur/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,'/','Empf鋘ger/Diagramme/Auge Quadratur/in_1'])
set_param([sys,'/','Empf鋘ger/Diagramme/Auge Quadratur/in_1'],...
'position',[75,80,95,100])
add_line([sys,'/','Empf鋘ger/Diagramme/Auge Quadratur'],[100,90;125,90])
set_param([sys,'/','Empf鋘ger/Diagramme/Auge Quadratur'],...
'Mask Display','plot(0,0,100,100,x,y);',...
'Mask Type','Eye-diagram/scatter plot')
set_param([sys,'/','Empf鋘ger/Diagramme/Auge Quadratur'],...
'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,'/','Empf鋘ger/Diagramme/Auge Quadratur'],...
'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,'/','Empf鋘ger/Diagramme/Auge Quadratur'],...
'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,'/','Empf鋘ger/Diagramme/Auge Quadratur'],...
'Mask Entries','[2 0 1+offset]\/[-1.5 1.5]\/0\/''w-/r-''\/0\/2/anzahl\/')
% Finished composite block 'Empf鋘ger/Diagramme/Auge Quadratur'.
set_param([sys,'/','Empf鋘ger/Diagramme/Auge Quadratur'],...
'position',[305,77,360,113])
% Subsystem 'Empf鋘ger/Diagramme/Auge Inphase'.
new_system([sys,'/','Empf鋘ger/Diagramme/Auge Inphase'])
set_param([sys,'/','Empf鋘ger/Diagramme/Auge Inphase'],'Location',[121,409,416,595])
add_block('built-in/Inport',[sys,'/','Empf鋘ger/Diagramme/Auge Inphase/in_1'])
set_param([sys,'/','Empf鋘ger/Diagramme/Auge Inphase/in_1'],...
'position',[75,80,95,100])
add_block('built-in/S-Function',[sys,'/','Empf鋘ger/Diagramme/Auge Inphase/Plot1'])
set_param([sys,'/','Empf鋘ger/Diagramme/Auge Inphase/Plot1'],...
'function name','eyesampl',...
'parameters','time_range, boundary, kept_length, eye_line, scatter_line, two_d_line',...
'position',[130,70,200,110])
add_line([sys,'/','Empf鋘ger/Diagramme/Auge Inphase'],[100,90;125,90])
set_param([sys,'/','Empf鋘ger/Diagramme/Auge Inphase'],...
'Mask Display','plot(0,0,100,100,x,y);',...
'Mask Type','Eye-diagram/scatter plot')
set_param([sys,'/','Empf鋘ger/Diagramme/Auge Inphase'],...
'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,'/','Empf鋘ger/Diagramme/Auge Inphase'],...
'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,'/','Empf鋘ger/Diagramme/Auge Inphase'],...
'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,'/','Empf鋘ger/Diagramme/Auge Inphase'],...
'Mask Entries','[2 0 1+offset]\/[-1.5 1.5]\/0\/''w-/r-''\/0\/2/anzahl\/')
% Finished composite block 'Empf鋘ger/Diagramme/Auge Inphase'.
set_param([sys,'/','Empf鋘ger/Diagramme/Auge Inphase'],...
'position',[305,22,360,58])
add_block('built-in/Mux',[sys,'/','Empf鋘ger/Diagramme/Mux'])
set_param([sys,'/','Empf鋘ger/Diagramme/Mux'],...
'inputs','2',...
'position',[230,21,265,54])
add_block('built-in/Mux',[sys,'/','Empf鋘ger/Diagramme/Mux1'])
set_param([sys,'/','Empf鋘ger/Diagramme/Mux1'],...
'inputs','2',...
'position',[230,76,265,109])
add_block('built-in/Constant',[sys,'/','Empf鋘ger/Diagramme/Constant'])
set_param([sys,'/','Empf鋘ger/Diagramme/Constant'],...
'orientation',3,...
'hide name',0,...
'Value','Inf',...
'position',[90,125,110,145])
add_block('built-in/Constant',[sys,'/','Empf鋘ger/Diagramme/Constant0'])
set_param([sys,'/','Empf鋘ger/Diagramme/Constant0'],...
'orientation',3,...
'hide name',0,...
'Value','0',...
'position',[190,125,210,145])
% Subsystem 'Empf鋘ger/Diagramme/Trajektorie'.
new_system([sys,'/','Empf鋘ger/Diagramme/Trajektorie'])
set_param([sys,'/','Empf鋘ger/Diagramme/Trajektorie'],'Location',[165,242,460,428])
add_block('built-in/Inport',[sys,'/','Empf鋘ger/Diagramme/Trajektorie/in_1'])
set_param([sys,'/','Empf鋘ger/Diagramme/Trajektorie/in_1'],...
'position',[15,55,35,75])
add_block('built-in/Inport',[sys,'/','Empf鋘ger/Diagramme/Trajektorie/in_2'])
set_param([sys,'/','Empf鋘ger/Diagramme/Trajektorie/in_2'],...
'Port','2',...
'position',[20,115,40,135])
add_block('built-in/Mux',[sys,'/','Empf鋘ger/Diagramme/Trajektorie/Mux'])
set_param([sys,'/','Empf鋘ger/Diagramme/Trajektorie/Mux'],...
'inputs','2',...
'position',[65,70,100,105])
add_block('built-in/S-Function',[sys,'/','Empf鋘ger/Diagramme/Trajektorie/Plot1'])
set_param([sys,'/','Empf鋘ger/Diagramme/Trajektorie/Plot1'],...
'function name','eyediasi',...
'parameters','time_range, boundary, kept_length, eye_line, scatter_line, two_d_line',...
'position',[130,70,200,110])
add_line([sys,'/','Empf鋘ger/Diagramme/Trajektorie'],[40,65;45,65;45,80;60,80])
add_line([sys,'/','Empf鋘ger/Diagramme/Trajektorie'],[45,125;50,125;60,95])
add_line([sys,'/','Empf鋘ger/Diagramme/Trajektorie'],[105,90;125,90])
set_param([sys,'/','Empf鋘ger/Diagramme/Trajektorie'],...
'Mask Display','plot(0,0,100,100,x,y,v,w);',...
'Mask Type','Eye-diagram/scatter plot')
set_param([sys,'/','Empf鋘ger/Diagramme/Trajektorie'],...
'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,'/','Empf鋘ger/Diagramme/Trajektorie'],...
'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,'/','Empf鋘ger/Diagramme/Trajektorie'],...
'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,'/','Empf鋘ger/Diagramme/Trajektorie'],...
'Mask Entries','[2 0 1]\/[-1.5 1.5]\/0\/0\/0\/''g-''\/')
% Finished composite block 'Empf鋘ger/Diagramme/Trajektorie'.
set_param([sys,'/','Empf鋘ger/Diagramme/Trajektorie'],...
'position',[305,155,360,190])
add_block('built-in/Mux',[sys,'/','Empf鋘ger/Diagramme/Mux2'])
set_param([sys,'/','Empf鋘ger/Diagramme/Mux2'],...
'inputs','2',...
'position',[230,146,265,179])
add_block('built-in/Mux',[sys,'/','Empf鋘ger/Diagramme/Mux3'])
set_param([sys,'/','Empf鋘ger/Diagramme/Mux3'],...
'inputs','2',...
'position',[230,211,265,244])
% Subsystem 'Empf鋘ger/Diagramme/Signalraumpunkte'.
new_system([sys,'/','Empf鋘ger/Diagramme/Signalraumpunkte'])
set_param([sys,'/','Empf鋘ger/Diagramme/Signalraumpunkte'],'Location',[165,242,460,428])
add_block('built-in/Inport',[sys,'/','Empf鋘ger/Diagramme/Signalraumpunkte/in_1'])
set_param([sys,'/','Empf鋘ger/Diagramme/Signalraumpunkte/in_1'],...
'position',[75,80,95,100])
add_block('built-in/S-Function',[sys,'/','Empf鋘ger/Diagramme/Signalraumpunkte/Plot1'])
set_param([sys,'/','Empf鋘ger/Diagramme/Signalraumpunkte/Plot1'],...
'function name','eyesampl',...
'parameters','time_range, boundary, kept_length, eye_line, scatter_line, two_d_line',...
'position',[130,70,200,110])
add_line([sys,'/','Empf鋘ger/Diagramme/Signalraumpunkte'],[100,90;125,90])
set_param([sys,'/','Empf鋘ger/Diagramme/Signalraumpunkte'],...
'Mask Display','plot(0,0,100,100,x,y);',...
'Mask Type','Eye-diagram/scatter plot')
set_param([sys,'/','Empf鋘ger/Diagramme/Signalraumpunkte'],...
'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,'/','Empf鋘ger/Diagramme/Signalraumpunkte'],...
'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,'/','Empf鋘ger/Diagramme/Signalraumpunkte'],...
'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,'/','Empf鋘ger/Diagramme/Signalraumpunkte'],...
'Mask Entries','[1 .5 .999]\/[-1.5 1.5]\/0\/0\/''y.''\/[.5 offset]\/')
% Finished composite block 'Empf鋘ger/Diagramme/Signalraumpunkte'.
set_param([sys,'/','Empf鋘ger/Diagramme/Signalraumpunkte'],...
'position',[305,213,360,247])
add_block('built-in/Step Fcn',[sys,'/','Empf鋘ger/Diagramme/Step input'])
set_param([sys,'/','Empf鋘ger/Diagramme/Step input'],...
'Time','starttime',...
'position',[30,125,50,145])
add_block('built-in/Inport',[sys,'/','Empf鋘ger/Diagramme/Quadratur'])
set_param([sys,'/','Empf鋘ger/Diagramme/Quadratur'],...
'Port','2',...
'position',[30,80,50,100])
add_block('built-in/Inport',[sys,'/','Empf鋘ger/Diagramme/Inphase'])
set_param([sys,'/','Empf鋘ger/Diagramme/Inphase'],...
'position',[30,25,50,45])
add_block('built-in/Switch',[sys,'/','Empf鋘ger/Diagramme/Switch1'])
set_param([sys,'/','Empf鋘ger/Diagramme/Switch1'],...
'Threshold','1',...
'position',[130,84,155,116])
add_block('built-in/Switch',[sys,'/','Empf鋘ger/Diagramme/Switch'])
set_param([sys,'/','Empf鋘ger/Diagramme/Switch'],...
'Threshold','1',...
'position',[130,29,155,61])
add_line([sys,'/','Empf鋘ger/Diagramme'],[160,45;170,45;170,220;225,220])
add_line([sys,'/','Empf鋘ger/Diagramme'],[170,45;225,45])
add_line([sys,'/','Empf鋘ger/Diagramme'],[160,100;180,100;180,235;225,235])
add_line([sys,'/','Empf鋘ger/Diagramme'],[180,100;225,100])
add_line([sys,'/','Empf鋘ger/Diagramme'],[200,120;200,85;225,85])
add_line([sys,'/','Empf鋘ger/Diagramme'],[200,85;200,30;225,30])
add_line([sys,'/','Empf鋘ger/Diagramme'],[180,170;225,170])
add_line([sys,'/','Empf鋘ger/Diagramme'],[170,155;225,155])
add_line([sys,'/','Empf鋘ger/Diagramme'],[55,90;125,90])
add_line([sys,'/','Empf鋘ger/Diagramme'],[55,35;125,35])
add_line([sys,'/','Empf鋘ger/Diagramme'],[55,135;75,135;75,45;125,45])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -