Skip to content

AaravWayneBanner/3GPP_Channel_Model

 
 

Repository files navigation

3GPP Channel Model

A Python implementation of the 3GPP TR 38.901 V17.0.0 channel model standard, covering path loss, LOS probability, fast fading, and optional modeling extensions for 5G NR and beyond.

Forked from AmbitiousWarrior/3GPP_Channel_Model. Original author: LuDaYong.


What This Is

This repository simulates the wireless propagation channel as specified in 3GPP TR 38.901 — the foundational standard defining how radio signals travel between a Base Station (BS) and a User Terminal (UT) across different environments. It models everything from large-scale path loss to small-scale fast fading, including angle-of-departure/arrival, cluster delays, polarization, and Doppler effects.


Supported Scenarios

Scenario Description Typical BS Height
RMa Rural Macro 35 m
UMa Urban Macro 25 m
UMi Urban Micro (Street Canyon) 10 m
InH Indoor Hotspot (Office) 10 m
InF Indoor Factory 10 m

Documentation

Doc Description
ARCHITECTURE.md Directory layout, module map, entry points
FAST_FADING_PIPELINE.md The 12-step 3GPP channel simulation process
PATHLOSS_AND_LOS.md Path loss formulas and LOS probability models
ADDITIONAL_COMPONENTS.md Optional extensions: blockage, oxygen absorption, spatial consistency, dual mobility, CDL, Rician fading
PHYSICAL_TO_APPLICATION.md Physical-layer-to-application-layer simulator (latency, PRR)

Quick Start

The main entry point is Fast_fading_model_with_addtional_modeling_components.py:

# Configure scenario
Scenario = 'UMi_Street_canyon'  # RMa | UMa | UMi_Street_canyon | InH_Office
d_2D_out = 50 * math.sqrt(2)   # 2D distance in meters
f_c = 5.9                       # center frequency in GHz

# The __main__ block runs a 10-iteration simulation
python 3GPP_38901_channelmodel/Fast_fading_model/Fast_fading_model_with_addtional_modeling_components.py

Repository Structure

3GPP_Channel_Model/
├── ChannelModel.py                          # V2I baseline models (Friis, two-ray, log-distance)
├── 3GPP_38901_channelmodel/
│   ├── LOS_probability/                     # LOS probability per scenario
│   ├── Pathloss/                            # Path loss models (RMa, UMa, UMi, InH, InF)
│   ├── Numerical_antenna_model/             # Angle calculation between BS and UT
│   ├── Fast_fading_model/                   # Core 12-step simulation (with and without extensions)
│   ├── Additional_modelling_components/     # Optional: blockage, oxygen absorption, spatial consistency, etc.
│   ├── Channel_models_for_link-level_evaluations/  # CDL-A/B/C/D/E models
│   └── O2I_penetration_loss/                # Outdoor-to-indoor car penetration loss
├── PhysicalLayer2ApplicationLayer_channelmodel/    # Latency + PRR simulation
└── Rician-Fading-Python-main/               # Rician fading reference implementation

Standard Reference

3GPP TR 38.901 V17.0.0 — "Study on channel model for frequencies from 0.5 to 100 GHz"

Contact original author: [email protected]

About

A channel model accrrding to 3GPP TR 38.901 V17.0.0

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages