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

📄 simulink.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 4 页
字号:
		'Mask Display','plot(t(:),r2(:))',...
		'Mask Type','Continuous White Noise.')
set_param([sys,'/',['Sources/Band-Limited',13,'White Noise']],...
		'Mask Dialogue','White noise for continuous (s-domain) systems.\nBand-limited using zero-order-hold.|Noise Power:|Sample Time:|Seed')
set_param([sys,'/',['Sources/Band-Limited',13,'White Noise']],...
		'Mask Translate','Cov = @1; Ts = @2; seed = @3; r = rand(1,12); r2 = [r(1),r;r,r(12)]; t =[1:13;1:13];')
set_param([sys,'/',['Sources/Band-Limited',13,'White Noise']],...
		'Mask Help','Implemented using white noise into Zero-Order Hold block. The seed and power can be vectors of the same length to produce a vector of white noise sources. For faster simulation, set sample time to the highest value possible but in accordance with the fastest dynamics of system.')
set_param([sys,'/',['Sources/Band-Limited',13,'White Noise']],...
		'Mask Entries','[0.1]\/0.1\/[23341]\/')


%     Finished composite block ['Sources/Band-Limited',13,'White Noise'].

set_param([sys,'/',['Sources/Band-Limited',13,'White Noise']],...
		'position',[110,257,155,293])

add_block('built-in/Signal Generator',[sys,'/',['Sources/Signal',13,'Generator']])
set_param([sys,'/',['Sources/Signal',13,'Generator']],...
		'Peak','1.000000',...
		'Peak Range','5.000000',...
		'Freq','1.000000',...
		'Freq Range','5.000000',...
		'Wave','Sin',...
		'Units','Rads',...
		'position',[35,83,80,117])

add_block('built-in/Constant',[sys,'/','Sources/Constant'])
set_param([sys,'/','Sources/Constant'],...
		'position',[125,90,145,110])

add_block('built-in/Sine Wave',[sys,'/','Sources/Sine Wave'])
set_param([sys,'/','Sources/Sine Wave'],...
		'position',[40,150,60,170])

add_block('built-in/Step Fcn',[sys,'/','Sources/Step Input'])
set_param([sys,'/','Sources/Step Input'],...
		'position',[125,150,145,170])

add_block('built-in/From File',[sys,'/','Sources/From File'])
set_param([sys,'/','Sources/From File'],...
		'position',[15,196,85,224])

add_block('built-in/From Workspace',[sys,'/',['Sources/From',13,'Workspace']])
set_param([sys,'/',['Sources/From',13,'Workspace']],...
		'position',[115,192,155,218])

add_block('built-in/Digital Clock',[sys,'/','Sources/Digital Clock'])
set_param([sys,'/','Sources/Digital Clock'],...
		'position',[120,35,155,65])

add_block('built-in/Clock',[sys,'/','Sources/Clock'])
set_param([sys,'/','Sources/Clock'],...
		'position',[45,40,65,60])


%     Subsystem  ['Sources/Pulse',13,'Generator'].

new_system([sys,'/',['Sources/Pulse',13,'Generator']])
set_param([sys,'/',['Sources/Pulse',13,'Generator']],'Location',[158,441,759,682])

add_block('built-in/Unit Delay',[sys,'/',['Sources/Pulse',13,'Generator/Unit Delay1']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Unit Delay1']],...
		'orientation',2,...
		'Sample time','[Ts,st2]',...
		'x0','ini',...
		'position',[140,165,190,185])

add_block('built-in/Unit Delay',[sys,'/',['Sources/Pulse',13,'Generator/Unit Delay']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Unit Delay']],...
		'orientation',2,...
		'Sample time','[Ts,st1]',...
		'position',[145,75,195,95])

add_block('built-in/Constant',[sys,'/',['Sources/Pulse',13,'Generator/Constant']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Constant']],...
		'position',[25,30,45,50])

add_block('built-in/Sum',[sys,'/',['Sources/Pulse',13,'Generator/Sum']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Sum']],...
		'hide name',0,...
		'inputs','+-',...
		'position',[135,35,155,55])

add_block('built-in/Sum',[sys,'/',['Sources/Pulse',13,'Generator/Sum1']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Sum1']],...
		'hide name',0,...
		'inputs','+-',...
		'position',[130,120,150,140])

add_block('built-in/Relational Operator',[sys,'/',['Sources/Pulse',13,'Generator/Relational',13,'operator']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Relational',13,'operator']],...
		'hide name',0,...
		'position',[370,102,400,133])

add_block('built-in/Clock',[sys,'/',['Sources/Pulse',13,'Generator/Clock1']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Clock1']],...
		'hide name',0,...
		'position',[295,100,315,120])

add_block('built-in/Constant',[sys,'/',['Sources/Pulse',13,'Generator/Constant1']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Constant1']],...
		'Value','stt',...
		'position',[295,149,320,171])

add_block('built-in/Logical Operator',[sys,'/',['Sources/Pulse',13,'Generator/Logical',13,'Operator']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Logical',13,'Operator']],...
		'Operator','XOR',...
		'position',[285,38,315,62])

add_block('built-in/Logical Operator',[sys,'/',['Sources/Pulse',13,'Generator/Logical',13,'Operator1']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Logical',13,'Operator1']],...
		'Operator','NOT',...
		'Number of Input Ports','1',...
		'position',[355,38,385,62])

add_block('built-in/Product',[sys,'/',['Sources/Pulse',13,'Generator/Product']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Product']],...
		'hide name',0,...
		'position',[455,105,480,125])

add_block('built-in/Gain',[sys,'/',['Sources/Pulse',13,'Generator/Gain']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Gain']],...
		'hide name',0,...
		'Gain','ht',...
		'position',[510,102,535,128])

add_block('built-in/Outport',[sys,'/',['Sources/Pulse',13,'Generator/out_1']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/out_1']],...
		'hide name',0,...
		'position',[560,105,580,125])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[155,130;245,130;245,55;280,55])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[160,45;280,45])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[50,40;70,40;70,125;125,125])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[135,175;100,175;100,135;125,135])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[155,130;210,130;210,175;195,175])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[50,40;130,40])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[160,45;230,45;230,85;200,85])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[140,85;105,85;105,50;130,50])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[320,110;365,110])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[405,120;450,120])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[485,115;505,115])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[540,115;555,115])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[325,160;345,160;345,125;365,125])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[320,50;350,50])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[390,50;430,50;430,110;450,110])
set_param([sys,'/',['Sources/Pulse',13,'Generator']],...
		'Mask Display','plot(0,0,100,100,[90,75,75,60,60,35,35,20,20,10],[20,20,80,80,20,20,80,80,20,20])',...
		'Mask Type','Pulse Generator')
set_param([sys,'/',['Sources/Pulse',13,'Generator']],...
		'Mask Dialogue','Pulse Generator.|Pulse period (secs):|Pulse width:|Pulse height:|Pulse start time:')
set_param([sys,'/',['Sources/Pulse',13,'Generator']],...
		'Mask Translate','Ts=@1; du=@2; ht=@3; stt=@4; ini=ones(length(ht),1); st1=rem(stt,Ts); st2=rem(stt+du,Ts);if(Ts<=1.2*du),ini=zeros(length(ht),1);end;')
set_param([sys,'/',['Sources/Pulse',13,'Generator']],...
		'Mask Help','Pulse generator which ensures pulse\ntransitions are hit. Provides a vector of pulses when the height is entered as a vector.\nUnmask to see how it works.')
set_param([sys,'/',['Sources/Pulse',13,'Generator']],...
		'Mask Entries','3\/1\/1\/0.5\/')


%     Finished composite block ['Sources/Pulse',13,'Generator'].

set_param([sys,'/',['Sources/Pulse',13,'Generator']],...
		'position',[195,112,230,148])


%     Finished composite block 'Sources'.

set_param([sys,'/','Sources'],...
		'position',[15,6,45,56])


%     Subsystem  'Discrete'.

new_system([sys,'/','Discrete'])
set_param([sys,'/','Discrete'],'Location',[111,234,320,613])

add_block('built-in/Zero-Order Hold',[sys,'/',['Discrete/Zero-Order',13,'Hold']])
set_param([sys,'/',['Discrete/Zero-Order',13,'Hold']],...
		'position',[45,244,80,276])

add_block('built-in/Discrete Zero-Pole',[sys,'/',['Discrete/Discrete',13,'Zero-Pole']])
set_param([sys,'/',['Discrete/Discrete',13,'Zero-Pole']],...
		'Poles','[0; 0.5]',...
		'position',[125,33,185,67])

add_block('built-in/Unit Delay',[sys,'/','Discrete/Unit Delay'])
set_param([sys,'/','Discrete/Unit Delay'],...
		'position',[40,42,90,58])

add_block('built-in/Filter',[sys,'/','Discrete/Filter'])
set_param([sys,'/','Discrete/Filter'],...
		'Denominator','[1 2]',...
		'position',[35,101,95,139])

add_block('built-in/Discrete Transfer Fcn',[sys,'/',['Discrete/Discrete',13,'Transfer Fcn']])
set_param([sys,'/',['Discrete/Discrete',13,'Transfer Fcn']],...
		'Denominator','[1 0.5]',...
		'position',[135,102,180,138])

add_block('built-in/Discrete State-Space',[sys,'/','Discrete/Discrete State-Space'])
set_param([sys,'/','Discrete/Discrete State-Space'],...
		'position',[45,173,160,217])

add_block('built-in/Note',[sys,'/','Discrete/Discrete-Time Library'])
set_param([sys,'/','Discrete/Discrete-Time Library'],...
		'position',[105,5,110,10])


%     Subsystem  ['Discrete/Discrete-Time',13,'Integrator'].

new_system([sys,'/',['Discrete/Discrete-Time',13,'Integrator']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Integrator']],'Location',[392,641,765,859])

add_block('built-in/Outport',[sys,'/',['Discrete/Discrete-Time',13,'Integrator/out_1']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Integrator/out_1']],...
		'position',[320,85,340,105])

add_block('built-in/Gain',[sys,'/',['Discrete/Discrete-Time',13,'Integrator/Gain']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Integrator/Gain']],...
		'Gain','Ts',...
		'position',[80,61,110,99])

add_block('built-in/Unit Delay',[sys,'/',['Discrete/Discrete-Time',13,'Integrator/Unit Delay']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Integrator/Unit Delay']],...
		'Sample time','Ts',...
		'x0','X0',...
		'position',[210,85,260,105])

add_block('built-in/Sum',[sys,'/',['Discrete/Discrete-Time',13,'Integrator/Sum']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Integrator/Sum']],...
		'position',[150,63,180,127])

add_block('built-in/Inport',[sys,'/',['Discrete/Discrete-Time',13,'Integrator/in_1']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Integrator/in_1']],...
		'position',[25,70,45,90])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Integrator']],[265,95;315,95])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Integrator']],[285,95;285,165;120,165;120,110;145,110])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Integrator']],[185,95;205,95])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Integrator']],[50,80;75,80])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Integrator']],[115,80;145,80])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Integrator']],...
		'Mask Display','dpoly(Ts,[1 -1],''z'')',...
		'Mask Type','Discrete-Time Integrator',...
		'Mask Dialogue','Discrete-Time Integrator:|Initial Condition:|Sample Time:')
set_param([sys,'/',['Discrete/Discrete-Time',13,'Integrator']],...
		'Mask Translate','X0=@1;Ts=@2;',...
		'Mask Help','Implements a zeroth order discrete\nintegration using a gain, a sum, and\na unit delay. Inputs may be scalar\nor vector.\n')
set_param([sys,'/',['Discrete/Discrete-Time',13,'Integrator']],...
		'Mask Entries','0\/1\/')


%     Finished composite block ['Discrete/Discrete-Time',13,'Integrator'].

set_param([sys,'/',['Discrete/Discrete-Time',13,'Integrator']],...
		'position',[40,309,80,351])


%     Subsystem  ['Discrete/First-Order',13,'Hold'].

new_system([sys,'/',['Discrete/First-Order',13,'Hold']])
set_param([sys,'/',['Discrete/First-Order',13,'Hold']],'Location',[511,151,915,322])

add_block('built-in/Zero-Order Hold',[sys,'/',['Discrete/First-Order',13,'Hold/Zero-Order',13,'Hold']])
set_param([sys,'/',['Discrete/First-Order',13,'Hold/Zero-Order',13,'Hold']],...
		'Sample time','Ts',...
		'position',[100,29,135,61])

add_block('built-in/Gain',[sys,'/',['Discrete/First-Order',13,'Hold/Gain']])
set_param([sys,'/',['Discrete/First-Order',13,'Hold/Gain']],...
		'Gain','1/Ts',...
		'position',[285,33,325,77])

add_block('built-in/Integrator',[sys,'/',['Discrete/First-Order',13,'Hold/Integrator']])
set_param([sys,'/',['Discrete/First-Order',13,'Hold/Integrator']],...
		'position',[235,42,260,68])

add_block('built-in/Sum',[sys,'/',['Discrete/First-Order',13,'Hold/Sum']])
set_param([sys,'/',['Discrete/First-Order',13,'Hold/Sum']],...
		'inputs','+-',...
		'position',[190,37,210,68])

add_block('built-in/Unit Delay',[sys,'/',['Discrete/First-Order',13,'Hold/Unit Delay']])
set_param([sys,'/',['Discrete/First-Order',13,'Hold/Unit Delay']],...
		'Sample time','Ts',...
		'position',[90,93,140,117])

add_block('built-in/Inport',[sys,'/',['Discrete/First-Order',13,'Hold/input']])
set_param([sys,'/',['Discrete/First-Order',13,'Hold/input']],...
		'position',[25,35,45,55])

add_block('built-in/Outport',[sys,'/',['Discrete/First-Order',13,'Hold/output']])
set_param([sys,'/',['Discrete/First-Order',13,'Hold/output']],...
		'position',[345,45,365,65])
add_line([sys,'/',['Discrete/First-Order',13,'Hold']],[330,55;340,55])
add_line([sys,'/',['Discrete/First-Order',13,'Hold']],[265,55;280,55])
add_line([sys,'/',['Discrete/First-Order',13,'Hold']],[215,55;230,55])
add_line([sys,'/',['Discrete/First-Order',13,'Hold']],[145,105;165,105;165,60;185,60])
add_line([sys,'/',['Discrete/First-Order',13,'Hold']],[140,45;185,45])
add_line([sys,'/',['Discrete/First-Order',13,'Hold']],[50,45;95,45])
add_line([sys,'/',['Discrete/First-Order',13,'Hold']],[65,45;65,105;85,105])
set_param([sys,'/',['Discrete/First-Order',13,'Hold']],...
		'Mask Display','plot(0,0,100,100,[90,70,50,30,10],[60,40,80,30,20])',...
		'Mask Type','First-Order Hold',...
		'Mask Dialogue','First-Order Hold|Sample Time:')
set_param([sys,'/',['Discrete/First-Order',13,'Hold']],...
		'Mask Translate','Ts=@1;',...
		'Mask Help','Implements a First-Order sample-and-hold latch operating at the sampling interval you specify.',...
		'Mask Entries','1\/')


%     Finished composite block ['Discrete/First-Order',13,'Hold'].

set_param([sys,'/',['Discrete/First-Order',13,'Hold']],...
		'position',[140,244,175,276])


%     Subsystem  ['Discrete/Discrete-Time',13,'Limited Integrator'].

new_system([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],'Location',[137,84,904,403])

add_block('built-in/Outport',[sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/out_1']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/out_1']],...
		'position',[685,150,705,170])

add_block('built-in/Inport',[sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/in_1']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/in_1']],...
		'position',[60,115,80,135])

add_block('built-in/Constant',[sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Constant']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Constant']],...
		'hide name',0,...
		'Value','upper_limit',...
		'position',[140,174,210,196])

add_block('built-in/Switch',[sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Switch']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Switch']],...
		'hide name',0,...

⌨️ 快捷键说明

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