📄 tceps3c3.m
字号:
'Denominator','den',...
'Sample time','ts',...
'position',[390,61,445,99])
add_block('built-in/Note',[sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2/Ref: Hambley: An Intro to Comm. Systems. pp72']])
set_param([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2/Ref: Hambley: An Intro to Comm. Systems. pp72']],...
'position',[285,280,290,285])
add_block('built-in/Outport',[sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2/out_1']])
set_param([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2/out_1']],...
'position',[480,70,500,90])
add_line([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],[165,115;230,115;230,60;255,60])
add_line([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],[230,115;230,245;265,245])
add_line([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],[185,255;200,255;200,140;255,140])
add_line([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],[200,255;265,255])
add_line([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],[165,130;255,130])
add_line([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],[180,130;180,210;265,210])
add_line([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],[180,50;255,50])
add_line([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],[215,50;215,200;265,200])
add_line([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],[295,55;305,55;305,75;330,75])
add_line([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],[295,135;305,135;305,85;330,85])
add_line([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],[305,205;315,205;315,225;335,225])
add_line([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],[305,250;315,250;315,235;335,235])
add_line([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],[80,125;115,125])
add_line([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],[360,80;385,80])
add_line([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],[450,80;475,80])
add_line([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],[365,230;390,230])
add_line([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],[455,230;480,230])
set_param([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],...
'Mask Display','QM\nDSB-SC\nADM',...
'Mask Type','Quadrature Demultiplexed DSB-SC AM')
set_param([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],...
'Mask Dialogue','Quadrature Demultiplexed Double-Sideband Suppressed-Carrier Amplitude Demodulation:|Low-pass filter numerator:|Low-pass filter denominator:|Initial phase (rad):|Sample time (sec):')
set_param([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],...
'Mask Translate','num=@1;den=@2;Ph=@3;ts=@4;x1=cos(Ph);x2=sin(Ph);')
set_param([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],...
'Mask Help','The Quadratic Demultiplexed Double-Sideband Supressed-Carrier Amplitude Demodulation block demodulates the QM-DSB-SC-AM signal using quadratic duplex method. The filter to be speficed by the users is a lowpass filter which should pass the signal message and eliminate the carrier signal.')
set_param([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],...
'Mask Entries','num\/den\/Ph\/ts\/')
% Finished composite block ['Arbitrary-map',13,'QASK demod/QADM CE2'].
set_param([sys,'/',['Arbitrary-map',13,'QASK demod/QADM CE2']],...
'BackGround',3,...
'position',[60,40,135,80])
add_line([sys,'/',['Arbitrary-map',13,'QASK demod']],[35,60;55,60])
add_line([sys,'/',['Arbitrary-map',13,'QASK demod']],[260,60;280,60])
add_line([sys,'/',['Arbitrary-map',13,'QASK demod']],[140,50;175,50])
add_line([sys,'/',['Arbitrary-map',13,'QASK demod']],[140,70;175,70])
set_param([sys,'/',['Arbitrary-map',13,'QASK demod']],...
'Mask Display','a-QASK\ndemod CE',...
'Mask Type','QASK arbitrary-demod')
set_param([sys,'/',['Arbitrary-map',13,'QASK demod']],...
'Mask Dialogue','QASK demodulation for arbitrary defined map. The arbitrary defined map is given in in-phase and quadreture component vector.|Vector of in-phase component:|Vector of quadreture component:|Symbol interval (second):|Low-pass filter [num; den]:|Initial phase:|Sample time (second):')
set_param([sys,'/',['Arbitrary-map',13,'QASK demod']],...
'Mask Translate','y1=@1;y2=@2;td=@3;num=@4;Ph=@5;ts=@6;den=num(2,:);num=num(1,:);')
set_param([sys,'/',['Arbitrary-map',13,'QASK demod']],...
'Mask Help','This block demodulates input digit signal using QASK method. The vector length of the first two entries sould have the same length. This block use a default low-pass filter, which is [num,den]=butter(5,Fc*2*ts). Ungroup this block if you prefer to define your own filter.')
set_param([sys,'/',['Arbitrary-map',13,'QASK demod']],...
'Mask Entries','real(exp(j*[0:M-1]/M*pi*2))\/imag(exp(j*[0:M-1]/M*pi*2))\/td\/[num;den]\/0\/ts\/')
% Finished composite block ['Arbitrary-map',13,'QASK demod'].
set_param([sys,'/',['Arbitrary-map',13,'QASK demod']],...
'position',[350,90,425,130])
% Subsystem ['Rayleigh channel',13,'with varian para'].
new_system([sys,'/',['Rayleigh channel',13,'with varian para']])
set_param([sys,'/',['Rayleigh channel',13,'with varian para']],'Location',[266,502,924,748])
add_block('built-in/Inport',[sys,'/',['Rayleigh channel',13,'with varian para/in_2']])
set_param([sys,'/',['Rayleigh channel',13,'with varian para/in_2']],...
'Port','2',...
'position',[495,40,515,60])
add_block('built-in/Product',[sys,'/',['Rayleigh channel',13,'with varian para/Product4']])
set_param([sys,'/',['Rayleigh channel',13,'with varian para/Product4']],...
'position',[565,90,590,110])
add_block('built-in/Outport',[sys,'/',['Rayleigh channel',13,'with varian para/out_1']])
set_param([sys,'/',['Rayleigh channel',13,'with varian para/out_1']],...
'position',[625,90,645,110])
add_block('built-in/Mux',[sys,'/',['Rayleigh channel',13,'with varian para/Mux']])
set_param([sys,'/',['Rayleigh channel',13,'with varian para/Mux']],...
'inputs','2',...
'position',[495,96,530,129])
add_block('built-in/Product',[sys,'/',['Rayleigh channel',13,'with varian para/Product1']])
set_param([sys,'/',['Rayleigh channel',13,'with varian para/Product1']],...
'position',[295,90,320,110])
add_block('built-in/Sum',[sys,'/',['Rayleigh channel',13,'with varian para/Sum1']])
set_param([sys,'/',['Rayleigh channel',13,'with varian para/Sum1']],...
'position',[425,125,445,145])
add_block('built-in/Sum',[sys,'/',['Rayleigh channel',13,'with varian para/Sum']])
set_param([sys,'/',['Rayleigh channel',13,'with varian para/Sum']],...
'inputs','+-',...
'position',[425,70,445,90])
add_block('built-in/Product',[sys,'/',['Rayleigh channel',13,'with varian para/Product3']])
set_param([sys,'/',['Rayleigh channel',13,'with varian para/Product3']],...
'position',[300,190,325,210])
add_block('built-in/Product',[sys,'/',['Rayleigh channel',13,'with varian para/Product2']])
set_param([sys,'/',['Rayleigh channel',13,'with varian para/Product2']],...
'position',[300,130,325,150])
add_block('built-in/Fcn',[sys,'/',['Rayleigh channel',13,'with varian para/Fcn1']])
set_param([sys,'/',['Rayleigh channel',13,'with varian para/Fcn1']],...
'position',[115,192,185,218])
add_block('built-in/Product',[sys,'/',['Rayleigh channel',13,'with varian para/Product']])
set_param([sys,'/',['Rayleigh channel',13,'with varian para/Product']],...
'position',[300,20,325,40])
add_block('built-in/Inport',[sys,'/',['Rayleigh channel',13,'with varian para/in_1']])
set_param([sys,'/',['Rayleigh channel',13,'with varian para/in_1']],...
'position',[75,25,95,45])
add_block('built-in/Demux',[sys,'/',['Rayleigh channel',13,'with varian para/Demux']])
set_param([sys,'/',['Rayleigh channel',13,'with varian para/Demux']],...
'outputs','2',...
'position',[140,15,180,50])
add_block('built-in/Fcn',[sys,'/',['Rayleigh channel',13,'with varian para/Fcn']])
set_param([sys,'/',['Rayleigh channel',13,'with varian para/Fcn']],...
'Expr','cos(u[1])',...
'position',[110,132,180,158])
add_block('built-in/Inport',[sys,'/',['Rayleigh channel',13,'with varian para/in_3']])
set_param([sys,'/',['Rayleigh channel',13,'with varian para/in_3']],...
'Port','3',...
'position',[45,160,65,180])
add_line([sys,'/',['Rayleigh channel',13,'with varian para']],[520,50;540,50;540,95;560,95])
add_line([sys,'/',['Rayleigh channel',13,'with varian para']],[595,100;620,100])
add_line([sys,'/',['Rayleigh channel',13,'with varian para']],[535,115;540,115;540,105;560,105])
add_line([sys,'/',['Rayleigh channel',13,'with varian para']],[450,135;465,135;465,120;490,120])
add_line([sys,'/',['Rayleigh channel',13,'with varian para']],[450,80;465,80;465,105;490,105])
add_line([sys,'/',['Rayleigh channel',13,'with varian para']],[330,140;420,140])
add_line([sys,'/',['Rayleigh channel',13,'with varian para']],[325,100;385,100;385,130;420,130])
add_line([sys,'/',['Rayleigh channel',13,'with varian para']],[330,200;370,200;370,85;420,85])
add_line([sys,'/',['Rayleigh channel',13,'with varian para']],[330,30;370,30;370,75;420,75])
add_line([sys,'/',['Rayleigh channel',13,'with varian para']],[190,205;240,205;240,105;290,105])
add_line([sys,'/',['Rayleigh channel',13,'with varian para']],[240,205;295,205])
add_line([sys,'/',['Rayleigh channel',13,'with varian para']],[185,145;230,145;230,35;295,35])
add_line([sys,'/',['Rayleigh channel',13,'with varian para']],[230,145;295,145])
add_line([sys,'/',['Rayleigh channel',13,'with varian para']],[185,40;215,40;215,135;295,135])
add_line([sys,'/',['Rayleigh channel',13,'with varian para']],[215,135;215,195;295,195])
add_line([sys,'/',['Rayleigh channel',13,'with varian para']],[185,25;295,25])
add_line([sys,'/',['Rayleigh channel',13,'with varian para']],[240,25;240,95;290,95])
add_line([sys,'/',['Rayleigh channel',13,'with varian para']],[100,35;135,35])
add_line([sys,'/',['Rayleigh channel',13,'with varian para']],[70,170;80,170;80,145;105,145])
add_line([sys,'/',['Rayleigh channel',13,'with varian para']],[80,170;80,205;110,205])
set_param([sys,'/',['Rayleigh channel',13,'with varian para']],...
'Mask Display','Rayleigh\nfading CE\nchannel',...
'Mask Type','Varian Rayleigh Fading Channel.')
set_param([sys,'/',['Rayleigh channel',13,'with varian para']],...
'Mask Dialogue','Varian Rayleigh fading channel. The fading envelop and the phase are provided in the 2nd and 3rd input port.')
set_param([sys,'/',['Rayleigh channel',13,'with varian para']],...
'Mask Help','Varian Rayleigh fading channel with the fading envelop and the phase of the channel provided in the 2nd and the 3rd input port. The 1st in-port and the output of this block are complex envelop of the transfer signal.')
% Finished composite block ['Rayleigh channel',13,'with varian para'].
set_param([sys,'/',['Rayleigh channel',13,'with varian para']],...
'position',[235,90,305,130])
% Subsystem ['Arbitrary-map',13,'QASK mod'].
new_system([sys,'/',['Arbitrary-map',13,'QASK mod']])
set_param([sys,'/',['Arbitrary-map',13,'QASK mod']],'Location',[26,513,291,653])
add_block('built-in/Inport',[sys,'/',['Arbitrary-map',13,'QASK mod/in_1']])
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/in_1']],...
'position',[5,70,20,90])
add_block('built-in/Outport',[sys,'/',['Arbitrary-map',13,'QASK mod/out_1']])
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/out_1']],...
'position',[270,70,290,90])
% Subsystem ['Arbitrary-map',13,'QASK mod/QASK a-map'].
new_system([sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map']])
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map']],'Location',[58,103,403,268])
add_block('built-in/Outport',[sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map/Imag']])
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map/Imag']],...
'Port','2',...
'position',[275,100,295,120])
add_block('built-in/Outport',[sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map/Real']])
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map/Real']],...
'position',[275,20,295,40])
add_block('built-in/Look Up Table',[sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map/imag part1']])
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map/imag part1']],...
'Input_Values','x',...
'Output_Values','y2',...
'position',[175,97,210,123])
add_block('built-in/Look Up Table',[sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map/real part']])
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map/real part']],...
'Input_Values','x',...
'Output_Values','y1',...
'position',[180,17,215,43])
add_block('built-in/Inport',[sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map/in_1']])
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map/in_1']],...
'position',[25,20,45,40])
add_block('built-in/Zero-Order Hold',[sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map/Zero-Order',13,'Hold1']])
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map/Zero-Order',13,'Hold1']],...
'Sample time','td',...
'position',[80,14,115,46])
add_line([sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map']],[215,110;270,110])
add_line([sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map']],[220,30;270,30])
add_line([sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map']],[120,30;175,30])
add_line([sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map']],[145,30;145,110;170,110])
add_line([sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map']],[50,30;75,30])
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map']],...
'Mask Display','arbitrary\nQASK\nmap',...
'Mask Type','QASK arbitrary-map')
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map']],...
'Mask Dialogue','QASK mapping for arbitrary defined map. Assume input digit is K. 1st out_port\noutputs in-phase(K+1). 2nd out_port\noutputs quadreture(K+1).|Vector of in-phase component:|Vector of quadreture component:|Symbol interval (second):')
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map']],...
'Mask Translate','y1=@1;y2=@2;td=@3;ly=length(y1);x=[-10 1:ly-1;1:ly-1 10*ly]-.5;x=x(:);y1=y1(:)'';y1=[y1;y1];y1=y1(:);y2=y2(:)'';y2=[y2;y2];y2=y2(:);')
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map']],...
'Mask Help','This block maps input digit into in-phase and quadreture components of QASK. The vector length of the first two entries sould have the same length.')
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map']],...
'Mask Entries','y1\/y2\/td\/')
% Finished composite block ['Arbitrary-map',13,'QASK mod/QASK a-map'].
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/QASK a-map']],...
'position',[50,58,120,102])
% Subsystem ['Arbitrary-map',13,'QASK mod/QAM CE2'].
new_system([sys,'/',['Arbitrary-map',13,'QASK mod/QAM CE2']])
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/QAM CE2']],'Location',[125,397,758,690])
add_block('built-in/Note',[sys,'/',['Arbitrary-map',13,'QASK mod/QAM CE2/R1']])
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/QAM CE2/R1']],...
'position',[190,15,195,20])
add_block('built-in/Product',[sys,'/',['Arbitrary-map',13,'QASK mod/QAM CE2/Product']])
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/QAM CE2/Product']],...
'position',[300,33,330,57])
add_block('built-in/Product',[sys,'/',['Arbitrary-map',13,'QASK mod/QAM CE2/Product1']])
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/QAM CE2/Product1']],...
'position',[300,93,330,117])
add_block('built-in/Sum',[sys,'/',['Arbitrary-map',13,'QASK mod/QAM CE2/Sum']])
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/QAM CE2/Sum']],...
'inputs','+-',...
'position',[375,60,395,80])
add_block('built-in/Note',[sys,'/',['Arbitrary-map',13,'QASK mod/QAM CE2/R_out']])
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/QAM CE2/R_out']],...
'position',[445,45,450,50])
add_block('built-in/Mux',[sys,'/',['Arbitrary-map',13,'QASK mod/QAM CE2/RI2C']])
set_param([sys,'/',['Arbitrary-map',13,'QASK mod/QAM CE2/RI2C']],...
'inputs','2',...
'Mask Display','Real/Imag\nto Complex',...
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -