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

📄 tutmodcs.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 5 页
字号:
%     Subsystem  ['SSB-AM',13,'passband'].

new_system([sys,'/',['SSB-AM',13,'passband']])
set_param([sys,'/',['SSB-AM',13,'passband']],'Location',[76,558,518,713])

add_block('built-in/Gain',[sys,'/',['SSB-AM',13,'passband/Gain']])
set_param([sys,'/',['SSB-AM',13,'passband/Gain']],...
		'Gain','k',...
		'position',[185,72,215,98])

add_block('built-in/Filter',[sys,'/',['SSB-AM',13,'passband/Filter']])
set_param([sys,'/',['SSB-AM',13,'passband/Filter']],...
		'Numerator','num',...
		'Denominator','den',...
		'Sample time','ts',...
		'position',[95,66,150,104])

add_block('built-in/Inport',[sys,'/',['SSB-AM',13,'passband/in_1']])
set_param([sys,'/',['SSB-AM',13,'passband/in_1']],...
		'position',[30,20,50,40])

add_block('built-in/Note',[sys,'/',['SSB-AM',13,'passband/Ref: Hambley: An Intro to Comm. Systems. pp82']])
set_param([sys,'/',['SSB-AM',13,'passband/Ref: Hambley: An Intro to Comm. Systems. pp82']],...
		'position',[355,290,360,295])

add_block('built-in/Outport',[sys,'/',['SSB-AM',13,'passband/out_1']])
set_param([sys,'/',['SSB-AM',13,'passband/out_1']],...
		'position',[400,55,420,75])


%     Subsystem  ['SSB-AM',13,'passband/QAM discr-filt'].

new_system([sys,'/',['SSB-AM',13,'passband/QAM discr-filt']])
set_param([sys,'/',['SSB-AM',13,'passband/QAM discr-filt']],'Location',[302,478,834,743])

add_block('built-in/Fcn',[sys,'/',['SSB-AM',13,'passband/QAM discr-filt/Fcn']])
set_param([sys,'/',['SSB-AM',13,'passband/QAM discr-filt/Fcn']],...
		'Expr','cos(u[1]+Ph)',...
		'position',[230,55,325,85])

add_block('built-in/Fcn',[sys,'/',['SSB-AM',13,'passband/QAM discr-filt/Fcn1']])
set_param([sys,'/',['SSB-AM',13,'passband/QAM discr-filt/Fcn1']],...
		'Expr','sin(u[1]+Ph)',...
		'position',[230,105,325,135])

add_block('built-in/Note',[sys,'/',['SSB-AM',13,'passband/QAM discr-filt/Ref: Hambley: An Intro to Comm. Systems. pp72']])
set_param([sys,'/',['SSB-AM',13,'passband/QAM discr-filt/Ref: Hambley: An Intro to Comm. Systems. pp72']],...
		'position',[250,305,255,310])

add_block('built-in/Product',[sys,'/',['SSB-AM',13,'passband/QAM discr-filt/Product']])
set_param([sys,'/',['SSB-AM',13,'passband/QAM discr-filt/Product']],...
		'position',[355,47,380,78])

add_block('built-in/Product',[sys,'/',['SSB-AM',13,'passband/QAM discr-filt/Product1']])
set_param([sys,'/',['SSB-AM',13,'passband/QAM discr-filt/Product1']],...
		'position',[355,112,380,143])

add_block('built-in/Sum',[sys,'/',['SSB-AM',13,'passband/QAM discr-filt/Sum2']])
set_param([sys,'/',['SSB-AM',13,'passband/QAM discr-filt/Sum2']],...
		'position',[430,90,450,110])

add_block('built-in/Outport',[sys,'/',['SSB-AM',13,'passband/QAM discr-filt/out_1']])
set_param([sys,'/',['SSB-AM',13,'passband/QAM discr-filt/out_1']],...
		'position',[490,90,510,110])

add_block('built-in/Inport',[sys,'/',['SSB-AM',13,'passband/QAM discr-filt/in_1']])
set_param([sys,'/',['SSB-AM',13,'passband/QAM discr-filt/in_1']],...
		'position',[160,30,180,50])

add_block('built-in/Inport',[sys,'/',['SSB-AM',13,'passband/QAM discr-filt/in_2']])
set_param([sys,'/',['SSB-AM',13,'passband/QAM discr-filt/in_2']],...
		'Port','2',...
		'position',[160,145,180,165])

add_block('built-in/Gain',[sys,'/',['SSB-AM',13,'passband/QAM discr-filt/Gain']])
set_param([sys,'/',['SSB-AM',13,'passband/QAM discr-filt/Gain']],...
		'Gain','Fc',...
		'position',[130,76,180,114])

add_block('built-in/Clock',[sys,'/',['SSB-AM',13,'passband/QAM discr-filt/Clock']])
set_param([sys,'/',['SSB-AM',13,'passband/QAM discr-filt/Clock']],...
		'position',[80,85,100,105])
add_line([sys,'/',['SSB-AM',13,'passband/QAM discr-filt']],[455,100;485,100])
add_line([sys,'/',['SSB-AM',13,'passband/QAM discr-filt']],[330,70;350,70])
add_line([sys,'/',['SSB-AM',13,'passband/QAM discr-filt']],[185,40;335,40;335,55;350,55])
add_line([sys,'/',['SSB-AM',13,'passband/QAM discr-filt']],[330,120;350,120])
add_line([sys,'/',['SSB-AM',13,'passband/QAM discr-filt']],[185,155;330,155;330,135;350,135])
add_line([sys,'/',['SSB-AM',13,'passband/QAM discr-filt']],[385,65;400,65;400,95;425,95])
add_line([sys,'/',['SSB-AM',13,'passband/QAM discr-filt']],[385,130;400,130;400,105;425,105])
add_line([sys,'/',['SSB-AM',13,'passband/QAM discr-filt']],[105,95;125,95])
add_line([sys,'/',['SSB-AM',13,'passband/QAM discr-filt']],[185,95;200,95;200,70;225,70])
add_line([sys,'/',['SSB-AM',13,'passband/QAM discr-filt']],[200,95;200,120;225,120])
set_param([sys,'/',['SSB-AM',13,'passband/QAM discr-filt']],...
		'Mask Display','QM DSB\nAM',...
		'Mask Type','Quadrature Multiplexed DSB-SC AM')
set_param([sys,'/',['SSB-AM',13,'passband/QAM discr-filt']],...
		'Mask Dialogue','Quadrature multiplexed double-sideband suppressed-carrier amplitude modulation:|Amplitude scale factor:|Carrier frequency (Hz):|Initial phase (rad):|Sample time:')
set_param([sys,'/',['SSB-AM',13,'passband/QAM discr-filt']],...
		'Mask Translate','Am=@1;Fc=@2*2*pi;Ph=@3;ts=@4;')
set_param([sys,'/',['SSB-AM',13,'passband/QAM discr-filt']],...
		'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 by using two orthogonal sinusoidal carriers.')
set_param([sys,'/',['SSB-AM',13,'passband/QAM discr-filt']],...
		'Mask Entries','1\/Fc\/Ph\/ts\/')


%     Finished composite block ['SSB-AM',13,'passband/QAM discr-filt'].

set_param([sys,'/',['SSB-AM',13,'passband/QAM discr-filt']],...
		'ForeGround',3,...
		'position',[280,45,360,85])
add_line([sys,'/',['SSB-AM',13,'passband']],[220,85;240,85;240,75;275,75])
add_line([sys,'/',['SSB-AM',13,'passband']],[155,85;180,85])
add_line([sys,'/',['SSB-AM',13,'passband']],[55,30;65,30;65,85;90,85])
add_line([sys,'/',['SSB-AM',13,'passband']],[55,30;255,30;255,55;275,55])
add_line([sys,'/',['SSB-AM',13,'passband']],[365,65;395,65])
set_param([sys,'/',['SSB-AM',13,'passband']],...
		'Mask Display','plot(0,0,100,100,x,y);SSB AM',...
		'Mask Type','Passband SSB-AM')
set_param([sys,'/',['SSB-AM',13,'passband']],...
		'Mask Dialogue','Modulate the input signal using \nsingle-sideband amplitude modulation\nmethod with Hilbert transform filter.|Carrier frequency (Hz):|Initial Phase (rad):|Bandwidth of the input signal (Hz):|Time delay for Hilbert transform filter (sec):|Sample time (sec):|"upper" sideband or "lower" sideband:')
set_param([sys,'/',['SSB-AM',13,'passband']],...
		'Mask Translate','Fc=@1;Ph=@2;ban=@3;dly=@4;ts=@5;sd=@6;if ban>1/ts, ban=1/ts-ts;end;[num,den]=hilbiir(ts,dly,ban);pi2=2*pi;pih=pi/2;k=-1;if sd(1)==''l'',k=1;end;[x,y]=moduicon(1);')
set_param([sys,'/',['SSB-AM',13,'passband']],...
		'Mask Help','This block modulates the input signal using the SSB-AM method. The block uses Hilbert transfer filter. Hilbert transform filter is a non-causal filter. A positive time delay is requested in the implementation. You can specify the modulation to be an USB or LSB modulation.')
set_param([sys,'/',['SSB-AM',13,'passband']],...
		'Mask Entries','100/2/pi\/0\/1/ts/10\/ts*10\/ts\/''lower''\/')


%     Finished composite block ['SSB-AM',13,'passband'].

set_param([sys,'/',['SSB-AM',13,'passband']],...
		'hide name',0,...
		'position',[130,308,210,352])


%     Subsystem  ['SSB-ADM',13,'passband'].

new_system([sys,'/',['SSB-ADM',13,'passband']])
set_param([sys,'/',['SSB-ADM',13,'passband']],'Location',[234,472,778,662])

add_block('built-in/Filter',[sys,'/',['SSB-ADM',13,'passband/Filter']])
set_param([sys,'/',['SSB-ADM',13,'passband/Filter']],...
		'Numerator','num',...
		'Denominator','den',...
		'Sample time','ts',...
		'position',[390,61,445,99])

add_block('built-in/Note',[sys,'/',['SSB-ADM',13,'passband/Ref: Hambley: An Intro to Comm. Systems. pp72']])
set_param([sys,'/',['SSB-ADM',13,'passband/Ref: Hambley: An Intro to Comm. Systems. pp72']],...
		'position',[285,280,290,285])

add_block('built-in/Fcn',[sys,'/',['SSB-ADM',13,'passband/Fcn']])
set_param([sys,'/',['SSB-ADM',13,'passband/Fcn']],...
		'Expr','cos(u[1]+Ph)',...
		'position',[205,55,300,85])

add_block('built-in/Product',[sys,'/',['SSB-ADM',13,'passband/Product']])
set_param([sys,'/',['SSB-ADM',13,'passband/Product']],...
		'position',[330,62,355,93])

add_block('built-in/Outport',[sys,'/',['SSB-ADM',13,'passband/out_1']])
set_param([sys,'/',['SSB-ADM',13,'passband/out_1']],...
		'position',[480,70,500,90])

add_block('built-in/Clock',[sys,'/',['SSB-ADM',13,'passband/Clock']])
set_param([sys,'/',['SSB-ADM',13,'passband/Clock']],...
		'position',[60,60,80,80])

add_block('built-in/Gain',[sys,'/',['SSB-ADM',13,'passband/Gain']])
set_param([sys,'/',['SSB-ADM',13,'passband/Gain']],...
		'Gain','Fc',...
		'position',[110,51,160,89])

add_block('built-in/Inport',[sys,'/',['SSB-ADM',13,'passband/in_1']])
set_param([sys,'/',['SSB-ADM',13,'passband/in_1']],...
		'position',[210,110,230,130])

add_block('built-in/Gain',[sys,'/',['SSB-ADM',13,'passband/Gain1']])
set_param([sys,'/',['SSB-ADM',13,'passband/Gain1']],...
		'Gain','2',...
		'position',[250,108,275,132])
add_line([sys,'/',['SSB-ADM',13,'passband']],[165,70;200,70])
add_line([sys,'/',['SSB-ADM',13,'passband']],[280,120;305,120;305,85;325,85])
add_line([sys,'/',['SSB-ADM',13,'passband']],[235,120;245,120])
add_line([sys,'/',['SSB-ADM',13,'passband']],[305,70;325,70])
add_line([sys,'/',['SSB-ADM',13,'passband']],[360,80;385,80])
add_line([sys,'/',['SSB-ADM',13,'passband']],[450,80;475,80])
add_line([sys,'/',['SSB-ADM',13,'passband']],[85,70;105,70])
set_param([sys,'/',['SSB-ADM',13,'passband']],...
		'Mask Display','plot(0,0,100,100,x,y);SSB ADM',...
		'Mask Type','Passband SSB ADM')
set_param([sys,'/',['SSB-ADM',13,'passband']],...
		'Mask Dialogue','Demodulate a SSB-AM modulated signal.|Carrier frequency (Hz):|Lowpass filter numerator:|Lowpass filter denominator:|Initial phase (rad):|Sample time (sec):')
set_param([sys,'/',['SSB-ADM',13,'passband']],...
		'Mask Translate','Fc=@1*2*pi;num=@2;den=@3;Ph=@4;ts=@5;Pg=Ph+pi/2;[x,y]=moduicon(2);')
set_param([sys,'/',['SSB-ADM',13,'passband']],...
		'Mask Help','This block demodulates the SSB-SC-AM modulated signal. The demodulation uses a discrete-time lowpass filter that passes the signal message and eliminates the carrier signal. You can specify the modulation to be a USB or LSB modulation.')
set_param([sys,'/',['SSB-ADM',13,'passband']],...
		'Mask Entries','100/2/pi\/num\/den\/0\/ts\/')


%     Finished composite block ['SSB-ADM',13,'passband'].

set_param([sys,'/',['SSB-ADM',13,'passband']],...
		'hide name',0,...
		'position',[245,308,325,352])

add_block('built-in/Outport',[sys,'/','Outport5'])
set_param([sys,'/','Outport5'],...
		'Port','6',...
		'position',[375,320,395,340])

add_block('built-in/Outport',[sys,'/','Outport4'])
set_param([sys,'/','Outport4'],...
		'Port','5',...
		'position',[375,260,395,280])


%     Subsystem  ['PM',13,'passband'].

new_system([sys,'/',['PM',13,'passband']])
set_param([sys,'/',['PM',13,'passband']],'Location',[358,506,869,673])

add_block('built-in/Clock',[sys,'/',['PM',13,'passband/Clock']])
set_param([sys,'/',['PM',13,'passband/Clock']],...
		'position',[40,65,60,85])

add_block('built-in/Sum',[sys,'/',['PM',13,'passband/Sum2']])
set_param([sys,'/',['PM',13,'passband/Sum2']],...
		'inputs','+-',...
		'position',[220,55,245,90])

add_block('built-in/Outport',[sys,'/',['PM',13,'passband/out_1']])
set_param([sys,'/',['PM',13,'passband/out_1']],...
		'position',[445,65,465,85])

add_block('built-in/Inport',[sys,'/',['PM',13,'passband/in_1']])
set_param([sys,'/',['PM',13,'passband/in_1']],...
		'position',[150,10,170,30])

add_block('built-in/Fcn',[sys,'/',['PM',13,'passband/Fcn']])
set_param([sys,'/',['PM',13,'passband/Fcn']],...
		'Expr','cos(u[1])',...
		'position',[325,60,400,90])

add_block('built-in/Sum',[sys,'/',['PM',13,'passband/Sum1']])
set_param([sys,'/',['PM',13,'passband/Sum1']],...
		'inputs','+++',...
		'position',[280,57,300,93])

add_block('built-in/Gain',[sys,'/',['PM',13,'passband/Gain']])
set_param([sys,'/',['PM',13,'passband/Gain']],...
		'Gain','Fc',...
		'position',[80,60,120,90])

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -