public static AcpResults FetchAcp(RFmxNRMX nrSignal, string selectorString = "") { AcpResults acpResults = new AcpResults(); nrSignal.Acp.Results.FetchOffsetMeasurementArray(selectorString, 10, ref acpResults.lowerRelativePower, ref acpResults.upperRelativePower, ref acpResults.lowerAbsolutePower, ref acpResults.upperAbsolutePower); nrSignal.Acp.Results.ComponentCarrier.FetchMeasurement(selectorString, 10, out acpResults.absolutePower, out acpResults.relativePower); for (int i = 0; i < acpResults.lowerRelativePower.Length; i++) { nrSignal.Acp.Results.FetchRelativePowersTrace(selectorString, 10, i, ref acpResults.relativePowersTrace); } nrSignal.Acp.Results.FetchSpectrum(selectorString, 10, ref acpResults.spectrum); return(acpResults); }
/// <summary>Fetches common results from the ACP measurement.</summary> /// <param name="nr">Specifies the NR signal to fetch results from.</param> /// <param name="selectorString">(Optional) Specifies the result name. See the RFmx help for more documentation of this parameter.</param> /// <returns>Common ACP measurement results.</returns> public static AcpResults FetchAcp(RFmxNRMX nr, string selectorString = "") { double[] lowerRelativePower = null; double[] upperRelativePower = null; double[] lowerAbsolutePower = null; double[] upperAbsolutePower = null; nr.Acp.Results.FetchOffsetMeasurementArray(selectorString, 10.0, ref lowerRelativePower, ref upperRelativePower, ref lowerAbsolutePower, ref upperAbsolutePower); AcpResults results = new AcpResults() { OffsetResults = new AcpOffsetResults[lowerRelativePower.Length] }; for (int i = 0; i < lowerRelativePower.Length; i++) { string offsetString = RFmxNRMX.BuildOffsetString(selectorString, i); nr.Acp.Configuration.GetOffsetFrequency(offsetString, out double offsetFrequency); nr.Acp.Configuration.GetOffsetIntegrationBandwidth(offsetString, out double offsetIbw); results.OffsetResults[i] = new AcpOffsetResults() { LowerRelativePower_dB = lowerRelativePower[i], UpperRelativePower_dB = upperRelativePower[i], LowerAbsolutePower_dBm = lowerAbsolutePower[i], UpperAbsolutePower_dBm = upperAbsolutePower[i], Frequency_Hz = offsetFrequency, IntegrationBandwidth_Hz = offsetIbw }; } double[] absolutePower = null; double[] relativePower = null; nr.Acp.Results.ComponentCarrier.FetchMeasurementArray(selectorString, 10.0, ref absolutePower, ref relativePower); results.ComponentCarrierResults = new AcpComponentCarrierResults[absolutePower.Length]; for (int i = 0; i < absolutePower.Length; i++) { results.ComponentCarrierResults[i] = new AcpComponentCarrierResults() { AbsolutePower_dBm = absolutePower[i], RelativePower_dB = relativePower[i] }; } return(results); }
/// <summary>Fetches common results from the ACP measurement.</summary> /// <param name="specAn">Specifies the SpecAn signal to fetch results from.</param> /// <param name="selectorString">(Optional) Specifies the result name. See the RFmx help for more documentation of this parameter.</param> /// <returns>Common ACP measurement results.</returns> public static AcpResults FetchAcp(RFmxSpecAnMX specAn, string selectorString = "") { double[] lowerRelativePower = null; double[] upperRelativePower = null; double[] lowerAbsolutePower = null; double[] upperAbsolutePower = null; specAn.Acp.Results.FetchOffsetMeasurementArray(selectorString, 10.0, ref lowerRelativePower, ref upperRelativePower, ref lowerAbsolutePower, ref upperAbsolutePower); AcpResults results = new AcpResults() { OffsetResults = new AcpOffsetResults[lowerRelativePower.Length] }; for (int i = 0; i < lowerRelativePower.Length; i++) { string offsetString = RFmxSpecAnMX.BuildOffsetString2(selectorString, i); specAn.Acp.Configuration.GetOffsetFrequency(offsetString, out double offsetFrequency); specAn.Acp.Configuration.GetOffsetIntegrationBandwidth(offsetString, out double offsetIbw); results.OffsetResults[i] = new AcpOffsetResults() { LowerRelativePower_dB = lowerRelativePower[i], UpperRelativePower_dB = upperRelativePower[i], LowerAbsolutePower_dBm_or_dBmHz = lowerAbsolutePower[i], UpperAbsolutePower_dBm_or_dBmHz = upperAbsolutePower[i], Frequency_Hz = offsetFrequency, IntegrationBandwidth_Hz = offsetIbw }; } specAn.Acp.Configuration.GetNumberOfCarriers(selectorString, out int numCarrierChannels); results.ComponentCarrierResults = new AcpComponentCarrierResults[numCarrierChannels]; for (int i = 0; i < numCarrierChannels; i++) { string carrierString = RFmxSpecAnMX.BuildCarrierString2(selectorString, i); AcpComponentCarrierResults componentCarrierResults; specAn.Acp.Results.FetchCarrierMeasurement(carrierString, 10.0, out componentCarrierResults.AbsolutePower_dBm_or_dBmHz, out componentCarrierResults.TotalRelativePower_dB, out componentCarrierResults.Frequency_Hz, out componentCarrierResults.IntegrationBandwidth_Hz); results.ComponentCarrierResults[i] = componentCarrierResults; } specAn.Acp.Results.FetchTotalCarrierPower(selectorString, 10.0, out results.TotalCarrierPower_dBm_or_dBmHz); return(results); }