Beispiel #1
0
        static internal void NewTables(string txFileNameRev, string txFileName_dispRev)
        {
            //反向
            pim_rev_tx1     = new Tx_Table(txFileNameRev, "pim_signal_1");
            pim_rev_tx1disp = new Tx_Table(txFileName_dispRev, "pim_signal_1");
            pim_rev_offset1 = new Tx_Table(txFileNameRev, "pim_offset_1");
            pim_rev_offset2 = new Tx_Table(txFileNameRev, "pim_offset_2");

            pim_rev_tx2          = new Tx_Table(txFileNameRev, "pim_signal_2");
            pim_rev_tx2disp      = new Tx_Table(txFileName_dispRev, "pim_signal_2");
            pim_rev_offset1_disp = new Tx_Table(txFileName_dispRev, "pim_offset_1");
            pim_rev_offset2_disp = new Tx_Table(txFileName_dispRev, "pim_offset_2");

            //----------------------------------------
            //前向
            //pim_frd_tx1 = new Tx_Table(txFileNameFrd, "pim_signal_1");
            //pim_frd_tx1disp = new Tx_Table(txFileName_dispFrd, "pim_signal_1");
            //pim_frd_offset1 = new Tx_Table(txFileNameFrd, "pim_offset_1");
            //pim_frd_offset2 = new Tx_Table(txFileNameFrd, "pim_offset_2");

            //pim_frd_tx2 = new Tx_Table(txFileNameFrd, "pim_signal_2");
            //pim_frd_tx2disp = new Tx_Table(txFileName_dispFrd, "pim_signal_2");
            //pim_frd_offset1_disp = new Tx_Table(txFileName_dispFrd, "pim_offset_1");
            //pim_frd_offset2_disp = new Tx_Table(txFileName_dispFrd, "pim_offset_2");
            //----------------------------------------

            //iso_tx1 = new Tx_Table(txFileNameRev, "iso_signal_1");
            //iso_tx1_disp = new Tx_Table(txFileName_dispRev, "iso_signal_1");
            //iso_offset1 = new Tx_Table(txFileNameRev, "iso_offset_1");
            //iso_offset2 = new Tx_Table(txFileNameRev, "iso_offset_2");

            //iso_tx2 = new Tx_Table(txFileNameRev, "iso_signal_2");
            //iso_tx2_disp = new Tx_Table(txFileName_dispRev, "iso_signal_2");
            //iso_offset1_disp = new Tx_Table(txFileName_dispRev, "iso_offset_1");
            //iso_offset2_disp = new Tx_Table(txFileName_dispRev, "iso_offset_2");

            //vsw_tx1 = new Tx_Table(txFileNameRev, "vsw_signal_1");
            //vsw_tx1_disp = new Tx_Table(txFileName_dispRev, "vsw_signal_1");
            //vsw_offset1 = new Tx_Table(txFileNameRev, "vsw_offset_1");
            //vsw_offset2 = new Tx_Table(txFileNameRev, "vsw_offset_2");

            //vsw_tx2 = new Tx_Table(txFileNameRev, "vsw_signal_2");
            //vsw_tx2_disp = new Tx_Table(txFileName_dispRev, "vsw_signal_2");
            //vsw_offset1_disp = new Tx_Table(txFileName_dispRev, "vsw_offset_1");
            //vsw_offset2_disp = new Tx_Table(txFileName_dispRev, "vsw_offset_2");

            //har_tx1 = new Tx_Table(txFileNameRev, "har_signal_1");
            //har_tx1_disp = new Tx_Table(txFileName_dispRev, "har_signal_1");
            //har_offset1 = new Tx_Table(txFileNameRev, "har_offset_1");
            //har_offset2 = new Tx_Table(txFileNameRev, "har_offset_2");

            //har_tx2 = new Tx_Table(txFileNameRev, "har_signal_2");
            //har_tx2_disp = new Tx_Table(txFileName_dispRev, "har_signal_2");
            //har_offset1_disp = new Tx_Table(txFileName_dispRev, "har_offset_1");
            //har_offset2_disp = new Tx_Table(txFileName_dispRev, "har_offset_2");
        }
Beispiel #2
0
 static internal void LoadTables_ygq(Tx_Table[] tt)
 {
     pim_rev_tx1          = tt[0];
     pim_rev_tx1disp      = tt[1];
     pim_rev_offset1      = tt[2];
     pim_rev_offset2      = tt[3];
     pim_rev_tx2          = tt[4];
     pim_rev_tx2disp      = tt[5];
     pim_rev_offset1_disp = tt[6];
     pim_rev_offset2_disp = tt[7];
 }
Beispiel #3
0
        static internal Tx_Table[] LoadTables_ygq()
        {
            //加载互调模块的补偿系数

            //----------------------------------------
            //反向
            pim_rev_tx1.LoadSettings();
            pim_rev_tx2.LoadSettings();
            pim_rev_offset1.LoadSettings();
            pim_rev_offset2.LoadSettings();

            pim_rev_tx1disp.LoadSettings();
            pim_rev_tx2disp.LoadSettings();
            pim_rev_offset1_disp.LoadSettings();
            pim_rev_offset2_disp.LoadSettings();
            Tx_Table[] tt = new Tx_Table[] { pim_rev_tx1, pim_rev_tx1disp, pim_rev_offset1, pim_rev_offset2,
                                             pim_rev_tx2, pim_rev_tx2disp, pim_rev_offset1_disp, pim_rev_offset2_disp };
            return(tt);
        }
Beispiel #4
0
        static internal void NewTables(string txFileNameRev, string txFileName_dispRev, string txFileNameRev2, string txFileName_dispRev2)
        {
            //反向
            pim_rev_tx1     = new Tx_Table(txFileNameRev, "pim_signal_1");
            pim_rev_tx1disp = new Tx_Table(txFileName_dispRev, "pim_signal_1");
            pim_rev_offset1 = new Tx_Table(txFileNameRev, "pim_offset_1");
            pim_rev_offset2 = new Tx_Table(txFileNameRev, "pim_offset_2");

            pim_rev_tx2          = new Tx_Table(txFileNameRev, "pim_signal_2");
            pim_rev_tx2disp      = new Tx_Table(txFileName_dispRev, "pim_signal_2");
            pim_rev_offset1_disp = new Tx_Table(txFileName_dispRev, "pim_offset_1");
            pim_rev_offset2_disp = new Tx_Table(txFileName_dispRev, "pim_offset_2");

            //反向
            pim_rev2_tx1     = new Tx_Table(txFileNameRev2, "pim_signal_1");
            pim_rev2_tx1disp = new Tx_Table(txFileName_dispRev2, "pim_signal_1");
            pim_rev2_offset1 = new Tx_Table(txFileNameRev2, "pim_offset_1");
            pim_rev2_offset2 = new Tx_Table(txFileNameRev2, "pim_offset_2");

            pim_rev2_tx2          = new Tx_Table(txFileNameRev2, "pim_signal_2");
            pim_rev2_tx2disp      = new Tx_Table(txFileName_dispRev2, "pim_signal_2");
            pim_rev2_offset1_disp = new Tx_Table(txFileName_dispRev2, "pim_offset_1");
            pim_rev2_offset2_disp = new Tx_Table(txFileName_dispRev2, "pim_offset_2");
        }
Beispiel #5
0
        /// <summary>获取补偿
        ///
        /// </summary>
        /// <param name="f">频率</param>
        /// <param name="p">功率</param>
        /// <param name="tx">Tx_Table</param>
        /// <returns></returns>
        internal float Offset(float f, float p, Tx_Table tx)
        {
            this._table = tx;
            float v  = 0.0f;
            float v1 = 0.0f;
            float v2 = 0.0f;

            if (table == null)
            {
                v = 0.0f;
            }
            else
            {
                mii_I = rowHead.Search(f);
                mii_J = colHead.Search(p);

                //待补偿点,恰好落在表格节点上
                if (mii_I.only_I && mii_J.only_I)
                {
                    v = table[mii_J.I][mii_I.I] + _table.Offset1(p);
                }

                //带补偿点,在横轴(频率f)上落在表格节点上,在纵轴(功率dB)上没有落在表格节点上
                else if (mii_I.only_I && (!mii_J.only_I))
                {
                    if (mii_J.I1 != mii_J.I)
                    {
                        v = Offset_dB(p, mii_I.I, mii_J.I1, mii_J.I);
                    }
                    else
                    {
                        v = Offset_dB(p, mii_I.I, mii_J.I, mii_J.I2);
                    }

                    //带补偿点,在纵轴(功率dB)上落在表格节点上,在横轴(频率f)上没有落在表格节点上
                }
                else if ((!mii_I.only_I) && mii_J.only_I)
                {
                    if (mii_I.I1 != mii_I.I)
                    {
                        v = Offset_F(f, mii_J.I, mii_I.I1, mii_I.I, p);
                    }
                    else
                    {
                        v = Offset_F(f, mii_J.I, mii_I.I, mii_I.I2, p);
                    }

                    //带补偿点,在两个轴向上都没有落在表格节点上
                }
                else
                {
                    int I_F1 = 0;
                    int I_F2 = 0;

                    //先固定f,进行p变换
                    if (mii_I.I1 != mii_I.I)
                    {
                        I_F1 = mii_I.I1;
                        I_F2 = mii_I.I;

                        if (mii_J.I1 != mii_J.I)
                        {
                            v1 = Offset_dB(p, I_F1, mii_J.I1, mii_J.I);
                            v2 = Offset_dB(p, I_F2, mii_J.I1, mii_J.I);
                        }
                        else
                        {
                            v1 = Offset_dB(p, I_F1, mii_J.I, mii_J.I2);
                            v2 = Offset_dB(p, I_F2, mii_J.I, mii_J.I2);
                        }
                    }
                    else
                    {
                        I_F1 = mii_I.I;
                        I_F2 = mii_I.I2;

                        if (mii_J.I1 != mii_J.I)
                        {
                            v1 = Offset_dB(p, I_F1, mii_J.I1, mii_J.I);
                            v2 = Offset_dB(p, I_F2, mii_J.I1, mii_J.I);
                        }
                        else
                        {
                            v1 = Offset_dB(p, I_F1, mii_J.I, mii_J.I2);
                            v2 = Offset_dB(p, I_F2, mii_J.I, mii_J.I2);
                        }
                    }

                    //再进行f变换
                    aItem1 = rowHead.GetItem(I_F1);
                    aItem2 = rowHead.GetItem(I_F2);

                    v = Offset_Linear(f, aItem1.v, v1, aItem2.v, v2);
                }
            }

            return(v + App_Settings.spc.TxRef);
        }