# 5G NR小区配置模型 本目录包含5G NR(New Radio)小区配置的实体类定义,用于处理5G网络的小区配置参数。 ## 文件结构 ### 主要配置类 - `NrCellConfiguration.cs` - 5G NR小区配置主实体类 - `NrCellConfigurationCollection.cs` - 5G NR小区配置集合类 ### 子配置类 - `PlmnConfig.cs` - PLMN配置 - `PagingConfig.cs` - 分页配置 - `SrbConfig.cs` - SRB配置 - `TddUlDlConfig.cs` - TDD UL/DL配置 - `CsiRsConfig.cs` - CSI-RS配置 - `PrachConfig.cs` - PRACH配置 - `PdcchConfig.cs` - PDCCH配置 - `PdschConfig.cs` - PDSCH配置 - `PucchConfig.cs` - PUCCH配置 - `PuschConfig.cs` - PUSCH配置 - `MacConfig.cs` - MAC配置 - `TimersAndConstants.cs` - 定时器和常量配置 ## 主要特性 ### 可空类型支持 所有属性都支持可空类型(nullable),确保在配置参数缺失时不会出现异常。 ### JSON序列化 使用Newtonsoft.Json进行JSON序列化和反序列化,支持标准的JSON格式。 ### 完整的5G NR参数 包含5G NR网络所需的所有主要配置参数: - 小区基本参数(小区ID、频段、带宽等) - 物理层配置(PDCCH、PDSCH、PUCCH、PUSCH等) - 信道配置(CSI-RS、PRACH等) - MAC层配置 - 定时器和常量配置 ## 使用示例 ```csharp // 创建5G NR小区配置 var nrCellConfig = new NrCellConfiguration { CellId = 23, NIdCell = 1, Band = 78, Bandwidth = 100, DlNrArfcn = 630000, SubcarrierSpacing = 30, // ... 其他配置参数 }; // 序列化为JSON string json = JsonConvert.SerializeObject(nrCellConfig, Formatting.Indented); // 从JSON反序列化 var config = JsonConvert.DeserializeObject(json); ``` ## 配置参数说明 ### 基本参数 - `cell_id`: 小区ID - `n_id_cell`: 小区物理层ID - `band`: 频段号 - `bandwidth`: 带宽(MHz) - `dl_nr_arfcn`: 下行NR ARFCN ### 物理层配置 - `pdcch`: PDCCH配置 - `pdsch`: PDSCH配置 - `pucch`: PUCCH配置 - `pusch`: PUSCH配置 - `prach`: PRACH配置 ### 信道配置 - `csi_rs`: CSI-RS配置 - `ssb_period`: SSB周期 - `ssb_pos_bitmap`: SSB位置位图 ### 其他配置 - `mac_config`: MAC层配置 - `timers_and_constants`: 定时器和常量 - `srb_config`: SRB配置 - `plmn_list`: PLMN列表 ## 注意事项 1. 所有数值类型属性都支持可空类型,确保配置的灵活性 2. 字符串类型属性也支持可空,避免空引用异常 3. 集合类型属性在未初始化时默认为空列表 4. 配置参数遵循3GPP 5G NR标准规范