2 pontos por GN⁺ 2025-02-18 | 1 comentários | Compartilhar no WhatsApp
  • Um radar de abertura sintética (SAR) FMCW feito pelo próprio autor foi instalado em um drone FPV barato de 7 polegadas, capturando do ar imagens polarimétricas HH/HV/VH/VV com uma aeronave de menos de 1 kg
  • Por causa do orçamento de menos de 500 EUR para o radar e do frame estreito, o projeto foi condensado em torno de PCB FR4, componentes na faixa de 6 GHz, FPGA Zynq 7020 e uma antena compacta de dupla polarização
  • Em curtas distâncias e numa plataforma lenta, o FMCW é mais vantajoso que o radar pulsado, então o sistema buscou resolução de imagem na faixa de 0,3 m com 300 MHz de largura de banda RF, ADC de 50 MHz, PRF na faixa de 1 kHz e dezenas de milhares de sweeps
  • Só com GPS sem RTK e IMU a imagem ficou borrada, mas ao aplicar autofoco de entropia mínima baseado em PyTorch e backprojection em GPU, a superfície dos campos, linhas de energia, prédios e a estrutura da floresta ficaram mais nítidos
  • O sistema final, com 948 g incluindo bateria, fez imageamento até pelo menos 1,5 km; o drone custou cerca de 200 EUR, duas PCBs do radar cerca de 600 EUR, e o projeto consumiu cerca de 10 meses de tempo livre após o expediente

Meta e restrições de orçamento

  • Com base em experimentos anteriores com radares construídos em solo e imageamento por abertura sintética, o objetivo era instalar o radar em um drone para obter imagens SAR aéreas
  • Trabalhos anteriores usaram drones médios como o DJI S900 e RTK-GPS, e o custo total do sistema em um artigo de exemplo era de £15,000, fora do orçamento pessoal
  • Com a recente queda de preço dos pequenos drones FPV chineses, kits de quadricóptero de 5 a 7 polegadas passaram a poder ser comprados por cerca de 100 EUR, sem incluir bateria e controle
  • Foi comprado o kit FPV chinês genérico de 7 polegadas mais barato, junto com um pequeno módulo de GPS + bússola, iniciando a construção de um sistema SAR leve que o drone pudesse carregar

Princípio básico do radar de abertura sintética

  • Um radar de canal único só consegue medir a distância até o alvo, sem saber diretamente seu ângulo
  • Se vários canais de recepção forem colocados em linha, o comprimento do caminho até cada receptor muda conforme o ângulo do alvo, e essa diferença de fase permite calcular o ângulo
  • A resolução angular da antena é determinada aproximadamente por Δθ ≈ λ / D
    • Para obter resolução de 1 m a 1 km de distância em 6 GHz, seria necessária uma resolução angular de cerca de 0,03°
    • Essa condição exigiria uma antena de cerca de 100 m de tamanho
  • Em vez de uma antena grande, se um único radar for movido e medir em várias posições, é possível obter o mesmo efeito de um grande radar multicanal, desde que a cena seja estática
  • Ao instalar um radar de canal único em um drone e medir durante o voo, cria-se uma grande abertura sintética, obtendo alta resolução angular

Escolha da arquitetura do radar

  • A meta do projeto era caber em um drone FPV, maximizar o desempenho de imageamento e manter o orçamento do radar em menos de 500 EUR
  • Por causa do orçamento, materiais RF de baixa perda foram descartados, e tanto os circuitos eletrônicos quanto as antenas tiveram de ser implementados em PCB FR4, que tem perdas
  • A largura do frame do drone era de cerca de 40 mm, a distância entre as pontas das hélices ao atravessar o frame era de cerca de 50 mm, e o comprimento era de cerca de 170 mm, então o radar precisava ter um formato estreito e comprido
  • Um radar pulsado caseiro anterior tinha cerca de 64 × 132 mm, era um pouco largo demais e, por causa da taxa de amostragem do ADC, sua largura de banda ficava limitada a cerca de 100 MHz, resultando em resolução de distância de 1,5 m
  • Um radar FMCW pode transmitir e receber ao mesmo tempo, o que é vantajoso para a relação sinal-ruído, e permite estender o sweep para centenas de µs
  • O radar pulsado é necessário em longas distâncias, especialmente acima de alguns quilômetros, mas o FMCW é mais vantajoso em curtas distâncias e plataformas lentas

Projeto RF e medição de polarização

  • A estrutura RF foi composta por um radar FMCW com antena de dupla polarização
    • O PLL gera o sweep
    • O sinal passa por um atenuador variável e um amplificador de potência antes de seguir para a antena transmissora
    • Uma parte do sinal transmitido é acoplada ao mixer de recepção
    • O sinal recebido é amplificado no LNA, convertido em sinal IF de baixa frequência no mixer e digitalizado pelo ADC
  • A geração de sweep baseada em DAC ou DDS poderia ser melhor que PLL, mas o PLL foi escolhido por ser mais barato e ocupar menos espaço
  • A frequência RF foi definida em cerca de 6 GHz
    • Essa frequência fica perto do limite superior onde ainda há muitos componentes RF baratos para consumo
    • Amplificadores de potência baratos conseguem cerca de 30 dBm de saída
    • Amplificadores de baixo ruído para recepção, com figura de ruído de 1 a 2 dB, podem ser obtidos a baixo custo
  • O receptor usa arquitetura de conversão direta e não tem image rejection
    • O ruído acima e abaixo da frequência de transmissão é convertido para a mesma frequência de saída, aumentando o piso de ruído em 3 dB
    • Um receptor com amostragem IQ exigiria dois mixers e dois ADCs, e foi considerado pouco vantajoso em custo e área de PCB
  • Chaves de polarização selecionam H/V tanto na transmissão quanto na recepção, permitindo medir as quatro combinações HH, HV, VH, VV
    • Alvos lisos costumam refletir com mais força na mesma polarização
    • Florestas e vegetação, por causa de múltiplas reflexões internas, podem ter componentes de polarização cruzada HV/VH mais altos que estradas e solo exposto
  • Usar dois receptores permitiria receber H/V simultaneamente, mas por custo e espaço foi escolhida uma estrutura com receptor único e chaves

Vazamento TX-RX e orçamento de enlace

  • No FMCW, transmissão e recepção acontecem ao mesmo tempo, então o vazamento TX-RX pode saturar o receptor
  • O receptor precisa ser sensível o bastante para detectar o piso de ruído térmico -174 dBm/Hz, mas a entrada de saturação do LNA normalmente fica em cerca de -20 dBm
  • Se a potência de transmissão for +30 dBm, é necessário mais de 50 dB de isolamento entre transmissor e receptor para evitar saturação
  • Se o isolamento for insuficiente, é possível reduzir a potência de transmissão com o atenuador variável antes do amplificador de potência
  • O orçamento de enlace foi calculado com base na potência recebida, refletividade do solo, distância, ganho da antena, potência de transmissão e número de sweeps
  • Os parâmetros de exemplo foram os seguintes
    • Potência de transmissão: 30 dBm
    • Ganho da antena: 10 dBi
    • Comprimento de onda: 5,2 cm
    • Resolução de pixel da imagem: 0,3 × 0,3 m
    • Duração do sweep: 200 µs
    • Número de pulsos na imagem: 10.000
    • Figura de ruído do receptor: 6 dB
    • grazing angle: 30°
  • Nessas condições, dá para esperar qualidade de imagem razoável até algo entre 1 e 2 km, mas a 2 km com grazing angle de 30° seria necessário voar a 1 km de altitude, o que é uma condição otimista para um drone

Requisitos de PRF e ADC

  • A formação de imagem SAR depende da informação de fase do sinal recebido, então a diferença de fase entre medições adjacentes não pode passar de 180° para evitar aliasing
  • Em 6 GHz, 1/4 de comprimento de onda é 12,5 mm e, se o drone voar a 10 m/s, o PRF mínimo necessário é de cerca de 800 Hz
  • Como as quatro polarizações são multiplexadas no tempo, surge uma exigência total de 4 × 800Hz = 3.2kHz
  • Isso deixa no máximo 312,5 µs por sweep e, descontando 20 a 30 µs de tempo de locking do PLL, o comprimento máximo do sweep fica em cerca de 280 µs
  • Em FMCW, a frequência IF é determinada pela distância, largura de banda RF e duração do sweep
    • Uma largura de banda RF de 300 MHz fornece resolução de distância de 0,5 m
    • Com alcance máximo de 2 km e sweep de 280 µs, a frequência IF fica em cerca de 14 MHz
    • Considerando a condição de Nyquist e a margem para o filtro anti-alias, foi necessário um ADC de pelo menos cerca de 35 MHz, e na prática foi escolhida amostragem de 50 MHz

FPGA e estrutura de armazenamento

  • Por causa do timing rigoroso da geração de sweep e do volume de dados, era difícil fazer isso apenas com um microcontrolador, então foi necessário usar um FPGA
  • O FPGA usado foi o Zynq 7020, que já havia sido usado em um radar de pulso anterior
    • O fabric do FPGA e um processador ARM dual-core ficam no mesmo encapsulamento
    • O preço normal no varejo é de cerca de 150 EUR, mas foi possível encontrá-lo mais barato na rede de distribuição chinesa
  • A desvantagem é a falta de conexões de alta velocidade no lado ARM
    • As interfaces SD-card e EMMC ficam em 25MB/s, abaixo da taxa de dados do ADC
    • Havia Ethernet de 1Gbps, mas isso exigiria um computador adicional, como um Raspberry Pi, o que era inviável por falta de espaço
    • O DDR3 externo só comporta um módulo, ficando limitado a 1GB, enquanto uma medição completa pode chegar a vários GB
  • A solução foi implementar uma interface externa de comunicação rápida no lado de programmable logic do FPGA
  • Foi usado o controlador GPL3 de SD-card/EMMC do ZipCPU; embora ele ainda não tivesse sido validado em hardware real na velocidade necessária, no fim funcionou bem
  • Também foi adicionado um IC bridge USB3 FT600 para permitir conexão em tempo real com um PC, mas isso não é necessário para operar o drone e é mais útil para testes e outras aplicações
  • O bloco radar timer dentro do FPGA comuta sinais internos e externos com precisão de ciclo de clock para medições estáveis em fase
  • O decimating FIR filter após o ADC pode ser configurado com decimation em 1, 2 ou 4
    • Em medições de longa distância, a decimation é desativada para obter a largura de banda IF máxima
    • Em medições de curta distância, a decimation pode reduzir a quantidade de dados armazenados

Implementação da PCB e problemas de fabricação

  • A PCB do radar é uma PCB de 6 camadas, com componentes posicionados de forma bem densa para reduzir o tamanho
  • Como a montagem em um lado só sai mais barata, a face inferior foi deixada vazia, exceto por um conector SD-card que seria soldado manualmente
  • O circuito de RF ocupa uma pequena parte da PCB, e a maior parte do espaço é tomada pela eletrônica digital e pelos reguladores de tensão
  • O radar aceita entrada de 12~30V e pode ser ligado diretamente à bateria do drone, sem necessidade de regulador DC/DC externo
  • O tamanho da PCB é 113×48mm, com a largura reduzida para caber no drone
  • Por falta de espaço, não foi possível colocar 4 conectores SMA, então apenas as 2 saídas TX H/V e 1 entrada RX foram colocadas na PCB
    • O switch de polarização RX foi separado em uma PCB externa
    • Os conectores JST são usados para o switch de polarização RX, a porta serial do controlador de voo e conexões de reserva
  • Um dos componentes pedidos na Mouser não pôde ser comprado porque o fornecedor proibia venda para pessoas físicas
    • Como alternativa, foi obtido um IC PE43204 compatível em pinos, antigo e descontinuado
    • O componente original ia até 6GHz, mas o PE43204 é especificado para 4GHz; mesmo assim, a perda em 6GHz era baixa o bastante para não causar grande problema
  • Houve o erro de ligar os pinos do SD-card em I/O de 1.8V em vez de 3.3V
    • Em vez de pedir uma nova PCB, foi projetada uma pequena PCB interposer com level shifter e soldada sobre o footprint existente
    • Os detalhes relacionados foram reunidos em um post anterior
  • O amplificador de potência pode esquentar se o duty cycle de transmissão for alto, então foi encomendada uma PCB dissipadora com substrato de alumínio e fixada com parafusos sob a PCB do radar
    • Custou $4 por 5 unidades e funcionou bem

Eletrônica do drone e estimativa de posição

  • O controlador de voo incluído no kit do drone é o Speedybee F405 V3
    • É um controlador de baixo custo com 1MB de flash
    • Como a diferença de preço não é grande, um controlador com 2MB de flash é considerado uma escolha melhor
  • Os principais softwares de voo para drones FPV são Betaflight, Inav e ArduPilot
    • O Betaflight é focado em voo manual rápido e não oferece suporte a voo autônomo
    • O Inav compartilha bastante código com o Betaflight e oferece algum suporte a voo autônomo
    • O ArduPilot oferece os recursos de voo autônomo mais avançados, mas é mais difícil de configurar
  • Este projeto escolheu o ArduPilot, e a fusão de sensores IMU e GPS foi útil para melhorar a precisão de posicionamento
  • O controlador de voo se comunica com o radar por uma porta serial
    • É possível ligar e desligar o radar durante missões autônomas
    • Também é possível fornecer informações de posição ao radar
  • A geração de imagens SAR exige precisão de posição na ordem de uma fração do comprimento de onda; em 6GHz, isso significa alguns centímetros
  • Drones SAR comerciais podem obter cerca de 1cm de precisão de posição com RTK GPS e um receptor de referência em solo, mas isso foi considerado difícil neste drone por causa do custo e do tamanho
  • Um GPS comum pode ter precisão de cerca de 1m e causar erros na imagem, mas é possível usar autofocus para corrigir o erro de posição a partir dos dados do radar
  • Em vez de adicionar GPS e IMU separados só para o radar, a estimativa de posição do computador de voo é enviada ao radar pela interface serial
  • O link de controle usa ExpressLRS
    • Graças ao suporte a Mavlink do ELRS, é possível usar um único link sem fio para controle e telemetria

Projeto da antena

  • Em SAR, teoricamente uma largura de feixe maior da antena pode ajudar a obter melhor resolução, mas na prática o baixo ganho limita a relação sinal-ruído e o alcance máximo
  • No orçamento de enlace, o ganho da antena entra ao quadrado, então reduzir o ganho pela metade faz com que o número de pulsos necessário para o mesmo SNR quadriplique
  • Em SAR com drone, é difícil garantir trajetórias de voo longas por causa da limitação de linha de visada, e muitas vezes o comprimento máximo da baseline é o fator que limita a resolução
  • Por causa da arquitetura FMCW, é preciso separar as antenas de transmissão e recepção, e a necessidade de distância entre elas para reduzir o leakage TX-RX agrava o problema de espaço
  • A horn antenna caseira anterior tinha 100mm de comprimento, e só a transição coaxial-to-waveguide já media 25mm, o que não servia para um drone com 50mm de distância entre as pontas das hélices
  • Uma patch antenna simples é pequena e pode ser dual-polarizada, mas em FR4 de 1.6mm a largura de banda é estreita, há deslocamento de frequência por erro na constante dielétrica e o ganho também não é alto
  • A estrutura escolhida foi baseada em uma dual-polarized slot-fed stacked patch antenna vista em um artigo
    • O patch é alimentado por uma slot em formato de H e um microstrip feed
    • A dupla polarização é implementada com dois feed/slot posicionados a 90°
    • Um segundo patch é suspenso sobre uma camada de ar para obter largura de banda maior do que a de um patch único
  • Para ganho adicional e redução de sidelobes, foi adicionada ao redor do patch uma estrutura horn de chapa metálica, formando uma stacked patch-fed horn antenna
  • Essa antena atende ao mesmo tempo aos requisitos de dupla polarização, largura de banda ampla, bom ganho, baixa altura e baixo custo de fabricação
    • Se fosse usado um material de RF de baixa perda em vez de FR4, o ganho poderia ser 0.5~1.0dB maior, mas no volume de protótipos o custo ficaria cerca de 100 vezes mais alto
  • Entre as antenas foi colocada uma pequena parede de tamanho 0.25×0.5 comprimento de onda para reduzir o acoplamento TX-RX
  • As dimensões e o desempenho da antena são os seguintes
    • altura sem SMA: 18mm
    • altura com SMA: 28mm
    • substrato do patch: 45×45mm
    • horn aperture: 65×65mm
    • beamwidth simulado de -3dB: 50/60 graus nas direções de 0/90 graus
    • peak gain simulado: 10.0dB
    • largura de banda utilizável: cerca de 4.5~6.2GHz

Projeto mecânico e peso

  • Como não havia espaço dentro da estrutura para o radar, foi projetado um suporte impresso em 3D para fixar a PCB do radar sob o frame do drone
  • Também foram projetados trens de pouso para evitar que o radar toque o chão
  • O projeto foi feito no Blender, e funciona bem o suficiente para peças simples
  • O invólucro à prova d’água ainda não foi feito; como precaução caso o trem de pouso falhe, foi adicionado material de proteção sobre a PCB
  • A placa da antena é fixada com dois parafusos, permitindo ajuste de ângulo
  • A PCB do switch de polarização RX foi deixada suspensa sem fixação no suporte, porque o cabo SMA é rígido o bastante
  • O trem de pouso é composto por tubos de carbono de 10 cm de diâmetro e tampas TPU impressas em 3D
  • O radar recebe energia diretamente da bateria do drone por meio de um XT60 splitter
  • O peso é o seguinte
    • Drone sem bateria: 752g
    • LiPo 6S 1300mAh: 196g
    • LiPo 6S 2200mAh: 322g
    • Sistema completo com a bateria menor: 948g

Formação de imagem e processamento em GPU

  • Para converter as medições do radar em imagem, foi usado matched filtering
  • Para cada pixel da imagem, gera-se um sinal de referência que seria refletido por um alvo naquela posição; em seguida, multiplica-se o sinal medido pelo conjugado complexo do sinal de referência e soma-se o resultado para todas as medições
  • Quando o sinal medido coincide com o sinal de referência, as fases se alinham e a resposta aumenta; quando não coincide, os componentes de fase aleatória são promediados e a resposta fica baixa
  • O algoritmo usado foi backprojection
    • É simples e não faz aproximações nem pressupostos sobre a geometria do voo
    • Exige uma quantidade muito grande de cálculo
  • Por exemplo, para gerar uma imagem de 1km×1km com resolução de 0,3m e 10.000 sweeps, são necessários 111×10^9 backprojections
  • Usando coordenadas polares, a resolução angular permanece constante e a resolução cross-range melhora quanto mais perto do radar, então é possível reduzir o número de pixels em comparação com uma grade cartesiana
  • Em GPUs modernas, esse cálculo pode ser feito em menos de 1 segundo
  • Um kernel CUDA simples calcula 220 bilhões de backprojections por segundo em uma RTX 3090 Ti
  • Como cada pixel pode ser calculado independentemente em paralelo, isso se encaixa muito bem em uma implementação em GPU

Autofoco

  • A precisão de posição fornecida apenas por GPS e IMU não era suficiente para gerar imagens de alta qualidade, então foi necessário um algoritmo de autofoco
  • O phase gradient autofocus tradicional é simples e rápido, mas neste caso não funcionou bem por causa do feixe azimutal largo e da longa baseline do radar
  • O autofocus anterior por backpropagation foi atualizado e melhorado em PyTorch
  • O algoritmo funciona da seguinte forma
    • Forma a imagem de radar
    • Calcula o gradiente da velocity de entrada
    • Faz clipping da learning rate para que a mudança de posição não ultrapasse um valor máximo predefinido
    • Atualiza a velocity com um otimizador de gradient descent
  • Usar diretamente a posição 3D não funcionou bem, porque cada posição tendia a se mover aleatoriamente um pouco em direções diferentes; usar velocity e integrá-la para obter a position deu resultados melhores
  • Também foi incluído um pequeno termo de regularização para que a posição otimizada não se desviasse muito da posição original
  • Essa abordagem não faz suposições sobre o sistema de radar, a cena ou a trajetória de voo, mas como precisa formar a imagem várias vezes, fica lenta demais sem formação de imagem rápida baseada em GPU
  • O algoritmo de autofoco foi publicado no Github

Resultados da primeira medição SAR

  • A missão foi pré-configurada no ArduPilot Mission Planner
    • O drone voava automaticamente pelos waypoints
    • Foi definido um ROI para que a antena apontasse sempre para a área de interesse
    • A medição do radar era iniciada usando o comando digicam configure
  • Para definir o ROI com base na direção da antena, foi necessário um patch no firmware do ArduPilot
  • A primeira cena foi um campo aberto, e a floresta na direção da antena estava a cerca de 1,5km
  • O drone voou a uma altitude de 110m, em uma linha reta de cerca de 500m, a uma velocidade de 5m/s
  • A configuração do radar usou apenas polarização VV, com sweep de 400µs, largura de banda de 500MHz e PRF de 1kHz
  • Os range-compressed raw data não parecem uma imagem
    • Isso acontece porque, em cada sweep, o feixe largo da antena capta simultaneamente alvos em vários ângulos
    • Em distância 0 aparece um forte TX-RX leakage
    • Em cerca de 100m aparece a reflexão do solo logo abaixo
    • As reflexões distantes ficam em grande parte abaixo do piso de ruído em sweeps individuais, mas na formação da imagem o SNR melhora ao integrar vários sweeps
  • A imagem SAR antes do autofoco já permitia identificar feições do terreno, mas ainda estava desfocada
  • Após aplicar 30 iterações de minimum entropy gradient optimization autofocus, a qualidade da imagem melhorou bastante
    • É possível que 5 iterações já fossem suficientes, mas mais iterações melhoraram ligeiramente a qualidade
    • Cada iteração leva alguns minutos, porque precisa calcular o forward/backward pass do backprojection
  • Ao ampliar um patch de 300×300m, os detalhes da superfície do campo apareceram na imagem após o autofoco, enquanto antes ela estava borrada
  • O resultado do phase gradient autofocus foi muito parecido com a imagem sem autofoco, mostrando que ele não funcionou bem neste caso

Medição polarimétrica completa

  • Também foi realizada, em outro local, uma medição usando as quatro polarizações HH, HV, VH, VV
  • O drone voou autonomamente em trajetória linear como antes, e o radar alternava rapidamente entre os quatro estados do switch de polarização
  • As configurações foram as seguintes
    • Duração do sweep: 200µs
    • PRF por polarização: 715Hz
    • Número de sweeps na imagem: 51.200
    • Os demais parâmetros foram os mesmos de antes
  • As imagens das quatro polarizações eram muito parecidas, mas as imagens de polarização cruzada HV/VH eram em geral mais fracas do que as reflexões de mesma polarização, com amplitude menor
  • Ao atribuir diferentes polarizações aos canais RGB, fica mais fácil ver as características de reflexão polarimétrica de cada alvo
    • O solo aparece arroxeado, refletindo VV e HH melhor do que as polarizações cruzadas
    • A mesma tendência aparece em prédios e postes de iluminação ao lado da estrada
    • A floresta aparece branca, refletindo quase igualmente todas as polarizações
  • Como não foram corrigidos o radiation pattern da antena nem as diferenças de perda entre os estados do switch de polarização, parte das diferenças observadas pode ser efeito do hardware
  • Para medições polarimétricas mais precisas, é necessária calibração
  • A área de pontos agrupados perto das coordenadas (200, 500)m na imagem SAR parecia ser um jardim com pequenas árvores cercado por uma grade metálica
  • Havia um pouco de neve no chão no momento da medição

Experimento de VideoSAR

  • Em vez de criar uma imagem de alta resolução a partir de uma única baseline longa, é possível compor várias imagens de baseline curta a partir de uma medição longa e transformá-las em vídeo
  • O algoritmo de backprojection não exige que a trajetória de voo seja reta, então o drone foi voado em uma trajetória octogonal, com a antena apontando para o centro do octógono
  • Cada frame é composto por 1024 radar sweeps, com sobreposição de 512 sweeps em relação ao frame anterior
  • Como o número de sweeps por frame é menor do que em uma imagem completa, há mais ruído e a resolução angular também é menor
  • O vídeo está em cerca de 10x de velocidade, usa as quatro polarizações e a colorização é a mesma das imagens SAR polarimétricas anteriores
  • Foi aplicado autofoco separadamente em cada frame, e como não houve alinhamento entre frames adjacentes, às vezes parece haver tremulação ou saltos
  • Nos cantos do octógono, a formação da imagem é especialmente difícil, porque é preciso resolver com precisão tanto a posição along-range quanto a cross-range
  • Alvos naturais como o solo e a floresta são semelhantes entre os frames, mas a ponte e as linhas de energia apresentam reflexos fortes quando ficam a 90 graus em relação ao radar
  • O ponto brilhante que parece se mover na ponte é um glint do corrimão
  • Por causa do desajuste do padrão de antena entre polarizações, o mesmo alvo pode aparecer com cores ligeiramente diferentes no centro e na borda do beam

Altitude de voo e geometria de observação

  • Sem autorização especial, drones podem voar até uma altitude máxima de 120 m
  • O look angle típico de SAR é de cerca de 10 a 50 graus
  • Quando o look angle se aproxima de 90 graus, ou seja, quando se observa quase verticalmente para baixo, a potência refletida é grande, mas como a distância de radar entre posições vizinhas fica quase igual, a range resolution piora
  • Em look angles baixos, a range resolution é boa, mas o grazing angle também é baixo, reduzindo a potência refletida que retorna ao radar
  • Em look angles extremamente baixos, a potência refletida pode ser 10 a 20 dB menor do que em um look angle típico de cerca de 45 graus, reduzindo o alcance máximo de observação
  • A uma altitude de 120 m, ao observar uma distância de 2 km, o grazing angle é de apenas 3,4 graus
  • Nesse ângulo, uma árvore de 10 m de altura produz uma sombra de cerca de 170 m, e não é possível ver o reflexo do solo atrás de objetos altos
  • Em todas as medições, o shadowing foi evidente, e nas medições de polarização completa houve casos em que apenas o topo de edifícios distantes aparecia

Atualizações e resultado final

  • Na atualização de outubro de 2025, o software de processamento de imagem foi bastante melhorado, passando a gerar imagens de melhor qualidade
  • Os detalhes estão reunidos em Synthetic aperture radar autofocus and calibration
  • O drone SAR concluído consegue gerar imagens de pelo menos 1,5 km, e acredita-se que, voando em altitudes maiores, possa alcançar distâncias ainda maiores
  • O sistema, incluindo radar, drone e bateria, pesa menos de 1 kg
  • É possível capturar as quatro polarizações HH, HV, VH e VV
  • O gradient-based minimum entropy autofocus conseguiu produzir imagens de boa qualidade com feixe de antena amplo usando apenas GPS não RTK e dados de IMU
  • Os custos e o tempo foram os seguintes
    • Drone: cerca de 200 EUR
    • 2 PCBs do radar: cerca de 600 EUR
    • Tempo de desenvolvimento: cerca de 10 meses no tempo livre após o trabalho
  • A differentiable GPU image formation library foi publicada no Github sob licença MIT
  • O esquemático do radar também foi publicado

1 comentários

 
GN⁺ 2025-02-18
Opiniões no Hacker News
  • O preço dos drones FPV parece ter caído porque a China está vendendo volumes enormes para os dois lados da guerra na Ucrânia.
    Rússia e Ucrânia estariam consumindo cerca de 100 mil unidades por mês cada, e como a maior parte dos componentes vem da China, surgem economias de escala.

    • Fico curioso para saber qual é a proporção entre drones nacionais e importados na Ucrânia.
      Li recentemente que a Ucrânia está produzindo muitos drones e aumentando a produção, e que também usa drones controlados por fibra óptica para evitar guerra eletrônica/jamming.
  • Do ponto de vista de quem faz DIY, a complexidade do que Henrik implementou é impressionante: inclui processamento de sinais, hardware, aceleração por GPU e otimização de algoritmos.
    Dá vontade de que a comunidade do HN tivesse um prêmio para realizações incríveis como essa.

    • A quantidade de trabalho é enorme e parece valer pelo menos uma tese de doutorado.
      Para um desenvolvedor hobbyista, é uma grande conquista.
    • Henrik também pesquisa essa área profissionalmente.
  • É a primeira vez que vejo uma explicação real dos algoritmos de SAR.
    Os projetos de SAR que eu tinha visto até agora passavam por cima dessa parte.
    Fico curioso se alguém viu mais materiais relacionados, e pretendo ler o artigo linkado: https://topex.ucsd.edu/rs/sar_summary.pdf
    No fim, parece que o autofoco (autofocusing) consegue contornar boa parte dos problemas de posicionamento; essa parte também foi novidade para mim.

    • Há um post de blog sobre um radar SAR que Henrik fez alguns anos atrás, com um pouco mais de detalhes sobre como ele funciona: https://hforsten.com/synthetic-aperture-radar-imaging.html
    • Fiz doutorado em imageamento por radar, especialmente em autofoco de imagens ISAR, então foi bom ver este texto.
      Os capítulos 3 e 4 do PDF da tese explicam como a matemática funciona: https://github.com/stevesimmons/phd-thesis-radar-imaging
      SAR = Synthetic Aperture Radar. O radar voa em linha reta, e a rotação aparente da superfície terrestre gera deslocamento Doppler para obter alta resolução em azimute (cross-range resolution).
      ISAR = Inverse Synthetic Aperture Radar. O radar fica parado (por exemplo, em terra), o alvo (por exemplo, um avião) se move, e o movimento relativo entre os dois gera rotação do alvo, obtendo da mesma forma alta resolução em azimute por meio do deslocamento Doppler.
    • Este site, no geral, traz explicações bastante acessíveis, mas a página sobre SAR parece curta: https://www.radartutorial.eu/20.airborne/ab07.en.html
      Pessoalmente, achei mais fácil entender no contexto de antenas phased array comuns, mas pode ajudar menos se você ainda não conhece esse princípio.
  • Já vi muitas imagens SAR de sistemas muito mais caros que não pareciam tão boas quanto esta.
    O resultado aqui é realmente impressionante.

  • É por isso que leio Hacker News.
    Todo mês aparece um novo post que melhora meu sistema de defesa antimísseis suburbano e garante que o cachorro do vizinho nunca mais faça cocô no meu gramado.
    Mapear o terreno do bairro para que o foguete encontre o culpado exato sempre foi difícil, mas agora dá para usar drones.
    Aqui estou falando de um sistema de defesa que tem mísseis, não de um sistema de defesa contra mísseis. Isso seria absurdo.

  • Se for necessária uma antena de 100 m, não daria para coordenar vários drones e criar algo parecido com uma trajetória parabólica de 100 m?

    • Dá, sim. Mas seria preciso ajustar e manter a posição em cerca de 1/10 do comprimento de onda, então fica difícil acima de alguns GHz, e os transmissores/receptores também precisariam ser sincronizados com precisão de picossegundos (ps).
      Se não houver interferência no GPS, a sincronização talvez seja possível, mas ainda seria preciso trocar de algum modo os componentes de sinal bruto entre todas as plataformas.
      Nesse caso, a disposição parabólica não é necessária; basta ajustar a fase de cada unidade de acordo com a disposição real.
      Esse tipo de abordagem é uma área em estudo e é considerado principalmente em frequências muito baixas, de 1 a 100 MHz. Nessa faixa, os problemas acima ficam muito mais simples, e para obter direcionalidade podem ser necessárias antenas grandes, na escala de quilômetros.
  • A afirmação de que “um radar de canal único só consegue medir a distância até o alvo e não consegue detectar o ângulo do alvo” provavelmente é verdadeira para aquele caso de uso específico.
    Mas antenas parabólicas e aberturas de guia de onda com fendas existem há muito tempo.