Detection
DetectionRecord
dataclass
Registro imutável de uma única detecção do radar.
Attributes:
| Name | Type | Description |
|---|---|---|
time |
float
|
Tempo de simulação em que a detecção ocorreu (s). |
target_idx |
int
|
Índice do target detectado (0-based). |
range_m |
float
|
Distância do radar ao target no momento da detecção (m). |
azimuth_deg |
float
|
Azimute do target no momento da detecção (°, [0, 360)). |
deg_error |
float
|
Erro angular em relação ao centro do feixe (°), quantizado por deg_step. 0 = centro exato do feixe. |
rx_power_dbm |
float
|
Potência recebida do alvo em dBm (equação do radar). |
DetectionLog
Coleção de DetectionRecord produzidos durante a simulação.
Responsabilidades
- Acumular registros de detecção a cada passo da simulação.
- Fornecer acesso aos dados para visualização e análise.
- Exportar os dados para CSV.
records
property
Lista completa de registros (somente leitura).
by_target(target_idx)
Retorna todos os registros de um target específico.
target_indices()
Retorna os índices únicos de targets detectados, em ordem de primeira detecção.
add(record)
Adiciona um registro de detecção ao log.
clear()
Remove todos os registros (útil para reiniciar a simulação).
export(path='detections.csv')
Salva todos os registros em um arquivo CSV.
O arquivo é criado (com diretórios pai, se necessário) e sobrescrito caso já exista. Campos numéricos são formatados com precisão controlada para eliminar artefatos de ponto flutuante.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
str | Path
|
Caminho do arquivo de saída (str ou Path). |
'detections.csv'
|
Returns:
| Type | Description |
|---|---|
Path
|
Path resolvido do arquivo criado. |