www.pudn.com > MIMO-OFDM(simulinkANDmatlab).rar > bpskev.m, change:2001-11-30,size:3634b


% Program 2-8 
% bpskev.m 
% 
% Evaluation program of fading counter based BPSK transmission scheme 
% This program is one of example simulations that include fading 
% As for the explanation, you can check Chapter 3. 
% 
% Programmed by H.Harada 
% 
 
%******************** Preparation part ********************** 
 
% Time resolution 
% In this case, 0.5us is used as an example 
tstp = 0.5*1.0e-6;  
 
% Symbol rate 
% In this case we assume that each sample time is equal to 1/(symbol rate). 
% In this case 200 kbps is considered. 
sr = 1/tstp ; 
 
% Arrival time for each multipath normalized by tstp 
% In this simulation four-path Rayleigh fading are considered 
itau = [0, 2, 3, 4]; 
 
% Mean power for each multipath normalized by direct wave. 
% In this simulation four-path Rayleigh fading are considered. 
% This means that the second path is -10dB less than the first direct path. 
dlvl = [0 ,10 ,20 ,25]; 
 
% Number of waves to generate fading for each multipath. 
% In this simulation four-path Rayleigh fading are considered. 
% In normal case, more than six waves are needed to generate Rayleigh fading 
n0=[6,7,6,7]; 
 
% Initial Phase of delayed wave 
% In this simulation four-path Rayleigh fading are considered. 
th1=[0.0,0.0,0.0,0.0]; 
 
% Number of fading counter to skip (50us/0.5us) 
% In this case we assume to skip 50 us 
itnd0=100*2; 
 
% Initial value of fading counter 
% In this simulation four-path Rayleigh fading are considered. 
% Therefore four fading counter are needed. 
   
itnd1=[1000,2000, 3000, 4000]; 
 
% Number of directwave + Number of delayed wave 
% In this simulation four-path Rayleigh fading are considered 
now1=4;         
 
% Maximum Doppler frequency [Hz] 
% You can insert your favorite value 
fd=200;        
 
% Number of data to simulate one loop 
% In this case 100 data are assumed to consider 
nd = 100; 
 
% You can decide two mode to simulate fading by changing the variable flat 
% flat     : flat fading or not  
% (1->flat (only amplitude is fluctuated),0->nomal(phase and amplitude are fluctutated) 
flat =1; 
 
 
%******************** START CALCULATION ********************* 
 
nloop = 1000; % Number of simulation loop 
noe = 0; % Initial number of errors 
nod = 0; % Initial number of transmitted data 
 
for iii=1:nloop  
     
%******************** Data generation *********************** 
     
	data=rand(1,nd)>0.5;  % rand: built in function 
 
%******************** BPSK modulation ***********************   
 
	data1=data.*2-1;  % Change data from 1 or 0 notation to +1 or -1 notation 
     
%********************** Fading channel ********************** 
 
    % Generated data are fed into a fading simulator 
    % In the case of BPSK, only Ich data are fed into fading counter 
    [data6,data7]=sefade(data1,zeros(1,length(data1)),itau,dlvl,th1,n0,itnd1,now1,length(data1),tstp,fd,flat); 
 
    % Updata fading counter 
    itnd1 = itnd1+ itnd0; 
     
%******************** BPSK Demodulation ********************* 
	 
    demodata=data6 > 0; 
 
%******************** Bit Error Rate (BER) ****************** 
 
    % count number of instantaneous errors 
    noe2=sum(abs(data-demodata));  % sum: built in function 
     
    % count number of instantaneous transmitted data 
	nod2=length(data);  % length: built in function 
    
	fprintf('%d\t%e\n',iii,noe2/nod2); 
     
    noe=noe+noe2;  
	nod=nod+nod2; 
 
end % for iii=1:nloop     
 
%********************** Output result *************************** 
 
%ber = noe/nod; 
fprintf('%d\t%d\t%e\n',noe,nod,noe/nod); 
 
% ************************end of file***********************************