using System.Collections.Generic; using Newtonsoft.Json; namespace X1.Domain.Models.NrCellConfiguration { /// /// 5G NR CSI-RS配置 /// public class CsiRsConfig { [JsonProperty("nzp_csi_rs_resource")] public List? NzpCsiRsResource { get; set; } [JsonProperty("nzp_csi_rs_resource_set")] public List? NzpCsiRsResourceSet { get; set; } [JsonProperty("csi_im_resource")] public List? CsiImResource { get; set; } [JsonProperty("csi_im_resource_set")] public List? CsiImResourceSet { get; set; } [JsonProperty("zp_csi_rs_resource")] public List? ZpCsiRsResource { get; set; } [JsonProperty("p_zp_csi_rs_resource_set")] public List? PZpCsiRsResourceSet { get; set; } [JsonProperty("csi_resource_config")] public List? CsiResourceConfig { get; set; } [JsonProperty("csi_report_config")] public List? CsiReportConfig { get; set; } } /// /// NZP CSI-RS资源 /// 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; } } /// /// NZP CSI-RS资源集 /// public class NzpCsiRsResourceSet { [JsonProperty("csi_rs_set_id")] public int? CsiRsSetId { get; set; } [JsonProperty("nzp_csi_rs_resources")] public List? NzpCsiRsResources { get; set; } [JsonProperty("repetition")] public bool? Repetition { get; set; } [JsonProperty("trs_info")] public bool? TrsInfo { get; set; } } /// /// CSI-IM资源 /// 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; } } /// /// CSI-IM资源集 /// public class CsiImResourceSet { [JsonProperty("csi_im_set_id")] public int? CsiImSetId { get; set; } [JsonProperty("csi_im_resources")] public List? CsiImResources { get; set; } } /// /// ZP CSI-RS资源 /// 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; } } /// /// P-ZP CSI-RS资源集 /// public class PZpCsiRsResourceSet { [JsonProperty("zp_csi_rs_resources")] public List? ZpCsiRsResources { get; set; } } /// /// CSI资源配置 /// public class CsiResourceConfig { [JsonProperty("csi_rsc_config_id")] public int? CsiRscConfigId { get; set; } [JsonProperty("nzp_csi_rs_resource_set_list")] public List? NzpCsiRsResourceSetList { get; set; } [JsonProperty("csi_im_resource_set_list")] public List? CsiImResourceSetList { get; set; } [JsonProperty("resource_type")] public string? ResourceType { get; set; } } /// /// CSI报告配置 /// 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; } } /// /// 码本配置 /// 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; } } }