?? sysm1.txt
字號:
function [ret,x0,str,ts,xts]=am_sys1(t,x,u,flag);
%AM_SYS1 is the M-file description of the SIMULINK system named AM_SYS1.
% AM_SYS1 has a the following characteristics:
% 5 continuous states
% 0 discrete states
% 0 outputs
% 0 inputs
% does not have direct feedthrough
% 1 sample times
%
% The block-diagram can be displayed by typing: AM_SYS1.
%
% SYS=AM_SYS1(T,X,U,FLAG) returns depending on FLAG certain
% system values given time point, T, current state vector, X,
% and input vector, U.
% FLAG is used to indicate the type of output to be returned in SYS.
%
% Setting FLAG=1 causes AM_SYS1 to return state derivatives, FLAG=2
% discrete states, FLAG=3 system outputs and FLAG=4 next sample
% time. For more information and other options see SFUNC.
%
% Calling AM_SYS1 with a FLAG of zero:
% [SIZES]=AM_SYS1([],[],[],0), returns a vector, SIZES, which
% contains the sizes of the state vector and other parameters.
% SIZES(1) number of states
% SIZES(2) number of discrete states
% SIZES(3) number of outputs
% SIZES(4) number of inputs
% SIZES(5) number of roots (currently unsupported)
% SIZES(6) direct feedthrough flag
% SIZES(7) number of sample times
%
% For the definition of other parameters in SIZES, see SFUNC.
% See also, TRIM, LINMOD, LINSIM, EULER, RK23, RK45, ADAMS, GEAR.
% Note: This M-file is only used for saving graphical information;
% after the model is loaded into memory an internal model
% representation is used.
% the system will take on the name of this mfile:
sys = mfilename;
new_system(sys)
simver(1.3)
if (0 == (nargin + nargout))
set_param(sys,'Location',[54,51,575,446])
open_system(sys)
end;
set_param(sys,'algorithm', 'RK-45')
set_param(sys,'Start time', '0.0')
set_param(sys,'Stop time', '999999')
set_param(sys,'Min step size', '0.0001')
set_param(sys,'Max step size', '0.005')
set_param(sys,'Relative error','1e-3')
set_param(sys,'Return vars', '')
add_block('built-in/Signal Generator',[sys,'/','信號發生器'])
set_param([sys,'/','信號發生器'],...
'Font Name','宋體',...
'Font Size',12,...
'Peak','1.000000',...
'Peak Range','5.000000',...
'Freq','30.000000',...
'Freq Range','50.000000',...
'Wave','Sin',...
'Units','Rads')
set_param([sys,'/','信號發生器'],...
'position',[25,88,70,122])
add_block('built-in/Product',[sys,'/','乘法器'])
set_param([sys,'/','乘法器'],...
'Font Name','宋體',...
'Font Size',12,...
'Mask Display','plot([0 1],[1 0],[0 1],[0 1]);',...
'Mask Type','乘法器',...
'Mask Dialogue','乘法器',...
'position',[125,98,155,122])
add_block('built-in/Sum',[sys,'/','加法器'])
set_param([sys,'/','加法器'],...
'Font Name','宋體',...
'Font Size',12,...
'position',[185,105,205,125])
add_block('built-in/Scope',[sys,'/','包絡檢波后波形'])
set_param([sys,'/','包絡檢波后波形'],...
'Font Name','宋體',...
'Font Size',12,...
'Vgain','1.000000',...
'Hgain','1.000000',...
'Vmax','2.000000',...
'Hmax','2.000000',...
'Window',[206,245,535,411])
set_param([sys,'/','包絡檢波后波形'],...
'position',[450,185,480,215])
add_block('built-in/Note',[sys,'/','峰值包絡檢波器'])
set_param([sys,'/','峰值包絡檢波器'],...
'Font Name','宋體',...
'Font Size',12,...
'position',[220,345,225,350])
add_block('built-in/Scope',[sys,'/','解調信號波形'])
set_param([sys,'/','解調信號波形'],...
'Font Name','宋體',...
'Font Size',12,...
'Vgain','0.500000',...
'Hgain','1.000000',...
'Vmax','1.000000',...
'Hmax','2.000000',...
'Window',[309,300,640,453])
set_param([sys,'/','解調信號波形'],...
'position',[450,280,480,310])
add_block('built-in/Scope',[sys,'/','已調幅信號波形'])
set_param([sys,'/','已調幅信號波形'],...
'Font Name','宋體',...
'Font Size',12,...
'Vgain','3.000000',...
'Hgain','1.000000',...
'Vmax','6.000000',...
'Hmax','2.000000',...
'Window',[0,301,329,449])
set_param([sys,'/','已調幅信號波形'],...
'position',[450,100,480,130])
add_block('built-in/Scope',[sys,'/','信號波形'])
set_param([sys,'/','信號波形'],...
'Font Name','宋體',...
'Font Size',12,...
'Vgain','3.000000',...
'Hgain','1.000000',...
'Vmax','6.000000',...
'Hmax','2.000000',...
'Window',[35,61,366,222],...
'position',[450,40,480,70])
add_block('built-in/Zero-Pole',[sys,'/',['Butterworth',13,'低通濾波器']])
set_param([sys,'/',['Butterworth',13,'低通濾波器']],...
'Font Name','宋體',...
'Font Size',12,...
'Zeros','z',...
'Poles','p',...
'Gain','k',...
'Mask Display','plot(20*log10(w),20*log10(abs(h)))',...
'Mask Type','buttap')
set_param([sys,'/',['Butterworth',13,'低通濾波器']],...
'Mask Dialogue','Analog Butterworth low pass filter.\n\n(Requires Signal Processing Toolbox)|Cutoff frequency (rad/sec)|Order')
set_param([sys,'/',['Butterworth',13,'低通濾波器']],...
'Mask Translate','[z,p,k]=buttap(@2); z=@1*z; p=@1*p; k=real(prod(-p)); [num,den]=zp2tf(z,p,k); w=logspace(log10(@1/10),log10(10*@1),20); h=freqs(num,den,w); ')
set_param([sys,'/',['Butterworth',13,'低通濾波器']],...
'Mask Help','Butterworth low pass filter using MATLAB''s butter command.',...
'Mask Entries','5*2*pi\/4\/',...
'position',[350,273,410,317])
add_block('built-in/Note',[sys,'/','調制信號'])
set_param([sys,'/','調制信號'],...
'Font Name','宋體',...
'Font Size',12,...
'position',[45,60,50,65])
add_block('built-in/Note',[sys,'/','X(t)'])
set_param([sys,'/','X(t)'],...
'Font Name','宋體',...
'position',[85,80,90,85])
add_block('built-in/Gain',[sys,'/',['直流偏置',13,'A']])
set_param([sys,'/',['直流偏置',13,'A']],...
'Font Name','宋體',...
'Font Size',12,...
'Gain','2',...
'position',[135,155,155,175])
add_block('built-in/Sine Wave',[sys,'/',['載波',13,'cos(Wc*t)']])
set_param([sys,'/',['載波',13,'cos(Wc*t)']],...
'Font Name','宋體',...
'Font Size',12,...
'frequency','F*2*pi',...
'Mask Display','',...
'Mask Type','載波',...
'Mask Dialogue','載波|載波頻率(Hz):',...
'Mask Translate','F=@1;')
set_param([sys,'/',['載波',13,'cos(Wc*t)']],...
'Mask Entries','50\/',...
'position',[55,155,75,175])
add_block('built-in/Transfer Fcn',[sys,'/','包絡解調'])
set_param([sys,'/','包絡解調'],...
'Font Name','宋體',...
'Font Size',12,...
'Drop Shadow',4,...
'Numerator','[R]',...
'Denominator','[R*C R+1]')
set_param([sys,'/','包絡解調'],...
'Mask Display','plot([0 15],[2 2],[8 8 6 10],[2 0 0 0],[6 10],[-1 -1],[8 8 7 9],[-1 -4 -4 -4],[12.5 12.5 12 13],[2 1 1 1],[12 12],[1 -3],[13 13],[1 -3],[12 13 12.5 12.5],[-3 -3 -3 -4],[12 13],[-4 -4]);')
set_param([sys,'/','包絡解調'],...
'Mask Type','單元6',...
'Mask Dialogue','單元6|電阻值(歐):|電容值(法):',...
'Mask Translate','R=@1;C=@2;',...
'Mask Entries','1\/0.1\/',...
'position',[190,273,295,317])
% Subsystem 'Diode'.
new_system([sys,'/','Diode'])
set_param([sys,'/','Diode'],'Location',[4,207,504,457])
add_block('built-in/Gain',[sys,'/','Diode/Gain'])
set_param([sys,'/','Diode/Gain'],...
'Gain','1/2',...
'position',[340,117,365,143])
add_block('built-in/Sum',[sys,'/','Diode/Sum'])
set_param([sys,'/','Diode/Sum'],...
'position',[270,120,290,140])
add_block('built-in/Product',[sys,'/','Diode/Product'])
set_param([sys,'/','Diode/Product'],...
'position',[195,123,225,147])
% Subsystem 'Diode/Sign'.
new_system([sys,'/','Diode/Sign'])
set_param([sys,'/','Diode/Sign'],'Location',[159,289,467,458])
add_block('built-in/Outport',[sys,'/','Diode/Sign/out_1'])
set_param([sys,'/','Diode/Sign/out_1'],...
'position',[265,70,285,90])
add_block('built-in/Inport',[sys,'/','Diode/Sign/in_1'])
set_param([sys,'/','Diode/Sign/in_1'],...
'position',[35,30,55,50])
add_block('built-in/Relational Operator',[sys,'/',['Diode/Sign/Relational',13,'Operator']])
set_param([sys,'/',['Diode/Sign/Relational',13,'Operator']],...
'Operator','>',...
'position',[140,32,170,63])
add_block('built-in/Sum',[sys,'/','Diode/Sign/Sum'])
set_param([sys,'/','Diode/Sign/Sum'],...
'inputs','+-',...
'position',[215,64,235,91])
add_block('built-in/Relational Operator',[sys,'/',['Diode/Sign/Relational',13,'Operator1']])
set_param([sys,'/',['Diode/Sign/Relational',13,'Operator1']],...
'Operator','<',...
'position',[140,92,170,123])
add_block('built-in/Constant',[sys,'/','Diode/Sign/Constant'])
set_param([sys,'/','Diode/Sign/Constant'],...
'Value','0',...
'position',[65,105,85,125])
add_line([sys,'/','Diode/Sign'],[60,40;135,40])
add_line([sys,'/','Diode/Sign'],[95,40;95,100;135,100])
add_line([sys,'/','Diode/Sign'],[90,115;135,115])
add_line([sys,'/','Diode/Sign'],[110,115;110,55;135,55])
add_line([sys,'/','Diode/Sign'],[175,110;185,110;185,85;210,85])
add_line([sys,'/','Diode/Sign'],[175,50;185,50;185,70;210,70])
add_line([sys,'/','Diode/Sign'],[240,80;260,80])
set_param([sys,'/','Diode/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,'/','Diode/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 'Diode/Sign'.
set_param([sys,'/','Diode/Sign'],...
'position',[120,117,150,143])
add_block('built-in/Outport',[sys,'/','Diode/out_1'])
set_param([sys,'/','Diode/out_1'],...
'position',[395,120,415,140])
add_block('built-in/Inport',[sys,'/','Diode/in_1'])
set_param([sys,'/','Diode/in_1'],...
'position',[70,120,90,140])
add_line([sys,'/','Diode'],[295,130;335,130])
add_line([sys,'/','Diode'],[95,130;100,90;245,90;245,125;265,125])
add_line([sys,'/','Diode'],[230,135;265,135])
add_line([sys,'/','Diode'],[95,130;100,180;170,180;170,140;190,140])
add_line([sys,'/','Diode'],[155,130;190,130])
add_line([sys,'/','Diode'],[370,130;390,130])
add_line([sys,'/','Diode'],[95,130;115,130])
set_param([sys,'/','Diode'],...
'Mask Display','plot([0 2 2 2],[0 0 2 -2],[2 4],[2 0],[2 4],[-2 0],[4 4 4 6],[-2 2 0 0]);',...
'Mask Type','二極管',...
'Mask Dialogue','二極管')
% Finished composite block 'Diode'.
set_param([sys,'/','Diode'],...
'Font Name','宋體',...
'Font Size',12,...
'Drop Shadow',4,...
'position',[120,283,155,307])
add_block('built-in/Note',[sys,'/','Y(t) = (A+X(t))*cos(Wc*t)'])
set_param([sys,'/','Y(t) = (A+X(t))*cos(Wc*t)'],...
'Font Name','宋體',...
'Font Size',12,...
'position',[310,90,315,95])
add_block('built-in/Note',[sys,'/','已調信號'])
set_param([sys,'/','已調信號'],...
'Font Name','宋體',...
'Font Size',12,...
'position',[265,120,270,125])
add_block('built-in/Note',[sys,'/','信號發送'])
set_param([sys,'/','信號發送'],...
'Font Name','宋體',...
'Font Size',12,...
'position',[265,145,270,150])
add_block('built-in/Note',[sys,'/','通信信道'])
set_param([sys,'/','通信信道'],...
'Font Name','宋體',...
'Font Size',12,...
'position',[205,220,210,225])
add_block('built-in/Note',[sys,'/','信號傳輸'])
set_param([sys,'/','信號傳輸'],...
'Font Name','宋體',...
'Font Size',12,...
'position',[140,245,145,250])
add_block('built-in/Note',[sys,'/','信號接收'])
set_param([sys,'/','信號接收'],...
'Font Name','宋體',...
'Font Size',12,...
'position',[65,295,70,300])
add_block('built-in/Note',[sys,'/','非同步調制//解調系統中的調制器——幅度調制'])
set_param([sys,'/','非同步調制//解調系統中的調制器——幅度調制'],...
'Font Name','宋體',...
'Font Size',12,...
'position',[225,20,230,25])
add_line(sys,[415,295;445,295])
add_line(sys,[75,105;120,105])
add_line(sys,[100,105;100,55;445,55])
add_line(sys,[300,295;345,295])
add_line(sys,[160,295;185,295])
add_line(sys,[210,115;445,115])
add_line(sys,[235,115;235,245;75,245;75,295;115,295])
add_line(sys,[160,165;170,165;180,120])
add_line(sys,[80,165;100,165;100,115;120,115])
add_line(sys,[100,165;130,165])
add_line(sys,[160,110;180,110])
add_line(sys,[320,295;320,200;445,200])
drawnow
% Return any arguments.
if (nargin | nargout)
% Must use feval here to access system in memory
if (nargin > 3)
if (flag == 0)
eval(['[ret,x0,str,ts,xts]=',sys,'(t,x,u,flag);'])
else
eval(['ret =', sys,'(t,x,u,flag);'])
end
else
[ret,x0,str,ts,xts] = feval(sys);
end
else
drawnow % Flash up the model and execute load callback
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -