示例#1
0
        /// <summary>
        /// Returns the max allowed CDM Undershoot as a percentage 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 max allowed CDM Undershoot as a percentage to be within ESDA/JEDEC joint specification</returns>
        public static double UndershootMaxPercent(double signedCDMVoltage, bool isLargeTarget, bool oscilloscopeIsHighBandwidth)
        {
            CDMJS002WaveformCharacteristicsSet set = CDMJS002WaveformCharacteristics.GenerateSetForCDMVoltageAndCharacteristics(
                signedCDMVoltage,
                isLargeTarget,
                oscilloscopeIsHighBandwidth);

            return(set.UndershootMaxPercent);
        }
示例#2
0
        /// <summary>
        /// Returns the max allowed CDM Rise Time to be within 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 max allowed CDM Rise Time to be within JS-002 specification</returns>
        public static double RiseTimeMax(double signedCDMVoltage, bool isLargeTarget, bool oscilloscopeIsHighBandwidth)
        {
            CDMJS002WaveformCharacteristicsSet set = CDMJS002WaveformCharacteristics.GenerateSetForCDMVoltageAndCharacteristics(
                signedCDMVoltage,
                isLargeTarget,
                oscilloscopeIsHighBandwidth);

            return(set.RiseTimeMax);
        }
示例#3
0
        /// <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));
        }