//----------------------------------------------------------------------------------------------
        //Фильтрация по максимальному значению спектра
        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);
        }
예제 #2
0
        //----------------------------------------------------------------------------------------------------------
        //Номер интервала c максимальным значением частоты
        public int GetMaxFreqencyIntervalIndex()
        {
            int maxFreqencyIntervalIndex = ArrayOperator.GetMaxValueIndex(this.frequencyValues);

            return(maxFreqencyIntervalIndex);
        }