Ejemplo n.º 1
0
        public void DecodePd0Test()
        {
            Pd0BottomTrack pd0Bt = new Pd0BottomTrack();
            pd0Bt.BtPingsPerEnsemble = 5;

            pd0Bt.BtRangeLsbBeam0 = 17424;
            pd0Bt.BtRangeMsbBeam0 = 5;
            pd0Bt.BtRangeLsbBeam1 = 58043;
            pd0Bt.BtRangeMsbBeam1 = 1;
            pd0Bt.BtRangeLsbBeam2 = 37918;
            pd0Bt.BtRangeMsbBeam2 = 3;
            pd0Bt.BtRangeLsbBeam3 = 17948;
            pd0Bt.BtRangeMsbBeam3 = 5;

            pd0Bt.BtAmplitudeBeam0 = 112;                       // RTI Beam 2
            pd0Bt.BtAmplitudeBeam1 = 90;                        // RTI Beam 3
            pd0Bt.BtAmplitudeBeam2 = 46;                        // RTI Beam 1
            pd0Bt.BtAmplitudeBeam3 = 68;                        // RTI Beam 0

            pd0Bt.BtCorrelationMagnitudeBeam0 = 143;            // RTI Beam 2
            pd0Bt.BtCorrelationMagnitudeBeam1 = 115;            // RTI Beam 3
            pd0Bt.BtCorrelationMagnitudeBeam2 = 59;             // RTI Beam 1
            pd0Bt.BtCorrelationMagnitudeBeam3 = 87;             // RTI Beam 0

            pd0Bt.BtPercentGoodBeam0 = 100;
            pd0Bt.BtPercentGoodBeam1 = 100;
            pd0Bt.BtPercentGoodBeam2 = 40;
            pd0Bt.BtPercentGoodBeam3 = 100;

            pd0Bt.BtRssiBeam0 = 112;
            pd0Bt.BtRssiBeam1 = 90;
            pd0Bt.BtRssiBeam2 = 46;
            pd0Bt.BtRssiBeam3 = 68;

            DataSet.BottomTrackDataSet bt = new DataSet.BottomTrackDataSet();
            bt.DecodePd0Ensemble(pd0Bt, PD0.CoordinateTransforms.Coord_Earth, new Pd0VariableLeader());

            Assert.AreEqual(bt.ActualPingCount, pd0Bt.BtPingsPerEnsemble, "Pings per Ensemble is incorrect.");
            //Assert.AreEqual(0, bt.BtDelayBeforeReacquire, "Delay before reacquire is incorrect.");
            //Assert.AreEqual(0, bt.BtCorrMagMin, "Correlation Magintude Min is incorrect.");
            //Assert.AreEqual(0, bt.BtEvalAmpMin, "Evalation Amplitude Min is incorrect.");
            //Assert.AreEqual(0, bt.BtPercentGoodMin, "Percent Good Min is incorrect.");
            //Assert.AreEqual(0, bt.BtMode, "BT Mode is incorrect.");
            //Assert.AreEqual(0, bt.BtErrVelMax, "Error Velocity Max is incorrect.");
            //Assert.AreEqual(0, bt.Reserved13_16, "Reserved is incorrect.");

            Assert.AreEqual(3456.23f, bt.Range[0], "Range 0 is incorrect.");
            Assert.AreEqual(2345.23f, bt.Range[1], "Range 1 is incorrect.");
            Assert.AreEqual(3450.99f, bt.Range[2], "Range 2 is incorrect.");
            Assert.AreEqual(1235.78f, bt.Range[3], "Range 3 is incorrect.");

            Assert.AreEqual(23f, bt.SNR[0], "SNR Beam 0 is incorrect.");
            Assert.AreEqual(34f, bt.SNR[1], "SNR Beam 1 is incorrect.");
            Assert.AreEqual(45f, bt.SNR[2], "SNR Beam 2 is incorrect.");
            Assert.AreEqual(56f, bt.SNR[3], "SNR Beam 3 is incorrect.");

            Assert.AreEqual(0.23f, bt.Correlation[0], 0.1f, "Correlation Beam 0 is incorrect.");
            Assert.AreEqual(0.34f, bt.Correlation[1], 0.1f, "Correlation Beam 1 is incorrect.");
            Assert.AreEqual(0.45f, bt.Correlation[2], 0.1f, "Correlation Beam 2 is incorrect.");
            Assert.AreEqual(0.56f, bt.Correlation[3], 0.1f, "Correlation Beam 3 is incorrect.");

            Assert.AreEqual(2, bt.EarthGood[0], "Percent Good Beam 0 is incorrect.");
            Assert.AreEqual(5, bt.EarthGood[1], "Percent Good Beam 1 is incorrect.");
            Assert.AreEqual(5, bt.EarthGood[2], "Percent Good Beam 2 is incorrect.");
            Assert.AreEqual(5, bt.EarthGood[3], "Percent Good Beam 3 is incorrect.");

            Assert.AreEqual(23f, bt.Amplitude[0], "Amplitude Beam 0 is incorrect.");
            Assert.AreEqual(34f, bt.Amplitude[1], "Amplitude Beam 1 is incorrect.");
            Assert.AreEqual(45f, bt.Amplitude[2], "Amplitude Beam 2 is incorrect.");
            Assert.AreEqual(56f, bt.Amplitude[3], "Amplitude Beam 3 is incorrect.");

            //Assert.AreEqual(1, bt.BtGain, "Gain is incorrect.");
            //Assert.AreEqual(0, bt.Reserved82_85, "Reserved 82-85 is incorrect.");
        }
Ejemplo n.º 2
0
        public void DecodeRtiTest()
        {
            DataSet.BottomTrackDataSet rtiBT = new DataSet.BottomTrackDataSet(DataSet.Ensemble.DATATYPE_FLOAT,                 // Type of data stored (Float or Int)
                                                                            30,                                             // Number of bins
                                                                            4,                                              // Number of beams
                                                                            DataSet.Ensemble.DEFAULT_IMAG,                  // Default Image
                                                                            DataSet.Ensemble.DEFAULT_NAME_LENGTH,           // Default Image length
                                                                            DataSet.Ensemble.BottomTrackID);                // Dataset ID

            rtiBT.ActualPingCount = 5;
            rtiBT.Range[0] = 3450.99f;
            rtiBT.Range[1] = 1235.78f;
            rtiBT.Range[2] = 2345.23f;
            rtiBT.Range[3] = 3456.23f;
            rtiBT.SNR[0] = 23f;
            rtiBT.SNR[1] = 34f;
            rtiBT.SNR[2] = 45f;
            rtiBT.SNR[3] = 56f;
            rtiBT.Correlation[0] = 0.23f;
            rtiBT.Correlation[1] = 0.34f;
            rtiBT.Correlation[2] = 0.45f;
            rtiBT.Correlation[3] = 0.56f;
            rtiBT.EarthGood[0] = 5;
            rtiBT.EarthGood[1] = 5;
            rtiBT.EarthGood[2] = 2;
            rtiBT.EarthGood[3] = 5;
            rtiBT.Amplitude[0] = 23f;
            rtiBT.Amplitude[1] = 34f;
            rtiBT.Amplitude[2] = 45f;
            rtiBT.Amplitude[3] = 56f;

            Pd0BottomTrack bt = new Pd0BottomTrack(rtiBT, PD0.CoordinateTransforms.Coord_Beam);

            Assert.AreEqual(rtiBT.ActualPingCount, bt.BtPingsPerEnsemble, "Pings per Ensemble is incorrect.");
            Assert.AreEqual(0, bt.BtDelayBeforeReacquire, "Delay before reacquire is incorrect.");
            Assert.AreEqual(0, bt.BtCorrMagMin, "Correlation Magintude Min is incorrect.");
            Assert.AreEqual(0, bt.BtEvalAmpMin, "Evalation Amplitude Min is incorrect.");
            Assert.AreEqual(0, bt.BtPercentGoodMin, "Percent Good Min is incorrect.");
            Assert.AreEqual(0, bt.BtMode, "BT Mode is incorrect.");
            Assert.AreEqual(0, bt.BtErrVelMax, "Error Velocity Max is incorrect.");
            Assert.AreEqual(0, bt.Reserved13_16, "Reserved is incorrect.");
            Assert.AreEqual(5, bt.BtRangeMsbBeam3, "Range Beam 3 MSB is incorrect.");

            Assert.AreEqual(17424, bt.BtRangeLsbBeam3, "Range Beam 3 LSB is incorrect.");
            Assert.AreEqual(345099, bt.GetRangeBeam3(), "GetRangeBeam3 is incorrect.");
            Assert.AreEqual(1, bt.BtRangeMsbBeam2, "Range Beam 2 MSB is incorrect.");
            Assert.AreEqual(58043, bt.BtRangeLsbBeam2, "Range Beam 2 LSB is incorrect.");
            Assert.AreEqual(123578, bt.GetRangeBeam2(), "GetRangeBeam2 is incorrect.");
            Assert.AreEqual(3, bt.BtRangeMsbBeam0, "Range Beam 0 MSB is incorrect.");
            Assert.AreEqual(37918, bt.BtRangeLsbBeam0, "Range Beam 0 LSB is incorrect.");
            Assert.AreEqual(234523, bt.GetRangeBeam0(), "GetRangeBeam0 is incorrect.");
            Assert.AreEqual(5, bt.BtRangeMsbBeam1, "Range Beam 1 MSB is incorrect.");
            Assert.AreEqual(17948, bt.BtRangeLsbBeam1, "Range Beam 1 LSB is incorrect.");
            Assert.AreEqual(345623, bt.GetRangeBeam1(), "GetRangeBeam1 is incorrect.");

            Assert.AreEqual(112, bt.BtAmplitudeBeam0, "Amplitude Beam 0 is incorrect.");
            Assert.AreEqual(90, bt.BtAmplitudeBeam1, "Amplitude Beam 1 is incorrect.");
            Assert.AreEqual(46, bt.BtAmplitudeBeam2, "Amplitude Beam 2 is incorrect.");
            Assert.AreEqual(68, bt.BtAmplitudeBeam3, "Amplitude Beam 3 is incorrect.");

            Assert.AreEqual(143, bt.BtCorrelationMagnitudeBeam0, "Correlation Beam 0 is incorrect.");
            Assert.AreEqual(115, bt.BtCorrelationMagnitudeBeam1, "Correlation Beam 1 is incorrect.");
            Assert.AreEqual(59, bt.BtCorrelationMagnitudeBeam2, "Correlation Beam 2 is incorrect.");
            Assert.AreEqual(87, bt.BtCorrelationMagnitudeBeam3, "Correlation Beam 3 is incorrect.");

            Assert.AreEqual(100, bt.BtPercentGoodBeam0, "Percent Good Beam 0 is incorrect.");
            Assert.AreEqual(40, bt.BtPercentGoodBeam1, "Percent Good Beam 1 is incorrect.");
            Assert.AreEqual(100, bt.BtPercentGoodBeam2, "Percent Good Beam 2 is incorrect.");
            Assert.AreEqual(100, bt.BtPercentGoodBeam3, "Percent Good Beam 3 is incorrect.");

            Assert.AreEqual(112, bt.BtRssiBeam0, "RSSI Beam 0 is incorrect.");
            Assert.AreEqual(90, bt.BtRssiBeam1, "RSSI Beam 1 is incorrect.");
            Assert.AreEqual(46, bt.BtRssiBeam2, "RSSI Beam 2 is incorrect.");
            Assert.AreEqual(68, bt.BtRssiBeam3, "RSSI Beam 3 is incorrect.");

            Assert.AreEqual(1, bt.BtGain, "Gain is incorrect.");
            Assert.AreEqual(0, bt.Reserved82_85, "Reserved 82-85 is incorrect.");
        }