private static double BetaBandpass(double signal, bool newFilters) { if (newFilters || ReferenceEquals(null, _lowFilter) || ReferenceEquals(null, _highFilter)) { _lowFilter = new FilterButterworth(30f, EEGEmoProc2ChSettings.Instance.SamplingHz, FilterButterworth.PassType.Lowpass, 0.1f); _highFilter = new FilterButterworth(12.5f, EEGEmoProc2ChSettings.Instance.SamplingHz, FilterButterworth.PassType.Highpass, 0.1f); } return(_highFilter.Update(_lowFilter.Update(signal))); }
private CacheSignalData() { signalValuesCache = new List <SignalDataByTime>(); config = RealTimeArousalDetectionAssetSettings.Instance; double butterworthPhasicFrequency = config.ButterworthPhasicFrequency; double butterworthTonicFrequency = config.ButterworthTonicFrequency; sampleRate = config.Samplerate; butterworthHighPassFilter = new FilterButterworth(butterworthPhasicFrequency, sampleRate, ButterworthPassType.Highpass, "compute EDA high"); butterworthLowPassFilter = new FilterButterworth(butterworthTonicFrequency, sampleRate, ButterworthPassType.Lowpass, "compute EDA low"); if ("TestWithoutDevice".Equals(config.ApplicationMode)) { FillTestGSRDataFromFile(); } applicationMode = config.ApplicationMode; }