⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rand_gen.m

📁 a method of ofdm simulation using matlab
💻 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 + -