📄 rand_gen.m
字号:
function Data = rand_gen(NumCarr,MQAM,NumSymb,State)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% rand_gen_mul Generates random data symbol to be transmitted %
% Primitive: Data = rand_gen(NumCarr,MQAM,NumSymb,State) %
% Argument: NumCarr-----Number of Carriers; %
% MQAM--------Wordsize of I,Q subchannel; %
% NumSymb-----Number of symbols to be generated %
% State-------Random generator state para,so as to generate the same data %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
switch nargin
case 1
MQAM = 4;
NumSymb = 1;
case 2
NumSymb = 1;
case 3
case 4
PrevState = rand('state');
rand('state',State);
otherwise
errordlg('Invalid arguments','Error');
end
switch MQAM
case 4
Range = [0,1];
case 16
Range = [-1,2];
case 64
Range = [-3,4];
otherwise
errordlg('Input M-QAM invalid','Input Error');
end
DataI = 2*randint(NumSymb,NumCarr,Range)-1;
DataQ = 2*randint(NumSymb,NumCarr,Range)-1;
Data = DataI+i*DataQ;
if nargin ==4
rand('state',PrevState)
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -