示例#1
0
        public Dataproc()
        {
            TransFormFft = new FFT_TransForm();
            ArrayNums    = ConstUdpArg.ARRAY_NUM; //探头个数

            FreqWaveEvent   = new AutoResetEvent(false);
            WorkEnergyEvent = new AutoResetEvent(false);
            DelayBytesEvent = new AutoResetEvent(false);
            OrigBytesEvent  = new AutoResetEvent(false);
            WorkBytesEvent  = new AutoResetEvent(false);
            IsBavlueReaded  = false;
        }
示例#2
0
        void NormalInit()
        {
            TransFormFft   = new FFT_TransForm();
            WorkWaveBytes  = new byte[ArrayNums][];
            WorkWaveFloats = new float[ArrayNums][];
            WorkWaveBytes  = new byte[ArrayNums][];
            PlayWaveBytes  = new byte[ArrayNums][];

            int frameNum = ConstUdpArg.WORK_FRAME_NUMS * 4; //工作数据帧数

//            int frameNum = 2000 * ConstUdpArg.WORK_FRAME_LENGTH; //工作数据帧数
            for (int i = 0; i < ArrayNums; i++)
            {
                WorkWaveBytes[i]  = new byte[frameNum * 4];           //避免数据为null
                WorkWaveFloats[i] = new float[frameNum];              //避免数据为null
                PlayWaveBytes[i]  = new byte[frameNum * 2];           //避免数据为null
            }
            WorkWavefdatas   = new float[frameNum];                   //工作波形
            EnergyFloats     = new float[ArrayNums];
            ListenCoefficent = (float)Math.Pow(10, 50 / 20.0F) * 100; //31622.78; //听音强度

            WorkThread = new Thread(ThreadWorkWaveStart)
            {
                IsBackground = true
            };
            WorkThread.Start();
            EnergyThread = new Thread(ThreadEnergyStart)
            {
                IsBackground = true
            };
            EnergyThread.Start();
            FreqThread = new Thread(ThreadFreqWaveStart)
            {
                IsBackground = true
            };
            FreqThread.Start();
        }