X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;ds=sidebyside;f=phaseNoiseCorr.m;h=88480323f0ee35b2ffab8fc55ab6282aa8479b9d;hb=601f851007c30d9497faa0c3aec58d33be2b9fa4;hp=1f4ed4540c2d654b8e1ed139cc586c2c3df90a39;hpb=1eeb62fbc496ed5c170d199143ad53e28122d29c;p=4yp.git diff --git a/phaseNoiseCorr.m b/phaseNoiseCorr.m index 1f4ed45..8848032 100644 --- a/phaseNoiseCorr.m +++ b/phaseNoiseCorr.m @@ -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