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

📄 tmpam2cd.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 3 页
字号:
add_block('built-in/Mux',[sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Mux']])
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Mux']],...
		'inputs','2',...
		'position',[355,26,390,59])

add_block('built-in/Fcn',[sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/sin']])
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/sin']],...
		'Expr','sin(u)',...
		'position',[270,81,325,109])

add_block('built-in/Fcn',[sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/cos']])
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/cos']],...
		'Expr','cos(u)',...
		'position',[270,21,325,49])

add_block('built-in/Gain',[sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Sensitivity']])
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/Sensitivity']],...
		'Gain','Kc',...
		'position',[80,21,120,49])

add_block('built-in/Inport',[sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/in_1']])
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO/in_1']],...
		'position',[35,25,55,45])
add_line([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO']],[245,40;250,40;250,95;265,95])
add_line([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO']],[185,110;200,110;200,45;215,45])
add_line([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO']],[245,40;245,35;265,35])
add_line([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO']],[200,35;215,35])
add_line([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO']],[330,95;335,95;335,50;350,50])
add_line([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO']],[395,45;415,45])
add_line([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO']],[330,35;350,35])
add_line([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO']],[465,45;485,45])
add_line([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO']],[125,35;130,35])
add_line([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO']],[60,35;75,35])
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO']],...
		'Mask Display','FM\ncmplx env',...
		'Mask Type','FM with cmplx env out')
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO']],...
		'Mask Dialogue','Frequency modulation with complex envelop output:|Amplitude constant:|Modulation sensitivity constant:|Initial phase (rad):|Sample time:')
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO']],...
		'Mask Translate','Ac=@1;Kc=@2*2*pi;Ph=@3;pi2=2*pi;ts=@4;')
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO']],...
		'Mask Help','The FM block cause the frequency of the sinusoidal carrier to depend on the input signal voltage, resulting in frequency of the output change depending on the amplitude of the input signal.')
set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO']],...
		'Mask Entries','1\/1\/Ph\/ts\/')


%     Finished composite block ['DSB-ADM',13,'baseband/FM CE//VCO'].

set_param([sys,'/',['DSB-ADM',13,'baseband/FM CE//VCO']],...
		'orientation',2,...
		'position',[215,100,295,140])

add_block('built-in/Inport',[sys,'/',['DSB-ADM',13,'baseband/in_1']])
set_param([sys,'/',['DSB-ADM',13,'baseband/in_1']],...
		'orientation',2,...
		'position',[185,90,205,110])

add_block('built-in/Filter',[sys,'/',['DSB-ADM',13,'baseband/Filter1']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Filter1']],...
		'Numerator','num',...
		'Denominator','den',...
		'Sample time','ts',...
		'position',[250,176,305,214])


%     Subsystem  ['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply'].

new_system([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply']],'Location',[297,318,980,694])

add_block('built-in/Gain',[sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Conjugate']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Conjugate']],...
		'Gain','-1',...
		'position',[190,210,230,240])

add_block('built-in/Note',[sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/I2']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/I2']],...
		'position',[170,225,175,230])

add_block('built-in/Outport',[sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Real']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Real']],...
		'position',[495,110,515,130])

add_block('built-in/Outport',[sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Imag']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Imag']],...
		'Port','2',...
		'position',[485,280,505,300])

add_block('built-in/Note',[sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/I1']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/I1']],...
		'position',[198,108,203,113])

add_block('built-in/Note',[sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/R1']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/R1']],...
		'position',[195,65,200,70])

add_block('built-in/Note',[sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/R2']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/R2']],...
		'position',[190,185,195,190])

add_block('built-in/Product',[sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Product']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Product']],...
		'position',[305,83,335,107])

add_block('built-in/Product',[sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Product1']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Product1']],...
		'position',[305,143,335,167])

add_block('built-in/Sum',[sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Sum']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Sum']],...
		'inputs','+-',...
		'position',[380,110,400,130])

add_block('built-in/Product',[sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Product3']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Product3']],...
		'position',[305,253,335,277])

add_block('built-in/Product',[sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Product2']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Product2']],...
		'position',[305,298,335,322])

add_block('built-in/Sum',[sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Sum1']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Sum1']],...
		'position',[380,280,400,300])

add_block('built-in/Note',[sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/R_out']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/R_out']],...
		'position',[450,95,455,100])

add_block('built-in/Note',[sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/I_out']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/I_out']],...
		'position',[450,286,455,291])

add_block('built-in/Note',[sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/R = Real',13,'I = Imaginary']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/R = Real',13,'I = Imaginary']],...
		'position',[55,0,60,5])

add_block('built-in/Demux',[sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Split']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Split']],...
		'outputs','2',...
		'Mask Display','Complex to\nReal/Imag',...
		'Mask Type','Complex to Real/Imag')
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Split']],...
		'Mask Dialogue','Real and imaginary components of complex vector.')
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Split']],...
		'Mask Help','The Complex to Real/Imag block decomposes a complex vector into its real and imaginary components using a Demux block. The real part is directed to output 1, and the imaginary to output 2.')
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Split']],...
		'position',[85,79,160,121])

add_block('built-in/Inport',[sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Complex',13,'input 1']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Complex',13,'input 1']],...
		'position',[35,90,55,110])

add_block('built-in/Demux',[sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Split1']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Split1']],...
		'outputs','2',...
		'Mask Display','Complex to\nReal/Imag',...
		'Mask Type','Complex to Real/Imag')
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Split1']],...
		'Mask Dialogue','Real and imaginary components of complex vector.')
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Split1']],...
		'Mask Help','The Complex to Real/Imag block decomposes a complex vector into its real and imaginary components using a Demux block. The real part is directed to output 1, and the imaginary to output 2.')
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Split1']],...
		'position',[80,194,155,236])

add_block('built-in/Inport',[sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Complex',13,'input 2']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply/Complex',13,'input 2']],...
		'Port','2',...
		'position',[25,205,45,225])
add_line([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply']],[235,225;260,225;260,160;300,160])
add_line([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply']],[260,225;260,270;300,270])
add_line([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply']],[160,225;185,225])
add_line([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply']],[405,120;490,120])
add_line([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply']],[405,290;480,290])
add_line([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply']],[60,100;80,100])
add_line([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply']],[50,215;75,215])
add_line([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply']],[340,95;350,95;350,115;375,115])
add_line([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply']],[340,155;350,155;350,125;375,125])
add_line([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply']],[165,90;300,90])
add_line([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply']],[243,90;243,260;300,260])
add_line([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply']],[160,205;275,205;275,100;300,100])
add_line([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply']],[275,205;275,305;300,305])
add_line([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply']],[165,110;250,110;250,150;300,150])
add_line([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply']],[255,150;255,315;300,315])
add_line([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply']],[340,265;350,265;350,285;375,285])
add_line([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply']],[340,310;350,310;350,295;375,295])


%     Finished composite block ['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply'].

set_param([sys,'/',['DSB-ADM',13,'baseband/Cmplx-in',13,'Re//Im-out',13,'Multiply']],...
		'orientation',2,...
		'position',[40,90,115,130])

add_block('built-in/Filter',[sys,'/',['DSB-ADM',13,'baseband/Filter']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Filter']],...
		'Numerator','num',...
		'Denominator','den',...
		'Sample time','ts',...
		'position',[260,26,315,64])

add_block('built-in/Product',[sys,'/',['DSB-ADM',13,'baseband/Product1']])
set_param([sys,'/',['DSB-ADM',13,'baseband/Product1']],...
		'orientation',2,...
		'position',[390,110,425,130])

add_block('built-in/Outport',[sys,'/',['DSB-ADM',13,'baseband/out_1']])
set_param([sys,'/',['DSB-ADM',13,'baseband/out_1']],...
		'position',[485,35,505,55])
add_line([sys,'/',['DSB-ADM',13,'baseband']],[210,120;120,120])
add_line([sys,'/',['DSB-ADM',13,'baseband']],[305,120;300,120])
add_line([sys,'/',['DSB-ADM',13,'baseband']],[385,120;375,120])
add_line([sys,'/',['DSB-ADM',13,'baseband']],[310,195;445,195;445,125;430,125])
add_line([sys,'/',['DSB-ADM',13,'baseband']],[35,120;15,120;15,195;245,195])
add_line([sys,'/',['DSB-ADM',13,'baseband']],[35,100;20,100;20,45;255,45])
add_line([sys,'/',['DSB-ADM',13,'baseband']],[180,100;120,100])
add_line([sys,'/',['DSB-ADM',13,'baseband']],[320,45;480,45])
add_line([sys,'/',['DSB-ADM',13,'baseband']],[445,45;445,115;430,115])
set_param([sys,'/',['DSB-ADM',13,'baseband']],...
		'Mask Display','plot(0,0,100,100,x,y,u,v);DSB ADM',...
		'Mask Type','DSB-SC ADM CE')
set_param([sys,'/',['DSB-ADM',13,'baseband']],...
		'Mask Dialogue','Demodulate the complex envelope of a\nDSB-SC AM modulated signal.|Lowpass filter numerator:|Lowpass filter denominator:|Initial phase (rad):|Sample time (sec):')
set_param([sys,'/',['DSB-ADM',13,'baseband']],...
		'Mask Translate','num=@1;den=@2;Ph=@3;pi2=pi*2;ts=@4;[x,y]=moduicon(2);[u,v]=cmplxicn(0,50,get_param(gcb,''orientation''));')
set_param([sys,'/',['DSB-ADM',13,'baseband']],...
		'Mask Help','This block demodulates the complex envelope of a DSB-SC-AM modulated signal using Costas phase-locked loop method. This block requires you to specify a lowpass filter that eliminates the carrier frequency and keeps the message signal. This block takes a complex signal.')
set_param([sys,'/',['DSB-ADM',13,'baseband']],...
		'Mask Entries','num\/den\/pi/2\/ts\/')


%     Finished composite block ['DSB-ADM',13,'baseband'].

set_param([sys,'/',['DSB-ADM',13,'baseband']],...
		'hide name',0,...
		'position',[335,53,415,97])
add_line(sys,[95,75;120,75])
add_line(sys,[105,75;105,30;550,30;550,55;565,55])
add_line(sys,[425,130;565,130])
add_line(sys,[420,75;450,75])
add_line(sys,[435,75;435,110;565,110])
add_line(sys,[210,75;225,75])
add_line(sys,[540,75;565,75])
add_line(sys,[315,75;330,75])

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