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

📄 simulink.m

📁 数字通信第四版原书的例程
💻 M
📖 第 1 页 / 共 4 页
字号:
		'Threshold','0.5',...
		'position',[315,99,340,201])

add_block('built-in/Sum',[sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Sum']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Sum']],...
		'hide name',0,...
		'position',[170,95,195,135])

add_block('built-in/Gain',[sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Gain']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Gain']],...
		'Gain','Ts',...
		'position',[110,106,140,144])

add_block('built-in/Relational Operator',[sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Relational',13,'operator']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Relational',13,'operator']],...
		'hide name',0,...
		'Operator','<',...
		'position',[245,131,270,164])

add_block('built-in/Relational Operator',[sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Relational',13,'operator1']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Relational',13,'operator1']],...
		'hide name',0,...
		'Operator','>',...
		'position',[450,142,480,173])

add_block('built-in/Constant',[sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Constant1']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Constant1']],...
		'hide name',0,...
		'Value','lower_limit',...
		'position',[140,218,210,242])

add_block('built-in/Switch',[sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Switch1']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Switch1']],...
		'hide name',0,...
		'Threshold','0.5',...
		'position',[520,110,555,210])

add_block('built-in/Unit Delay',[sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Unit Delay']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Unit Delay']],...
		'Sample time','Ts',...
		'x0','X0',...
		'position',[605,150,655,170])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],[660,160;680,160])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],[85,125;105,125])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],[200,115;310,115])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],[275,150;310,150])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],[220,115;220,140;240,140])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],[145,125;165,125])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],[215,185;220,185;220,155;240,155])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],[215,185;310,185])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],[345,150;445,150])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],[380,150;380,125;515,125])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],[215,230;430,230;430,165;445,165])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],[485,160;515,160])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],[430,195;515,195])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],[560,160;600,160])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],[670,160;670,70;150,70;150,105;165,105])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],...
		'Mask Display','plot(-1,-0.2,3.5,1.2,[0,1,2,2.9],[0,0,1,1],[0,1],[0.5,0.5], [.5,.5], [.8,.6], [.05,.35,.05,.35],[.4,.4,.2,.2], [.45,.65],[.3,.3], [.9,.9],[.2,.4]);')
set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],...
		'Mask Type','Discrete-Time Limited Integrator.',...
		'Mask Dialogue','Discrete-Time Limited Integrator.|Lower bound:|Upper bound:|Initial condition:|Sampling Time:')
set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],...
		'Mask Translate','lower_limit=@1;upper_limit=@2;X0=@3;Ts=@4;',...
		'Mask Help','Discrete-Time Limited Integrator. Unmask to see details.')
set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],...
		'Mask Entries','-1\/1\/0\/1\/')


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

set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],...
		'position',[135,307,180,353])


%     Finished composite block 'Discrete'.

set_param([sys,'/','Discrete'],...
		'position',[145,5,175,55])


%     Subsystem  'Nonlinear'.

new_system([sys,'/','Nonlinear'])
set_param([sys,'/','Nonlinear'],'Location',[164,212,491,613])

add_block('built-in/Note',[sys,'/','Nonlinear/Nonlinear Library'])
set_param([sys,'/','Nonlinear/Nonlinear Library'],...
		'position',[160,1,165,6])

add_block('built-in/Rate Limiter',[sys,'/','Nonlinear/Rate Limiter'])
set_param([sys,'/','Nonlinear/Rate Limiter'],...
		'position',[260,82,290,108])

add_block('built-in/Saturation',[sys,'/','Nonlinear/Saturation'])
set_param([sys,'/','Nonlinear/Saturation'],...
		'position',[260,33,290,57])

add_block('built-in/Dead Zone',[sys,'/','Nonlinear/Dead Zone'])
set_param([sys,'/','Nonlinear/Dead Zone'],...
		'position',[110,82,140,108])

add_block('built-in/Backlash',[sys,'/','Nonlinear/Backlash'])
set_param([sys,'/','Nonlinear/Backlash'],...
		'position',[185,33,215,57])

add_block('built-in/Look Up Table',[sys,'/',['Nonlinear/Coulombic',13,'Friction']])
set_param([sys,'/',['Nonlinear/Coulombic',13,'Friction']],...
		'Input_Values','[-1,0,0,1]',...
		'Output_Values','[-gain-ini -ini ini gain+ini]',...
		'Mask Display','plot([-1 0 0 1],[-gain-ini, -ini, ini, gain+ini],[-1 1],[0 0],[0 0],[-x,x])')
set_param([sys,'/',['Nonlinear/Coulombic',13,'Friction']],...
		'Mask Type','Coulombic Friction',...
		'Mask Dialogue','Coulombic Friction\ny = sign(x) * (Gain * abs(x) + Offset)|Offset discontinuity at zero:|Gain:')
set_param([sys,'/',['Nonlinear/Coulombic',13,'Friction']],...
		'Mask Translate','ini=@1;gain=@2;x=max(ini,gain+ini);',...
		'Mask Help','This block has a discontinuity\nat zero and a linear gain afterward.\ny= sign(x)*(Gain*abs(x)+Offset)')
set_param([sys,'/',['Nonlinear/Coulombic',13,'Friction']],...
		'Mask Entries','1\/1\/',...
		'position',[185,82,215,108])

add_block('built-in/S-Function',[sys,'/','Nonlinear/Quantizer'])
set_param([sys,'/','Nonlinear/Quantizer'],...
		'function name','quantize',...
		'parameters','q',...
		'Mask Display','plot([-4,4],[0,0],[0,0],[-4,4],[-3,-2,-2,-1,-1,0,0,1,1,2,2,3,3,4]-0.5,[-3,-3,-2,-2,-1,-1,0,0,1,1,2,2,3,3])')
set_param([sys,'/','Nonlinear/Quantizer'],...
		'Mask Type','Quantizer',...
		'Mask Dialogue','Discretizes input at given interval.|Quantization interval:',...
		'Mask Translate','q = @1;',...
		'Mask Help','Quantizes input in given intervals. ')
set_param([sys,'/','Nonlinear/Quantizer'],...
		'Mask Entries','0.5\/',...
		'position',[30,82,60,108])

add_block('built-in/Relay',[sys,'/','Nonlinear/Relay'])
set_param([sys,'/','Nonlinear/Relay'],...
		'position',[110,33,140,57])


%     Subsystem  'Nonlinear/Sign'.

new_system([sys,'/','Nonlinear/Sign'])
set_param([sys,'/','Nonlinear/Sign'],'Location',[159,417,467,586])

add_block('built-in/Constant',[sys,'/','Nonlinear/Sign/Constant'])
set_param([sys,'/','Nonlinear/Sign/Constant'],...
		'Value','0',...
		'position',[65,105,85,125])

add_block('built-in/Relational Operator',[sys,'/',['Nonlinear/Sign/Relational',13,'Operator1']])
set_param([sys,'/',['Nonlinear/Sign/Relational',13,'Operator1']],...
		'Operator','<',...
		'position',[140,92,170,123])

add_block('built-in/Sum',[sys,'/','Nonlinear/Sign/Sum'])
set_param([sys,'/','Nonlinear/Sign/Sum'],...
		'inputs','+-',...
		'position',[215,64,235,91])

add_block('built-in/Relational Operator',[sys,'/',['Nonlinear/Sign/Relational',13,'Operator']])
set_param([sys,'/',['Nonlinear/Sign/Relational',13,'Operator']],...
		'Operator','>',...
		'position',[140,32,170,63])

add_block('built-in/Inport',[sys,'/','Nonlinear/Sign/in_1'])
set_param([sys,'/','Nonlinear/Sign/in_1'],...
		'position',[35,30,55,50])

add_block('built-in/Outport',[sys,'/','Nonlinear/Sign/out_1'])
set_param([sys,'/','Nonlinear/Sign/out_1'],...
		'position',[265,70,285,90])
add_line([sys,'/','Nonlinear/Sign'],[240,80;260,80])
add_line([sys,'/','Nonlinear/Sign'],[175,50;185,50;185,70;210,70])
add_line([sys,'/','Nonlinear/Sign'],[175,110;185,110;185,85;210,85])
add_line([sys,'/','Nonlinear/Sign'],[90,115;135,115])
add_line([sys,'/','Nonlinear/Sign'],[110,115;110,55;135,55])
add_line([sys,'/','Nonlinear/Sign'],[60,40;135,40])
add_line([sys,'/','Nonlinear/Sign'],[95,40;95,100;135,100])
set_param([sys,'/','Nonlinear/Sign'],...
		'Mask Display','plot(-50,-50,50,50,[-50,50],[0,0],[0,0],[-50,50],[-40,0],[-30,-30],[0,40],[30,30])',...
		'Mask Type','Sign',...
		'Mask Dialogue','y = sign(x)')
set_param([sys,'/','Nonlinear/Sign'],...
		'Mask Help','Sign Function:\n\t\t\ty = 1 if x > 0\n\t\t\ty = 0 if x = 0\n\t\t\ty = -1 if x < 0')


%     Finished composite block 'Nonlinear/Sign'.

set_param([sys,'/','Nonlinear/Sign'],...
		'position',[30,32,60,58])


%     Subsystem  ['Nonlinear/2-D Look-Up',13,'Table'].

new_system([sys,'/',['Nonlinear/2-D Look-Up',13,'Table']])
set_param([sys,'/',['Nonlinear/2-D Look-Up',13,'Table']],'Location',[316,263,598,417])

add_block('built-in/Mux',[sys,'/',['Nonlinear/2-D Look-Up',13,'Table/Mux']])
set_param([sys,'/',['Nonlinear/2-D Look-Up',13,'Table/Mux']],...
		'inputs','2',...
		'position',[90,46,120,79])

add_block('built-in/S-Function',[sys,'/',['Nonlinear/2-D Look-Up',13,'Table/S-function']])
set_param([sys,'/',['Nonlinear/2-D Look-Up',13,'Table/S-function']],...
		'function name','sftable2',...
		'parameters','xindex, yindex, table',...
		'position',[140,52,190,78])

add_block('built-in/Inport',[sys,'/',['Nonlinear/2-D Look-Up',13,'Table/x0']])
set_param([sys,'/',['Nonlinear/2-D Look-Up',13,'Table/x0']],...
		'position',[20,25,40,45])

add_block('built-in/Outport',[sys,'/',['Nonlinear/2-D Look-Up',13,'Table/table out']])
set_param([sys,'/',['Nonlinear/2-D Look-Up',13,'Table/table out']],...
		'position',[215,55,235,75])

add_block('built-in/Inport',[sys,'/',['Nonlinear/2-D Look-Up',13,'Table/y0']])
set_param([sys,'/',['Nonlinear/2-D Look-Up',13,'Table/y0']],...
		'Port','2',...
		'position',[20,80,40,100])
add_line([sys,'/',['Nonlinear/2-D Look-Up',13,'Table']],[125,65;135,65])
add_line([sys,'/',['Nonlinear/2-D Look-Up',13,'Table']],[45,35;65,35;65,55;85,55])
add_line([sys,'/',['Nonlinear/2-D Look-Up',13,'Table']],[195,65;210,65])
add_line([sys,'/',['Nonlinear/2-D Look-Up',13,'Table']],[45,90;65,90;65,70;85,70])
set_param([sys,'/',['Nonlinear/2-D Look-Up',13,'Table']],...
		'Mask Display','plot(-10,-10,110,110,[90,50,10],[90,40,30],[90,50,10],[50,26,20],[90,50,10],[22,13,10])',...
		'Mask Type','2-D Table Lookup')
set_param([sys,'/',['Nonlinear/2-D Look-Up',13,'Table']],...
		'Mask Dialogue','Two Dimensional Table Lookup\nThe first input corresponds to X Index and the second input corresponds to the Y Index|X Index|Y Index|Table')
set_param([sys,'/',['Nonlinear/2-D Look-Up',13,'Table']],...
		'Mask Translate','xindex=@1; yindex=@2; table=@3; sftab2chk(xindex,yindex,table);')
set_param([sys,'/',['Nonlinear/2-D Look-Up',13,'Table']],...
		'Mask Help','This block returns a linearly interpolated intersection from the table using the X index (which corresponds to the rows of the table) and the Y index (which corresponds to the columns of the table).  Extrapolation is used.')
set_param([sys,'/',['Nonlinear/2-D Look-Up',13,'Table']],...
		'Mask Entries','sort(rand(10,1))*2-1\/sort(rand(10,1))*2-1\/magic(10)-50\/')


%     Finished composite block ['Nonlinear/2-D Look-Up',13,'Table'].

set_param([sys,'/',['Nonlinear/2-D Look-Up',13,'Table']],...
		'position',[260,138,290,162])

add_block('built-in/Look Up Table',[sys,'/',['Nonlinear/Look-Up',13,'Table']])
set_param([sys,'/',['Nonlinear/Look-Up',13,'Table']],...
		'position',[185,138,215,162])

add_block('built-in/Abs',[sys,'/','Nonlinear/Abs'])
set_param([sys,'/','Nonlinear/Abs'],...
		'position',[110,138,140,162])

add_block('built-in/Product',[sys,'/','Nonlinear/Product'])
set_param([sys,'/','Nonlinear/Product'],...
		'position',[30,138,60,162])

add_block('built-in/Switch',[sys,'/','Nonlinear/Switch'])
set_param([sys,'/','Nonlinear/Switch'],...
		'position',[260,199,290,231])

add_block('built-in/Combinatorial Logic',[sys,'/',['Nonlinear/Combinatorial',13,'Logic']])
set_param([sys,'/',['Nonlinear/Combinatorial',13,'Logic']],...
		'position',[185,198,215,222])

add_block('built-in/Logical Operator',[sys,'/',['Nonlinear/Logical',13,'Operator']])
set_param([sys,'/',['Nonlinear/Logical',13,'Operator']],...
		'Operator','AND',...
		'position',[110,198,140,222])

add_block('built-in/Relational Operator',[sys,'/',['Nonlinear/Relational',13,'Operator']])
set_param([sys,'/',['Nonlinear/Relational',13,'Operator']],...
		'position',[30,198,60,222])

add_block('built-in/S-Function',[sys,'/','Nonlinear/S-Function'])
set_param([sys,'/','Nonlinear/S-Function'],...
		'position',[100,265,150,285])

add_block('built-in/MATLAB Fcn',[sys,'/','Nonlinear/MATLAB Fcn'])
set_param([sys,'/','Nonlinear/MATLAB Fcn'],...
		'position',[170,258,230,292])

add_block('built-in/Reset Integrator',[sys,'/',['Nonlinear/Reset',13,'Integrator']])
set_param([sys,'/',['Nonlinear/Reset',13,'Integrator']],...
		'Initial','15',...
		'position',[260,260,290,290])

add_block('built-in/Fcn',[sys,'/','Nonlinear/Fcn'])
set_param([sys,'/','Nonlinear/Fcn'],...
		'position',[25,265,65,285])

add_block('built-in/Variable Transport Delay',[sys,'/',['Nonlinear/Variable',13,'Transport Delay']])
set_param([sys,'/',['Nonlinear/Variable',13,'Transport Delay']],...
		'Maximum delay:','10',...
		'position',[180,327,220,358])

add_block('built-in/Transport Delay',[sys,'/',['Nonlinear/Transport',13,'Delay']])
set_param([sys,'/',['Nonlinear/Transport',13,'Delay']],...
		'Delay Time','1',...
		'position',[105,325,145,355])

add_block('built-in/Memory',[sys,'/','Nonlinear/Memory'])
set_param([sys,'/','Nonlinear/Memory'],...
		'position',[25,325,65,355])


%     Subsystem  ['Nonlinear/Limited',13,'Integrator'].

new_system([sys,'/',['Nonlinear/Limited',13,'Integrator']])
set_param([sys,'/',['Nonlinear/Limited',13,'Integrator']],'Location',[452,229,1117,789])

add_block('built-in/Relational Operator',[sys,'/',['Nonlinear/Limited',13,'Integrator/Relational',13,'operator']])
set_param([sys,'/',['Nonlinear/Limited',13,'Integrator/Relational',13,'operator']],...
		'hide name',0,...
		'Operator','<=',...
		'position',[415,151,445,204])

add_block('built-in/Constant',[sys,'/',['Nonlinear/Limited',13,'Integrator/Constant']])
set_param([sys,'/',['Nonlinear/Limited',13,'Integrator/Constant']],...
		'hide name',0,...
		'Value','upper_limit',...
		'position',[325,179,395,201])

add_block('built-in/Relational Operator',[sys,'/',['Nonlinear/Limited',13,'Integrator/Relational',13,'operator1']])
set_param([sys,'/',['Nonlinear/Limited',13,'Integrator/Relational',13,'operator1']],...
		'hide name',0,...
		'position',[415,312,445,368])

add_block('built-in/Constant',[sys,'/',['Nonlinear/Limited',13,'Integrator/Constant1']])
set_param([sys,'/',['Nonlinear/Limited',13,'Integrator/Constant1']],...
		'hide name',0,...
		'Value','lower_limit',...
		'position',[325,345,390,365])

add_block('built-in/Relational Operator',[sys,'/',['Nonlinear/Limited',13,'Integrator/Relational',13,'operator3']])
set_param([sys,'/',['Nonlinear/Limited',13,'Integrator/Relational',13,'operator3']],...
		'hide name',0,...
		'position',[415,396,445,449])

add_block('built-in/Relational Operator',[sys,'/',['Nonlinear/Limited',13,'Integrator/Relational',13,'operator2']])

⌨️ 快捷键说明

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