📄 tutmodcs.m
字号:
'Denominator','1',...
'Sample time','ts',...
'position',[55,196,110,234])
add_line([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],[195,100;200,100])
add_line([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],[105,130;130,130;130,105;165,105])
add_line([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],[125,75;150,75;150,95;165,95])
add_line([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],[45,75;65,75])
add_line([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],[230,30;270,30;270,50;335,50])
add_line([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],[370,60;375,60])
add_line([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],[270,100;270,65;335,65])
set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],...
'Mask Display','DSB-SC\nAM',...
'Mask Type','DSB-SC AM')
set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],...
'Mask Dialogue','Double-sideband suppressed-carrier amplitude modulation:|Amplitude scale factor:|Carrier frequency (Hz):|Initial Phase (rad):|Sample time (sec):')
set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],...
'Mask Translate','Ac=@1;Fc=@2;Fc=Fc*2*pi;Ph=@3;ts=@4;')
set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],...
'Mask Help','The DSB-SC AM causes the amplitude of the sinusoidal carrier to depend on the input message signal, resulting in amplitude modulation. In general, the carrier frequency should be much higher than the message signal frequency.')
set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],...
'Mask Entries','1\/Fc\/Ph\/ts\/')
% Finished composite block ['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt'].
set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],...
'ForeGround',3,...
'position',[265,28,340,62])
add_line([sys,'/',['AM with carrier',13,'passband']],[75,40;155,40])
add_line([sys,'/',['AM with carrier',13,'passband']],[185,45;260,45])
add_line([sys,'/',['AM with carrier',13,'passband']],[345,45;390,45])
add_line([sys,'/',['AM with carrier',13,'passband']],[115,85;130,85;130,50;155,50])
set_param([sys,'/',['AM with carrier',13,'passband']],...
'Mask Display','plot(0,0,100,100,x,y);AM w TC',...
'Mask Type','Passband AM with carrier')
set_param([sys,'/',['AM with carrier',13,'passband']],...
'Mask Dialogue','Modulate the input signal using\namplitude modulation with transmission\ncarrier method.|Input signal offset:|Carrier frequency (Hz):|Initial phase (rad):|Sample time (sec)')
set_param([sys,'/',['AM with carrier',13,'passband']],...
'Mask Translate','Offset=@1;Fc=@2;Ph=@3;ts=@4;[x,y]=moduicon(1);')
set_param([sys,'/',['AM with carrier',13,'passband']],...
'Mask Help','This block shifts the amplitude of the input signal before the modulation. AM with carrier is a simple technique but not an energy-efficient one.')
set_param([sys,'/',['AM with carrier',13,'passband']],...
'Mask Entries','1\/100/2/pi\/0\/ts\/')
% Finished composite block ['AM with carrier',13,'passband'].
set_param([sys,'/',['AM with carrier',13,'passband']],...
'hide name',0,...
'position',[125,128,205,172])
% Subsystem ['ADM with carrier',13,'passband'].
new_system([sys,'/',['ADM with carrier',13,'passband']])
set_param([sys,'/',['ADM with carrier',13,'passband']],'Location',[67,574,402,724])
add_block('built-in/Inport',[sys,'/',['ADM with carrier',13,'passband/in_1']])
set_param([sys,'/',['ADM with carrier',13,'passband/in_1']],...
'position',[40,25,60,45])
add_block('built-in/Sum',[sys,'/',['ADM with carrier',13,'passband/Sum']])
set_param([sys,'/',['ADM with carrier',13,'passband/Sum']],...
'inputs','+-',...
'position',[240,30,260,50])
add_block('built-in/Outport',[sys,'/',['ADM with carrier',13,'passband/out_1']])
set_param([sys,'/',['ADM with carrier',13,'passband/out_1']],...
'position',[290,30,310,50])
add_block('built-in/Constant',[sys,'/',['ADM with carrier',13,'passband/Constant']])
set_param([sys,'/',['ADM with carrier',13,'passband/Constant']],...
'Value','Offset',...
'position',[90,95,130,115])
% Subsystem ['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas'].
new_system([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],'Location',[79,73,846,354])
% Subsystem ['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator'].
new_system([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator']],'Location',[40,403,515,507])
add_block('built-in/Outport',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator/out_1']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator/out_1']],...
'position',[445,30,465,50])
add_block('built-in/Unit Delay',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator/Unit Delay']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator/Unit Delay']],...
'Sample time','ts',...
'x0','init',...
'position',[345,30,395,50])
add_block('built-in/Sum',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator/Sum']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator/Sum']],...
'position',[195,30,215,50])
add_block('built-in/Fcn',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator/module']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator/module']],...
'Expr','rem(u[1],modu)',...
'position',[235,29,325,51])
add_block('built-in/Inport',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator/in_1']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator/in_1']],...
'position',[15,25,35,45])
add_block('built-in/Discrete Transfer Fcn',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator/Dis. Transfer Fcn']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator/Dis. Transfer Fcn']],...
'Numerator','ts(1)',...
'Denominator','1',...
'Sample time','ts',...
'position',[90,17,135,53])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator']],[400,40;410,40;410,90;175,90;175,45;190,45])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator']],[410,40;440,40])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator']],[330,40;340,40])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator']],[220,40;230,40])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator']],[40,35;85,35])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator']],[140,35;190,35])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator']],...
'Mask Display','discrete\nmod-int',...
'Mask Type','Module Integrator')
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator']],...
'Mask Dialogue','Module the given number when state exceed limit|Module bound:|Initial value:|Sample time:')
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator']],...
'Mask Translate','init=@2; modu=@1;ts=@3;')
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/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,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator']],...
'Mask Entries','1\/0\/ts\/')
% Finished composite block ['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator'].
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator']],...
'orientation',2,...
'position',[365,105,425,145])
add_block('built-in/Constant',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Carrier',13,'frequency']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Carrier',13,'frequency']],...
'orientation',2,...
'Value','Fc',...
'position',[510,165,530,185])
add_block('built-in/Product',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Product1']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Product1']],...
'orientation',2,...
'position',[610,110,640,130])
add_block('built-in/Filter',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Filter2']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Filter2']],...
'orientation',2,...
'Numerator','num',...
'Denominator','den',...
'Sample time','ts',...
'position',[535,100,595,140])
add_block('built-in/Sum',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Sum']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Sum']],...
'orientation',2,...
'position',[440,115,460,135])
add_block('built-in/Gain',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Gain1']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Gain1']],...
'orientation',2,...
'Gain','pi2',...
'position',[310,110,340,140])
add_block('built-in/Constant',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Carrier',13,'frequency1']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Carrier',13,'frequency1']],...
'orientation',2,...
'Value','Ph',...
'position',[320,175,340,195])
add_block('built-in/Sum',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Sum1']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Sum1']],...
'orientation',2,...
'position',[265,120,285,140])
add_block('built-in/Product',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Product2']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Product2']],...
'position',[125,215,150,235])
add_block('built-in/Fcn',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/sin1']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/sin1']],...
'orientation',2,...
'Expr','-2*sin(u[1])',...
'position',[115,167,220,193])
add_block('built-in/Product',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Product']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Product']],...
'position',[125,50,150,70])
add_block('built-in/Inport',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/in_1']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/in_1']],...
'position',[45,45,65,65])
add_block('built-in/Note',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Ref: Hambley: An Intro to Comm. Systems. pp69']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Ref: Hambley: An Intro to Comm. Systems. pp69']],...
'position',[260,350,265,355])
add_block('built-in/Fcn',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/sin']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/sin']],...
'orientation',2,...
'Expr','2*cos(u[1])',...
'position',[125,118,210,142])
add_block('built-in/Filter',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Filter']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Filter']],...
'Numerator','num',...
'Denominator','den',...
'Sample time','ts',...
'position',[340,41,395,79])
add_block('built-in/Filter',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Filter1']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Filter1']],...
'Numerator','num',...
'Denominator','den',...
'Sample time','ts',...
'position',[425,206,480,244])
add_block('built-in/Outport',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/In-phase',13,'output']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/In-phase',13,'output']],...
'position',[695,50,715,70])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[260,130;215,130])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[240,130;240,180;225,180])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[530,120;465,120])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[155,60;335,60])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[120,130;105,130;105,65;120,65])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[505,175;480,175;480,130;465,130])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[435,125;430,125])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[605,120;600,120])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[110,180;105,180;105,220;120,220])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[70,55;120,55])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[90,55;90,230;120,230])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[155,225;420,225])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[485,225;655,225;645,125])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[360,125;345,125])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[305,125;290,125])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[315,185;300,185;290,135])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[400,60;690,60])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[655,60;645,115])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],...
'Mask Display','Costas PL\nDSB ADM',...
'Mask Type','DSB-SC ADM')
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],...
'Mask Dialogue','Double-sideband suppressed-carrier amplitude demodulation:|Carrier frequency:|Low-pass filter numerator (dis):|Low-pass filter denominator (dis):|Initial phase:|Sample time (sec):')
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],...
'Mask Translate','Fc=@1;num=@2;den=@3;Ph=@4;pi2=pi*2;pih=pi/2;ts=@5;')
set_param([sys,'/',['ADM w
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -