You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

152 lines
4.6 KiB

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