- normalized phase

git-svn-id: http://moon:8086/svn/matlab/trunk@130 801c6759-fa7c-4059-a304-17956f83a07c
This commit is contained in:
2020-08-10 10:58:54 +00:00
parent 05650c370d
commit 7ea45c29c5
+11 -11
View File
@@ -26,18 +26,18 @@
function retval = mc_pd_eval3 (perr, freq, slave_oversample) function retval = mc_pd_eval3 (perr, freq, slave_oversample)
Nc = 10; Nc = 10;
Nspc = 96; Nspc = 25;
ka = 0.9; ka = 0.9;
klead = 0.4; klead = 0.8;
klag = 0.01/slave_oversample; klag = 0.04/slave_oversample;
lag = 0; lag = 0;
# Create master # Create master
xm = []; xm = [];
for n=1:Nspc, for n=1:Nspc,
for m=1:slave_oversample, for m=1:slave_oversample,
xm = [xm n]; xm = [xm n/Nspc];
endfor endfor
endfor endfor
x = repmat(xm, 1, Nc); x = repmat(xm, 1, Nc);
@@ -46,13 +46,13 @@ N = Nc*Nspc*slave_oversample;
assert (N == length(x)); assert (N == length(x));
# Create slave # Create slave
pc = Nspc/2 + perr; pc = 0.5 + perr;
dfreq = freq/slave_oversample; dfreq = freq/slave_oversample;
dpc = dfreq; dpc = 0;
sample_count = slave_oversample; sample_count = slave_oversample;
for n=1:N, for n=1:N,
perr = phase_det(pc, x(n), Nspc); perr = phase_det(pc, x(n));
sample_count = sample_count - 1; sample_count = sample_count - 1;
if sample_count == 0, if sample_count == 0,
sample_count = slave_oversample; sample_count = slave_oversample;
@@ -60,15 +60,15 @@ for n=1:N,
perr = 0; perr = 0;
end end
dpc = dfreq - (klag*lag + klead*perr); dpc = dfreq - (klag*lag + klead*perr);
pc = mod(pc + dpc, Nspc); pc = mod(pc + dpc, 1);
lag = lag + perr; lag = lag + perr;
_lo(n) = mod(pc - Nspc/2 - 1/slave_oversample, Nspc); _lo(n) = mod(pc - 0.5 - 1/slave_oversample/Nspc, 1);
_perr(n) = perr; _perr(n) = perr;
_dpc(n) = dpc; _dpc(n) = dpc;
end end
function perr = phase_det(lo, x, Nspc) function perr = phase_det(lo, x)
perr = mod((lo - x), Nspc) - Nspc/2; perr = mod((lo - x), 1) - 0.5;
endfunction endfunction
close all; close all;