📄 tstconsq.m
字号:
add_block('built-in/Relational Operator',[sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector/Relational',13,'Operator1']])
set_param([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector/Relational',13,'Operator1']],...
'position',[200,88,230,112])
add_block('built-in/Relational Operator',[sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector/Relational',13,'Operator2']])
set_param([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector/Relational',13,'Operator2']],...
'Operator','>',...
'position',[265,23,295,47])
add_block('built-in/Constant',[sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector/one1']])
set_param([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector/one1']],...
'Value','thld',...
'position',[30,135,60,155])
add_block('built-in/Memory',[sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector/Memory1']])
set_param([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector/Memory1']],...
'position',[125,80,165,110])
add_block('built-in/Inport',[sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector/in_1']])
set_param([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector/in_1']],...
'position',[10,15,30,35])
add_block('built-in/Relational Operator',[sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector/Relational',13,'Operator']])
set_param([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector/Relational',13,'Operator']],...
'position',[135,18,165,42])
add_line([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector']],[35,25;130,25])
add_line([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector']],[45,25;45,95;120,95])
add_line([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector']],[170,95;195,95])
add_line([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector']],[65,145;100,145;100,35;130,35])
add_line([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector']],[100,145;180,145;180,105;195,105])
add_line([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector']],[170,30;260,30])
add_line([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector']],[235,100;240,100;240,40;260,40])
add_line([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector']],[300,35;335,35])
set_param([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector']],...
'Mask Display','Edge\nDetector',...
'Mask Type','Edge Detection')
set_param([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector']],...
'Mask Dialogue','Rising edge detection:|Threshold:',...
'Mask Translate','thld=@1;')
set_param([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector']],...
'Mask Help','When the input signal rising edge passed the given shreshold, this block outputs one, otherwise outputs zero.')
set_param([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector']],...
'Mask Entries','thd\/')
% Finished composite block ['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector'].
set_param([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/Rising edge',13,'detector']],...
'position',[75,112,130,148])
add_block('built-in/Inport',[sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/in_1']])
set_param([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2/in_1']],...
'position',[65,35,85,55])
add_line([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2']],[135,130;140,130;140,60;165,60])
add_line([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2']],[90,45;165,45])
add_line([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2']],[210,55;230,55])
add_line([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2']],[350,60;375,60;375,75;440,75])
add_line([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2']],[350,45;400,45])
add_line([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2']],[285,55;300,55])
add_line([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2']],[55,130;70,130])
set_param([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2']],...
'Mask Display','plot(0,0,100,100,x,y,v,w);Convl de',...
'Mask Type','Vector I/O convolution decode')
set_param([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2']],...
'Mask Dialogue','Convolution decode with codeword length\nN and message length K. Transfer function\nmatrix is a K-by-N matrix.|Transfer function (or SIMULINK diagram):|Path memory length (delay=path_length*K*T_out):|Transfer probability (3 row matrix, 0 for hard decision):|Trellis figure plot length (0 for no plot):|Trigger signal threshold:')
set_param([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2']],...
'Mask Translate','gen=@1;leng=@2;tran_prob=@3;plot_flag=@4;thd=@5;[tf,v2,v3,v4,v5,v6,M,nss]=simviter(gen);[x,y]=codeicon(2);[v,w]=trigicon(0,25,get_param(gcb,''orientation''),2);v1=zeros(7,1);v2=zeros(nss,1);v3=zeros(nss^2*leng,1);v4=zeros(nss,1);tf=simviter(gen);')
set_param([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2']],...
'Mask Help','This block decodes length N binary vector convolution code codeword into length K binary vector message using Viterbi algorithm. The block refreshes its register memory and decoding output at the rising edge of the second inport pulse. The second outport outputs the metric value for soft decision or the accumulative distance for hard\ndecision.')
set_param([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2']],...
'Mask Entries','gen\/leng\/tran_prob\/plot_flag\/.5\/')
% Finished composite block ['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2'].
set_param([sys,'/',['Binary sequence',13,'convol decode/Binary vector',13,'convol decode2']],...
'hide name',0,...
'position',[275,23,355,67])
add_block('built-in/Outport',[sys,'/',['Binary sequence',13,'convol decode/out_2']])
set_param([sys,'/',['Binary sequence',13,'convol decode/out_2']],...
'Port','2',...
'position',[375,45,395,65])
add_block('built-in/Demux',[sys,'/',['Binary sequence',13,'convol decode/Demux']])
set_param([sys,'/',['Binary sequence',13,'convol decode/Demux']],...
'hide name',0,...
'outputs','2',...
'position',[110,80,150,115])
% Subsystem ['Binary sequence',13,'convol decode/Pulses deivide',13,'same sample time'].
new_system([sys,'/',['Binary sequence',13,'convol decode/Pulses deivide',13,'same sample time']])
set_param([sys,'/',['Binary sequence',13,'convol decode/Pulses deivide',13,'same sample time']],'Location',[55,192,283,286])
add_block('built-in/S-Function',[sys,'/',['Binary sequence',13,'convol decode/Pulses deivide',13,'same sample time/S-function1']])
set_param([sys,'/',['Binary sequence',13,'convol decode/Pulses deivide',13,'same sample time/S-function1']],...
'function name','homopuls',...
'parameters','samp_time, out_divid, offset',...
'position',[40,31,105,59])
add_block('built-in/Outport',[sys,'/',['Binary sequence',13,'convol decode/Pulses deivide',13,'same sample time/Outport']])
set_param([sys,'/',['Binary sequence',13,'convol decode/Pulses deivide',13,'same sample time/Outport']],...
'position',[160,35,180,55])
add_line([sys,'/',['Binary sequence',13,'convol decode/Pulses deivide',13,'same sample time']],[110,45;155,45])
set_param([sys,'/',['Binary sequence',13,'convol decode/Pulses deivide',13,'same sample time']],...
'Mask Display','Vector\nPulse',...
'Mask Type','Pulse generator')
set_param([sys,'/',['Binary sequence',13,'convol decode/Pulses deivide',13,'same sample time']],...
'Mask Dialogue','Vector pulses with sample rate of each pulse as Sample_time ./Divider. |Sample time (scalar, sec):|Divider (integer vector):|Offset (have same dimension as Divider):')
set_param([sys,'/',['Binary sequence',13,'convol decode/Pulses deivide',13,'same sample time']],...
'Mask Translate','samp_time=@1;out_divid=@2;offset=@3;')
set_param([sys,'/',['Binary sequence',13,'convol decode/Pulses deivide',13,'same sample time']],...
'Mask Help','This block generator a vector pulses. The output length is the same as the vector defined in "Divider". The ith element of the output has the sample time Sample_time/Divider(i). All elements in "Divider" must be integers.')
set_param([sys,'/',['Binary sequence',13,'convol decode/Pulses deivide',13,'same sample time']],...
'Mask Entries','samp*k\/[n, k]\/[0 0]\/')
% Finished composite block ['Binary sequence',13,'convol decode/Pulses deivide',13,'same sample time'].
set_param([sys,'/',['Binary sequence',13,'convol decode/Pulses deivide',13,'same sample time']],...
'ForeGround',2,...
'position',[25,81,85,119])
add_block('built-in/Outport',[sys,'/',['Binary sequence',13,'convol decode/sequential',13,'message-out']])
set_param([sys,'/',['Binary sequence',13,'convol decode/sequential',13,'message-out']],...
'position',[560,30,580,50])
add_block('built-in/Inport',[sys,'/',['Binary sequence',13,'convol decode/sequential',13,'code-word-in']])
set_param([sys,'/',['Binary sequence',13,'convol decode/sequential',13,'code-word-in']],...
'position',[100,25,120,45])
% Subsystem ['Binary sequence',13,'convol decode/Register-shift'].
new_system([sys,'/',['Binary sequence',13,'convol decode/Register-shift']])
set_param([sys,'/',['Binary sequence',13,'convol decode/Register-shift']],'Location',[19,610,374,740])
add_block('built-in/Inport',[sys,'/',['Binary sequence',13,'convol decode/Register-shift/in_2']])
set_param([sys,'/',['Binary sequence',13,'convol decode/Register-shift/in_2']],...
'Port','2',...
'position',[40,70,60,90])
add_block('built-in/Inport',[sys,'/',['Binary sequence',13,'convol decode/Register-shift/in_1']])
set_param([sys,'/',['Binary sequence',13,'convol decode/Register-shift/in_1']],...
'position',[10,55,30,75])
add_block('built-in/Demux',[sys,'/',['Binary sequence',13,'convol decode/Register-shift/Demux']])
set_param([sys,'/',['Binary sequence',13,'convol decode/Register-shift/Demux']],...
'outputs','[len_rg, 1]',...
'position',[260,55,300,90])
add_block('built-in/S-Function',[sys,'/',['Binary sequence',13,'convol decode/Register-shift/S-function']])
set_param([sys,'/',['Binary sequence',13,'convol decode/Register-shift/S-function']],...
'function name','regshift',...
'parameters','shft_out, thrhld',...
'position',[150,65,200,85])
add_block('built-in/Mux',[sys,'/',['Binary sequence',13,'convol decode/Register-shift/Mux']])
set_param([sys,'/',['Binary sequence',13,'convol decode/Register-shift/Mux']],...
'inputs','2',...
'position',[80,56,115,89])
add_block('built-in/Outport',[sys,'/',['Binary sequence',13,'convol decode/Register-shift/out_1']])
set_param([sys,'/',['Binary sequence',13,'convol decode/Register-shift/out_1']],...
'position',[330,55,350,75])
add_block('built-in/Outport',[sys,'/',['Binary sequence',13,'convol decode/Register-shift/out_2']])
set_param([sys,'/',['Binary sequence',13,'convol decode/Register-shift/out_2']],...
'Port','2',...
'position',[330,70,350,90])
add_line([sys,'/',['Binary sequence',13,'convol decode/Register-shift']],[120,75;145,75])
add_line([sys,'/',['Binary sequence',13,'convol decode/Register-shift']],[205,75;255,75])
add_line([sys,'/',['Binary sequence',13,'convol decode/Register-shift']],[305,65;325,65])
add_line([sys,'/',['Binary sequence',13,'convol decode/Register-shift']],[305,80;325,80])
add_line([sys,'/',['Binary sequence',13,'convol decode/Register-shift']],[35,65;75,65])
add_line([sys,'/',['Binary sequence',13,'convol decode/Register-shift']],[65,80;75,80])
set_param([sys,'/',['Binary sequence',13,'convol decode/Register-shift']],...
'Mask Display','Register\nshift',...
'Mask Type','Register-shift')
set_param([sys,'/',['Binary sequence',13,'convol decode/Register-shift']],...
'Mask Dialogue','Store and shift the input from 1st port by raising edge of the pulse from second port.|Vector specify ouput delay length(non-negative integer):|Threshold for the pulse signal from the 2nd port:')
set_param([sys,'/',['Binary sequence',13,'convol decode/Register-shift']],...
'Mask Translate','shft_out=@1; thrhld=@2; len_rg=length(@1);')
set_param([sys,'/',['Binary sequence',13,'convol decode/Register-shift']],...
'Mask Help','This block store the 1st inport signal at the raising edge of 2nd inport pulse. The 1st outport outputs a vector with its size same as the the size of the 1st entree of this block. The maximum delay is the register size of this block. The second outport output a positive pulse at the begining of entire register refreshment.')
set_param([sys,'/',['Binary sequence',13,'convol decode/Register-shift']],...
'Mask Entries','[n:-1:1]\/.1\/')
% Finished composite block ['Binary sequence',13,'convol decode/Register-shift'].
set_param([sys,'/',['Binary sequence',13,'convol decode/Register-shift']],...
'BackGround',3,...
'hide name',0,...
'position',[185,25,240,65])
% Subsystem ['Binary sequence',13,'convol decode/Triggered',13,'buffer down'].
new_system([sys,'/',['Binary sequence',13,'convol decode/Triggered',13,'buffe
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -