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"); }
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]; }
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); }
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"); }
/// <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); }