Home > WaveComBox > Toolbox > FBMC_OQAM > PhaseTracking > PhaAmbiguityBPS.m

PhaAmbiguityBPS

PURPOSE ^

% Unwrapping phi_est

SYNOPSIS ^

function phi_est = PhaAmbiguityBPS(phaBPS, epsilon1, epsilon2)

DESCRIPTION ^

% Unwrapping phi_est

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function phi_est = PhaAmbiguityBPS(phaBPS, epsilon1, epsilon2)
0002 
0003 %% Unwrapping phi_est
0004 phi_est     = phaBPS;
0005 
0006 phi_unwrap(1:3)       = phi_est(1:3);
0007 p                     = floor(1/2 + (phi_unwrap(2) - phi_est(3))/(pi));
0008 phi_unwrap(4)         = phi_unwrap(3) + p*pi;
0009 for k1 = 5 : length(phi_est)
0010     p = floor(1/2 + (((1/3*(phi_unwrap(k1-1)+phi_unwrap(k1-2)+phi_unwrap(k1-3))) ...
0011         - phi_est(k1) - epsilon1)/(pi)));
0012     phi_unwrap(k1) = phi_est(k1-1) + p*pi;
0013 end
0014 
0015 phi_unwrap(4:length(phi_est) - 1) = phi_unwrap(5:length(phi_est));
0016 
0017 
0018 if phi_est(end) - phi_unwrap(end-1) > pi
0019     phi_unwrap(length(phi_est)) = phi_est(end) - pi;
0020 elseif phi_est(end) - phi_unwrap(end-1) < -pi
0021     phi_unwrap(length(phi_est)) = phi_est(end) + pi;
0022 else
0023     phi_unwrap(length(phi_est)) = phi_est(end);
0024 end
0025 
0026 phi_est = phi_unwrap;
0027 
0028 for ii=2:length(phi_est)
0029     if phi_est(ii)-phi_est(ii-1)>pi-epsilon2
0030         phi_est(ii) = phi_est(ii)-1*pi;
0031     end
0032     if phi_est(ii)-phi_est(ii-1)<-pi+epsilon2
0033         phi_est(ii) = phi_est(ii)+1*pi;
0034     end
0035 end

Generated on Mon 14-Oct-2019 13:48:34 by m2html © 2005