📄 test_fm2.m
字号:
'Mask Help','This block conver Magnitude/Phase to complex number which is real/imag two part.')
% Finished composite block ['FDM',13,'baseband2/M//P 2 C'].
set_param([sys,'/',['FDM',13,'baseband2/M//P 2 C']],...
'orientation',2,...
'position',[115,135,205,175])
add_block('built-in/Inport',[sys,'/',['FDM',13,'baseband2/in_1']])
set_param([sys,'/',['FDM',13,'baseband2/in_1']],...
'position',[45,25,65,45])
add_block('built-in/Sum',[sys,'/',['FDM',13,'baseband2/Sum']])
set_param([sys,'/',['FDM',13,'baseband2/Sum']],...
'orientation',2,...
'position',[245,155,265,175])
add_block('built-in/Constant',[sys,'/',['FDM',13,'baseband2/Constant']])
set_param([sys,'/',['FDM',13,'baseband2/Constant']],...
'orientation',2,...
'position',[290,85,320,105])
% Subsystem ['FDM',13,'baseband2/Multiply and',13,'take imag'].
new_system([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag']])
set_param([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag']],'Location',[317,81,820,296])
add_block('built-in/Outport',[sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/I_out_']])
set_param([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/I_out_']],...
'position',[450,105,470,125])
add_block('built-in/Sum',[sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/Sum1']])
set_param([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/Sum1']],...
'position',[390,105,410,125])
add_block('built-in/Product',[sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/Product2']])
set_param([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/Product2']],...
'position',[220,108,250,132])
add_block('built-in/Product',[sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/Product3']])
set_param([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/Product3']],...
'position',[310,63,340,87])
add_block('built-in/Inport',[sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/Complex',13,'input 2']])
set_param([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/Complex',13,'input 2']],...
'Port','2',...
'position',[30,150,50,170])
add_block('built-in/Demux',[sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/Split1']])
set_param([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/Split1']],...
'outputs','2',...
'Mask Display','Complex to\nReal/Imag',...
'Mask Type','Complex to Real/Imag')
set_param([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/Split1']],...
'Mask Dialogue','Real and imaginary components of complex vector.')
set_param([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/Split1']],...
'Mask Help','The Complex to Real/Imag block decomposes a complex vector into its real and imaginary components using a Demux block. The real part is directed to output 1, and the imaginary to output 2.')
set_param([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/Split1']],...
'position',[85,139,160,181])
add_block('built-in/Inport',[sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/Complex',13,'input 1']])
set_param([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/Complex',13,'input 1']],...
'position',[40,35,60,55])
add_block('built-in/Demux',[sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/Split']])
set_param([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/Split']],...
'outputs','2',...
'Mask Display','Complex to\nReal/Imag',...
'Mask Type','Complex to Real/Imag')
set_param([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/Split']],...
'Mask Dialogue','Real and imaginary components of complex vector.')
set_param([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/Split']],...
'Mask Help','The Complex to Real/Imag block decomposes a complex vector into its real and imaginary components using a Demux block. The real part is directed to output 1, and the imaginary to output 2.')
set_param([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag/Split']],...
'position',[90,24,165,66])
add_line([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag']],[415,115;445,115])
add_line([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag']],[65,45;85,45])
add_line([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag']],[55,160;80,160])
add_line([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag']],[170,35;248,35;248,70;305,70])
add_line([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag']],[165,170;290,170;290,80;305,80])
add_line([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag']],[170,55;185,55;185,115;215,115])
add_line([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag']],[165,150;180,150;180,125;215,125])
add_line([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag']],[345,75;360,75;360,110;385,110])
add_line([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag']],[255,120;385,120])
% Finished composite block ['FDM',13,'baseband2/Multiply and',13,'take imag'].
set_param([sys,'/',['FDM',13,'baseband2/Multiply and',13,'take imag']],...
'position',[125,24,200,66])
add_block('built-in/Filter',[sys,'/',['FDM',13,'baseband2/Filter']])
set_param([sys,'/',['FDM',13,'baseband2/Filter']],...
'Numerator','num',...
'Denominator','den',...
'Sample time','ts',...
'position',[255,26,310,64])
add_block('built-in/Constant',[sys,'/',['FDM',13,'baseband2/Constant1']])
set_param([sys,'/',['FDM',13,'baseband2/Constant1']],...
'orientation',2,...
'Value','Ph',...
'position',[405,205,435,225])
% Subsystem ['FDM',13,'baseband2/Dis module',13,'integrator'].
new_system([sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator']])
set_param([sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator']],'Location',[18,602,524,728])
add_block('built-in/Sum',[sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator/Sum']])
set_param([sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator/Sum']],...
'position',[195,30,215,50])
add_block('built-in/Fcn',[sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator/module']])
set_param([sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator/module']],...
'Expr','rem(u[1],modu)',...
'position',[235,29,350,61])
add_block('built-in/Inport',[sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator/in_1']])
set_param([sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator/in_1']],...
'position',[15,25,35,45])
add_block('built-in/Discrete Transfer Fcn',[sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator/Dis. Transfer Fcn']])
set_param([sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator/Dis. Transfer Fcn']],...
'Numerator','ts(1)',...
'Denominator','1',...
'Sample time','ts',...
'position',[75,16,135,54])
add_block('built-in/Unit Delay',[sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator/Unit Delay']])
set_param([sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator/Unit Delay']],...
'Sample time','ts',...
'x0','init',...
'position',[370,35,420,55])
add_block('built-in/Outport',[sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator/out_1']])
set_param([sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator/out_1']],...
'position',[460,35,480,55])
add_line([sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator']],[220,40;230,45])
add_line([sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator']],[40,35;70,35])
add_line([sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator']],[140,35;190,35])
add_line([sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator']],[355,45;365,45])
add_line([sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator']],[425,45;435,45;435,95;175,95;175,45;190,45])
add_line([sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator']],[425,45;455,45])
set_param([sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator']],...
'Mask Display','discrete\nmod-int',...
'Mask Type','Module Integrator')
set_param([sys,'/',['FDM',13,'baseband2/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,'/',['FDM',13,'baseband2/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,'/',['FDM',13,'baseband2/Dis module',13,'integrator']],...
'Mask Entries','pi2\/0\/ts\/')
% Finished composite block ['FDM',13,'baseband2/Dis module',13,'integrator'].
set_param([sys,'/',['FDM',13,'baseband2/Dis module',13,'integrator']],...
'orientation',2,...
'position',[315,140,375,180])
add_block('built-in/Gain',[sys,'/',['FDM',13,'baseband2/Sensitivity']])
set_param([sys,'/',['FDM',13,'baseband2/Sensitivity']],...
'orientation',1,...
'Gain','-pi2',...
'position',[390,90,430,120])
add_block('built-in/Outport',[sys,'/',['FDM',13,'baseband2/out_1']])
set_param([sys,'/',['FDM',13,'baseband2/out_1']],...
'position',[445,10,465,30])
add_line([sys,'/',['FDM',13,'baseband2']],[400,215;295,215;295,170;270,170])
add_line([sys,'/',['FDM',13,'baseband2']],[410,125;410,160;380,160])
add_line([sys,'/',['FDM',13,'baseband2']],[70,35;120,35])
add_line([sys,'/',['FDM',13,'baseband2']],[285,95;255,95;255,145;210,145])
add_line([sys,'/',['FDM',13,'baseband2']],[240,165;210,165])
add_line([sys,'/',['FDM',13,'baseband2']],[310,160;270,160])
add_line([sys,'/',['FDM',13,'baseband2']],[110,155;85,155;85,55;120,55])
add_line([sys,'/',['FDM',13,'baseband2']],[205,45;250,45])
add_line([sys,'/',['FDM',13,'baseband2']],[315,45;325,45;325,20;440,20])
add_line([sys,'/',['FDM',13,'baseband2']],[315,45;410,45;410,85])
set_param([sys,'/',['FDM',13,'baseband2']],...
'Mask Display','plot(0,0,100,100,x,y,u,v);FDM',...
'Mask Type','FDM CE using PLL')
set_param([sys,'/',['FDM',13,'baseband2']],...
'Mask Dialogue','Demodulate the complex envelope of a\nFM signal.|VCO initial phase (rad):|Lowpass filter numerator:|Lowpass filter denominator:|Sample time (sec):')
set_param([sys,'/',['FDM',13,'baseband2']],...
'Mask Translate','Ph=@1;num=@2;den=@3;ts=@4;pi2=2*pi;[x,y]=moduicon(4);[u,v]=cmplxicn(0,50,get_param(gcb,''orientation''));')
set_param([sys,'/',['FDM',13,'baseband2']],...
'Mask Help','This block demodulates the complex envelope of a frequency modulated signal. The filter to be specified by the users is a lowpass filter which passes the signal message and eliminates the carrier signal.')
set_param([sys,'/',['FDM',13,'baseband2']],...
'Mask Entries','0\/num\/den\/ts\/')
% Finished composite block ['FDM',13,'baseband2'].
set_param([sys,'/',['FDM',13,'baseband2']],...
'ForeGround',2,...
'hide name',0,...
'position',[245,118,325,162])
add_block('built-in/Note',[sys,'/','Defaults in this simulation: ts=0.01; [num,den]=butter(2,Fc*2*ts);'])
set_param([sys,'/','Defaults in this simulation: ts=0.01; [num,den]=butter(2,Fc*2*ts);'],...
'position',[230,185,235,190])
add_line(sys,[425,60;445,60])
add_line(sys,[80,60;100,60;100,20;360,20;360,45;380,45])
add_line(sys,[335,60;380,60])
add_line(sys,[220,60;245,60])
add_line(sys,[100,60;130,60])
add_line(sys,[215,140;240,140])
add_line(sys,[100,60;100,140;125,140])
add_line(sys,[330,140;350,140;350,75;380,75])
drawnow
% Return any arguments.
if (nargin | nargout)
% Must use feval here to access system in memory
if (nargin > 3)
if (flag == 0)
eval(['[ret,x0,str,ts,xts]=',sys,'(t,x,u,flag);'])
else
eval(['ret =', sys,'(t,x,u,flag);'])
end
else
[ret,x0,str,ts,xts] = feval(sys);
end
else
drawnow % Flash up the model and execute load callback
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -