주요 콘텐츠

receiverposition

GNSS 수신기 위치와 속도 추정

R2021a 이후

설명

recPos = receiverposition(p,satPos)는 의사거리와 위성 위치로부터 추정한 수신기 위치를 반환합니다.

[recPos,recVel] = receiverposition(___,pdot,satVel)는 의사거리 변화율 pdot와 위성 속도 satVel로부터 추정한 수신기 속도도 반환합니다.

예제

[recPos,recVel,hdop,vdop] = receiverposition(___)은 위치 추정값과 연결된 HDOP(horizontal dilution of precision) hdop와 VDOP(vertical dilution of precision) vdop도 반환합니다.

[recPos,recVel,hdop,vdop,info] = receiverposition(___)은 클록 바이어스, 클록 드리프트, TDOP(time dilution of precision) 관련 정보도 반환합니다.

예제

모두 축소

receiverposition 함수를 사용하여 GNSS 수신기 위치를 추정합니다. gnssconstellation 함수를 사용하여 위성 위치와 속도를 구합니다. pseudoranges 함수를 사용하여 이 위치로부터 의사거리를 생성합니다.

측지 좌표(위도, 경도, 고도)에서의 수신기 위치를 지정하고, 로컬 내비게이션 프레임에서의 수신기 속도를 지정합니다.

recPos = [42 -71 50];
recVel = [1 2 3];

현재 시간의 위성 위치를 구합니다.

t = datetime('now');
[gpsSatPos,gpsSatVel] = gnssconstellation(t);

GNSS 수신기와 위성 사이의 의사거리와 의사거리 변화율을 구합니다.

[p,pdot] = pseudoranges(recPos,gpsSatPos,recVel,gpsSatVel);

의사거리를 사용하여 수신기 위치와 속도를 추정합니다. 값들이 위성 위치와 의사거리를 생성할 때 사용한 원래의 수신기 위치와 속도에 가깝습니다.

[lla,gnssVel] = receiverposition(p,gpsSatPos,pdot,gpsSatVel)
lla = 1×3

   42.0000  -71.0000   49.5941

gnssVel = 1×3

    1.0003    2.0140    2.9977

입력 인수

모두 축소

위성과 수신기 사이의 의사거리로, 요소를 n개 가진 벡터로 지정됩니다(단위: 미터).

데이터형: single | double

ECEF(지구중심고정) 좌표계에서의 위성 위치(단위: 미터)로, 스칼라로 구성된 N×3 행렬로 지정됩니다. 여기서 N은 성상도에서 위성의 개수입니다.

데이터형: single | double

위성과 수신기 사이의 의사거리 변화율로, 요소를 n개 가진 벡터로 지정됩니다(단위: 초당 미터).

데이터형: single | double

ECEF(지구중심고정) 좌표계에서의 GNSS 수신기의 속도 측정값(단위: 초당 미터)으로, 스칼라로 구성된 N×3 행렬로 지정됩니다. 여기서 N은 성상도에서 위성의 개수입니다.

데이터형: single | double

출력 인수

모두 축소

측지 좌표에서의 수신기 위치로, [latitude longitude altitude] 형식의, 요소를 3개 가진 벡터로 반환됩니다.

데이터형: single | double

NED(북쪽-동쪽-아래쪽) 좌표를 사용한 로컬 내비게이션 프레임에서의 수신기 속도로, [vx vy vz] 형식의, 요소를 3개 가진 벡터로 반환됩니다.

데이터형: single | double

HDOP(horizontal dilution of precision)로, 스칼라로 반환됩니다.

데이터형: double

VDOP(Vertical dilution of precision)로, 스칼라로 반환됩니다.

데이터형: double

클록 바이어스, 클록 드리프트, TDOP(time dilution of precision) 관련 정보로, 다음 필드를 포함하는 구조체로 반환됩니다.

  • ClockBias — 수신기 클록에서 추정된 바이어스 오차(단위: 초)입니다.

  • ClockDrift — 수신기 클록에서 추정된 드리프트 오차(단위: 초당 초)입니다.

  • TDOP — TDOP(Time dilution of precision)입니다.

참고 문헌

[1] Groves, Paul D. Principles of GNSS, Inertial, and Multisensor Integrated Navigation Systems. 2nd ed. GNSS Technology and Application Series. Boston: Artech House, 2013.

확장 기능

모두 확장

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2021a에 개발됨