Como funciona a função NL () do relatório de posição compacta ADS-B?

12

Estou tentando decodificar mensagens ADS-B para um projeto da escola e não posso reproduzir os resultados da função NL () conforme descrito em este documento . Eu vi a mesma fórmula em vários outros documentos. Também neste documento está o inverso desta função - o NL é a entrada e a latitude "limite" é o resultado. Eu não posso resolver isso.

Eu tentei radianos e graus para as funções trigonométricas e várias ferramentas de cálculo diferentes, e meu resultado nunca está perto da correção.

As entradas e resultados "conhecidos" são provenientes do documento . Eu também vi essas entradas e resultados em outros lugares, mas nenhum detalhe sobre a própria equação.

O resumo do conjunto de dados válidos "conhecido" é:

$ rLat = 10.2157745361328 $

$ NZ = 60 $

$ NL = 59 $

A equação é:

$$ NL = int \ left (2 \ pi \ left [arccos \ left (1 - {1 - cos \ left) ({\ pi \ over 2NZ} \ right) \ over cos ^ 2 \ left ({2 \ pi \ acima de 180 } \ mid lat \ mid \ right)} \ right) \ right] ^ {- 1} \ right) $$

Alguém pode me ajudar a entender esse cálculo?

    
por Kevin 04.05.2014 / 16:42

1 resposta

Relatório de Posição Compacta (Compact Position Reporting, CPR) é uma maneira de reduzir o número de bits necessários para transmitir a posição enquanto mantém a resolução de posição alta (~ 5,1 metros para codificação aérea). A codificação ordinária exigiria 45 bits, mas a CPR usa 35 bits, economizando 10 bits. Para fazer isso, o mundo é dividido em várias zonas, tanto para latitude quanto para longitude, e a posição dentro da zona é codificada. Uma vez que a transmissão dos números da zona custaria tantos bits quanto o que teria sido salvo, um truque inteligente é usado. Dois tipos de codificação são usados, cada um com um número diferente de zonas. A partir da diferença nas coordenadas da zona entre os dois tipos de codificação, pode-se determinar em qual zona a aeronave está. Portanto, é necessário receber uma mensagem codificada par e ímpar dentro de 10 segundos um do outro. Uma vez que a decodificação da posição inicial seja bem sucedida, cada mensagem de posição subseqüente fornecerá a posição atualizada.

Na decodificação de RCP, você primeiro determina a latitude da aeronave com base em um par de mensagens de posição ímpar e par recebidas dentro de 10 segundos uma da outra.

A latitude é sempre codificada no mesmo número de zonas entre o equador e os pólos (15 para codificação uniforme, 14.75 para codificação ímpar). Devido ao arredondamento da Terra, o número de zonas usadas para codificação de longitude depende da latitude. A codificação por longitude usa 59 zonas no equador e apenas 1 nos pólos. A codificação ímpar usa sempre uma zona a menos, exceto perto do pólo em que uma zona é usada como na codificação uniforme. O número de zonas de longitude usadas para codificação uniforme pode ser encontrado pela função $ NL () $.

As latitudes de transição, isto é, onde o número de zonas para codificação de longitude mudam, podem ser calculadas pela função inversa $ NL () $. Essa função pode ser usada para criar uma tabela de pesquisa de latitudes de transição que seja mais eficiente de usar do que a função $ $ () $ original.

Sem saber nada sobre sua implementação, é difícil ajudar ainda mais. A fórmula é descrita corretamente na sua pergunta. Note que a latitude de entrada é dada em graus, mas supõe-se que a função trigonométrica trabalhe em radianos, daí o fator $ \ frac {\ pi} {180} $.

Editar: na inspeção posterior, notei um erro na fórmula: deve ser:

$$ NL = int \ left (2 \ pi \ esquerdo [arccos \ left (1 - {1 - cos \ left) ({\ pi \ over 2NZ} \ right) \ over cos ^ 2 \ left ({\ pi \ over 180} \ mid lat \ mid \ right)} \ right) \ right] ^ {- 1} \ right) $$

(note que a conversão de graus para radianos é corrigida)

Para aqueles que realmente querem entender detalhadamente a codificação e decodificação de RCP, você terá que obter uma cópia do documento RTCA DO-260B ou do documento Eurocae ED-102A (infelizmente eles são caros, eu penso em $ 700) e leia o Apêndice A.1.7 e o Apêndice T.

    
05.05.2014 / 12:20

Tags