📄 com_mocd.m
字号:
'Mask Dialogue','Reset the state to be zero(s) at the scheduled reset point.|Scheduled reset time inteval and offset:|Sample time and offset:|Modulo bound:')
set_param([sys,'/',['Noncoh corr MFSK',13,'demod passband/Scheduled',13,'reset-int']],...
'Mask Translate','td=@1;ts=@2;limit=@3;')
set_param([sys,'/',['Noncoh corr MFSK',13,'demod passband/Scheduled',13,'reset-int']],...
'Mask Help','This block resets the state(s) to be zero(s) at the begining of reset time inteval. The reset inteval can be a two elements vector with the second element being offset.')
set_param([sys,'/',['Noncoh corr MFSK',13,'demod passband/Scheduled',13,'reset-int']],...
'Mask Entries','td\/ts\/Inf\/',...
'position',[200,34,260,76])
add_block('built-in/Sum',[sys,'/',['Noncoh corr MFSK',13,'demod passband/Sum1']])
set_param([sys,'/',['Noncoh corr MFSK',13,'demod passband/Sum1']],...
'inputs','+++',...
'position',[325,70,350,110])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[810,95;820,95])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[515,85;535,85])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[765,100;780,100])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[765,85;780,85])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[705,95;715,95])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[645,95;655,95;655,100;670,100])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[645,95;655,95;655,85;670,85])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[570,95;575,95])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[525,100;535,100])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[460,100;465,100])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[410,130;420,110])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[355,90;420,90])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[360,165;370,165;380,135])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[355,90;370,90;380,120])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[235,195;240,195;240,180;260,180])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[170,165;260,165])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[180,165;190,195])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[295,175;310,175;320,105])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[120,165;140,165])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[165,120;290,120;290,90;320,90])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[265,55;285,55;285,75;320,75])
add_line([sys,'/',['Noncoh corr MFSK',13,'demod passband']],[145,55;195,55])
set_param([sys,'/',['Noncoh corr MFSK',13,'demod passband']],...
'Mask Display','Noncoh corr\nMFSK dm',...
'Mask Type','Passband non-coherent MFSK correlation')
set_param([sys,'/',['Noncoh corr MFSK',13,'demod passband']],...
'Mask Dialogue','Compute MFSK correlation. Take MFSK\nmodulated signal. Output a vector of\ncorrelation result.|M-ary number (input in range [0, M-1]):|Tone space (Hz):|Symbol interval and offset (sec):|Carrier frequency (Hz):|Initial phase (rad):|Sample time (sec):')
set_param([sys,'/',['Noncoh corr MFSK',13,'demod passband']],...
'Mask Translate','pi2=2*pi;N=@1;Fc=@4*pi2;Ph=@5;Ton=@2;sft=[0:N-1]*Ton*pi2;td=@3;ts=@6;')
set_param([sys,'/',['Noncoh corr MFSK',13,'demod passband']],...
'Mask Help','This block calculates the noncoherent correlation value of the input signal with a vector of sinusoidal signals. These sinusoidal signals have their frequency the same as that of FM modulated signal of possible resulting digits. The output is an M length vector. M is the M-ary number. The MFSK demodulation result is the index of the largest output, using the Min/max demap block.')
set_param([sys,'/',['Noncoh corr MFSK',13,'demod passband']],...
'Mask Entries','M\/M/td/5\/td\/Fc\/0\/ts\/')
% Finished composite block ['Noncoh corr MFSK',13,'demod passband'].
set_param([sys,'/',['Noncoh corr MFSK',13,'demod passband']],...
'position',[320,423,400,467])
add_block('built-in/Note',[sys,'/','(map+modu ===> demod+demap)'])
set_param([sys,'/','(map+modu ===> demod+demap)'],...
'ForeGround',2,...
'position',[320,20,325,25])
% Subsystem ['QASK',13,'circle-map'].
new_system([sys,'/',['QASK',13,'circle-map']])
set_param([sys,'/',['QASK',13,'circle-map']],'Location',[58,103,403,268])
add_block('built-in/Zero-Order Hold',[sys,'/',['QASK',13,'circle-map/Zero-Order',13,'Hold1']])
set_param([sys,'/',['QASK',13,'circle-map/Zero-Order',13,'Hold1']],...
'Sample time','td',...
'position',[80,14,115,46])
add_block('built-in/Inport',[sys,'/',['QASK',13,'circle-map/in_1']])
set_param([sys,'/',['QASK',13,'circle-map/in_1']],...
'position',[25,20,45,40])
add_block('built-in/Look Up Table',[sys,'/',['QASK',13,'circle-map/real part']])
set_param([sys,'/',['QASK',13,'circle-map/real part']],...
'Input_Values','x',...
'Output_Values','y1',...
'position',[180,17,215,43])
add_block('built-in/Look Up Table',[sys,'/',['QASK',13,'circle-map/imag part1']])
set_param([sys,'/',['QASK',13,'circle-map/imag part1']],...
'Input_Values','x',...
'Output_Values','y2',...
'position',[175,97,210,123])
add_block('built-in/Outport',[sys,'/',['QASK',13,'circle-map/Real']])
set_param([sys,'/',['QASK',13,'circle-map/Real']],...
'position',[275,20,295,40])
add_block('built-in/Outport',[sys,'/',['QASK',13,'circle-map/Imag']])
set_param([sys,'/',['QASK',13,'circle-map/Imag']],...
'Port','2',...
'position',[275,100,295,120])
add_line([sys,'/',['QASK',13,'circle-map']],[50,30;75,30])
add_line([sys,'/',['QASK',13,'circle-map']],[120,30;175,30])
add_line([sys,'/',['QASK',13,'circle-map']],[145,30;145,110;170,110])
add_line([sys,'/',['QASK',13,'circle-map']],[220,30;270,30])
add_line([sys,'/',['QASK',13,'circle-map']],[215,110;270,110])
set_param([sys,'/',['QASK',13,'circle-map']],...
'Mask Display','QASK\nC-map',...
'Mask Type','QASK C-map')
set_param([sys,'/',['QASK',13,'circle-map']],...
'Mask Dialogue','QASK mapping with circle constellation. The constellation is defined in NIC, RIC and PIC.|Number of symbols in each circle NIC:|Radii in each circle RIC:|Phase shift in each circle PIC (rad):|Symbol interval and offset (sec):')
set_param([sys,'/',['QASK',13,'circle-map']],...
'Mask Translate','N=@1;A=@2;P=@3;td=@4;y1=apkconst(N,A,P);y1=[y1;y1];y1=y1(:);y2=imag(y1);y1=real(y1);x=[-sum(N) 1:sum(N)-1;1:sum(N)-1 10*sum(N)]-.5;x=x(:);')
set_param([sys,'/',['QASK',13,'circle-map']],...
'Mask Help','This block maps a digital signal onto in-phase and quadratic components, which are outputs in the first and second output port respectively. The circle constellation is defined in NIC, RIC, and PIC. The input symbol interval can be a two-element vector with the second element being offset. The default value offset is 0. Use the MODMAP function to see the constellation.')
set_param([sys,'/',['QASK',13,'circle-map']],...
'Mask Entries','[6 12 18 24 30 38]\/[1 1.93 2.88 3.83 4.78 6.05]\/[0 0 0 0 0 0]\/td\/')
% Finished composite block ['QASK',13,'circle-map'].
set_param([sys,'/',['QASK',13,'circle-map']],...
'position',[40,198,120,242])
% Subsystem ['QASK',13,'circle-demap'].
new_system([sys,'/',['QASK',13,'circle-demap']])
set_param([sys,'/',['QASK',13,'circle-demap']],'Location',[96,182,645,417])
add_block('built-in/Zero-Order Hold',[sys,'/',['QASK',13,'circle-demap/Zero-Order',13,'Hold']])
set_param([sys,'/',['QASK',13,'circle-demap/Zero-Order',13,'Hold']],...
'ForeGround',2,...
'Sample time','td',...
'position',[120,29,155,61])
add_block('built-in/Inport',[sys,'/',['QASK',13,'circle-demap/real']])
set_param([sys,'/',['QASK',13,'circle-demap/real']],...
'position',[45,35,65,55])
add_block('built-in/Inport',[sys,'/',['QASK',13,'circle-demap/imag']])
set_param([sys,'/',['QASK',13,'circle-demap/imag']],...
'Port','2',...
'position',[45,120,65,140])
add_block('built-in/Zero-Order Hold',[sys,'/',['QASK',13,'circle-demap/Zero-Order',13,'Hold1']])
set_param([sys,'/',['QASK',13,'circle-demap/Zero-Order',13,'Hold1']],...
'ForeGround',4,...
'Sample time','td',...
'position',[120,114,155,146])
add_block('built-in/Sum',[sys,'/',['QASK',13,'circle-demap/Sum1']])
set_param([sys,'/',['QASK',13,'circle-demap/Sum1']],...
'ForeGround',2,...
'inputs','+-',...
'position',[230,38,250,67])
add_block('built-in/Sum',[sys,'/',['QASK',13,'circle-demap/Sum6']])
set_param([sys,'/',['QASK',13,'circle-demap/Sum6']],...
'ForeGround',4,...
'inputs','+-',...
'position',[230,123,250,152])
add_block('built-in/Product',[sys,'/',['QASK',13,'circle-demap/Product']])
set_param([sys,'/',['QASK',13,'circle-demap/Product']],...
'position',[300,45,325,65])
add_block('built-in/Product',[sys,'/',['QASK',13,'circle-demap/Product1']])
set_param([sys,'/',['QASK',13,'circle-demap/Product1']],...
'position',[300,130,325,150])
add_block('built-in/Sum',[sys,'/',['QASK',13,'circle-demap/Sum2']])
set_param([sys,'/',['QASK',13,'circle-demap/Sum2']],...
'position',[370,78,390,107])
add_block('built-in/S-Function',[sys,'/',['QASK',13,'circle-demap/Minimum1']])
set_param([sys,'/',['QASK',13,'circle-demap/Minimum1']],...
'function name','arymimai',...
'parameters','''min''',...
'position',[415,85,475,105])
add_block('built-in/Outport',[sys,'/',['QASK',13,'circle-demap/out_1']])
set_param([sys,'/',['QASK',13,'circle-demap/out_1']],...
'position',[495,85,515,105])
add_block('built-in/Constant',[sys,'/',['QASK',13,'circle-demap/real_pt']])
set_param([sys,'/',['QASK',13,'circle-demap/real_pt']],...
'BackGround',3,...
'Value','y1',...
'position',[170,84,195,106])
add_block('built-in/Constant',[sys,'/',['QASK',13,'circle-demap/imag_pt']])
set_param([sys,'/',['QASK',13,'circle-demap/imag_pt']],...
'BackGround',5,...
'Value','y2',...
'position',[165,169,190,191])
add_line([sys,'/',['QASK',13,'circle-demap']],[70,45;115,45])
add_line([sys,'/',['QASK',13,'circle-demap']],[70,130;115,130])
add_line([sys,'/',['QASK',13,'circle-demap']],[200,95;205,95;205,60;225,60])
add_line([sys,'/',['QASK',13,'circle-demap']],[160,45;225,45])
add_line([sys,'/',['QASK',13,'circle-demap']],[160,130;225,130])
add_line([sys,'/',['QASK',13,'circle-demap']],[195,180;205,180;205,145;225,145])
add_line([sys,'/',['QASK',13,'circle-demap']],[255,55;270,55;270,50;295,50])
add_line([sys,'/',['QASK',13,'circle-demap']],[270,55;270,60;295,60])
add_line([sys,'/',['QASK',13,'circle-demap']],[255,140;270,140;270,135;295,135])
add_line([sys,'/',['QASK',13,'circle-demap']],[270,140;270,145;295,145])
add_line([sys,'/',['QASK',13,'circle-demap']],[330,55;340,55;340,85;365,85])
add_line([sys,'/',['QASK',13,'circle-demap']],[330,140;340,140;340,100;365,100])
add_line([sys,'/',['QASK',13,'circle-demap']],[395,95;410,95])
add_line([sys,'/',['QASK',13,'circle-demap']],[480,95;490,95])
set_param([sys,'/',['QASK',13,'circle-demap']],...
'Mask Display','QASK\nC-demap',...
'Mask Type','QASK C-demap')
set_param([sys,'/',['QASK',13,'circle-demap']],...
'Mask Dialogue','Reverse the QASK map. Input in-phase\nand quadrature components from the\ntwo inputs. Output demapped signal.|Number of symbols on each circle NIC::|Radii for each circle RIC:|Phase shift on each circle PIC (rad):|Symbol interval and offset (sec):')
set_param([sys,'/',['QASK',13,'circle-demap']],...
'Mask Translate','N=@1;A=@2;P=@3;td=@4;y1=apkconst(N,A,P);y2=imag(y1);y1=real(y1);')
set_param([sys,'/',['QASK',13,'circle-demap']],...
'Mask Help','This block demaps a QASK mapped signal using circle constellation. You can place this block after a QAM demodulation block. The circle constellation is defined in NIC, RIC, and PIC. The symbol interval can be a two elements vector with the first element being offset. The default offset is zero. Use function MODMAP to view the constellation.')
set_param([sys,'/',['QASK',13,'circle-demap']],...
'Mask Entries','[6 12 18 24 30 38]\/[1 1.93 2.88 3.83 4.78 6.05]\/[0 0 0 0 0 0]\/td\/')
% Finished composite block ['QASK',13,'circle-demap'].
set_param([sys,'/',['QASK',13,'circle-demap']],...
'position',[445,198,525,242])
% Subsystem ['QASK',13,'square-demap'].
new_system([sys,'/',['QASK',13,'square-demap']])
set_param([sys,'/',['QASK',13,'square-demap']],'Location',[57,374,831,674])
add_block('built-in/Zero-Order Hold',[sys,'/',['QASK',13,'square-demap/Zero-Order',13,'Hold']])
set_param([sys,'/',['QASK',13,'square-demap/Zero-Order',13,'Hold']],...
'Sample time','td',...
'position',[135,24,170,56])
add_block('built-in/Inport',[sys,'/',['QASK',13,'square-demap/in_1']])
set_param([sys,'/',['QASK',13,'square-demap/in_1']],...
'position',[60,30,80,50])
add_block('built-in/Zero-Order Hold',[sys,'/',['QASK',13,'square-demap/Zero-Order',13,'Hold1']])
set_param([sys,'/',['QASK',13,'square-demap/Zero-Order',13,'Hold1']],...
'Sample time','td',...
'position',[135,149,170,181])
add_block('built-in/Inport',[sys,'/',['QASK',13,'square-demap/in_2']])
set_param([sys,'/',['QASK',13,'square-demap/in_2']],...
'Port','2',...
'position',[60,155,80,175])
add_block('built-in/Sum',[sys,'/',['QASK',13,'square-demap/Sum5']])
set_param([sys,'/',['QASK',13,'square-demap/Sum5']],...
'ForeGround',2,...
'position',[470,153,490,182])
% Subsystem ['QASK',13,'square-demap/2-D Table'].
new_system([sys,'/',['QASK',13,'square-demap/2-D Table']])
set_param([sys,'/',['QASK',13,'square-demap/2-D Table']],'Location',[436,148,718,302])
add_block('built-in/Inport',[sys,'/',['QASK',13,'square-demap/2-D Table/y0']])
set_param([sys,'/',['QASK',13,'square-demap/2-D Table/y0']],...
'Port','2',...
'position',[20,80,40,100])
add_block('built-in/Outport',[sys,'/',['QASK',13,'square-demap/2-D Table/table out']])
set_param([sys,'/',['QASK',13,'square-demap/2-D Table/table out']],...
'position',[215,55,235,75])
add_block('built-in/Inport',[sys,'/',['QASK',13,'square-demap/2-D Table/x0']])
set_param([sys,'/',['QASK',13,'square-demap/2-D Table/x0']],...
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -