예제 #1
0
        /// <summary>
        /// Returns power channel over the full span being captured. The power is instantaneous real time
        /// For average power channel use the collection method GetAverageChannelPower().
        /// </summary>
        /// <returns>channel power in dBm/span</returns>
        public double GetChannelPowerDBM()
        {
            double fChannelPower = RFECommunicator.MIN_AMPLITUDE_DBM;
            double fPowerTemp    = 0.0f;

            for (UInt16 nInd = 0; nInd < m_nTotalSteps; nInd++)
            {
                fPowerTemp += RFECommunicator.Convert_dBm_2_mW(m_arrAmplitude[nInd]);
            }

            if (fPowerTemp > 0.0f)
            {
                //add here actual RBW calculation in the future - currently we are assuming frequency step is the same
                //as RBW which is not 100% accurate.
                fChannelPower = RFECommunicator.Convert_mW_2_dBm(fPowerTemp);
            }

            return(fChannelPower);
        }