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

📄 com_ddmo.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 5 页
字号:
		'position',[170,48,250,92])

add_block('built-in/Note',[sys,'/','Digital Modulation//Demodulation Library'])
set_param([sys,'/','Digital Modulation//Demodulation Library'],...
		'ForeGround',2,...
		'Font Weight','bold',...
		'Font Size',12,...
		'position',[245,0,250,5])


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

new_system([sys,'/',['QASK Mo//Dem',13,'demo']])
set_param([sys,'/',['QASK Mo//Dem',13,'demo']],'Location',[175,552,335,697])
set_param([sys,'/',['QASK Mo//Dem',13,'demo']],...
		'Mask Display','S-QASK\ndemo2',...
		'Mask Dialogue','eval(''tutcdwmo'')')


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

set_param([sys,'/',['QASK Mo//Dem',13,'demo']],...
		'BackGround',7,...
		'hide name',0,...
		'position',[430,123,510,167])


%     Subsystem  ['MFSK discr-flt',13,'Mo//Dem demo'].

new_system([sys,'/',['MFSK discr-flt',13,'Mo//Dem demo']])
set_param([sys,'/',['MFSK discr-flt',13,'Mo//Dem demo']],'Location',[175,552,335,697])
set_param([sys,'/',['MFSK discr-flt',13,'Mo//Dem demo']],...
		'Mask Display','MFSK\ndemo',...
		'Mask Dialogue','eval(''ts=.01;td=.2;M=8;Fc=100/pi/2;tddmmfsk'')')


%     Finished composite block ['MFSK discr-flt',13,'Mo//Dem demo'].

set_param([sys,'/',['MFSK discr-flt',13,'Mo//Dem demo']],...
		'BackGround',7,...
		'hide name',0,...
		'position',[430,348,510,392])


%     Subsystem  'MPSK mod'.

new_system([sys,'/','MPSK mod'])
set_param([sys,'/','MPSK mod'],'Location',[623,420,941,555])

add_block('built-in/Inport',[sys,'/','MPSK mod/in_1'])
set_param([sys,'/','MPSK mod/in_1'],...
		'hide name',0,...
		'position',[10,65,30,85])

add_block('built-in/Outport',[sys,'/','MPSK mod/out_1'])
set_param([sys,'/','MPSK mod/out_1'],...
		'hide name',0,...
		'position',[275,65,295,85])


%     Subsystem  ['MPSK mod/PM',13,'passband'].

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

add_block('built-in/Constant',[sys,'/',['MPSK mod/PM',13,'passband/Initial value']])
set_param([sys,'/',['MPSK mod/PM',13,'passband/Initial value']],...
		'Value','Ph',...
		'position',[220,120,240,140])

add_block('built-in/Zero-Order Hold',[sys,'/',['MPSK mod/PM',13,'passband/Zero-Order',13,'Hold']])
set_param([sys,'/',['MPSK mod/PM',13,'passband/Zero-Order',13,'Hold']],...
		'Sample time','td',...
		'position',[150,94,185,126])

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

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

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

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

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

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

add_block('built-in/Clock',[sys,'/',['MPSK mod/PM',13,'passband/Clock']])
set_param([sys,'/',['MPSK mod/PM',13,'passband/Clock']],...
		'position',[40,65,60,85])
add_line([sys,'/',['MPSK mod/PM',13,'passband']],[125,75;130,75;130,110;145,110])
add_line([sys,'/',['MPSK mod/PM',13,'passband']],[190,110;195,110;195,80;215,80])
add_line([sys,'/',['MPSK mod/PM',13,'passband']],[125,75;165,75;165,65;215,65])
add_line([sys,'/',['MPSK mod/PM',13,'passband']],[250,75;275,75])
add_line([sys,'/',['MPSK mod/PM',13,'passband']],[65,75;75,75])
add_line([sys,'/',['MPSK mod/PM',13,'passband']],[175,20;255,20;255,65;275,65])
add_line([sys,'/',['MPSK mod/PM',13,'passband']],[305,75;320,75])
add_line([sys,'/',['MPSK mod/PM',13,'passband']],[245,130;255,130;255,85;275,85])
add_line([sys,'/',['MPSK mod/PM',13,'passband']],[405,75;440,75])
set_param([sys,'/',['MPSK mod/PM',13,'passband']],...
		'Mask Display','plot(0,0,100,100,x,y);PM',...
		'Mask Type','Passband PM')
set_param([sys,'/',['MPSK mod/PM',13,'passband']],...
		'Mask Dialogue','Modulate the input signal using PM method.|Carrier frequency (Hz):|Initial phase (rad):|Symbol interval (sec, Use inf for analog case):')
set_param([sys,'/',['MPSK mod/PM',13,'passband']],...
		'Mask Translate','Fc=@1*2*pi;Ph=@2;td=@3;if isinf(td),td=inf;end;[x,y]=moduicon(3);')
set_param([sys,'/',['MPSK mod/PM',13,'passband']],...
		'Mask Help','The PM block causes the change of the carrier signal depending on the input signal voltage.',...
		'Mask Entries','Fc\/Ph\/td\/')


%     Finished composite block ['MPSK mod/PM',13,'passband'].

set_param([sys,'/',['MPSK mod/PM',13,'passband']],...
		'ForeGround',4,...
		'hide name',0,...
		'position',[165,53,245,97])


%     Subsystem  'MPSK mod/MPSK map'.

new_system([sys,'/','MPSK mod/MPSK map'])
set_param([sys,'/','MPSK mod/MPSK map'],'Location',[71,474,419,648])

add_block('built-in/Inport',[sys,'/','MPSK mod/MPSK map/in_1'])
set_param([sys,'/','MPSK mod/MPSK map/in_1'],...
		'position',[60,35,80,55])

add_block('built-in/Zero-Order Hold',[sys,'/',['MPSK mod/MPSK map/Zero-Order',13,'Hold1']])
set_param([sys,'/',['MPSK mod/MPSK map/Zero-Order',13,'Hold1']],...
		'Sample time','td',...
		'position',[130,29,165,61])

add_block('built-in/Product',[sys,'/','MPSK mod/MPSK map/Product'])
set_param([sys,'/','MPSK mod/MPSK map/Product'],...
		'position',[235,76,260,109])

add_block('built-in/Outport',[sys,'/','MPSK mod/MPSK map/out_1'])
set_param([sys,'/','MPSK mod/MPSK map/out_1'],...
		'position',[310,85,330,105])

add_block('built-in/Constant',[sys,'/','MPSK mod/MPSK map/Multiple factor'])
set_param([sys,'/','MPSK mod/MPSK map/Multiple factor'],...
		'Value','Sft',...
		'position',[130,108,150,132])
add_line([sys,'/','MPSK mod/MPSK map'],[170,45;200,45;200,85;230,85])
add_line([sys,'/','MPSK mod/MPSK map'],[85,45;125,45])
add_line([sys,'/','MPSK mod/MPSK map'],[265,95;305,95])
add_line([sys,'/','MPSK mod/MPSK map'],[155,120;200,120;200,100;230,100])
set_param([sys,'/','MPSK mod/MPSK map'],...
		'Mask Display','MPSK\nmap',...
		'Mask Type','MPSK map')
set_param([sys,'/','MPSK mod/MPSK map'],...
		'Mask Dialogue','Map input digital signal to analog phase shift.|M-ary number (input integer in range [0, M-1]):|Input symbol interval and offset (sec):')
set_param([sys,'/','MPSK mod/MPSK map'],...
		'Mask Translate','pi2=2*pi;Sft=pi2/@1;td=@2;')
set_param([sys,'/','MPSK mod/MPSK map'],...
		'Mask Help','This block maps the input digital signal to the analog signal, which is ready for the PM modulation. The input are integers in the range [0, M-1], where M is the M-ary number. You can view the MPSK constellation using the MODMAP function.')
set_param([sys,'/','MPSK mod/MPSK map'],...
		'Mask Entries','M\/td\/')


%     Finished composite block 'MPSK mod/MPSK map'.

set_param([sys,'/','MPSK mod/MPSK map'],...
		'hide name',0,...
		'position',[60,53,140,97])
add_line([sys,'/','MPSK mod'],[35,75;55,75])
add_line([sys,'/','MPSK mod'],[250,75;270,75])
add_line([sys,'/','MPSK mod'],[145,75;160,75])
set_param([sys,'/','MPSK mod'],...
		'Mask Display','plot(0,0,100,100,x,y);MPSK',...
		'Mask Type','Passband MPSK modulation')
set_param([sys,'/','MPSK mod'],...
		'Mask Dialogue','Modulate the input signal using\nM-ary phase shift keying method.|M-ary number (input integer in range [0, M-1]):|Symbol interval (sec):|Carrier frequency (Hz):|Initial phase (rad):|Sample frequency (sec):')
set_param([sys,'/','MPSK mod'],...
		'Mask Translate','M=@1;td=@2;Fc=@3;Ph=@4;ts=@5;[x,y]=moduicon(7);')
set_param([sys,'/','MPSK mod'],...
		'Mask Help','This block modulates a digital signal with a given carrier frequency using MPSK method. The inputs are integers in the range [0, M-1], where M is the M-ary number. When the symbol interval is a two element vector, the second element is the offset (default 0). The block keeps the input value at the offset time point for the entire interval.')
set_param([sys,'/','MPSK mod'],...
		'Mask Entries','8\/.1\/100/2/pi\/0\/.01\/')


%     Finished composite block 'MPSK mod'.

set_param([sys,'/','MPSK mod'],...
		'position',[40,423,120,467])


%     Subsystem  ['Arbitrary-map',13,'QASK demod'].

new_system([sys,'/',['Arbitrary-map',13,'QASK demod']])
set_param([sys,'/',['Arbitrary-map',13,'QASK demod']],'Location',[680,320,996,450])

add_block('built-in/Outport',[sys,'/',['Arbitrary-map',13,'QASK demod/out_1']])
set_param([sys,'/',['Arbitrary-map',13,'QASK demod/out_1']],...
		'hide name',0,...
		'position',[285,50,305,70])

add_block('built-in/Inport',[sys,'/',['Arbitrary-map',13,'QASK demod/in_1']])
set_param([sys,'/',['Arbitrary-map',13,'QASK demod/in_1']],...
		'hide name',0,...
		'position',[10,50,30,70])


%     Subsystem  ['Arbitrary-map',13,'QASK demod/QADM',13,'passband3'].

new_system([sys,'/',['Arbitrary-map',13,'QASK demod/QADM',13,'passband3']])
set_param([sys,'/',['Arbitrary-map',13,'QASK demod/QADM',13,'passband3']],'Location',[194,478,738,741])

add_block('built-in/Outport',[sys,'/',['Arbitrary-map',13,'QASK demod/QADM',13,'passband3/out_1']])
set_param([sys,'/',['Arbitrary-map',13,'QASK demod/QADM',13,'passband3/out_1']],...
		'position',[480,70,500,90])

add_block('built-in/Outport',[sys,'/',['Arbitrary-map',13,'QASK demod/QADM',13,'passband3/out_2']])
set_param([sys,'/',['Arbitrary-map',13,'QASK demod/QADM',13,'passband3/out_2']],...
		'Port','2',...
		'position',[480,175,500,195])

add_block('built-in/Product',[sys,'/',['Arbitrary-map',13,'QASK demod/QADM',13,'passband3/Product1']])
set_param([sys,'/',['Arbitrary-map',13,'QASK demod/QADM',13,'passband3/Product1']],...
		'position',[330,167,355,198])

add_block('built-in/Product',[sys,'/',['Arbitrary-map',13,'QASK demod/QADM',13,'passband3/Product']])
set_param([sys,'/',['Arbitrary-map',13,'QASK demod/QADM',13,'passband3/Product']],...
		'position',[330,62,355,93])

add_block('built-in/Fcn',[sys,'/',['Arbitrary-map',13,'QASK demod/QADM',13,'passband3/Fcn1']])
set_param([sys,'/',['Arbitrary-map',13,'QASK demod/QADM',13,'passband3/Fcn1']],...
		'Expr','sin(u[1]+Ph)',...
		'position',[200,175,300,205])

⌨️ 快捷键说明

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