📄 tstapk.m
字号:
add_line([sys,'/',['ASK//PSK',13,'modulation']],[255,250;280,250;280,270;315,270])
add_line([sys,'/',['ASK//PSK',13,'modulation']],[155,130;155,280;315,280])
add_line([sys,'/',['ASK//PSK',13,'modulation']],[365,280;380,280;380,240;405,240])
add_line([sys,'/',['ASK//PSK',13,'modulation']],[155,230;405,230])
add_line([sys,'/',['ASK//PSK',13,'modulation']],[445,230;585,230;585,100;605,100])
add_line([sys,'/',['ASK//PSK',13,'modulation']],[485,135;495,135;495,185;515,185])
add_line([sys,'/',['ASK//PSK',13,'modulation']],[360,135;440,135])
set_param([sys,'/',['ASK//PSK',13,'modulation']],...
'Mask Display','APK',...
'Mask Type','APK')
set_param([sys,'/',['ASK//PSK',13,'modulation']],...
'Mask Dialogue','ASK/PSK with concentric circles:|Vector of number of symboles on each circle:|Distance to the originall point for each circle:|Phase shift on each circle:|Carrier frequency:|Trigger signal threshold:')
set_param([sys,'/',['ASK//PSK',13,'modulation']],...
'Mask Translate','N=@1;A=@2;P=@3;Fc=@4*2*pi;thld=@5;M=length(N);for i=1:M,s(i)=sum(N(1:i));end;z=[s(:)'';s(:)''];z=z(:);z=[-.5;z(1:2*M-1)-.5];x=[1:M];y=[x;x];y=y(:);s=[0,s(1:M-1)];')
set_param([sys,'/',['ASK//PSK',13,'modulation']],...
'Mask Help','This block modulates the first port inputted message by ASK/PSK modulation method. The message should be coded as 0,1,..,M-1. The second input port inputs the clock pulse. The clock rising edge triggers the block to process next input. The vector size of the 1st, 2nd, and 3rd entry of this block should be the same. The summation of the first entry is M, the M-ary number of the modulation.')
set_param([sys,'/',['ASK//PSK',13,'modulation']],...
'Mask Entries','NIL\/AIL\/PIL\/Fc\/.2\/')
% Finished composite block ['ASK//PSK',13,'modulation'].
set_param([sys,'/',['ASK//PSK',13,'modulation']],...
'position',[185,108,245,152])
add_block('built-in/Sum',[sys,'/','Sum5'])
set_param([sys,'/','Sum5'],...
'position',[295,125,315,145])
% Subsystem ['APK amp+phase',13,'demodulation'].
new_system([sys,'/',['APK amp+phase',13,'demodulation']])
set_param([sys,'/',['APK amp+phase',13,'demodulation']],'Location',[73,245,769,433])
add_block('built-in/Inport',[sys,'/',['APK amp+phase',13,'demodulation/in_1']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/in_1']],...
'position',[35,65,55,85])
add_block('built-in/Product',[sys,'/',['APK amp+phase',13,'demodulation/Product1']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Product1']],...
'position',[250,80,275,100])
add_block('built-in/Product',[sys,'/',['APK amp+phase',13,'demodulation/Product']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Product']],...
'position',[250,45,275,65])
% Subsystem ['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM'].
new_system([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM']],'Location',[353,42,897,305])
add_block('built-in/Gain',[sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Gain1']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Gain1']],...
'Gain','2',...
'position',[270,118,295,142])
add_block('built-in/Inport',[sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/in_1']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/in_1']],...
'position',[230,120,250,140])
add_block('built-in/Note',[sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Ref: Hambley: An Intro to Comm. Systems. pp72']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Ref: Hambley: An Intro to Comm. Systems. pp72']],...
'position',[285,280,290,285])
add_block('built-in/Constant',[sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Constant']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Constant']],...
'Value','Fc',...
'position',[35,115,55,135])
% Subsystem ['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator'].
new_system([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator']],'Location',[196,490,621,627])
add_block('built-in/Inport',[sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator/in_1']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator/in_1']],...
'position',[35,15,55,35])
add_block('built-in/Memory',[sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator/Memory']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator/Memory']],...
'orientation',2,...
'x0','init',...
'position',[210,75,260,105])
add_block('built-in/Fcn',[sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator/module']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator/module']],...
'Expr','rem(u[1],modu)',...
'position',[235,29,325,51])
add_block('built-in/Reset Integrator',[sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator/Reset',13,'integrator']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator/Reset',13,'integrator']],...
'position',[110,19,150,51])
add_block('built-in/Constant',[sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator/one']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator/one']],...
'orientation',3,...
'move name',0,...
'position',[70,55,90,75])
add_block('built-in/Sum',[sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator/Sum']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator/Sum']],...
'position',[195,30,215,50])
add_block('built-in/Outport',[sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator/out_1']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator/out_1']],...
'position',[370,30,390,50])
add_line([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator']],[205,90;180,90;190,45])
add_line([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator']],[155,35;190,35])
add_line([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator']],[220,40;230,40])
add_line([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator']],[60,25;105,25])
add_line([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator']],[80,50;80,35;105,35])
add_line([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator']],[330,40;365,40])
add_line([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator']],[340,40;340,90;265,90])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator']],...
'Mask Display','Mod\nint',...
'Mask Type','Module Integrator')
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator']],...
'Mask Dialogue','Module the given number when state exceed limit|Module bound:|Initial value:')
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator']],...
'Mask Translate','init=@2; modu=@1;')
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/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,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator']],...
'Mask Entries','1\/0\/')
% Finished composite block ['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator'].
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Module',13,'Integrator']],...
'position',[80,109,140,141])
add_block('built-in/Gain',[sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Gain']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Gain']],...
'Gain','pi2',...
'position',[165,109,200,141])
add_block('built-in/Fcn',[sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Fcn']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Fcn']],...
'Expr','sin(u[1]+Ph)',...
'position',[225,56,300,84])
add_block('built-in/Fcn',[sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Fcn1']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Fcn1']],...
'Expr','sin(u[1]+Pg)',...
'position',[220,176,295,204])
add_block('built-in/Product',[sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Product']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Product']],...
'position',[330,62,355,93])
add_block('built-in/Product',[sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Product1']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Product1']],...
'position',[330,167,355,198])
add_block('built-in/Transfer Fcn',[sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Lowpass',13,'filter']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Lowpass',13,'filter']],...
'Numerator','Fn',...
'Denominator','Fd',...
'position',[395,59,445,101])
add_block('built-in/Transfer Fcn',[sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Lowpass',13,'filter1']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/Lowpass',13,'filter1']],...
'Numerator','Fn',...
'Denominator','Fd',...
'position',[395,164,445,206])
add_block('built-in/Outport',[sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/out_2']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/out_2']],...
'Port','2',...
'position',[480,175,500,195])
add_block('built-in/Outport',[sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/out_1']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM/out_1']],...
'position',[480,70,500,90])
add_line([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM']],[300,130;305,130;305,175;325,175])
add_line([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM']],[300,130;305,130;305,85;325,85])
add_line([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM']],[255,130;265,130])
add_line([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM']],[60,125;75,125])
add_line([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM']],[145,125;160,125])
add_line([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM']],[205,125;205,70;220,70])
add_line([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM']],[205,125;215,190])
add_line([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM']],[305,70;325,70])
add_line([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM']],[300,190;325,190])
add_line([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM']],[360,80;390,80])
add_line([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM']],[450,80;475,80])
add_line([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM']],[360,185;390,185])
add_line([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM']],[450,185;475,185])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM']],...
'Mask Display','QM\nDSB-SC\nADM',...
'Mask Type','Quadrature Demultiplexed DSB-SC AM')
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM']],...
'Mask Dialogue','Quadrature Demultiplexed Double-Sideband Suppressed-Carrier Amplitude Demodulation:|Carrier amplitude:|Carrier frequency:|Initial phase:|Filter numerator:|Filter denominator:')
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM']],...
'Mask Translate','Ac=@1;Fc=@2;Ph=@3;Fn=@4;Fd=@5;pi2=2*pi;Pg=Ph+pi/2;')
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM']],...
'Mask Help','The Quadratic Demultiplexed Double-Sideband Supressed-Carrier Amplitude Demodulation block demodulates the QM-DSB-SC-AM signal using quadratic duplex method.')
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM']],...
'Mask Entries','Am\/Fc\/0\/num\/den\/')
% Finished composite block ['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM'].
set_param([sys,'/',['APK amp+phase',13,'demodulation/Quad multi',13,'DSB-SC-ADM']],...
'ForeGround',5,...
'position',[125,49,200,96])
add_block('built-in/Sum',[sys,'/',['APK amp+phase',13,'demodulation/Sum']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/Sum']],...
'position',[340,65,360,85])
add_block('built-in/Fcn',[sys,'/',['APK amp+phase',13,'demodulation/sin']])
set_param([sys,'/',['APK amp+phase',13,'demodulation/sin']],...
'Expr','sqrt(u[1])',...
'position',[385,64,450,86])
add_block('built-in/Mux',[sys,'/',['APK amp+phase',13,'demodulation/Mux']])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -