private void GetPrachSinr( int index) { if (m_bestServer is LteCellEx) { LteCellEx lteCellEx = (LteCellEx)m_bestServer; m_frenquentBand = lteCellEx.LteCell.FreqBand; m_FrequencyBandEx = lteCellEx.LteFreqBandEx; m_ulActualIoT = lteCellEx.LteCell.UlActualIoT; } else { if (m_bestServer is RelayCellEx) { RelayCellEx relayCellEx = (RelayCellEx)m_bestServer; m_frenquentBand = relayCellEx.RelayCell.FreqBand; m_FrequencyBandEx = relayCellEx.RelayFreqBandEx; m_ulActualIoT = relayCellEx.RelayCell.UlActualIoT; } } int rbNum = 6; double sinr = double.MinValue; double ulLinkLoss = 0.0; ulLinkLoss = ((float)this.m_ULBestServerLinkLoss[index]) * LteConst.TIMES_TO_FLOAT; double powerOfPrach = (this.m_PrachPower - ulLinkLoss) + this.m_OneBinValueTemp.m_ModelShadowMargin; double ulNoisePower = this.CalculateUlNoisePower(rbNum); if (m_isFDD) { sinr = powerOfPrach - ((ulNoisePower + this.m_ulActualIoT) + this.m_OneBinValueTemp.m_C_i_nShadowMargin); } else { //double dlInterf = (double)this.m_DLInterfMatrix[index]; double dlInterf = 0; sinr = powerOfPrach - dlInterf - ((ulNoisePower + this.m_ulActualIoT) + this.m_OneBinValueTemp.m_C_i_nShadowMargin); } this.m_OneBinValueTemp.PRACH_SINR = UnitTrans.DoubleToShort(sinr); }
private void CalcReceivePower(int index, CellEx cellEx, double DLLinkLoss, double ULLinkLoss, double tempReceivePower, double receivePower,LTETransceiverEX tranInfo) { if ((receivePower > tempReceivePower) && (receivePower > this.m_RsRxSensitivity)) { this.m_BestServerRSRP[index] = Convert.ToInt16((double) (receivePower * 100.0)); if (cellEx is LteCellEx) { LteCellEx lteCellEx = (LteCellEx)cellEx; if (this.m_NeedCalSymbolRSRP || this.m_NeedCalRSRQ) { this.m_RsMaxCarrierFrequecyBandEx = lteCellEx.LteFreqBandEx; /*m_RsMaxCarrierFrequecyBandEx.RSNumOfBandWidth是dB值,对应100*2个RS(一个OFDM符号内)*/ this.m_SymbolRSRP[index] = Convert.ToInt16((double)((receivePower + this.m_RsMaxCarrierFrequecyBandEx.RSNumOfBandWidth) * 100.0)); } this.m_BestServerCellID[index] = lteCellEx.LteCell.ID; this.m_BestServerTransID[index] = tranInfo.Transceiver.ID; } else { if (cellEx is RelayCellEx) { RelayCellEx relayCellEx = (RelayCellEx)cellEx; if (this.m_NeedCalSymbolRSRP || this.m_NeedCalRSRQ) { this.m_RsMaxCarrierFrequecyBandEx = relayCellEx.RelayFreqBandEx; /*m_RsMaxCarrierFrequecyBandEx.RSNumOfBandWidth是dB值,对应100*2个RS(一个OFDM符号内)*/ this.m_SymbolRSRP[index] = Convert.ToInt16((double)((receivePower + this.m_RsMaxCarrierFrequecyBandEx.RSNumOfBandWidth) * 100.0)); } this.m_BestServerCellID[index] = relayCellEx.RelayCell.ID; this.m_BestServerTransID[index] = tranInfo.Transceiver.ID; } } //this.m_BestServerTransID[index] = cellInfo.Transceiver.ID; if (this.m_NeedCalActualRxIntf || this.m_NeedCalMaxRxIntf) { /*dBֵ*/ this.m_DlBestServerLinkLoss[index] = Convert.ToInt32((double) (DLLinkLoss * LteConst.TIMES_TO_BIG_INT)); } if (this.m_IsNeedCalULStudy) { this.m_UlBestServerLinkLoss[index] = Convert.ToInt32((double) (ULLinkLoss * LteConst.TIMES_TO_BIG_INT)); } } }