Пример #1
0
    /*
     * +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
     * SUMMARY: UpdateFreqBands
     * Group together a user-specified range of frequencies and
     * calculate their average values.
     * +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
     */
    private void UpdateFreqBands()
    {
        int numFreqBands = userConfigs.numFreqBands;

        for (int i = 0; i < numFreqBands; i++)
        {
            FreqRange fband   = userConfigs.freqBand[i];
            float     minFreq = fband.minFreqSel;
            float     maxFreq = fband.maxFreqSel;
            float     freqRes = fband.freqRes;
            float     L       = 0;
            float     R       = 0;

            // determine where to start/end summation
            int startIndex = (int)Mathf.Ceil(minFreq / freqRes);
            int endIndex   = (int)Mathf.Floor(maxFreq / freqRes);
            int count      = 0;

            // summation
            for (int j = startIndex; j <= endIndex; j++)
            {
                L += (float)this.bins.L[j];
                R += (float)this.bins.R[j];
                count++;
            }

            // average together all bins within this band's freqency range.
            this.bands.L[i] = L / count;
            this.bands.R[i] = R / count;
        }
    }
Пример #2
0
 /// <summary>
 /// 加载频率信息
 /// </summary>
 private void ItemsSourceLoad()
 {
     ActivityPlace[] getActivityPlace = PrototypeDatas.GetPlaces(activityId);
     _addressComBox.ItemsSource = getActivityPlace.ToList();
     //加载 频段信息
     if (_currentTask.FrequencyRange.Count > 0)
     {
         foreach (var strfreq in _currentTask.FrequencyRange)
         {
             FreqRange _freq = new FreqRange();
             _freq.FreqFrom = Convert.ToDouble(strfreq.Split('-')[0]);
             _freq.FreqTo = Convert.ToDouble(strfreq.Split('-')[1]);
             _rangeListSource.Add(_freq);
         }
         _freqRangeLBox.ItemsSource = _rangeListSource;
     }
     else
     {
         _freqRangeLBox.ItemsSource = null;
     }
     this.DataContext = _currentTask;
     if (AfterViewLoaded != null)
     {
         AfterViewLoaded();
     }
 }
Пример #3
0
 /// <summary>
 /// 具体频点信息
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void _freqRangeLBox_SelectionChanged_1(object sender, SelectionChangedEventArgs e)
 {
     FreqRange freqRange = _freqRangeLBox.SelectedItem as FreqRange;
     string selectFreq = freqRange.FreqFrom + "-" + freqRange.FreqTo;
     List<string> getPonits = new List<string>();
     if (_currentTask.IMPORTFREQUENCYRANGE.Contains(selectFreq) == true)
     {
         if (_currentTask.FreqMAINGUIDs.Count > 0)
         {
             foreach (var freqid in _currentTask.FreqMAINGUIDs)
             {
                 var queryFreq = _currentfreqPlanSource.Where(p => p.FreqIdForMonitor == freqid);
                 foreach (var freq in queryFreq)
                 {
                     if (freq.FreqValue.Little == freqRange.FreqFrom * 1000000 && freq.FreqValue.Great == freqRange.FreqTo * 1000000)
                     {
                         _currentTask.Points = freq.Points;
                     }
                 }
             }
             if (_currentTask.Points.Count() > 0)
             {
                 foreach (var point in _currentTask.Points)
                 {
                     string strPonit = point.X.ToString() + "-" + point.Y.ToString();
                     getPonits.Add(strPonit);
                 }
             }
             _freqPointLBox.ItemsSource = getPonits;
         }
     }
 }
Пример #4
0
        private void RangeCheckBox_UnChecked(object sender, RoutedEventArgs e)
        {
            FreqRange range = (sender as CheckBox).Tag as FreqRange;

            if (selectedRangeList.Contains(range))
            {
                selectedRangeList.Remove(range);
            }
        }
Пример #5
0
        // The frequency range of each radio. (These are not the real ones,
        // I can only show you the standards).
        private void DetermineFreqRange(FreqRange freqRange)
        {
            switch (freqRange)
            {
            case FreqRange.LF: minFreq = 40;  maxFreq = 300;   break;

            case FreqRange.HF: minFreq = 300; maxFreq = 30000; break;

            case FreqRange.VHF: minFreq = 30000; maxFreq = 300000; break;

            case FreqRange.UHF: minFreq = 300000; maxFreq = 3000000; break;
            }
        }
Пример #6
0
        // The minimum settings required for a radio.
        protected void InitializeRadio(int serialNumber, FreqRange freqRange)
        {
            this.serialNumber = serialNumber;
            this.freqRange    = freqRange;

            DetermineFreqRange(freqRange);

            currentPower   = PowerSetting.Medium;
            currentChannel = (int)Channel.CH1;

            rx = new int[10];
            tx = new int[10];
        }
Пример #7
0
        private void RangeCheckBox_Loaded(object sender, RoutedEventArgs e)
        {
            CheckBox cBox = sender as CheckBox;
            // string freqfrom = cBox.Tag as string;
            FreqRange freqRange = cBox.Tag as FreqRange;

            //FreqRange freqRange = cBox.Tag as FreqRange;
            //if (ExsitRangeFreqs != null)
            //{
            //    foreach (FreqRange freq in ExsitRangeFreqs)
            //    {
            //        if (freq.FreqFrom == freqRange.FreqFrom && freq.FreqTo == freqRange.FreqTo)
            //        {
            //            cBox.IsChecked = true;
            //        }
            //    }
            //}
        }
Пример #8
0
 /// <summary>
 /// 加载,频段范围
 /// </summary>
 /// <param name="frequency"></param>
 /// <param name="p_exstFreqs">传过来的频段范围值</param>
 public FreqSelectDialog(DetailMonitorPlan frequency, List <string> p_exstFreqs)
 {
     InitializeComponent();
     this.rangeListSource = frequency;
     this._isRangeFreq    = true;
     ExsitRangeFreqs      = p_exstFreqs;
     if (ExsitRangeFreqs.Count > 0)
     {
         foreach (var strfreq in ExsitRangeFreqs)
         {
             FreqRange _freq = new FreqRange();
             _freq.FreqFrom = Convert.ToDouble(strfreq.Split('-')[0]);
             _freq.FreqTo   = Convert.ToDouble(strfreq.Split('-')[1]);
             _rangeListSource.Add(_freq);
         }
     }
     _freqRangeLBox.ItemsSource = _rangeListSource;
     // _freqRangeLBox.ItemsSource = rangeListSource.FrequencyRange;
     _freqRangeGrid.Visibility  = System.Windows.Visibility.Visible;
     _freqRangeGrid.DataContext = this;
 }
Пример #9
0
    /// 引数付き初期化
    public static AudioMeter init(GameObject addTo, string resourcePath, int valueCount)
    {
        var meter = addTo.AddComponent <AudioMeter> ();

        meter.audioSource  = meter.gameObject.AddComponent <AudioSource> ();
        meter._valueCount  = valueCount;
        meter.deltaHz      = meter.maxHz / ((float)valueCount);
        meter.deltaEnhance = meter.maxEnhance / ((float)(valueCount - 1));
        meter.deltaFreq    = AudioSettings.outputSampleRate / meter.resolution;

        // clip
        var clip = Resources.Load <AudioClip> (resourcePath);

        if (clip == null)
        {
            Debug.Log("could not find AudioClip at Resources/_resourcePath_ ");
        }
        meter.audioSource.clip = clip;
        // freqs
        var freqs = new float[meter.resolution];

        for (var i = 0; i < meter.resolution; i++)
        {
            var freq = meter.deltaFreq * (i + 1);
            freqs[i] = freq;
        }
        meter.freqs = freqs;
        // ranges
        var ranges = new FreqRange[meter._valueCount];

        for (var i = 0; i < meter._valueCount; i++)
        {
            var from = meter.deltaHz * i;
            var to   = meter.deltaHz * (i + 1);
            ranges[i] = new FreqRange(from: from, to: to);
        }
        meter.ranges = ranges;

        return(meter);
    }
Пример #10
0
        private void RangeCheckBox_Checked(object sender, RoutedEventArgs e)
        {
            FreqRange range = (sender as CheckBox).Tag as FreqRange;

            selectedRangeList.Add(range);
        }