Working Kerr effect; PDM; speedups; removed unused files
[4yp.git] / phaseNoiseCorr.m
index 1f4ed45..8848032 100644 (file)
@@ -1,4 +1,4 @@
-function [rPhaseEq, phiests] = phaseNoiseCorr(r, M, blocksize)
+function [rPhaseEq, phiests] = phaseNoiseCorr(r, M, phoffset, blocksize)
   %% phase noise correction
   phiests = zeros(1, length(r));
   rPhaseEq = zeros(1, length(r));
@@ -6,7 +6,7 @@ function [rPhaseEq, phiests] = phaseNoiseCorr(r, M, blocksize)
     block = r(l : min(l + blocksize - 1, length(r)));
 
     sum_M = sum(block .^ M);
-    phi_est = angle(sum_M) / M; % assume phase of 0 symbol is 0.
+    phi_est = angle(sum_M .* exp(j * M * phoffset)) / M;
 
     if l > 1
       %% phase unwrapping