GNSS 내비게이션 포지셔닝에서 의사 거리 측정을 사용하는 이유는 무엇인가요?
그림과 같이 목표 지점으로부터 이 4개 위성의 거리 값을 알기 위해서는 최소 4개 이상의 위성으로부터의 데이터가 필요하며, 수신기는 GPS를 들고 있는 사용자의 위치를 나타냅니다. ; 방정식 시스템을 얻을 수 있습니다:
다음은 위 방정식을 풀기 위한 MATLAB 코드입니다:
clear all;
clc;
load 'D:\Desktop\local_1\local_Mat\location .txt';
c = 3*10^8;
pointAt = [0;0;0 ;0];
u=1의 경우: 6
lenAt = 1:8;
k = 1:8의 경우
lenAt(k) = sqrt((location(k,2)-pointAt (1))^2 + (location(k,3)-pointAt(2))^2 + (location(k,4)-pointAt(3) ))^2 ) + c*pointAt(4);
end
lenAt = lenAt';
detlen = location(:,1) - lenAt ;
A = zeros(8,4) ;
for k=1:8
A(k,1) = -(location(k, 2)-pointAt(1))/(location(k,1) -c*pointAt(4));
A(k,2) = -(location(k,3)-pointAt( 2))/(location(k,1)-c*pointAt( 4));
A(k,3) = -(location(k,4)-pointAt(3))/( location(k,1)-c*pointAt(4));
A(k,4) = c;
end
detpoint = (A '*A)\A'*detlen;
pointAt = detpoint + pointAt;
% disp(pointAt);
end
disp('the ans is:');
disp(pointAt);
이 방법은 4개 이상의 위성 데이터의 GPS 위치를 계산할 수 있으며, 추가 데이터는 GPS 측정 오류.