📄 askwnymf.m
字号:
set_param([sys,'/','Senkensignal v(t)'],...
'position',[995,115,1025,145])
add_block('built-in/Scope',[sys,'/','d_e(t)'])
set_param([sys,'/','d_e(t)'],...
'orientation',1,...
'Vgain','1.500000',...
'Hgain','25.000000',...
'Vmax','3.000000',...
'Hmax','50.000000',...
'Window',[356,828,1280,928])
open_system([sys,'/','d_e(t)'])
set_param([sys,'/','d_e(t)'],...
'position',[825,185,855,215])
% Subsystem 'Error rate'.
new_system([sys,'/','Error rate'])
set_param([sys,'/','Error rate'],'Location',[255,368,509,510])
add_block('built-in/Inport',[sys,'/','Error rate/in_2'])
set_param([sys,'/','Error rate/in_2'],...
'Port','2',...
'position',[15,60,35,80])
add_block('built-in/Inport',[sys,'/','Error rate/in_1'])
set_param([sys,'/','Error rate/in_1'],...
'position',[15,45,35,65])
add_block('built-in/Mux',[sys,'/','Error rate/Mux'])
set_param([sys,'/','Error rate/Mux'],...
'inputs','2',...
'position',[65,46,100,79])
add_block('built-in/S-Function',[sys,'/','Error rate/S-function'])
set_param([sys,'/','Error rate/S-function'],...
'function name','sbiterr',...
'parameters','num_lin, K, TDelay, Sample',...
'position',[130,52,195,78])
add_line([sys,'/','Error rate'],[40,70;60,70])
add_line([sys,'/','Error rate'],[40,55;60,55])
add_line([sys,'/','Error rate'],[105,65;125,65])
set_param([sys,'/','Error rate'],...
'Mask Display','Error\nmeter',...
'Mask Type','Symbol/bit error counter')
set_param([sys,'/','Error rate'],...
'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 signal.|Bit per symbol:|Number of digits on display:|Delay between 1st port and 2nd port:|Sample time (sec):')
set_param([sys,'/','Error rate'],...
'Mask Translate','K=@1;num_lin=@2;TDelay=@3;Sample=@4;')
set_param([sys,'/','Error rate'],...
'Mask Help','The signal from the first port must be a scalar. The second input port can be a vector with a delay to the first port signal. The comparison happens only at the sampling point.')
set_param([sys,'/','Error rate'],...
'Mask Entries','2\/10\/12\/1\/')
% Finished composite block 'Error rate'.
set_param([sys,'/','Error rate'],...
'orientation',1,...
'position',[910,225,990,265])
% Subsystem 'MASK demap'.
new_system([sys,'/','MASK demap'])
set_param([sys,'/','MASK demap'],'Location',[187,342,628,482])
add_block('built-in/Zero-Order Hold',[sys,'/',['MASK demap/Zero-Order',13,'Hold']])
set_param([sys,'/',['MASK demap/Zero-Order',13,'Hold']],...
'Sample time','td',...
'position',[85,29,120,61])
add_block('built-in/Constant',[sys,'/','MASK demap/Shift key'])
set_param([sys,'/','MASK demap/Shift key'],...
'Value','sft',...
'position',[115,93,135,117])
add_block('built-in/Sum',[sys,'/','MASK demap/Sum2'])
set_param([sys,'/','MASK demap/Sum2'],...
'inputs','+-',...
'position',[180,38,200,67])
add_block('built-in/Abs',[sys,'/','MASK demap/Abs'])
set_param([sys,'/','MASK demap/Abs'],...
'position',[235,42,270,68])
add_block('built-in/Outport',[sys,'/','MASK demap/out_1'])
set_param([sys,'/','MASK demap/out_1'],...
'position',[400,45,420,65])
add_block('built-in/S-Function',[sys,'/','MASK demap/Minimum'])
set_param([sys,'/','MASK demap/Minimum'],...
'function name','arymimai',...
'parameters','''min''',...
'position',[315,45,370,65])
add_block('built-in/Inport',[sys,'/','MASK demap/in_1'])
set_param([sys,'/','MASK demap/in_1'],...
'position',[30,35,50,55])
add_line([sys,'/','MASK demap'],[55,45;80,45])
add_line([sys,'/','MASK demap'],[275,55;310,55])
add_line([sys,'/','MASK demap'],[125,45;175,45])
add_line([sys,'/','MASK demap'],[375,55;395,55])
add_line([sys,'/','MASK demap'],[140,105;155,105;155,60;175,60])
add_line([sys,'/','MASK demap'],[205,55;230,55])
set_param([sys,'/','MASK demap'],...
'Mask Display','MASK\ndemap',...
'Mask Type','MASK demap')
set_param([sys,'/','MASK demap'],...
'Mask Dialogue','Reverse the MASK mapping process\nConvert [-1 1] analog signal to [0, M-1] symbols.|M-ary number (digit integers in ranger [0, M-1]):|Output symbol interval and offset (sec):')
set_param([sys,'/','MASK demap'],...
'Mask Translate','N=@1;Ac=1;sft=[0:N-1]*Ac*2/(N-1)-Ac;td=@2;')
set_param([sys,'/','MASK demap'],...
'Mask Help','This block demaps a MASK mapped signal back to digit symbols. You can place this block after a amplitude demodulation block. The input of this block is an analog signal in the range [-1, 1]. The demodulation decides the closest integer fitting in [0,M-1] range. When the input symbol interval is a two-elements vector, the second element is offset. The default offset value is 0.')
set_param([sys,'/','MASK demap'],...
'Mask Entries','4\/[1, .9]\/')
% Finished composite block 'MASK demap'.
set_param([sys,'/','MASK demap'],...
'position',[870,108,950,152])
add_block('built-in/Product',[sys,'/','Product1'])
set_param([sys,'/','Product1'],...
'hide name',0,...
'position',[660,112,685,143])
add_block('built-in/Scope',[sys,'/',['Bin鋜es',13,'Datensignal']])
set_param([sys,'/',['Bin鋜es',13,'Datensignal']],...
'Vgain','3.000000',...
'Hgain','25.000000',...
'Vmax','6.000000',...
'Hmax','50.000000',...
'Window',[357,337,1280,437])
open_system([sys,'/',['Bin鋜es',13,'Datensignal']])
set_param([sys,'/',['Bin鋜es',13,'Datensignal']],...
'position',[175,20,205,50])
% Subsystem ['ASK Mo//Dem',13,'demo1'].
new_system([sys,'/',['ASK Mo//Dem',13,'demo1']])
set_param([sys,'/',['ASK Mo//Dem',13,'demo1']],'Location',[175,552,335,697])
set_param([sys,'/',['ASK Mo//Dem',13,'demo1']],...
'Mask Display','Signalraum-\nKonstellation',...
'Mask Dialogue','eval(''figure''); eval(''modmap(''''ask'''',4)'')')
% Finished composite block ['ASK Mo//Dem',13,'demo1'].
set_param([sys,'/',['ASK Mo//Dem',13,'demo1']],...
'BackGround',7,...
'hide name',0,...
'position',[10,18,90,62])
% Subsystem 'Wurzel-Nyquist'.
new_system([sys,'/','Wurzel-Nyquist'])
set_param([sys,'/','Wurzel-Nyquist'],'Location',[131,545,589,761])
% Subsystem ['Wurzel-Nyquist/Pulses deivide',13,'same sample time1'].
new_system([sys,'/',['Wurzel-Nyquist/Pulses deivide',13,'same sample time1']])
set_param([sys,'/',['Wurzel-Nyquist/Pulses deivide',13,'same sample time1']],'Location',[55,192,283,286])
add_block('built-in/S-Function',[sys,'/',['Wurzel-Nyquist/Pulses deivide',13,'same sample time1/S-function1']])
set_param([sys,'/',['Wurzel-Nyquist/Pulses deivide',13,'same sample time1/S-function1']],...
'function name','homopuls',...
'parameters','samp_time, out_divid, offset',...
'position',[40,31,105,59])
add_block('built-in/Outport',[sys,'/',['Wurzel-Nyquist/Pulses deivide',13,'same sample time1/Outport']])
set_param([sys,'/',['Wurzel-Nyquist/Pulses deivide',13,'same sample time1/Outport']],...
'position',[160,35,180,55])
add_line([sys,'/',['Wurzel-Nyquist/Pulses deivide',13,'same sample time1']],[110,45;155,45])
set_param([sys,'/',['Wurzel-Nyquist/Pulses deivide',13,'same sample time1']],...
'Mask Display','Vector\nPulse',...
'Mask Type','Pulse generator')
set_param([sys,'/',['Wurzel-Nyquist/Pulses deivide',13,'same sample time1']],...
'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,'/',['Wurzel-Nyquist/Pulses deivide',13,'same sample time1']],...
'Mask Translate','samp_time=@1;out_divid=@2;offset=@3;')
set_param([sys,'/',['Wurzel-Nyquist/Pulses deivide',13,'same sample time1']],...
'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,'/',['Wurzel-Nyquist/Pulses deivide',13,'same sample time1']],...
'Mask Entries','td\/1\/off\/')
% Finished composite block ['Wurzel-Nyquist/Pulses deivide',13,'same sample time1'].
set_param([sys,'/',['Wurzel-Nyquist/Pulses deivide',13,'same sample time1']],...
'position',[35,71,95,109])
add_block('built-in/Inport',[sys,'/','Wurzel-Nyquist/in_1'])
set_param([sys,'/','Wurzel-Nyquist/in_1'],...
'position',[35,30,55,50])
add_block('built-in/Outport',[sys,'/','Wurzel-Nyquist/out_1'])
set_param([sys,'/','Wurzel-Nyquist/out_1'],...
'position',[330,40,350,60])
add_block('built-in/Filter',[sys,'/','Wurzel-Nyquist/Filter'])
set_param([sys,'/','Wurzel-Nyquist/Filter'],...
'Numerator','num',...
'Denominator','den',...
'Sample time','ts',...
'position',[255,31,310,69])
% Subsystem 'Wurzel-Nyquist/Memory Impulse'.
new_system([sys,'/','Wurzel-Nyquist/Memory Impulse'])
set_param([sys,'/','Wurzel-Nyquist/Memory Impulse'],'Location',[541,520,939,745])
add_block('built-in/Inport',[sys,'/','Wurzel-Nyquist/Memory Impulse/in_2'])
set_param([sys,'/','Wurzel-Nyquist/Memory Impulse/in_2'],...
'Port','2',...
'position',[25,30,45,50])
% Subsystem ['Wurzel-Nyquist/Memory Impulse/discrete',13,'Rising edge',13,'detector'].
new_system([sys,'/',['Wurzel-Nyquist/Memory Impulse/discrete',13,'Rising edge',13,'detector']])
set_param([sys,'/',['Wurzel-Nyquist/Memory Impulse/discrete',13,'Rising edge',13,'detector']],'Location',[419,521,808,713])
add_block('built-in/Unit Delay',[sys,'/',['Wurzel-Nyquist/Memory Impulse/discrete',13,'Rising edge',13,'detector/Unit Delay']])
set_param([sys,'/',['Wurzel-Nyquist/Memory Impulse/discrete',13,'Rising edge',13,'detector/Unit Delay']],...
'Sample time','ts',...
'position',[120,87,170,103])
add_block('built-in/Outport',[sys,'/',['Wurzel-Nyquist/Memory Impulse/discrete',13,'Rising edge',13,'detector/out_1']])
set_param([sys,'/',['Wurzel-Nyquist/Memory Impulse/discrete',13,'Rising edge',13,'detector/out_1']],...
'position',[340,25,360,45])
add_block('built-in/Relational Operator',[sys,'/',['Wurzel-Nyquist/Memory Impulse/discrete',13,'Rising edge',13,'detector/Relational',13,'Operator1']])
set_param([sys,'/',['Wurzel-Nyquist/Memory Impulse/discrete',13,'Rising edge',13,'detector/Relational',13,'Operator1']],...
'position',[200,88,230,112])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -