/// <summary>Configures common settings related to the NR standard of the measured signal.</summary>
 /// <param name="nr">Specifies the NR signal to configure.</param>
 /// <param name="standardConfig">Specifies the NR standard settings to apply.</param>
 /// <param name="selectorString">Pass an empty string. The signal name that is passed when creating the signal configuration is used. See the RFmx help for more documention of this parameter.</param>
 public static void ConfigureStandard(RFmxNRMX nr, StandardConfiguration standardConfig, string selectorString = "")
 {
     nr.SetComponentCarrierSpacingType(selectorString, RFmxNRMXComponentCarrierSpacingType.Nominal); // nominal is assumed
     nr.SetLinkDirection(selectorString, standardConfig.LinkDirection);
     nr.SetFrequencyRange(selectorString, standardConfig.FrequencyRange);
     nr.SetBand(selectorString, standardConfig.Band);
     nr.SetAutoResourceBlockDetectionEnabled(selectorString, standardConfig.AutoResourceBlockDetectionEnabled);
     nr.ComponentCarrier.SetDownlinkTestModel(selectorString, standardConfig.DownlinkTestModel);
     nr.ComponentCarrier.SetDownlinkTestModelDuplexScheme(selectorString, standardConfig.DownlinkTestModelDuplexScheme);
     nr.ComponentCarrier.SetNumberOfComponentCarriers(selectorString, standardConfig.ComponentCarrierConfigurations.Length);
     for (int i = 0; i < standardConfig.ComponentCarrierConfigurations.Length; i++)
     {
         string carrierString = RFmxNRMX.BuildCarrierString(selectorString, i);
         ComponentCarrierConfiguration componentCarrierConfig = standardConfig.ComponentCarrierConfigurations[i];
         nr.ComponentCarrier.SetBandwidth(carrierString, componentCarrierConfig.Bandwidth_Hz);
         nr.ComponentCarrier.SetCellID(carrierString, componentCarrierConfig.CellId);
         nr.ComponentCarrier.SetPuschModulationType(carrierString, componentCarrierConfig.PuschModulationType);
         nr.ComponentCarrier.SetBandwidthPartSubcarrierSpacing(carrierString, componentCarrierConfig.SubcarrierSpacing_Hz);
         nr.ComponentCarrier.SetPuschResourceBlockOffset(carrierString, componentCarrierConfig.PuschResourceBlockOffset);
         nr.ComponentCarrier.SetPuschNumberOfResourceBlocks(carrierString, componentCarrierConfig.PuschNumberOfResourceBlocks);
         nr.ComponentCarrier.SetPuschTransformPrecodingEnabled(carrierString, componentCarrierConfig.PuschTransformPrecodingEnabled);
         nr.ComponentCarrier.SetPuschSlotAllocation(carrierString, componentCarrierConfig.PuschSlotAllocation);
         nr.ComponentCarrier.SetPuschSymbolAllocation(carrierString, componentCarrierConfig.PuschSymbolAllocation);
         nr.ComponentCarrier.SetPuschDmrsConfigurationType(carrierString, componentCarrierConfig.PuschDmrsConfigurationType);
         nr.ComponentCarrier.SetPuschMappingType(carrierString, componentCarrierConfig.PuschMappingType);
         nr.ComponentCarrier.SetPuschDmrsTypeAPosition(carrierString, componentCarrierConfig.PuschDmrsTypeAPosition);
         nr.ComponentCarrier.SetPuschDmrsDuration(carrierString, componentCarrierConfig.PuschDmrsDuration);
         nr.ComponentCarrier.SetPuschDmrsAdditionalPositions(carrierString, componentCarrierConfig.PuschDmrsAdditionalPositions);
     }
 }
Пример #2
0
 /// <summary>Configures common settings related to the LTE standard of the measured signal.</summary>
 /// <param name="lte">Specifies the LTE signal to configure.</param>
 /// <param name="standardConfig">Specifies the LTE standard settings to apply.</param>
 /// <param name="selectorString">Pass an empty string. The signal name that is passed when creating the signal configuration is used. See the RFmx help for more documention of this parameter.</param>
 #region Measurement Configuration
 public static void ConfigureStandard(RFmxLteMX lte, StandardConfiguration standardConfig, string selectorString = "")
 {
     lte.ComponentCarrier.SetSpacingType(selectorString, RFmxLteMXComponentCarrierSpacingType.Nominal); // nominal spacing is assumed
     lte.ConfigureLinkDirection(selectorString, standardConfig.LinkDirection);
     lte.ConfigureDuplexScheme(selectorString, standardConfig.DuplexScheme, standardConfig.UplinkDownlinkConfiguration);
     lte.ConfigureBand(selectorString, standardConfig.Band);
     lte.ConfigureNumberOfComponentCarriers(selectorString, standardConfig.ComponentCarrierConfigurations.Length);
     for (int i = 0; i < standardConfig.ComponentCarrierConfigurations.Length; i++)
     {
         string carrierString = RFmxLteMX.BuildCarrierString(selectorString, i);
         ComponentCarrierConfiguration componentCarrierConfig = standardConfig.ComponentCarrierConfigurations[i];
         lte.ComponentCarrier.SetBandwidth(carrierString, componentCarrierConfig.Bandwidth_Hz);
         lte.ComponentCarrier.SetCellId(carrierString, componentCarrierConfig.CellId);
         lte.ComponentCarrier.ConfigurePuschModulationType(carrierString, componentCarrierConfig.PuschModulationType);
         lte.ComponentCarrier.ConfigurePuschResourceBlocks(carrierString, componentCarrierConfig.PuschResourceBlockOffset, componentCarrierConfig.PuschNumberOfResourceBlocks);
         lte.ComponentCarrier.ConfigureDownlinkTestModel(carrierString, componentCarrierConfig.DownlinkTestModel);
     }
     lte.ComponentCarrier.ConfigureAutoResourceBlockDetectionEnabled(selectorString, standardConfig.PuschAutoResourceBlockDetectionEnabled);
     lte.ConfigureAutoDmrsDetectionEnabled(selectorString, standardConfig.AutoDmrsDetectionEnabled);
     lte.ComponentCarrier.ConfigureDownlinkAutoCellIDDetectionEnabled(selectorString, standardConfig.DownlinkAutoCellIDDetectionEnabled);
 }
 /// <summary>Returns the struct with default values set.</summary>
 /// <returns>The struct with default values set.</returns>
 public static StandardConfiguration GetDefault()
 {
     return(new StandardConfiguration
     {
         LinkDirection = RFmxNRMXLinkDirection.Uplink,
         FrequencyRange = RFmxNRMXFrequencyRange.Range1,
         Band = 78,
         AutoResourceBlockDetectionEnabled = RFmxNRMXAutoResourceBlockDetectionEnabled.True,
         DownlinkTestModel = RFmxNRMXDownlinkTestModel.TM1_1,
         DownlinkTestModelDuplexScheme = RFmxNRMXDownlinkTestModelDuplexScheme.Fdd,
         ComponentCarrierConfigurations = new ComponentCarrierConfiguration[] { ComponentCarrierConfiguration.GetDefault() }
     });
 }
Пример #4
0
 /// <summary>Returns the struct with default values set.</summary>
 /// <returns>The struct with default values set.</returns>
 public static StandardConfiguration GetDefault()
 {
     return(new StandardConfiguration()
     {
         LinkDirection = RFmxLteMXLinkDirection.Uplink,
         DuplexScheme = RFmxLteMXDuplexScheme.Fdd,
         UplinkDownlinkConfiguration = RFmxLteMXUplinkDownlinkConfiguration.Configuration0,
         Band = 1,
         PuschAutoResourceBlockDetectionEnabled = RFmxLteMXAutoResourceBlockDetectionEnabled.True,
         AutoDmrsDetectionEnabled = RFmxLteMXAutoDmrsDetectionEnabled.True,
         DownlinkAutoCellIDDetectionEnabled = RFmxLteMXDownlinkAutoCellIDDetectionEnabled.False,
         ComponentCarrierConfigurations = new ComponentCarrierConfiguration[] { ComponentCarrierConfiguration.GetDefault() }
     });
 }