📄 tceps3cd.m
字号:
add_line([sys,'/',['Rayleigh fading channel',13,'w vary para CE']],[230,145;295,145])
add_line([sys,'/',['Rayleigh fading channel',13,'w vary para CE']],[185,40;215,40;215,135;295,135])
add_line([sys,'/',['Rayleigh fading channel',13,'w vary para CE']],[215,135;215,195;295,195])
add_line([sys,'/',['Rayleigh fading channel',13,'w vary para CE']],[185,25;295,25])
add_line([sys,'/',['Rayleigh fading channel',13,'w vary para CE']],[240,25;240,95;290,95])
add_line([sys,'/',['Rayleigh fading channel',13,'w vary para CE']],[100,35;135,35])
add_line([sys,'/',['Rayleigh fading channel',13,'w vary para CE']],[70,170;80,170;80,145;105,145])
add_line([sys,'/',['Rayleigh fading channel',13,'w vary para CE']],[80,170;80,205;110,205])
set_param([sys,'/',['Rayleigh fading channel',13,'w vary para CE']],...
'Mask Display','plot(0,0,100,100,x,y,v,w,u,z);Rayl F',...
'Mask Type','Rayleigh fading channel, vary parameter')
set_param([sys,'/',['Rayleigh fading channel',13,'w vary para CE']],...
'Mask Dialogue','The fading envelope and the phase shift of the channel changes with the 2nd and 3rd input port values.')
set_param([sys,'/',['Rayleigh fading channel',13,'w vary para CE']],...
'Mask Translate','[x,y]=chanicon;x=x*.9+10;[v,w]=cmplxicn(0,85,get_param(gcb,''orientation''));[u,z]=cmplxicn(1,55,get_param(gcb,''orientation''));')
set_param([sys,'/',['Rayleigh fading channel',13,'w vary para CE']],...
'Mask Help','This block applies Rayleigh fading to the transmitting signals. The fading envelope and the phase of the channel are provided in the 2nd and the 3rd input port. The 1st input port and the output of this block are complex signals.')
% Finished composite block ['Rayleigh fading channel',13,'w vary para CE'].
set_param([sys,'/',['Rayleigh fading channel',13,'w vary para CE']],...
'hide name',0,...
'position',[245,58,325,102])
% 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','View\nconstellation')
set_param([sys,'/',['ASK Mo//Dem',13,'demo1']],...
'Mask Dialogue','eval(''modmap(''''qask/arb'''',[real(exp(j*[1:floor(M/3)]/floor(M/3)*pi*2)) 2*real(exp(j*[1:M-floor(M/3)]/(M-floor(M/3))*pi*2))],[imag(exp(j*[1:floor(M/3)]/floor(M/3)*pi*2)) 2*imag(exp(j*[1:M-floor(M/3)]/(M-floor(M/3))*pi*2))])'')')
% Finished composite block ['ASK Mo//Dem',13,'demo1'].
set_param([sys,'/',['ASK Mo//Dem',13,'demo1']],...
'BackGround',7,...
'hide name',0,...
'position',[545,48,625,92])
% Subsystem 'Error rate1'.
new_system([sys,'/','Error rate1'])
set_param([sys,'/','Error rate1'],'Location',[255,368,509,510])
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_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/Mux',[sys,'/','Error rate1/Mux'])
set_param([sys,'/','Error rate1/Mux'],...
'inputs','2',...
'position',[65,46,100,79])
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_line([sys,'/','Error rate1'],[40,70;60,70])
add_line([sys,'/','Error rate1'],[40,55;60,55])
add_line([sys,'/','Error rate1'],[105,65;125,65])
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','5\/20\/td\/td\/')
% Finished composite block 'Error rate1'.
set_param([sys,'/','Error rate1'],...
'hide name',0,...
'position',[450,48,530,92])
% Subsystem ['A-map QASK',13,'demod baseband'].
new_system([sys,'/',['A-map QASK',13,'demod baseband']])
set_param([sys,'/',['A-map QASK',13,'demod baseband']],'Location',[105,539,481,673])
% Subsystem ['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap'].
new_system([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']])
set_param([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']],'Location',[45,449,594,684])
add_block('built-in/Zero-Order Hold',[sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/Zero-Order',13,'Hold']])
set_param([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/Zero-Order',13,'Hold']],...
'ForeGround',2,...
'Sample time','td',...
'position',[120,29,155,61])
add_block('built-in/Inport',[sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/real']])
set_param([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/real']],...
'position',[45,35,65,55])
add_block('built-in/Inport',[sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/imag']])
set_param([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/imag']],...
'Port','2',...
'position',[45,120,65,140])
add_block('built-in/Zero-Order Hold',[sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/Zero-Order',13,'Hold1']])
set_param([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/Zero-Order',13,'Hold1']],...
'ForeGround',4,...
'Sample time','td',...
'position',[120,114,155,146])
add_block('built-in/Sum',[sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/Sum1']])
set_param([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/Sum1']],...
'ForeGround',2,...
'inputs','+-',...
'position',[230,38,250,67])
add_block('built-in/Sum',[sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/Sum6']])
set_param([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/Sum6']],...
'ForeGround',4,...
'inputs','+-',...
'position',[230,123,250,152])
add_block('built-in/Product',[sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/Product']])
set_param([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/Product']],...
'position',[300,45,325,65])
add_block('built-in/Product',[sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/Product1']])
set_param([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/Product1']],...
'position',[300,130,325,150])
add_block('built-in/Sum',[sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/Sum2']])
set_param([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/Sum2']],...
'position',[370,78,390,107])
add_block('built-in/S-Function',[sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/Minimum1']])
set_param([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/Minimum1']],...
'function name','arymimai',...
'parameters','''min''',...
'position',[415,85,475,105])
add_block('built-in/Outport',[sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/out_1']])
set_param([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/out_1']],...
'position',[495,85,515,105])
add_block('built-in/Constant',[sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/real_pt']])
set_param([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/real_pt']],...
'BackGround',3,...
'Value','y1',...
'position',[170,84,195,106])
add_block('built-in/Constant',[sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/imag_pt']])
set_param([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap/imag_pt']],...
'BackGround',5,...
'Value','y2',...
'position',[165,169,190,191])
add_line([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']],[70,45;115,45])
add_line([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']],[70,130;115,130])
add_line([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']],[200,95;205,95;205,60;225,60])
add_line([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']],[160,45;225,45])
add_line([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']],[160,130;225,130])
add_line([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']],[195,180;205,180;205,145;225,145])
add_line([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']],[255,55;270,55;270,50;295,50])
add_line([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']],[270,55;270,60;295,60])
add_line([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']],[255,140;270,140;270,135;295,135])
add_line([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']],[270,140;270,145;295,145])
add_line([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']],[330,55;340,55;340,85;365,85])
add_line([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']],[330,140;340,140;340,100;365,100])
add_line([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']],[395,95;410,95])
add_line([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']],[480,95;490,95])
set_param([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']],...
'Mask Display','QASK\nA-demap',...
'Mask Type','QASK A-demap')
set_param([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']],...
'Mask Dialogue','Reverse the QASK map. Input in-phase\nand quadrature components from the\ntwo inputs. Output demapped signal.|Constellation for in-phase component:|Constellation for quadrature component:|Symbol interval and offset (sec):')
set_param([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']],...
'Mask Translate','y1=@1;y2=@2;td=@3;')
set_param([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']],...
'Mask Help','This block demaps a QASK mapped signal using user defined arbitrary constellation. You can place this block after a QAM demodulation block. The in-phase and quadrature constellation vectors must have the same length. The output symbols are integers in the range [0, M-1]. The symbol interval can be a two elements vector with the first element being offset. The default offset is zero.')
set_param([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']],...
'Mask Entries','y1\/y2\/td\/')
% Finished composite block ['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap'].
set_param([sys,'/',['A-map QASK',13,'demod baseband/QASK',13,'arbitrary-demap']],...
'position',[175,38,255,82])
% Subsystem ['A-map QASK',13,'demod baseband/QADM',13,'baseband3'].
new_system([sys,'/',['A-map QASK',13,'demod baseband/QADM',13,'baseband3']])
set_param([sys,'/',['A-map QASK',13,'demod baseband/QADM',13,'baseband3']],'Location',[283,122,827,462])
add_block('built-in/Outport',[sys,'/',['A-map QASK',13,'demod baseband/QADM',13,'baseband3/out_1']])
set_param([sys,'/',['A-map QASK',13,'demod baseband/QADM',13,'baseband3/out_1']],...
'position',[480,70,500,90])
add_block('built-in/Note',[sys,'/',['A-map QASK',13,'demod baseband/QADM',13,'baseband3/Ref: Hambley: An Intro to Comm. Systems. pp72']])
set_param([sys,'/',['A-map QASK',13,'demod baseband/QADM',13,'baseband3/Ref: Hambley: An Intro to Comm. Systems. pp72']],...
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -