示例#1
0
        /// <summary>
        /// Calculates the fft bins.
        /// This code is taken from the config ui training code to calculate fft bins
        /// </summary>
        /// <param name="fftSize">Size of the FFT.</param>
        /// <param name="timeRate">The time rate.</param>
        /// <returns>a list of fft bin boundaries</returns>
        public List <double> CalculateFFTBins(FftSizes fftSize, TdSampleRates timeRate)
        {
            int numBins = 0;

            switch (fftSize)
            {
            case FftSizes.Size0064:
                numBins = 64 / 2;
                break;

            case FftSizes.Size0256:
                numBins = 256 / 2;
                break;

            case FftSizes.Size1024:
                numBins = 1024 / 2;
                break;

            default:
                ConfigConversions.DisplayErrorMessageAndClose("Could not convert FFT Size for FFT bins");
                break;
            }
            int rate = 0;

            switch (timeRate)
            {
            case TdSampleRates.Sample0250Hz:
                rate = 250;
                break;

            case TdSampleRates.Sample0500Hz:
                rate = 500;
                break;

            case TdSampleRates.Sample1000Hz:
                rate = 1000;
                break;

            default:
                ConfigConversions.DisplayErrorMessageAndClose("Could not convert TDSampleRate for FFT bins");
                break;
            }

            double binWidth = rate / 2.0 / numBins;

            for (int i = 0; i < numBins; i++)
            {
                bins.Add(i * binWidth);
            }
            return(bins);
        }
示例#2
0
        /// <summary>
        /// Converts the FFT size from config file to correct api call format
        /// </summary>
        /// <param name="FftSizesToConvert">integer value of 64, 256, or 1024</param>
        /// <returns>Medtronic api format for FftSizes or displays error and closes program if incorrect</returns>
        public static FftSizes FftSizesConvert(int FftSizesToConvert)
        {
            FftSizes fftSizes = 0;

            switch (FftSizesToConvert)
            {
            case 64:
                fftSizes = FftSizes.Size0064;
                break;

            case 256:
                fftSizes = FftSizes.Size0256;
                break;

            case 1024:
                fftSizes = FftSizes.Size1024;
                break;

            default:
                DisplayErrorMessageAndClose("Couldn't convert FFT Size");
                break;
            }
            return(fftSizes);
        }