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

📄 testamc2.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 4 页
字号:
add_block('built-in/Fcn',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/sin']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/sin']],...
		'orientation',2,...
		'Expr','2*cos(u[1])',...
		'position',[125,118,210,142])

add_block('built-in/Filter',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Filter']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Filter']],...
		'Numerator','num',...
		'Denominator','den',...
		'Sample time','ts',...
		'position',[340,41,395,79])

add_block('built-in/Filter',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Filter1']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/Filter1']],...
		'Numerator','num',...
		'Denominator','den',...
		'Sample time','ts',...
		'position',[425,206,480,244])

add_block('built-in/Outport',[sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/In-phase',13,'output']])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas/In-phase',13,'output']],...
		'position',[695,50,715,70])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[260,130;215,130])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[240,130;240,180;225,180])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[530,120;465,120])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[155,60;335,60])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[120,130;105,130;105,65;120,65])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[505,175;480,175;480,130;465,130])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[435,125;430,125])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[605,120;600,120])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[110,180;105,180;105,220;120,220])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[70,55;120,55])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[90,55;90,230;120,230])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[155,225;420,225])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[485,225;655,225;645,125])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[360,125;345,125])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[305,125;290,125])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[315,185;300,185;290,135])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[400,60;690,60])
add_line([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],[655,60;645,115])
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],...
		'Mask Display','Costas PL\nDSB ADM',...
		'Mask Type','DSB-SC ADM')
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],...
		'Mask Dialogue','Double-sideband suppressed-carrier amplitude demodulation:|Carrier frequency:|Low-pass filter numerator (dis):|Low-pass filter denominator (dis):|Initial phase:|Sample time (sec):')
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],...
		'Mask Translate','Fc=@1;num=@2;den=@3;Ph=@4;pi2=pi*2;pih=pi/2;ts=@5;')
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],...
		'Mask Help','The DSB SC ADM demodulates a DSB-SC-AM signal using Costas Phase-Locked Loop method. The result of this ADM is phase sensitive. This block requires user to specify a lowpass filter which could filter the carrier freency and keep the message signal. Please refer Signal Processing Toolbox for design of the filters. ')
set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],...
		'Mask Entries','Fc\/num\/den\/Ph\/ts\/')


%     Finished composite block ['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas'].

set_param([sys,'/',['ADM with carrier',13,'passband/DSB-SC-ADM',13,'by-Costas']],...
		'ForeGround',3,...
		'position',[100,15,180,55])
add_line([sys,'/',['ADM with carrier',13,'passband']],[65,35;95,35])
add_line([sys,'/',['ADM with carrier',13,'passband']],[185,35;235,35])
add_line([sys,'/',['ADM with carrier',13,'passband']],[265,40;285,40])
add_line([sys,'/',['ADM with carrier',13,'passband']],[135,105;220,105;220,45;235,45])
set_param([sys,'/',['ADM with carrier',13,'passband']],...
		'Mask Display','plot(0,0,100,100,x,y);ADM w TC',...
		'Mask Type','Passband ADM with carrier')
set_param([sys,'/',['ADM with carrier',13,'passband']],...
		'Mask Dialogue','Demodulate an AM with carrier modulated signal.|Offset factor:|Carrier frequency (Hz):|Initial Phase (rad):|Lowpass filter numerator:|Lowpass filter denominator:|Sample time (sec):')
set_param([sys,'/',['ADM with carrier',13,'passband']],...
		'Mask Translate','Offset=@1;Fc=@2;Ph=@3;num=@4;den=@5;ts=@6;[x,y]=moduicon(2);')
set_param([sys,'/',['ADM with carrier',13,'passband']],...
		'Mask Help','This block demodulates a DSB-AM with carrier modulated signal. In order to recover the original signal, the offset parameter should be the same as the parameter in the modulation. The demodulation uses a discrete-time lowpass filter that passes the signal message and eliminates the carrier signal. ')
set_param([sys,'/',['ADM with carrier',13,'passband']],...
		'Mask Entries','1\/100/2/pi\/pi/3\/num\/den\/ts\/')


%     Finished composite block ['ADM with carrier',13,'passband'].

set_param([sys,'/',['ADM with carrier',13,'passband']],...
		'ForeGround',3,...
		'hide name',0,...
		'position',[250,58,330,102])


%     Subsystem  ['AM with carrier',13,'passband'].

new_system([sys,'/',['AM with carrier',13,'passband']])
set_param([sys,'/',['AM with carrier',13,'passband']],'Location',[68,468,570,611])

add_block('built-in/Note',[sys,'/',['AM with carrier',13,'passband/Ref: Hambley: An Intro to Comm. Systems. pp76']])
set_param([sys,'/',['AM with carrier',13,'passband/Ref: Hambley: An Intro to Comm. Systems. pp76']],...
		'position',[180,155,185,160])

add_block('built-in/Outport',[sys,'/',['AM with carrier',13,'passband/out_1']])
set_param([sys,'/',['AM with carrier',13,'passband/out_1']],...
		'position',[395,35,415,55])

add_block('built-in/Sum',[sys,'/',['AM with carrier',13,'passband/Sum']])
set_param([sys,'/',['AM with carrier',13,'passband/Sum']],...
		'position',[160,35,180,55])

add_block('built-in/Inport',[sys,'/',['AM with carrier',13,'passband/in_1']])
set_param([sys,'/',['AM with carrier',13,'passband/in_1']],...
		'position',[50,30,70,50])

add_block('built-in/Constant',[sys,'/',['AM with carrier',13,'passband/Constant']])
set_param([sys,'/',['AM with carrier',13,'passband/Constant']],...
		'Value','Offset',...
		'position',[60,75,110,95])


%     Subsystem  ['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt'].

new_system([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']])
set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],'Location',[51,135,503,309])

add_block('built-in/Sum',[sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt/Sum2']])
set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt/Sum2']],...
		'position',[170,90,190,110])

add_block('built-in/Fcn',[sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt/Fcn']])
set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt/Fcn']],...
		'Expr','cos(u[1])',...
		'position',[205,85,265,115])

add_block('built-in/Constant',[sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt/Constant1']])
set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt/Constant1']],...
		'Value','Ph',...
		'position',[60,115,100,145])

add_block('built-in/Inport',[sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt/in_1']])
set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt/in_1']],...
		'position',[205,20,225,40])

add_block('built-in/Outport',[sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt/out_1']])
set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt/out_1']],...
		'position',[380,50,400,70])

add_block('built-in/Product',[sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt/Product']])
set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt/Product']],...
		'position',[340,42,365,73])

add_block('built-in/Clock',[sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt/Clock']])
set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt/Clock']],...
		'position',[20,65,40,85])

add_block('built-in/Gain',[sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt/Gain']])
set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt/Gain']],...
		'Gain','Fc',...
		'position',[70,56,120,94])

add_block('built-in/Filter',[sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt/zero-hold',13,'for timing-control']])
set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt/zero-hold',13,'for timing-control']],...
		'Numerator','1',...
		'Denominator','1',...
		'Sample time','ts',...
		'position',[55,196,110,234])
add_line([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],[195,100;200,100])
add_line([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],[105,130;130,130;130,105;165,105])
add_line([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],[125,75;150,75;150,95;165,95])
add_line([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],[45,75;65,75])
add_line([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],[230,30;270,30;270,50;335,50])
add_line([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],[370,60;375,60])
add_line([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],[270,100;270,65;335,65])
set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],...
		'Mask Display','DSB-SC\nAM',...
		'Mask Type','DSB-SC AM')
set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],...
		'Mask Dialogue','Double-sideband suppressed-carrier amplitude modulation:|Amplitude scale factor:|Carrier frequency (Hz):|Initial Phase (rad):|Sample time (sec):')
set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],...
		'Mask Translate','Ac=@1;Fc=@2;Fc=Fc*2*pi;Ph=@3;ts=@4;')
set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],...
		'Mask Help','The DSB-SC AM causes the amplitude of the sinusoidal carrier to depend on the input message signal, resulting in amplitude modulation. In general, the carrier frequency should be much higher than the message signal frequency.')
set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],...
		'Mask Entries','1\/Fc\/Ph\/ts\/')


%     Finished composite block ['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt'].

set_param([sys,'/',['AM with carrier',13,'passband/DSB-SC AM',13,'discr-flt']],...
		'ForeGround',3,...
		'position',[265,28,340,62])
add_line([sys,'/',['AM with carrier',13,'passband']],[75,40;155,40])
add_line([sys,'/',['AM with carrier',13,'passband']],[185,45;260,45])
add_line([sys,'/',['AM with carrier',13,'passband']],[345,45;390,45])
add_line([sys,'/',['AM with carrier',13,'passband']],[115,85;130,85;130,50;155,50])
set_param([sys,'/',['AM with carrier',13,'passband']],...
		'Mask Display','plot(0,0,100,100,x,y);AM w TC',...
		'Mask Type','Passband AM with carrier')
set_param([sys,'/',['AM with carrier',13,'passband']],...
		'Mask Dialogue','Modulate the input signal using\namplitude modulation with transmission\ncarrier method.|Input signal offset:|Carrier frequency (Hz):|Initial phase (rad):|Sample time (sec)')
set_param([sys,'/',['AM with carrier',13,'passband']],...
		'Mask Translate','Offset=@1;Fc=@2;Ph=@3;ts=@4;[x,y]=moduicon(1);')
set_param([sys,'/',['AM with carrier',13,'passband']],...
		'Mask Help','This block shifts the amplitude of the input signal before the modulation. AM with carrier is a simple technique but not an energy-efficient one.')
set_param([sys,'/',['AM with carrier',13,'passband']],...
		'Mask Entries','1\/100/2/pi\/pi/3\/ts\/')


%     Finished composite block ['AM with carrier',13,'passband'].

set_param([sys,'/',['AM with carrier',13,'passband']],...
		'ForeGround',3,...
		'hide name',0,...
		'position',[130,58,210,102])

add_block('built-in/Signal Generator',[sys,'/',['Signal',13,'generator']])
set_param([sys,'/',['Signal',13,'generator']],...
		'ForeGround',5,...
		'hide name',0,...
		'Peak','1.000000',...
		'Peak Range','5.000000',...
		'Freq','3.000000',...
		'Freq Range','6.000000',...
		'Wave','Saw',...
		'Units','Rads')
set_param([sys,'/',['Signal',13,'generator']],...
		'position',[25,63,70,97])


%     Subsystem  ['AM with carrier',13,'baseband'].

new_system([sys,'/',['AM with carrier',13,'baseband']])
set_param([sys,'/',['AM with carrier',13,'baseband']],'Location',[239,534,593,656])

add_block('built-in/Inport',[sys,'/',['AM with carrier',13,'baseband/in_1']])
set_param([sys,'/',['AM with carrier',13,'baseband/in_1']],...
		'position',[50,30,70,50])

add_block('built-in/Note',[sys,'/',['AM with carrier',13,'baseband/Ref: Hambley: An Intro to Comm. Systems. pp76']])
set_param([sys,'/',['AM with carrier',13,'baseband/Ref: Hambley: An Intro to Comm. Systems. pp76']],...
		'position',[180,155,185,160])

add_block('built-in/Sum',[sys,'/',['AM with carrier',13,'baseband/Sum']])
set_param([sys,'/',['AM with carrier',13,'baseband/Sum']],...
		'position',[125,35,145,55])

add_block('built-in/Outport',[sys,'/',['AM with carrier',13,'baseband/out_1']])
set_param([sys,'/',['AM with carrier',13,'baseband/out_1']],...
		'position',[280,35,300,55])

add_block('built-in/Constant',[sys,'/',['AM with carrier',13,'baseband/Constant']])

⌨️ 快捷键说明

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