?? mrc.m
字號:
% function for MRC SAPSPfunction [AirData, BitData] = MRC (AirParam)global Z;global alg;global sys;global env; stride = 4 ; lower = 20 ; upper = lower + (128 * stride) ; dZ = Z(lower:stride:upper,:) ; RzzMRC = dZ'*dZ ; RzzMRCDiag = diag(RzzMRC) ; [maxi,index] = max(RzzMRCDiag) ; wMRC = RzzMRC(:,index) ; switch alg.FreqAlignEstMode case 'normal' lower = 1 + (20 * sys.over) ; upper = lower + (80 * sys.over) ; xZ = Z(lower:upper,:) ; z = xZ * wMRC; fid = fopen('S4C1T2F50_r.dat','wb'); fwrite(fid, real(z), 'float32'); fclose(fid); fid = fopen('S4C1T2F50_i.dat','wb'); fwrite(fid, imag(z), 'float32'); fclose(fid); [AirData.TO, AirData.FO] = Freq_Time_Recovery(z, sys.over, sys.rate); case 'perfect' AirData.TO = AirParam.TO; AirData.FO = AirParam.FO; otherwise error(sprintf('Don''t know %s mode of freq/align estimation\n', ... alg.freqEstMode)); end TO = mod(AirParam.TO + (1/16)*(AirData.TO - AirParam.TO),sys.over); FO = AirParam.FO + (1/32)*(AirData.FO - AirParam.FO);% Perform demodulation cisoid_S = exp(-j*2*pi*[1:sys.nSym]*FO/sys.rate).' * ones(1,sys.nAnt); dZ = Z(1+round(TO):sys.over:1+round(TO)+sys.over*(sys.nSym-1),:); dZ = dZ .* cisoid_S ; zMRC = dZ * wMRC ; BitData.bits = phs_demod_mex(zMRC.',1,sys.tracking) ;%Extract bit payload [BitData.S_uwe, BitData.S_crce, BitData.S_type, BitData.S_info] = ... PayloadExtract_mex(BitData.bits,0,-1,-1,sys.keyS) ; [BitData.I_uwe, BitData.I_crce, BitData.I_type, BitData.I_info] = ... PayloadExtract_mex(BitData.bits,0,-1,-1,sys.keyI) ;% 6. Output parameters AirData.w = wMRC;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -