/* * +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ * 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; } }
/// <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(); } }
/// <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; } } }
private void RangeCheckBox_UnChecked(object sender, RoutedEventArgs e) { FreqRange range = (sender as CheckBox).Tag as FreqRange; if (selectedRangeList.Contains(range)) { selectedRangeList.Remove(range); } }
// 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; } }
// 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]; }
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; // } // } //} }
/// <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; }
/// 引数付き初期化 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); }
private void RangeCheckBox_Checked(object sender, RoutedEventArgs e) { FreqRange range = (sender as CheckBox).Tag as FreqRange; selectedRangeList.Add(range); }