high on Essays logo

Our Services

Get 15% Discount on your First Order

Electronic Navigation

GPS Project – Data and Functions/ECEF2ENU.m

function enu = ECEF2ENU(ece,orgece,orgllh)
%ENU = ECEF2ENU(ECEF,orgECEF,orgLLH)
%
% EC2ENU: Convert ECEF coordinates to East-North-Up with
% respect to orgECEF and orgLLH (orgECEF is the same
% location as orgLLH, orgLLH in radians).
%
% VARIABLES:
%
% OU-ECE-AEC Oct. 1988 FvG
% WJP2011: Vectorized. Now accepts ece as a 3×1, a 3xM, 3xMxN, etc matrix

% Rotate the difference vector into ENU coordinates
sla = sin(orgllh(1,1)); cla = cos(orgllh(1,1));
slo = sin(orgllh(2,1)); clo = cos(orgllh(2,1));

C = [ -slo clo 0 ; …
-sla*clo -sla*slo cla; …
cla*clo cla*slo sla];

if size(ece,2)==1 && ndims(ece)==2; %3×1 vector
% enu = [ -slo clo 0 ; …
% -sla*clo -sla*slo cla; …
% cla*clo cla*slo sla] * difece;

difece = ece – orgece; % difference between coordinate origins
enu= C * difece;
else %3xM or 3xMxN etc
%Vectorized ECEF2ENU function:
enu=NaN(size(ece));

%reshape ece to 3xN matrix
%ece=reshape(ece,3,size(ece,2)*size(ece,3)*size(ece,4));
ece=reshape(ece,3,[]);

difece=zeros(size(ece));
difece(1,:)=ece(1,:)-orgece(1);
difece(2,:)=ece(2,:)-orgece(2);
difece(3,:)=ece(3,:)-orgece(3);

for i=1:3
enu(i,:)=C(i,1)*difece(1,:)+C(i,2)*difece(2,:)+C(i,3)*difece(3,:);
end
end

__MACOSX/GPS Project – Data and Functions/._ECEF2ENU.m

GPS Project – Data and Functions/ECEF2LLH.m

function wgs = ECEF2LLH(xyz)
%wgs = ECEF2LLH(xyz)
%
% This function converts cartesian (x,y,z) coordinates of a reference
% point in ECEF to lat, lon, height coordinates in the WGS 84 system
%
% VARIABLES:
% wgs – 3 by 1 array containing position lat, lon, height
% (rad, rad, m)
% xyz – 3 by 1 array containing position as x,y,z
% (m, m, m)
%
% a – semi-major axis
% f – spheroidal flattening
% esq – eccentricity squared
% sp – sine of lattitude
% cp – cosine of latitude
% sl – sine of longitude
% cl – cosine of longitude
% gsq – intermediate temp variable
% x – cartesian coordinte in feet
% r – intermediate temp variable
%
% This function is based on one developed by the
% National Geodetic Survey, Rockville, Maryland.
%
% WJP2010: Vectorized. Now accepts xyz as a 3×1, a 3xM, 3xMxN, or a 3xMxNxO matrix

wgs=zeros(size(xyz));
f=1/298.257223563;
esq=f*(2-f);
a=6378137;

x = xyz(1,:,:,:);
y = xyz(2,:,:,:);
z = xyz(3,:,:,:);
rsq = (x.*x) + (y.*y);
h = esq.*z;
for i = 1:6;
zp = z + h;
r = sqrt(rsq + (zp.*zp));
sp = zp./r;
gsq = 1.0 – (esq.*sp.*sp);
en = a./sqrt(gsq);
p = en.*esq.*sp;
%if abs(h-p) < 0.0005,break,end
h = p;
end;
p = atan2(zp,sqrt(rsq));
h = r – en;
wgs(2,:,:,:) = atan2(y, x);%*180/pi;
wgs(1,:,:,:) = p;%*180/pi;
wgs(3,:,:,:) = h;

% wgs=zeros(3,1);
% f=1/298.257223563;
% esq=f*(2-f);
% a=6378137;
% x = xyz(1);
% y = xyz(2);
% z = xyz(3);
% rsq = (x*x) + (y*y);
% h = esq*z;
% for i = 1:6;
% zp = z + h;
% r = sqrt(rsq + (zp*zp));
% sp = zp/r;
% gsq = 1.0 – (esq*sp*sp);
% en = a/sqrt(gsq);
% p = en*esq*sp;
% if abs(h-p) < 0.0005,break,end
% h = p;
% end;
% p = atan2(zp,sqrt(rsq));
% h = r – en;
% wgs(2) = atan2(y, x);%*180/pi;
% wgs(1) = p;%*180/pi;
% wgs(3) = h;

GPS Project – Data and Functions/EE4853-5853_GPS_PR.mat

L1PSR:[9×1 double array]

L2PSR:[9×1 double array]

PRNs:[1×9 double array]

SatPPP:[1×1 struct array]

  • [3×9 double array]
  • [9×1 double array]

SatBC:[1×1 struct array]

  • [3×9 double array]
  • [9×1 double array]

TruthLLH:[3×1 double array]

GPS Project – Data and Functions/ENU2ECEF.m

function ecef = ENU2ECEF(enu,orgece,orgllh)
% ecef = ENU2ECEF(enu,orgece,orgllh)
%
% ENU2EC: Convert ENU coordinates to ECEF with respect to
% the origin (orgece is the same location as orgllh).
%
% OU-ECE-AEC Oct. 1988 FvG

sla = sin(orgllh(1)); cla = cos(orgllh(1));
slo = sin(orgllh(2)); clo = cos(orgllh(2));

ROT = [-slo clo 0; -sla*clo -sla*slo cla; cla*clo cla*slo sla];
difece = inv(ROT) * enu;

% add the difference between the enu and ecef origins

ecef = orgece + difece;

GPS Project – Data and Functions/LLH2ECEF.m

function ecef = LLH2ECEF(llh)
%
% LLH2EC: Convert lat/lon/height coordinates to Earth-Centered
% Earth-Fixed (ECEF) coordinates (WGS72).
%
% Input: llh = lat,long,height location (rad,rad,user units)
% Output: ecef = x,y,z (user units)
%
% OU-ECE-AEC Oct. 1988 FvG
% WJP2010: Vectorized. Now accepts llh as a 3×1, a 3xM, 3xMxN, or a 3xMxNxO matrix

%A = 6378135.0; % Earth’s radius (m), old number from 1997
A = 6378137.0; % Earth’s radius (m) per WGS84, CB
%E = 8.181881066e-02; % Eccentricity, old number from 1997
E = 8.18191908e-2; % Eccentricity per WGS84, CB
ESQ = E * E;

% ecef=zeros(3,1);
%
% SP = sin(llh(1));
% CP = cos(llh(1));
% SL = sin(llh(2));
% CL = cos(llh(2));
% GSQ = 1.0 – (ESQ*SP*SP);
% EN = A / sqrt(GSQ);
% Z = (EN + llh(3)) * CP;
% ecef(1) = Z * CL;
% ecef(2) = Z * SL;
% EN = EN – (ESQ * EN);
% ecef(3) = (EN + llh(3)) * SP;

ecef=zeros(size(llh));

SP = sin(llh(1,:,:,:));
CP = cos(llh(1,:,:,:));
SL = sin(llh(2,:,:,:));
CL = cos(llh(2,:,:,:));
GSQ = 1.0 – (ESQ.*SP.*SP);
EN = A ./ sqrt(GSQ);
Z = (EN + llh(3,:,:,:)) .* CP;
ecef(1,:,:,:) = Z .* CL;
ecef(2,:,:,:) = Z .* SL;
EN = EN – (ESQ .* EN);
ecef(3,:,:,:) = (EN + llh(3,:,:,:)) .* SP;

Share This Post

Email
WhatsApp
Facebook
Twitter
LinkedIn
Pinterest
Reddit
Reviews

Order a Similar Paper and get 15% Discount on your First Order

Related Questions

50 points Name: _______________________________ ANNOTATED BIBLIOGRAPHY RUBRIC Objective: A

50 points Name: _______________________________ ANNOTATED BIBLIOGRAPHY RUBRIC Objective: A preliminary annotative bibliography containing a variety of sources must be completed prior to the first rough draft in order to check your progress. Your preliminary annotative bibliography must contain five sources, two of which could be from scholarly journals. The bibliography

Assignment #2-Poetry Analysis   Rough Draft Due:  

Assignment #2-Poetry Analysis   Rough Draft Due:   Final Draft Due:   No Plagiarism. No AI detection. WORDS: 750 FORMAT: MLA Description of Assignment: A literary analysis essay pulls apart a piece of writing to examine its technique and understand its themes and ideas. For this assignment, you will choose