📄 com_cdmo.m
字号:
'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\/[4.57 9.14 4.57]*.01\/[1 -1.3108 .4936]\/.01\/')
% Finished composite block ['PDM',13,'passband'].
set_param([sys,'/',['PDM',13,'passband']],...
'position',[185,273,265,317])
% 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])
% 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])
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_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/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/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/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/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/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/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/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/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/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/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/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/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/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/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])
% 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/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_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/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/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/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/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_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Dis module',13,'integrator']],[140,35;190,35])
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']],[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']],[220,40;230,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']],[410,40;440,40])
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_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])
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']],[315,185;300,185;290,135])
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']],[360,125;345,125])
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']],[155,225;420,225])
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']],[110,180;105,180;105,220;120,220])
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']],[435,125;430,125])
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']],[120,130;105,130;105,65;120,65])
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']],[530,120;465,120])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[240,130;240,180;225,180])
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 with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],...
'Mask Help','The DSB SC ADM demodulates a DSB-SC-AM signal using Costas Phase-Locked Loop method. The result of this ADM is phase sensitive. This block requires user to specify a lowpass filter which could filter the carrier freency and keep the message signal. Please refer Signal Processing Toolbox for design of the filters. ')
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],...
'Mask Entries','Fc\/num\/den\/Ph\/ts\/')
% Finished composite block ['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']],...
'ForeGround',3,...
'position',[100,15,180,55])
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])
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/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/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_line([sys,'/',['ADM with carrier',13,'passband']],[135,105;220,105;220,45;235,45])
add_line([sys,'/',['ADM with carrier',13,'passband']],[265,40;285,40])
add_line([sys,'/',['ADM with carrier',13,'passband']],[185,35;235,35])
add_line([sys,'/',['ADM with carrier',13,'passband']],[65,35;95,35])
set_param([sys,'/',['ADM with carrier',13,'passband']],...
'Mask Display','plot(0,0,100,100,x,y);ADM w TC',...
'Mask Type','Passband ADM with carrier')
set_param([sys,'/',['ADM with carrier',13,'passband']],...
'Mask Dialogue','Demodulate an AM with carrier modulated signal.|Offset factor:|Carrier frequency (Hz):|Initial Phase (rad):|Lowpass filter numerator:|Lowpass filter denominator:|Sample time (sec):')
set_param([sys,'/',['ADM with carrier',13,'passband']],...
'Mask Translate','Offset=@1;Fc=@2;Ph=@3;num=@4;den=@5;ts=@6;[x,y]=moduicon(2);')
set_param([sys,'/',['ADM with carrier',13,'passband']],...
'Mask Help','This block demodulates a DSB-AM with carrier modulated signal. In order to recover the original signal, the offset parameter should be the same as the parameter in the modulation. The demodulation uses a discrete-time lowpass filter that passes the signal message and eliminates the carrier signal. ')
set_param([sys,'/',['ADM with carrier',13,'passband']],...
'Mask Entries','1\/100/2/pi\/0\/[4.57 9.14 4.57]*.01\/[1 -1.3108 .4936]\/.01\/')
% Finished composite block ['ADM with carrier',13,'passband'].
set_param([sys,'/',['ADM with carrier',13,'passband']],...
'position',[185,423,265,467])
% Subsystem ['AM with carrier',13,'passband'].
new_system([sys,'/',['AM with carrier',13,'passband']])
set_param([sys,'/',['AM with carrier',13,'passband']],'Location',[68,468,570,611])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -