📄 com_chan.m
字号:
set_param([sys,'/',['AWGN',13,'channel/out_1']],...
'position',[200,55,220,75])
add_block('built-in/Inport',[sys,'/',['AWGN',13,'channel/in_1']])
set_param([sys,'/',['AWGN',13,'channel/in_1']],...
'position',[45,10,65,30])
add_line([sys,'/',['AWGN',13,'channel']],[110,70;145,70])
add_line([sys,'/',['AWGN',13,'channel']],[70,20;115,20;115,60;145,60])
add_line([sys,'/',['AWGN',13,'channel']],[175,65;195,65])
set_param([sys,'/',['AWGN',13,'channel']],...
'Mask Display','plot(0,0,100,100,x,y);AWGN',...
'Mask Type','AWGN channel, fixed parameter')
set_param([sys,'/',['AWGN',13,'channel']],...
'Mask Dialogue','Additive white Gaussian noise channel\nwith fixed mean and variance.|Mean value:|Variance (std^2):|Initial Seed:')
set_param([sys,'/',['AWGN',13,'channel']],...
'Mask Translate','m=@1;d=@2;s=@3;[m,d,s]=gwnoise(m,d,s);[x,y]=chanicon;')
set_param([sys,'/',['AWGN',13,'channel']],...
'Mask Help','This block adds white Gaussian noise to the input signal. The mean and the variance can be a scalar or vector with the same length as the input signal.')
set_param([sys,'/',['AWGN',13,'channel']],...
'Mask Entries','0\/.001\/12345\/')
% Finished composite block ['AWGN',13,'channel'].
set_param([sys,'/',['AWGN',13,'channel']],...
'position',[35,78,115,122])
% Subsystem ['AWGN',13,'w vary para'].
new_system([sys,'/',['AWGN',13,'w vary para']])
set_param([sys,'/',['AWGN',13,'w vary para']],'Location',[122,181,405,317])
add_block('built-in/Sum',[sys,'/',['AWGN',13,'w vary para/Sum']])
set_param([sys,'/',['AWGN',13,'w vary para/Sum']],...
'position',[195,55,215,75])
add_block('built-in/Outport',[sys,'/',['AWGN',13,'w vary para/out_1']])
set_param([sys,'/',['AWGN',13,'w vary para/out_1']],...
'position',[245,55,265,75])
add_block('built-in/Inport',[sys,'/',['AWGN',13,'w vary para/in_1']])
set_param([sys,'/',['AWGN',13,'w vary para/in_1']],...
'position',[100,15,120,35])
add_block('built-in/Inport',[sys,'/',['AWGN',13,'w vary para/in_2']])
set_param([sys,'/',['AWGN',13,'w vary para/in_2']],...
'Port','2',...
'position',[10,50,30,70])
% Subsystem ['AWGN',13,'w vary para/Gaussian',13,'noise'].
new_system([sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise']])
set_param([sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise']],'Location',[482,386,830,557])
add_block('built-in/Outport',[sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise/out_1']])
set_param([sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise/out_1']],...
'position',[280,75,300,95])
add_block('built-in/Sum',[sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise/Sum1']])
set_param([sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise/Sum1']],...
'position',[220,75,240,95])
add_block('built-in/Inport',[sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise/in_1']])
set_param([sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise/in_1']],...
'position',[165,35,185,55])
add_block('built-in/Product',[sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise/Product']])
set_param([sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise/Product']],...
'position',[145,80,170,100])
add_block('built-in/Inport',[sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise/in_2']])
set_param([sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise/in_2']],...
'Port','2',...
'position',[75,35,95,55])
add_block('built-in/White Noise',[sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise/Random',13,'Number']])
set_param([sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise/Random',13,'Number']],...
'Seed','s',...
'position',[40,77,85,113])
add_line([sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise']],[245,85;275,85])
add_line([sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise']],[190,45;195,45;195,80;215,80])
add_line([sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise']],[175,90;215,90])
add_line([sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise']],[90,95;140,95])
add_line([sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise']],[100,45;115,45;115,85;140,85])
set_param([sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise']],...
'Mask Display','Gaussian\nnoise',...
'Mask Type','Gaussian noise.',...
'Mask Dialogue','Gaussian distribution noise.|Initial Seed(s):',...
'Mask Translate','s=@1;')
set_param([sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise']],...
'Mask Help','The meanvalue is determined by value from the frist input. The standard deviation is determined by the second input. ',...
'Mask Entries','s\/')
% Finished composite block ['AWGN',13,'w vary para/Gaussian',13,'noise'].
set_param([sys,'/',['AWGN',13,'w vary para/Gaussian',13,'noise']],...
'position',[75,50,150,90])
add_block('built-in/Inport',[sys,'/',['AWGN',13,'w vary para/in_3']])
set_param([sys,'/',['AWGN',13,'w vary para/in_3']],...
'Port','3',...
'position',[20,95,40,115])
add_line([sys,'/',['AWGN',13,'w vary para']],[220,65;240,65])
add_line([sys,'/',['AWGN',13,'w vary para']],[125,25;160,25;160,60;190,60])
add_line([sys,'/',['AWGN',13,'w vary para']],[155,70;190,70])
add_line([sys,'/',['AWGN',13,'w vary para']],[35,60;70,60])
add_line([sys,'/',['AWGN',13,'w vary para']],[45,105;55,105;55,80;70,80])
set_param([sys,'/',['AWGN',13,'w vary para']],...
'Mask Display','plot(0,0,100,100,x,y);AWGN',...
'Mask Type','AWGN channel, vary parameter')
set_param([sys,'/',['AWGN',13,'w vary para']],...
'Mask Dialogue','AWGN channel with varying mean (2nd\nport) and standard deviation (3rd port) as input. Seed vector size is the block output size.|Initial seed:')
set_param([sys,'/',['AWGN',13,'w vary para']],...
'Mask Translate','s=@1;[x,y]=chanicon;')
set_param([sys,'/',['AWGN',13,'w vary para']],...
'Mask Help','This block adds white Gaussian noise to the input signal. When the mean value and/or the seed is a vector, a vector noise is added to the input vector signal. The mean value and the standard deviation are inputted from the second port and the third port respectively. The mean and std input can be scalars or vectors with the same length as the input signal.')
set_param([sys,'/',['AWGN',13,'w vary para']],...
'Mask Entries','123456\/')
% Finished composite block ['AWGN',13,'w vary para'].
set_param([sys,'/',['AWGN',13,'w vary para']],...
'position',[35,153,110,197])
% Subsystem ['Rayleigh noise',13,'channel CE'].
new_system([sys,'/',['Rayleigh noise',13,'channel CE']])
set_param([sys,'/',['Rayleigh noise',13,'channel CE']],'Location',[496,318,758,464])
add_block('built-in/Sum',[sys,'/',['Rayleigh noise',13,'channel CE/Sum']])
set_param([sys,'/',['Rayleigh noise',13,'channel CE/Sum']],...
'position',[150,55,170,75])
add_block('built-in/Outport',[sys,'/',['Rayleigh noise',13,'channel CE/out_1']])
set_param([sys,'/',['Rayleigh noise',13,'channel CE/out_1']],...
'position',[200,55,220,75])
% Subsystem ['Rayleigh noise',13,'channel CE/Gaussian',13,'noise'].
new_system([sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise']])
set_param([sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise']],'Location',[73,221,421,374])
add_block('built-in/Outport',[sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise/out_1']])
set_param([sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise/out_1']],...
'position',[295,75,315,95])
add_block('built-in/Sum',[sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise/Sum']])
set_param([sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise/Sum']],...
'position',[240,75,260,95])
add_block('built-in/Constant',[sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise/Constant']])
set_param([sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise/Constant']],...
'Value','m',...
'position',[155,35,175,55])
add_block('built-in/State-Space',[sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise/Matrix',13,'Gain']])
set_param([sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise/Matrix',13,'Gain']],...
'A','[]',...
'B','[]',...
'C','[]',...
'D','K',...
'Mask Display','K',...
'Mask Type','Matrix Gain')
set_param([sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise/Matrix',13,'Gain']],...
'Mask Dialogue','Matrix Gain.|Gain matrix:',...
'Mask Translate','K = @1;')
set_param([sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise/Matrix',13,'Gain']],...
'Mask Help','Multiplies input vector by entered matrix to produce output vector (y=Au).',...
'Mask Entries','d\/')
set_param([sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise/Matrix',13,'Gain']],...
'position',[130,76,155,104])
add_block('built-in/White Noise',[sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise/Random',13,'Number']])
set_param([sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise/Random',13,'Number']],...
'Seed','s',...
'position',[35,72,80,108])
add_line([sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise']],[265,85;290,85])
add_line([sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise']],[160,90;235,90])
add_line([sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise']],[85,90;125,90])
add_line([sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise']],[180,45;210,45;210,80;235,80])
set_param([sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise']],...
'Mask Display','Gaussian\nnoise',...
'Mask Type','Gaussian noise.')
set_param([sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise']],...
'Mask Dialogue','Gaussian distribution noise.|Mean value:|Standard deviation:|Initial Seed(s):',...
'Mask Translate','m=@1;d=@2;s=@3;[m,d,s]=gwnoise(m,d,s);')
set_param([sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise']],...
'Mask Help','When the mean value, seed are vectors, the output of this block is a vector with the length of the vector same as the length of mean value vector or that of the seed.')
set_param([sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise']],...
'Mask Entries','m\/d\/s\/')
% Finished composite block ['Rayleigh noise',13,'channel CE/Gaussian',13,'noise'].
set_param([sys,'/',['Rayleigh noise',13,'channel CE/Gaussian',13,'noise']],...
'position',[10,50,85,90])
add_block('built-in/Inport',[sys,'/',['Rayleigh noise',13,'channel CE/in_1']])
set_param([sys,'/',['Rayleigh noise',13,'channel CE/in_1']],...
'position',[45,10,65,30])
add_line([sys,'/',['Rayleigh noise',13,'channel CE']],[90,70;145,70])
add_line([sys,'/',['Rayleigh noise',13,'channel CE']],[70,20;115,20;115,60;145,60])
add_line([sys,'/',['Rayleigh noise',13,'channel CE']],[175,65;195,65])
set_param([sys,'/',['Rayleigh noise',13,'channel CE']],...
'Mask Display','plot(0,0,100,100,x,y,v,w,u,z);Rayl N',...
'Mask Type','Rayleigh noise channel, fixed parameter')
set_param([sys,'/',['Rayleigh noise',13,'channel CE']],...
'Mask Dialogue','Additive Rayleigh noise channel for\nbaseband signal simulation. Input\nand output signals are complex.|sigma:|Seeds (1x2 vector):')
set_param([sys,'/',['Rayleigh noise',13,'channel CE']],...
'Mask Translate','m=0;d=@1;d=d^2;s=@2;if length(s)<2,s=[s s+s];end;[x,y]=chanicon;[v,w]=cmplxicn(0,50,get_param(gcb,''orientation''));[u,z]=cmplxicn(1,50,get_param(gcb,''orientation''));')
set_param([sys,'/',['Rayleigh noise',13,'channel CE']],...
'Mask Help','This block adds Rayleigh noise to the transmitting signal. The input and output of this block are complex data. The Rayleigh noise is composed by two independant zero mean Gaussian noise. These two Gaussian components have the same standard deviation sigma.')
set_param([sys,'/',['Rayleigh noise',13,'channel CE']],...
'Mask Entries','.3\/[12345 54321]\/')
% Finished composite block ['Rayleigh noise',13,'channel CE'].
set_param([sys,'/',['Rayleigh noise',13,'channel CE']],...
'position',[325,233,405,277])
% Subsystem ['Rayleigh noise channel',13,'w vary var CE'].
new_system([sys,'/',['Rayleigh noise channel',13,'w vary var CE']])
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE']],'Location',[124,152,407,288])
add_block('built-in/Sum',[sys,'/',['Rayleigh noise channel',13,'w vary var CE/Sum']])
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Sum']],...
'position',[195,55,215,75])
add_block('built-in/Outport',[sys,'/',['Rayleigh noise channel',13,'w vary var CE/out_1']])
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE/out_1']],...
'position',[245,55,265,75])
add_block('built-in/Inport',[sys,'/',['Rayleigh noise channel',13,'w vary var CE/in_1']])
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE/in_1']],...
'position',[100,15,120,35])
% Subsystem ['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise'].
new_system([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise']])
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise']],'Location',[482,386,830,557])
add_block('built-in/White Noise',[sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise/Random',13,'Number']])
set_param([sys,'/',['Rayleigh noise channel',13,'w vary var CE/Gaussian',13,'noise/Random',13,'Number']],...
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -