Gráfico de Visibilidade de Sondas
Overview
O gráfico de Horizonte Rádio mostra até onde uma estação pode, em teoria, receber uma sonda meteorológica em diferentes altitudes.
A ideia parece simples: se a sonda está mais alta, fica visível mais longe. Mas há três detalhes importantes que mudam bastante o resultado:
- a curvatura da Terra;
- o relevo entre a estação e a sonda;
- a margem real do enlace de rádio.
Por isso o gráfico tem três opções principais: Relevo, Fresnel e Link Budget. Cada uma acrescenta uma camada ao cálculo.
1. O cálculo base: horizonte geométrico
O ponto de partida é o horizonte rádio teórico. Para cada altitude configurada, o algoritmo calcula a distância máxima em que a sonda ainda estaria acima do horizonte da estação.
Na prática, o cálculo usa duas alturas:
- a altura da antena da estação;
- a altitude da sonda.
Cada uma tem a sua própria distância ao horizonte. A distância total desenhada no mapa é a soma das duas:
$$ d_{\text{total}} = d_{\text{antena}} + d_{\text{sonda}} $$O horizonte de uma altura \(h\) é calculado usando o raio efetivo da Terra:
$$ d = \sqrt{(R + h)^2 - R^2} $$Onde:
- \(d\) é a distância ao horizonte, em metros;
- \(R\) é o raio efetivo da Terra;
- \(h\) é a altura considerada.
O raio efetivo da Terra não é apenas o raio físico do planeta. O algoritmo multiplica o raio terrestre por um fator \(k\), normalmente \(4/3\).
$$ R_{\text{efetivo}} = R_{\text{Terra}} \times k $$Este fator é uma aproximação clássica usada em rádio para representar a refração atmosférica. Em condições normais, as ondas de rádio curvam ligeiramente para baixo, acompanhando um pouco a curvatura da Terra. O fator \(4/3\) aumenta o raio aparente da Terra e, por consequência, aumenta um pouco o alcance teórico.
O resultado desta primeira fase é um conjunto de círculos perfeitos no mapa, um por altitude.
Exemplo:
- 1.000 m;
- 5.000 m;
- 10.000 m;
- 20.000 m;
- 30.000 m.
Quanto maior a altitude, maior o círculo.
2. Opção Fresnel: não basta “ver” a sonda
Quando a opção Fresnel está ativa, o algoritmo deixa de tratar o caminho rádio como uma linha infinitamente fina.
Em rádio, o sinal ocupa uma zona em volta da linha direta entre transmissor e receptor. A primeira zona de Fresnel é a mais importante. Se montanhas, terreno ou obstáculos entram demasiado nessa zona, o sinal pode degradar mesmo que a linha de visada pareça livre.
Para cada distância total, o algoritmo calcula o raio máximo da primeira zona de Fresnel:
$$ r_{\text{Fresnel}} = \sqrt{\frac{\lambda \times D}{4}} $$Onde:
- \(r_{\text{Fresnel}}\) é o raio máximo da primeira zona de Fresnel;
- \(\lambda\) é o comprimento de onda;
- \(D\) é a distância total do enlace.
O comprimento de onda vem da frequência configurada na estação:
$$ \lambda = \frac{c}{f} $$Onde \(c\) é a velocidade da luz e \(f\) é a frequência.
Na lista de resultados, isto aparece como o valor de Fresnel máximo. Ele ajuda a perceber a “espessura” aproximada do caminho rádio.
Quando também se usa Relevo, esta informação passa a ser usada de forma mais prática: em cada ponto do perfil do terreno, o algoritmo exige uma folga de Fresnel. Atualmente ele considera 60% da primeira zona de Fresnel como folga mínima.
Ou seja, um ponto do terreno só é considerado livre se ficar abaixo da linha rádio com essa margem adicional:
$$ h_{\text{terreno}} + h_{\text{curvatura}} + 0{,}60 \times r_{\text{Fresnel}} < h_{\text{linha}} $$Isto torna o resultado mais conservador e mais próximo do que se espera num enlace real.
3. Opção Link Budget: horizonte não garante sinal
O horizonte geométrico diz se a sonda poderia estar visível. Mas estar visível não significa que o receptor consiga decodificar o sinal.
A opção Link Budget acrescenta uma conta de potência ao cálculo. Ela estima a perda em espaço livre e compara o sinal recebido com a sensibilidade do receptor.
O algoritmo usa os parâmetros configurados na estação:
- potência de transmissão;
- ganho da antena transmissora;
- ganho da antena receptora;
- perdas do sistema;
- sensibilidade do receptor;
- margem mínima desejada.
Primeiro a potência de transmissão é convertida de watts para dBm:
$$ P_{\text{TX,dBm}} = 10 \log_{10}(P_{\text{TX,W}} \times 1000) $$Depois calcula-se a EIRP:
$$ \text{EIRP}_{\text{dBm}} = P_{\text{TX,dBm}} + G_{\text{TX,dBi}} $$A perda em espaço livre é estimada por:
$$ \text{FSPL}_{\text{dB}} = 32{,}44 + 20 \log_{10}(d_{\text{km}}) + 20 \log_{10}(f_{\text{MHz}}) $$Com isso, o algoritmo estima a potência recebida:
$$ P_{\text{RX,dBm}} = \text{EIRP}_{\text{dBm}} + G_{\text{RX,dBi}} - L_{\text{sistema,dB}} - \text{FSPL}_{\text{dB}} $$A margem do enlace é:
$$ M_{\text{enlace}} = P_{\text{RX,dBm}} - S_{\text{RX,dBm}} $$E a margem útil desconta a margem mínima configurada:
$$ M_{\text{útil}} = M_{\text{enlace}} - M_{\text{mínima}} $$Além disso, o algoritmo calcula a distância máxima em que o enlace ainda respeitaria a margem mínima. Se esta distância for menor do que o horizonte geométrico, o círculo desenhado passa a ser limitado pelo sinal, não pela curvatura da Terra.
Por isso, com Link Budget ativo, a coluna “limite” pode mudar:
- horizonte: a curvatura da Terra é o fator limitante;
- sinal: o orçamento de enlace é o fator limitante.
4. Opção Relevo: o círculo vira um polígono
Sem relevo, o mapa desenha círculos perfeitos. Isso é útil para uma primeira aproximação, mas não diz se há uma serra no caminho.
Com Relevo ativo, o algoritmo consulta dados DEM, ou seja, um modelo digital de elevação. Em vez de assumir que todas as direções são iguais, ele divide o mapa em vários radiais.
Por exemplo, com 18 radiais, o algoritmo testa uma direção a cada 20 graus:
$$ \Delta\theta = \frac{360^\circ}{18} = 20^\circ $$Em cada radial, ele faz várias amostras de terreno desde a estação até à distância máxima daquela altitude.
Para cada direção, a pergunta é:
até que distância a sonda continua visível, considerando terreno, curvatura da Terra e, se ativo, Fresnel?
O processo é:
- calcula-se o limite teórico para a altitude;
- se o Link Budget estiver ativo, esse limite pode ser reduzido;
- o algoritmo percorre a direção radial por amostras;
- para cada distância candidata, verifica se algum ponto anterior do terreno bloqueia o caminho;
- guarda a maior distância visível naquele radial;
- transforma essa distância numa coordenada no mapa.
No fim, os pontos de todos os radiais são unidos. O resultado já não é um círculo perfeito: é um polígono que acompanha melhor as limitações reais do terreno.
Em direções com mar ou terreno baixo, o alcance pode ficar próximo do horizonte teórico. Em direções com serras, o alcance pode encolher bastante.
5. Como o bloqueio por terreno é decidido
Para cada ponto intermediário entre a estação e uma distância candidata, o algoritmo calcula a altura da linha direta entre a estação e a sonda.
Depois compara essa linha com:
- a altitude do terreno naquele ponto;
- a curvatura aparente da Terra;
- a folga de Fresnel, quando ativada.
A curvatura é aproximada pela elevação aparente da Terra no meio do caminho:
$$ h_{\text{curvatura}} = \frac{d_1 \times d_2}{2 R_{\text{efetivo}}} $$Onde:
- \(d_1\) é a distância da estação até ao ponto intermediário;
- \(d_2\) é a distância do ponto intermediário até à sonda;
- \(R_{\text{efetivo}}\) é o raio da Terra já corrigido pelo fator \(k\).
Se a soma abaixo ultrapassar a linha direta, o ponto é considerado bloqueado:
$$ h_{\text{terreno}} + h_{\text{curvatura}} + h_{\text{Fresnel}} > h_{\text{linha}} $$Quando isso acontece, aquela distância candidata deixa de ser válida.
6. De onde vêm os dados de relevo
Os dados de elevação vêm de tiles DEM. O sistema guarda esses tiles localmente e também mantém uma cache de amostras no banco de dados.
Isto é importante porque um cálculo completo pode pedir milhares de pontos. Para evitar repetir trabalho:
- as coordenadas são arredondadas e usadas como chave de cache;
- amostras já conhecidas são reaproveitadas;
- tiles DEM já descarregados ficam no disco;
- quando há muitos pontos, o sistema lê elevações em lote usando GDAL.
Por isso o cálculo com relevo é executado como um job. A página cria o job, acompanha o progresso e depois carrega o resultado final.
Se o mesmo conjunto de parâmetros já foi calculado antes, o sistema pode reaproveitar o resultado.
7. O que cada opção muda no gráfico
Resumo prático:
| Opção | O que faz | Efeito visual |
|---|---|---|
| Sem opções | Calcula apenas o horizonte geométrico por altitude | Círculos perfeitos |
| Fresnel | Calcula a zona de Fresnel e, com relevo, exige folga no caminho | Resultado mais conservador |
| Link Budget | Limita o alcance pela potência, perdas, ganhos e sensibilidade | O raio pode ficar menor que o horizonte |
| Relevo | Consulta o DEM por radiais e testa bloqueios do terreno | Círculos viram polígonos irregulares |
Estas opções podem ser combinadas. O caso mais completo é usar as três:
$$ \text{alcance realista} = \text{horizonte geométrico} + \text{relevo} + \text{folga de Fresnel} + \text{limite de link budget} $$Neste modo, o mapa tenta responder uma pergunta mais realista:
em cada direção, até onde a sonda estaria geometricamente visível, com folga de Fresnel e ainda dentro da margem de sinal configurada?
8. Limitações do modelo
Este gráfico é uma ferramenta de estimativa, não uma previsão absoluta de recepção.
Ele não modela todos os efeitos reais de propagação, como:
- reflexões;
- ducting;
- variações atmosféricas fortes;
- polarização;
- ruído local;
- obstruções pequenas que não aparecem no DEM;
- diferenças reais entre antenas.
Mesmo assim, é muito útil para comparar estações, altitudes e direções. Ele mostra rapidamente quando o limite provável é a geometria, o relevo ou o próprio orçamento de enlace.
9. Em resumo
O algoritmo começa simples e vai acrescentando realidade em camadas.
Primeiro calcula o horizonte teórico com fator \(k\). Depois, se pedido, calcula a zona de Fresnel. Em seguida pode limitar o alcance pelo Link Budget. Por fim, com Relevo ativo, percorre o terreno em várias direções e transforma os círculos ideais em polígonos mais realistas.
É esta combinação que torna o gráfico útil para sondas meteorológicas: a altitude muda rapidamente, o alcance muda com ela, e nem todas as direções têm o mesmo comportamento.