Example #1
0
        public override void Single()
        {
            if (GeneTestSetup.Instance.IsSimulated)
            {
                GeneSimulatedData();
            }
            else
            {
                SA.ResetInterface();
                SA.Span           = 0;
                SA.CenterFreq     = SignalFreq;
                SA.RefLevel       = RefLevel;
                SA.SweepTime      = SweepTime;
                SA.RBW            = RecvBW;
                SA.DetType        = SpecAnalyzerDetTypeEnum.POS;
                SA.VBW            = RecvBW;
                SA.InitContEnable = false;

                (SA as InstruDriver).Wait(1000);
                SA.Init();

                (SA as InstruDriver).Wait(1000 + (int)(SweepTime * 1000));
                SA.MarkerMaxSearch(1);
                (SA as InstruDriver).Wait(1000);
                SignalPower = SA.GetMarkerY(1);
                foreach (HarmTestItem item in ItemList)
                {
                    SA.CenterFreq = SignalFreq * item.nHarm;
                    SA.Init();

                    (SA as InstruDriver).Wait(1000 + (int)(SweepTime * 1000));
                    SA.MarkerMaxSearch(1);
                    (SA as InstruDriver).Wait(1000);
                    double p = SA.GetMarkerY(1);
                    if (item.nHarm == 1)
                    {
                        item.X = SignalFreq;
                        item.Y = p;
                    }
                    else
                    {
                        item.X = SignalFreq;
                        item.Y = p - SignalPower;
                    }
                }
            }
        }