/// <summary> /// Returns the nominal (Item1), min (Item2), and max (Item3) allowed HBM Peak Current to be within JS-001 specification /// </summary> /// <param name="hbmVoltage">The voltage of the HBM pulse waveform (polarity is ignored, absolute value will be used)</param> /// <returns>The nominal (Item1), min (Item2), and max (Item3) allowed HBM Peak Current to be within JS-001 specification</returns> internal static Tuple <double, double, double> HBMPeakCurrentNominalMinMax(double hbmVoltage) { double absHBMVoltage = System.Math.Abs(hbmVoltage); HBM500OhmJS001WaveformCharacteristicsSet set = HBM500OhmJS001WaveformCharacteristics.GenerateSetForHBMVoltage(absHBMVoltage); return(new Tuple <double, double, double>( DoubleRangeExtensions.CenterOfRange(set.PeakCurrent.Item1, set.PeakCurrent.Item2), set.PeakCurrent.Item1, set.PeakCurrent.Item2)); }
/// <summary> /// Returns the nominal (Item1), min (Item2), and max (Item3) allowed CDM Full Width at Half Maximum to be within the JS-002 specification /// </summary> /// <param name="signedCDMVoltage">The sign value of the CDM pulse waveform</param> /// <param name="isLargeTarget">A value indicating whether the CDM target is large or not (if not, then it is small)</param> /// <param name="oscilloscopeIsHighBandwidth">A value indicating whether the oscilloscope is high bandwidth (6GHz+) or not</param> /// <returns>The nominal (Item1), min (Item2), and max (Item3) allowed CDM Full Width at Half Maximum to be within the JS-002 specification</returns> public static Tuple <double, double, double> FullWidthHalfMaxNominalMinMax(double signedCDMVoltage, bool isLargeTarget, bool oscilloscopeIsHighBandwidth) { CDMJS002WaveformCharacteristicsSet set = CDMJS002WaveformCharacteristics.GenerateSetForCDMVoltageAndCharacteristics( signedCDMVoltage, isLargeTarget, oscilloscopeIsHighBandwidth); return(new Tuple <double, double, double>( DoubleRangeExtensions.CenterOfRange(set.FullWidthAtHalfMaximum.Item1, set.FullWidthAtHalfMaximum.Item2), set.FullWidthAtHalfMaximum.Item1, set.FullWidthAtHalfMaximum.Item2)); }