HYPERDOA / hyperdoa /config.py
pwh9882's picture
initial commit
37ed720
"""
Configuration dataclass for DOA estimation parameters.
This module provides a minimal configuration class for HDC-based DOA estimation,
containing only the essential parameters needed for the system model.
"""
from dataclasses import dataclass
@dataclass
class DOAConfig:
"""Configuration for DOA estimation system.
Attributes:
N: Number of sensors (antennas) in the uniform linear array
M: Number of signal sources to estimate
T: Number of time snapshots per observation
snr: Signal-to-noise ratio in dB
signal_nature: Type of signal correlation ("non-coherent" or "coherent")
Example:
>>> config = DOAConfig(N=8, M=3, T=100, snr=-5)
>>> print(f"Array has {config.N} sensors")
Array has 8 sensors
"""
N: int = 8
M: int = 3
T: int = 100
snr: float = -5.0
signal_nature: str = "non-coherent"
def set_parameter(self, name: str, value):
"""Set parameter value (for compatibility with SubspaceNet).
Args:
name: Parameter name
value: Parameter value
Returns:
self for method chaining
"""
setattr(self, name, value)
return self