📄 tutcdwmo.m
字号:
'Port','2',...
'position',[20,80,40,100])
add_block('built-in/Outport',[sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/2-D Table/table out']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/2-D Table/table out']],...
'position',[215,55,235,75])
add_block('built-in/Inport',[sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/2-D Table/x0']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/2-D Table/x0']],...
'position',[20,25,40,45])
add_block('built-in/S-Function',[sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/2-D Table/S-function']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/2-D Table/S-function']],...
'function name','sftable2',...
'parameters','xindex, yindex, table',...
'position',[140,52,190,78])
add_block('built-in/Mux',[sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/2-D Table/Mux']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/2-D Table/Mux']],...
'inputs','2',...
'position',[90,46,120,79])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/2-D Table']],[45,90;65,90;65,70;85,70])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/2-D Table']],[195,65;210,65])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/2-D Table']],[45,35;65,35;65,55;85,55])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/2-D Table']],[125,65;135,65])
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/2-D Table']],...
'Mask Display','plot(-10,-10,110,110,[90,50,10],[90,40,30],[90,50,10],[50,26,20],[90,50,10],[22,13,10])',...
'Mask Type','2-D Table Lookup')
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/2-D Table']],...
'Mask Dialogue','Two Dimensional Table Lookup\nThe first input corresponds to X Index and the second input corresponds to the Y Index|X Index|Y Index|Table')
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/2-D Table']],...
'Mask Translate','xindex=@1; yindex=@2; table=@3; sftab2chk(xindex,yindex,table);')
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/2-D Table']],...
'Mask Help','This block returns a linearly interpolated intersection from the table using the X index (which corresponds to the rows of the table) and the Y index (which corresponds to the columns of the table). Extrapolation is used.')
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/2-D Table']],...
'Mask Entries','x\/y\/tab\/')
% Finished composite block ['Square-map',13,'QASK demod1/QASK',13,'square-demap/2-D Table'].
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/2-D Table']],...
'position',[515,68,545,92])
add_block('built-in/Sum',[sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Sum3']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Sum3']],...
'ForeGround',2,...
'inputs','+-',...
'position',[580,73,600,102])
add_block('built-in/Saturation',[sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Saturation']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Saturation']],...
'Lower Limit','0',...
'Upper Limit','N-1',...
'position',[630,78,660,102])
add_block('built-in/Outport',[sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/out_1']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/out_1']],...
'position',[685,80,705,100])
add_block('built-in/Sum',[sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Sum4']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Sum4']],...
'ForeGround',2,...
'position',[470,58,490,87])
add_block('built-in/Sum',[sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Sum1']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Sum1']],...
'ForeGround',2,...
'inputs','+-',...
'position',[280,33,300,62])
add_block('built-in/Sum',[sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Sum2']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Sum2']],...
'ForeGround',2,...
'inputs','+-',...
'position',[290,158,310,187])
add_block('built-in/S-Function',[sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Minimum']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Minimum']],...
'function name','arymimai',...
'parameters','''min''',...
'position',[385,165,450,185])
add_block('built-in/Constant',[sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Shift key']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Shift key']],...
'Value','sfty',...
'position',[225,214,250,236])
add_block('built-in/S-Function',[sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Minimum1']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Minimum1']],...
'function name','arymimai',...
'parameters','''min''',...
'position',[385,40,445,60])
add_block('built-in/Constant',[sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Shift key1']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Shift key1']],...
'Value','sftx',...
'position',[220,89,245,111])
add_block('built-in/Constant',[sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Shift key2']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Shift key2']],...
'BackGround',5,...
'position',[325,114,350,136])
add_block('built-in/Abs',[sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Abs1']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Abs1']],...
'position',[325,38,355,62])
add_block('built-in/Abs',[sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Abs']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap/Abs']],...
'position',[325,163,355,187])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],[85,40;130,40])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],[360,175;380,175])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],[315,175;320,175])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],[255,225;260,225;260,180;285,180])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],[250,100;255,100;255,55;275,55])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],[305,50;320,50])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],[360,50;380,50])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],[665,90;680,90])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],[550,80;575,80])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],[605,90;625,90])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],[450,50;450,65;465,65])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],[455,175;465,175])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],[495,170;500,170;510,85])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],[355,125;560,125;560,95;575,95])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],[450,125;450,160;465,160])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],[450,125;450,80;465,80])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],[495,75;510,75])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],[85,165;130,165])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],[175,165;285,165])
add_line([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],[175,40;275,40])
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],...
'Mask Display','QASK\nS-demap',...
'Mask Type','QASK S-demap')
set_param([sys,'/',['Square-map',13,'QASK demod1/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,'/',['Square-map',13,'QASK demod1/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,'/',['Square-map',13,'QASK demod1/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].')
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],...
'Mask Entries','M\/td\/')
% Finished composite block ['Square-map',13,'QASK demod1/QASK',13,'square-demap'].
set_param([sys,'/',['Square-map',13,'QASK demod1/QASK',13,'square-demap']],...
'hide name',0,...
'position',[205,28,285,72])
% Subsystem ['Square-map',13,'QASK demod1/QADM',13,'passband'].
new_system([sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband']],'Location',[194,478,738,741])
add_block('built-in/Clock',[sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/Clock']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/Clock']],...
'position',[60,110,80,130])
add_block('built-in/Gain',[sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/Gain']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/Gain']],...
'Gain','Fc',...
'position',[110,101,160,139])
add_block('built-in/Filter',[sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/Filter1']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/Filter1']],...
'Numerator','num',...
'Denominator','den',...
'Sample time','ts',...
'position',[390,166,445,204])
add_block('built-in/Filter',[sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/Filter']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/Filter']],...
'Numerator','num',...
'Denominator','den',...
'Sample time','ts',...
'position',[390,61,445,99])
add_block('built-in/Gain',[sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/Gain1']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/Gain1']],...
'Gain','2',...
'position',[270,118,295,142])
add_block('built-in/Inport',[sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/in_1']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/in_1']],...
'position',[230,120,250,140])
add_block('built-in/Note',[sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/Ref: Hambley: An Intro to Comm. Systems. pp72']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/Ref: Hambley: An Intro to Comm. Systems. pp72']],...
'position',[285,280,290,285])
add_block('built-in/Fcn',[sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/Fcn']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/Fcn']],...
'Expr','cos(u[1]+Ph)',...
'position',[205,55,300,85])
add_block('built-in/Fcn',[sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/Fcn1']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/Fcn1']],...
'Expr','sin(u[1]+Ph)',...
'position',[200,175,300,205])
add_block('built-in/Product',[sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/Product']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/Product']],...
'position',[330,62,355,93])
add_block('built-in/Product',[sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/Product1']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/Product1']],...
'position',[330,167,355,198])
add_block('built-in/Outport',[sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/out_2']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/out_2']],...
'Port','2',...
'position',[480,175,500,195])
add_block('built-in/Outport',[sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/out_1']])
set_param([sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband/out_1']],...
'position',[480,70,500,90])
add_line([sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband']],[300,130;305,130;305,175;325,175])
add_line([sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband']],[300,130;305,130;305,85;325,85])
add_line([sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband']],[255,130;265,130])
add_line([sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband']],[165,120;185,120;185,70;200,70])
add_line([sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband']],[185,120;195,190])
add_line([sys,'/',['Square-map',13,'QASK demod1/QADM',13,'passband']],[305,70;325,70])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -