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

📄 com_momp.m

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

add_block('built-in/Constant',[sys,'/',['DSB AM',13,'baseband/Constant']])
set_param([sys,'/',['DSB AM',13,'baseband/Constant']],...
		'Value','x1',...
		'position',[40,65,60,85])
add_line([sys,'/',['DSB AM',13,'baseband']],[65,75;165,75])
add_line([sys,'/',['DSB AM',13,'baseband']],[115,100;130,100;130,90;165,90])
add_line([sys,'/',['DSB AM',13,'baseband']],[140,25;185,25;185,50;250,50])
add_line([sys,'/',['DSB AM',13,'baseband']],[285,60;315,60])
add_line([sys,'/',['DSB AM',13,'baseband']],[210,85;230,85;230,65;250,65])
set_param([sys,'/',['DSB AM',13,'baseband']],...
		'Mask Display','plot(0,0,100,100,x,y,u,v);DSB AM',...
		'Mask Type','DSB-SC AM CE',...
		'Mask Dialogue','Output the complex envelope of a\nDSB-SC AM modulated signal.|Initial Phase (rad):')
set_param([sys,'/',['DSB AM',13,'baseband']],...
		'Mask Translate','Ph=@1;x1=cos(Ph);x2=sin(Ph);pi2=2*pi;[x,y]=moduicon(1);[u,v]=cmplxicn(1,50,get_param(gcb,''orientation''));')
set_param([sys,'/',['DSB AM',13,'baseband']],...
		'Mask Help','This block outputs the complex envelope of the double-sideband suppressed-carrier amplitude modulated signal. The output is a complex signal.',...
		'Mask Entries','pi/2\/')


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

set_param([sys,'/',['DSB AM',13,'baseband']],...
		'ForeGround',4,...
		'position',[150,43,230,87])


%     Subsystem  'MASK map'.

new_system([sys,'/','MASK map'])
set_param([sys,'/','MASK map'],'Location',[520,162,902,335])

add_block('built-in/Outport',[sys,'/','MASK map/out_1'])
set_param([sys,'/','MASK map/out_1'],...
		'position',[315,65,335,85])

add_block('built-in/Zero-Order Hold',[sys,'/',['MASK map/Zero-Order',13,'Hold']])
set_param([sys,'/',['MASK map/Zero-Order',13,'Hold']],...
		'Sample time','td',...
		'position',[100,24,135,56])

add_block('built-in/Inport',[sys,'/','MASK map/in_1'])
set_param([sys,'/','MASK map/in_1'],...
		'position',[40,30,60,50])

add_block('built-in/Gain',[sys,'/','MASK map/Gain'])
set_param([sys,'/','MASK map/Gain'],...
		'Gain','Kc',...
		'position',[180,25,220,55])

add_block('built-in/Sum',[sys,'/','MASK map/Sum1'])
set_param([sys,'/','MASK map/Sum1'],...
		'inputs','+-',...
		'position',[250,63,270,87])

add_block('built-in/Constant',[sys,'/','MASK map/Gain diff'])
set_param([sys,'/','MASK map/Gain diff'],...
		'Value','Ac',...
		'position',[180,96,215,124])
add_line([sys,'/','MASK map'],[225,40;230,40;230,70;245,70])
add_line([sys,'/','MASK map'],[220,110;230,110;230,80;245,80])
add_line([sys,'/','MASK map'],[275,75;310,75])
add_line([sys,'/','MASK map'],[65,40;95,40])
add_line([sys,'/','MASK map'],[140,40;175,40])
set_param([sys,'/','MASK map'],...
		'Mask Display','MASK\nmap',...
		'Mask Type','MASK map')
set_param([sys,'/','MASK map'],...
		'Mask Dialogue','Map a digital symbol onto an analog\nsignal in the range [-1, 1] using M-ary\namplitude shift keying modulation mapping.|M-ary number (input integers in range [0, M-1]):|Input symbol interval and offset (sec):')
set_param([sys,'/','MASK map'],...
		'Mask Translate','N=@1;Ac=1;Kc=Ac*2/(N-1);td=@2;')
set_param([sys,'/','MASK map'],...
		'Mask Help','This block maps an input digit signal onto a signal in the range [-1, 1]. The coded signal can be modulated using analog\nmodulation blocks. Input digits are in the range [0, M-1], where M is the M-ary number. The input symbol interval can be a two-element vector with the second element being offset. The default value offset is 0. Use the MODMAP function to see the constellation.')
set_param([sys,'/','MASK map'],...
		'Mask Entries','M\/td\/')


%     Finished composite block 'MASK map'.

set_param([sys,'/','MASK map'],...
		'position',[30,43,110,87])


%     Subsystem  'MPSK map'.

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

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

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

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

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

add_block('built-in/Constant',[sys,'/','MPSK map/Multiple factor'])
set_param([sys,'/','MPSK map/Multiple factor'],...
		'Value','Sft',...
		'position',[130,108,150,132])
add_line([sys,'/','MPSK map'],[170,45;200,45;200,85;230,85])
add_line([sys,'/','MPSK map'],[85,45;125,45])
add_line([sys,'/','MPSK map'],[265,95;305,95])
add_line([sys,'/','MPSK map'],[155,120;200,120;200,100;230,100])
set_param([sys,'/','MPSK map'],...
		'Mask Display','MPSK\nmap',...
		'Mask Type','MPSK map')
set_param([sys,'/','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):',...
		'Mask Translate','pi2=2*pi;Sft=pi2/@1;td=@2;')
set_param([sys,'/','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 map'],...
		'Mask Entries','M\/td\/')


%     Finished composite block 'MPSK map'.

set_param([sys,'/','MPSK map'],...
		'position',[30,493,110,537])


%     Subsystem  ['QASK',13,'square-map'].

new_system([sys,'/',['QASK',13,'square-map']])
set_param([sys,'/',['QASK',13,'square-map']],'Location',[214,372,642,541])

add_block('built-in/Inport',[sys,'/',['QASK',13,'square-map/in_1']])
set_param([sys,'/',['QASK',13,'square-map/in_1']],...
		'position',[45,30,65,50])

add_block('built-in/Zero-Order Hold',[sys,'/',['QASK',13,'square-map/Zero-Order',13,'Hold']])
set_param([sys,'/',['QASK',13,'square-map/Zero-Order',13,'Hold']],...
		'Sample time','td',...
		'position',[110,24,145,56])

add_block('built-in/Outport',[sys,'/',['QASK',13,'square-map/out_1']])
set_param([sys,'/',['QASK',13,'square-map/out_1']],...
		'position',[325,30,345,50])

add_block('built-in/Look Up Table',[sys,'/',['QASK',13,'square-map/s-x axis']])
set_param([sys,'/',['QASK',13,'square-map/s-x axis']],...
		'Input_Values','z',...
		'Output_Values','x',...
		'position',[245,25,280,55])

add_block('built-in/Outport',[sys,'/',['QASK',13,'square-map/out_2']])
set_param([sys,'/',['QASK',13,'square-map/out_2']],...
		'Port','2',...
		'position',[325,95,345,115])

add_block('built-in/Look Up Table',[sys,'/',['QASK',13,'square-map/c-y axis']])
set_param([sys,'/',['QASK',13,'square-map/c-y axis']],...
		'Input_Values','z',...
		'Output_Values','y',...
		'position',[245,90,280,120])
add_line([sys,'/',['QASK',13,'square-map']],[285,40;320,40])
add_line([sys,'/',['QASK',13,'square-map']],[285,105;320,105])
add_line([sys,'/',['QASK',13,'square-map']],[150,40;240,40])
add_line([sys,'/',['QASK',13,'square-map']],[185,40;185,105;240,105])
add_line([sys,'/',['QASK',13,'square-map']],[70,40;105,40])
set_param([sys,'/',['QASK',13,'square-map']],...
		'Mask Display','QASK\nS-map',...
		'Mask Type','QASK S-map')
set_param([sys,'/',['QASK',13,'square-map']],...
		'Mask Dialogue','Use square constellation to map the\ninput digital signal into in-phase and\nquadrature components. M must be\nM=2^K with integer K.|M-ary number (input integers in range [0, M-1]):|Input symbol interval and offset (sec):')
set_param([sys,'/',['QASK',13,'square-map']],...
		'Mask Translate','N=@1;Ac=1;td=@2;z=[[1:N];[1:N]];z=z(:);[x,y]=qaskenco(z-1,N);z=z-1.5;z=[z(2:2*N);N-.5];x=x/max(x);y=y/max(y);')
set_param([sys,'/',['QASK',13,'square-map']],...
		'Mask Help','This block maps a digital signal onto in-phase and quadratic components, which are outputs in the first and second output port respectively. The M-ary number must be M=2^K with integer K. The input symbol interval can be a two-element vector with the second element being offset. The default value offset is 0. The maximum amplitudes for the outputs are 1.')
set_param([sys,'/',['QASK',13,'square-map']],...
		'Mask Entries','M\/td\/')


%     Finished composite block ['QASK',13,'square-map'].

set_param([sys,'/',['QASK',13,'square-map']],...
		'position',[30,118,110,162])


%     Subsystem  ['QASK',13,'circle-map'].

new_system([sys,'/',['QASK',13,'circle-map']])
set_param([sys,'/',['QASK',13,'circle-map']],'Location',[58,103,403,268])

add_block('built-in/Outport',[sys,'/',['QASK',13,'circle-map/Imag']])
set_param([sys,'/',['QASK',13,'circle-map/Imag']],...
		'Port','2',...
		'position',[275,100,295,120])

add_block('built-in/Outport',[sys,'/',['QASK',13,'circle-map/Real']])
set_param([sys,'/',['QASK',13,'circle-map/Real']],...
		'position',[275,20,295,40])

add_block('built-in/Look Up Table',[sys,'/',['QASK',13,'circle-map/imag part1']])
set_param([sys,'/',['QASK',13,'circle-map/imag part1']],...
		'Input_Values','x',...
		'Output_Values','y2',...
		'position',[175,97,210,123])

add_block('built-in/Look Up Table',[sys,'/',['QASK',13,'circle-map/real part']])
set_param([sys,'/',['QASK',13,'circle-map/real part']],...
		'Input_Values','x',...
		'Output_Values','y1',...
		'position',[180,17,215,43])

add_block('built-in/Inport',[sys,'/',['QASK',13,'circle-map/in_1']])
set_param([sys,'/',['QASK',13,'circle-map/in_1']],...
		'position',[25,20,45,40])

add_block('built-in/Zero-Order Hold',[sys,'/',['QASK',13,'circle-map/Zero-Order',13,'Hold1']])
set_param([sys,'/',['QASK',13,'circle-map/Zero-Order',13,'Hold1']],...
		'Sample time','td',...
		'position',[80,14,115,46])
add_line([sys,'/',['QASK',13,'circle-map']],[215,110;270,110])
add_line([sys,'/',['QASK',13,'circle-map']],[220,30;270,30])
add_line([sys,'/',['QASK',13,'circle-map']],[120,30;175,30])
add_line([sys,'/',['QASK',13,'circle-map']],[145,30;145,110;170,110])
add_line([sys,'/',['QASK',13,'circle-map']],[50,30;75,30])
set_param([sys,'/',['QASK',13,'circle-map']],...
		'Mask Display','QASK\nC-map',...
		'Mask Type','QASK C-map')
set_param([sys,'/',['QASK',13,'circle-map']],...
		'Mask Dialogue','QASK mapping with circle constellation. The constellation is defined in NIC, RIC and PIC.|Number of symbols in each circle NIC:|Radii in each circle RIC:|Phase shift in each circle PIC (rad):|Symbol interval and offset (sec):')
set_param([sys,'/',['QASK',13,'circle-map']],...
		'Mask Translate','N=@1;A=@2;P=@3;td=@4;y1=apkconst(N,A,P);y1=[y1;y1];y1=y1(:);y2=imag(y1);y1=real(y1);x=[-sum(N) 1:sum(N)-1;1:sum(N)-1 10*sum(N)]-.5;x=x(:);')
set_param([sys,'/',['QASK',13,'circle-map']],...
		'Mask Help','This block maps a digital signal onto in-phase and quadratic components, which are outputs in the first and second output port respectively. The circle constellation is defined in NIC, RIC, and PIC. The input symbol interval can be a two-element vector with the second element being offset. The default value offset is 0. Use the MODMAP function to see the constellation.')
set_param([sys,'/',['QASK',13,'circle-map']],...
		'Mask Entries','[6 12 18 24 30 38]\/[1 1.93 2.88 3.83 4.78 6.05]\/[0 0 0 0 0 0]\/td\/')


%     Finished composite block ['QASK',13,'circle-map'].

set_param([sys,'/',['QASK',13,'circle-map']],...
		'position',[30,193,110,237])


%     Subsystem  ['QASK',13,'arbitrary-map'].

new_system([sys,'/',['QASK',13,'arbitrary-map']])
set_param([sys,'/',['QASK',13,'arbitrary-map']],'Location',[58,103,403,268])

add_block('built-in/Zero-Order Hold',[sys,'/',['QASK',13,'arbitrary-map/Zero-Order',13,'Hold1']])
set_param([sys,'/',['QASK',13,'arbitrary-map/Zero-Order',13,'Hold1']],...
		'Sample time','td',...
		'position',[80,14,115,46])

add_block('built-in/Inport',[sys,'/',['QASK',13,'arbitrary-map/in_1']])
set_param([sys,'/',['QASK',13,'arbitrary-map/in_1']],...
		'position',[25,20,45,40])

add_block('built-in/Look Up Table',[sys,'/',['QASK',13,'arbitrary-map/real part']])
set_param([sys,'/',['QASK',13,'arbitrary-map/real part']],...
		'Input_Values','x',...
		'Output_Values','y1',...
		'position',[180,17,215,43])

add_block('built-in/Look Up Table',[sys,'/',['QASK',13,'arbitrary-map/imag part1']])
set_param([sys,'/',['QASK',13,'arbitrary-map/imag part1']],...
		'Input_Values','x',...
		'Output_Values','y2',...
		'position',[175,97,210,123])

⌨️ 快捷键说明

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