📄 tmpam2cd.m
字号:
add_block('built-in/Constant',[sys,'/','MASK map/Gain diff'])
set_param([sys,'/','MASK map/Gain diff'],...
'Value','Ac',...
'position',[180,96,215,124])
add_block('built-in/Sum',[sys,'/','MASK map/Sum1'])
set_param([sys,'/','MASK map/Sum1'],...
'inputs','+-',...
'position',[250,63,270,87])
add_block('built-in/Gain',[sys,'/','MASK map/Gain'])
set_param([sys,'/','MASK map/Gain'],...
'Gain','Kc',...
'position',[180,25,220,55])
add_block('built-in/Inport',[sys,'/','MASK map/in_1'])
set_param([sys,'/','MASK map/in_1'],...
'position',[40,30,60,50])
add_block('built-in/Zero-Order Hold',[sys,'/',['MASK map/Zero-Order',13,'Hold']])
set_param([sys,'/',['MASK map/Zero-Order',13,'Hold']],...
'Sample time','td',...
'position',[100,24,135,56])
add_block('built-in/Outport',[sys,'/','MASK map/out_1'])
set_param([sys,'/','MASK map/out_1'],...
'position',[315,65,335,85])
add_line([sys,'/','MASK map'],[140,40;175,40])
add_line([sys,'/','MASK map'],[65,40;95,40])
add_line([sys,'/','MASK map'],[275,75;310,75])
add_line([sys,'/','MASK map'],[220,110;230,110;230,80;245,80])
add_line([sys,'/','MASK map'],[225,40;230,40;230,70;245,70])
set_param([sys,'/','MASK map'],...
'Mask Display','MASK\nmap',...
'Mask Type','MASK map')
set_param([sys,'/','MASK map'],...
'Mask Dialogue','Map a digital symbol onto an analog\nsignal in the range [-1, 1] using M-ary\namplitude shift keying modulation mapping.|M-ary number (input integers in range [0, M-1]):|Input symbol interval and offset (sec):')
set_param([sys,'/','MASK map'],...
'Mask Translate','N=@1;Ac=1;Kc=Ac*2/(N-1);td=@2;')
set_param([sys,'/','MASK map'],...
'Mask Help','This block maps an input digit signal onto a signal in the range [-1, 1]. The coded signal can be modulated using analog\nmodulation blocks. Input digits are in the range [0, M-1], where M is the M-ary number. 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,'/','MASK map'],...
'Mask Entries','M\/td\/')
% Finished composite block 'MASK map'.
set_param([sys,'/','MASK map'],...
'hide name',0,...
'position',[125,53,205,97])
% Subsystem 'MASK demap'.
new_system([sys,'/','MASK demap'])
set_param([sys,'/','MASK demap'],'Location',[187,342,628,482])
add_block('built-in/Inport',[sys,'/','MASK demap/in_1'])
set_param([sys,'/','MASK demap/in_1'],...
'position',[30,35,50,55])
add_block('built-in/S-Function',[sys,'/','MASK demap/Minimum'])
set_param([sys,'/','MASK demap/Minimum'],...
'function name','arymimai',...
'parameters','''min''',...
'position',[315,45,370,65])
add_block('built-in/Outport',[sys,'/','MASK demap/out_1'])
set_param([sys,'/','MASK demap/out_1'],...
'position',[400,45,420,65])
add_block('built-in/Abs',[sys,'/','MASK demap/Abs'])
set_param([sys,'/','MASK demap/Abs'],...
'position',[235,42,270,68])
add_block('built-in/Sum',[sys,'/','MASK demap/Sum2'])
set_param([sys,'/','MASK demap/Sum2'],...
'inputs','+-',...
'position',[180,38,200,67])
add_block('built-in/Constant',[sys,'/','MASK demap/Shift key'])
set_param([sys,'/','MASK demap/Shift key'],...
'Value','sft',...
'position',[115,93,135,117])
add_block('built-in/Zero-Order Hold',[sys,'/',['MASK demap/Zero-Order',13,'Hold']])
set_param([sys,'/',['MASK demap/Zero-Order',13,'Hold']],...
'Sample time','td',...
'position',[85,29,120,61])
add_line([sys,'/','MASK demap'],[205,55;230,55])
add_line([sys,'/','MASK demap'],[140,105;155,105;155,60;175,60])
add_line([sys,'/','MASK demap'],[375,55;395,55])
add_line([sys,'/','MASK demap'],[125,45;175,45])
add_line([sys,'/','MASK demap'],[275,55;310,55])
add_line([sys,'/','MASK demap'],[55,45;80,45])
set_param([sys,'/','MASK demap'],...
'Mask Display','MASK\ndemap',...
'Mask Type','MASK demap')
set_param([sys,'/','MASK demap'],...
'Mask Dialogue','Reverse the MASK mapping process\nConvert [-1 1] analog signal to [0, M-1] symbols.|M-ary number (digit integers in ranger [0, M-1]):|Output symbol interval and offset (sec):')
set_param([sys,'/','MASK demap'],...
'Mask Translate','N=@1;Ac=1;sft=[0:N-1]*Ac*2/(N-1)-Ac;td=@2;')
set_param([sys,'/','MASK demap'],...
'Mask Help','This block demaps a MASK mapped signal back to digit symbols. You can place this block after a amplitude demodulation block. The input of this block is an analog signal in the range [-1, 1]. The demodulation decides the closest integer fitting in [0,M-1] range. When the input symbol interval is a two-elements vector, the second element is offset. The default offset value is 0.')
set_param([sys,'/','MASK demap'],...
'Mask Entries','M\/[td, td-ts]\/')
% Finished composite block 'MASK demap'.
set_param([sys,'/','MASK demap'],...
'hide name',0,...
'position',[455,53,535,97])
% Subsystem ['DSB AM',13,'baseband'].
new_system([sys,'/',['DSB AM',13,'baseband']])
set_param([sys,'/',['DSB AM',13,'baseband']],'Location',[212,430,575,573])
add_block('built-in/Constant',[sys,'/',['DSB AM',13,'baseband/Constant']])
set_param([sys,'/',['DSB AM',13,'baseband/Constant']],...
'Value','x1',...
'position',[40,65,60,85])
add_block('built-in/Constant',[sys,'/',['DSB AM',13,'baseband/Constant1']])
set_param([sys,'/',['DSB AM',13,'baseband/Constant1']],...
'Value','x2',...
'position',[90,90,110,110])
add_block('built-in/Mux',[sys,'/',['DSB AM',13,'baseband/Mux']])
set_param([sys,'/',['DSB AM',13,'baseband/Mux']],...
'inputs','2',...
'position',[170,66,205,99])
add_block('built-in/Inport',[sys,'/',['DSB AM',13,'baseband/in_1']])
set_param([sys,'/',['DSB AM',13,'baseband/in_1']],...
'position',[115,15,135,35])
add_block('built-in/Product',[sys,'/',['DSB AM',13,'baseband/Product']])
set_param([sys,'/',['DSB AM',13,'baseband/Product']],...
'position',[255,42,280,73])
add_block('built-in/Outport',[sys,'/',['DSB AM',13,'baseband/out_1']])
set_param([sys,'/',['DSB AM',13,'baseband/out_1']],...
'position',[320,50,340,70])
add_line([sys,'/',['DSB AM',13,'baseband']],[210,85;230,85;230,65;250,65])
add_line([sys,'/',['DSB AM',13,'baseband']],[285,60;315,60])
add_line([sys,'/',['DSB AM',13,'baseband']],[140,25;185,25;185,50;250,50])
add_line([sys,'/',['DSB AM',13,'baseband']],[115,100;130,100;130,90;165,90])
add_line([sys,'/',['DSB AM',13,'baseband']],[65,75;165,75])
set_param([sys,'/',['DSB AM',13,'baseband']],...
'Mask Display','plot(0,0,100,100,x,y,u,v);DSB AM',...
'Mask Type','DSB-SC AM CE',...
'Mask Dialogue','Output the complex envelope of a\nDSB-SC AM modulated signal.|Initial Phase (rad):')
set_param([sys,'/',['DSB AM',13,'baseband']],...
'Mask Translate','Ph=@1;x1=cos(Ph);x2=sin(Ph);pi2=2*pi;[x,y]=moduicon(1);[u,v]=cmplxicn(1,50,get_param(gcb,''orientation''));')
set_param([sys,'/',['DSB AM',13,'baseband']],...
'Mask Help','This block outputs the complex envelope of the double-sideband suppressed-carrier amplitude modulated signal. The output is a complex signal.',...
'Mask Entries','pi/2\/')
% Finished composite block ['DSB AM',13,'baseband'].
set_param([sys,'/',['DSB AM',13,'baseband']],...
'hide name',0,...
'position',[230,53,310,97])
% Subsystem ['DSB-ADM',13,'baseband'].
new_system([sys,'/',['DSB-ADM',13,'baseband']])
set_param([sys,'/',['DSB-ADM',13,'baseband']],'Location',[172,360,722,581])
add_block('built-in/Filter',[sys,'/',['DSB-ADM',13,'baseband/Filter2']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Filter2']],...
'orientation',2,...
'Numerator','num',...
'Denominator','den',...
'Sample time','ts',...
'position',[310,100,370,140])
% Subsystem ['DSB-ADM',13,'baseband/FM CE//VCO'].
new_system([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO']])
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO']],'Location',[493,551,1106,698])
add_block('built-in/Constant',[sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Constant']])
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Constant']],...
'Value','Ph',...
'position',[160,100,180,120])
add_block('built-in/Sum',[sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Sum']])
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Sum']],...
'position',[220,30,240,50])
% Subsystem ['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator'].
new_system([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator']])
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator']],'Location',[40,403,515,507])
add_block('built-in/Discrete Transfer Fcn',[sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator/Dis. Transfer Fcn']])
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator/Dis. Transfer Fcn']],...
'Numerator','ts(1)',...
'Denominator','1',...
'Sample time','ts',...
'position',[90,17,135,53])
add_block('built-in/Inport',[sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator/in_1']])
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator/in_1']],...
'position',[15,25,35,45])
add_block('built-in/Fcn',[sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator/module']])
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator/module']],...
'Expr','rem(u[1],modu)',...
'position',[235,29,325,51])
add_block('built-in/Sum',[sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator/Sum']])
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator/Sum']],...
'position',[195,30,215,50])
add_block('built-in/Unit Delay',[sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator/Unit Delay']])
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator/Unit Delay']],...
'Sample time','ts',...
'x0','init',...
'position',[345,30,395,50])
add_block('built-in/Outport',[sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator/out_1']])
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator/out_1']],...
'position',[445,30,465,50])
add_line([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator']],[140,35;190,35])
add_line([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator']],[40,35;85,35])
add_line([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator']],[220,40;230,40])
add_line([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator']],[330,40;340,40])
add_line([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator']],[400,40;410,40;410,90;175,90;175,45;190,45])
add_line([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator']],[410,40;440,40])
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator']],...
'Mask Display','discrete\nmod-int',...
'Mask Type','Module Integrator')
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator']],...
'Mask Dialogue','Module the given number when state exceed limit|Module bound:|Initial value:|Sample time:',...
'Mask Translate','init=@2; modu=@1;ts=@3;')
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator']],...
'Mask Help','The absolute value of this integrator will not exceed the specified module bound. The state value is set to be zero when the module bound is reached. This block can only be used for scale value calculation.')
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator']],...
'Mask Entries','pi2\/0\/ts\/')
% Finished composite block ['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator'].
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Dis module',13,'integrator']],...
'position',[135,16,195,54])
add_block('built-in/Outport',[sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/out_1']])
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/out_1']],...
'position',[490,35,510,55])
add_block('built-in/Gain',[sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Sensitivity1']])
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Sensitivity1']],...
'Gain','Ac',...
'position',[420,31,460,59])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -