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

📄 com_cemo.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 5 页
字号:
		'x0','init',...
		'position',[345,30,395,50])

add_block('built-in/Sum',[sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO/Dis module',13,'integrator/Sum']])
set_param([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO/Dis module',13,'integrator/Sum']],...
		'position',[195,30,215,50])

add_block('built-in/Fcn',[sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO/Dis module',13,'integrator/module']])
set_param([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO/Dis module',13,'integrator/module']],...
		'Expr','rem(u[1],modu)',...
		'position',[235,29,325,51])

add_block('built-in/Inport',[sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO/Dis module',13,'integrator/in_1']])
set_param([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO/Dis module',13,'integrator/in_1']],...
		'position',[15,25,35,45])

add_block('built-in/Discrete Transfer Fcn',[sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO/Dis module',13,'integrator/Dis. Transfer Fcn']])
set_param([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO/Dis module',13,'integrator/Dis. Transfer Fcn']],...
		'Numerator','ts(1)',...
		'Denominator','1',...
		'Sample time','ts',...
		'position',[90,17,135,53])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO/Dis module',13,'integrator']],[400,40;410,40;410,90;175,90;175,45;190,45])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO/Dis module',13,'integrator']],[410,40;440,40])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO/Dis module',13,'integrator']],[330,40;340,40])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO/Dis module',13,'integrator']],[220,40;230,40])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO/Dis module',13,'integrator']],[40,35;85,35])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO/Dis module',13,'integrator']],[140,35;190,35])
set_param([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO/Dis module',13,'integrator']],...
		'Mask Display','discrete\nmod-int',...
		'Mask Type','Module Integrator')
set_param([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO/Dis module',13,'integrator']],...
		'Mask Dialogue','Module the given number when state exceed limit|Module bound:|Initial value:|Sample time:')
set_param([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO/Dis module',13,'integrator']],...
		'Mask Translate','init=@2; modu=@1;ts=@3;')
set_param([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO/Dis 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,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO/Dis module',13,'integrator']],...
		'Mask Entries','pi2\/0\/ts\/')


%     Finished composite block ['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO/Dis module',13,'integrator'].

set_param([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO/Dis module',13,'integrator']],...
		'position',[155,16,215,54])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO']],[60,35;75,35])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO']],[125,35;150,35])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO']],[220,35;265,35])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO']],[240,35;240,95;265,95])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO']],[465,45;485,45])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO']],[330,35;350,35])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO']],[395,45;415,45])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO']],[330,95;335,95;335,50;350,50])
set_param([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO']],...
		'Mask Display','FM\ncmplx env',...
		'Mask Type','FM with cmplx env out')
set_param([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO']],...
		'Mask Dialogue','Frequency modulation with complex envelop output:|Amplitude constant:|Modulation sensitivity constant:|Initial phase (rad):|Sample time:')
set_param([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO']],...
		'Mask Translate','Ac=@1;Kc=@2*2*pi;Ph=@3;pi2=2*pi;ts=@4;')
set_param([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/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,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO']],...
		'Mask Entries','1\/1\/0\/ts\/')


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

set_param([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/FM CE//VCO']],...
		'orientation',2,...
		'position',[205,80,285,120])

add_block('built-in/Filter',[sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/Filter1']])
set_param([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE/Filter1']],...
		'Numerator','num',...
		'Denominator','den',...
		'Sample time','ts',...
		'position',[260,156,315,194])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE']],[330,25;490,25])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE']],[455,25;455,95;440,95])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE']],[160,80;130,80])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE']],[45,80;30,80;30,25;265,25])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE']],[45,100;25,100;25,175;255,175])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE']],[320,175;455,175;455,105;440,105])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE']],[395,100;375,100])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE']],[305,100;290,100])
add_line([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE']],[200,100;130,100])
set_param([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE']],...
		'Mask Display','Costas PL\nDSB ADM',...
		'Mask Type','DSB-SC ADM')
set_param([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE']],...
		'Mask Dialogue','Double-sideband suppressed-carrier amplitude demodulation:|Low-pass filter numerator:|Low-pass filter denominator:|Initial phase:|Sample time:')
set_param([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE']],...
		'Mask Translate','num=@1;den=@2;Ph=@3;pi2=pi*2;ts=@4;')
set_param([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE']],...
		'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,'baseband/Costas DSB-ADM',13,'CE']],...
		'Mask Entries','num\/den\/Ph\/ts\/')


%     Finished composite block ['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE'].

set_param([sys,'/',['ADM with carrier',13,'baseband/Costas DSB-ADM',13,'CE']],...
		'ForeGround',2,...
		'position',[100,15,175,55])

add_block('built-in/Constant',[sys,'/',['ADM with carrier',13,'baseband/Constant']])
set_param([sys,'/',['ADM with carrier',13,'baseband/Constant']],...
		'Value','Offset',...
		'position',[150,100,190,120])

add_block('built-in/Inport',[sys,'/',['ADM with carrier',13,'baseband/in_1']])
set_param([sys,'/',['ADM with carrier',13,'baseband/in_1']],...
		'position',[40,25,60,45])

add_block('built-in/Sum',[sys,'/',['ADM with carrier',13,'baseband/Sum']])
set_param([sys,'/',['ADM with carrier',13,'baseband/Sum']],...
		'inputs','+-',...
		'position',[240,30,260,50])

add_block('built-in/Outport',[sys,'/',['ADM with carrier',13,'baseband/out_1']])
set_param([sys,'/',['ADM with carrier',13,'baseband/out_1']],...
		'position',[290,30,310,50])
add_line([sys,'/',['ADM with carrier',13,'baseband']],[195,110;210,110;215,45;235,45])
add_line([sys,'/',['ADM with carrier',13,'baseband']],[65,35;95,35])
add_line([sys,'/',['ADM with carrier',13,'baseband']],[180,35;235,35])
add_line([sys,'/',['ADM with carrier',13,'baseband']],[265,40;285,40])
set_param([sys,'/',['ADM with carrier',13,'baseband']],...
		'Mask Display','plot(0,0,100,100,x,y,u,v);ADM w TC',...
		'Mask Type','ADM with TC CE')
set_param([sys,'/',['ADM with carrier',13,'baseband']],...
		'Mask Dialogue','Demodulate the complex envelope of an\nAM with TC modulated signal.|Output signal offset:|Lowpass filter numerator:|Lowpass filter denominator:|Initial Phase (rad):|Sample time (ts):')
set_param([sys,'/',['ADM with carrier',13,'baseband']],...
		'Mask Translate','Offset=@1;num=@2;den=@3;Ph=@4;ts=@5;[x,y]=moduicon(2);[u,v]=cmplxicn(0,50,get_param(gcb,''orientation''));')
set_param([sys,'/',['ADM with carrier',13,'baseband']],...
		'Mask Help','This block demodulates the complex envelope of an AM with transport carrier modulated signal. This block requires you to specify a lowpass filter, which eliminates the carrier frequency and keeps the message signal. This block takes a complex signal.')
set_param([sys,'/',['ADM with carrier',13,'baseband']],...
		'Mask Entries','1\/[4.57 9.14 4.57]*.01\/[1 -1.3108 .4936]\/0\/.01\/')


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

set_param([sys,'/',['ADM with carrier',13,'baseband']],...
		'position',[180,423,260,467])


%     Subsystem  'AM demo'.

new_system([sys,'/','AM demo'])
set_param([sys,'/','AM demo'],'Location',[175,552,335,697])
set_param([sys,'/','AM demo'],...
		'Mask Display','AM w carrier\ndemo',...
		'Mask Dialogue','eval(''ts=.01;[num,den]=butter(2,100/pi/2*ts);testamc2'')')


%     Finished composite block 'AM demo'.

set_param([sys,'/','AM demo'],...
		'BackGround',7,...
		'hide name',0,...
		'position',[325,423,405,467])


%     Subsystem  ['SSB AM',13,'demo'].

new_system([sys,'/',['SSB AM',13,'demo']])
set_param([sys,'/',['SSB AM',13,'demo']],'Location',[175,552,335,697])
set_param([sys,'/',['SSB AM',13,'demo']],...
		'Mask Display','SSB AM\ndemo',...
		'Mask Dialogue','eval(''ts=.01;[num,den]=butter(2,100/pi/2*ts);testssba'')')


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

set_param([sys,'/',['SSB AM',13,'demo']],...
		'BackGround',7,...
		'hide name',0,...
		'position',[325,348,405,392])


%     Subsystem  ['PM Mo//Dem',13,'demo'].

new_system([sys,'/',['PM Mo//Dem',13,'demo']])
set_param([sys,'/',['PM Mo//Dem',13,'demo']],'Location',[175,552,335,697])
set_param([sys,'/',['PM Mo//Dem',13,'demo']],...
		'Mask Display','PM\ndemo',...
		'Mask Dialogue','eval(''ts=.01;[num,den]=butter(2,100/pi/2*ts);test_pm2'')')


%     Finished composite block ['PM Mo//Dem',13,'demo'].

set_param([sys,'/',['PM Mo//Dem',13,'demo']],...
		'BackGround',7,...
		'hide name',0,...
		'position',[325,273,405,317])


%     Subsystem  ['DSB Mo//Dem',13,'demo'].

new_system([sys,'/',['DSB Mo//Dem',13,'demo']])
set_param([sys,'/',['DSB Mo//Dem',13,'demo']],'Location',[175,552,335,697])
set_param([sys,'/',['DSB Mo//Dem',13,'demo']],...
		'Mask Display','DSB AM\ndemo',...
		'Mask Dialogue','eval(''ts=.01;[num,den]=butter(2,100/pi/2*ts);test_am2'')')


%     Finished composite block ['DSB Mo//Dem',13,'demo'].

set_param([sys,'/',['DSB Mo//Dem',13,'demo']],...
		'BackGround',7,...
		'hide name',0,...
		'position',[325,48,405,92])


%     Subsystem  ['QAM Mo//Dem',13,'demo'].

new_system([sys,'/',['QAM Mo//Dem',13,'demo']])
set_param([sys,'/',['QAM Mo//Dem',13,'demo']],'Location',[175,552,335,697])
set_param([sys,'/',['QAM Mo//Dem',13,'demo']],...
		'Mask Display','QAM\ndemo',...
		'Mask Dialogue','eval(''ts=.01;[num,den]=butter(2,100/pi/2*ts);test_qa2'')')


%     Finished composite block ['QAM Mo//Dem',13,'demo'].

set_param([sys,'/',['QAM Mo//Dem',13,'demo']],...
		'BackGround',7,...
		'hide name',0,...
		'position',[325,123,405,167])


%     Subsystem  ['FM Mo//Dem',13,'demo'].

new_system([sys,'/',['FM Mo//Dem',13,'demo']])
set_param([sys,'/',['FM Mo//Dem',13,'demo']],'Location',[175,552,335,697])
set_param([sys,'/',['FM Mo//Dem',13,'demo']],...
		'Mask Display','FM\ndemo',...
		'Mask Dialogue','eval(''ts=.01;[num,den]=butter(2,100/pi/2*ts);test_fm2'')')


%     Finished composite block ['FM Mo//Dem',13,'demo'].

⌨️ 快捷键说明

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