Files
matlab/common/radio/agc_eval.m
T
jens 579c1544b1 - added
git-svn-id: http://moon:8086/svn/matlab/trunk@157 801c6759-fa7c-4059-a304-17956f83a07c
2022-06-16 06:16:47 +00:00

31 lines
538 B
Matlab
Executable File

function agc_eval()
%
% Super peak-based AGC
N = 2000;
k_noise = 1E-3;
t = (0:N-1)/N;
x = sin(100*pi*t) + k_noise*randn(1, N);
w = 1;
K = 2;
mu = 0.01;
max1 = maxlist_filterstate(1000, 1E12, 1);
for n=1:N,
d1 = w*x(n);
[d2, max1] = maxlist_filter(d1, max1);
e = K - d2;
w = w + mu*e*abs(x(n));
d1_(n) = d1;
e_(n) = e;
end;
subplot(3, 1, 1)
plot(t, x); grid; legend('x');
subplot(3, 1, 2)
plot(t, d1_); grid; legend('d_{1}');
subplot(3, 1, 3)
plot(t, 20*log10(abs(e_)+1e-12)); legend('20*log10(error)'); grid;