Metadata-Version: 2.4
Name: aeris-channel
Version: 1.0.1
Summary: 3GPP stochastic channel models: TR 38.901 (CDL/TDL), TR 36.777 (aerial UE), TR 38.811/38.821 (NTN)
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: numpy>=1.26
Requires-Dist: scipy>=1.7.0
Requires-Dist: aeris-license<2.0,>=1.0.2
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: pytest-xdist>=3.0; extra == "dev"
Requires-Dist: pytest-timeout>=2.2; extra == "dev"
Provides-Extra: gpu
Requires-Dist: cupy-cuda12x>=12.0; extra == "gpu"
Provides-Extra: plots
Requires-Dist: matplotlib>=3.7; extra == "plots"
Provides-Extra: profiles
Requires-Dist: pyyaml>=6.0; extra == "profiles"

# aeris-channel

3GPP stochastic channel modeling for 5G NR and 6G research, development, and
hardware-in-the-loop workflows.

`aeris-channel` implements channel-modeling capabilities including:

- 3GPP TR 38.901 CDL, TDL, and stochastic channels.
- TR 36.777 aerial-UE/UAV channels.
- TR 38.811/38.821 non-terrestrial-network channels.
- MIMO, massive-MIMO, XL-MIMO, and near-field extensions.
- ISAC and channel-estimation utilities.
- Time-domain, frequency-domain, resource-grid, and impulse-response export
  interfaces.

## Installation

Install the released package:

```bash
pip install aeris-channel
```

The package installs `aeris-license>=1.0.2,<2.0` automatically.

Supported platforms are Windows and Linux with CPython 3.11, 3.12, 3.13, and
3.14.

## License requirement

A valid `aeris.lic` is required at runtime. Obtain licensing through the
approved Keysight process, configure the license location according to the
provided licensing instructions, then import the package.

## Quick start

```python
from aeris_channel.tr38901 import (
    StochasticChannelConfig,
    generate_stochastic_channel,
)

config = StochasticChannelConfig(
    scenario="UMi",
    carrier_freq_hz=3.5e9,
    n_tx=2,
    n_rx=2,
    num_time_samples=64,
    seed=42,
)
result = generate_stochastic_channel(config)

print(result.H.shape)  # (2, 2, 64)
print(result.pathloss_db)
```

## Documentation and examples

The version-matched public documentation and examples bundle describe
installation, channel configuration, and runnable workflows. Use assets marked
as compatible with the installed package version.

Examples cover:

- Basic CDL, TDL, and stochastic channels.
- TR 38.901 spatial consistency and custom profiles.
- NTN and aerial-UE channels.
- Beam management, massive MIMO, and XL-MIMO.
- ISAC sensing.
- System-level resource grids, link-level time-domain application, RF/HIL
  streaming, and PROPSIM impulse-response export.

## Support

Contact `support.aeris@keysight.com` for licensing and product support.
