www.pudn.com > ldpc802.16.rar > UplinkBeamform.m, change:2005-11-07,size:1306b


function BfDataSym=UplinkBeamform(VectSym,bfw,System,Allocation,VectChan,SubChanFormat,SubChanToCar) 
 
%uplink beamforming based on allocation profile 
%Input:  
%   VectSym --- vector time-frequency symbol of a subchannel 
%   bfw --- per subchannel beamforming weight 
%   System --- containing system parameters 
%   Allocation --- subchannel allocation including subcarrier group index and 
%                   subchannel index 
%   VectChan --- definition of vector channel 
%   SubChanFormat --- definition of subchannel 
%   SubChanToCar --- subchannel to subcarrier index mapping 
%Output:  
%   bf_data_sym --- scalar time-frequency symbol grouped in subchannels 
% 2005.11.6, Hang Li 
 
%%% uplink beamforming 
tone_st=(System.Nfft-System.Nused)/2; 
for i=1:size(Allocation.CarGroupSch,2), 
    ScGroupIndex=Allocation.CarGroupSch(1,i); 
    SchIndex=Allocation.CarGroupSch(2,i); 
    PhyCarIndex=SubChanToCar{ScGroupIndex,SchIndex}; 
    for fi=1:SubChanFormat.Nf, 
        for si=1:SubChanFormat.Nt, 
            vect_sym=zeros(VectChan.M,1); 
            for m=1:VectChan.M, 
                vect_sym(m)=VectSym{m}(tone_st+PhyCarIndex(fi)+1,si); 
            end; 
            BfDataSym{ScGroupIndex,SchIndex}(fi,si)=bfw{ScGroupIndex,SchIndex,fi,si}'*vect_sym; 
        end; 
    end; 
end;