- added overall loopfilter gain k_leadLag

- renamed vars

git-svn-id: http://moon:8086/svn/matlab/trunk@106 801c6759-fa7c-4059-a304-17956f83a07c
This commit is contained in:
2018-12-15 10:07:57 +00:00
parent c19a58c605
commit 7b06d60372
+9 -8
View File
@@ -24,8 +24,8 @@
function [bits] = garage_ip (varargin)
params = struct ('x', [], 'baudrate', 9600, 'numSamplesPerSym', 16, 'with_filter', 0, 'k_noise', 0.00);
units = struct ('x', '', 'baudrate', 'baud', 'numSamplesPerSym', 'sps', 'with_filter', '', 'k_noise', '');
params = struct ('x', [], 'sampleRate', 48000, 'numSamplesPerSym', 16, 'with_filter', 0, 'k_noise', 0.00);
units = struct ('x', '', 'sampleRate', '1/s', 'numSamplesPerSym', 'sps', 'with_filter', '', 'k_noise', '');
% Parse parameters
names = fieldnames(params);
@@ -43,8 +43,8 @@ k_n = params.k_noise; % NOise
k_s = 1.0; % Sym
numSamplesPerSym = params.numSamplesPerSym;
baud_init = 2900;
fs = baud_init * numSamplesPerSym;
fs = params.sampleRate;
baud_init = fs / numSamplesPerSym;
numSyms = 100;
numBursts = 3;
@@ -97,8 +97,9 @@ v_max = 0; % Threshold min
hyst_thr = 0.5; % Threshold hysteresis
rho_thr = 1e-5; % Threshold forgetting factor
alpha_thr = 0.1; % Min/Max update factor
alpha_lead = 0.1; % Symbol syncronizer loop filter lead
alpha_lag = 0.0001; % Symbol syncronizer loop filter lag
k_leadLag = 2.0; % Overall loopfilter gain (scales k_lead and k_lag)
k_lead = 0.1; % Symbol syncronizer loop filter lead
k_lag = 0.0001; % Symbol syncronizer loop filter lag
lag_accu = 0; % Symbol syncronizer loop filter
k_leak = 0; % Lag forgetting factor
loopThreshold = 0.1; % Processing threshold
@@ -152,8 +153,8 @@ while ns < N
else
count = countReload;
end
vcorr = alpha_lead*err + lag_accu;
lag_accu = lag_accu + alpha_lag*err;
vcorr = k_leadLag*k_lead*err + lag_accu;
lag_accu = lag_accu + k_leadLag*k_lag*err;
lag_accu = lag_accu * (1-k_leak);
baud = (1+vcorr)*fs/numSamplesPerSym;
_err(n) = err;