f(tao,w,c/s)为基函数,共有501*61个。501为脉冲时间的中心,61为正弦30个余弦30个加0频率。
前半部分不考虑频率只构造高斯函数。
高斯函数-(t-tao)2 tao为脉冲中心坐标
% Gaussian kernels
TK = (Tinv+1)*(2*kmax+1);
t = (0:Tinv)'/Tinv;
A = exp(-t.^2/(sigma^2));
ns = nnz(A>=Thr)-1;
A = A([ns+1:-1:1,2:ns+1],:);
ii = (0:2*ns)';
jj = ones(2*ns+1,1)*(1:Tinv+1);
oT = ones(1,Tinv+1);
A = sparse(ii(:,oT)+jj,jj,A(:,oT));
A = A(ns+1:ns+Tinv+1,:);
构造了501*501的高斯核函数矩阵。列为不同τ行为不同t。
% Sine/Cosine basis
k = [ 0, reshape( [ 1 : kmax ; 1 : kmax ], 1, 2 * kmax ) ];
p = zeros(1,2*kmax+1); p(3:2:end) = -pi/2;
SC = cos(w0*t*k+ones(Tinv+1,1)*p);
构造了501*61余弦矩阵。列为时间,行为频率。
ii = 1:numel(SC);
jj = rem(ii-1,Tinv+1)+1;
A = sparse(ii,jj,SC(:)) * A;
A = reshape(A,Tinv+1,(Tinv+1)*(2*kmax+1));
第三行即把高斯核函数矩阵进行了加权,加权系数就是sc变成61个频率的对角矩阵