X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=phaseNoiseCorr.m;h=88480323f0ee35b2ffab8fc55ab6282aa8479b9d;hb=601f851007c30d9497faa0c3aec58d33be2b9fa4;hp=6d27f74e55d0325a5da5c9de1bb13ce8bf3e6eb2;hpb=4fb42ae8b219be3b6644f829583584d249bf139d;p=4yp.git diff --git a/phaseNoiseCorr.m b/phaseNoiseCorr.m index 6d27f74..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,10 +6,7 @@ function [rPhaseEq, phiests] = phaseNoiseCorr(r, M, blocksize) block = r(l : min(l + blocksize - 1, length(r))); sum_M = sum(block .^ M); - %% if phase of 0 symbol is 0, use: - phi_est = angle(sum_M) / M; - %% if phase of 0 symbol is pi/M, use: - %% phi_est = angle(-sum_M) / M; + phi_est = angle(sum_M .* exp(j * M * phoffset)) / M; if l > 1 %% phase unwrapping