Esempio n. 1
0
        /// <summary>
        /// 解析信道列表
        /// </summary>
        private void ParseSignalList()
        {
            // 解析信道列表
            SignalList = EDFSignal.ParseList(StreamReader, Header.SignalCount);

            // 计算每秒采样数量
            SignalList.ForEach((s) =>
            {
                s.SamplesPerSecond = (int)(1 / Header.DataInterval * s.SamplesPerData);
            });

            // 计算每秒采样数量总和
            SamplesPerSecond = SignalList.Sum(s => s.SamplesPerSecond);

            #region TODO 判断文件类型

            if (SignalList[0].DigitalMaximum.Equals(8388607))
            {
                IsEDFX = true;

                BCO_Sample = 3;

                ParseSecondData = (buffer) =>
                {
                    // 声明返回值
                    var result = new double[SignalList.Count][];

                    for (var i = 0; i < result.Length; i++)
                    {
                        var a = result[i];
                    }

                    // 返回结果
                    return(result);
                };
            }
            else
            {
                IsEDFX = false;

                BCO_Sample = 2;

                ParseSecondData = (buffer) =>
                {
                    // 声明返回值
                    var result = new double[SignalList.Count][];

                    // 返回结果
                    return(result);
                };
            }

            #endregion TODO 判断文件类型
        }