Radar de compressão de pulso caseiro de 6 GHz
(hforsten.com)- Com base na experiência anterior com radar FMCW caseiro, este é um relato de construção de um radar de compressão de pulso na faixa de 6 GHz usando apenas componentes de baixo custo e processamento digital de sinais em alta velocidade
- A combinação de FPGA Zynq 7020, ADC de 12 bits a 250 MHz, DAC de 14 bits a 500 MHz e arquitetura de transmissão/recepção IQ zero-IF dá suporte à transmissão de formas de onda arbitrárias e ao processamento de compressão de pulso
- A dificuldade de implementação se concentra em restrições de RF e digital de alta velocidade como filtros de ADC/DAC, roteamento de DDR3, interface LVDS, Ethernet de 1 Gbps, sincronização de clock, filtragem de alimentação, comutação TX/RX e correção de vazamento de LO
- Nas medições reais, obteve-se cerca de 1 m de resolução em distância com largura de banda de 150 MHz, detectando veículos na beira da estrada a cerca de 400–450 m, enquanto o cálculo indica uma distância máxima de detecção de cerca de 1 km para um alvo com seção reta radar de 1 m²
- Foi concluído com 330 USD para fabricação e montagem de 2 PCBs e 225 EUR em componentes da Digikey soldados manualmente, e o autor considera difícil encontrar, na mesma faixa de preço, um radar comercial de compressão de pulso ou um SDR com largura de banda de RF semelhante
Por que fazer um radar de compressão de pulso em vez de FMCW
- Em um radar FMCW, se as antenas de transmissão e recepção forem separadas, não é necessário comutação, e como o sinal recebido pode ser misturado com o sinal transmitido para gerar uma frequência mais baixa, é fácil implementar até com ADC de baixa velocidade
- Radares de grande porte usam principalmente radares de pulso
- É possível compartilhar uma única antena entre transmissão e recepção
- Ao usar alta potência de transmissão, há menos preocupação com saturação do receptor do que em FMCW
- Como os pulsos podem ser enviados com mais frequência, o Doppler máximo não ambíguo na medição de velocidade de alvos rápidos aumenta
- Em compensação, as restrições de implementação de radar de pulso são muito maiores
- Se a comutação TX/RX levar 1 µs, perde-se o eco de alvos a 150 m de distância
- Ao compartilhar uma única antena, a distância mínima de detecção pode chegar a várias centenas de metros
- Como é preciso amostrar toda a largura de banda de RF do pulso transmitido, pode ser necessário um ADC de várias centenas de MHz ou acima de 1 GHz
- O objetivo é um radar de compressão de pulso que suporte formas de onda arbitrárias, sem ficar restrito a varredura linear de frequência
- Para isso, são necessários DAC e ADC com taxa de amostragem suficiente
Arquitetura geral e processamento de sinal
- O radar tem uma estrutura parecida com a de um SDR, com 2 antenas de recepção multiplexadas no tempo e uma seção de transmissão
- A seção de transmissão é compartilhada com uma das antenas de recepção
- O segundo canal de recepção foi barato de adicionar, exigindo apenas switch, LNA e conector SMA, e também mantém aberta a possibilidade de uso em modo FMCW
- TX e RX usam arquitetura zero-IF
- Não é a melhor opção em desempenho, mas é a escolha mais barata
- A saída do mixer inclui não só o sinal desejado, mas também vazamento de LO e sinal-imagem
- Em zero-IF, componentes indesejados se sobrepõem ao sinal, o que dificulta removê-los com filtros fixos
- Algumas não idealidades podem ser reduzidas com correção digital
- É possível corrigir não idealidades do mixer por pré-distorção na saída do DAC, limpando o sinal transmitido
- A saída do receptor também pode ser corrigida digitalmente se for caracterizada com precisão suficiente
- O DAC gera um sinal IQ complexo, e o mixer IQ o modula para a frequência de LO para transmissão pela antena
- IQ complexo representa frequências positivas e negativas na banda base
- Após a transmissão, a chave T/R é comutada para recepção, e o receptor amostra o sinal refletido
- A posição do alvo é obtida pelo cálculo de correlação entre o sinal transmitido e o sinal recebido
- Na implementação real, usa-se FFT em vez de convolução direta no domínio do tempo
- Nos instantes em que há alvo, a correlação entre sinais recebido e transmitido aumenta; sem alvo, ela é pequena
- Os sidelobes são controlados com função de janela
- Multiplicar o pulso de referência por uma função de janela permite ajustar os sidelobes na saída da convolução
- Aplicar janela também ao pulso transmitido pode reduzir ainda mais os sidelobes
- A desvantagem é o alargamento do lóbulo principal e uma leve piora na resolução em distância
- A velocidade é medida usando a mudança de fase do sinal recebido ao longo de vários pulsos
- Enviando um burst de pulsos e calculando a FFT na dimensão dos pulsos, distância e velocidade se separam no mapa range-Doppler
- Mesmo vários objetos na mesma distância podem ser distinguidos se tiverem velocidades diferentes
- Com apenas uma antena, não há informação angular
Escolha de ADC, DAC e FPGA
- A taxa de amostragem do ADC é o parâmetro-chave que determina a largura de banda máxima de RF que pode ser recebida
- Garantir largura de banda no ADC é mais difícil do que ampliar a largura de banda no lado de RF e no DAC
- Para amostragem IQ, é necessário no mínimo um ADC de 2 canais
- ADCs com interface JESD204B exigiam transceptores seriais de alta velocidade em FPGAs avançados e saíam do orçamento; por isso, LVDS foi usado como a opção mais rápida conectável a I/Os comuns de FPGA
- O ADC escolhido foi o ADS4229
- 2 canais, LVDS, taxa de amostragem de 250 MHz
- Preço unitário de 58 EUR
- Havia também um ADC de 500 MHz e 8 bits, mas seu SNR era 20 dB inferior ao do ADC de 12 bits, e dobrar a taxa de amostragem só recuperaria 3 dB de SNR, então foi descartado
- O DAC escolhido foi o DAC3174
- 2 canais, 14 bits, 500 MHz
- Preço unitário de 33 EUR
- A largura de banda do sistema é limitada pelo ADC, mas a folga de largura de banda do DAC facilita a filtragem
- Só com um microcontrolador seria difícil lidar com o timing de geração de pulsos, o gerenciamento dos dados de ADC/DAC e o controle da comutação TX/RX, então foi necessário usar FPGA
- O FPGA escolhido foi o Zynq 7020
- Inclui CPU dual-core ARM-A9 e fabric FPGA no mesmo encapsulamento
- Na China era possível obtê-lo por $17, enquanto na Digikey custava $173
- A CPU pode cuidar da comunicação com o PC e do controle
- Um cartão SD também foi adicionado para rodar Linux, mas o software inicial foi executado sem sistema operacional
Filtros de ADC/DAC e restrições de largura de banda
- Antes do ADC, é necessário um filtro passa-baixas anti-aliasing
- A frequência de Nyquist para taxa de amostragem de 250 MHz é 125 MHz
- Para aumentar a largura de banda útil, o corte deve ficar próximo de Nyquist, mas isso exige um corte muito abrupto, dificultando o projeto do filtro
- O filtro do ADC precisa ter amplitude e atraso de grupo uniformes na banda passante
- Se a atenuação variar conforme a frequência, o pulso recebido será distorcido
- Se a diferença de atraso de grupo for grande, a correlação com o pulso de referência cai e os sidelobes aumentam
- Os valores de projeto do filtro do ADC são corte em 100 MHz e atenuação de -20 dB em Nyquist, 125 MHz
- Até cerca de 60 MHz, amplitude e atraso de grupo são bons
- Acima disso, foi difícil melhorar devido às restrições
- Se necessário, a resposta do filtro pode ser corrigida digitalmente
- O DAC também é um sistema de amostragem, então é preciso filtrar os aliases de saída
- A taxa de amostragem do DAC é 500 MHz e a largura de banda necessária do sinal é 100 MHz, então o projeto do filtro é mais fácil do que no ADC
- Os aliases de um sinal de 0 a 100 MHz ficam na faixa de 400 a 500 MHz
- Na simulação, os aliases ficam atenuados em pelo menos 65 dB em relação ao sinal
- Com potência de sinal de 30 dBm, o sinal-imagem pode ficar em cerca de -35 dBm
- O autor considera isso suficiente para operar, mas em um radar propriamente dito talvez seja necessária atenuação maior para evitar emissões fora da faixa alocada
Projeto digital e fluxo de dados
- O Zynq SoC é composto por processing system (PS) e programmable logic (PL)
- O PS é uma CPU ARM A9 dual-core
- O PL é a FPGA fabric
- Os dois são conectados por um barramento AXI de 64 bits
- O clock AXI foi configurado para 130 MHz
- 1 barramento AXI para DMA do ADC
- 1 barramento AXI para DMA do DAC
- Há também um barramento AXI separado, de baixa velocidade, para configuração de registradores do PL
- Para uma conexão rápida com o PC, foi escolhido Ethernet de 1 Gbps
- O USB 3 pode oferecer 5 Gbps, mas exigiria um transceptor USB 3 externo e esforço adicional de implementação
- Como o processamento digital inicial é feito no PC, a velocidade de transferência das amostras capturadas pelo ADC é importante
- A DDR3 DRAM é conectada como um único chip no lado do PS
- Opera a 1066 MHz devido a limitações do controlador de memória
- A largura do barramento é de 16 bits
- Um segundo chip DDR3 poderia ser adicionado para uma configuração de 32 bits, mas não foi necessário
- A largura de banda da DDR3 é menor do que a soma das larguras de banda do DAC e do ADC
- Não é possível transmitir amostras do DAC a partir da DRAM enquanto se armazenam simultaneamente amostras do ADC
- Foi colocada uma memória de 1 MB no lado do PL para armazenar as amostras do DAC
- O PC envia as amostras de pulso para a DRAM via Ethernet, o DMA as move para a memória do PL e então elas são transmitidas ao DAC a cada pulso
- A memória de 1 MB do DAC limita o comprimento do pulso a 130 µs
- Um pulso de 130 µs corresponde a uma distância mínima de detecção de 20 km
- Como o comprimento de pulso típico é de cerca de 1 µs, isso é suficiente
- A abordagem com LUT facilita o uso de função de janela, pré-distorção e experimentos com várias formas de onda de pulso
Front-end de RF e comutação de transmissão/recepção
- A frequência de operação é de cerca de 6 GHz, semelhante à do radar caseiro anterior
- Foi considerada a faixa de frequência mais alta com muitos componentes prontos de baixo custo, graças às aplicações de consumo
- A seção de RF é composta por IQ modulator, IQ demodulator, PLL para o LO, power amplifier, LNA e switch
- O amplificador de potência escolhido foi o Skyworks SE5004L
- O output 1 dB compression point típico é de 2 W
- O ganho é de 32 dB
- A documentação do datasheet era insuficiente e não havia valores de componentes externos, mas o esquemático pôde ser confirmado na documentação da placa de avaliação
- O switch T/R escolhido foi o MASW-007588
- Velocidade de comutação de 55 ns
- 1 dB compression point de 37 dBm
- Em 55 ns, a luz percorre 16,5 m
- Existem switches dedicados melhores, mas não cabiam no orçamento
- Um circulator também é uma alternativa, mas não foi usado
- É comum em radares de alta potência, pode lidar com centenas de watts e não tem o problema da velocidade de comutação
- Nessa faixa de frequência, os produtos são grandes e muito mais caros do que um switch simples
- O receptor precisa ter um piso de ruído de RF suficientemente acima do ruído de quantização do ADC
- Pelos cálculos, o piso de ruído de RF é de cerca de -155 dBV/Hz na entrada do ADC
- O piso de ruído do ADC é de cerca de -156 dBV/Hz
- Em geral, o piso de ruído de RF deveria estar cerca de 10 dB acima do do ADC, mas neste projeto real foi feito um compromisso para ficar apenas alguns dB acima
Cálculo da distância máxima de detecção
- A distância máxima de detecção foi calculada com a equação do radar
- Foram usados potência de transmissão, ganho da antena, comprimento de onda, seção reta radar do alvo, temperatura do receptor, comprimento de pulso, número de pulsos, figura de ruído e limiar de detecção
- Os parâmetros estimados usados foram os seguintes
- Potência de transmissão: 30 dBm
- Ganho da antena: 14 dBi
- Comprimento de onda: 5,2 cm
- Seção reta radar do alvo: 1 m²
- Temperatura do receptor: 290 K
- Comprimento de pulso: 1 µs
- Número de pulsos no burst: 1024
- Figura de ruído do receptor: 5 dB
- Limiar de detecção: 15 dB
- O resultado do cálculo para um alvo com seção reta radar de 1 m² foi uma distância máxima de detecção de 1200 m
- Esse valor pode ser um pouco otimista
- Perdas no cabo da antena
- Perdas de eficiência da antena
- Perdas por descasamento de impedância
- Atenuação atmosférica não foi incluída
- Ainda assim, considera-se que a distância máxima de detecção deve ficar na faixa de 1 km
- Na distância máxima, a potência média recebida é igual ao limiar mínimo de detecção
- Em média, um alvo nessa distância é detectado com 50% de probabilidade
- Como a potência recebida é inversamente proporcional à quarta potência da distância, a probabilidade de detecção cai rapidamente em distâncias maiores
PCB, DDR3, linhas de transmissão e projeto de alimentação
- Como a PCB inclui tanto RF quanto circuitos digitais de alta velocidade, é preciso cuidado no roteamento
- Foi usada uma PCB de 6 camadas
- O material FR-4 padrão não é ideal para RF, mas como as traces de RF foram mantidas muito curtas, isso não foi considerado um grande problema
- A memória DDR3L opera com clock de 533 MHz e duas transferências por ciclo de clock
- Padrão DDR3L de baixa tensão de 1,35 V
- São necessários casamento de comprimento das traces, impedância característica e terminação
- Foi simulada a possibilidade de omitir os resistores de terminação no barramento de endereços da DDR3
- Mesmo sem resistores de terminação, parecia funcionar pelos critérios de limiar
- Porém, ocorria um overshoot de cerca de 0,7 V, violando a condição máxima de overshoot de 0,4 V do datasheet da memória
- No fim, foram adicionados resistores de terminação às linhas de endereço
- No roteamento da DDR3, foram usadas traces de 60 ohms e resistores de terminação de 50 ohms
- A trace de 40 ohms tem largura de 0,24 mm
- A trace de 60 ohms tem largura de 0,10 mm, permitindo um layout mais denso
- Resistores de 50 ohms também eram necessários em outras partes da PCB, o que ajuda a reduzir o BOM
- Os pinos enable do switch T/R e do IQ modulator precisam comutar muito rapidamente
- Com a maior drive strength do FPGA, o rise time na entrada do switch foi de cerca de 400 ps na simulação
- Alguns centímetros de trace na PCB passam a se comportar como linha de transmissão, causando reflexões
- Foi usada terminação AC com um resistor de 50 ohms em série com um pequeno capacitor para reduzir reflexões sem problemas de nível DC
- A alimentação combina reguladores chaveados, LDO e filtros com ferrite bead
- Como o ruído de comutação é muito maior do que o piso de ruído térmico do receptor, é necessária uma filtragem forte
- Pelos cálculos, no pior caso, a exigência de filtragem da alimentação chega à ordem de 100 dB
- Um filtro de dois estágios com ferrite bead atinge 100 dB de atenuação a 1 MHz
- A PCB tem um total de 9 power rails
- Para digital/FPGA: 1,0 V, 1,8 V, 2,5 V, 3,3 V, e para DDR3: 1,35 V e 0,675 V
- Para analógico: 1,8 V, 3,3 V e 5,0 V de baixo ruído, usando LDO e filtros com ferrite bead
Interfaces de alta velocidade e clocks
- O ADC é conectado ao FPGA por um barramento LVDS de 12 bits
- A taxa de amostragem do ADC é de 250 MHz
- Os dados dos dois canais são transportados nas bordas de subida e de descida do clock
- O FPGA usa uma adjustable delay line para corrigir dinamicamente o timing de captura
- O DAC usa uma interface LVDS de 500 MHz e 14 bits
- Este FPGA não tem ajuste de linha de atraso na saída, então o casamento do comprimento das trilhas no PCB é importante
- Segundo a ferramenta de síntese, é possível ajustar o timing com atraso de trilha de ±25 ps, cerca de ±4 mm de diferença de comprimento
- O PHY Ethernet usa o Realtek RTL8211F
- Foi possível consegui-lo avulso por US$ 1 na China
- O datasheet oficial exige NDA, mas foi possível obter de revendedores chineses um documento marcado como “Confidential”
- A interface RGMII do FPGA Zynq não atende à especificação em 3,3 V, então a alimentação do lado PS foi configurada para 1,8 V
- Isso tornou necessário usar level shifter para o cartão SD e a UART
- O JTAG e a UART de debug são implementados com o FTDI FT2232H
- O depurador JTAG oficial da Xilinx custa US$ 270, então não foi usado
- Se o EEPROM for configurado com a ferramenta
program_ftdida Xilinx, o Vivado o reconhece
- A sincronização de clock é importante para o desempenho do radar
- O ADC opera a 250 MHz
- O DAC opera a 500 MHz
- A lógica do FPGA precisa de clocks mais baixos
- O jitter de um clock de 100 MHz do PLL interno do FPGA é, segundo a previsão da ferramenta, de 130 ps pico a pico, enquanto o gerador de clock externo fica em cerca de 4 ps pico a pico
- No lado PL, o gerador de clock CDCM6208 cria vários clocks de 250 MHz e 500 MHz a partir de um crystal de 25 MHz
- Esses clocks ficam phase synchronized entre si
- O lado PS usa seu próprio crystal de 33 MHz, necessário para programar o gerador de clock após energizar o sistema
- Os domínios de clock independentes de PS e PL são tratados com clock domain crossing adequado
Fabricação e bring-up da placa
- O PCB foi encomendado de um fabricante chinês, com montagem incluída
- Foram recebidas 2 placas montadas e 3 PCBs vazios
- Alguns componentes menos comuns não eram oferecidos pelo serviço de montagem, então foram encomendados e soldados manualmente
- Isso incluía componentes caros como ADC, DAC e PLL
- O FPGA podia ser montado pelo serviço, evitando soldar manualmente um BGA de 484 pinos
- A qualidade do PCB era boa pelo preço, mas 1 das 2 placas montadas não funcionou de imediato por problema de soldagem
- O FPGA barato de US$ 15 tinha a data e o lot code cobertos
- A marcação do chip era diferente da da placa de desenvolvimento da mesma família
- No fim funcionou, mas a procedência continuou duvidosa
- Os demais componentes foram soldados manualmente com solder paste e hot air tool
- Para soldar encapsulamentos QFN em uma placa já com componentes montados, é necessário usar hot air tool
- Para reduzir o custo de montagem em duas faces, todos os componentes foram colocados no top side
- No bottom side, ficou apenas espaço para adicionar decoupling capacitor se necessário, mas isso acabou não sendo preciso
- Depois de programar o EEPROM do FT2232H, o Vivado hardware manager reconheceu o Zynq 7020, tornando possível programar e depurar o FPGA
Firmware do FPGA e timing
- A lógica do FPGA serve principalmente para movimentar dados
- Interfaces LVDS de ADC/DAC
- Timing de pulso para ligar e desligar switch, PA, LNA etc. no momento certo
- Registradores AXI para o PS configurar o PL
- 2 DMAs para amostras de ADC/DAC
- Interfaces SPI para ADC, DAC, PLL e gerador de clock
- A maior parte do processamento de sinal é feita no PC
- No futuro, fazer filtragem digital e decimation no FPGA pode reduzir o volume de dados enviados ao PC e aumentar a taxa de quadros
- O LVDS receiver é baseado na appnote xapp1017 da Xilinx
- Uma linha de atraso e um flip-flop são ligados a cada lane LVDS
- Uma máquina de estados altera o atraso para amostrar no centro do data eye
- Isso corrige dinamicamente diferenças de roteamento no PCB e atrasos internos do FPGA
- O circuito de timing de pulso usa uma estrutura de contador com equality comparison para cada evento
- Quando acionado pelo PS, o contador começa
- Cada subsistema e chip externo é controlado no ciclo de clock exato
- Há uma função de loop para enviar vários pulsos com o intervalo de repetição exato
- O timing preciso do burst é essencial para medir velocidade
- Se houver erro de 1 ciclo de clock de 125 MHz no trigger do ADC ou do DAC, o erro de distância medido será de 1,2 m
Medição de ruído do receptor e potência de transmissão
- O ruído do receptor foi verificado conectando uma matched load ao conector da antena e registrando a saída do ADC com o transmissor desligado
- Registro de 33 ms, 8 milhões de amostras
- O piso médio de ruído foi de -139 dBFs, semelhante ao esperado
- Foram observados vários sinais de interferência, e o maior deles estava em múltiplos de 25 MHz
- A amplitude era de cerca de -100 dBFs
- Isso corresponde a cerca de 15 µV RMS na entrada do ADC
- A causa era um fractional spur do PLL
- Quando a frequência de saída do PLL é definida como múltiplo inteiro do clock de referência, o spur é minimizado
- O clock de referência do PLL é de 250 MHz, mas o detector de fase usa 125 MHz após divisão por 2
- Na configuração de 5,75 GHz, o spur quase desapareceu
- 5,875 GHz também funcionou bem por estar próximo de um múltiplo
- A frequência de comutação do conversor DC/DC era de 2,5 MHz e não apareceu no espectro de saída
- A filtragem da alimentação funcionou como planejado
- A potência de transmissão foi verificada com o power detector embutido no PA
- A saída do DAC foi configurada em 85% da amplitude máxima
- A saída do modulador IQ foi estimada em cerca de +3 dBm
- Com ganho de 32 dB no PA, isso foi suficiente para entrar em compression
- A tensão de pico medida no detector foi de 1,72 V
- Pela extrapolação linear do gráfico do datasheet, a potência de saída foi de cerca de 33 dBm, ou seja, algo em torno de 2 W
- Isso bate com o ponto de compressão de -1 dB típico do PA, de 34 dBm, indicando operação em compression
Calibração e qualidade da compressão de pulso
- Em condição de matched load, foi registrado o sinal de vazamento da transmissão através da chave T/R
- A forma de onda de transmissão era um sweep linear de frequência com largura de banda de 100 MHz e duração de 1 µs
- Foi usada amplitude de 0,1 do máximo do DAC
- Na forma de onda recebida antes da calibração, apareciam várias não idealidades
- offset DC do ADC antes do pulso
- spike causado pelo acionamento do transmissor
- offset DC do pulso causado pelo vazamento do LO do transmissor
- maior atenuação em frequências de banda base mais altas
- offset do ADC após o pulso e nível DC devido ao comportamento passa-alta do filtro do ADC
- Na compressão de pulso antes da calibração, o nível de sidelobe era de -21 dBc
- A principal causa era o vazamento do LO do transmissor
- Como transmissor e receptor compartilham o mesmo LO, o vazamento do LO é convertido para DC no receptor
- O offset DC do ADC foi calibrado acionando o receptor com o transmissor desligado, medindo-o e depois subtraindo esse valor das medições seguintes
- O vazamento do LO foi medido acionando o sweep com o DAC configurado para sair em 0
- Idealmente não deveria haver transmissão, mas por causa do vazamento do LO é transmitido um sinal na frequência do LO
- O nível DC do sinal de transmissão é ajustado para que a entrada do ADC fique em 0, cancelando o vazamento do LO
- Após a calibração do vazamento do LO, o nível de sidelobe melhorou para -36 dB
- Alguns dB acima do ideal de -42 dB
- Permanece uma resposta linear longa de -60 dB por causa do comportamento passa-alta do capacitor de acoplamento AC
- Outra forma de reduzir o problema de offset DC é modular o sweep em low-IF, em vez de centralizá-lo em zero
- Um offset de 25 MHz é usado em um sweep de 50 MHz, varrendo de 0 a 50 MHz
- O problema de offset DC causado pelo filtro passa-alta desaparece
- A desvantagem é que, em comparação com um sweep centralizado em zero, a largura de banda máxima utilizável cai pela metade
- Aplicar uma janela de Tukey ao pulso transmitido reduz bastante os sidelobes distantes
- Em α=0.1, a energia do pulso e o SNR do receptor caem 0,8 dB
- Em um offset de 500 ns, o nível de sidelobe cai cerca de 20 dB
Problema de vazamento de ruído do PA
- Ao mudar para recepção, a chave T/R passa do transmissor para o receptor, mas se o PA continuar ligado, o ruído de saída do PA vaza para o receptor
- A chave T/R comuta em cerca de 50 ns, mas o enable/disable do PA leva cerca de 10 µs
- Ao usar uma única antena, esse longo tempo de comutação do PA aumenta o ruído do receptor
- Se a entrada do PA for o ruído térmico de um resistor de 50 ohms, ele será de -174 dBm/Hz e, após o ganho de 32 dB do PA e o próprio ruído do PA, o piso de ruído na saída fica em cerca de -135 dBm/Hz
- Após a isolation da chave T/R, o ruído do PA na entrada do LNA é estimado em cerca de -165 dBm/Hz
- Como é maior que o piso de ruído térmico de -174 dBm/Hz, ele limita o desempenho do receptor se o PA não for desligado
- Em medições reais, com o PA ligado, o piso de ruído do ADC do receptor conectado à chave T/R ficou 2,1 dB mais alto do que quando conectado à outra porta
- Considerando a incerteza dos valores calculados, isso bate bem com a teoria
- Com duas antenas, é possível alternar a segunda chave de recepção para RX2 e desligar o LNA de RX1, melhorando a isolation a ponto de o vazamento do PA não afetar o ruído do receptor
Software de detecção e rastreamento
- O pipeline para obter detecções de alvos a partir das amostras do ADC é o seguinte
- realizar compressão de pulso em cada pulso recebido
- executar FFT na dimensão do número de pulsos
- gerar um mapa range-Doppler, com distância e velocidade Doppler como eixos
- A amplitude de cada pixel no mapa range-Doppler representa a potência recebida no bin correspondente de distância e velocidade
- Os bins de alvo são identificados com o algoritmo CFAR
- Em vez de um piso de ruído fixo, o piso de ruído local é estimado pela média dos bins vizinhos
- Se a amplitude do bin em teste for maior que threshold × piso de ruído estimado, ele é marcado como alvo
- O piso de ruído pode variar com o tempo, com sidelobes de alvos próximos e com clutter como reflexos do solo
- Falsas detecções causadas por sidelobes de alvos grandes são removidas em pós-processamento
- Se houver um alvo muito maior na mesma linha ou coluna, considera-se sidelobe
- Como a amplitude precisa ser maior que a dos bins adjacentes, só a posição de pico do pulso comprimido é detectada
- Para o rastreamento de alvos, é usada a biblioteca Python StoneSoup
- A posição, velocidade e incerteza de cada alvo são rastreadas com um filtro de Kalman
- A implementação é fortemente baseada no tutorial do StoneSoup
- O radar mede distância e velocidade, mas não tem informação angular, então só é possível fazer rastreamento 1D
- O modelo de transição usa aceleração constante
- O filtro de Kalman estima a aceleração a partir das medições e prevê a próxima posição
Resultados de medição à beira da estrada
- O radar foi instalado ao lado da estrada para medir veículos
- duração do pulso: 2 µs
- largura de banda: 150 MHz
- número de pulsos: 1024
- duração de RX: 5 µs
- atraso antes do próximo pulso: 7 µs
- uso de 2 antenas TX/RX separadas
- as antenas eram horn antennas feitas manualmente
- A largura de banda de 150 MHz corresponde a uma resolução de distância de 1 m
- A resolução é a menor distância que permite separar dois alvos pontuais
- A precisão da posição de um alvo único pode ser melhor que a resolução, dependendo do SNR
- O intervalo entre pulsos de 12 µs corresponde a uma pulse repetition frequency de 83 kHz
- Com RF de 5,8 GHz e um pulse repetition interval de 12 µs, a faixa de velocidade não ambígua vai de -1077 m/s a +1077 m/s
- Isso é mais de 3 vezes a velocidade do som, então não há problema de ambiguidade de velocidade para medir carros
- A resolução de velocidade Doppler é 2155 m/s ÷ 1024 = 2,1 m/s
- Para separar dois alvos na mesma distância, é necessária uma diferença de velocidade dessa ordem
- A precisão da velocidade de um alvo único pode ser melhor, dependendo do SNR
- O Vídeo 9 mostra o resultado da sincronização entre vídeo de celular e mapa range-Doppler
- As detecções CFAR são mostradas com sinais de mais vermelhos
- O eixo Y é a velocidade Doppler; valores negativos indicam aproximação em direção ao radar
- O eixo X é a distância
- A grande linha em Doppler zero é reflexão de alvos estacionários
- Para veículos próximos, foi possível associar facilmente o vídeo da câmera às detecções do radar
- Há shadowing em que veículos à frente bloqueiam objetos mais distantes
- O radar detecta bem objetos que não aparecem claramente na câmera
- Foram detectados veículos a cerca de 400 m até que a curva da estrada bloqueasse a line of sight
- Por causa do efeito de offset DC, aparecem grandes sidelobes na direção de distância
- Isso dificulta detectar objetos pequenos perto de alvos grandes
- Os veículos mais distantes nem sempre são detectados pelo CFAR por causa de sidelobes sobrepostos
- O Vídeo 10 mostra o resultado da aplicação do rastreador de Kalman à mesma medição
- O rastreador atribui as detecções CFAR a alvos com IDs exclusivos
- Quando faltam detecções de alvos distantes por causa de shadowing e sidelobes, o track se perde e, quando o alvo reaparece, um novo ID é atribuído
Pulsos low-IF e experimento com antena única
- No segundo experimento em estrada, foram usados largura de banda de RF de 75 MHz e frequência de modulação de 38 MHz
- A frequência varria de 0,5 MHz a 75,5 MHz
- Os outros parâmetros foram mantidos
- Como esperado, não apareceu um sidelobe muito largo causado por DC offset
- A resolução de distância piorou para cerca de metade da anterior, mas isso não foi um problema para rastrear veículos
- Como os veículos são grandes, ainda foi possível separá-los com resolução de distância de 2 m
- No início, o segundo reflexo dos veículos que passavam aparecia com o dobro da distância e o dobro da velocidade
- O caminho do sinal era veículo, placa próxima, veículo e retorno ao radar
- A amplitude era fraca e espalhada, então não foi detectado como alvo pelo CFAR
- Bicicletas não foram detectadas como alvo
- A velocidade não estava suficientemente separada dos alvos estacionários
- Os alvos estacionários ao redor do alvo de baixa velocidade entravam no cálculo do piso de ruído do CFAR
- A pequena seção reta radar da bicicleta não era grande o bastante em relação ao piso de ruído elevado
- Para esse uso, uma frequência de RF mais alta é vantajosa
- Dobrar a frequência de RF dobra a separação dos bins de velocidade Doppler
- A velocidade Doppler máxima não ambígua cai pela metade
- Radares policiais de medição de velocidade normalmente usam a faixa de 10 a 35 GHz
- O SNR dos objetos detectados era bom nessa distância
- A 450 m, o SNR máximo era de cerca de 35 dB
- Depois de 550 m, não havia detecção porque não existia line of sight
- Ao dobrar a distância, o SNR deve cair 12 dB
- No experimento com antena única, foram usados os mesmos parâmetros da medição low-IF, mas com a duração do pulso reduzida de 2 µs para 1 µs
- Uma única antena era comutada entre transmissão e recepção
- 1 µs corresponde a 300 m percorridos pela luz, mas como o sinal é de ida e volta, a distância mínima para receber o pulso completo é 150 m
- Alvos a menos de 150 m também puderam ser detectados com pulso parcial
- Se a compressão de pulso usar apenas um pulso parcial, a resolução de distância e o SNR pioram
- Nessa configuração, a distância mínima de detecção foi de cerca de 40 m
Custo, materiais públicos e avaliação final
- O Schematic do radar foi publicado
- Com pequenas modificações, ele também pode ser útil para SDR
- Também pode servir como material de referência para outras aplicações que exigem FPGA
- O firmware e o software não foram publicados por enquanto
- Ainda não foi decidido se serão divulgados
- O custo foi o seguinte
- Fabricação da PCB e montagem de 2 placas: 330 USD
- Componentes da Digikey soldados manualmente: 225 EUR, cerca de 240 USD
- O preço inclui 24% de VAT e frete
- Considera-se que não há radar comercial de compressão de pulso semelhante nessa faixa de preço
- Até SDRs com largura de banda de RF semelhante são muito mais caros
- O radar concluído tem, em essência, uma estrutura semelhante à de radares modernos de grande porte
- Usa processamento digital de sinais
- Suporta formas de onda arbitrárias
- Graças à alta pulse repetition frequency, a velocidade Doppler máxima não ambígua é alta
- A potência de saída e o tamanho da antena são pequenos, então o alcance máximo é menor que o de radares grandes
2 comentários
Opiniões no Hacker News
Isso me lembrou um post antigo do mesmo site: https://hforsten.com/heartbeat-detection-with-radar.html
Comprei módulos baratos de radar Doppler de 10 GHz/24 GHz na Amazon e brinquei com eles; só olhando o espectrograma já dava para detectar claramente batimentos cardíacos e respiração
Como amostras da época, há um vídeo em 10 GHz apontado para um ventilador de teto https://www.youtube.com/watch?v=tIiFvByf1CQ, um vídeo apontado para cima por baixo da superfície onde uma moeda foi lançada e caiu https://www.youtube.com/watch?v=8riretP8ylE e um vídeo apontado para uma moeda girando sobre a superfície https://www.youtube.com/watch?v=5lnYvJoxRak
O filtro em pente gerado pela superfície em rotação é muito legal, e o módulo de 10 GHz usado foi este: https://www.amazon.com/HiLetgo-Microwave-Detector-Wireless-1...
Legal. Agora a última peça do sistema suburbano de guiagem de mísseis está completa, e acho que a família Jones vai ter dificuldade para sobreviver à festa de rua deste ano
Na próxima, gostaria que tratasse também de radar phased array. Tenho alguns vizinhos que não recolhem as fezes dos cães, então preciso de maior precisão
Mas eles tiveram de remover do firmware/software os elementos relacionados a radar, provavelmente por causa do ITAR: https://forum.krakenrf.com/t/where-has-the-passive-radar-cod...
Tactical and Strategic Missile Guidance, Seventh Edition https://www.amazon.com/Tactical-Strategic-Missile-Guidance-S...
Tactical missile warheads https://www.amazon.com/Tactical-Warheads-Progress-Astronauti...
http://www.interestingprojects.com/cruisemissile/
Exige pouquíssimas modificações e também pode aumentar o ganho da antena. A maior parte é um desafio de fabricação física, então parece acessível até em nível de hobby
https://www.radartutorial.eu/06.antennas/Phased%20Array%20An...
Trabalho impressionante. É surpreendente que uma pessoa tenha conseguido fazer isso, e, se colocar em uma base giratória, vira um detector de radar planar
Se acrescentar inclinação, não parece muito diferente de um radar aeronáutico/meteorológico. O custo não é pequeno em moeda local e, segundo outro comentário, seria de 570 dólares, mas dá para entender considerando o tempo investido
Com orçamento suficiente, parece que não haveria limites. Fico imaginando como seria interpretado se uma aeronave militar fosse rastreada por um radar civil de 6 GHz. A distância máxima estimada é de 1200 m, mas e se fosse ampliada em 10 vezes com uma antena maior ou algo do tipo?
Para começar, radares de aeronaves têm receptores e também recebem pulsos transmitidos por outros radares. Na prática, o bloqueio de radar funciona da mesma forma: despeja muita potência na mesma faixa/comprimento de onda e enche a tela de clutter
Radares têm características como frequência, frequência de repetição de pulso (PRF) e forma de onda, o que os torna relativamente fáceis de identificar. As faixas em que radares operam são regulamentadas, e várias agências militares e civis detectam transmissões de radar
Um projeto DIY pequeno como esse não é uma grande ameaça, mas, se transmitir perto de instalações de radar, especialmente instalações militares, você pode se encrencar muito rapidamente
Não sei como é na Finlândia, mas onde moro civis não têm permissão para coletar assinaturas de radares militares nem criar bancos de dados de assinaturas. Na prática, só os militares podem fazer isso
No momento em que se aumenta a potência, esse tipo de coisa sai rapidamente do escopo DIY. Também gostaria de ver essa pessoa construir um radar phased array. Fonte: trabalhei com radar
Receptores de alerta de ameaça militares são sistemas altamente ajustados ao ambiente de ameaças operacionais esperado
Os finlandeses conseguiram de novo. A profundidade e a amplitude da especialidade que eles dominam são difíceis de acreditar
Eles parecem ter planejado tudo, mandado fabricar na China, e metade da placa realmente funcionou. É parecido com passar um mês fazendo um app backend+frontend numa startup e ficar na torcida: “por favor, funciona”
Sobre a parte do texto que diz que o “FPGA de 15 dólares suspeitosamente barato também tinha a data e o código de lote suspeitosamente ocultados”, certa vez perguntei a uma pessoa de operações da GoPro como era possível uma imitação chinesa que parecia uma original de 400 dólares custar 40 dólares
A resposta foi que, literalmente, eles obtêm chips em depósitos de sucata. Por exemplo, compram lotes de chips de memória que não passaram nos testes, e que talvez só funcionem dentro de uma determinada faixa de temperatura
Ela disse que outros componentes também muitas vezes são escolhidos e especificados para funcionar por algo como 6 meses, não uma média de 6 anos. Porque sabem que a maioria desses “gadgets” é usada um pouco no fim de semana e depois fica guardada no armário
Para projetos de P&D assim pode ser aceitável, mas é preciso ter cuidado ao criar produtos comerciais. Também há um lado político e talvez um pouco de paranoia envolvida, mas já estão surgindo leis que impedem o uso de componentes de silício chineses em produtos para determinados mercados
Um bom exemplo é a microfonte de bancada USB-C AlienTek DP100 100W de 45 dólares: https://www.youtube.com/watch?v=Pd6LG7iP2GQ
Se algo parecido viesse com o logo da Digilent, custaria algo em torno de 500 dólares
E as GoPro originais também têm uma taxa de falhas acima da média, além de problemas de superaquecimento ou desligamentos aleatórios ao gravar em 4K
Realmente impressionante
Os textos anteriores https://hforsten.com/radar-phase-measurements.html e https://hforsten.com/6-ghz-frequency-modulated-radar.html me ajudaram muito no meu trabalho com um sistema de sonar
Este texto também explica muito bem um tema complexo. Um exemplo de trabalho relacionado está em https://twitter.com/alextoussss/status/1756371553460121766
Um trabalho lindo. Henrik há muito tempo faz projetos de radar e aquisição de dados de RF em um nível difícil de encontrar em documentação pública, e a qualidade da documentação também é muito alta
Trabalho incrível. É raro ver esse nível de profundidade técnica em toda a stack, de RF, hardware, firmware e software
Quanto mais se lê o texto, melhor ele fica
Fico curioso por que ele colocou os planos de terra nas camadas 2 e 6, e não nas camadas 1 e 6
Como alguém sem experiência em projeto de PCB de alta frequência, eu imaginaria criar uma blindagem com terra e colocar o plano de alimentação na camada 3 ou 4. Com certeza deve haver um bom motivo, mas ele não é óbvio para mim
Seria preciso recortar o plano de terra ao redor de todos os chips, e sinais de alta velocidade realmente precisam de um plano de terra contínuo. Especialmente ICs de RF precisam ter acesso curto ao terra
Para minimizar a distância entre o IC e o plano de terra, a camada 2 é a melhor camada
Para manter uma determinada impedância característica, é necessário um plano (GND) a uma distância definida de uma trilha com uma certa largura. Sem um plano acima ou abaixo do sinal, não dá para obter o valor de impedância desejado
Também é possível preencher adicionalmente as camadas superior e inferior, mas isso afeta a impedância apenas um pouco
Pela imagem, os sinais parecem estar nas camadas 1 (vermelho), 3 (laranja) e 6 (azul), o terra nas camadas 2 (verde) e 5 (rosa), e a alimentação na camada 4 (ciano)
Conferindo algumas vias, as camadas 2 e 5 com certeza estão conectadas
Dá para ver que também não há preenchimento ao redor dele. Não tenho certeza da ordem na figura, mas parecia 123/654; depois, parece que o texto está errado e que é 123/456, com as camadas 2 e 4 como GND
Os sinais digitais de baixa velocidade internos parecem estar ensanduichados entre planos de terra/alimentação — ou, corrigindo, terra/terra —, o que pode ser uma boa escolha, já que, se ficarem separados de outra PCB, geralmente são a maior fonte de ruído
Os planos de alimentação/terra precisam ficar bem próximos um do outro. Nessas frequências, capacitores de bypass quase não conseguem cumprir sua função
Já que estamos falando de radar, agora um radar utilizável custa só 34 centavos: https://www.aliexpress.com/item/1005006240906322.html
Esse chip nem foi originalmente projetado para esse uso; é um chip de sensor PIR reaproveitado
O núcleo do radar é apenas um único transistor de múltiplos GHz no centro da metade esquerda da PCB, mais um circuito de feedback muito inteligente feito com padrões de cobre que alguém provavelmente passou anos projetando e refinando
Uma engenharia maluca além da imaginação...
É próximo demais do tipo de engenheiro que eu vagamente imaginava.