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

📄 tstpll.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 5 页
字号:
add_block('built-in/Switch',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Switch']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Switch']],...
		'Threshold','eps',...
		'position',[860,139,885,171])

add_block('built-in/Fcn',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Fcn']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Fcn']],...
		'Expr','(u[1]>0)+u[3]*((u[1]<=0)&&(u[2]<=0))',...
		'position',[610,140,825,170])

add_block('built-in/Mux',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Mux3']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Mux3']],...
		'inputs','[2 1]',...
		'position',[565,135,595,175])

add_block('built-in/Memory',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Memory1']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Memory1']],...
		'orientation',2,...
		'position',[645,190,685,220])

add_block('built-in/Relational Operator',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Relational',13,'Operator1']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Relational',13,'Operator1']],...
		'Operator','<=',...
		'position',[240,118,270,142])

add_block('built-in/Relational Operator',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Relational',13,'Operator']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Relational',13,'Operator']],...
		'Operator','>',...
		'position',[315,123,345,147])

add_block('built-in/Inport',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/in_1']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/in_1']],...
		'position',[30,105,50,125])

add_block('built-in/Inport',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/in_2']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/in_2']],...
		'Port','2',...
		'position',[65,125,85,145])

add_block('built-in/Mux',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Mux']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Mux']],...
		'inputs','2',...
		'position',[105,105,135,145])

add_block('built-in/Memory',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Delay',13,'one step']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Delay',13,'one step']],...
		'position',[160,175,200,205])

add_block('built-in/Relational Operator',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Relational',13,'Operator2']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Relational',13,'Operator2']],...
		'Operator','<=',...
		'position',[240,183,270,207])

add_block('built-in/Gain',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Gain']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Gain']],...
		'Gain','-1',...
		'position',[475,60,495,80])

add_block('built-in/Demux',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Demux']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Demux']],...
		'outputs','2',...
		'position',[410,45,450,80])

add_block('built-in/Sum',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Sum']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Sum']],...
		'inputs','-+',...
		'position',[345,55,365,75])

add_block('built-in/Relational Operator',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Relational',13,'Operator3']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Relational',13,'Operator3']],...
		'Operator','<',...
		'position',[240,48,270,72])

add_block('built-in/Note',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Compensater for the phase pi']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Compensater for the phase pi']],...
		'position',[325,20,330,25])

add_block('built-in/Note',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/charge pump']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/charge pump']],...
		'position',[900,105,905,110])

add_block('built-in/Note',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Functionality of phase flip-flop:']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/Functionality of phase flip-flop:']],...
		'position',[355,270,360,275])

add_block('built-in/Note',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/The left hand side block diagram is to detect the signal crossing from positive to negative.',13,'The right hand side of the block diagram is to switch from one state to another.               ']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/The left hand side block diagram is to detect the signal crossing from positive to negative.',13,'The right hand side of the block diagram is to switch from one state to another.               ']],...
		'position',[525,320,530,325])

add_block('built-in/Note',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/The state of the output is changed when one of the input changes from positive to negative.']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/The state of the output is changed when one of the input changes from positive to negative.']],...
		'position',[530,305,535,310])

add_block('built-in/Note',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/There are three different output combinations: HL, LL, LH, where H is one and L is zero.']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/There are three different output combinations: HL, LL, LH, where H is one and L is zero.']],...
		'position',[520,290,525,295])

add_block('built-in/Note',[sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/true table:logic=[0 0;0 1;1 0;1 0;0 1;0 1;0 0;0 0;1 0;0 0;1 0;0 0;1 0;0 0;0 0;0 0]']])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector/true table:logic=[0 0;0 1;1 0;1 0;0 1;0 1;0 0;0 0;1 0;0 0;1 0;0 0;1 0;0 0;0 0;0 0]']],...
		'position',[495,350,500,355])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[55,115;100,115])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[90,135;100,135])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[350,135;385,135])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[425,145;435,145])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[205,190;235,190])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[275,130;310,130])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[275,195;290,195;290,140;310,140])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[925,155;935,155])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[420,220;365,220;365,155;385,155])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[140,125;235,125])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[210,285;210,65;235,65])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[210,135;235,135])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[210,200;235,200])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[640,205;550,205;560,165])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[600,155;605,155])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[830,155;830,205;690,205])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[830,155;855,155])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[275,60;340,60])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[500,145;530,145;530,220;470,220])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[530,145;560,145])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[530,145;530,110;330,110;340,70])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[370,65;405,65])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[455,70;470,70])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[500,70;835,70;835,165;855,165])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[455,55;845,55;855,145])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[890,155;895,155])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[140,125;145,125;155,190])
add_line([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],[140,125;145,125;145,55;235,55])
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],...
		'Mask Display','Phase\nfrequency\ndetector',...
		'Mask Type','Phase Detector',...
		'Mask Dialogue','Phase detector:|Cross zero line threshold:|Charge pump current:')
set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],...
		'Mask Translate','Thre=@1;Cu=@2;lo=[0 0;0 1;1 0;1 0;0 1;0 1;0 0;0 0;1 0;0 0;1 0;0 0;1 0;0 0;0 0;0 0];',...
		'Mask Entries','-sqrt(eps)\/Cu\/')


%     Finished composite block ['Charge pump',13,'PLL/Phase//freq',13,'detector'].

set_param([sys,'/',['Charge pump',13,'PLL/Phase//freq',13,'detector']],...
		'position',[135,59,195,101])

add_block('built-in/Inport',[sys,'/',['Charge pump',13,'PLL/in_1']])
set_param([sys,'/',['Charge pump',13,'PLL/in_1']],...
		'position',[40,60,60,80])

add_block('built-in/Outport',[sys,'/',['Charge pump',13,'PLL/out_1']])
set_param([sys,'/',['Charge pump',13,'PLL/out_1']],...
		'position',[415,70,435,90])

add_block('built-in/Gain',[sys,'/',['Charge pump',13,'PLL/Gain']])
set_param([sys,'/',['Charge pump',13,'PLL/Gain']],...
		'Gain','G',...
		'position',[355,67,380,93])
add_line([sys,'/',['Charge pump',13,'PLL']],[200,80;235,80])
add_line([sys,'/',['Charge pump',13,'PLL']],[210,80;210,35;315,35])
add_line([sys,'/',['Charge pump',13,'PLL']],[160,155;110,155;110,90;130,90])
add_line([sys,'/',['Charge pump',13,'PLL']],[110,155;110,215;365,215])
add_line([sys,'/',['Charge pump',13,'PLL']],[65,70;130,70])
add_line([sys,'/',['Charge pump',13,'PLL']],[385,80;410,80])
add_line([sys,'/',['Charge pump',13,'PLL']],[295,80;350,80])
add_line([sys,'/',['Charge pump',13,'PLL']],[310,80;310,155;225,155])
set_param([sys,'/',['Charge pump',13,'PLL']],...
		'Mask Display','Charge\npump\nPLL',...
		'Mask Type','Charge pump PLL')
set_param([sys,'/',['Charge pump',13,'PLL']],...
		'Mask Dialogue','Output the phase shifting signal at 1st\nport; the detected phase error at 2nd\nport; VOC output at 3rd port.|Lowpass filter numerator:|Lowpass filter Denominator:|Oscillation frequency (Hz):|Oscillation Phase (rad):|Oscillation Amplitude:|Gain at the output:')
set_param([sys,'/',['Charge pump',13,'PLL']],...
		'Mask Translate','Fn=@1;Fd=@2;Fc=@3;Ph=@4;Ac=@5;G=@6;Cu=1;')
set_param([sys,'/',['Charge pump',13,'PLL']],...
		'Mask Help','This block uses a digital charge pump to detect the phase shifting from the oscillation signal. The first output is the detected phase shift. The second output is the detected phase error output from phase detector. The third output is the matching signal for the input. Note a 180 degree phase difference between the input signal and the matching signal.')
set_param([sys,'/',['Charge pump',13,'PLL']],...
		'Mask Entries','[3.0002,  0, 40002]\/[1, 67.46, 2270.9, 40002]\/100/2/pi\/pi\/1\/3\/')


%     Finished composite block ['Charge pump',13,'PLL'].

set_param([sys,'/',['Charge pump',13,'PLL']],...
		'ForeGround',6,...
		'hide name',0,...
		'position',[260,213,340,257])


%     Subsystem  ['Phase-locked',13,'loop'].

new_system([sys,'/',['Phase-locked',13,'loop']])
set_param([sys,'/',['Phase-locked',13,'loop']],'Location',[318,187,773,431])

add_block('built-in/Outport',[sys,'/',['Phase-locked',13,'loop/out_3']])
set_param([sys,'/',['Phase-locked',13,'loop/out_3']],...
		'Port','3',...
		'position',[315,195,335,215])

add_block('built-in/Outport',[sys,'/',['Phase-locked',13,'loop/out_2']])
set_param([sys,'/',['Phase-locked',13,'loop/out_2']],...
		'Port','2',...
		'position',[305,25,325,45])

add_block('built-in/Inport',[sys,'/',['Phase-locked',13,'loop/in_1']])
set_param([sys,'/',['Phase-locked',13,'loop/in_1']],...
		'position',[45,65,65,85])

add_block('built-in/Product',[sys,'/',['Phase-locked',13,'loop/Multiplier',13,'phase detector']])
set_param([sys,'/',['Phase-locked',13,'loop/Multiplier',13,'phase detector']],...
		'position',[140,70,165,90])

add_block('built-in/Transfer Fcn',[sys,'/',['Phase-locked',13,'loop/Lowpass',13,'filter']])
set_param([sys,'/',['Phase-locked',13,'loop/Lowpass',13,'filter']],...
		'Numerator','Fn',...
		'Denominator','Fd',...
		'position',[225,59,275,101])


%     Subsystem  ['Phase-locked',13,'loop/Voltage-controlled',13,'oscilator'].

new_system([sys,'/',['Phase-locked',13,'loop/Voltage-controlled',13,'oscilator']])
set_param([sys,'/',['Phase-locked',13,'loop/Voltage-controlled',13,'oscilator']],'Location',[422,82,872,213])

add_block('built-in/Outport',[sys,'/',['Phase-locked',13,'loop/Voltage-controlled',13,'oscilator/out_1']])
set_param([sys,'/',['Phase-locked',13,'loop/Voltage-controlled',13,'oscilator/out_1']],...
		'position',[410,30,430,50])

add_block('built-in/Gain',[sys,'/',['Phase-locked',13,'loop/Voltage-controlled',13,'oscilator/Sensitivity']])
set_param([sys,'/',['Phase-locked',13,'loop/Voltage-controlled',13,'oscilator/Sensitivity']],...
		'Gain','Kc',...
		'position',[65,21,105,49])

⌨️ 快捷键说明

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