- added CFO estimation

git-svn-id: http://moon:8086/svn/matlab/trunk@30 801c6759-fa7c-4059-a304-17956f83a07c
This commit is contained in:
2015-04-19 18:39:39 +00:00
parent 652fbde455
commit 7b3d8eee00
2 changed files with 117 additions and 22 deletions
+23
View File
@@ -0,0 +1,23 @@
function [domega_f, Zf] = cfo_coarse_fract(x, N, Ng, L, Nd, Zi)
if (~isfield(Zi, 'valid'))
Zi = struct('valid', 1, 'n', 0, 'xp', [], 'p', 1.0);
end
Zf = Zi;
domega_f = 0;
Zf.xp = [Zf.xp' x']';
if (length(Zf.xp) < 2*(N+Ng))
n = Zf.n;
return
end
x1 = Zf.xp(1:L);
x2 = Zf.xp(Nd+1:Nd+L);
c = sum(x1 .* conj(x2));
domega_f = 1/(2*pi*N) * angle(c);
Zf.xp = x;