Beispiel #1
0
        private void Prepare_Freq_Sweep1(SweepParams p)
        {
            p.SweepType = SweepType.Freq_Sweep;

            Init_Sweep_Params(p, this.Handle, RFInvolved.Rf_1, 1);

            p.FrqParam    = new FreqSweepParam();
            p.FrqParam.P1 = this.settings.Tx;

            Auto_CAL_Items Cal_Carrier = RL0_Tables.Cal_Carrier(FuncModule.ISO, RFInvolved.Rf_1);

            //根据隔离度校准表,生成功放1扫描序列
            FreqSweepItem[] items = new FreqSweepItem[Cal_Carrier.Length];

            for (int i = 0; i < items.Length; i++)
            {
                items[i] = new FreqSweepItem();

                items[i].Tx1 = Cal_Carrier.GetItem(i).F0;

                if (App_Configure.Cnfgs.Cal_Use_Table)
                {
                    items[i].P1 = this.settings.Tx + Tx_Tables.iso_tx1.Offset(items[i].Tx1, this.settings.Tx, Tx_Tables.iso_offset1);
                }
                else
                {
                    items[i].P1 = (float)App_Factors.iso_tx1.ValueWithOffset(items[i].Tx1, this.settings.Tx);
                }

                items[i].Rx = Cal_Carrier.GetItem(i).F0;
            }

            //将生成的扫描序列赋值给扫描参数对象
            p.FrqParam.Items1 = items;
        }
Beispiel #2
0
        internal void LoadSettings()
        {
            string s  = "";
            string s1 = "";
            string s2 = "";

            RL0_TableItem tItem_temp;

            System.IO.StreamReader textReader = new System.IO.StreamReader(fileName);

            tItems = new List <RL0_TableItem>();

            //加载补偿项
            while (!textReader.EndOfStream)
            {
                s = (textReader.ReadLine()).Trim();

                if (String.IsNullOrEmpty(s))
                {
                    continue;
                }

                s1 = IniFile.GetItemFrom(s, 0, 2);

                s2 = IniFile.GetItemFrom(s, 1, 2);

                try
                {
                    tItem_temp = new RL0_TableItem();

                    tItem_temp.F  = float.Parse(s1);
                    tItem_temp.RL = float.Parse(s2);
                    tItems.Add(tItem_temp);
                }
                catch (System.InvalidCastException)
                {
                }
            }

            textReader.Close();
            textReader.Dispose();

            //生成自动校准辅助列表
            cal_items = new Auto_CAL_Items(tItems);
        }
Beispiel #3
0
        /// <summary>
        /// 功放自动校准辅助列表
        /// </summary>
        public static Auto_CAL_Items Cal_Carrier(FuncModule module, RFInvolved rfid)
        {
            Auto_CAL_Items result = null;

            if (module == FuncModule.ISO)
            {
                if (rfid == RFInvolved.Rf_1)
                {
                    result = tables[0].Cal_Carrier;
                }
                else
                {
                    result = tables[1].Cal_Carrier;
                }
            }
            else if (module == FuncModule.VSW)
            {
                if (rfid == RFInvolved.Rf_1)
                {
                    result = tables[2].Cal_Carrier;
                }
                else
                {
                    result = tables[3].Cal_Carrier;
                }
            }

            else if (module == FuncModule.HAR)
            {
                if (rfid == RFInvolved.Rf_1)
                {
                    result = tables[4].Cal_Carrier;
                }
                else
                {
                    result = tables[5].Cal_Carrier;
                }
            }

            return(result);
        }