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

📄 test_pm2.m

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

add_block('built-in/Outport',[sys,'/',['PDM',13,'passband/out_1']])
set_param([sys,'/',['PDM',13,'passband/out_1']],...
		'position',[545,40,565,60])

add_block('built-in/Inport',[sys,'/',['PDM',13,'passband/in_1']])
set_param([sys,'/',['PDM',13,'passband/in_1']],...
		'position',[20,30,40,50])
add_line([sys,'/',['PDM',13,'passband']],[115,40;150,40])
add_line([sys,'/',['PDM',13,'passband']],[45,40;65,40])
add_line([sys,'/',['PDM',13,'passband']],[295,45;325,45;325,110;210,110])
add_line([sys,'/',['PDM',13,'passband']],[325,45;350,45])
add_line([sys,'/',['PDM',13,'passband']],[460,50;500,50;490,100])
add_line([sys,'/',['PDM',13,'passband']],[500,50;540,50])
add_line([sys,'/',['PDM',13,'passband']],[430,100;410,100;410,55;430,55])
add_line([sys,'/',['PDM',13,'passband']],[400,45;430,45])
add_line([sys,'/',['PDM',13,'passband']],[140,110;110,110;110,50;150,50])
add_line([sys,'/',['PDM',13,'passband']],[185,45;230,45])
set_param([sys,'/',['PDM',13,'passband']],...
		'Mask Display','plot(0,0,100,100,x,y);PDM',...
		'Mask Type','Passband PDM')
set_param([sys,'/',['PDM',13,'passband']],...
		'Mask Dialogue','Demodulate a PM modulated signal\nusing phase locked loop.|VCO frequency (Hz):|VCO Phase (rad):|Lowpass filter numerator:|Lowpass filter denominator:|Sample time (sec):')
set_param([sys,'/',['PDM',13,'passband']],...
		'Mask Translate','Fc=@1;Ph=@2+pi/2;num=@3;den=@4;ts=@5;[x,y]=moduicon(4);')
set_param([sys,'/',['PDM',13,'passband']],...
		'Mask Help','This block recovers a PM modulated signal. This block uses a multiplier phase detector in PLL. This block uses a discrete-time lowpass filter which passes the signal message and eliminates the carrier signal. ')
set_param([sys,'/',['PDM',13,'passband']],...
		'Mask Entries','100/2/pi\/0\/[4.57 9.14 4.57]*.01\/[1 -1.3108 .4936]\/.01\/')


%     Finished composite block ['PDM',13,'passband'].

set_param([sys,'/',['PDM',13,'passband']],...
		'ForeGround',3,...
		'hide name',0,...
		'position',[240,38,320,82])

add_block('built-in/Signal Generator',[sys,'/',['Signal',13,'generator']])
set_param([sys,'/',['Signal',13,'generator']],...
		'ForeGround',5,...
		'Peak','1.000000',...
		'Peak Range','5.000000',...
		'Freq','7.100000',...
		'Freq Range','14.000000',...
		'Wave','Sin',...
		'Units','Rads')
set_param([sys,'/',['Signal',13,'generator']],...
		'position',[35,43,80,77])


%     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])

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

add_block('built-in/Constant',[sys,'/',['PM',13,'passband/Initial value']])
set_param([sys,'/',['PM',13,'passband/Initial value']],...
		'Value','Ph',...
		'position',[220,120,240,140])
add_line([sys,'/',['PM',13,'passband']],[405,75;440,75])
add_line([sys,'/',['PM',13,'passband']],[245,130;255,130;255,85;275,85])
add_line([sys,'/',['PM',13,'passband']],[305,75;320,75])
add_line([sys,'/',['PM',13,'passband']],[175,20;255,20;255,65;275,65])
add_line([sys,'/',['PM',13,'passband']],[65,75;75,75])
add_line([sys,'/',['PM',13,'passband']],[250,75;275,75])
add_line([sys,'/',['PM',13,'passband']],[125,75;165,75;165,65;215,65])
add_line([sys,'/',['PM',13,'passband']],[190,110;195,110;195,80;215,80])
add_line([sys,'/',['PM',13,'passband']],[125,75;130,75;130,110;145,110])
set_param([sys,'/',['PM',13,'passband']],...
		'Mask Display','plot(0,0,100,100,x,y);PM',...
		'Mask Type','Passband PM')
set_param([sys,'/',['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,'/',['PM',13,'passband']],...
		'Mask Translate','Fc=@1*2*pi;Ph=@2;td=@3;if isinf(td),td=inf;end;[x,y]=moduicon(3);',...
		'Mask Help','The PM block causes the change of the carrier signal depending on the input signal voltage.')
set_param([sys,'/',['PM',13,'passband']],...
		'Mask Entries','100/2/pi\/0\/Inf\/')


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

set_param([sys,'/',['PM',13,'passband']],...
		'ForeGround',3,...
		'hide name',0,...
		'position',[130,38,210,82])


%     Subsystem  ['PDM',13,'baseband'].

new_system([sys,'/',['PDM',13,'baseband']])
set_param([sys,'/',['PDM',13,'baseband']],'Location',[166,496,871,735])


%     Subsystem  ['PDM',13,'baseband/M//P 2 C'].

new_system([sys,'/',['PDM',13,'baseband/M//P 2 C']])
set_param([sys,'/',['PDM',13,'baseband/M//P 2 C']],'Location',[87,375,532,683])

add_block('built-in/Mux',[sys,'/',['PDM',13,'baseband/M//P 2 C/Mux']])
set_param([sys,'/',['PDM',13,'baseband/M//P 2 C/Mux']],...
		'inputs','2',...
		'position',[225,111,270,149])

add_block('built-in/Product',[sys,'/',['PDM',13,'baseband/M//P 2 C/Product']])
set_param([sys,'/',['PDM',13,'baseband/M//P 2 C/Product']],...
		'position',[320,107,345,138])

add_block('built-in/Outport',[sys,'/',['PDM',13,'baseband/M//P 2 C/out_1']])
set_param([sys,'/',['PDM',13,'baseband/M//P 2 C/out_1']],...
		'position',[380,115,400,135])

add_block('built-in/Fcn',[sys,'/',['PDM',13,'baseband/M//P 2 C/sin']])
set_param([sys,'/',['PDM',13,'baseband/M//P 2 C/sin']],...
		'position',[75,127,150,153])

add_block('built-in/Fcn',[sys,'/',['PDM',13,'baseband/M//P 2 C/cos']])
set_param([sys,'/',['PDM',13,'baseband/M//P 2 C/cos']],...
		'Expr','cos(u[1])',...
		'position',[80,52,155,78])

add_block('built-in/Inport',[sys,'/',['PDM',13,'baseband/M//P 2 C/in_2']])
set_param([sys,'/',['PDM',13,'baseband/M//P 2 C/in_2']],...
		'Port','2',...
		'position',[15,130,35,150])

add_block('built-in/Inport',[sys,'/',['PDM',13,'baseband/M//P 2 C/in_1']])
set_param([sys,'/',['PDM',13,'baseband/M//P 2 C/in_1']],...
		'position',[215,70,235,90])
add_line([sys,'/',['PDM',13,'baseband/M//P 2 C']],[160,65;170,65;170,120;220,120])
add_line([sys,'/',['PDM',13,'baseband/M//P 2 C']],[155,140;220,140])
add_line([sys,'/',['PDM',13,'baseband/M//P 2 C']],[275,130;315,130])
add_line([sys,'/',['PDM',13,'baseband/M//P 2 C']],[350,125;375,125])
add_line([sys,'/',['PDM',13,'baseband/M//P 2 C']],[240,80;280,80;280,115;315,115])
add_line([sys,'/',['PDM',13,'baseband/M//P 2 C']],[40,140;70,140])
add_line([sys,'/',['PDM',13,'baseband/M//P 2 C']],[50,140;50,65;75,65])


%     Finished composite block ['PDM',13,'baseband/M//P 2 C'].

set_param([sys,'/',['PDM',13,'baseband/M//P 2 C']],...
		'orientation',2,...
		'position',[115,135,205,175])

add_block('built-in/Inport',[sys,'/',['PDM',13,'baseband/in_1']])
set_param([sys,'/',['PDM',13,'baseband/in_1']],...
		'position',[45,25,65,45])

add_block('built-in/Sum',[sys,'/',['PDM',13,'baseband/Sum']])
set_param([sys,'/',['PDM',13,'baseband/Sum']],...
		'orientation',2,...
		'position',[245,155,265,175])

add_block('built-in/Constant',[sys,'/',['PDM',13,'baseband/Constant']])
set_param([sys,'/',['PDM',13,'baseband/Constant']],...
		'orientation',2,...
		'position',[290,85,320,105])


%     Subsystem  ['PDM',13,'baseband/Multiply &',13,'take imag'].

new_system([sys,'/',['PDM',13,'baseband/Multiply &',13,'take imag']])
set_param([sys,'/',['PDM',13,'baseband/Multiply &',13,'take imag']],'Location',[317,81,820,296])

add_block('built-in/Outport',[sys,'/',['PDM',13,'baseband/Multiply &',13,'take imag/I_out_']])
set_param([sys,'/',['PDM',13,'baseband/Multiply &',13,'take imag/I_out_']],...
		'position',[450,105,470,125])

add_block('built-in/Sum',[sys,'/',['PDM',13,'baseband/Multiply &',13,'take imag/Sum1']])
set_param([sys,'/',['PDM',13,'baseband/Multiply &',13,'take imag/Sum1']],...
		'position',[390,105,410,125])

add_block('built-in/Product',[sys,'/',['PDM',13,'baseband/Multiply &',13,'take imag/Product2']])
set_param([sys,'/',['PDM',13,'baseband/Multiply &',13,'take imag/Product2']],...
		'position',[220,108,250,132])

add_block('built-in/Product',[sys,'/',['PDM',13,'baseband/Multiply &',13,'take imag/Product3']])
set_param([sys,'/',['PDM',13,'baseband/Multiply &',13,'take imag/Product3']],...
		'position',[310,63,340,87])

add_block('built-in/Inport',[sys,'/',['PDM',13,'baseband/Multiply &',13,'take imag/Complex',13,'input 2']])
set_param([sys,'/',['PDM',13,'baseband/Multiply &',13,'take imag/Complex',13,'input 2']],...
		'Port','2',...
		'position',[30,150,50,170])

add_block('built-in/Demux',[sys,'/',['PDM',13,'baseband/Multiply &',13,'take imag/Split1']])
set_param([sys,'/',['PDM',13,'baseband/Multiply &',13,'take imag/Split1']],...
		'outputs','2',...
		'Mask Display','Complex to\nReal/Imag',...
		'Mask Type','Complex to Real/Imag')
set_param([sys,'/',['PDM',13,'baseband/Multiply &',13,'take imag/Split1']],...
		'Mask Dialogue','Real and imaginary components of complex vector.')
set_param([sys,'/',['PDM',13,'baseband/Multiply &',13,'take imag/Split1']],...
		'Mask Help','The Complex to Real/Imag block decomposes a complex vector into its real and imaginary components using a Demux block. The real part is directed to output 1, and the imaginary to output 2.')
set_param([sys,'/',['PDM',13,'baseband/Multiply &',13,'take imag/Split1']],...
		'position',[85,139,160,181])

add_block('built-in/Inport',[sys,'/',['PDM',13,'baseband/Multiply &',13,'take imag/Complex',13,'input 1']])

⌨️ 快捷键说明

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