⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tmpqa2cd.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 3 页
字号:
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',[220,43,300,87])


%     Subsystem  ['QADM',13,'baseband'].

new_system([sys,'/',['QADM',13,'baseband']])
set_param([sys,'/',['QADM',13,'baseband']],'Location',[283,122,827,462])

add_block('built-in/Inport',[sys,'/',['QADM',13,'baseband/in_1']])
set_param([sys,'/',['QADM',13,'baseband/in_1']],...
		'position',[55,115,75,135])

add_block('built-in/Constant',[sys,'/',['QADM',13,'baseband/Constant1']])
set_param([sys,'/',['QADM',13,'baseband/Constant1']],...
		'Value','x2',...
		'position',[160,245,180,265])

add_block('built-in/Sum',[sys,'/',['QADM',13,'baseband/Sum1']])
set_param([sys,'/',['QADM',13,'baseband/Sum1']],...
		'position',[340,220,360,240])

add_block('built-in/Outport',[sys,'/',['QADM',13,'baseband/out_2']])
set_param([sys,'/',['QADM',13,'baseband/out_2']],...
		'Port','2',...
		'position',[485,220,505,240])

add_block('built-in/Filter',[sys,'/',['QADM',13,'baseband/Filter1']])
set_param([sys,'/',['QADM',13,'baseband/Filter1']],...
		'Numerator','num',...
		'Denominator','den',...
		'Sample time','ts',...
		'position',[395,211,450,249])

add_block('built-in/Product',[sys,'/',['QADM',13,'baseband/Product1']])
set_param([sys,'/',['QADM',13,'baseband/Product1']],...
		'position',[260,123,290,147])

add_block('built-in/Demux',[sys,'/',['QADM',13,'baseband/Demux']])
set_param([sys,'/',['QADM',13,'baseband/Demux']],...
		'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','num\/den\/0\/ts\/')


%     Finished composite block ['QADM',13,'baseband'].

set_param([sys,'/',['QADM',13,'baseband']],...
		'hide name',0,...
		'position',[330,43,410,87])
add_line(sys,[415,55;430,55;430,130;445,130])
add_line(sys,[415,75;445,75])
add_line(sys,[435,75;445,110])
add_line(sys,[415,55;445,55])
add_line(sys,[200,55;215,55])
add_line(sys,[200,75;215,75])
add_line(sys,[410,150;535,150])
add_line(sys,[490,120;510,120;510,130;535,130])
add_line(sys,[535,65;565,65])
add_line(sys,[90,65;110,65])
add_line(sys,[100,65;100,20;535,20;535,45;565,45])
add_line(sys,[305,65;325,65])

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 + -