Beispiel #1
0
        public ARArtifactDetector(ARModel model)
        {
            if (model == null)
            {
                throw new ArgumentException();
            }

            this.model    = model;
            errorDist     = new OnlineVariance();
            confusionDist = new OnlineVariance();
        }
Beispiel #2
0
        // end artifact fields

        public SimpleFilterPipeable(
            double sampleRate,
            int channels,
            double minFreq,
            double maxFreq,
            double transitionBandwidth,
            double artifactLearningTime)
        {
            artifactLearningSize = (int)Math.Round(sampleRate * artifactLearningTime);

            signalFilters           = new IFilter <double> [channels];
            artifactLearningSamples = new Queue <double> [channels];
            arPredictors            = new ARModel[channels];
            lastPredictions         = new double[channels];
            arError = new OnlineVariance[channels];

            for (int i = 0; i < channels; i++)
            {
                signalFilters[i]           = new ConvolvingDoubleEndedFilter(minFreq, maxFreq, transitionBandwidth, sampleRate, true);
                artifactLearningSamples[i] = new Queue <double>();
                arError[i] = new OnlineVariance();
            }
        }