//---------------------------------------------------------------------------------------------- //Фильтрация по максимальному значению спектра public Complex[] FilterByMaxSpectrumValue(Complex[] fourierTransformValues) { double[] spectrumValues = this.GetFourierTransformSpectrum(fourierTransformValues); int maxValueIndex1 = ArrayOperator.GetMaxValueIndex(spectrumValues); spectrumValues[maxValueIndex1] = 0; int maxValueIndex2 = ArrayOperator.GetMaxValueIndex(spectrumValues); spectrumValues[maxValueIndex2] = 0; int maxValueIndex3 = ArrayOperator.GetMaxValueIndex(spectrumValues); spectrumValues[maxValueIndex3] = 0; Complex[] resultValues = new Complex[fourierTransformValues.Length]; for (int index = 0; index < fourierTransformValues.Length; index++) { resultValues[index] = new Complex(0, 0); } resultValues[maxValueIndex1] = fourierTransformValues[maxValueIndex1]; resultValues[maxValueIndex2] = fourierTransformValues[maxValueIndex2]; resultValues[maxValueIndex3] = fourierTransformValues[maxValueIndex3]; return(resultValues); }
//---------------------------------------------------------------------------------------------------------- //Номер интервала c максимальным значением частоты public int GetMaxFreqencyIntervalIndex() { int maxFreqencyIntervalIndex = ArrayOperator.GetMaxValueIndex(this.frequencyValues); return(maxFreqencyIntervalIndex); }