📄 tutmodcs.m
字号:
add_block('built-in/Zero-Order Hold',[sys,'/',['PM',13,'passband/Zero-Order',13,'Hold']])
set_param([sys,'/',['PM',13,'passband/Zero-Order',13,'Hold']],...
'Sample time','td',...
'position',[150,94,185,126])
add_block('built-in/Constant',[sys,'/',['PM',13,'passband/Initial value']])
set_param([sys,'/',['PM',13,'passband/Initial value']],...
'Value','Ph',...
'position',[220,120,240,140])
add_line([sys,'/',['PM',13,'passband']],[405,75;440,75])
add_line([sys,'/',['PM',13,'passband']],[245,130;255,130;255,85;275,85])
add_line([sys,'/',['PM',13,'passband']],[305,75;320,75])
add_line([sys,'/',['PM',13,'passband']],[175,20;255,20;255,65;275,65])
add_line([sys,'/',['PM',13,'passband']],[65,75;75,75])
add_line([sys,'/',['PM',13,'passband']],[250,75;275,75])
add_line([sys,'/',['PM',13,'passband']],[125,75;165,75;165,65;215,65])
add_line([sys,'/',['PM',13,'passband']],[190,110;195,110;195,80;215,80])
add_line([sys,'/',['PM',13,'passband']],[125,75;130,75;130,110;145,110])
set_param([sys,'/',['PM',13,'passband']],...
'Mask Display','plot(0,0,100,100,x,y);PM',...
'Mask Type','Passband PM')
set_param([sys,'/',['PM',13,'passband']],...
'Mask Dialogue','Modulate the input signal using PM method.|Carrier frequency (Hz):|Initial phase (rad):|Symbol interval (sec, Use inf for analog case):')
set_param([sys,'/',['PM',13,'passband']],...
'Mask Translate','Fc=@1*2*pi;Ph=@2;td=@3;[x,y]=moduicon(3);',...
'Mask Help','The PM block causes the change of the carrier signal depending on the input signal voltage.')
set_param([sys,'/',['PM',13,'passband']],...
'Mask Entries','100/2/pi\/0\/inf\/')
% Finished composite block ['PM',13,'passband'].
set_param([sys,'/',['PM',13,'passband']],...
'hide name',0,...
'position',[125,248,205,292])
% Subsystem ['PDM',13,'passband'].
new_system([sys,'/',['PDM',13,'passband']])
set_param([sys,'/',['PDM',13,'passband']],'Location',[232,541,802,708])
add_block('built-in/Gain',[sys,'/',['PDM',13,'passband/Sensitivity1']])
set_param([sys,'/',['PDM',13,'passband/Sensitivity1']],...
'Gain','2',...
'position',[70,25,110,55])
add_block('built-in/Filter',[sys,'/',['PDM',13,'passband/Filter']])
set_param([sys,'/',['PDM',13,'passband/Filter']],...
'Numerator','num',...
'Denominator','den',...
'Sample time','ts',...
'position',[235,26,290,64])
add_block('built-in/Product',[sys,'/',['PDM',13,'passband/Multiplier',13,'phase detector']])
set_param([sys,'/',['PDM',13,'passband/Multiplier',13,'phase detector']],...
'position',[155,35,180,55])
% Subsystem ['PDM',13,'passband/Discrete-time',13,'VCO'].
new_system([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO']])
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO']],'Location',[4,58,511,205])
add_block('built-in/Sum',[sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Sum']])
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Sum']],...
'position',[155,30,175,50])
% Subsystem ['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator'].
new_system([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator']])
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator']],'Location',[402,373,908,481])
add_block('built-in/Gain',[sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator/Sensitivity']])
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator/Sensitivity']],...
'Gain','ts(1)',...
'position',[80,16,135,54])
add_block('built-in/Unit Delay',[sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator/Unit Delay']])
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator/Unit Delay']],...
'Sample time','ts',...
'x0','init',...
'position',[345,30,395,50])
add_block('built-in/Inport',[sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator/in_1']])
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator/in_1']],...
'position',[15,25,35,45])
add_block('built-in/Fcn',[sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator/module']])
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator/module']],...
'Expr','rem(u[1],modu)',...
'position',[235,29,325,51])
add_block('built-in/Sum',[sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator/Sum']])
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator/Sum']],...
'position',[195,30,215,50])
add_block('built-in/Outport',[sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator/out_1']])
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator/out_1']],...
'position',[430,30,450,50])
add_line([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator']],[400,40;425,40])
add_line([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator']],[410,40;410,90;175,90;175,45;190,45])
add_line([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator']],[330,40;340,40])
add_line([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator']],[140,35;190,35])
add_line([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator']],[40,35;75,35])
add_line([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator']],[220,40;230,40])
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator']],...
'Mask Display','discrete\nmod-int',...
'Mask Type','Module Integrator')
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator']],...
'Mask Dialogue','Module the given number when state exceed limit|Module bound:|Initial value:|Sample time:')
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator']],...
'Mask Translate','init=@2; modu=@1;ts=@3;')
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'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,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator']],...
'Mask Entries','pi*100\/0\/ts\/')
% Finished composite block ['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator'].
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Dis module',13,'integrator']],...
'position',[200,21,260,59])
add_block('built-in/Gain',[sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Sensitivity']])
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Sensitivity']],...
'Gain','Kc*pi2',...
'position',[60,14,135,56])
add_block('built-in/Inport',[sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/in_1']])
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/in_1']],...
'position',[15,25,35,45])
add_block('built-in/Fcn',[sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/sin']])
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/sin']],...
'Expr','Ac*cos(u[1]+Ph)',...
'position',[285,25,410,55])
add_block('built-in/Constant',[sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Carrier',13,'frequency']])
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/Carrier',13,'frequency']],...
'Value','Fc*pi2',...
'position',[60,85,115,105])
add_block('built-in/Outport',[sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/out_1']])
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO/out_1']],...
'position',[425,30,445,50])
add_line([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO']],[140,35;150,35])
add_line([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO']],[180,40;195,40])
add_line([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO']],[265,40;280,40])
add_line([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO']],[120,95;125,95;125,45;150,45])
add_line([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO']],[40,35;55,35])
add_line([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO']],[415,40;420,40])
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO']],...
'Mask Display','Discrete\nVCO',...
'Mask Type','VCO')
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO']],...
'Mask Dialogue','Voltage-Controlled Oscilator:|Amplitude constant:|Carier frequency (Hz):|Sensitivity constant:|Initial phase (rad):|Sample time:')
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO']],...
'Mask Translate','Ac=@1;Fc=@2;Kc=@3;Ph=@4;pi2=2*pi;ts=@5;')
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO']],...
'Mask Help','The VCO block cause the frequency of the sinusoidal carrier to depend on the input signal voltage, resulting in frequency of the output change depending on the amplitude of the input signal.')
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO']],...
'Mask Entries','1\/Fc\/1\/Ph\/ts\/')
% Finished composite block ['PDM',13,'passband/Discrete-time',13,'VCO'].
set_param([sys,'/',['PDM',13,'passband/Discrete-time',13,'VCO']],...
'orientation',2,...
'position',[145,90,205,130])
add_block('built-in/Gain',[sys,'/',['PDM',13,'passband/Sensitivity']])
set_param([sys,'/',['PDM',13,'passband/Sensitivity']],...
'Gain','ts*2*pi',...
'position',[355,30,395,60])
add_block('built-in/Sum',[sys,'/',['PDM',13,'passband/Sum']])
set_param([sys,'/',['PDM',13,'passband/Sum']],...
'position',[435,40,455,60])
add_block('built-in/Unit Delay',[sys,'/',['PDM',13,'passband/Unit Delay1']])
set_param([sys,'/',['PDM',13,'passband/Unit Delay1']],...
'orientation',2,...
'Sample time','ts',...
'position',[435,90,485,110])
add_block('built-in/Outport',[sys,'/',['PDM',13,'passband/out_1']])
set_param([sys,'/',['PDM',13,'passband/out_1']],...
'position',[545,40,565,60])
add_block('built-in/Inport',[sys,'/',['PDM',13,'passband/in_1']])
set_param([sys,'/',['PDM',13,'passband/in_1']],...
'position',[20,30,40,50])
add_line([sys,'/',['PDM',13,'passband']],[115,40;150,40])
add_line([sys,'/',['PDM',13,'passband']],[45,40;65,40])
add_line([sys,'/',['PDM',13,'passband']],[295,45;325,45;325,110;210,110])
add_line([sys,'/',['PDM',13,'passband']],[325,45;350,45])
add_line([sys,'/',['PDM',13,'passband']],[460,50;500,50;490,100])
add_line([sys,'/',['PDM',13,'passband']],[500,50;540,50])
add_line([sys,'/',['PDM',13,'passband']],[430,100;410,100;410,55;430,55])
add_line([sys,'/',['PDM',13,'passband']],[400,45;430,45])
add_line([sys,'/',['PDM',13,'passband']],[140,110;110,110;110,50;150,50])
add_line([sys,'/',['PDM',13,'passband']],[185,45;230,45])
set_param([sys,'/',['PDM',13,'passband']],...
'Mask Display','plot(0,0,100,100,x,y);PDM',...
'Mask Type','Passband PDM')
set_param([sys,'/',['PDM',13,'passband']],...
'Mask Dialogue','Demodulate a PM modulated signal\nusing phase locked loop.|VCO frequency (Hz):|VCO Phase (rad):|Lowpass filter numerator:|Lowpass filter denominator:|Sample time (sec):')
set_param([sys,'/',['PDM',13,'passband']],...
'Mask Translate','Fc=@1;Ph=@2+pi/2;num=@3;den=@4;ts=@5;[x,y]=moduicon(4);')
set_param([sys,'/',['PDM',13,'passband']],...
'Mask Help','This block recovers a PM modulated signal. This block uses a multiplier phase detector in PLL. This block uses a discrete-time lowpass filter which passes the signal message and eliminates the carrier signal. ')
set_param([sys,'/',['PDM',13,'passband']],...
'Mask Entries','100/2/pi\/0\/num\/den\/ts\/')
% Finished composite block ['PDM',13,'passband'].
set_param([sys,'/',['PDM',13,'passband']],...
'hide name',0,...
'position',[245,248,325,292])
% Subsystem ['FDM',13,'passband'].
new_system([sys,'/',['FDM',13,'passband']])
set_param([sys,'/',['FDM',13,'passband']],'Location',[30,490,489,666])
add_block('built-in/Inport',[sys,'/',['FDM',13,'passband/in_1']])
set_param([sys,'/',['FDM',13,'passband/in_1']],...
'position',[25,30,45,50])
add_block('built-in/Outport',[sys,'/',['FDM',13,'passband/out_1']])
set_param([sys,'/',['FDM',13,'passband/out_1']],...
'position',[420,35,440,55])
% Subsystem ['FDM',13,'passband/Discrete-time',13,'VCO'].
new_system([sys,'/',['FDM',13,'passband/Discrete-time',13,'VCO']])
set_param([sys,'/',['FDM',13,'passband/Discrete-time',13,'VCO']],'Location',[93,129,873,276])
add_block('built-in/Inport',[sys,'/',['FDM',13,'passband/Discrete-time',13,'VCO/in_1']])
set_param([sys,'/',['FDM',13,'passband/Discrete-time',13,'VCO/in_1']],...
'position',[35,20,55,40])
add_block('built-in/Unit Delay',[sys,'/',['FDM',13,'passband/Discrete-time',13,'VCO/Unit Delay']])
set_param([sys,'/',['FDM',13,'passband/Discrete-time',13,'VCO/Unit Delay']],...
'Sample time','ts',...
'position',[300,25,350,45])
add_block('built-in/Sum',[sys,'/',['FDM',13,'passband/Discrete-time',13,'VCO/Sum1']])
set_param([sys,'/',['FDM',13,'passband/Discrete-time',13,'VCO/Sum1']],...
'position',[230,25,250,45])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -