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.

257 lines
6.9 KiB

using System.Collections.Generic;
using Newtonsoft.Json;
namespace X1.Domain.Models.NrCellConfiguration
{
/// <summary>
/// 5G NR CSI-RS配置
/// </summary>
public class CsiRsConfig
{
[JsonProperty("nzp_csi_rs_resource")]
public List<NzpCsiRsResource>? NzpCsiRsResource { get; set; }
[JsonProperty("nzp_csi_rs_resource_set")]
public List<NzpCsiRsResourceSet>? NzpCsiRsResourceSet { get; set; }
[JsonProperty("csi_im_resource")]
public List<CsiImResource>? CsiImResource { get; set; }
[JsonProperty("csi_im_resource_set")]
public List<CsiImResourceSet>? CsiImResourceSet { get; set; }
[JsonProperty("zp_csi_rs_resource")]
public List<ZpCsiRsResource>? ZpCsiRsResource { get; set; }
[JsonProperty("p_zp_csi_rs_resource_set")]
public List<PZpCsiRsResourceSet>? PZpCsiRsResourceSet { get; set; }
[JsonProperty("csi_resource_config")]
public List<CsiResourceConfig>? CsiResourceConfig { get; set; }
[JsonProperty("csi_report_config")]
public List<CsiReportConfig>? CsiReportConfig { get; set; }
}
/// <summary>
/// NZP CSI-RS资源
/// </summary>
public class NzpCsiRsResource
{
[JsonProperty("csi_rs_id")]
public int? CsiRsId { get; set; }
[JsonProperty("n_ports")]
public int? NPorts { get; set; }
[JsonProperty("frequency_domain_allocation")]
public string? FrequencyDomainAllocation { get; set; }
[JsonProperty("bitmap")]
public string? Bitmap { get; set; }
[JsonProperty("cdm_type")]
public string? CdmType { get; set; }
[JsonProperty("density")]
public double? Density { get; set; }
[JsonProperty("first_symb")]
public int? FirstSymb { get; set; }
[JsonProperty("rb_start")]
public int? RbStart { get; set; }
[JsonProperty("l_crb")]
public int? LCrb { get; set; }
[JsonProperty("power_control_offset")]
public int? PowerControlOffset { get; set; }
[JsonProperty("power_control_offset_ss")]
public int? PowerControlOffsetSs { get; set; }
[JsonProperty("scrambling_id")]
public int? ScramblingId { get; set; }
[JsonProperty("period")]
public int? Period { get; set; }
[JsonProperty("offset")]
public int? Offset { get; set; }
[JsonProperty("qcl_info_periodic_csi_rs")]
public int? QclInfoPeriodicCsiRs { get; set; }
}
/// <summary>
/// NZP CSI-RS资源集
/// </summary>
public class NzpCsiRsResourceSet
{
[JsonProperty("csi_rs_set_id")]
public int? CsiRsSetId { get; set; }
[JsonProperty("nzp_csi_rs_resources")]
public List<int>? NzpCsiRsResources { get; set; }
[JsonProperty("repetition")]
public bool? Repetition { get; set; }
[JsonProperty("trs_info")]
public bool? TrsInfo { get; set; }
}
/// <summary>
/// CSI-IM资源
/// </summary>
public class CsiImResource
{
[JsonProperty("csi_im_id")]
public int? CsiImId { get; set; }
[JsonProperty("pattern")]
public int? Pattern { get; set; }
[JsonProperty("subcarrier_location")]
public int? SubcarrierLocation { get; set; }
[JsonProperty("symbol_location")]
public int? SymbolLocation { get; set; }
[JsonProperty("rb_start")]
public int? RbStart { get; set; }
[JsonProperty("l_crb")]
public int? LCrb { get; set; }
[JsonProperty("period")]
public int? Period { get; set; }
[JsonProperty("offset")]
public int? Offset { get; set; }
}
/// <summary>
/// CSI-IM资源集
/// </summary>
public class CsiImResourceSet
{
[JsonProperty("csi_im_set_id")]
public int? CsiImSetId { get; set; }
[JsonProperty("csi_im_resources")]
public List<int>? CsiImResources { get; set; }
}
/// <summary>
/// ZP CSI-RS资源
/// </summary>
public class ZpCsiRsResource
{
[JsonProperty("csi_rs_id")]
public int? CsiRsId { get; set; }
[JsonProperty("frequency_domain_allocation")]
public string? FrequencyDomainAllocation { get; set; }
[JsonProperty("bitmap")]
public string? Bitmap { get; set; }
[JsonProperty("n_ports")]
public int? NPorts { get; set; }
[JsonProperty("cdm_type")]
public string? CdmType { get; set; }
[JsonProperty("density")]
public double? Density { get; set; }
[JsonProperty("first_symb")]
public int? FirstSymb { get; set; }
[JsonProperty("rb_start")]
public int? RbStart { get; set; }
[JsonProperty("l_crb")]
public int? LCrb { get; set; }
[JsonProperty("period")]
public int? Period { get; set; }
[JsonProperty("offset")]
public int? Offset { get; set; }
}
/// <summary>
/// P-ZP CSI-RS资源集
/// </summary>
public class PZpCsiRsResourceSet
{
[JsonProperty("zp_csi_rs_resources")]
public List<int>? ZpCsiRsResources { get; set; }
}
/// <summary>
/// CSI资源配置
/// </summary>
public class CsiResourceConfig
{
[JsonProperty("csi_rsc_config_id")]
public int? CsiRscConfigId { get; set; }
[JsonProperty("nzp_csi_rs_resource_set_list")]
public List<int>? NzpCsiRsResourceSetList { get; set; }
[JsonProperty("csi_im_resource_set_list")]
public List<int>? CsiImResourceSetList { get; set; }
[JsonProperty("resource_type")]
public string? ResourceType { get; set; }
}
/// <summary>
/// CSI报告配置
/// </summary>
public class CsiReportConfig
{
[JsonProperty("resources_for_channel_measurement")]
public int? ResourcesForChannelMeasurement { get; set; }
[JsonProperty("csi_im_resources_for_interference")]
public int? CsiImResourcesForInterference { get; set; }
[JsonProperty("report_config_type")]
public string? ReportConfigType { get; set; }
[JsonProperty("period")]
public int? Period { get; set; }
[JsonProperty("report_quantity")]
public string? ReportQuantity { get; set; }
[JsonProperty("codebook_config")]
public CodebookConfig? CodebookConfig { get; set; }
[JsonProperty("cqi_table")]
public int? CqiTable { get; set; }
[JsonProperty("subband_size")]
public string? SubbandSize { get; set; }
}
/// <summary>
/// 码本配置
/// </summary>
public class CodebookConfig
{
[JsonProperty("codebook_type")]
public string? CodebookType { get; set; }
[JsonProperty("sub_type")]
public string? SubType { get; set; }
[JsonProperty("codebook_mode")]
public int? CodebookMode { get; set; }
}
}