- normalized phase
git-svn-id: http://moon:8086/svn/matlab/trunk@130 801c6759-fa7c-4059-a304-17956f83a07c
This commit is contained in:
+11
-11
@@ -26,18 +26,18 @@
|
||||
function retval = mc_pd_eval3 (perr, freq, slave_oversample)
|
||||
|
||||
Nc = 10;
|
||||
Nspc = 96;
|
||||
Nspc = 25;
|
||||
|
||||
ka = 0.9;
|
||||
klead = 0.4;
|
||||
klag = 0.01/slave_oversample;
|
||||
klead = 0.8;
|
||||
klag = 0.04/slave_oversample;
|
||||
lag = 0;
|
||||
|
||||
# Create master
|
||||
xm = [];
|
||||
for n=1:Nspc,
|
||||
for m=1:slave_oversample,
|
||||
xm = [xm n];
|
||||
xm = [xm n/Nspc];
|
||||
endfor
|
||||
endfor
|
||||
x = repmat(xm, 1, Nc);
|
||||
@@ -46,13 +46,13 @@ N = Nc*Nspc*slave_oversample;
|
||||
assert (N == length(x));
|
||||
|
||||
# Create slave
|
||||
pc = Nspc/2 + perr;
|
||||
pc = 0.5 + perr;
|
||||
dfreq = freq/slave_oversample;
|
||||
dpc = dfreq;
|
||||
dpc = 0;
|
||||
|
||||
sample_count = slave_oversample;
|
||||
for n=1:N,
|
||||
perr = phase_det(pc, x(n), Nspc);
|
||||
perr = phase_det(pc, x(n));
|
||||
sample_count = sample_count - 1;
|
||||
if sample_count == 0,
|
||||
sample_count = slave_oversample;
|
||||
@@ -60,15 +60,15 @@ for n=1:N,
|
||||
perr = 0;
|
||||
end
|
||||
dpc = dfreq - (klag*lag + klead*perr);
|
||||
pc = mod(pc + dpc, Nspc);
|
||||
pc = mod(pc + dpc, 1);
|
||||
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;
|
||||
_dpc(n) = dpc;
|
||||
end
|
||||
|
||||
function perr = phase_det(lo, x, Nspc)
|
||||
perr = mod((lo - x), Nspc) - Nspc/2;
|
||||
function perr = phase_det(lo, x)
|
||||
perr = mod((lo - x), 1) - 0.5;
|
||||
endfunction
|
||||
|
||||
close all;
|
||||
|
||||
Reference in New Issue
Block a user