Constants
constants.py — Constantes globais do simulador de radar.
Todas as constantes físicas, de forma de onda, processamento de sinal e limites visuais são definidas aqui, em um único ponto de verdade. Outros módulos importam diretamente o que precisam, evitando literais espalhados.
Seções
- Constantes Físicas e de Forma de Onda
- Equação do Radar (Friis / Monoestático)
- Qualidade do Sinal (SNR / Ruído)
- Processamento de Sinal (MTI, Integração, CFAR)
- Limites de Visualização (Eixos Y dos plots de sinal)
C = 300000000.0
module-attribute
Velocidade da luz no vácuo (m/s).
F_C = 10000000000.0
module-attribute
Frequência portadora (Hz) — banda X (10 GHz).
B = 30000000.0
module-attribute
Largura de banda do chirp LFM transmitido (Hz).
N_SAMPLES = 2000
module-attribute
Número de amostras por PRI (Pulse Repetition Interval).
Define a resolução temporal de cada pulso simulado. A taxa de amostragem fs = N_SAMPLES / T_PRI é derivada automaticamente do alcance máximo do radar.
WAVELENGTH_M = 0.03
module-attribute
Comprimento de onda λ (m) — banda X (10 GHz).
λ = c / F_C = 3e8 / 10e9 = 0.03 m
RCS_DEFAULT_M2 = 1.0
module-attribute
Seção transversal radar (RCS) padrão σ (m²).
Valor genérico para um alvo pontual de tamanho médio. Pode ser personalizado passando um valor de RCS diferente em simulações futuras.
FOUR_PI_3 = (4 * np.pi) ** 3
module-attribute
Fator geométrico da equação do radar monoestático: (4π)³.
Aparece no denominador da equação de Friis
P_rx = (P_tx · G² · λ² · σ) / ((4π)³ · R⁴)
DEFAULT_SNR_DB = 20.0
module-attribute
SNR (Signal-to-Noise Ratio) padrão do AWGN adicionado ao sinal RX (dB).
Controla a relação entre a amplitude do eco normalizado e o desvio padrão do ruído gaussiano branco adicionado em PulseWidget.update_pulse().
N_GUARD = 48
module-attribute
Células de guarda de cada lado da célula sob teste (CUT) no CA-CFAR.
Evita que a energia do alvo contamine a estimativa do piso de ruído local. Valor maior → menos auto-mascaramento do alvo, porém área cega maior.
N_TRAIN = 256
module-attribute
Células de treinamento de cada lado da janela de guarda no CA-CFAR.
Define a janela para estimativa do piso de ruído. Valor maior → estimativa mais robusta, porém mais lenta para responder a variações de clutter.
K_CFAR = 10
module-attribute
Fator multiplicativo α do threshold CA-CFAR.
threshold_i = α · (média das células de treinamento)
Valor ajustado empiricamente para sinal pós-integrador (N_INT = 8 PRIs). Valores maiores → menos falsos alarmes, porém menor Pd (probabilidade de detecção).
N_INT = 8
module-attribute
Número de PRIs a integrar (coerente ou não-coerente).
Ganho de integração não-coerente ≈ √N_INT ≈ +4.5 dB (para N_INT=8). Ganho de integração coerente ≈ N_INT ≈ +18 dB (para N_INT=8, com coerência de fase).
H_HITS = 4096
module-attribute
Capacidade máxima do histórico de hits do PPI Estimado (número de pontos).
Points além desse limite são descartados automaticamente via deque(maxlen=H_HITS).
MIN_CFAR_ABS = 10.0
module-attribute
Threshold absoluto mínimo do CA-CFAR (unidades do integrador).
Garante que o threshold nunca seja inferior a este valor, suprimindo falsos alarmes em regiões onde o sinal integrado é puro AWGN (sem alvo).
MAX_MATCH_DIST = 90.0
module-attribute
Distância máxima (m) para associar uma detecção CFAR a um alvo real.
Se a posição estimada da detecção estiver dentro dessa distância de qualquer alvo real (ground truth), é classificada como Verdadeiro Positivo (TP). Caso contrário, é registrada como Falso Alarme (FA).
MIN_Y_MTI = 60.0
module-attribute
Amplitude mínima do eixo Y do plot MTI (modo não-normalizado).
MIN_Y_INT = 60.0
module-attribute
Amplitude mínima do eixo Y do plot Integrador (modo não-normalizado).
MIN_Y_CFAR = 150.0
module-attribute
Amplitude mínima do eixo Y do plot CA-CFAR (modo não-normalizado).