📄 tsttcm.m
字号:
set_param([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector/Memory1']],...
'position',[125,80,165,110])
add_block('built-in/Inport',[sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector/in_1']])
set_param([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector/in_1']],...
'position',[10,15,30,35])
add_block('built-in/Relational Operator',[sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector/Relational',13,'Operator']])
set_param([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector/Relational',13,'Operator']],...
'position',[135,18,165,42])
add_line([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],[35,25;130,25])
add_line([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],[45,25;45,95;120,95])
add_line([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],[170,95;195,95])
add_line([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],[65,145;100,145;100,35;130,35])
add_line([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],[100,145;180,145;180,105;195,105])
add_line([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],[170,30;260,30])
add_line([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],[235,100;240,100;240,40;260,40])
add_line([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],[300,35;335,35])
set_param([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],...
'Mask Display','Edge\nDetector',...
'Mask Type','Edge Detection',...
'Mask Dialogue','Rising edge detection:|Threshold:',...
'Mask Translate','thld=@1;')
set_param([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],...
'Mask Help','When the input signal rising edge passed the given shreshold, this block outputs one, otherwise outputs zero.',...
'Mask Entries','thd\/')
% Finished composite block ['Binary vector',13,'convol encode/Rising edge',13,'detector'].
set_param([sys,'/',['Binary vector',13,'convol encode/Rising edge',13,'detector']],...
'BackGround',5,...
'position',[470,172,525,208])
add_block('built-in/Inport',[sys,'/',['Binary vector',13,'convol encode/in_2']])
set_param([sys,'/',['Binary vector',13,'convol encode/in_2']],...
'Port','2',...
'position',[420,180,440,200])
add_block('built-in/Memory',[sys,'/',['Binary vector',13,'convol encode/Memory']])
set_param([sys,'/',['Binary vector',13,'convol encode/Memory']],...
'ForeGround',2,...
'x0','zeros(n_st, 1)',...
'position',[265,70,305,100])
add_block('built-in/Switch',[sys,'/',['Binary vector',13,'convol encode/Switch']])
set_param([sys,'/',['Binary vector',13,'convol encode/Switch']],...
'Threshold','.1',...
'position',[215,70,245,100])
add_line([sys,'/',['Binary vector',13,'convol encode']],[235,185;135,185;135,80;150,80])
add_line([sys,'/',['Binary vector',13,'convol encode']],[395,85;405,85;405,185;275,185])
add_line([sys,'/',['Binary vector',13,'convol encode']],[180,75;210,75])
add_line([sys,'/',['Binary vector',13,'convol encode']],[310,85;320,85;320,125;195,125;195,95;210,95])
add_line([sys,'/',['Binary vector',13,'convol encode']],[320,85;340,85])
add_line([sys,'/',['Binary vector',13,'convol encode']],[250,85;260,85])
add_line([sys,'/',['Binary vector',13,'convol encode']],[395,85;415,85])
add_line([sys,'/',['Binary vector',13,'convol encode']],[130,70;150,70])
add_line([sys,'/',['Binary vector',13,'convol encode']],[280,20;450,20;460,75])
add_line([sys,'/',['Binary vector',13,'convol encode']],[450,85;460,85])
add_line([sys,'/',['Binary vector',13,'convol encode']],[605,150;585,150;585,100;605,100])
add_line([sys,'/',['Binary vector',13,'convol encode']],[50,70;95,70])
add_line([sys,'/',['Binary vector',13,'convol encode']],[75,70;75,20;245,20])
add_line([sys,'/',['Binary vector',13,'convol encode']],[490,80;495,80])
add_line([sys,'/',['Binary vector',13,'convol encode']],[550,80;605,80])
add_line([sys,'/',['Binary vector',13,'convol encode']],[645,90;665,90;655,150])
add_line([sys,'/',['Binary vector',13,'convol encode']],[645,90;685,90])
add_line([sys,'/',['Binary vector',13,'convol encode']],[445,190;465,190])
add_line([sys,'/',['Binary vector',13,'convol encode']],[530,190;545,190;545,90;605,90])
add_line([sys,'/',['Binary vector',13,'convol encode']],[545,150;185,150;185,85;210,85])
set_param([sys,'/',['Binary vector',13,'convol encode']],...
'Mask Display','plot(0,0,100,100,x,y,v,w);Convl en',...
'Mask Type','Vector I/O convolution encode')
set_param([sys,'/',['Binary vector',13,'convol encode']],...
'Mask Dialogue','Convolution encode with codeword length\nN and message length K. Transfer function\nmatrix is a K-by-N matrix.|Transfer function (or SIMULINK diagram):|Trigger signal threshold:')
set_param([sys,'/',['Binary vector',13,'convol encode']],...
'Mask Translate','tf=@1;[a,b,c,d,n,k,n_st,m]=simviter(tf);thd=@2;[x,y]=codeicon(1);[v,w]=trigicon(0,25,get_param(gcb,''orientation''),2);')
set_param([sys,'/',['Binary vector',13,'convol encode']],...
'Mask Help','This block encodes length K binary vector message input into length N binary vector codeword output using convolution code. The block refreshes its register memory and output at the rising edge of the second inport pulse. You can also use a SIMULINK block diagram to define the convolution code transfer function.')
set_param([sys,'/',['Binary vector',13,'convol encode']],...
'Mask Entries','''ungerboe''\/.5\/')
% Finished composite block ['Binary vector',13,'convol encode'].
set_param([sys,'/',['Binary vector',13,'convol encode']],...
'hide name',0,...
'position',[425,48,505,92])
add_block('built-in/S-Function',[sys,'/',['Integer vector',13,'to scalar1']])
set_param([sys,'/',['Integer vector',13,'to scalar1']],...
'hide name',0,...
'function name','simbi2de',...
'parameters','p',...
'Mask Display','Vec to sca\nconverter',...
'Mask Type','Base M vector to decimal integer')
set_param([sys,'/',['Integer vector',13,'to scalar1']],...
'Mask Dialogue','Convert base M integer with each\nposition in the input vector into scalar decimal output.|Input integer base M:',...
'Mask Translate','p=@1;')
set_param([sys,'/',['Integer vector',13,'to scalar1']],...
'Mask Help','This block convert the base M vector into scalar decimal integer output. Each element of the input vector is one position of the digit of the base M integer. The 1st element in the input vector contains the 1''s position. The 2nd element in the input vector contains the M''s position.')
set_param([sys,'/',['Integer vector',13,'to scalar1']],...
'Mask Entries','2\/',...
'position',[600,43,680,87])
add_block('built-in/Mux',[sys,'/','Mux'])
set_param([sys,'/','Mux'],...
'hide name',0,...
'inputs','2',...
'position',[540,46,575,79])
% Subsystem ['QASK',13,'circle-demap'].
new_system([sys,'/',['QASK',13,'circle-demap']])
set_param([sys,'/',['QASK',13,'circle-demap']],'Location',[96,182,645,417])
add_block('built-in/Zero-Order Hold',[sys,'/',['QASK',13,'circle-demap/Zero-Order',13,'Hold']])
set_param([sys,'/',['QASK',13,'circle-demap/Zero-Order',13,'Hold']],...
'ForeGround',2,...
'Sample time','td',...
'position',[120,29,155,61])
add_block('built-in/Inport',[sys,'/',['QASK',13,'circle-demap/real']])
set_param([sys,'/',['QASK',13,'circle-demap/real']],...
'position',[45,35,65,55])
add_block('built-in/Inport',[sys,'/',['QASK',13,'circle-demap/imag']])
set_param([sys,'/',['QASK',13,'circle-demap/imag']],...
'Port','2',...
'position',[45,120,65,140])
add_block('built-in/Zero-Order Hold',[sys,'/',['QASK',13,'circle-demap/Zero-Order',13,'Hold1']])
set_param([sys,'/',['QASK',13,'circle-demap/Zero-Order',13,'Hold1']],...
'ForeGround',4,...
'Sample time','td',...
'position',[120,114,155,146])
add_block('built-in/Sum',[sys,'/',['QASK',13,'circle-demap/Sum1']])
set_param([sys,'/',['QASK',13,'circle-demap/Sum1']],...
'ForeGround',2,...
'inputs','+-',...
'position',[230,38,250,67])
add_block('built-in/Sum',[sys,'/',['QASK',13,'circle-demap/Sum6']])
set_param([sys,'/',['QASK',13,'circle-demap/Sum6']],...
'ForeGround',4,...
'inputs','+-',...
'position',[230,123,250,152])
add_block('built-in/Product',[sys,'/',['QASK',13,'circle-demap/Product']])
set_param([sys,'/',['QASK',13,'circle-demap/Product']],...
'position',[300,45,325,65])
add_block('built-in/Product',[sys,'/',['QASK',13,'circle-demap/Product1']])
set_param([sys,'/',['QASK',13,'circle-demap/Product1']],...
'position',[300,130,325,150])
add_block('built-in/Sum',[sys,'/',['QASK',13,'circle-demap/Sum2']])
set_param([sys,'/',['QASK',13,'circle-demap/Sum2']],...
'position',[370,78,390,107])
add_block('built-in/S-Function',[sys,'/',['QASK',13,'circle-demap/Minimum1']])
set_param([sys,'/',['QASK',13,'circle-demap/Minimum1']],...
'function name','arymimai',...
'parameters','''min''',...
'position',[415,85,475,105])
add_block('built-in/Outport',[sys,'/',['QASK',13,'circle-demap/out_1']])
set_param([sys,'/',['QASK',13,'circle-demap/out_1']],...
'position',[495,85,515,105])
add_block('built-in/Constant',[sys,'/',['QASK',13,'circle-demap/real_pt']])
set_param([sys,'/',['QASK',13,'circle-demap/real_pt']],...
'BackGround',3,...
'Value','y1',...
'position',[170,84,195,106])
add_block('built-in/Constant',[sys,'/',['QASK',13,'circle-demap/imag_pt']])
set_param([sys,'/',['QASK',13,'circle-demap/imag_pt']],...
'BackGround',5,...
'Value','y2',...
'position',[165,169,190,191])
add_line([sys,'/',['QASK',13,'circle-demap']],[70,45;115,45])
add_line([sys,'/',['QASK',13,'circle-demap']],[70,130;115,130])
add_line([sys,'/',['QASK',13,'circle-demap']],[200,95;205,95;205,60;225,60])
add_line([sys,'/',['QASK',13,'circle-demap']],[160,45;225,45])
add_line([sys,'/',['QASK',13,'circle-demap']],[160,130;225,130])
add_line([sys,'/',['QASK',13,'circle-demap']],[195,180;205,180;205,145;225,145])
add_line([sys,'/',['QASK',13,'circle-demap']],[255,55;270,55;270,50;295,50])
add_line([sys,'/',['QASK',13,'circle-demap']],[270,55;270,60;295,60])
add_line([sys,'/',['QASK',13,'circle-demap']],[255,140;270,140;270,135;295,135])
add_line([sys,'/',['QASK',13,'circle-demap']],[270,140;270,145;295,145])
add_line([sys,'/',['QASK',13,'circle-demap']],[330,55;340,55;340,85;365,85])
add_line([sys,'/',['QASK',13,'circle-demap']],[330,140;340,140;340,100;365,100])
add_line([sys,'/',['QASK',13,'circle-demap']],[395,95;410,95])
add_line([sys,'/',['QASK',13,'circle-demap']],[480,95;490,95])
set_param([sys,'/',['QASK',13,'circle-demap']],...
'Mask Display','QASK\nC-demap',...
'Mask Type','QASK C-demap')
set_param([sys,'/',['QASK',13,'circle-demap']],...
'Mask Dialogue','Reverse the QASK map. Input in-phase\nand quadrature components from the\ntwo inputs. Output demapped signal.|Number of symbols on each circle NIC::|Radii for each circle RIC:|Phase shift on each circle PIC (rad):|Symbol interval and offset (sec):')
set_param([sys,'/',['QASK',13,'circle-demap']],...
'Mask Translate','N=@1;A=@2;P=@3;td=@4;y1=apkconst(N,A,P);y2=imag(y1);y1=real(y1);')
set_param([sys,'/',['QASK',13,'circle-demap']],...
'Mask Help','This block demaps a QASK mapped signal using circle constellation. You can place this block after a QAM demodulation block. The circle constellation is defined in NIC, RIC, and PIC. The symbol interval can be a two elements vector with the first element being offset. The default offset is zero. Use function MODMAP to view the constellation.')
set_param([sys,'/',['QASK',13,'circle-demap']],...
'Mask Entries','8\/1\/0\/1\/')
% Finished composite block ['QASK',13,'circle-demap'].
set_param([sys,'/',['QASK',13,'circle-demap']],...
'hide name',0,...
'position',[540,128,620,172])
% Subsystem ['QADM',13,'baseband'].
new_system([sys,'/',['QADM',13,'baseband']])
set_param([sys,'/',['QADM',13,'baseband']],'Location',[283,122,827,462])
add_block('built-in/Inport',[sys,'/',['QADM',13,'baseband/in_1']])
set_param([sys,'/',['QADM',13,'baseband/in_1']],...
'position',[55,115,75,135])
add_block('built-in/Constant',[sys,'/',['QADM',13,'baseband/Constant1']])
set_param([sys,'/',['QADM',13,'baseband/Constant1']],...
'Value','x2',...
'position',[160,245,180,265])
add_block('built-in/Sum',[sys,'/',['QADM',13,'baseband/Sum1']])
set_param([sys,'/',['QADM',13,'baseband/Sum1']],...
'position',[340,220,360,240])
add_block('built-in/Outport',[sys,'/',['QADM',13,'baseband/out_2']])
set_param([sys,'/',['QADM',13,'baseband/out_2']],...
'Port','2',...
'position',[485,220,505,240])
add_block('built-in/Filter',[sys,'/',['QADM',13,'baseband/Filter1']])
set_param([sys,'/',['QADM',13,'baseband/Filter1']],...
'Numerator','num',...
'Denominator','den',...
'Sample time','ts',...
'position',[395,211,450,249])
add_block('built-in/Product',[sys,'/',['QADM',13,'baseband/Product1']])
set_param([sys,'/',['QADM',13,'baseband/Product1']],...
'position',[260,123,290,147])
add_block('built-in/Demux',[sys,'/',['QADM',13,'baseband/Demux']])
set_param([sys,'/',['QADM',13,'baseband/Demux']],...
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -