📄 tstqask.m
字号:
add_block('built-in/Inport',[sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/in_2']])
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/in_2']],...
'Port','2',...
'position',[160,145,180,165])
add_block('built-in/Inport',[sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/in_1']])
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/in_1']],...
'position',[160,30,180,50])
add_block('built-in/Gain',[sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Gain']])
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Gain']],...
'Gain','pi2',...
'position',[155,79,190,111])
add_block('built-in/Fcn',[sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Fcn1']])
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Fcn1']],...
'Expr','sin(u[1]+Pg)',...
'position',[235,106,310,134])
add_block('built-in/Outport',[sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/out_1']])
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/out_1']],...
'position',[490,90,510,110])
add_block('built-in/Sum',[sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Sum2']])
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Sum2']],...
'position',[430,90,450,110])
add_block('built-in/Product',[sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Product1']])
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Product1']],...
'position',[355,112,380,143])
add_block('built-in/Product',[sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Product']])
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Product']],...
'position',[355,47,380,78])
add_block('built-in/Fcn',[sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Fcn']])
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Fcn']],...
'Expr','sin(u[1]+Ph)',...
'position',[235,56,310,84])
add_block('built-in/Note',[sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Ref: Hambley: An Intro to Comm. Systems. pp72']])
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Ref: Hambley: An Intro to Comm. Systems. pp72']],...
'position',[250,305,255,310])
add_block('built-in/Constant',[sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Constant']])
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Constant']],...
'Value','Fc',...
'position',[25,85,45,105])
% Subsystem ['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator'].
new_system([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']])
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],'Location',[196,490,621,627])
add_block('built-in/Inport',[sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/in_1']])
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/in_1']],...
'position',[35,15,55,35])
add_block('built-in/Memory',[sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/Memory']])
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/Memory']],...
'orientation',2,...
'x0','init',...
'position',[210,75,260,105])
add_block('built-in/Fcn',[sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/module']])
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/module']],...
'Expr','rem(u[1],modu)',...
'position',[235,29,325,51])
add_block('built-in/Reset Integrator',[sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/Reset',13,'integrator']])
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/Reset',13,'integrator']],...
'position',[110,19,150,51])
add_block('built-in/Constant',[sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/one']])
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/one']],...
'orientation',3,...
'move name',0,...
'position',[70,55,90,75])
add_block('built-in/Sum',[sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/Sum']])
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/Sum']],...
'position',[195,30,215,50])
add_block('built-in/Outport',[sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/out_1']])
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/out_1']],...
'position',[370,30,390,50])
add_line([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],[205,90;180,90;190,45])
add_line([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],[155,35;190,35])
add_line([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],[220,40;230,40])
add_line([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],[60,25;105,25])
add_line([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],[80,50;80,35;105,35])
add_line([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],[330,40;365,40])
add_line([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],[340,40;340,90;265,90])
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],...
'Mask Display','Mod\nint',...
'Mask Type','Module Integrator')
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],...
'Mask Dialogue','Module the given number when state exceed limit|Module bound:|Initial value:',...
'Mask Translate','init=@2; modu=@1;')
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/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,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],...
'Mask Entries','1\/0\/')
% Finished composite block ['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator'].
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],...
'position',[70,79,130,111])
add_line([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM']],[385,130;400,130;400,105;425,105])
add_line([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM']],[385,65;400,65;400,95;425,95])
add_line([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM']],[185,155;320,155;320,135;350,135])
add_line([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM']],[315,120;350,120])
add_line([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM']],[185,40;325,40;325,55;350,55])
add_line([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM']],[315,70;350,70])
add_line([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM']],[195,95;205,95;205,70;230,70])
add_line([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM']],[205,95;205,120;230,120])
add_line([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM']],[455,100;485,100])
add_line([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM']],[135,95;150,95])
add_line([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM']],[50,95;65,95])
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM']],...
'Mask Display','QM\nDSB-SC\nAM',...
'Mask Type','Quadrature Multiplexed DSB-SC AM')
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM']],...
'Mask Dialogue','Quadrature multiplexed double-sideband suppressed-carrier amplitude modulation:|Amplitude scale factor:|Carrier frequency:|Initial phase:')
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM']],...
'Mask Translate','Am=@1;Fc=@2;Ph=@3;Pg=Ph+pi/2;pi2=pi*2;')
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM']],...
'Mask Help','The Quadratic Multiplexed Double-sideband-supressed-carrier AM block causes the amplitude of the sinusoidal carrier to depend on the input message Signal, resulting in amplitude modulation. There are two input Signal being modulated at the same time using quadratic multiplex method.')
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM']],...
'Mask Entries','Ac\/Fc\/Ph\/')
% Finished composite block ['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM'].
set_param([sys,'/',['Multiple',13,'QASK/Quad multi',13,'DSB-SC-AM']],...
'ForeGround',4,...
'position',[435,73,505,117])
add_line([sys,'/',['Multiple',13,'QASK']],[250,70;275,70;275,120;255,120])
add_line([sys,'/',['Multiple',13,'QASK']],[180,160;185,160;185,70;210,70])
add_line([sys,'/',['Multiple',13,'QASK']],[205,120;190,120;190,80;210,80])
add_line([sys,'/',['Multiple',13,'QASK']],[90,160;110,160])
add_line([sys,'/',['Multiple',13,'QASK']],[90,60;210,60])
add_line([sys,'/',['Multiple',13,'QASK']],[275,70;350,70])
add_line([sys,'/',['Multiple',13,'QASK']],[275,120;350,120])
add_line([sys,'/',['Multiple',13,'QASK']],[385,70;400,70;400,85;430,85])
add_line([sys,'/',['Multiple',13,'QASK']],[385,120;400,120;400,105;430,105])
add_line([sys,'/',['Multiple',13,'QASK']],[510,95;560,95])
set_param([sys,'/',['Multiple',13,'QASK']],...
'Mask Display','MQASK',...
'Mask Type','MQASK')
set_param([sys,'/',['Multiple',13,'QASK']],...
'Mask Dialogue','M-ary Amplitude Shift Keying Modulation:|M-ary number:|Carrier frequency:|Maximum amplitude:|Trigger signal threshold:|Initial phase:')
set_param([sys,'/',['Multiple',13,'QASK']],...
'Mask Translate','N=@1;Fc=@2;Ac=@3;thld=@4;Ph=@5;z=[[1:N];[1:N]];z=z(:);[x,y]=qaskenco(z,N);z=z-1.5;z=[z(2:2*N);N-.5];x=x/max(x);y=y/max(y);')
set_param([sys,'/',['Multiple',13,'QASK']],...
'Mask Help','This block modulates modulates the first port inputted message by quadrature amplitude shift keying 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. You may change the coding method by modifying functions QASKENCO and QASKDECO.')
set_param([sys,'/',['Multiple',13,'QASK']],...
'Mask Entries','N\/Fc\/1\/.2\/0\/')
% Finished composite block ['Multiple',13,'QASK'].
set_param([sys,'/',['Multiple',13,'QASK']],...
'position',[185,108,245,152])
add_block('built-in/Sum',[sys,'/','Sum5'])
set_param([sys,'/','Sum5'],...
'position',[295,125,315,145])
% Subsystem ['Decoding only',13,'no-demo'].
new_system([sys,'/',['Decoding only',13,'no-demo']])
set_param([sys,'/',['Decoding only',13,'no-demo']],'Location',[73,484,948,784])
add_block('built-in/Sum',[sys,'/',['Decoding only',13,'no-demo/Sum5']])
set_param([sys,'/',['Decoding only',13,'no-demo/Sum5']],...
'position',[635,143,655,172])
add_block('built-in/Sum',[sys,'/',['Decoding only',13,'no-demo/Sum4']])
set_param([sys,'/',['Decoding only',13,'no-demo/Sum4']],...
'position',[630,58,650,87])
add_block('built-in/Constant',[sys,'/',['Decoding only',13,'no-demo/Shift key2']])
set_param([sys,'/',['Decoding only',13,'no-demo/Shift key2']],...
'position',[540,119,565,141])
add_block('built-in/Sum',[sys,'/',['Decoding only',13,'no-demo/Sum3']])
set_param([sys,'/',['Decoding only',13,'no-demo/Sum3']],...
'inputs','+-',...
'position',[740,98,760,127])
add_block('built-in/Saturation',[sys,'/',['Decoding only',13,'no-demo/Saturation']])
set_param([sys,'/',['Decoding only',13,'no-demo/Saturation']],...
'Lower Limit','0',...
'Upper Limit','N-1',...
'position',[785,103,815,127])
add_block('built-in/Outport',[sys,'/',['Decoding only',13,'no-demo/out_1']])
set_param([sys,'/',['Decoding only',13,'no-demo/out_1']],...
'position',[845,105,865,125])
add_block('built-in/Sum',[sys,'/',['Decoding only',13,'no-demo/Sum1']])
set_param([sys,'/',['Decoding only',13,'no-demo/Sum1']],...
'inputs','+-',...
'position',[440,33,460,62])
% Subsystem ['Decoding only',13,'no-demo/2-D Look-Up',13,'Table'].
new_system([sys,'/',['Decoding only',13,'no-demo/2-D Look-Up',13,'Table']])
set_param([sys,'/',['Decoding only',13,'no-demo/2-D Look-Up',13,'Table']],'Location',[436,148,718,302])
add_block('built-in/Mux',[sys,'/',['Decoding only',13,'no-demo/2-D Look-Up',13,'Table/Mux']])
set_param([sys,'/',['Decoding only',13,'no-demo/2-D Look-Up',13,'Table/Mux']],...
'inputs','2',...
'position',[90,46,120,79])
add_block('built-in/S-Function',[sys,'/',['Decoding only',13,'no-demo/2-D Look-Up',13,'Table/S-function']])
set_param([sys,'/',['Decoding only',13,'no-demo/2-D Look-Up',13,'Table/S-function']],...
'function name','sftable2',...
'parameters','xindex, yindex, table',...
'position',[140,52,190,78])
add_block('built-in/Inport',[sys,'/',['Decoding only',13,'no-demo/2-D Look-Up',13,'Table/x0']])
set_param([sys,'/',['Decoding only',13,'no-demo/2-D Look-Up',13,'Table/x0']],...
'position',[20,25,40,45])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -