- improved
git-svn-id: http://moon:8086/svn/matlab/trunk@83 801c6759-fa7c-4059-a304-17956f83a07c
This commit is contained in:
+11
-10
@@ -6,8 +6,10 @@ end
|
|||||||
|
|
||||||
alpha = 0.01;
|
alpha = 0.01;
|
||||||
rho = 0.999;
|
rho = 0.999;
|
||||||
k_boost = 4;
|
k_boost = 4.0;
|
||||||
noise_eps = 1e-3;
|
noise_eps = 1e-3;
|
||||||
|
max_window = 3;
|
||||||
|
noise_floor_k = 0.75*k_boost;
|
||||||
|
|
||||||
if 1
|
if 1
|
||||||
bin_pilots = c2i(N, carrier_pilot)-1;
|
bin_pilots = c2i(N, carrier_pilot)-1;
|
||||||
@@ -25,8 +27,8 @@ if 1
|
|||||||
Zi.Xv = max(Zi.Xm, Zi.Xv);
|
Zi.Xv = max(Zi.Xm, Zi.Xv);
|
||||||
Xt = abs(Zi.Xv(bin_min+1:bin_max+1));
|
Xt = abs(Zi.Xv(bin_min+1:bin_max+1));
|
||||||
|
|
||||||
xnoise = noiseFloor(Xt, k_boost/2)+noise_eps;
|
xnoise = noiseFloor(Xt, noise_floor_k) + noise_eps;
|
||||||
bins = bin_min+find_bins(Xt, xnoise, k_boost, bins_search);
|
bins = bin_min+find_bins(Xt, xnoise, k_boost, max_window);
|
||||||
|
|
||||||
if (~isempty(bins))
|
if (~isempty(bins))
|
||||||
k = 1;
|
k = 1;
|
||||||
@@ -72,20 +74,19 @@ if 1
|
|||||||
end
|
end
|
||||||
Zf = Zi;
|
Zf = Zi;
|
||||||
|
|
||||||
function bins = find_bins(x, xnoise, kboost, bins_search)
|
function bins = find_bins(x, xnoise, kboost, max_window)
|
||||||
|
|
||||||
bins = [];
|
bins = [];
|
||||||
xn = x - xnoise;
|
|
||||||
for n=1:length(x)
|
for n=1:length(x)
|
||||||
if (xn(n) > (kboost*xnoise(n)))
|
if (x(n) >= (kboost*xnoise(n)))
|
||||||
smin = max(1, n-bins_search);
|
smin = max(1, n-max_window);
|
||||||
smax = min(length(xn), n+bins_search);
|
smax = min(length(x), n+max_window);
|
||||||
[v, nn] = max(xn(smin:smax));
|
[v, nn] = max(x(smin:smax));
|
||||||
winner = nn + smin-2;
|
winner = nn + smin-2;
|
||||||
if isempty(find(bins == winner))
|
if isempty(find(bins == winner))
|
||||||
bins = [bins winner];
|
bins = [bins winner];
|
||||||
end
|
end
|
||||||
n = min(length(xn), n + bins_search);
|
n = min(length(x), n + max_window);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
bins = bins';
|
bins = bins';
|
||||||
|
|||||||
Reference in New Issue
Block a user