📄 tsttcm.m
字号:
'outputs','2',...
'position',[120,105,160,140])
add_block('built-in/Constant',[sys,'/',['QADM',13,'baseband/Constant']])
set_param([sys,'/',['QADM',13,'baseband/Constant']],...
'Value','x1',...
'position',[155,40,175,60])
add_block('built-in/Product',[sys,'/',['QADM',13,'baseband/Product2']])
set_param([sys,'/',['QADM',13,'baseband/Product2']],...
'position',[270,238,300,262])
add_block('built-in/Product',[sys,'/',['QADM',13,'baseband/Product3']])
set_param([sys,'/',['QADM',13,'baseband/Product3']],...
'position',[270,193,300,217])
add_block('built-in/Sum',[sys,'/',['QADM',13,'baseband/Sum']])
set_param([sys,'/',['QADM',13,'baseband/Sum']],...
'inputs','+-',...
'position',[335,70,355,90])
add_block('built-in/Product',[sys,'/',['QADM',13,'baseband/Product']])
set_param([sys,'/',['QADM',13,'baseband/Product']],...
'position',[260,43,290,67])
add_block('built-in/Filter',[sys,'/',['QADM',13,'baseband/Filter']])
set_param([sys,'/',['QADM',13,'baseband/Filter']],...
'Numerator','num',...
'Denominator','den',...
'Sample time','ts',...
'position',[390,61,445,99])
add_block('built-in/Note',[sys,'/',['QADM',13,'baseband/Ref: Hambley: An Intro to Comm. Systems. pp72']])
set_param([sys,'/',['QADM',13,'baseband/Ref: Hambley: An Intro to Comm. Systems. pp72']],...
'position',[285,280,290,285])
add_block('built-in/Outport',[sys,'/',['QADM',13,'baseband/out_1']])
set_param([sys,'/',['QADM',13,'baseband/out_1']],...
'position',[480,70,500,90])
add_line([sys,'/',['QADM',13,'baseband']],[165,115;230,115;230,60;255,60])
add_line([sys,'/',['QADM',13,'baseband']],[230,115;230,245;265,245])
add_line([sys,'/',['QADM',13,'baseband']],[185,255;200,255;200,140;255,140])
add_line([sys,'/',['QADM',13,'baseband']],[200,255;265,255])
add_line([sys,'/',['QADM',13,'baseband']],[165,130;255,130])
add_line([sys,'/',['QADM',13,'baseband']],[180,130;180,210;265,210])
add_line([sys,'/',['QADM',13,'baseband']],[180,50;255,50])
add_line([sys,'/',['QADM',13,'baseband']],[215,50;215,200;265,200])
add_line([sys,'/',['QADM',13,'baseband']],[295,55;305,55;305,75;330,75])
add_line([sys,'/',['QADM',13,'baseband']],[295,135;305,135;305,85;330,85])
add_line([sys,'/',['QADM',13,'baseband']],[305,205;315,205;315,225;335,225])
add_line([sys,'/',['QADM',13,'baseband']],[305,250;315,250;315,235;335,235])
add_line([sys,'/',['QADM',13,'baseband']],[80,125;115,125])
add_line([sys,'/',['QADM',13,'baseband']],[360,80;385,80])
add_line([sys,'/',['QADM',13,'baseband']],[450,80;475,80])
add_line([sys,'/',['QADM',13,'baseband']],[365,230;390,230])
add_line([sys,'/',['QADM',13,'baseband']],[455,230;480,230])
set_param([sys,'/',['QADM',13,'baseband']],...
'Mask Display','plot(0,0,100,100,x,y,u,v);QADM',...
'Mask Type','QM DSB-SC ADM CE')
set_param([sys,'/',['QADM',13,'baseband']],...
'Mask Dialogue','Demodulate the complex envelope of a\nQAM modulated signal into in-phase and\nquadrature components into 1st and 2nd\nout ports.|Lowpass filter numerator:|Lowpass filter denominator:|Initial phase (rad):|Sample time (sec):')
set_param([sys,'/',['QADM',13,'baseband']],...
'Mask Translate','num=@1;den=@2;Ph=@3;ts=@4;x1=cos(-Ph);x2=sin(-Ph);[x,y]=moduicon(2);[u,v]=cmplxicn(0,50,get_param(gcb,''orientation''));')
set_param([sys,'/',['QADM',13,'baseband']],...
'Mask Help','This block demodulates the quadratic multiplexed double-sideband suppressed-carrier amplitude modulation modulated signal using the QAM method. The filter to be specified is a lowpass filter that passes the signal message and eliminates the carrier signal.')
set_param([sys,'/',['QADM',13,'baseband']],...
'Mask Entries','1\/1\/0\/.01\/')
% Finished composite block ['QADM',13,'baseband'].
set_param([sys,'/',['QADM',13,'baseband']],...
'hide name',0,...
'position',[440,128,520,172])
% Subsystem ['QAM',13,'baseband'].
new_system([sys,'/',['QAM',13,'baseband']])
set_param([sys,'/',['QAM',13,'baseband']],'Location',[321,500,954,793])
add_block('built-in/Note',[sys,'/',['QAM',13,'baseband/R1']])
set_param([sys,'/',['QAM',13,'baseband/R1']],...
'position',[190,15,195,20])
add_block('built-in/Product',[sys,'/',['QAM',13,'baseband/Product']])
set_param([sys,'/',['QAM',13,'baseband/Product']],...
'position',[300,33,330,57])
add_block('built-in/Product',[sys,'/',['QAM',13,'baseband/Product1']])
set_param([sys,'/',['QAM',13,'baseband/Product1']],...
'position',[300,93,330,117])
add_block('built-in/Sum',[sys,'/',['QAM',13,'baseband/Sum']])
set_param([sys,'/',['QAM',13,'baseband/Sum']],...
'inputs','+-',...
'position',[375,60,395,80])
add_block('built-in/Note',[sys,'/',['QAM',13,'baseband/R_out']])
set_param([sys,'/',['QAM',13,'baseband/R_out']],...
'position',[445,45,450,50])
add_block('built-in/Mux',[sys,'/',['QAM',13,'baseband/RI2C']])
set_param([sys,'/',['QAM',13,'baseband/RI2C']],...
'inputs','2',...
'Mask Display','Real/Imag\nto Complex',...
'Mask Type','Real/Imag to Complex',...
'Mask Dialogue','Construct complex vector from real and imaginary vectors.')
set_param([sys,'/',['QAM',13,'baseband/RI2C']],...
'Mask Help','The Real/Imag to Complex block creates a complex output from the two inputs. It uses a Mux block to append the complex part (input 2) to the real part (input 1).')
set_param([sys,'/',['QAM',13,'baseband/RI2C']],...
'position',[470,119,545,161])
add_block('built-in/Inport',[sys,'/',['QAM',13,'baseband/in_1']])
set_param([sys,'/',['QAM',13,'baseband/in_1']],...
'position',[95,30,115,50])
add_block('built-in/Outport',[sys,'/',['QAM',13,'baseband/out_1']])
set_param([sys,'/',['QAM',13,'baseband/out_1']],...
'position',[585,130,605,150])
add_block('built-in/Constant',[sys,'/',['QAM',13,'baseband/Constant']])
set_param([sys,'/',['QAM',13,'baseband/Constant']],...
'Value','x1',...
'position',[80,145,100,165])
add_block('built-in/Constant',[sys,'/',['QAM',13,'baseband/Constant1']])
set_param([sys,'/',['QAM',13,'baseband/Constant1']],...
'Value','x2',...
'position',[130,165,150,185])
add_block('built-in/Note',[sys,'/',['QAM',13,'baseband/I1']])
set_param([sys,'/',['QAM',13,'baseband/I1']],...
'position',[193,43,198,48])
add_block('built-in/Inport',[sys,'/',['QAM',13,'baseband/in_2']])
set_param([sys,'/',['QAM',13,'baseband/in_2']],...
'Port','2',...
'position',[135,55,155,75])
add_block('built-in/Note',[sys,'/',['QAM',13,'baseband/R2']])
set_param([sys,'/',['QAM',13,'baseband/R2']],...
'position',[125,135,130,140])
add_block('built-in/Note',[sys,'/',['QAM',13,'baseband/I2']])
set_param([sys,'/',['QAM',13,'baseband/I2']],...
'position',[190,155,195,160])
add_block('built-in/Product',[sys,'/',['QAM',13,'baseband/Product3']])
set_param([sys,'/',['QAM',13,'baseband/Product3']],...
'position',[310,183,340,207])
add_block('built-in/Product',[sys,'/',['QAM',13,'baseband/Product2']])
set_param([sys,'/',['QAM',13,'baseband/Product2']],...
'position',[310,228,340,252])
add_block('built-in/Sum',[sys,'/',['QAM',13,'baseband/Sum1']])
set_param([sys,'/',['QAM',13,'baseband/Sum1']],...
'position',[385,210,405,230])
add_block('built-in/Note',[sys,'/',['QAM',13,'baseband/I_out']])
set_param([sys,'/',['QAM',13,'baseband/I_out']],...
'position',[445,206,450,211])
add_block('built-in/Note',[sys,'/',['QAM',13,'baseband/Ref: Hambley: An Intro to Comm. Systems. pp72']])
set_param([sys,'/',['QAM',13,'baseband/Ref: Hambley: An Intro to Comm. Systems. pp72']],...
'position',[260,370,265,375])
add_line([sys,'/',['QAM',13,'baseband']],[550,140;580,140])
add_line([sys,'/',['QAM',13,'baseband']],[345,240;355,240;355,225;380,225])
add_line([sys,'/',['QAM',13,'baseband']],[345,195;355,195;355,215;380,215])
add_line([sys,'/',['QAM',13,'baseband']],[160,65;245,65;245,100;295,100])
add_line([sys,'/',['QAM',13,'baseband']],[250,100;250,245;305,245])
add_line([sys,'/',['QAM',13,'baseband']],[155,175;280,175;280,110;295,110])
add_line([sys,'/',['QAM',13,'baseband']],[280,175;280,200;305,200])
add_line([sys,'/',['QAM',13,'baseband']],[105,155;270,155;270,50;295,50])
add_line([sys,'/',['QAM',13,'baseband']],[270,155;270,235;305,235])
add_line([sys,'/',['QAM',13,'baseband']],[120,40;295,40])
add_line([sys,'/',['QAM',13,'baseband']],[238,40;238,190;305,190])
add_line([sys,'/',['QAM',13,'baseband']],[335,105;345,105;345,75;370,75])
add_line([sys,'/',['QAM',13,'baseband']],[335,45;345,45;345,65;370,65])
add_line([sys,'/',['QAM',13,'baseband']],[400,70;425,70;425,130;465,130])
add_line([sys,'/',['QAM',13,'baseband']],[410,220;425,220;425,150;465,150])
set_param([sys,'/',['QAM',13,'baseband']],...
'Mask Display','plot(0,0,100,100,x,y,u,v);QAM',...
'Mask Type','QM DSB-SC AM CE')
set_param([sys,'/',['QAM',13,'baseband']],...
'Mask Dialogue','Modulate the in-phase and quadrature\ncomponent signal from the 1st and 2nd\ninput ports, baseband simulation.|Initial phase (rad):')
set_param([sys,'/',['QAM',13,'baseband']],...
'Mask Translate','Ph=@1;x1=cos(Ph);x2=sin(Ph);[x,y]=moduicon(1);[u,v]=cmplxicn(1,50,get_param(gcb,''orientation''));')
set_param([sys,'/',['QAM',13,'baseband']],...
'Mask Help','This block outputs the complex envelope of the quadratic multiplexed double-sideband suppressed-carrier amplitude modulated signal. The 1st and 2nd input ports input the in-phase and quadrature components. The output is a complex signal.')
set_param([sys,'/',['QAM',13,'baseband']],...
'Mask Entries','0\/')
% Finished composite block ['QAM',13,'baseband'].
set_param([sys,'/',['QAM',13,'baseband']],...
'hide name',0,...
'position',[245,128,325,172])
% Subsystem ['QASK',13,'circle-map'].
new_system([sys,'/',['QASK',13,'circle-map']])
set_param([sys,'/',['QASK',13,'circle-map']],'Location',[58,103,403,268])
add_block('built-in/Zero-Order Hold',[sys,'/',['QASK',13,'circle-map/Zero-Order',13,'Hold1']])
set_param([sys,'/',['QASK',13,'circle-map/Zero-Order',13,'Hold1']],...
'Sample time','td',...
'position',[80,14,115,46])
add_block('built-in/Inport',[sys,'/',['QASK',13,'circle-map/in_1']])
set_param([sys,'/',['QASK',13,'circle-map/in_1']],...
'position',[25,20,45,40])
add_block('built-in/Look Up Table',[sys,'/',['QASK',13,'circle-map/real part']])
set_param([sys,'/',['QASK',13,'circle-map/real part']],...
'Input_Values','x',...
'Output_Values','y1',...
'position',[180,17,215,43])
add_block('built-in/Look Up Table',[sys,'/',['QASK',13,'circle-map/imag part1']])
set_param([sys,'/',['QASK',13,'circle-map/imag part1']],...
'Input_Values','x',...
'Output_Values','y2',...
'position',[175,97,210,123])
add_block('built-in/Outport',[sys,'/',['QASK',13,'circle-map/Real']])
set_param([sys,'/',['QASK',13,'circle-map/Real']],...
'position',[275,20,295,40])
add_block('built-in/Outport',[sys,'/',['QASK',13,'circle-map/Imag']])
set_param([sys,'/',['QASK',13,'circle-map/Imag']],...
'Port','2',...
'position',[275,100,295,120])
add_line([sys,'/',['QASK',13,'circle-map']],[50,30;75,30])
add_line([sys,'/',['QASK',13,'circle-map']],[120,30;175,30])
add_line([sys,'/',['QASK',13,'circle-map']],[145,30;145,110;170,110])
add_line([sys,'/',['QASK',13,'circle-map']],[220,30;270,30])
add_line([sys,'/',['QASK',13,'circle-map']],[215,110;270,110])
set_param([sys,'/',['QASK',13,'circle-map']],...
'Mask Display','QASK\nC-map',...
'Mask Type','QASK C-map')
set_param([sys,'/',['QASK',13,'circle-map']],...
'Mask Dialogue','QASK mapping with circle constellation. The constellation is defined in NIC, RIC and PIC.|Number of symbols in each circle NIC:|Radii in each circle RIC:|Phase shift in each circle PIC (rad):|Symbol interval and offset (sec):')
set_param([sys,'/',['QASK',13,'circle-map']],...
'Mask Translate','N=@1;A=@2;P=@3;td=@4;y1=apkconst(N,A,P);y1=[y1;y1];y1=y1(:);y2=imag(y1);y1=real(y1);x=[-sum(N) 1:sum(N)-1;1:sum(N)-1 10*sum(N)]-.5;x=x(:);')
set_param([sys,'/',['QASK',13,'circle-map']],...
'Mask Help','This block maps a digital signal onto in-phase and quadratic components, which are outputs in the first and second output port respectively. The circle constellation is defined in NIC, RIC, and PIC. The input symbol interval can be a two-element vector with the second element being offset. The default value offset is 0. Use the MODMAP function to see the constellation.')
set_param([sys,'/',['QASK',13,'circle-map']],...
'Mask Entries','8\/1\/0\/1\/')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -