public static void Draw(double[] freqs, double[] mags)
            {
                //double freq_max = 0;
                //double mag_max = -100;
                //const double freq_win_min = 8; // was 7
                //const double freq_win_max = 13;

                //var sz = freqs.Length / 2;
                //for (int i = 0; i < sz; i++)
                //{
                //    if (freqs[i] >= freq_win_min && freqs[i] <= freq_win_max && mags[i] > mag_max)
                //    {
                //        freq_max = freqs[i];
                //        mag_max = mags[i];
                //    }
                //}
                //chart.Series[2].Points.AddY(freq_max);


                (var min_bin, var max_bin) = FFT.CalcBin(FREQ_MIN_ALPHA, FREQ_MAX_ALPHA, freqs);

                // частота максимума
                double freq_max2 = 0;
                double mag_max2  = -100;

                for (int i = min_bin; i <= max_bin; i++)
                {
                    if (mags[i] > mag_max2)
                    {
                        freq_max2 = freqs[i];
                        mag_max2  = mags[i];
                    }
                }
                s_max.Points.AddY(freq_max2);

                // взвешенное среднее
                double mult = 0;
                double sum  = 0;

                for (int i = min_bin; i <= max_bin; i++)
                {
                    mult += mags[i] * freqs[i];
                    sum  += mags[i];
                }
                var weighted = mult / sum;

                s_weighted.Points.AddY(weighted);
            }