using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CoreAgent.Domain.Models.Network
{
///
/// 5G NR小区配置实体,对应5G无线参数配置
/// 用于存储5G NR小区的各种物理层和协议层配置参数
/// 支持JSON序列化,属性名与外部API保持一致
///
public class NrCellConfiguration
{
///
/// 小区ID
///
[JsonProperty("cell_Id")]
public int CellID { get; set; }
/// 下行天线数量
[JsonProperty("n_antenna_dl")]
public int NAntennaDl { get; set; }
/// 上行天线数量
[JsonProperty("n_antenna_ul")]
public int NAntennaUl { get; set; }
/// 下行传输层数
[JsonProperty("n_layer_dl")]
public int NLayerDl { get; set; }
/// 上行传输层数
[JsonProperty("n_layer_ul")]
public int NLayerUl { get; set; }
/// 天线增益(dB)
[JsonProperty("gain")]
public int Gain { get; set; }
/// 上行链路是否禁用
[JsonProperty("ul_disabled")]
public bool UlDisabled { get; set; }
/// 射频端口号
[JsonProperty("rf_port")]
public int RfPort { get; set; }
/// 下行QAM调制阶数
[JsonProperty("dl_qam")]
public int DlQam { get; set; }
/// 上行QAM调制阶数
[JsonProperty("ul_qam")]
public int UlQam { get; set; }
/// 5G NR物理小区标识
[JsonProperty("n_id_nrcell")]
public int NIdNrCell { get; set; }
/// 5G NR频段号
[JsonProperty("band")]
public int Band { get; set; }
/// 下行5G NR绝对射频信道号
[JsonProperty("dl_nr_arfcn")]
public int DlNrArfcn { get; set; }
/// 上行5G NR绝对射频信道号
[JsonProperty("ul_nr_arfcn")]
public int UlNrArfcn { get; set; }
/// 下行载波频率(Hz)
[JsonProperty("dl_freq")]
public long DlFreq { get; set; }
/// 上行载波频率(Hz)
[JsonProperty("ul_freq")]
public long UlFreq { get; set; }
/// 下行资源块数量
[JsonProperty("n_rb_dl")]
public int NRbDl { get; set; }
/// 上行资源块数量
[JsonProperty("n_rb_ul")]
public int NRbUl { get; set; }
/// SSB 5G NR绝对射频信道号
[JsonProperty("ssb_nr_arfcn")]
public int SsbNrArfcn { get; set; }
/// 下行MU-MIMO配置
[JsonProperty("dl_mu")]
public int DlMu { get; set; }
/// 上行MU-MIMO配置
[JsonProperty("ul_mu")]
public int UlMu { get; set; }
/// SSB MU-MIMO配置
[JsonProperty("ssb_mu")]
public int SsbMu { get; set; }
/// 双工模式(FDD/TDD)
[JsonProperty("mode")]
public string Mode { get; set; } = string.Empty;
/// PRACH序列索引
[JsonProperty("prach_sequence_index")]
public int PrachSequenceIndex { get; set; }
/// 保证比特率(GBR)配置
[JsonProperty("gbr")]
public GbrConfig Gbr { get; set; } = new();
/// 公共陆地移动网络(PLMN)列表
[JsonProperty("plmn_list")]
public List PlmnList { get; set; } = new();
///
///
///
///
public void SetCellId(int id)
{
this.CellID = id;
}
}
///
/// 5G NR PLMN配置项
/// 定义5G NR公共陆地移动网络的配置信息
///
public class NrPlmnItem
{
/// PLMN标识列表
[JsonProperty("plmn_ids")]
public List PlmnIds { get; set; } = new();
/// 是否为保留PLMN
[JsonProperty("reserved")]
public bool Reserved { get; set; }
/// 跟踪区域码(TAC)
[JsonProperty("tac")]
public int Tac { get; set; }
}
}