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

📄 tutqam.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 2 页
字号:
add_line([sys,'/',['Quad multi',13,'DSB-SC-ADM']],[300,130;305,130;305,175;325,175])
add_line([sys,'/',['Quad multi',13,'DSB-SC-ADM']],[300,130;305,130;305,85;325,85])
add_line([sys,'/',['Quad multi',13,'DSB-SC-ADM']],[255,130;265,130])
add_line([sys,'/',['Quad multi',13,'DSB-SC-ADM']],[60,125;75,125])
add_line([sys,'/',['Quad multi',13,'DSB-SC-ADM']],[145,125;160,125])
add_line([sys,'/',['Quad multi',13,'DSB-SC-ADM']],[205,125;205,70;220,70])
add_line([sys,'/',['Quad multi',13,'DSB-SC-ADM']],[205,125;215,190])
add_line([sys,'/',['Quad multi',13,'DSB-SC-ADM']],[305,70;325,70])
add_line([sys,'/',['Quad multi',13,'DSB-SC-ADM']],[300,190;325,190])
add_line([sys,'/',['Quad multi',13,'DSB-SC-ADM']],[360,80;390,80])
add_line([sys,'/',['Quad multi',13,'DSB-SC-ADM']],[450,80;475,80])
add_line([sys,'/',['Quad multi',13,'DSB-SC-ADM']],[360,185;390,185])
add_line([sys,'/',['Quad multi',13,'DSB-SC-ADM']],[450,185;475,185])
set_param([sys,'/',['Quad multi',13,'DSB-SC-ADM']],...
		'Mask Display','QM\nDSB-SC\nADM',...
		'Mask Type','Quadrature Demultiplexed DSB-SC AM')
set_param([sys,'/',['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,'/',['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,'/',['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,'/',['Quad multi',13,'DSB-SC-ADM']],...
		'Mask Entries','1\/15\/0\/[3.0002, 0, 40002]\/[1, 67.46, 2270.9, 40002]\/')


%     Finished composite block ['Quad multi',13,'DSB-SC-ADM'].

set_param([sys,'/',['Quad multi',13,'DSB-SC-ADM']],...
		'ForeGround',5,...
		'hide name',0,...
		'position',[235,69,310,116])

add_block('built-in/Signal Generator',[sys,'/',['Signal',13,'generator1']])
set_param([sys,'/',['Signal',13,'generator1']],...
		'hide name',0,...
		'Peak','1.000000',...
		'Peak Range','5.000000',...
		'Freq','12.570000',...
		'Freq Range','60.000000',...
		'Wave','Sin',...
		'Units','Rads')
set_param([sys,'/',['Signal',13,'generator1']],...
		'position',[20,133,65,167])

add_block('built-in/Signal Generator',[sys,'/',['Signal',13,'generator']])
set_param([sys,'/',['Signal',13,'generator']],...
		'hide name',0,...
		'Peak','1.000000',...
		'Peak Range','5.000000',...
		'Freq','6.280000',...
		'Freq Range','9.554140',...
		'Wave','Sin',...
		'Units','Rads',...
		'position',[25,23,70,57])


%     Subsystem  ['Quad multi',13,'DSB-SC-AM'].

new_system([sys,'/',['Quad multi',13,'DSB-SC-AM']])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM']],'Location',[99,142,631,346])


%     Subsystem  ['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator'].

new_system([sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],'Location',[196,490,621,627])

add_block('built-in/Outport',[sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/out_1']])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/out_1']],...
		'position',[370,30,390,50])

add_block('built-in/Sum',[sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/Sum']])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/Sum']],...
		'position',[195,30,215,50])

add_block('built-in/Constant',[sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/one']])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/one']],...
		'orientation',3,...
		'move name',0,...
		'position',[70,55,90,75])

add_block('built-in/Reset Integrator',[sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/Reset',13,'integrator']])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/Reset',13,'integrator']],...
		'position',[110,19,150,51])

add_block('built-in/Fcn',[sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/module']])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/module']],...
		'Expr','rem(u[1],modu)',...
		'position',[235,29,325,51])

add_block('built-in/Memory',[sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/Memory']])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/Memory']],...
		'orientation',2,...
		'x0','init',...
		'position',[210,75,260,105])

add_block('built-in/Inport',[sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/in_1']])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator/in_1']],...
		'position',[35,15,55,35])
add_line([sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],[330,40;365,40])
add_line([sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],[340,40;340,90;265,90])
add_line([sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],[80,50;80,35;105,35])
add_line([sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],[60,25;105,25])
add_line([sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],[220,40;230,40])
add_line([sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],[155,35;190,35])
add_line([sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],[205,90;180,90;190,45])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],...
		'Mask Display','Mod\nint',...
		'Mask Type','Module Integrator',...
		'Mask Dialogue','Module the given number when state exceed limit|Module bound:|Initial value:')
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],...
		'Mask Translate','init=@2; modu=@1;')
set_param([sys,'/',['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,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],...
		'Mask Entries','1\/0\/')


%     Finished composite block ['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator'].

set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/Module',13,'Integrator']],...
		'position',[70,79,130,111])

add_block('built-in/Constant',[sys,'/',['Quad multi',13,'DSB-SC-AM/Constant']])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/Constant']],...
		'Value','Fc',...
		'position',[25,85,45,105])

add_block('built-in/Note',[sys,'/',['Quad multi',13,'DSB-SC-AM/Ref: Hambley: An Intro to Comm. Systems. pp72']])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/Ref: Hambley: An Intro to Comm. Systems. pp72']],...
		'position',[250,305,255,310])

add_block('built-in/Fcn',[sys,'/',['Quad multi',13,'DSB-SC-AM/Fcn']])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/Fcn']],...
		'Expr','sin(u[1]+Ph)',...
		'position',[235,56,310,84])

add_block('built-in/Product',[sys,'/',['Quad multi',13,'DSB-SC-AM/Product']])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/Product']],...
		'position',[355,47,380,78])

add_block('built-in/Product',[sys,'/',['Quad multi',13,'DSB-SC-AM/Product1']])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/Product1']],...
		'position',[355,112,380,143])

add_block('built-in/Sum',[sys,'/',['Quad multi',13,'DSB-SC-AM/Sum2']])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/Sum2']],...
		'position',[430,90,450,110])

add_block('built-in/Outport',[sys,'/',['Quad multi',13,'DSB-SC-AM/out_1']])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/out_1']],...
		'position',[490,90,510,110])

add_block('built-in/Fcn',[sys,'/',['Quad multi',13,'DSB-SC-AM/Fcn1']])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/Fcn1']],...
		'Expr','sin(u[1]+Pg)',...
		'position',[235,106,310,134])

add_block('built-in/Gain',[sys,'/',['Quad multi',13,'DSB-SC-AM/Gain']])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/Gain']],...
		'Gain','pi2',...
		'position',[155,79,190,111])

add_block('built-in/Inport',[sys,'/',['Quad multi',13,'DSB-SC-AM/in_1']])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/in_1']],...
		'position',[160,30,180,50])

add_block('built-in/Inport',[sys,'/',['Quad multi',13,'DSB-SC-AM/in_2']])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM/in_2']],...
		'Port','2',...
		'position',[160,145,180,165])
add_line([sys,'/',['Quad multi',13,'DSB-SC-AM']],[50,95;65,95])
add_line([sys,'/',['Quad multi',13,'DSB-SC-AM']],[135,95;150,95])
add_line([sys,'/',['Quad multi',13,'DSB-SC-AM']],[455,100;485,100])
add_line([sys,'/',['Quad multi',13,'DSB-SC-AM']],[195,95;205,95;205,70;230,70])
add_line([sys,'/',['Quad multi',13,'DSB-SC-AM']],[205,95;205,120;230,120])
add_line([sys,'/',['Quad multi',13,'DSB-SC-AM']],[315,70;350,70])
add_line([sys,'/',['Quad multi',13,'DSB-SC-AM']],[185,40;325,40;325,55;350,55])
add_line([sys,'/',['Quad multi',13,'DSB-SC-AM']],[315,120;350,120])
add_line([sys,'/',['Quad multi',13,'DSB-SC-AM']],[185,155;320,155;320,135;350,135])
add_line([sys,'/',['Quad multi',13,'DSB-SC-AM']],[385,65;400,65;400,95;425,95])
add_line([sys,'/',['Quad multi',13,'DSB-SC-AM']],[385,130;400,130;400,105;425,105])
set_param([sys,'/',['Quad multi',13,'DSB-SC-AM']],...
		'Mask Display','QM\nDSB-SC\nAM',...
		'Mask Type','Quadrature Multiplexed DSB-SC AM')
set_param([sys,'/',['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,'/',['Quad multi',13,'DSB-SC-AM']],...
		'Mask Translate','Am=@1;Fc=@2;Ph=@3;Pg=Ph+pi/2;pi2=pi*2;')
set_param([sys,'/',['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,'/',['Quad multi',13,'DSB-SC-AM']],...
		'Mask Entries','1\/15\/0\/')


%     Finished composite block ['Quad multi',13,'DSB-SC-AM'].

set_param([sys,'/',['Quad multi',13,'DSB-SC-AM']],...
		'ForeGround',4,...
		'hide name',0,...
		'position',[135,73,205,117])
add_line(sys,[210,95;230,95])
add_line(sys,[510,80;555,80])
add_line(sys,[70,150;95,150;95,105;130,105])
add_line(sys,[75,40;105,40;105,85;130,85])
add_line(sys,[105,40;360,40;360,65;460,65])
add_line(sys,[315,80;460,80])
add_line(sys,[315,105;350,105])
add_line(sys,[95,150;325,150;325,120;350,120])
add_line(sys,[395,115;405,115])
add_line(sys,[375,160;395,160;405,125])
add_line(sys,[435,120;440,120;440,95;460,95])

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