📄 tddmqask.m
字号:
function [ret,x0,str,ts,xts]=tddmqask(t,x,u,flag);
%TDDMQASK is the M-file description of the SIMULINK system named TDDMQASK.
% The block-diagram can be displayed by typing: TDDMQASK.
%
% SYS=TDDMQASK(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 TDDMQASK 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 TDDMQASK with a FLAG of zero:
% [SIZES]=TDDMQASK([],[],[],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',[22,383,676,497])
open_system(sys)
end;
set_param(sys,'algorithm', 'RK-45')
set_param(sys,'Start time', '0.0')
set_param(sys,'Stop time', '999')
set_param(sys,'Min step size', 'ts')
set_param(sys,'Max step size', 'ts')
set_param(sys,'Relative error','1e-3')
set_param(sys,'Return vars', '')
set_param(sys,'Load callback','ts=.01;td=.1;M=8;Fc=100/2/pi;');
% Subsystem 'Error rate1'.
new_system([sys,'/','Error rate1'])
set_param([sys,'/','Error rate1'],'Location',[255,368,509,510])
add_block('built-in/S-Function',[sys,'/','Error rate1/S-function'])
set_param([sys,'/','Error rate1/S-function'],...
'function name','sbiterr',...
'parameters','num_lin, K, TDelay, Sample',...
'position',[130,52,195,78])
add_block('built-in/Mux',[sys,'/','Error rate1/Mux'])
set_param([sys,'/','Error rate1/Mux'],...
'inputs','2',...
'position',[65,46,100,79])
add_block('built-in/Inport',[sys,'/','Error rate1/in_1'])
set_param([sys,'/','Error rate1/in_1'],...
'position',[15,45,35,65])
add_block('built-in/Inport',[sys,'/','Error rate1/in_2'])
set_param([sys,'/','Error rate1/in_2'],...
'Port','2',...
'position',[15,60,35,80])
add_line([sys,'/','Error rate1'],[105,65;125,65])
add_line([sys,'/','Error rate1'],[40,55;60,55])
add_line([sys,'/','Error rate1'],[40,70;60,70])
set_param([sys,'/','Error rate1'],...
'Mask Display','Error\nmeter',...
'Mask Type','Symbol/bit error counter')
set_param([sys,'/','Error rate1'],...
'Mask Dialogue','Use the input data from the 1st port as the reference signal to detect the number of errors and error rate of the 2nd port inputted signal.|Bit per symbol:|Number of digits on display:|Delay between input (1st port) and output (2nd port):|Sampling time (sec):')
set_param([sys,'/','Error rate1'],...
'Mask Translate','K=@1;num_lin=@2;TDelay=@3;Sample=@4;')
set_param([sys,'/','Error rate1'],...
'Mask Help','The signal from the first port must be a scalar. The second input port can be a vector with a same-time delay to the input signal. The comparison happens only at the sampling point.')
set_param([sys,'/','Error rate1'],...
'Mask Entries','ceil(log10(M)/log10(2))\/20\/td\/td\/')
% Finished composite block 'Error rate1'.
set_param([sys,'/','Error rate1'],...
'hide name',0,...
'position',[550,33,630,77])
% Subsystem ['Square-map',13,'QASK demod'].
new_system([sys,'/',['Square-map',13,'QASK demod']])
set_param([sys,'/',['Square-map',13,'QASK demod']],'Location',[616,427,966,520])
% Subsystem ['Square-map',13,'QASK demod/QASK',13,'square-demap'].
new_system([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap']],'Location',[57,374,831,674])
add_block('built-in/Zero-Order Hold',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Zero-Order',13,'Hold']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Zero-Order',13,'Hold']],...
'Sample time','td',...
'position',[135,24,170,56])
add_block('built-in/Inport',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/in_1']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/in_1']],...
'position',[60,30,80,50])
add_block('built-in/Zero-Order Hold',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Zero-Order',13,'Hold1']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Zero-Order',13,'Hold1']],...
'Sample time','td',...
'position',[135,149,170,181])
add_block('built-in/Inport',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/in_2']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/in_2']],...
'Port','2',...
'position',[60,155,80,175])
add_block('built-in/Sum',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Sum5']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Sum5']],...
'ForeGround',2,...
'position',[470,153,490,182])
% Subsystem ['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D Table'].
new_system([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D Table']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D Table']],'Location',[436,148,718,302])
add_block('built-in/Inport',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D Table/y0']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D Table/y0']],...
'Port','2',...
'position',[20,80,40,100])
add_block('built-in/Outport',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D Table/table out']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D Table/table out']],...
'position',[215,55,235,75])
add_block('built-in/Inport',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D Table/x0']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D Table/x0']],...
'position',[20,25,40,45])
add_block('built-in/S-Function',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D Table/S-function']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D Table/S-function']],...
'function name','sftable2',...
'parameters','xindex, yindex, table',...
'position',[140,52,190,78])
add_block('built-in/Mux',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D Table/Mux']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D Table/Mux']],...
'inputs','2',...
'position',[90,46,120,79])
add_line([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D Table']],[45,90;65,90;65,70;85,70])
add_line([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D Table']],[195,65;210,65])
add_line([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D Table']],[45,35;65,35;65,55;85,55])
add_line([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D Table']],[125,65;135,65])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D 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,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D 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,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D Table']],...
'Mask Translate','xindex=@1; yindex=@2; table=@3; sftab2chk(xindex,yindex,table);')
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D 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,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D Table']],...
'Mask Entries','x\/y\/tab\/')
% Finished composite block ['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D Table'].
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/2-D Table']],...
'position',[515,68,545,92])
add_block('built-in/Sum',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Sum3']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Sum3']],...
'ForeGround',2,...
'inputs','+-',...
'position',[580,73,600,102])
add_block('built-in/Saturation',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Saturation']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Saturation']],...
'Lower Limit','0',...
'Upper Limit','N-1',...
'position',[630,78,660,102])
add_block('built-in/Outport',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/out_1']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/out_1']],...
'position',[685,80,705,100])
add_block('built-in/Sum',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Sum4']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Sum4']],...
'ForeGround',2,...
'position',[470,58,490,87])
add_block('built-in/Sum',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Sum1']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Sum1']],...
'ForeGround',2,...
'inputs','+-',...
'position',[280,33,300,62])
add_block('built-in/Sum',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Sum2']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Sum2']],...
'ForeGround',2,...
'inputs','+-',...
'position',[290,158,310,187])
add_block('built-in/S-Function',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Minimum']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Minimum']],...
'function name','arymimai',...
'parameters','''min''',...
'position',[385,165,450,185])
add_block('built-in/Constant',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Shift key']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Shift key']],...
'Value','sfty',...
'position',[225,214,250,236])
add_block('built-in/S-Function',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Minimum1']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Minimum1']],...
'function name','arymimai',...
'parameters','''min''',...
'position',[385,40,445,60])
add_block('built-in/Constant',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Shift key1']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Shift key1']],...
'Value','sftx',...
'position',[220,89,245,111])
add_block('built-in/Constant',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Shift key2']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Shift key2']],...
'BackGround',5,...
'position',[325,114,350,136])
add_block('built-in/Abs',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Abs1']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Abs1']],...
'position',[325,38,355,62])
add_block('built-in/Abs',[sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Abs']])
set_param([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap/Abs']],...
'position',[325,163,355,187])
add_line([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap']],[85,40;130,40])
add_line([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap']],[360,175;380,175])
add_line([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap']],[315,175;320,175])
add_line([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap']],[255,225;260,225;260,180;285,180])
add_line([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap']],[250,100;255,100;255,55;275,55])
add_line([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap']],[305,50;320,50])
add_line([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap']],[360,50;380,50])
add_line([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap']],[665,90;680,90])
add_line([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap']],[550,80;575,80])
add_line([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap']],[605,90;625,90])
add_line([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap']],[450,50;450,65;465,65])
add_line([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap']],[455,175;465,175])
add_line([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap']],[495,170;500,170;510,85])
add_line([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap']],[355,125;560,125;560,95;575,95])
add_line([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap']],[450,125;450,160;465,160])
add_line([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap']],[450,125;450,80;465,80])
add_line([sys,'/',['Square-map',13,'QASK demod/QASK',13,'square-demap']],[495,75;510,75])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -