UNIAMB.M
上传用户:sfyaiting
上传日期:2009-10-25
资源大小:320k
文件大小:1k
源码类别:

GPS编程

开发平台:

Matlab

  1. %Script to do examples in 
  2. % L.T. Liu, H.T. Hsu, Y.Z. Zhu, J.K. Ou (1999):
  3. % A new approach to GPS ambiguity decorrelation
  4. % Journal of Geodesy, 73: 478---490
  5. % Copyright (c) by Kai Borre
  6. % 17-Nov-1999, Helsinki
  7. % Example 1
  8. Qa = [100 19; 19 4];
  9. [l,u,p] = lu(Qa);
  10. lr = round(l);
  11. Qh = lr*Qa*lr';
  12. %Example 2
  13. Qa = [100 19; 19 4];
  14. L = eye(size(Qa,1));
  15. L([1 2],1:2) = L([2 1],1:2);
  16. Ql = L*Qa*L';
  17. [H,U] = slu(Ql);
  18. hr = round(H);
  19. Qu = hr*Ql*hr';
  20. %Example 3
  21. Qa = [80.00  9.75 27.80;
  22.    9.75  1.25  3.45;
  23.    27.80  3.45 10.00];
  24. n = size(Qa,1);
  25. dia = diag(Qa);
  26. D = Qa;
  27. L_acc = [];
  28. K_acc = [];
  29. %Step 1: Permutation of covariance matrix
  30. for i = 1:n
  31.    [k0,j] = sort(dia);
  32.    L = eye(n);
  33.    if i < j(1)
  34.       L(:,[i j(1)]) = L(:,[j(1) i]);
  35.    end
  36.    Ql = L*D*L';
  37.    L_acc = [L_acc L];
  38.    K = eye(n);
  39.    K(i+1:n,i) = -Ql(i+1:n,i)/Ql(i,i);
  40.    K_acc = [K_acc K];
  41.    D = K*Ql*K';
  42.    dia = diag(D(i:n,i:n));
  43. end
  44. D
  45. %Step 2: Float decorrelation
  46. H = eye(n);
  47. for i = 1:n
  48.    H = H*L_acc(:,3*(i-1)+1:3*i)*K_acc(:,3*(i-1)+1:3*i);
  49. end
  50. H
  51. %Step 3: United Ambiguity decorrelation
  52. %%%%%%%%%%%%%%%%%% end uniamb.m  %%%%%%%%%%%%%%%%%%