Esempio n. 1
0
        /// <summary>
        ///获取每个发射机的频段信息
        /// </summary>
        public static List <FrequencyBand> GetTxFrequenceBand(string txpath, string setuppath, int txindex)
        {
            List <FrequencyBand> TxFrequenceBand = new List <FrequencyBand>();
            List <TxObject>      txs             = TxReader(txpath);
            SetupObject          setupfile       = SetupFileProceed.GetSetupFile.GetSetup(setuppath);
            WaveformStp          txwaveform      = GetTxWaveForm(txs[txindex], setupfile);

            if (txwaveform.type == null)
            {
                throw new Exception("波形信息错误");
            }
            if (txwaveform.type == "Sinusoid")
            {
                if (txwaveform.bandwidth < 2)
                {
                    FrequencyBand temp = new FrequencyBand((int)(txwaveform.CarrierFrequency - 1), (int)(txwaveform.CarrierFrequency + 1), (txs[txindex].at.power));
                    TxFrequenceBand.Add(temp);
                }
                else
                {
                    FrequencyBand temp = new FrequencyBand((int)(txwaveform.CarrierFrequency - txwaveform.bandwidth / 2), (int)(txwaveform.CarrierFrequency + txwaveform.bandwidth / 2), (txs[txindex].at.power));
                    TxFrequenceBand.Add(temp);
                }
            }
            else
            {
                psd          TxDivFrequence = new psd(txwaveform.type, txwaveform.PulseWidth, (long)txwaveform.CarrierFrequency, txwaveform.Rolloff, txwaveform.FrequencyVariation, txwaveform.StartFrequency, txwaveform.StopFrequency);
                DivFrequency Frequencyinfo  = TxDivFrequence.GetFandPSD();
                TxFrequenceBand = GetBandInformation((txs[txindex].at.power), Frequencyinfo);
            }
            return(TxFrequenceBand);
        }
Esempio n. 2
0
        /// <summary>
        ///从setup中获取发射机波形信息
        /// </summary>
        private static List <FrequencyBand> GetBandInformation(double power, DivFrequency Frequencyinfo)
        {
            List <FrequencyBand> TxFrequencyBand = new List <FrequencyBand>();

            for (int i = 0; i < 7; i++)
            {
                double        divPower = (power * Frequencyinfo.proportion[i]);
                FrequencyBand param    = new FrequencyBand((int)(Frequencyinfo.startFre[i] / 1000000), (int)(Frequencyinfo.endFre[i] / 1000000), divPower);
                TxFrequencyBand.Add(param);
            }
            return(TxFrequencyBand);
        }